【问题标题】:x86 addressing modex86 寻址模式
【发布时间】:2013-02-26 07:48:35
【问题描述】:

我对这条指令的间接寻址模式很困惑:

and $0x0000FF00, 4(%esp)

如果这是当前栈顶:

0xBF8DB0B8: 0xDEADBEEF <--- ESP + 4
0xBF8DB0B4: 0xDEADBEEF <--- ESP

这是0xDEADBEEF的内存内容:

0xDEADBEEF: 0x1234ABCD

将执行以下哪项?

  1. AND 0x0000FF00, 0xDEADBEEF 结果:0x0000BE00 存储在 0xBF8DB0B8 中。

  2. AND 0x0000FF00, 0x1234ABCD,结果:0x0000AB00 存储在0x0000AB00

  3. AND 0x0000FF00, 0xDEADBEF3。结果:0x0000BE00 存储在 0xDEADBEF3 中。

【问题讨论】:

    标签: assembly x86 addressing-mode


    【解决方案1】:

    AND 0x0000FF00, 0xDEADBEEF 结果:0x0000BE00 存储在0xBF8DB0B8

    由于%esp 包含地址0xBF8DB0B44(%esp) 是地址0xBF8DB0B80xDEADBEEF 是该地址中的内容。

    【讨论】:

      猜你喜欢
      • 2020-06-18
      • 1970-01-01
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多