ASL是算术左移位指令(Arithmetic Shift Left)的缩写符。
A,Z,C,N = M*2 or M,Z,C,N = M*2
该指令将累加器或内存内容的所有位移左一位。第0位设置为0,第7位放置进位标志。这个操作的效果是将内存内容乘以2(忽略2的补码考虑),如果结果不适合8位,则设置进位。
指令执行后处理器状态:
缩写 | 状态标志名称 | 变化情况 |
---|---|---|
C | Carry Flag | Set to contents of old bit 7 |
Z | Zero Flag | Set if A = 0 |
I | Interrupt Disable | Not affected |
D | Decimal Mode Flag | Not affected |
B | Break Command | Not affected |
V | Overflow Flag | Not affected |
N | Negative Flag | Set if bit 7 of the result is set |
寻址方式(Addressing Mode) | 操作码(Opcode) | 字节数(Bytes) | 循环位数(Cycles) |
---|---|---|---|
Accumulator | $0A | 1 | 2 |
Zero Page | $06 | 2 | 5 |
Zero Page,X | $16 | 2 | 6 |
Absolute | $0E | 3 | 6 |
Absolute,X | $1E | 3 | 7 |
网友评论