首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

求解 byte ptr szAscii [eax]解决方案

2012-04-09 
求解 byte ptr szAscii [eax].data?hWnddd?hHookdd?dwMessagedd?szAsciidb4 dup (?)HookProcproc_dwCode,_

求解 byte ptr szAscii [eax]
.data?
hWnddd?
hHookdd?
dwMessagedd?
szAsciidb4 dup (?)

HookProcproc_dwCode,_wParam,_lParam
local@szKeyState[256]:byte

invokeCallNextHookEx,hHook,_dwCode,_wParam,_lParam
invokeGetKeyboardState,addr @szKeyState
invokeGetKeyState,VK_SHIFT
mov@szKeyState + VK_SHIFT,al
movecx,_lParam
shrecx,16
invokeToAscii,_wParam,ecx,addr @szKeyState,addr szAscii,0
movbyte ptr szAscii [eax],0
invokeSendMessage,hWnd,dwMessage,dword ptr szAscii,NULL
xoreax,eax
ret

HookProcendp


上面语句movbyte ptr szAscii [eax],0 中的byte ptr szAscii [eax]是什么寻址方式呢?等同[byte ptr szAscii + eax]吗?其中eax中的值代表什么啊!
谢谢!

[解决办法]
这边的EAX是调用完函数ToAscii的返回值;mov byte ptr szAscii [eax],0相当于
mov di,offser szAscii 
mov byte ptr 【di+eax】,0

[解决办法]
mov byte ptr szAscii [eax],0

类似于 mov byte ptr [szAscii+eax],0

注意这里的szAscii表示该标识符的地址。

热点排行