| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 614 人关注过本帖
标题:Asm菜鸟问问题
只看楼主 加入收藏
crosoli
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-4-24
收藏
 问题点数:0 回复次数:2 
Asm菜鸟问问题
IF uMsg==WM_LBUTTONDOWN
        mov eax,lParam
        and eax,0FFFFh

处理WM_LBUTTONDOWN的时候,把lParam的数据mov到EAX中,为什么还有一个AND EAX,0FFFFH呢? AND后数据不还是一样?
难道是LPARAM的数据不是32位格式的,格式化成32位吗? 初次接触汇编,望解答.
搜索更多相关主题的帖子: Asm 
2009-10-12 12:42
sll0807
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:69
专家分:123
注 册:2009-3-2
收藏
得分:0 
lParam
The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.  
 
The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.  


低字节表示光标的X坐标

高字节表示光标的Y坐标

and eax,0ffffh

保留低16位 高16位清零

取X点坐标!~~

[ 本帖最后由 sll0807 于 2009-10-12 16:19 编辑 ]
2009-10-12 16:16
onepc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:223
专家分:569
注 册:2009-8-27
收藏
得分:0 
这个lparam存的是鼠标的xy坐标。
是32位的
and eax,0ffffh之后取的值是低16位的数据,高16位是好像是Y的,在这里置0了,所以eax在and之后的值就是X的坐标了。
2009-10-12 16:17
快速回复:Asm菜鸟问问题
数据加载中...
 
   



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

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