首页
社区
课程
招聘
有一个汇编的问题```为什么不直接用mov
发表于: 2005-2-8 09:55 4104

有一个汇编的问题```为什么不直接用mov

2005-2-8 09:55
4104
如下代码:
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
    LOCAL wc:WNDCLASSEX                                            ; create local variables on stack
    LOCAL msg:MSG
    LOCAL hwnd:HWND

    mov   wc.cbSize,SIZEOF WNDCLASSEX                   ; fill values in members of wc
    mov   wc.style, CS_HREDRAW or CS_VREDRAW
    mov   wc.lpfnWndProc, OFFSET WndProc
    mov   wc.cbClsExtra,NULL
    mov   wc.cbWndExtra,NULL
    push  hInstance                  ;注意,是这里
    pop   wc.hInstance
    mov   wc.hbrBackground,COLOR_WINDOW+1
    mov   wc.lpszMenuName,NULL
    mov   wc.lpszClassName,OFFSET ClassName
    invoke LoadIcon,NULL,IDI_APPLICATION
    mov   wc.hIcon,eax

上面代码“注意”那里,可不可以用:
move wc.hInstance, hInstance

还有几个地方也是这样``莫名奇妙中。。``

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 135
活跃值: (226)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
2
MOV的两个操作数不能同时为内存操作数。。。。
2005-2-8 10:18
0
雪    币: 205
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mov mem , mem 是规则不允许的。请再复习一下8086/8088汇编语言。

BTW:其实试一下不就知道了。编译会给出详细的提示的。
2005-2-8 10:24
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
。。忘了``嘿```谢谢了!``
2005-2-8 10:49
0
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
5
研究一下INTEL CPU的指令格式会发现,如果两个内存地址做为操作数,现在它的所用机器指令格式是无法表示的。
我最近光折腾这个了
2005-2-8 16:56
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
6
先push 再pop 以下就行了
2005-2-8 18:53
0
游客
登录 | 注册 方可回帖
返回
//