1. 程式人生 > >【匯編語言】實驗三

【匯編語言】實驗三

嘗試 輸出 寫代碼 平臺 字節 mas 說明 .com 連接

練習一:編寫代碼

技術分享圖片

用masm進行編譯調試

技術分享圖片

技術分享圖片

可以得到結果為 :36

如果將line4的dl變為2,line9的dl變為5,我們再進行編譯

技術分享圖片

技術分享圖片

技術分享圖片

可見結果變成了25!說明改動有效啦

用debug對生成的可執行文件 t1.exe 進行調試。

首先用r命令:

實驗截圖:

技術分享圖片

得到cs=076A,ds=075A,滿足公式(cs)=(ds)+10H。

PSP(程序段前綴)的頭兩個字節是CD 20, 用debug查看PSP的內容,驗證是否如此。

技術分享圖片

由此可見,確實如此

使用 u 命令對 t1.exe 進行反匯編,觀察反匯編得到的源代碼。

技術分享圖片

使用 t 命令和 p 命令(遇到 int 命令時,用 p 命令)單步調試,觀察結果:

技術分享圖片

技術分享圖片

技術分享圖片

得到25。

練習2:

編寫代碼:

對源程序 t2.asm 進行匯編、連接、運行、調試 :

技術分享圖片

技術分享圖片

對t2.asm進行匯編、連接後,得到可執行文件t2.exe。運行t2.exe,觀察程序運行 結果,驗證是否在屏幕左上方出現紅色的數值36。 註*)經測試,有些平臺在 dosbox 下運行這個程序時有些問題,如果屏幕左上方沒有 輸出結果,請運行程序t2.exe前,先輸入cls命令清空一下屏幕,然後再執行t2.exe。

重新打開t2.asm,嘗試將源代碼中line7的0433h→0432h, line10 的 0436h→0439h, 然後重新匯編、連接,得到可執行文件 t2.exe。使用 cls 命令清 屏後,再次觀察程序運行結果。

技術分享圖片

技術分享圖片

可以發現數字發生了改變,結果為29

將源代碼中line7的0433h→0333h, line10 的 0436h→0336h, 然後重新匯編、連接,得到可執行文件 t2.exe。使用 cls 命令清屏後,再次觀察程序運行結果。

技術分享圖片

技術分享圖片

又發生了改變,結果為36,數字顏色發生了變化。

實驗總結:這個實驗還是蠻有意思的,通過自己的輸入改變,結果發生改變,數字顏色竟然也會出現變化。這是一個探索的過程,非常奇妙。同時也讓我對該軟件加深了了解。變得想要去學更多。

【匯編語言】實驗三