gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:00:25 29 4
gpt4 key购买 nike

我正在汇编中调试 CLR 代码,并到达一行

mov rax, qword ptr [ff4053c0h]

我认为 qword ptr [ff4053c0h] 引用了我感兴趣的字符串,但 ff4053c0h 不是有效的内存位置。阅读有关 qword ptr 的内容,它似乎引用了基于基址寄存器的地址(例如,qword ptr [rsp+30h] 是堆栈中的 30 个字节),但我可以'找不到没有基址寄存器的意思。

最佳答案

当没有提供基址寄存器时,表示数据段 ( http://www.osdata.com/system/physical/memory.htm )。在您的代码中,mov rax, qword ptr [ff4053c0h] 表示“从数据段偏移 FF4053C0h 中取出 8 个字节并将它们放入 RAX”。

正如您所指向的那样,像rsp这样的基址寄存器的存在清楚地表明了堆栈段。在您的情况下,没有基址寄存器意味着数据段。

现在,关于大数字“FF4053C0h”,即“4 282 405 824”,完全有可能拥有 4Gb 可寻址内存 ( http://wiki.osdev.org/Protected_Mode ),这确认您的代码行可能有效并且正在访问在巨大的数据段中偏移 FF4053C0h ( http://www.ece.unm.edu/~jimp/310/slides/micro_arch2.html )。

另一个来源 = Assembly: Using the Data Segment Register (DS) .

关于assembly - 没有基址寄存器的 qword ptr [hexvalue] 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31211561/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com