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程序

测试代码:

 

 

测试结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM