CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

汇编初级问题?

楼主YHeng(我来也!!!!!!)2006-05-02 23:17:33 在 其他开发语言 / 汇编语言 提问

assume   cs:code_sg,ds:string_sg  
   
        string_sg   segment  
            db   'Welcome   to   Masm!'        
        string_sg   ends  
   
       
        code_sg   segment  
   
            start:mov   ax,string_sg  
                        mov   ds,ax                  
   
                        mov   ax,0b872h          
                        mov   es,ax                  
   
                        mov   bx,0  
                        mov   di,0  
                        mov   si,0  
                        mov   cx,10h  
                    s:mov   al,ds:[bx+si]      
                        mov   es:[bx+di],al  
                        inc   si  
                        add   di,2  
                        loop   s  
                        ;如果将此处代码改为以下代码字符串将不能完整输出  
                        s:mov   al,ds:[bx]      
                        mov   es:[bx+di],al  
                        inc   bx  
                        add   di,2  
                        loop   s  
                        ;bx和si都是十六位寄存器,为什么单独使用bx就会一次访问两个字节,  
                        ;而使用ds:[bx+si]   ,就可以单独访问一个字节单元  
                        ;======================================================  
   
                        mov   di,1  
                        mov   cx,10h  
                  s1:mov   al,24h  
                        mov   es:[bx+di],al  
                        add   di,2  
                        loop   s1        
   
                        mov   ax,4c00h  
                        int   21h  
   
        code_sg   ends  
   
        end   start  
  问题点数:20、回复次数:1Top

1 楼zara(Kyrie eleison)回复于 2006-05-03 08:27:45 得分 20

没有这样的问题.   你存放字符时用的是   mov   es:[di+bx],   al   但后面的   inc   bx   和   add   di,2   导致后面的   [di+bx]   增加了   3   个字节的增量,   不再填入到下一个字符的位置,   而是属性的了,   后续类似.   所以,   只要将   mov   es:[di+bx],   al   改为   mov   es:[di],   al   就可以了Top

相关问题

关键词

得分解答快速导航

  • 帖主:YHeng
  • zara

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo