PDA

Visualizza la versione completa : [Assembly 8086] problema stampa ASCII


Salvatore_91
01-02-2009, 11:28
Ciao raga.
Non riesco a stampare il valore presente nel registro.
Ad esempio nel registro DL, ho il valore 19h, che corrisponde a '25' in decimale.
Quindi io dovrei stampare prima il valore ASCII 32 e poi il valore ASCII 35.
Ma non riesco a generalizzare questo processo per piu' valori.
Mi potete aiutare?
:dh˛:

oregon
01-02-2009, 11:35
Te l'ho detto nell'altro thread in cui facevi un'addizione ... dopo l'addizione devi usare l'istruzione

AAA

ma non ci hai neanche provato ...

Salvatore_91
01-02-2009, 11:37
No, ti dico la verita' non l'ho neanche letta, perche' il mio prof. dice che si puo' risolvere con un algoritmo semplicissimo, senza usare l'istruzione AAA.

Salvatore_91
01-02-2009, 11:42
mi potresti indicare un link, dove mi spiega la sua funzione (AAA) per favore?. in italiano

oregon
01-02-2009, 12:29
Fai la divisione per 10 del valore.

Avrai un risultato e un resto.

Calcola risultato*16+resto

Salvatore_91
01-02-2009, 12:30
ne ho trovato uno, ma nn capisco nulla.

oregon
01-02-2009, 12:31
Originariamente inviato da Salvatore_91
ne ho trovato uno, ma nn capisco nulla.

Hai letto la risposta?

Salvatore_91
01-02-2009, 12:43
si l'ho letto.
mi potresti indicare anke un link dove spiega l'istruzione AAA, in italiano per favore?

oregon
01-02-2009, 12:45
Originariamente inviato da Salvatore_91
si l'ho letto.

E perche' non la usi?


mi potresti indicare anke un link dove spiega l'istruzione AAA, in italiano per favore?

No ... non ne conosco. Solo inglese. Ma li trovi se cerchi

AAA opcode

Fai attenzione pero' ... AAA si usa SOLAMENTE dopo un'addizione ... l'algoritmo non e' generico come lo vuoi tu ...

Salvatore_91
01-02-2009, 12:54
Ho provato a fare cosi', ma mi stampa la kiocciola '@'.
ecco il codice:


NUM1 DB 10h
NUM2 DB 9h
......
MOV DL, NUM1
MOV BYTE PTR NUM1[0],30h
MOV BYTE PTR NUM1[1],30h
MOV DH, NUM2
MOV BYTE PTR NUM2[0],30h
ADD DL, DH
AAA
MOV AH, 02h
INT 21h

Loading