Divisione tra due numeri (Assembly)

Buongiorno, ora vi presento questo pezzo di codice in Assembly.

Si tratta di un programma che permette di fare la divisione (numeri ad una e solo una cifra) riportando il resto e il quoziente:



Anteprima: 

Sorgente:
;Mateo Nunez 3^IA
;Divisione di due numeri in Input
;10/04/13
freccia MACRO
MOV DL, 1Ah
MOV AH, 02h
INT 21h
ENDM
scrivi MACRO
MOV AH, 02h
INT 21h
ENDM
capo MACRO ;Dichiaro MACRO per andare a capo
MOV DL,10d
MOV AH, 02h
INT 21h
ENDM
dati SEGMENT ;Dichiaro variabili e inizzializo a zero
num DB 0d
divi DB 0d
quoto DB 0d
resto DB 0d
dati ENDS
codice SEGMENT 
Inizio:
XOR AX, AX
XOR BX, BX
ASSUME DS:dati, CS:codice
MOV AX, dati
MOV DS, AX
MOV DL, 4Eh;Stampa “N:”
scrivi
freccia
;Input
MOV AH,01h
INT 21h
MOV num, AL
capo
MOV DL, 44h;Stampa “D:”
scrivi
freccia
;Input2
MOV  AH,01h
INT 21h
MOV divi,AL
SUB num, 48d ;Sottrazione di 48 in codice ASCII
SUB divi, 48d
XOR AX,AX ;Inizzializo 0 il registro AX
MOV AL, num ;Sposto in AL, il numeratore
DIV divi ;Divido AL con divi
MOV quoto, AL ;Sposto il risultato della divisione in quoto
MOV resto, AH ;Sposto in resto il resto della divisione tra AL e divi
capo ;Mando a capo
ADD quoto, 48d ;Addiziono 48 decimale a quoto
ADD resto, 48d ;Addiziono 48 decimale a resto
MOV DL, 51h;Stampa “Q:”
scrivi
freccia
MOV DL,quoto ;Sposto in DL quoto per fare l’output
scrivi
capo
MOV DL, 52h;Stampo “R:”
scrivi
freccia
MOV DL,resto ;Sposto in DL resto per fare l’output
scrivi
capo
capo
JMP Inizio
MOV AH,4Ch ;Return SO
INT 21h
codice ENDS
END
Annunci
Contrassegnato da tag

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: