[問題] 請問8051減法時(SUBB),CY值如何判定 ?

看板ASM (組合語言)作者 (恰恰加油~~)時間12年前 (2012/07/17 14:45), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
假設下面的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
文章代碼(AID): #1G1Ge7Cc (ASM)
文章代碼(AID): #1G1Ge7Cc (ASM)