【问题标题】:Retrieving Memory Offset Address Using Assembly使用汇编检索内存偏移地址
【发布时间】:2011-02-14 14:40:27
【问题描述】:

我正在尝试检索内存变量的偏移地址

这是我做的

Mov CX, OFFSET data

但是偏移量数据给了它的0000,请问为什么?

【问题讨论】:

  • 你确定变量不是的偏移量为0吗?
  • 实际上,我也不太确定.. 我对装配很陌生,n 试图找出很多东西 data db 1,2,3,6,3,199 ele db 吗?阈值 db 200 这些是我的内存变量
  • 如果您之前没有定义任何其他变量,则很有可能它的偏移量为 0。
  • oic,好的,非常感谢杰瑞!
  • 也许向我们展示更多代码会帮助我们更清楚地了解问题?

标签: assembly x86


【解决方案1】:

没错.. 0000 指的是数据段开头的偏移量。所以偏移量是 ds:0000 (这是逻辑地址)。如果我没记错的话,要获得物理地址,您必须将段(ds)乘以 16,然后添加偏移量(在本例中为 0000)。查看here 了解有关逻辑地址的更多信息,查看here 了解物理地址。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多