組合語言與程式設計 實驗四
阿新 • • 發佈:2018-11-19
實驗內容
1. 綜合使用loop,[bx],編寫完整彙編程式,實現向記憶體 b800:07b8 開始的連續16個*字單元*重複填充字資料 0403H。
下面是具體的程式碼
assume cs:code
code segment
mov ax,0b800h
mov ds,ax
mov ax,0403h
mov bx,07b8h
mov cx,10h
s: mov [bx],ax
inc bx
inc bx
loop s
mov ax,4c00h
int 21h
cod ends
end
清屏後執行.exe檔案,得到如下結果
> 將原始碼程式中字資料 0403H-> 修改為0441H,再次執行。
可見原來的愛心變成了A
2. 綜合使用loop,[bx],編寫完整彙編源程式,實現向記憶體 0:200~0:23f 依次傳送資料0~63(3FH)。
程式碼如下
assume cs:code code segment mov ax,0 mov ds,ax mov bx,0200h mov al,0 mov cx,40h s: mov [bx],al inc bx inc al loop s mov ax,4c00h int 21h code ends end
進行編譯、連結無誤以後,使用debug 觀察
**從實驗結果可以驗證題目所要求
3. 下面的程式的功能是將“mov ax,4c00h ”之前的指令複製到記憶體0:200處,補全程式,上機除錯,跟蹤執行結果
下圖為已補全結果
assume cs:code code segment mov ax,cs mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,17h s:mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end
進行Debug
**可見,第二個位元組也被複制過去了。反彙編檢視複製的內容,發現與原始碼相同
實驗總結與體會
首先這次實驗用的部落格園自帶的 Markdown 作為編輯器,初次使用,而且沒有地方預覽,所以排版不一定好看、正確,在此說明
這次實驗相對來說還是用的前幾次的知識,加以應用。對彙編的瞭解更加深一步了。;
end
--------