| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1265 人关注过本帖
标题:《琢石成器》一个比较菜问题
只看楼主 加入收藏
当阳桥
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-13
结帖率:100%
收藏
 问题点数:0 回复次数:6 
《琢石成器》一个比较菜问题

最近买了本《琢石成器》开始学习汇编,发现有个小小问题麻烦大侠们解答一下。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
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
mov语句规定两个操作数至少有一个通用寄存器

你的论据是错的 没这条规定
2010-05-01 21:39
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
你baidu mov看看

传送指令MOV(Move)把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。可以实现立即数到通用寄存器或主存的传送,通用寄 存器与通用寄存器、主存或段寄存器之间的传送,主存与段寄存器之间的传送。该操作属于复制性质,不属于搬家性质。
2010-05-01 21:42
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
百度的词条真烂

我完善了一下 呵呵
2010-05-01 22:11
当阳桥
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: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
不能为2个内存变量。 mov @stWndClass.hInstance,hInstance 这是2个内存变量,所以会出错。

而那段初始化的mov 你分辨一下 是否都是内存变量?

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-05-01 23:53
当阳桥
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-4-13
收藏
得分:0 
明白了,太感谢了。非常感谢
呵呵............
2010-05-02 02:31
快速回复:《琢石成器》一个比较菜问题
数据加载中...
 
   



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

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