|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jun 2009
Messaggi: 13
|
[ASM] Calcolo MCD di n numeri
Ciao a tutti, sono nuovi di questo forum e spero di potermi trovare bene
Entro un paio di giorni devo consegnare un programma in Assembly che calcoli l'MCD tra n numeri. Ho utilizzato il metodo di Euclide e la ricorsione: ovvero, il primo l'ho usato per calcolare l'MCD tra due numeri. Siccome l'MCD è associativo, una volta calcolato quell'MCD passo a confrontare l'MCD ottenuto con un terzo numero, e così via. Il codice è questo, ma non mi dà il risultato che vorrei: Codice:
MOV ESI,num
XOR EAX,EAX
XOR EBX,EBX
MOV EBX,intArray[ESI-1]
CDQ
Ciclo2: DEC ESI
CMP ESI,0
JE Fine
MOV EAX,intArray[ESI-1]
Ciclo: CMP EBX,0
JE Fine ; Se EBX è 0, allora è il M.C.D.
CDQ
DIV EBX ; Dividiamo EDX:EAX per EBX (il quoziente è in EAX e il resto in EDX)
CMP EDX,0
JE Ciclo2 ; Se EDX (il resto) è 0, allora EBX è l'M.C.D.
MOV EAX,EBX
MOV EBX,EDX
JMP Ciclo
Fine: MOV MCD,EBX
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:58.



















