實驗一
(1)先用E命令把書上的機器碼從0000:0300地址開始寫入,再用U命令把機器碼解釋為相對應的彙編指令。
要想執行指令,首先得把CS:IP指向0000:0300。所以先用r命令檢視暫存器的狀態。再修改CS:IP的地址值,指向0000:0300。
完成以上步驟之後,就開始使用T命令了。前三條指令長度都是3 個字元,所以IP+3。接下來的則是2個字元,所以IP+2。之後的以此類推CS:IP的值。
(2)先用a命令以彙編指令的形式向記憶體地址值為2000:0中寫入指令。再用r命令修改CS:IP為2000:0。
完成以上步驟後,開始用t命令實現計算2的8次方。
(3)先用d命令檢視記憶體單元,發現最後一行的註釋有日期的標識,所以日期就儲存在FFF0:00F0記憶體單元中。
試圖用e命令來修改FFF0:00F0的值,但發現修改無效。
(4)根據要求所說,先改變資料,發現不同的資料表示不同的圖案。再改變地址,則改變圖案的位置。
總結與體會:
總結與體會:
經過這次實驗,我已經能夠熟練掌握debug功能裡的基礎命令。在此過程中遇到過很多細節上的小問題,例如在用e命令之後直接就使用t命令執行,忘記應該先用r命令修改CS:IP的地址值後才能正常執行。再多加練習之後已經不會犯類似的小錯誤了。雖然這次實驗教簡單,但是我仍然花費了大量時間在摸索,望在以後的組合語言學習中能夠更加努力。