鱼C论坛

 找回密码
 立即注册
查看: 2661|回复: 9

fff0:0100的物理地址?

[复制链接]
发表于 2013-2-7 15:05:16 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 sh11va 于 2013-2-7 21:35 编辑

1.移位相加得100000,怎么多出一位,加完不是应该20位吗,这个24位了。
2.还有怎么用e命令修改fff0:0100这个地址里的的具体一个数据,比如
fff0:0100 00 11 00 00 00 00 00 00-00 00 00 00 00 00 00 00 中的第二个数11,怎么改为00?


3.还有fff0:0100这是一个内存单元吗,怎么存了16个字节,不是一个内存单元只能存一个字节吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-7 17:51:19 | 显示全部楼层
第一,fff0:100对应的物理地址应该是00000。
据我推测是这样,楼主读取下地址试试
第二,e命令修改内存内容的方法:
e 段地址:偏移地址 内容(十六位)
他会按照你填的十六位数据的顺序排列下去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-7 17:55:27 | 显示全部楼层
第三,楼主的意思我不太理解
不过,地址对应的只是地址,它'会根据你输入的内容来放置数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-2-7 20:23:56 | 显示全部楼层

如果fff0:0100物理地址是00000,那么就应该与0000:0000是一个地址吧,但是我查看后发现fff0:0100这个地址与0000:0000地址所存储的数据不同,如图。
然后第三个问题内存单元容量的问题,图中地址右面那些不就是数据吗?怎么每个地址存了16字节的样子?

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-7 20:27:50 | 显示全部楼层
1.8086只使用20位地址,计算结果溢出部分不计,相当于循环到最开始的地址上。80286以上系统有A20锁,在电脑启动后,禁止想A20地址线输出信号,程序要切入保护模式时,可以通过I/O开锁。
DOS中将超出1MB但仍可在实模式下访问的内存称为上位内存,在Config.sys中加载himem.sys并指定DOS=HIGH,可以将DOS装入这段内存中,从而节省基本内存。
在windows cmd下运行debug d fff0:0100 和 d 0000:0000是不同的,但是在dosbox下是完全相同的

2."-e fff0:101 11"   这样就可以完成修改了。
3.fff0:0100不代表内存,它是一个地址,我们是根据地址找到相应的内存。默认的是一个字节。如果想变为其他形式,需要进行限定如:
mov ax,fff0h
mov ds,ax

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-2-7 20:35:28 | 显示全部楼层
本帖最后由 sh11va 于 2013-2-7 20:43 编辑
刘金伟 发表于 2013-2-7 20:27
1.8086只使用20位地址,计算结果溢出部分不计,相当于循环到最开始的地址上。80286以上系统有A ...

感谢大神第一个问题我懂了。
第二个问题为什么这样写啊?

还有楼上我传图了,图中地址右侧的不是数据吗,怎么一个地址对着16字节数据?晕,图显示不了,就是那些00 11 00 00 00 00 00、。。。那些不是内存单元的数据吗,怎么有16字节啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-7 20:44:23 | 显示全部楼层
sh11va 发表于 2013-2-7 20:35
感谢大神第一个问题我懂了。
第二个问题为什么这样写啊?

固定的格式啊,就跟我们写"mov ax,12h"  就是实现把12h放入ax中

是数据,但这好像是debug自身的问题,它在找到我们输入的地址后,默认输出16个字节的内容
我们其实可以限制输出的字节数数目“-d fff0:100(空格)103”就可以实现查看fff0:100到fff0:103四个数据内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-7 23:03:20 | 显示全部楼层
本帖最后由 shansongh 于 2013-2-7 23:06 编辑
sh11va 发表于 2013-2-7 20:23
如果fff0:0100物理地址是00000,那么就应该与0000:0000是一个地址吧,但是我查看后发现fff0:0100这个地址 ...


我打字打错了
对应的地址是fff00
也就是fff0:0这个位置、
好像也不行
这个问题的答案要等大神来回答了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-8 03:10:03 | 显示全部楼层
说清楚是8086 还是80386 一个是16位的另一个是32位的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-8 06:29:42 | 显示全部楼层
楼上有理 一般都X86系统 段地址+偏移量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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