早教吧作业答案频道 -->其他-->
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中是什么
在自定义的消息处理函数中,有这样一段
.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位,这一般是例行操作.
mov eax,wParam
movzx eax,ax
可理解为取wParam的低16位,屏蔽其高16位,这一般是例行操作.
看了win32菜单项定义的几个问题...的网友还看了以下:
下列描述正确的是(多选)Axoreax,eax和moveax,0表达的意思是一样的B用XOReax 2020-05-02 …
EDX:EAX的意思再乘法指令中EDX.EAX=EAX×r32/m32这里的EDX.EAX和r32 2020-05-23 …
(23)执行MOV EAX, -2 指令后,EAX寄存器中的数据是 A)FFFFFFFEH B)OO 2020-05-23 …
假设(EAX)=12345678H,(EBX)=4,执行MULEBX指令后,(EAX)=【】。 2020-05-23 …
执行MOV EAX, -2指令后,EAX寄存器中的数据是A.FFFFFFFEHB.OOOOFFFEH 2020-05-23 …
已知(DS)=2000H,(SI)=32D4H,(EAX)=12345678H,执行指令MOV[SI 2020-05-23 …
已知(DS)=2000H,(SI)=32D4H,(EAX)=12345678H,执行指令MOV[SI 2020-05-24 …
● 在 32 位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完 指令 “p 2020-05-26 …
在32位处理器上,假设栈顶指针寄存器的当前值为0x00FFFFE8,那么在执行完指令“push ea 2020-05-26 …
win32菜单项定义的几个问题,movzxeax,ax在自定义的消息处理函数中,有这样一段.else 2020-11-28 …