[問題] 請問8051減法時(SUBB),CY值如何判定 ?
假設下面的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
ASM 近期熱門文章
PTT數位生活區 即時熱門文章