院 計軟院 專業 計科 年級 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
編譯,鏈接編譯
使用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命令之間的配合調試操做。