導航:首頁 > 操作系統 > 51單片機daa指令為什麼不能減法

51單片機daa指令為什麼不能減法

發布時間:2025-02-10 15:13:18

單片機程序里 帶進位減法怎樣進行十進制調整

51單片機的DA A指令,放在SUBB指令後面,是不起作用的;
必須把SUBB指令變換成ADD指令,才能用DA A指令進行調整。

這里提到了「減法」變換成「加法」,就要借用時鍾「倒撥」變成「正撥」的方法,倒撥15分鍾,和正撥45分鍾,效果相同。15和45就是以60為模的互補的數。
兩位十進制數,是以100為模的,減去60,和加上40,效果是相同的。
100,可以分解,寫成99+1,按照十六進制,可以寫成9AH。

那麼,將A和60相減,程序如下:
MOV R0, A ;保存被減數.
MOV A, #9AH ;100
CLR C
SUBB A, #60H ;減去減數,得到100的補數.
ADD A, R0 ;使用加法即可.
DA A ;調整為BCD數.
;完

⑵ 匯編中為什麼要有ADD與ADDC兩個指令。知道他們區別,但不知道為什麼要有另一個指令。

在匯編語言編程的時候,ADDC指令,即是帶進位的加法指令,用於多位元組加法運算,低位位元組相加可能產生進位,所以高位位元組運算時,必須使用帶進位的加法運算。

匯編中的ADD指令是加法指令,其功能是把源操作所指出的內容加到累加器A,其結果存在A中。但是對於多位元組數相加,就必須用ADDC指令了。因為ADDC指令的功能是把源操作數所指出的內容和累加器內容及進位標志CY相加,結果存於A中。

單片機中的匯編指令包括,算術操作類指令,布爾變數操作類指令,邏輯操作數指令,控制轉移類指令。其中算術操作類指令,又包括,加法、減法、加一、減一和乘法、除法運算指令。藉助溢出標志可以對有符號數進行補碼運算,藉助進位標志,可進行多精度加、減運算。

(2)51單片機daa指令為什麼不能減法擴展閱讀

兩數相加運算步驟:

1)把第一個數從它的存貯單元(Location)中取出來,送至運算器。

2)把第二個數從它所在的存貯單元中取出來,送至運算器;

3)相加;

4)把相加完的結果,送至存貯器中指定的單元。

ADD運算中的注意事項:

1)如果位7有進位,則進位標志Cy置「1」,否則清0;

2)如果位3有進位,則輔助進位標志Ac置「1」,否則清0;

3)溢出標志位OV:如果位6有進位,而位7沒有進位;或者位7有進位,而位6 沒有,則溢出標志位OV置「1」,否則清0。OV狀態,只有在帶符號數加法運算時才有意義。

閱讀全文

與51單片機daa指令為什麼不能減法相關的資料

熱點內容
程序員的興趣 瀏覽:409
華為伺服器有什麼好 瀏覽:699
程序員和測試之間的關系 瀏覽:945
加密蚊帳什麼意思 瀏覽:151
javalistclear 瀏覽:607
哪個app上民宿多靠譜 瀏覽:827
重慶伺服器租用哪裡有雲伺服器 瀏覽:453
土星模擬器文件夾 瀏覽:902
文件夾文件袋文件盒 瀏覽:695
雲伺服器打開f8指令 瀏覽:243
盈透證券加密幣 瀏覽:72
阿里雲伺服器初始密碼怎麼修改 瀏覽:266
伺服器怎麼設定公用網路 瀏覽:99
程序員自己嘗尿檢測出糖尿病 瀏覽:593
列印添加pdf 瀏覽:932
蘋果解壓專家賬號 瀏覽:844
度曉曉app為什麼關閑 瀏覽:228
net文件是偽編解碼嗎 瀏覽:149
伴隨矩陣的matlab編程 瀏覽:63
單片機和h橋是什麼意思 瀏覽:314