一、Mov用于数据传送,用法如下:
二、当传送的数据和目标数据位宽不一致的时候,需要使用MOVZX、MOVSX扩展。MOVZX使用0填充高位,MOVSX使用源操作数最高位填充
下面是汇编代码演示:
INCLUDE Irvine32.inc includelib Irvine32.lib includelib kernel32.lib includelib user32.lib .code ;无符号类型 var1 DWORD 12345678h ;有符号类型 var2 SDWORD 12345678h ;有符号字节类型 var3 SBYTE -1h main PROC mov eax,0 call DumpRegs mov al,var3 call DumpRegs movsx eax,var3 call DumpRegs xor eax,eax movzx eax, var3 call DumpRegs exit main ENDP END main
执行结果: