1. 程式人生 > >|實驗 3 程式設計、編譯、連線、跟蹤

|實驗 3 程式設計、編譯、連線、跟蹤

實驗 3 程式設計、編譯、連線、跟蹤

一、實驗結論

1.練習 1

對源程式 t1.asm 進行彙編、連線、執行、除錯

(1)     執行程式,觀察程式輸出結果

 

(2)     將 line4 line9 種暫存器 dl 的值分別修改為4和5,重新彙編→ 連線→執行,觀察結果的變化。

(3)     用 debug 對生成的可執行檔案 t1.exe 進行除錯。

① 使用 r 命令檢視。暫存器 cx 的值是0016;暫存器 ds的值是075a 和 cs 的值是076a,它們之間滿足關係(cs)=(ds)+10H.

 

PSP(程式段字首)的頭兩個位元組是 CD 20, 用 debug 檢視 PSP 的內容,驗證確實如此。

 

② 使用 u 命令對 t1.exe 進行反彙編,觀察反彙編得到的原始碼。

 

使用 t 命令和 p 命令(遇到 int 命令時,用 p 命令)單步除錯,觀察結果。

 

2.練習 2

對源程式 t2.asm 進行彙編、連線、執行、除錯

(1)     對 t2.asm 進行彙編、連線後,得到可執行檔案 t2.exe。執行 t2.exe,觀察程式執行結果,驗證是否在螢幕左上方出現紅色的數值 36。

 

(2)     如果(1)結果得到驗證,重新開啟 t2.asm,嘗試將原始碼中 line7 0433h0432h, line10 0436h0439h, 然後重新彙編、連線,得到可執行檔案 t2.exe。使用 cls 命令清屏後,再次觀察程式執行結果。

 

(3)     如果(1)結果得到驗證,重新開啟 t2.asm,嘗試將原始碼中 line7 的 0433h0333h, line10 0436h0336h, 然後重新彙編、連線,得到可執行檔案 t2.exe。使用 cls 命令清屏後,再次觀察程式執行結果。

 

3. 延伸思考和分析

(1)在debug中如遇到int 21h指令則需用p命令繼續執行。

(2)練習1每位數字單獨輸出,練習2由line7指令控制顏色line10指令控制輸出內容。

 二、總結與體會

可以通過edit或記事本以及其他編譯器來寫彙編程式。學會了彙編程式從寫出到執行的過程。學會了利用debug跟蹤除錯程式的執行。