早教吧 育儿知识 作业答案 考试题库 百科 知识分享

win32菜单项定义的几个问题,movzxeax,ax在自定义的消息处理函数中,有这样一段.elseifeax==WMSYSCOMMANDmoveax,wParammovzxeax,ax.ifeax==IDMHELP||eax==IDMABOUTinvokeDisplayMenuItem,wParam.else

题目详情
win32菜单项定义 的几个问题 ,movzx eax,ax
在自定义的消息处理函数中,有这样一段
.elseif eax == WM_SYSCOMMAND
mov eax,wParam
movzx eax,ax
.if eax == IDM_HELP || eax == IDM_ABOUT
invoke _DisplayMenuItem,wParam
.else
invoke DefWindowProc,hWnd,uMsg,wParam,lParam
ret
.endif
其中 mov eax,wParam
movzx eax,ax
应该怎么理解,eax存入wParam,为什么要再赋值ax,这ax中是什么
▼优质解答
答案和解析
movzx eax,ax是零扩展传送,就是屏蔽EAX的高16位
mov eax,wParam
movzx eax,ax
可理解为取wParam的低16位,屏蔽其高16位,这一般是例行操作.