习惯浪荡 发表于 2012-8-8 22:45:44

王爽汇编实验10第一题

为什么我自己编的程序显示报错,然后用小甲鱼老师的代码编 运行没报错,但是显示不出字来。下面是甲鱼老师的代码,是不是我机子的问题。
assume cs:code,ds:data
data segment
db'welcome to masm!',0
data ends

code segment
start:mov dh,8
      mov dl,3
   mov cl,2
   mov ax,data
   mov ds,ax
   mov si,0
   call show_str
   mov ax,4c00h
   int 21h
show_str:push cx
         push si
         mov al,0A0h
         dec dh
         mul dh
   mov bx,ax
   mov al,2
   mul dl
   sub ax,2
   add bx,ax
   mov ax,0B800h
   mov es,ax
   mov di,0
   mov al,cl
         mov ch,0
s:   mov cl,ds:
      jcxz ok
   mov es:,cl
   mov es:,al
   inc si
   add di,2
         jmp short s

ok:pop si
      pop cx

   ret
   
code ends
end start

lukelqz 发表于 2012-8-8 22:45:45

程序没有问题,我试过了,正常显示welcome to masm!

你运行前,输入cls清屏一下,然后再运行编译后的exe。试试看

lukelqz 发表于 2012-8-9 10:13:42

本帖最后由 lukelqz 于 2013-3-14 16:59 编辑

不显示的原因是因为显示出来后,系统滚屏了,覆盖掉了。可能是你的电脑性能太好{:5_91:}
试试下面两种方法
1,用debug加载它,然后用G命令运行,这样就显示出来了。(PS:debug一下,然后q退出 然后再运行你的显存程序,也可以。反正我的可以。)
2,在程序中加2行代码,在
mov ax,4c00h
int 21h
前加上
mov ah,7
int 21h
这两行,作用是按任意键退出,但是会使程序暂停。

习惯浪荡 发表于 2012-8-9 18:15:31

lukelqz 发表于 2012-8-9 08:41 static/image/common/back.gif
程序没有问题,我试过了,正常显示welcome to masm!

你运行前,输入cls清屏一下,然后再运行编译后的exe ...

谢谢啦   今天我也得了不知道为什么。{:5_92:}

lukelqz 发表于 2012-8-9 18:53:32

习惯浪荡 发表于 2012-8-9 18:15 static/image/common/back.gif
谢谢啦   今天我也得了不知道为什么。

{:5_91:}不谢 把答案设为已解决吧

無涯 发表于 2013-3-14 17:08:57

lukelqz 发表于 2012-8-9 10:13 static/image/common/back.gif
不显示的原因是因为显示出来后,系统滚屏了,覆盖掉了。可能是你的电脑性能太好
试试下面两种方法 ...

用1可以用2还是不行啊

狼翌北辰 发表于 2013-3-19 15:48:33

我也遇到了一样的问题啊 求组
页: [1]
查看完整版本: 王爽汇编实验10第一题