我有这个代码块在这里的英特尔结构,我想知道为什么uhex$(ebx)+6
?+6
是什么意思有人能给我解释一下吗?
.code
start:
...
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
...
WinMain endp
WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
...
.ELSEIF ax==IDM_GETTEXT
; store user input into buffer
invoke GetWindowText,hwndEdit,ADDR buffer,512
; convert into hex
xor eax,eax
invoke lstrlen, addr buffer
mov mSize,eax
mov edx,mSize
mov esi, OFFSET buffer
.WHILE i != edx
push edx
xor ebx,ebx
mov bl, [esi]
add esi,1
mov Value,uhex$(ebx) + 6
invoke lstrcat, addr mStr, Value
inc i
pop edx
.ENDW
...
WndProc endp
end start
我试着在谷歌和ChatGPT上搜索,但我找到的都是uhex转换32位整数到十六进制字符串,我只需要一个uhex$
的解释,为什么+6
?
1条答案
按热度按时间biswetbf1#
来自masm32文件夹
D:\masm32\macros\macros.asm