MOS6502模拟器LSR指令状态寄存器影响规则咨询
MOS6502 LSR指令状态标志影响说明
结论:LSR指令在所有寻址模式下都会影响状态寄存器的C(进位)、Z(零)、N(负)标志,不存在仅累加器模式才影响的情况。
具体行为细节
- 无论采用累加器、零页、零页X、绝对、绝对X哪种寻址模式,执行LSR时都会:
- 将操作数的最低位(Bit 0)移入进位标志C
- 操作数整体右移一位,最高位(Bit 7)补0
- 根据移位后的结果设置Z标志:若结果为0则置1,否则置0
- 强制清零N标志:因为移位后Bit7始终为0,所以N标志固定为0
关于手册描述的误区
你提到的《MOS Microcomputers Programming Manual》第148页的描述大概率是笔误或表述歧义。实际MOS6502硬件及官方权威规范中,LSR的标志影响逻辑是统一的,所有寻址模式下都会修改状态寄存器。这也是为什么其他模拟器和测试工具中,执行LSR $0010(绝对寻址)会改变进位和零标志的原因。
内容的提问来源于stack exchange,提问作者GalliumPhillips
相关产品推荐
相关产品推荐

