Originariamente inviato da Gigi83
io ho provato a modificare STAMPA_BIN in questo modo però ho dei seri dubbi di aver sbagliato, infatti il compilatore impazzisce e anche io con lui.... VVoVe:
Ah non riesco a capire xkè mi parli di scansionare 8 bit se la mia stringa deve avere al max 80 caratteri
Adesso la procedura LETTURA_STRINGA mi sembra ok! La procedura STAMPA_BIN invece non va ancora bene.

Se ho ben capito, devi visualizzare a video il valore binario di ogni carattere digitato, giusto??

Quindi:
A) Devi fare un loop nel loop. Nel loop esterno prendi progressivamente uno degli N caratteri depositati nel buffer. Nel loop interno scansioni gli 8 bit del carattere e per ognuno stampi '0' oppure '1'.
B) Nella procedura non hai bisogno di fare input con l'INT 21h.

Detto a parole, devi seguire questa procedura:
1) Metti BX=0 e CX=[LUNGH_SEQU]
2) Leggi in AL il carattere puntato da CODICE_TASTO+BX
3) Metti un registro es. DH=8
4) Esamini il bit più alto del carattere e se 1 stampi '1', altrimenti stampi '0'
5) Fai lo shift a sinistra del valore del carattere
6) Decrementi DH
7) Se DH non è zero salti a 4)
8) Incrementi BX
9) Con LOOP salti a 2), cioè fino a quando hai caratteri

Chiaro adesso?