鱼C论坛

 找回密码
 立即注册
查看: 1715|回复: 0

关于实验13的一个怪异的问题!

[复制链接]
发表于 2012-6-28 22:48:50 | 显示全部楼层 |阅读模式

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

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

x
小弟在编写实验13第一小问中遇到一个很奇怪的问题,求助于各位。接下是代码:

assume cs:code

data segment
   db 'welcome to masm!',0
data ends



code segment
start:   mov ax,cs
           mov ds,ax
           mov si,offset do7c
           mov ax,0
           mov es,ax
           mov di,200h
           mov cx,offset do7cend-offset do7c
           cld
           rep movsb
          
           mov ax,0
           mov es,ax
           mov word ptr es:[7ch*4],200h
           mov word ptr es:[7ch*4+2],0

           mov dh,0ah
           mov dl,0ah
           mov cl,2
           mov ax,data
           mov ds,ax
           mov si,0
           int 7ch
          
           mov ax,4c00h
           int 21h
          
do7c:         push cx
                  push si
                  push bp
                  mov bl,cl
                  mov ax,0b800h
                  mov es,ax
                  mov al,0a0h
                  dec dh
                  dec dl
                  mul dh
                  mov dh,0
                  add ax,dx
                  mov bp,ax
               s: mov cl,[si]
                  mov ch,0
                  jcxz ko
                  mov es:[bp],cl
                  mov es:[bp+1],bl
                  add si,1
                  add bp,2
                  jmp short s
            ko: pop bp
                  pop si
                  pop cx
                   iret
do7cend: nop

code ends
end start
这段代码编译完之后在屏幕上显示的是一串彩色的笑脸符号。经过许久研究之后我把d07c中的两行代码:dec dh和dec dl删除之后则可在屏幕上成功显示welcome to masm!
很奇怪,小弟百思不得其解,希望回娘家得到各位高手的援助,万分感谢

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 06:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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