Salve a tutti;
Ho in programma la realizzazione di una funzione (tipo printf) assembly (8086) da utilizzare poi in c/c++.
La funzione:
void print (char* stinga, ...);
sarà appunto simile alla printf:
$b -> stampa byte
$w -> stampa word
...
a tal proposito mi chiedevo come stampare una stinga di questo tipo (avendo DI all'inizio e puntato su 'b' alla fine):
"Hello Word $b"
posso fare in 2 modi:
CICLO:
CMP BYTE PTR [DI],'$'
JE FINE
MOV DL,[DI]
MOV AH,2
INT 21H
INC DI
JMP CICLO
INC DI
FINE:
oppure:
MOV DX,DI
MOV AH,9
INT 21H
CICLO:
CMP BYTE PTR [DI],'$'
JE FINE
INC DI
JMP CICLO
INC DI
FINE:
secondo voi quale è il miglio modo