如何把字写成双字/ qword?

时间:2012-12-29 17:55:19

标签: assembly x86

我需要接受一个字并将其作为dword放在偏移中。我如何在86x汇编中完成它?

1 个答案:

答案 0 :(得分:1)

听起来你想要一个扩展负载的符号,例如MOVZXMOVSX(对于零扩展,分别用于无符号或带符号的扩展名),然后你可以将它用作32位移位,例如:

MOVSX EAX,AX ;extend 16 bit to 32 bit
MOV EAX,[ESI+EAX] ;load a value using the 32bit displacement

(上面的例子非常有用,因为还有其他注册表扩展指令,如CWDCDQ,请参阅this)。