Debug環境下,如何實現十六進制數的相加?

小編初學彙編語言,使用debug.exe工具調試程序。Debug的指令很多,下面小編通過一個實例,計算兩個十六進制數的相加,來演示r指令,a指令,t指令的操作,同時理解彙編中兩個數相加的進位如何處理

工具/原料

電腦

debug.exe

方法/步驟

點擊桌面左下角的按鈕【開始】。在搜索欄目中,鍵入cmd。彈出菜單中,出現cmd.exe,回車.

Debug環境下,如何實現十六進制數的相加

彈出dos控制檯窗口。鍵入代碼debug。回車。打開調試工具debug.exe。

Debug環境下,如何實現十六進制數的相加

使用r指令,把兩個十六進制加數0012H和0034H存入寄存器ax,bx中。

存入方法:鍵入命令-r ax;桌面會顯示ax儲存數的大小;在:後面輸入四位的十六進制數。

Debug環境下,如何實現十六進制數的相加

使用a指令,輸入指令add ax,bx,完成兩個數的相加。

A指令的用法:鍵入指令-a;在地址後面,輸入代碼add ax,bx。

Add標識符的解釋:add dest ,sec:指的是把源操作數sec與目的操作數dest相加,把結果存入目的操作數dest中。即(dest)<---(dest)+(sec)。

Debug環境下,如何實現十六進制數的相加

鍵入指令-t。執行代碼。

指令t的用法:-t為單步執行操作,執行有效地址為IP內存單元中的代碼,指執行一條。

Debug環境下,如何實現十六進制數的相加

觀察標誌寄存器中,標誌位的值。標誌位的顯示順序:OF,DF,IF,SF,ZF,AF,PF,CF。觀察CF的值為,可知有無進位。CY表示進位,NC表示不進位。故0012H與0034H相加不進位。

Debug環境下,如何實現十六進制數的相加

觀察進位的情況。將FFFFH和1000H存入到ax和bx中。重複上面的幾個步驟。相加結果為0fffH.CF標誌位的值為CY。FFFFH與1000H相加存在進位。

Debug環境下,如何實現十六進制數的相加

注意事項

限於本人水平有限,如有跟好方法請告知

相關問題答案