x86寻址模式

时间:2013-02-26 07:48:36

标签: assembly x86 addressing-mode

我对此指令的间接寻址模式非常困惑:

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

1 个答案:

答案 0 :(得分:2)

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

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