首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

POP/PUSH与MOV,该怎么解决

2012-02-09 
POP/PUSH与MOV_SuperClassproclocal@stWC:WNDCLASSEXmov@stWC.cbSize,sizeof@stWCinvokeGetClassInfoEx,NU

POP/PUSH与MOV
_SuperClassproc
local@stWC:WNDCLASSEX

mov@stWC.cbSize,sizeof   @stWC
invokeGetClassInfoEx,NULL,addr   szEditClass,addr   @stWC
push@stWC.lpfnWndProc
poplpOldProcEdit
mov@stWC.lpfnWndProc,offset   _ProcEdit
pushhInstance
pop@stWC.hInstance
mov@stWC.lpszClassName,offset   szClass
invokeRegisterClassEx,addr   @stWC
ret

_SuperClassendp

 

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

[解决办法]
使用MOV指令要遵循以下的规则:

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

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

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

立即数不能直接送至段寄存器

热点排行