format_int.asm
来自「一个十六进制编辑器源代码,cool!」· 汇编 代码 · 共 43 行
ASM
43 行
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 + =
减小字号Ctrl + -
显示快捷键?