当前位置: 代码迷 >> 汇编语言 >> POP/PUSH与MOV,该怎么解决
  详细解决方案

POP/PUSH与MOV,该怎么解决

热度:2859   发布时间:2013-02-26 00:00:00.0
POP/PUSH与MOV
_SuperClass proc
local @stWC:WNDCLASSEX

mov @stWC.cbSize,sizeof   @stWC
invoke GetClassInfoEx,NULL,addr   szEditClass,addr   @stWC
push @stWC.lpfnWndProc
pop lpOldProcEdit
mov @stWC.lpfnWndProc,offset   _ProcEdit
push hInstance
pop @stWC.hInstance
mov @stWC.lpszClassName,offset   szClass
invoke RegisterClassEx,addr   @stWC
ret

_SuperClass endp

 

问下
push hInstance
pop @stWC.hInstance
这里为什么不能用mov   @stWC.hInstance,hInstance

------解决方案--------------------------------------------------------
使用MOV指令要遵循以下的规则:

两个操作数的尺寸必须一致

两个操作数不能同时为内存操作数(应该是不符合这一条)

目的操作数不能是CS,EIP和IP

立即数不能直接送至段寄存器
  相关解决方案