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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2009-08-14 13:59] 实验四我用了几个方法填,哪个应该是更准确呢?大家讨论一下(注:这是在我的计算机上测试的)

要求将mov ax,4c00h之前的数据复制到内存0:200中,补全程序 
assume   cs:code    
  code   segment    
            mov   ax,【】  
            mov   ds,ax    
            mov   ax,0020h    
            mov   es,ax    
            mov   bx,0    
            mov   cx,【】 
  s:        mov   al,[bx]    
            mov   es:[bx],al    
            inc   bx    
            loop   s       
            mov   ax,4c00h    
            int   21h    
  code   ends       
  end   
第一种方法测试:
我在程序里去掉了mov   ax,4c00h 和 int   21h    第一个空放code,第二个放cx,此时CX=0017H;
第二种方法:
我在程序里去掉了mov   ax,4c00h 和 int   21h    第一个空放CS,第二个放cx,此时CX=0016H;
第三种方法:
我在程序里去掉了mov   ax,4c00h 和 int   21h    第一个空放CS,第二个放0(或者其它数据),此时CX=0017H;
第四种方法:
我在程序里去掉了mov   ax,4c00h 和 int   21h    第一个空放code,第二个放0(或者其它数据),此时CX=0018H;
第五种方法:

我在程序里去掉了mov   ax,4c00h 和 int   21h    第一个空放code,第二个放code(或者其它数据),此时CX=0018H;
那么这个代码段程序到底多长?请高手赐教
评论次数(2)  |  浏览次数(368)  |  类型(汇编作业) |  收藏此文  | 

[  younggay   发表于  2009-08-18 09:57  ]

程序代码的长度是和你的指令有关的,你可以观察一下你填不同内容的时候,那条指令的长度是不一样的。
在你给出的5种方法中,要保证你最终填写的内容和你试验的内容,填好后是一样的代码长度,否则,当你填写cx的最终数据的时候,就会有问题了,所以本题代码长度其实跟你的第一个空填cs还是code可能会有区别,但是,你第二个空应该是数据,所以,要填写一个和填写数据一样长的指令形式。另外,你不应该去掉程序中的返回语句的,那样得出的直接天cx寄存器的方法没什么意义。

[  jvhybg   发表于  2009-08-18 11:08  ]

谢谢你,younggay .我看完后面的章节才明白过来.真的谢谢你.

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