實驗3 編程、編譯、鏈接、跟蹤

實驗3 編程、編譯、鏈接、跟蹤編程

練習1:併發

代碼截圖:測試

 

實驗結果:spa

 

由上述實驗看出t1的結果爲36debug

1.將line4的dl變爲5,line9的dl變爲9,從新彙編鏈接運行,看看結果的變化。3d

此時結果變爲了59調試

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

CX的值爲0016 而DS的值爲075A,而CS的值爲076A,知足公式(cs)=(ds)+10Hasm

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

果真如此

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

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

 

練習2:

代碼截圖:

實驗結果:

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

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

左上角紅色的值發生了改變

嘗試將源代碼中line7的0433h→0333h, line10 的 0436h→0336h, 而後從新彙編、鏈接,獲得可執行文件 t2.exe。使用 cls 命令清 屏後,再次觀察程序運行結果。

 

左上方的數字顏色變化了

 

實驗總結:練習1時在對所編程序的編譯過程耗費了許多時間,最終找到是映射沒作好的緣由,並很好的解決了問題。練習2明顯比練習1效率高了不少,並發現bx這個寄存器不只能夠調控數值,也能夠調控輸出結果的顏色。

相關文章
相關標籤/搜索