標(biāo)題: 求8位有符號(hào)二進(jìn)制整數(shù)補(bǔ)碼_51單片機(jī)匯編語言子程序 [打印本頁]

作者: Kxuan163    時(shí)間: 2020-12-26 00:14
標(biāo)題: 求8位有符號(hào)二進(jìn)制整數(shù)補(bǔ)碼_51單片機(jī)匯編語言子程序
本帖最后由 Kxuan163 于 2020-12-26 00:39 編輯

8位有符號(hào)二進(jìn)制整數(shù)原碼,最高位D7是符號(hào)位(0表示正數(shù),1表示負(fù)數(shù)),
其余低7位是數(shù)值位,正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼將原碼尾數(shù)取反加1得到。
51匯編語言子程序如下:
;;入口:8位有符號(hào)二進(jìn)制整數(shù)原碼存于R2,
;;返回:求得補(bǔ)碼仍存于R2。
CMPT:     MOV   A,  R2              ;A←原碼
                RLC   A                      ;C←原碼的符號(hào)位
                JNC    Positive            ;若符號(hào)位為零,是正數(shù),直接返回
Negative: MOV   A,  R2              ;A←原碼
                 CPL   A                     ;取反
                 INC   A                     ;加1
                 ORL   A,#10000000B      ;恢復(fù)符號(hào)位
                 MOV   R2,A                    ;R2←結(jié)果
Positive:   NOP
                 RET







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1