Convert a value in memory to a hexadecimal ASCIIZ string.
The destination buffer must be large enough to contain all of the hexadecimal digits and the terminator for the ASCIIZ string.
Numbers larger than DWORD have additional assumptions and restrictions.
Both parameters are pointers and not the values or memory references.
If either pointer does not provide a segment register, ES is assumed.
If a Code Label is provided for either pointer, then CS is assumed.
Examples:
QWordToHex es:di, dx:ax ; convert value at memory location dx:ax to
; hex and store the result at es:di
QWordToHex di, cx:bx ; convert value at memory location cx:bx to
; hex and store the result at es:di
QWordToHex MY_BUF, dx:ax ; convert value at memory location dx:ax to
; hex and store the result at cs:MY_BUF
QWordToHex MY_BUF, BIGVAL ; convert value at memory location cs:BIGVAL
; to hex and store the result at cs:MY_BUF
Destination Buffer Requirements:
QWordToHex 17 bytes, QWordToUInt 20 bytes, QWordToSInt 21 bytes, 64-bit
TWordToHex 21 bytes, TWordToUInt 25 bytes, TWordToSInt 26 bytes, 80-bit
OWordToHex 33 bytes, OWordToUInt 40 bytes, OWordToSInt 41 bytes, 128-bit
YWordToHex 65 bytes, YWordToUInt 78 bytes, YWordToSInt 79 bytes, 256-bit
ZWordToHex 129 bytes, ZWordToUInt 155 bytes, ZWordToSInt 156 bytes, 512-bit