Ciao, ho esaminato il sorgente. Ci sono diverse cose che non vanno.Originariamente inviato da Gigi83
salve a tutti, ho un problema con un progetto da sviluppare in assembler....il progetto in breve, è questo:
il programma riceve in ingresso una stringa la cui lunghezza max è 80 caratteri. Letta la stringa la converte in binario e stampa a video il risultato della conversione.
la fase problematica è la fase di conversione della stringa in binario, in quanto riesco a convertire solo l'ultimo carattere.
Nella procedura LETTURA_STRINGA qualunque carattere digitato lo metti sempre in [CODICE_TASTO], quindi hai sempre solo 1 carattere nel buffer CODICE_TASTO.
Per risolvere ti consiglio di:
a) Azzerare BX all'inizio della procedura (vedo che fai un MOV CX,00h che è inutile ma credo che volessi azzerare BX)
b) Scrivere in CODICE_TASTO in modo progressivo facendo MOV [CODICE_TASTO+BX],AL
La procedura STAMPA_BIN è un po' strana:
a) Usi 2 variabili INDEX e SEQUENZA che di per sé non servirebbero a nulla
b) Metti un contatore dei bit MOV DH,00h e poi incrementi DH. O controlli quando DH raggiunge 8 oppure fai il contrario: lo metti all'inizio a 8 e poi decrementi fino a 0
c) Non hai gestito il loop per prendere tutta la sequenza di caratteri