實驗四 [bx]和loop的使用


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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM