Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Esercizi Assembler Esercizio 6 - Minimo comune multiplo

Esercizio 6 - Minimo comune multiplo

E-mail Stampa PDF
Valutazione attuale: / 2
ScarsoOttimo 

Testo:
Si scriva un programma in linguaggio Assembler 8086 che esegua le seguenti operazioni:
a)Definisca due variabili VAR1 e VAR2 su 16 bit
b)Ne calcoli e memorizzi in VAR3 il massimo comune divisore utilizzando il metodo dei resti.
Il metodo dei resti implementato in C:
int N = 18, M = 12;
int MCD;
int MIN, MAX, RESTO;
if (N<M) { MIN = N;
MAX = M;
} else {
MIN = M; MAX = N;
}
while(MIN!=0){ RESTO = MAX % MIN;
MAX = MIN; MIN = RESTO;
} MCD = MAX; //risultato MCD = 6

Soluzione:
N    EQU    16

.model small
.stack

.data
var1    dw    21
var2    dw    28
var3    dw    ?

.code
.startup

MOV CX, var1
MOV DX, var2

CMP CX, DX
JG maggiore:

MOV AX, DX
MOV BX, CX
JMP dopo

maggiore:
MOV AX, CX 
MOV BX, DX

dopo:
;AX maggiore
;BX minore

ciclo:
CWD
IDIV BX

MOV AX, BX
MOV BX, DX

CMP BX, 0
JNE ciclo

MOV var3, AX

.exit
end


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 5 visitatori online

Siti amici

Banner

Notizie flash

Stiamo lavorando per voi... A breve saranno aggiunte nuove pagine sul sito. Per il momento oltre a questo sito in costruzione puoi visitare i miei sottodomini: http://catene.sartomiki.net e http://fasi.sartomiki.net. STAY TUNED!

PUBBLICITA'