Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - assembly mcd
Forum - Altri Linguaggi - assembly mcd

Avatar
ladyB (Normal User)
Newbie


Messaggi: 3
Iscritto: 03/09/2013

Segnala al moderatore
Postato alle 15:10
Giovedì, 05/09/2013
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
Codice sorgente - presumibilmente Altri Linguaggi

  1. data segment
  2. a db 15
  3. b db 6
  4. ends
  5.  
  6. stack segment
  7.     dw   128  dup(0)
  8. ends
  9.  
  10. code segment
  11. start:
  12. mov ax,@data
  13. mov ds,ax
  14. mov al,a
  15. mov cl,b
  16. cmp al,cl
  17. je trovato  ;a=b
  18. jl minore ;a<b va a minore
  19. mov bl,al
  20. mov al,cl
  21. mov cl,bl
  22. div cl
  23. cmp dl,0
  24. je trovato
  25. mov al,cl
  26. mov cl,dl
  27. minore:
  28. div cl;b/a
  29. cmp dl,0
  30. je trovato ; il MCD e' a
  31. trovato: mov dl,al; stampo a
  32.       add dl,30h
  33.       mov ah,02h
  34.       int 21h
  35. mov ax, 4c00h
  36. int 21h  
  37. ends
  38. end start



Ultima modifica effettuata da ladyB il 05/09/2013 alle 21:30
PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 15:11
Lunedì, 09/09/2013
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 il 09/09/2013 alle 15:14
PM Quote
Avatar
ladyB (Normal User)
Newbie


Messaggi: 3
Iscritto: 03/09/2013

Segnala al moderatore
Postato alle 15:25
Mercoledì, 11/09/2013
ho risolto sbagliavo la divisione ...grazie lo stesso :)

PM Quote
Avatar
ladyB (Normal User)
Newbie


Messaggi: 3
Iscritto: 03/09/2013

Segnala al moderatore
Postato alle 15:26
Mercoledì, 11/09/2013
ho risolto sbagliavo la divisione ...grazie lo stesso :)

PM Quote