📄 format_int.asm
字号:
FM_FLOAT=0
FM_DOUBLE=1
FM_UCHAR=2
FM_CHAR=3
FM_USHORT=4
FM_SHORT=5
FM_LONG=6
FM_DWORD=7
FM_UINT64=8
FM_INT64=9
format_int proto:DWORD ,:DWORD ,:DWORD
.code
;format_int
;将DWORD转换为另一种类型的数值,以字符串的形式返回转换结果
;参数
;lpBuf[out]:接受转换后的结果
;uType[in]:转换为何种类型,可取上面的FM_xxx
;nNumAddr[in]:要转换的数的地址
;返回值
;成功返回字符串的地址
;失败返回0
format_int proc lpBuf,uType,nNumAddr
.if hInstDll
invoke GetProcAddress,hInstDll,ctext("format_int")
.if eax
push nNumAddr
push uType
push lpBuf
call eax
test eax,eax
jz @f
mov eax,lpBuf;ok!!!
ret
.endif
.endif
;失败.....
@@:
mov BYTE ptr [lpBuf],0
xor eax,eax
ret
format_int endp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -