05/09/13 13:10
ladyB
Salve ragazzi...qualcuno mi potrebbe aiutare con questa procedura che ho provato a fare per calcolare il MCD tra due numeri...ho appena iniziato a studiare l' assembly e non sono molto pratica.Ho utilizzato l' algoritmo di euclide. Al run time con emu8086 mi stampa un simbolo
grazie mille
data segment
a db 15
b db 6
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax,@data
mov ds,ax
mov al,a
mov cl,b
cmp al,cl
je trovato ;a=b
jl minore ;a<b va a minore
mov bl,al
mov al,cl
mov cl,bl
div cl
cmp dl,0
je trovato
mov al,cl
mov cl,dl
minore:
div cl;b/a
cmp dl,0
je trovato ; il MCD e' a
trovato: mov dl,al; stampo a
add dl,30h
mov ah,02h
int 21h
mov ax, 4c00h
int 21h
ends
end start
Ultima modifica effettuata da ladyB 05/09/13 19:30
aaa
09/09/13 13:11
lumo
Che simbolo?
Non conosco l'assembly ma ad occhio mi sembra che il tuo algoritmo non ricominci da start dopo aver eseguito i branch che operano la divisione
Ultima modifica effettuata da lumo 09/09/13 13:14
aaa