The LazyBoy Library Manual - QWordToHex

Part of the Number Conversions group.

%imacro QWordToHex 2
Prefers: ES:DI, DX:AX
Prefers: DI, DX:AX

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