标题:《琢石成器》一个比较菜问题
取消只看楼主
当阳桥
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-13
结帖率:100%
 问题点数:0 回复次数:2 
《琢石成器》一个比较菜问题

最近买了本《琢石成器》开始学习汇编,发现有个小小问题麻烦大侠们解答一下。mov语句规定两个操作数至少有一个通用寄存器,但在firstwindow中有几句mov语句如:
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset _ProcWinMain
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszClassName,offset szClassName
均没发现有通用寄存器如EAX、EBX、ECX、EDX出现在mov语句中。在百度搜索也没搜索到结果,请大侠们解答一下。先感谢了!!
搜索更多相关主题的帖子: 琢石成器 
2010-05-01 21:10
当阳桥
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-13
得分:0 
非常感谢,呵呵.......
; 注册窗口类
;********************************************************************
        invoke    LoadCursor,0,IDC_ARROW
        mov    @stWndClass.hCursor,eax
        push    hInstance
        pop    @stWndClass.hInstance
        mov    @stWndClass.cbSize,sizeof WNDCLASSEX
        mov    @stWndClass.style,CS_HREDRAW or CS_VREDRAW
        mov    @stWndClass.lpfnWndProc,offset _ProcWinMain
        mov    @stWndClass.hbrBackground,COLOR_WINDOW + 1
        mov    @stWndClass.lpszClassName,offset szClassName
        invoke    RegisterClassEx,addr @stWndClass
红色那两条语句就要用push及pop给@stWndClass.hInstance赋值,如是mov @stWndClass.hInstance,hInstance就出错了。
这又怎么解释呢?

[ 本帖最后由 当阳桥 于 2010-5-1 23:15 编辑 ]
2010-05-01 23:12
当阳桥
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-13
得分:0 
明白了,太感谢了。非常感谢
呵呵............
2010-05-02 02:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-305080-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.641601 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved