實驗 4 [bx]和 loop 的使用

     計軟院       專業      計科       年級       2017級   班次          4班         姓名       江漪雯         學號   20171308150    編程

實驗結論oop

一、綜合使用 loop,[bx],編寫完整彙編程序,實現向內存 b800:07b8 開始的連續 16 個 字單元重複填充字數據 0403H。spa

    編寫彙編程序以下圖,命名爲t1.asm。(注意:字單元,填充下一個須要使bx+2,即執行兩條inc bx命令,3d

    至關於bx中的內容加2。調試

 

分別進行編譯,鏈接,運行。blog

進行清屏操做後,運行程序,顯示結果。內存

將源代碼程序中字數據 0403H→修改成 0441H,再次運行,截圖顯示運行結果。io

只需打開他t1.asm,將值修改並保存asm



 
2. 綜合使用 loop,[bx],編寫完整彙編源程序,實現向內存 0:200~0:23F 依次傳送數據
0~63(3FH)
(注意:是字節數據,0到3F 要執行3F+1=40次,cx=40)
 
編寫程序
 

編譯,鏈接編譯

 
查看原始值後,反彙編,查看是否輸入正確

 使用T命令單步執行,再次遇到loop指令時,使用P命令執行,直到cx=0爲止。

調試完畢,,用 d 命令查看 0:200~0:23F,確認是否將0~63傳送至此段內存區域。

 也可以使用G命令直接執行完。

實驗任務3:教材實驗4(3)(P121)

mov ax 後面填寫的是 cs,根據題意複製的內容是代碼,因此要把代碼段段地址賦給數據段段地址。

mov cx 後面填寫的是17h,由於要複製的內容是 mov ax,4c00h 前的內容,因此複製的代碼是從 mov ax,cs 到 loop s。mov 用在寄存器之間佔 2 個字節,用在寄存器和當即數之間佔 3 個字節,inc bx 佔 1 個字節,而loop s 至關於寄存器間的 mov 指令,佔 2 個字節,所以能夠計算出加起來程序長度爲 17h。

編程序

進行編譯,鏈接後用T命令,P命令調試(下面多打了一個a)

查看後得知);200~0:216存放這所編寫的機器碼

反彙編,得知0:200~0:215是咱們編寫的彙編指令,確認無誤。

 總結與體會

1.要熟練掌握編譯,鏈接運行的操做步驟

2.在 彙編源程序中,數據不能以字母開頭,因此要在前面加0。在編寫代碼前要搞清楚運算後的結果是否會超出dx所能存儲的範圍,用哪一個寄存器進行累加,如何進行寄存器之間的賦值這三個問題。

3.要學會計算程序的長度。

4.要學會使用T命令和P命令之間的配合調試操做。

相關文章
相關標籤/搜索