隨鈊乄鎍慾 发表于 2013-5-13 21:33:15

求大神帮忙解答下再次谢谢了!

本帖最后由 s0512 于 2013-5-26 13:53 编辑

我在DEBUG中单步执行显存地址为B800:0460中的内容。为什么第一次查是一堆数值,而我第二次查又是另外一些数值。我都是查的同一地址为什么两次查出来的值不一样呢?我正在学习汇编语言零基础教程(王爽老师的)第十单的实验一。跪求解答:dizzy:

熊文杰 发表于 2013-5-13 21:33:16

0b800里面的数据,代表屏幕中显示的内容。也就是说,所有的你在dos屏幕上看见的东西都会在0b800内存中反应出来
你debug下,每次在屏幕中输入一个‘t’命令,其实就是在往0b800里面写数据了,因为屏幕上需要把这个t显示出来让你看见,假设你输入的这个‘t’是在0行0列,0b800处的第一个字节就是‘t’的ascii码。

debug执行完‘t’命令之后,你又会看见屏幕上显示了很多文字。这些文字既然显示出来了 就表示,0b800处的内存被写入了这些文字的ascii码。

NGtailang 发表于 2013-5-13 23:00:24

无需理解啊。那个一直在变的

隨鈊乄鎍慾 发表于 2013-5-14 19:53:00

NGtailang 发表于 2013-5-13 23:00 static/image/common/back.gif
无需理解啊。那个一直在变的

为什么?能不能详细点。感谢了先!

生态圈N号 发表于 2013-5-14 23:33:38

电脑在运行,程序在运行,你所查看的地方一直被一个或多个程序调用,数据就会改变

.karl 发表于 2013-5-15 00:31:39

本来就是变的 因为地球在转啊哈哈哈哈哈

隨鈊乄鎍慾 发表于 2013-5-15 19:51:26

熊文杰 发表于 2013-5-15 02:00 static/image/common/back.gif
0b800里面的数据,代表屏幕中显示的内容。也就是说,所有的你在dos屏幕上看见的东西都会在0b800内存中反应出 ...

谢谢你,我猜到是这样的情况但不敢确定。感谢你这是第二次回答我的问题了。呵呵!

熊文杰 发表于 2013-5-15 21:18:58

cqsbd_fzb 发表于 2013-5-15 19:51 static/image/common/back.gif
谢谢你,我猜到是这样的情况但不敢确定。感谢你这是第二次回答我的问题了。呵呵!

共同学习。

yang40270243 发表于 2013-5-16 07:30:38

感谢楼主分享,新手学习,感谢楼主分享!!!!!
页: [1]
查看完整版本: 求大神帮忙解答下再次谢谢了!