【发布时间】:2016-05-16 09:03:56
【问题描述】:
假设我在dx:ax 中得到了mul 的结果,如何将其保存到dword [ebx]??
我对双字也有同样的问题:edx(高半)和 eax(低半)指向[ebx] 指向的两个双字。
【问题讨论】:
-
使用两个
movs:mov [ebx], ax/mov [ebx+2], dx -
这应该是一个答案。
-
那么 eax 和 edx 呢? +4 ?
-
是的,
mov [ebx],eax会将 32 位(eax = 32b 寄存器)(= 4 字节)存储到内存中,所以如果你想在它之后有 edx 值,你可以使用 [ebx+ 4]来解决以下4个字节。请记住,您必须让 ebx 指向一些内存,并在其中保留此大小(8 字节),否则您将覆盖其他内容。