当650和Cpu的X和Y为0时,递减(DEX / DEY操作码)

时间:2012-08-17 03:03:07

标签: emulation opcode nintendo 6502

我目前正在尝试通过.NET编写NES模拟器,我对有关递减和递增的特定操作码有疑问......

由于X和Y寄存器是8位,在实现方面,它是无符号或有符号字节吗?也就是说,X和Y寄存器的值范围是-128到127还是0-255?

我对此感到困惑,因为如果X和Y寄存器初始化为0,那么当执行DEX时会发生什么?或者程序员真的要担心这个吗?

提前感谢大家的帮助。

1 个答案:

答案 0 :(得分:4)

有趣的是,对于带有两个补码的有符号数,执行算术时没有区别,因此DEX对于寄存器是包含有符号还是无符号数是不可知的。例如,表示-1的位与表示255的位相同。因此,0 - 1 = 255或-1,具体取决于您的解释。减少并不关心。

相关问题