I wonder why this procedure does not print:
print: push ax push bx push dx mov ah, 02h ciclo: mov al, [si] int 21h inc si loop ciclo pop dx pop bx pop
It will print the character in DL (see this reference).
DL
For example, if DL contains the decimal value 65, it will print the character A (since 65 is the ASCII code for 'A')
A