鱼C论坛

 找回密码
 立即注册
查看: 2432|回复: 5

做练习的时候发现的一个问题,麻烦大家看看

[复制链接]
发表于 2013-7-12 10:35:29 | 显示全部楼层 |阅读模式
1鱼币
当我把  ds 设置成为了 b800h 也就是显示缓冲区的起始地址的时候

mov bx,0
mov [bx],'h'

写完之后 我用debug跟踪 ,d命令查看  b800:0 的内存,b800:0的内容结果不是  'h'的 ascii 码

但是当我 把ds设置为ffffh之后, 同样写入的时候, ffff:0  却是 'h'的 ascii码。

这是为什么呢???求解。





最佳答案

查看完整内容

楼主 B800段在显示缓冲区中 也就是说 里面的数据在每Debug一次就更改一次 你存进去的数据在Debug下寿命只有一条指令的时间长度 例如 此时你刚执行完数据存入的指令 然后要用d命令查看是否存入 可是当你敲下d命令的时候 显示器为了给你一个反馈 把显示缓冲区的数据又进行了一次改写 所以 楼主的发生问题的原因应该是 数据被覆盖了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-12 10:35:30 | 显示全部楼层
楼主  B800段在显示缓冲区中  也就是说 里面的数据在每Debug一次就更改一次  你存进去的数据在Debug下寿命只有一条指令的时间长度   例如 此时你刚执行完数据存入的指令 然后要用d命令查看是否存入 可是当你敲下d命令的时候 显示器为了给你一个反馈  把显示缓冲区的数据又进行了一次改写   
所以 楼主的发生问题的原因应该是 数据被覆盖了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-12 15:22:07 | 显示全部楼层
段地址需要是16的整倍数
b800 不符合这要求,你可进一步测试下它是怎么修正的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-12 18:39:02 | 显示全部楼层
{:7_155:}.............
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-7-13 19:06:50 | 显示全部楼层

你说的  很有道理,我觉得 百分之99 是对的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-14 00:12:25 | 显示全部楼层
:funk:没有看懂啊  菜B还得继续学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-16 12:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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