gpt4 book ai didi

assembly - 计算段 :Offset from absolute address

转载 作者:行者123 更新时间:2023-12-04 03:06:46 25 4
gpt4 key购买 nike

我可以将地址 Segment:Offset 计算为 Segment * 0x10 + Offset 。但是我如何计算相反的呢?

例如。我如何从 0xF4170F400:0170 以及从 0xACF04ABCD:1234

最佳答案

您将需要以基址或偏移量以及线性地址开始,因为多个 Segment:Offset 对可以映射到相同的线性地址。

所以如果我们有段 0xF400 和线性地址 0xF4170 ,我们得到的偏移量为 0xF4170 - (0xF400 << 4) ,即 0x170

这样做只知道线性地址没有唯一的解决方案,因此您必须选择一种约定将 20 位地址拆分为 16 字节对齐的 seg 部分和字节偏移量。一种可能的功能是:

  • Segement = linear >> 4(前 16 位)
  • offset = linear & 0x0F(低 4 位)

  • 您可以选择 12:8 位的规范形式,为将来扩展更宽的线性地址留出空间。

    关于assembly - 计算段 :Offset from absolute address,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9464574/

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