彙編AAA和DAA的區別,簡要解釋彙編指令DAA?

2021-05-05 01:57:49 字數 1173 閱讀 6262

1樓:靈車漂移大**

十進位制調整指令

主要針對bcd碼的運算。

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010--有效的bcd碼

bcd碼中不允許出現1011等無效碼

當出現無效的bcd碼的時候,我們就要使用相關的指令(例如aaa和daa等)進行調整,調整之後就變成了有效的bcd碼。

12+11 = 0001 0010 + 0001 0001 =0010 0011 = 23

16+18 = 0001 0110 + 0001 10000001 0110

0001 1000

-------------

0010 1110

0011 0100

-------------

3 4

2樓:

aaa是對bcd碼進行的, 即相加的兩個數都只是一位數值(指十進位制);

daa是對壓縮bcd碼進行的, 即al中的低四位和高四位分別表示數值的個位和十位.

簡要解釋彙編指令daa?

3樓:

組合(壓縮)bcd碼的加法調整指令。

格式:daa

功能:將al的內容調整為兩位組合型的二進位制數。調整方法與aaa指令類似,不同的是daa指令要分別考慮al的高4位和低4位。

如果al的低4位大於9或af=1,則al的內容加06h,並將af置1;然後如果al的高4位大於9或cf=1,則al的內容加60h,且將cf置1。如果兩個都不滿足,則將af,cf清零。

例:兩個組合bcd碼的加法運算

mov al,37h

mov bl,35h

add al,bl ;兩個16進位制數相加,al此時為37h+35h=6c

daa ;daa調整,這時al為72h。

4樓:胖大海君

mov al,37h

mov bl,35h

add al,bl ;兩個16進位制數按二進位制相加,即add是二進位制加法指令 al此時為37h+35h=6c

daa;調整,根據程式狀態字的進位、輔助進位的調整將 6ch 調整為72h。

呵呵 滿意就給加分哦

微控制器彙編指令中RETI和RET的區別

1 方式不同 當某一中斷源響應後,微控制器中的reti將會自動置位,用於阻止比它低階內或同級的中斷觸容發。reti可以清除 優先順序啟用觸發器 即flag暫存器 以保證後續中斷源的及時響應。所以,當把reti替換為ret後,該程式在第一次執行時可能不會出錯,但在第二次執行時就會出錯了。2 過程不同 ...

常見的日語中關於和的區別,日語 和 區別,例句解釋一下

在日語的語法系統中,的詞性是不一樣的 被稱作副助詞 提示性副助詞 被稱作格助詞 表示名詞在句子中的地位 主語 賓語 等 關於 的用法,我們分成單句和複句來歸納。單句就是一個句子裡主語與謂語的關係僅成立一次,複句即主謂結構的連文節充當句子裡的某一成份 例 學生 單句 象 鼻 長 複句 一 單句 1 舊...

全自動封邊機 和半自動有什麼區別懂的幫忙解釋下

主要區別就是帶不帶齊頭這個單元。只切斷不齊頭的是半自動,切斷然後齊頭的是全自動的。全自動封邊機帶有預熱 塗膠 修邊 刮邊 拋光等功能,有些小廠家為了節約生產成本甚至省去了預熱刮邊等功能。適用於中密度纖維板 細木工板及刨花板的直線封邊,一次性完成輸送封邊板 板帶 上下修邊 拋光工作的自動生產線,比較低...