【发布时间】:2021-12-21 02:54:14
【问题描述】:
"mov #10,r5\n"
"sub #1,r5\n" //test value
我在硬件中运行,当 'sub' exec 时,设置了进位标志。为什么?
【问题讨论】:
"mov #10,r5\n"
"sub #1,r5\n" //test value
我在硬件中运行,当 'sub' exec 时,设置了进位标志。为什么?
【问题讨论】:
当涉及到减法时,进位标志与加法相比是相反的。如果值环绕,则将进位设置为 0。如果没有(如您的示例中所示),则将其设置为 1。
不幸的是,在阅读处理器手册时,这并不是 100% 清楚的。但是,此行为与其他处理器一致,例如6502.
【讨论】:
!borrow。所以你必须检查手册,例如查看无符号下跳转指令,看看它是在寻找 C==0 还是 C==1。