FFFF:F只后的内存空间是什么?
学习王爽汇编的过程中。计算机加电启动置CS:FFFF,IP:0000.
我在XP环境下debug跟入该地址查看。确实在地址FFFF0的位置看到一个跳转指令
按理说8086的可寻找空间为1M.也就是在地址FFFFF以后什么都没有了,但是我确看到后面还有数据,这是怎么回事?
xp里面的内存肯定不止1MB,dos命令行处于是虚拟8086模式,他模拟的是8086的实模式,模拟懂吗?dos窗口看到的那么多,但是实际上超过1MB的空间肯定还有数据。你可以装个只支持1MB内存的dos系统再用debug测试下。 bitravel 发表于 2019-9-19 17:31
xp里面的内存肯定不止1MB,dos命令行处于是虚拟8086模式,他模拟的是8086的实模式,模拟懂吗?dos窗口看到 ...
我用光盘进入纯DOS,结果一样。你可以试试。你的认知是错误的 1113727163 发表于 2019-9-20 00:05
我用光盘进入纯DOS,结果一样。你可以试试。你的认知是错误的
你设置的内存多大? 这个问题用3年的时间已经自己解决了 0xfffff后面是什么,这取决于a20地址线的状态和已经安装的内存大小
如果a20地址线没开着,那就地址回绕到0
第一张图是32M内存的情况,可以看到我尝试着修改a20地址线的状态,但是失败了
禁用a20地址线的指令确实是执行成功了,但是紧随其后又来了一条启用a20地址线的指令,这条指令不是我给出的
那么就只有两种可能
1 ms dos 操作系统给出的
2 debug 这个软件给出的
就是说有32M内存的情况下,改不了a20地址线的状态
图2是1M内存的情况,可以看到开机的时候报错了,因为ms dos尝试着使用1M以上的内存
不过不影响使用,debug这个软件依然可以运行,这一次可以看到0xfffff后面的内容和0地址的内容一样
1113727163 发表于 2023-1-28 21:33
这个问题用3年的时间已经自己解决了
笑死我了
页:
[1]