Salve a tutti, oggi il prof. ci ha assegnato la creazione di un programma che faccia la divisione a 8 bit tra due numeri e stampi quoziente e resto.
Non abbiamo ancora fotto i cicli e poi per adesso lavoriamo solo sui numeri compresi tra 0 e 9
Vi posto il mio codice (che non risulta) anche se per adesso sto vedendo di riuscire a stampare anche solo il quoziente.
Codice:
TITLE Divisione
.MODEL SMALL
.STACK 100h
.DATA
divid DB "INSERIRE DIVIDENDO: ","$"
divis DB "INSERIRE DIVISORE: ","$"
invio DB "Premere un tasto per continuare...","$"
acapo DB "",10,13,"$"
ris DB "QUOZIENTE: ","$"
num DB ?
.CODE
.STARTUP
MOV DX,OFFSET divid
MOV AH,09h
INT 21h
MOV AH,01h
INT 21h
SUB num,48
MOV AL,num
MOV DX,OFFSET acapo
MOV AH,09h
INT 21h
MOV DX,OFFSET divis
MOV AH,09h
INT 21h
MOV AH,01h
INT 21h
SUB num,48
DIV num
ADD num,48
MOV DX,OFFSET acapo
MOV AH,09h
INT 21h
MOV DX,OFFSET acapo
MOV AH,09h
INT 21h
MOV DX,OFFSET ris
MOV AH,09h
INT 21h
;stampa risultato
MOV DL, num
MOV AH,02h
INT 21h
MOV DX,OFFSET acapo
MOV AH,09h
INT 21h
MOV DX,OFFSET acapo
MOV AH,09h
INT 21h
MOV DX,OFFSET invio;
MOV AH,09h
INT 21h
MOV AH,01h
INT 21h
;RITORNO AL SO
MOV AH,4Ch
INT 21h
END
Il prof. e' stato molto vago sul come farlo comunque preferirei un aiuto nel ragionarci anziché copiare il codice senza capire
Comunque non mi da errori in compilazione ma non mi restituisce il risultato corretto..
PS: Opero su un SO Windows 32bit
Thanks..