We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

ASL: Difference between revisions

From SnesLab
Jump to: navigation, search
(dots for unclobbered flags)
(added basic info)
Line 1: Line 1:
'''ASL''' (Arithmetic Shift Left) is a 65x instruction that shifts a value by left one bit (multiplication by two).  The most significant bit is shifted into the [[carry flag]].  The least significant bit becomes a zero.
'''ASL''' (Arithmetic Shift Left) is a 65x instruction that shifts a value by left one bit (multiplication by two).  The most significant bit is shifted into the [[carry flag]].  The least significant bit becomes a zero.
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Basic Info
|+
|'''Addressing Mode'''
|'''Opcode'''
|'''Length'''
|'''Speed'''
|+
|accumulator
|0A
|1 byte
|2 cycles
|+
|absolute
|0E
|3 bytes
|6 cycles
|+
|direct page
|06
|2 bytes
|5 cycles
|+
|absolute indexed X
|1E
|3 bytes
|7 cycles
|+
|direct page indexed X
|16
|2 bytes
|6 cycles
|}


{| class="wikitable" style="width:30%"
{| class="wikitable" style="width:30%"

Revision as of 18:01, 1 May 2023

ASL (Arithmetic Shift Left) is a 65x instruction that shifts a value by left one bit (multiplication by two). The most significant bit is shifted into the carry flag. The least significant bit becomes a zero.

Basic Info
Addressing Mode Opcode Length Speed
accumulator 0A 1 byte 2 cycles
absolute 0E 3 bytes 6 cycles
direct page 06 2 bytes 5 cycles
absolute indexed X 1E 3 bytes 7 cycles
direct page indexed X 16 2 bytes 6 cycles
Flags Clobbered
N V M X D I Z C
. . . . .