Oppure

Loading
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 :D
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
11/09/13 13:25
ladyB
ho risolto sbagliavo la divisione ...grazie lo stesso :)
aaa
11/09/13 13:26
ladyB
ho risolto sbagliavo la divisione ...grazie lo stesso :)
aaa