鱼C论坛

 找回密码
 立即注册
查看: 3297|回复: 21

实验9一直不能正确显示

[复制链接]
发表于 2013-8-8 11:55:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ck329054222 于 2013-8-9 14:53 编辑

下面写了一个很简单的显示代码,麻烦帮忙看看有什么问题,谢谢!

assume cs:code

data segment
db 'welcome to masm!'
data ends

code segment
start:
mov ax,data
mov ds,ax
mov si,0 ;这三条语句设置数据段地址
mov ax,0b800h
mov es,ax
mov di,0 ;这三条设置显卡显存地址

mov bl,2h ;设置字体显示绿色
mov cx,16 ;设置循环次数
s:
mov al,ds:[si]
mov byte ptr es:[di],al ;这两条语句将data段的welcome to masm!放入显存低8位
inc si
inc di

mov byte ptr es:[di],bl ;将颜色属性放入显存高8位
inc di

loop s

mov ax,4c00h
int 21h
code ends
end start
问题已解决:请看14楼

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-8 13:09:34 | 显示全部楼层
楼主楼主,收到请回复我。。。我准备看一下这个代码。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2013-8-8 13:15:42 | 显示全部楼层
楼主你不回复我,我就不告诉你了,哼。。。我测试了  可以的,想知道,回复我。。。好没存在感。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2013-8-8 13:29:18 | 显示全部楼层
你又少了ds:data ,没这句编译器怎么知道哪儿是数据段
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2013-8-8 13:29:38 | 显示全部楼层

你可以在左上角正确显示?我两台电脑都不行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 13:31:34 | 显示全部楼层
本帖最后由 ck329054222 于 2013-8-8 13:37 编辑
福禄娃娃 发表于 2013-8-8 13:29
你又少了ds:data ,没这句编译器怎么知道哪儿是数据段


mov ax,data
mov ds,ax
这两句就告诉了ds的地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 13:34:49 | 显示全部楼层
youmingshi 发表于 2013-8-8 13:15
楼主你不回复我,我就不告诉你了,哼。。。我测试了  可以的,想知道,回复我。。。好没存在感。

大哥,我回复了,求指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-8 13:40:56 | 显示全部楼层
ck329054222 发表于 2013-8-8 13:29
你可以在左上角正确显示?我两台电脑都不行啊

终于回复了,你是拿cmd打开文件的吧,我也是.

cmd不知道搞什么鬼,直接调用不行....

跟我来....cmd先输入debug,进入debug,然后按q,退出debug,然后再调用你的文件就可以了.

当然,cmd调用masm 和link后再调用你的文件也是可以的,不过直接调用你的程序怎么着都不行.......


楼主试试吧,成功了感谢一下我,哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-8 13:48:16 | 显示全部楼层
这个可以
assume cs:code,ds:data

data segment

     db 'welcome to masm!'

data ends

code segment

start:   mov ax,data

     mov ds,ax

     mov ax,0b800h

     mov es,ax

     mov bx,0720h                ;设置中间行中间列的首地址   

     mov si,0

     mov cx,16

s:   mov ax,[si]

     mov ah,2h

     mov es:[bx],ax              ;设置绿色字体

     mov ah,24h

     mov es:[bx+0a0h],ax         ;设置绿底红色

     mov ah,71h

     mov es:[bx+0a0h+0a0h],ax    ;设置白底蓝色

     inc si                      ;指向下一字符

     add bx,2                    ;指向下一显存单元

     loop s

     mov ah,01h

     int 21h

code ends

end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 13:51:37 | 显示全部楼层
youmingshi 发表于 2013-8-8 13:40
终于回复了,你是拿cmd打开文件的吧,我也是.

cmd不知道搞什么鬼,直接调用不行....

我先cmd输入debug,进入debug,然后按q,调用masm 和link后再debug我的程序。还是不行:cry
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-8 13:53:15 | 显示全部楼层
ck329054222 发表于 2013-8-8 13:51
我先cmd输入debug,进入debug,然后按q,调用masm 和link后再debug我的程序。还是不行

你QQ给我................................
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 13:54:54 | 显示全部楼层
youmingshi 发表于 2013-8-8 13:53
你QQ给我................................

741973271:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 14:02:18 | 显示全部楼层

确实可以。我研究研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-8 14:37:03 | 显示全部楼层
谁要同样有这个问题,也看到这里,我就来总结一下

xp下,cmd需要蛋疼的先运行debug,然后退出,然后再调用程序,才可以正常显示
         也可以debug 那个程序,用g命令运行
         如果尝试debug 那个程序,用t命令,当命令行到达底端,而显示代码还没有运行,那么就不会显示了

win7 32位下, 只能debug 那个程序,用g命令

        64位下,根本没法运行16位程序,除非使用dosbox,具体能不能显示没有试过

总结完毕,楼主来膜拜

至于没有看到这里而且不能正常显示的同学,只能说叫你不膜拜我。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-8 14:53:02 | 显示全部楼层
楼主不把我的总结放上去,木有小jj
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 16:51:44 | 显示全部楼层
youmingshi 发表于 2013-8-8 14:53
楼主不把我的总结放上去,木有小jj

怎么搞、、、不会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-8 16:52:55 | 显示全部楼层
ck329054222 发表于 2013-8-8 16:51
怎么搞、、、不会

不知道。。。。。。不说了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-8 16:54:53 | 显示全部楼层
youmingshi 发表于 2013-8-8 16:52
不知道。。。。。。不说了

真心不会、、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-9 12:40:37 | 显示全部楼层
似乎现在我还没有这个能力
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-9 13:48:11 | 显示全部楼层
不错,学习了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 00:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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