我目前正在尝试通过.NET编写NES模拟器,我对有关递减和递增的特定操作码有疑问......
由于X和Y寄存器是8位,在实现方面,它是无符号或有符号字节吗?也就是说,X和Y寄存器的值范围是-128到127还是0-255?
我对此感到困惑,因为如果X和Y寄存器初始化为0,那么当执行DEX时会发生什么?或者程序员真的要担心这个吗?
提前感谢大家的帮助。
答案 0 :(得分:4)
有趣的是,对于带有两个补码的有符号数,执行算术时没有区别,因此DEX对于寄存器是包含有符号还是无符号数是不可知的。例如,表示-1的位与表示255的位相同。因此,0 - 1 = 255或-1,具体取决于您的解释。减少并不关心。