NASM 64 BIT STAMPA INTERO

di il
1 risposte

NASM 64 BIT STAMPA INTERO

Salve, dovrei stampare un intero da file nasm, ho una macro che stampa numeri float, ma non so come modificarla per la stampa di interi, questa è la macro:

extern printf
section .bss
align 32
dbuf: resq 1
section .data
dmask: db '%f ',0

%macro sprint 1
pushaq
vpushay
mov rax, 1
mov rdi, dmask
cvtss2sd xmm0, [%1]
call printf
vpopay
popaq
%endmacro

dove pushaq fa la push di tutti i registri generali, a parte rbp e rsp, vpushay fa la push di tutti i registri AVX ymm, vpopay fa la pop di tutti i registri Ymm e popaq fa la pop di tutti i registri generali.
la macro funziona bene stampa un float, prende in ingresso un indirizzo, ad esempio:

temp dd 15.2
..
..
sprint temp

come posso modificarla in modo tale da stampare un intero? so che devo modificare certamente la maschera dove a posto di %f ci va %d, purtroppo sono novello di assembly, qualcuno può aiutarmi?

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte