實驗 3 編程、編譯、連接、跟蹤
阿新 • • 發佈:2018-11-01
運行 clas int 程序 功能 class .exe ima 滿足
(1).編寫匯編源程序 t1.asm, 源程序代碼如圖所示
運行結果為3 6
(2)將 line4 和 line9 種寄存器 dl 的值分別修改為 0~9 中任何一個數字,重新匯編→
連接→運行,觀察結果的變化。
將第四排的值改為1,第九排的值改為4
(3) 用 debug 對生成的可執行文件 t1.exe 進行調試
① 使用 r 命令查看。觀察寄存器 cx 的值是 多少;觀察寄存器 ds 和 cs 的值是多
少,它們之間滿足關系(cs)=(ds)+10H
② PSP(程序段前綴)的頭兩個字節是 CD 20, 用 debug 查看 PSP 的內容
③ 使用 u 命令對 t1.exe 進行反匯編,觀察反匯編得到的源代碼。
④ 使用 t 命令和 p 命令(遇到 int 命令時,用 p 命令)單步調試,出現了3和6
(2)
1編寫匯編源程序 t2.asm,源程序代碼如圖所示
2.對源程序 t2.asm 進行匯編、連接、運行、調試
3,將line 10,與line 7修改,匯編並連接運行。
4.將源代碼中 line7 的 0433h→0333h,
line10 的 0436h→0336h, 然後重新匯編、連接
3. 延伸思考和分析
(1)把練習 2 和實驗 1「實驗任務(4)」,放到一起看,觀察並思考這兩個實驗任務之間
的關聯,結合實驗 1「實驗任務(4)」 以及練習 2 中每行匯編指令的功能,理解練習 2 中程
序 t2.asm 實現的功能;
(2)把練習 2 和練習 1 放到一起看,結合兩個程序各自的源代碼以及運行結果, 觀察
並思考這兩個程序在實現數值顯示時不同的做法
實驗 3 編程、編譯、連接、跟蹤