1. 程式人生 > >彙編 實驗四

彙編 實驗四

實驗內容 一:

   

執行截圖:

 

除錯截圖

 

實驗內容 二 :

1)

除錯截圖:

 

 2)

參考程式碼:  (來源於網路)

assume cs:code
code segment
mov ax,20h
mov ss,ax
mov sp,40h
mov bx,3f3eh
mov cx,32
s: push bx
sub bx,0202h
loop s
mov ax,4c00h
int 21h

code ends
end

 

除錯截圖

 

未解: sp的定義為什麼是40h?

實驗內容 三 :

(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

 解答:

 第一空 : 將段程式碼CS:存放當前正在執行的程式程式碼所在段的段基值賦值給 ds 

 第二空 : 推出來的

先隨便令 cx=20

 

通過反彙編

 

 “mov ax,4c00h"之前 是至 0017

 所以如果將“mov ax,4c00h"之前的指令複製到記憶體0:200處 需複製17個位元組

 需迴圈17次

 cx =17h