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