1. 綜合使用 loop,[bx],編寫完整匯編程序,實現向內存 b800:07b8 開始的連續 16 個 字單元重復填充字數據0403H。
將源代碼程序中字數據0403H→修改為0441H,再次執行。
應為0403h占一個字,而ds:[bx]是一個字節。所以我將04和03分布存進了al和ah,再分別賦值。
但是在這個實驗剛開始時我不小心把al、ah的賦值弄反了,結果是一排藍色的四角菱形,結合后來實驗成功,可以推斷在我的這個程序里al控制的是輸出顯示顏色,ah控制圖案輸出。
2. 綜合使用 loop,[bx],編寫完整匯編源程序,實現向內存 0:200~0:23F 依次傳送數據 0~63(3FH)。
t命令逐條執行(部分,太長了只選取開頭一段)
p命令逐條執行
g命令調試,和d命令查看,傳送數據成功。
t、p、g指令的不同通過實驗更清晰地展現了出來,t命令能逐條執行,更清晰反映過程,但是在該實驗中過程太長,就只選取了其中一部分。p命令在執行循環時直接從頭到尾一次性執行完。所以看不見其中的過程,最清晰的變化就是BX的值從0001h變成了003Fh。而g命令是一次將整個運行完。
3. 教材實驗4(3)(P121)
用t命令調試(部分,太長了。。。)
用p命令調試:
用g命令調試:(。。。。啥過程都沒有)
觀察是否成功復制:
在題目中,對ax的賦值為cs,代碼段復制嘛,段地址都存在cs中。而后來對cx的賦值。。。emmmm,用u命令查看后發現loop s 對應的機器碼是E2F8,再用d命令查看后發現E2F8對於的地址是CS:0016~CS:0017,而十六進制的17等於十進制的23,所以對cx賦值23。