實驗三 第二次實驗

編寫彙編源程序t1.asmdebug

對源程序 t1.asm 進行彙編、鏈接、運行、調試3d

獲得結果爲36調試

將 line4和line9種寄存器dl 的值分別修改成 0~9 中任何一個數字,從新彙編→ 鏈接→運行,觀察結果的變化。blog

將line4改爲9,將line9改爲8 輸出98 it

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

① 使用 r 命令查看。觀察寄存器 cx 的值是 多少;觀察寄存器 ds 和 cs 的值是多 少,它們之間是否知足關係(cs)=(ds)+10H? bug

cx=0016,ds075A,cs=076A。知足程序

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

如圖所示頭兩個是CD 20d3

 ③ 使用 u 命令對 t1.exe 進行反彙編,觀察反彙編獲得的源代碼。 ④ 使用 t 命令和 p 命令(遇到 int 命令時,用 p 命令)單步調試,觀察結果。

 

編寫彙編源程序t2.asm

對源程序 t2.asm 進行彙編、鏈接、運行、調試

 

(1) 對t2.asm進行彙編、鏈接後,獲得可執行文件t2.exe。運行t2.exe,觀察程序運行 結果,驗證是否在屏幕左上方出現紅色的數值36。

出現了

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

出現了57

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

出現了18
 

總結

更加深刻的瞭解彙編還有使用dos這個程序,edit能夠編輯源程序運行的命令。

相關文章
相關標籤/搜索