鱼C论坛

 找回密码
 立即注册
查看: 3249|回复: 6

王爽汇编实验10第一题

[复制链接]
发表于 2012-8-8 22:45:44 | 显示全部楼层 |阅读模式
1鱼币
为什么我自己编的程序显示报错,然后用小甲鱼老师的代码编 运行没报错,但是显示不出字来。下面是甲鱼老师的代码,是不是我机子的问题。
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:[si]
        jcxz ok
   mov es:[bx+di],cl
   mov es:[bx+di+1],al
   inc si
   add di,2
         jmp short s

ok:  pop si
      pop cx
  
   ret
   
code ends
end start

最佳答案

查看完整内容

程序没有问题,我试过了,正常显示welcome to masm! 你运行前,输入cls清屏一下,然后再运行编译后的exe。试试看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-8 22:45:45 | 显示全部楼层
程序没有问题,我试过了,正常显示welcome to masm!

你运行前,输入cls清屏一下,然后再运行编译后的exe。试试看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-9 10:13:42 | 显示全部楼层
本帖最后由 lukelqz 于 2013-3-14 16:59 编辑

不显示的原因是因为显示出来后,系统滚屏了,覆盖掉了。可能是你的电脑性能太好
试试下面两种方法
1,用debug加载它,然后用G命令运行,这样就显示出来了。(PS:debug一下,然后q退出 然后再运行你的显存程序,也可以。反正我的可以。)
2,在程序中加2行代码,在
mov ax,4c00h
int 21h
前加上
mov ah,7
int 21h  
这两行,作用是按任意键退出,但是会使程序暂停。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-8-9 18:15:31 | 显示全部楼层

谢谢啦   今天我也得了  不知道为什么。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-8-9 18:53:32 | 显示全部楼层
习惯浪荡 发表于 2012-8-9 18:15
谢谢啦   今天我也得了  不知道为什么。

不谢 把答案设为已解决吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-14 17:08:57 | 显示全部楼层
lukelqz 发表于 2012-8-9 10:13
不显示的原因是因为显示出来后,系统滚屏了,覆盖掉了。可能是你的电脑性能太好
试试下面两种方法 ...

用1可以用2还是不行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-19 15:48:33 | 显示全部楼层
我也遇到了一样的问题啊 求组
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-7 22:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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