6502状态寄存器,溢出(Overflow)标志位和进位/借位(Carry)标志位

相关资料:https://wiki.nesdev.com/w/index.php/Status_flags

根个人理解如下,如理解有误,请以实际情况为准:

溢出标志--将寄存器中的数据当做有符号数看待,当计算结果大于127或小于-128,则溢出

进位标志--用作多字节数据的计算,此标志位按照此功能理解

加法计算:将寄存器中的数据当做无符号数看待,需要加上C的值,计算出的结果大于255则C置1,否则置0。

减法计算:将寄存器中的数据当做无符号数看待,计算结果需要填入C,即C=0表示需要借位,计算出的结果小于0则表示从需要借位,可理解为从C里面借数据参与计算,C置0,否则置1。

————————————————————————————————————

以下测试基于windows版FCEUX 2.2.3程序

测试代码:

 

 

测试结果:

 

posted @ 2020-04-08 22:29  无云  阅读(2280)  评论(0)    收藏  举报