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?