找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2051|回復: 0
打印 上一主題 下一主題
收起左側

求8位有符號二進制整數(shù)補碼_51單片機匯編語言子程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:858964 發(fā)表于 2020-12-26 00:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 Kxuan163 于 2020-12-26 00:39 編輯

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


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表