作者IlovePeng23 (恰恰加油~~)
看板ASM
标题[问题] 请问8051减法时(SUBB),CY值如何判定 ?
时间Tue Jul 17 14:45:24 2012
假设下面的code中, 如果num_1 > num_2
且num_1和num_2都为正数, 那C值为0,这
没问题, 如果num_1 < num_2, 且num_1
和num_2都为正数, 那C值为1这也没问题,
但是如果 num_1为正, num_2为负, 那C
值是看 Bit 7 有没有进位吗 ? 因为减
法好像是看Bit 7需不需要借位来决定 C
值, 但是当num_1为正, num_2为负时
SUBB A, num_2 就变成相加了(负负得正)
那这时候就改成看Bit 7 有没有进位, 而
不是看Bit 7需不需要借位来决定 C值吗 ?
一直对 SUBB 指令 CY值的判定不是很清楚
相对来说加法就很容易懂, 只要看Bit7
是否有进位到Bit 8即可,还请大大替我解惑
Thx.
CLR C
MOV A, num_1
SUBB A, num_2
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.39.67