我必须在操作后写入寄存器的目的地和值。
用斜体字写的字段是我写的。用粗体字写的字段(如说明)是我的教授写的。
我曾尝试填写所有字段,但不确定答案。如果你能告诉我哪里出了问题,我会很高兴,谢谢!:)
我必须在操作后写入寄存器的目的地和值。
用斜体字写的字段是我写的。用粗体字写的字段(如说明)是我的教授写的。
我曾尝试填写所有字段,但不确定答案。如果你能告诉我哪里出了问题,我会很高兴,谢谢!:)
push eax
将寄存器存储到内存中。 push
有两个输出:(ESP-=4
寄存器),然后[ESP]=eax
是(内存地址)。我想您可以将两个输出都放入表中的一行。
这就是为什么该序列包含一个 LEA 来更早地设置 ESP:普通代码不会这样做,但是这个分配需要知道 ESP 的数值。
你的第二个错误在sub edx,ebx
. EDX 被前面的指令清零,但 EBX 仍然是 0x200。 sub
做无符号/ 2的补码二进制减法,它环绕,不饱和为零。在调试器中尝试,或者在 C 中使用uint32_t
.