相关疑难解决方法(0)

21
推荐指数
2
解决办法
2万
查看次数

实模式内存寻址中的段和偏移量是多少?

我正在读关于内存寻址的内容.我读了关于段偏移然后关于描述符偏移的内容.我知道如何计算实模式下的确切地址.这一切都没问题,但我无法理解究竟是什么偏移?到处都读到:

在实模式下,寄存器只有16位,因此最多只能寻址64k.为了允许寻址更多内存,地址קד是从segment*16 + offset计算的.

在这里我可以理解第一行.我们有16位,所以我们可以解决最多2 ^ 16 = 64k.

但这第二行是什么?细分代表什么?为什么我们将它乘以16?为什么我们添加偏移.我只是无法理解这个偏移是什么?有人可以解释我或给我链接吗?

memory x86 assembly operating-system real-mode

12
推荐指数
2
解决办法
1万
查看次数

没有基址寄存器,qword ptr [hexvalue]是什么意思

我在汇编中调试了CLR代码,并且排成一行

mov rax, qword ptr [ff4053c0h]
Run Code Online (Sandbox Code Playgroud)

我想qword ptr [ff4053c0h]是指我感兴趣的字符串,但ff4053c0h不是有效的内存位置.阅读qword ptr它似乎引用了一个基于基址寄存器的地址(例如qword ptr [rsp+30h],堆栈中有30个字节),但是我找不到没有基址寄存器的含义.

assembly .net-assembly

9
推荐指数
2
解决办法
1万
查看次数