Tanto per cominciare, se non ricordo male, la funzione

AH=2 INT 21h

visualizza il carattere il cui codice ASCII è in DL ma tu non usi il codice ASCII dei valori ...