Как мне распечатать все числа со значениями num1, num2, num3 и длинным гексом в rax? - PullRequest
0 голосов
/ 20 февраля 2020
Console         equ     -11

extern  GetStdHandle:   PROTO
extern  WriteFile:      PROTO
extern  ReadFile:       PROTO
extern  ExitProcess:    PROTO

.data
num1        byte    ?
num2        word    ?
num3        dword   ?
num4        qword   ?
stdin       qword   ?
stdout      qword   ?
numWrite    qword   ?

.code
mainCRTStartup      PROC
    sub rsp, 40     ;reserve shadow space

    mov rcx, CONSOLE
    call GetStdHandle
    mov stdin, rax

    ;Storing information into memory
    mov num1, 6dh
    mov num2, 7361h
    mov num3, 7369206dh
    mov rax, 216e754620h

    mov rcx, stdout         ;parm1 = console
    lea rdx, num2           ;parm2 = ASCII
    ;parm3 = total #bytes to display
    mov r8, 15
    lea r9, numWrite
    mov qword ptr [rsp+32], 0
    call ReadFile


    add rsp, 40
    mov rcx, 0
    call ExitProcess
mainCRTStartup      ENDP
END

1 Ответ

1 голос
/ 20 февраля 2020

В качестве комментария вы можете использовать printf с "%x" форматом или "%lx" для long типа.

Или вы можете использовать API itoa / ltoa

...