21,499
社区成员
发帖
与我相关
我的任务
分享_HexToDec proc
local @szBuffer[512]:byte
invoke GetDlgItemText,hWinMain,IDC_HEX,addr @szBuffer,sizeof @szBuffer
lea esi,@szBuffer
cld ;这里设置这个是为了什么啊?
xor eax,eax
mov ebx,16
.while TRUE
movzx ecx,byte ptr [esi]
inc esi
.break .if ! ecx ;这里是指ecx不为0的时候退出?感觉我的理解没对啊
.if cl > '9'
sub cl,'A' - 0ah
.else
sub cl,'0'
.endif
mul ebx
add eax,ecx ;感觉脑袋好乱,看不懂了
.endw
invoke wsprintf,addr @szBuffer,addr szFmtHexToDec,eax
invoke SetDlgItemText,hWinMain,IDC_DEC,addr @szBuffer
ret
_HexToDec endp