鱼C论坛

 找回密码
 立即注册
查看: 5305|回复: 20

为什么写不进显存呢,大神帮忙看看

[复制链接]
发表于 2011-11-14 23:55:37 | 显示全部楼层 |阅读模式

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

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

x
assume        cs:code
code        segment
start:                    mov        ax,        0b800h
                mov        ds,        ax
                mov        ax,        0241h
                mov        ds:[0],        ax
               
                mov        ax,        4c00h
                int        21h
code        ends
end        start
就这样一段代码,可是调试的时候不知道为什么0241h没有写到b800:0处,不知道这是为什么,请大虾帮帮我。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-15 11:37:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-15 11:42:21 | 显示全部楼层
这样会显示绿色的A?  真不解  没颜色属性, 怎么会绿色?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 12:43:26 | 显示全部楼层

捕获.rar (56.9 KB, 下载次数: 2)

为什么执行mov ds:[0], ax之后b800:0字单元中没有变成0241h呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 12:46:27 | 显示全部楼层
100531319 发表于 2011-11-15 11:42
这样会显示绿色的A?  真不解  没颜色属性, 怎么会绿色?

我用的是字单元,02是颜色属性,可是不知道为什么b800:0 1中的内容没有变成0241h:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-15 12:50:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-15 12:51:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-15 12:52:23 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-15 13:08:43 | 显示全部楼层
z310394543 发表于 2011-11-15 12:52
mov        ax,        0241h
                mov        ds:[0],        ax

恩  02是颜色属性, 41h是字符串,  显示的应该是 41, 但是41是两个两个字符,不分开存放,应该就变样了把   不知道 对不对 !
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
头像被屏蔽
发表于 2011-11-15 13:45:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 13:55:24 | 显示全部楼层
z310394543 发表于 2011-11-15 12:50
应该是这样:

因为b800:0这个地址为显存

嗯嗯,真的是这样的。谢谢啦。那怎样才能在屏幕上看到A呢,如果显存这样一直更新的话。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-15 14:14:33 | 显示全部楼层
ascii码的41h  好像是大写A , 所以才出现绿色 A

你才cmd中显示不出来 ? 那跟你系统有关系, 我win7系统就显示不出, 害的我要跑到xp系统去运行,才显示得出

等下我要去问下大神们,怎么解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 14:27:32 | 显示全部楼层
100531319 发表于 2011-11-15 14:14
ascii码的41h  好像是大写A , 所以才出现绿色 A

你才cmd中显示不出来 ? 那跟你系统有关系, 我win7系 ...

是么,我也去xp试试看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 14:32:33 | 显示全部楼层
100531319 发表于 2011-11-15 14:14
ascii码的41h  好像是大写A , 所以才出现绿色 A

你才cmd中显示不出来 ? 那跟你系统有关系, 我win7系 ...

是的呢,用xp就可以显示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 14:41:19 | 显示全部楼层
100531319 发表于 2011-11-15 14:14
ascii码的41h  好像是大写A , 所以才出现绿色 A

你才cmd中显示不出来 ? 那跟你系统有关系, 我win7系 ...

我发现xp里也是刚开始打开cmd的时候运行才可以显示。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-15 15:12:43 | 显示全部楼层
cfer 发表于 2011-11-15 14:41
我发现xp里也是刚开始打开cmd的时候运行才可以显示。

嗯  静等大神们帮咱想想怎么在win7 32显存中显示出来, 等有结果了,在 分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 16:39:29 | 显示全部楼层
100531319 发表于 2011-11-15 15:12
嗯  静等大神们帮咱想想怎么在win7 32显存中显示出来, 等有结果了,在 分享

是的,我刚刚用了一个emu8086感觉很不错的,它比系统自带的debug好。我感觉系统自带的环境会带来一些不必要的困惑。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-15 19:09:35 | 显示全部楼层
cfer 发表于 2011-11-15 16:39
是的,我刚刚用了一个emu8086感觉很不错的,它比系统自带的debug好。我感觉系统自带的环境会带来一些不必 ...

你有办法在win7 32位显存中 显示出来?,快 分享下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-15 20:58:02 | 显示全部楼层
100531319 发表于 2011-11-15 19:09
你有办法在win7 32位显存中 显示出来?,快 分享下

如果你用系统自带的debug的话,不要单步调试,这样在屏幕上就看不到的,因为调试时显示的那些信息共享屏幕,所以你写入显存的东西会被覆盖掉。可以用g命令,一下子执行到mov ax, 4c00h处,这样就可以在屏幕上看到了。或者你也下个emu8086吧,这个显示得比较好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-16 10:54:30 | 显示全部楼层
cfer 发表于 2011-11-15 20:58
如果你用系统自带的debug的话,不要单步调试,这样在屏幕上就看不到的,因为调试时显示的那些信息共享屏幕 ...

我没在DEBUG中显示阿,我是在CMD中直接运行,它显示不出来,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 10:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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