当前位置: 代码迷 >> 汇编语言 >> 小白提问:加法演算为什么要转换成dword
  详细解决方案

小白提问:加法演算为什么要转换成dword

热度:146   发布时间:2016-05-02 04:24:42.0
小白提问:加法运算为什么要转换成dword
x1 = (x2+1)*2;
001713B9  mov         eax,dword ptr [x2]  
001713BC  lea         ecx,[eax+eax+2]  
001713C0  mov         byte ptr [ebp-0E9h],1  
001713C7  mov         dword ptr [x1],ecx  

-----------------------------------------------------------------

这里是X2是INT,为什么在汇编中要转换成DWORD双字节呢
------解决思路----------------------
32 位环境下,int 就是 dword 的 32 位了。
------解决思路----------------------
也可以这么理解因为EAX是32位寄存器,mov指令要求其两个操作数的长度要一致,比如mov r32,r32/m32等