實驗任務一:debug的使用
1、R命令:查看、改變CPU寄存器的內容:
通過r命令查看AX,BX,CX,DX,CS,IP這六個寄存器的內容,如:CS=073F,IP=0100,則內存073F:0100處的指令位CPU當前要讀取、執行的命令。
2、D命令:查看內存器中的內容(形式為”段地址:偏移地址“的形式)。
如: 用D命令查看內存1000:0處的內容:
3、接着再使用E命令(改寫內存中的內容)來修改內存1000:0~1000:9單元中的內容:
第一次錯誤出現的原因是在內存單元后沒有打空格而與修改內容一起寫所導致的錯誤。
實驗任務二:
1、用A命令將下面程序段寫入內存,用T命令逐條執行觀察CPU中相關寄存器中內容的變化。
程序段如下:
再用T命令逐條執行觀察CPU中相關寄存器中內容的變化:
2、將下面3條指令寫入從2000:0開始的內存單元中,利用這3條指令計算2的8次方
程序段:
使用T指令查看
使用T指令要在后面添加需要查看的內存單元
t=2000:0指的是需要逐條查看2000:0內存單元的寄存器中內容的變化
使用t指令最后結果為:
可以看出寄存器AX的值為100,因為100(16)=256(10),得到最終2的8次方結果為256
3、查看Rom中生產日期並試圖修改
先用d命令查看這段內存單元:
如截圖 我嘗試修改內存單元 fff0:00f0中的數據,再次調用d命令查看內存單元的內容發現內存單元中的值沒有什么變化
了解到PC主板上的ROM是一個只讀寄存器,只用讀取內存單元的值而不能改變內存單元中的值。
4、向內存從b8100h開始的單元填寫數據:
總結:
經過這一次的實驗以及自己動手操作之后,了解了部分的debug中的命令,以及匯編程序指令的編寫方式,沒有了剛開始接觸
匯編時的生澀感以及對匯編這門學科的陌生感,也知道了debug的調試環境,這一次做了的幾個實驗,親手操作起來感覺收獲
還是很大的,感覺匯編的一個好處就是一段程序碼的運行可以一步一步的查看,了解每一的值的改變,也通過這次匯編開始慢
慢的熟悉匯編這門學科了。