汇编网首页登录博客注册
07211023pqq的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  

[2009-06-05 10:51] 检测点9.3

assume cs:code   
code segment   
start:mov ax, 2000h   
   mov ds, ax   
   mov bx, 0   
s:mov cl, [bx]   
   mov ch, 0    
   ____________   
   inc bx   
   loop s     
ok:dec bx   
   mov dx, bx   

   mov ax, 4c00h   
   int 21h   
code ends   
end start  

=======================================================  
(1)当[0]=0,cx=0  
     由于出现loop指令而不需循环,所以此空为inc cx  
     cx=1  
     bx=1  
     不执行loop指令  
     bx=0(刚好为其偏移地址)  
     dx=0  

(2)当[1]=0  
     1)cx!=0(假设[0]=5,cx=0005)  
        第二次cx=0(由第一次inc bx后mov cl,[bx]得到)  
     2)(填inc cx)  
     3)bx=1第一次,第二次bx=2(不执行loop)  
     4)执行1次loop指令后,会出错(所以填inc cx)  
     5)bx=2-1=1(刚好为其偏移地址)  

(2)当[2]=0  
     1)cx!=0(假设[0]=3,cx=0003;[1]=5,cx=0005)  
        第三次cx=0(由第二次inc bx后mov cl,[bx]得到)  
     2)(填inc cx)  
     3)bx=1第一次,第二次bx=2,第三次bx=3(不执行loop)  
     4)执行2次loop指令后,会出错(所以填inc cx)  
     5)bx=3-1=2(刚好为其偏移地址)
评论次数(1)  |  浏览次数(389)  |  类型(作业) |  收藏此文  | 

[  blackberry   发表于  2009-06-05 11:47  ]

对,就是这个理解。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码