Ho fatto questo programma... ma non capisco cos è che non va... mi fa uscire come risultato una faccina che ride...
codice:
Sistema SEGMENT STACK
DB 64 DUP (?)
Sistema ENDS
Dati SEGMENT
a DB 4 DUP (?)
Dati ENDS
Codice SEGMENT
ASSUME CS:Codice,SS:Sistema,DS:Dati
Inizio: MOV AH,01h ;Input da tastiera. Ritorna il valore in AL
INT 21H
MOV a,AL
MOV AH,01h
INT 21H
SUB a,AL ;a=a-AL
MOV AH,0Ah
MOV AL,a ;Metto il carattere della stringa in AL
MOV BH,0 ;così da poterlo stampare
MOV CX,1 ;una sola volta sullo schermo
INT 10H
Premi: MOV AH,08h ;Input da tastiera senza echo
INT 21H
CMP AL,27 ;Controlla se il tasto premuto sia il tasto ESC (27 dec.)
JE Esci ;Se uguale esce dal programma
JNE Premi ;Altrimenti attende che rivenga premuto un tasto...
Esci: MOV AX,4C00h ;Torno al DOS
INT 21h
Codice ENDS
END Inizio
Ho provato la stampa anche così... ma non va:
codice:
MOV AH,0Ah
MOV AL,a+30h ;Metto il carattere della stringa in AL
MOV BH,0 ;così da poterlo stampare
MOV CX,1 ;una sola volta sullo schermo
INT 10H
E infine ho provato anche così:
codice:
MOV AH,01h
INT 21H
MOV a,AL
MOV AH,01h
INT 21H
SUB a,AL
MOV DL,a
MOV AH,02H
INT 21H
Nessuno dei tre funziona.... cosa sbaglio?
Grazie per l'aiuto