鱼C论坛

 找回密码
 立即注册
查看: 1823|回复: 2

发现个问题 不知道是我的代码有问题还是书上就错了 求精通的来看看

[复制链接]
发表于 2012-9-7 22:03:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 一个人 于 2012-9-9 08:33 编辑

这是我写的第十二章后面的实验代码(基本是照搬课本上的代码 嘿嘿) 先看括号里的那几句
手机发帖 没有排版 大家将就一下
assume cs:code

code segment
start:  mov ax,cs
        mov ds,ax
      mov si,offset do0         ;设置复制源内容头地址
      
      mov ax,0
      mov es,ax
      mov di,200h               ;设置复制内容目标地址
      
      mov cx,offset do0ends-offset do0  
                                 ;设置复制次数
      
      cld                       
      rep movsb                 ;正序复制
      
      mov ax,0
      mov es,ax
      mov word ptr es:[0*4],200h
      mov word ptr es:[0*4 2],0h            ;设置0号中断向量地址
      
      mov ax,4c00h
      int 21h
      
  do0:       jmp short do0start   ;do0start为代码段开始,直接跳到do0start
             db "divid eerror!"
  do0start:   ( mov ax,0
             mov ds,ax
          mov si,202h)          ;jmp short do0start占两字节 ds:si指向字符串首地址
         
          mov ax,0b800h
          mov es,ax
          mov di,12*160 36*2   ;设置显示位置地址
         
          mov cx,13            ;设置字符串复制次数
      s:   mov al,ds:[si]
             mov ah,95            ;设置字符串颜色属性
          mov es:[di],ax
          inc si
          add di,2
          loop s               ;复制字符串到显存
         
          mov ax,4c00h
          int 21h
do0ends:     nop
code ends
end start
         
然后课本上的是mov ax,cs 我用课本上的就不能实现 但是用自己写的就能实现 我感觉课本上应该是错了 那个字符串在前面已经被复制到了0:202处 所以不应该是mov ax,cs吧
希望精通的给解释下 谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-9-8 07:14:41 | 显示全部楼层
没人管啊?……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-9-8 19:15:18 | 显示全部楼层
还没人解答 你们是不知道啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 04:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表