• Non ci sono risultati.

Esercitazione del 15 Dicembre 2010

N/A
N/A
Protected

Academic year: 2021

Condividi "Esercitazione del 15 Dicembre 2010"

Copied!
4
0
0

Testo completo

(1)

Esercitazione del 15 Dicembre 2010

Il processore 68k

16 registri:

D0-D7 registri dati, aggiornano i bit di zero, carry, overflow

A0-A7 registri indirizzi. A7: stack pointer. (In alcuni processori è doppio, per U o S)

Istruzioni

#DEFINE Data Code

Es 1

int a=5;

int b=3;

if(a>b){

b=1;

}

Suffissi:

.B -> Byte -> Char .W -> Word -> Short Int .L -> Long -> Int

Traduzione

CODE EQ 0 DATA EQ 1 SECTION DATA ORG $1000 A DC.L 5 B DC.L 3 SECTION CODE

ORG $1008 //Le due declare.long occupano 4 byte ciascuna START MOVE.L A.D0

MOVE.L B.D1 CMP.L DO,D1 BLE IF_END

MOVE.L #1,D2 MOVE.L D2,B END MOVE.L #9,D0

IF_END TRAP #15 //Istruzione per chiamare una SVC END START

(2)

Es 2

INT a=5;

INT b

IF(a>0 && a<=5) b=a;

ELSE b=0;

Traduzione

CODE EQ 0 //Allocazione segmento codice DATA EQ 1 //Allocazione segmento dati SECTION DATA //Inizio sezione dati ORG $1000 //Origine segmento dati

A DC.L 5 //Dichiaro una costante long uguale a 5 B DS.L 1 //Dichiaro un long di spazio

SECTION CODE START ORG $1008

MOVE.L A,D0

CMPI.L #0,D0 //Per negare la condizione

ab

 a b

BLE ELSE CMPI.L #5,D0 BGT ELSE MOVE.L A,D2 MOVE.L D2,B BRA OUT ELSE MOVE.L #0,D3

MOVE.L D3,B OUT MOVE #9,D0

TRAP #15 //Chiamo la SVC a fine codice END START //Parcheggio l’entry point

(3)

Es 3

INT VALORE;

INT VALORI[5];

INT I;

VALORI[0]=1;

VALORI[1]=2;

VALORI[2]=3;

VALORI[3]=4;

VALORI[4]=5;

VALORE=2;

WHILE(i<5&&VALORI[i]!=VALORE)i++;

Traduzione

CODE EQ 0 DATA EQ 1 SECTION DATA ORG $1000

VALORE DS.L 1 //4 parole VALORI DS.L 5 //20 parole

I DS.L 1 //4 parole. Totale 28. 28->1C in Hex SECTION CODE

ORG $101C

MOVEA.L #VALORI,A0

MOVE.L #1, (A0)+ //Sposta all’indirizzo di A0 e lo incrementa MOVE.L #2, (A0)+

MOVE.L #3, (A0)+

MOVE.L #4, (A0)+

MOVE.L #5, (A0) MOVE.L #2, D0 MOVE.L D0, VALORE MOVE.L #0, D1 MOVE.L D1, I

MOVEA.L #VALORI,A1 CICLO MOVE.L I,D1

CMP.I #5,I BGE END_WHILE VALORI[i]==VALORE MOVE.L (A1)+,D2 MOVE.L VALORE, D3 CMP.L D2,D3

BEQ END_WHILE

MOVE.L I,D4 //Eseguo il ciclo ADDI.L #1,D4

MOVE.L D4,I BRA CICLO END_WHILE MOVE #9, D0

TRAP #15 END START

(4)

Es 4

INT VALORE;

INT VALORI[5];

INT I;

VALORI[0]=5;

VALORI[1]=2;

VALORI[2]=1;

VALORI[3]=3;

VALORI[4]=4;

MINIMO=VALORI[0];

FOR(i=0,i<5,i++) {IF(VALORI[i]<MINIMO) MINIMO=VALORI[i];

}

Traduzione

CODE EQ 0 DATA EQ 1 SECTION DATA ORG $1000

MINIMO DS.L 1 //4 parole VALORI DS.L 5 //20 parole

I DS.L 1 //4 parole. Totale 28. 28->1C in Hex SECTION CODE

ORG $101C

MOVEA.L #VALORI,A0

MOVE.L #5, (A0)+ //Sposta all’indirizzo di A0 e lo incrementa MOVE.L #2, (A0)+

MOVE.L #1, (A0)+

MOVE.L #3, (A0)+

MOVE.L #4, (A0) MOVE.L VALORI,D0 MOVE.L D0, MINIMO MOVEA.L #VALORI,A1 MOVE.L #0, D1

MOVE.L D1, I //Inizializzazione FOR MOVE I, D1

CMPI.L #5,D1 BGE OUT

IF MOVE.L MINIMO, D2 MOVE.L (A1)+, D3 CMP D2, D3

BGE END_IF

MOVE.L D3, MINIMO END IF MOV.L I, D4

ADDI.L #1, D4 MOVE.L D4, I BRA FOR

OUT MOVE.L #9, D0 TRAP #15 END CODICE

Riferimenti

Documenti correlati

Franco Leonardi – Dipartimento dell’Ispettorato Centrale della Tutela della Qualità e della Repressione Frodi dei Prodotti Agroalimentari. Emilia Romagna

Il totale dei cancellati, fra avvocati e praticanti, nel corso del 2015, assomma

Falsità materiale commessa dal pubblico ufficiale in atti pubblici.. A decorrere dall'anno scolastico 2012-2013 le istituzioni scolastiche e i docenti adottano registri on line

– L’ingresso viene considerato solo quando CK varia da 0 ad 1 e lo stato può cambiare in corrispondenza di tale transizione. • Abilitazione sul fronte di discesa (negative

La valorizzazione del patrimonio informativo pubblico è un obiettivo strategico per la pubblica amministrazione, soprattutto per affrontare efficacemente le nuove sfide

URL for retrieving a detailed description of a Spatial Data Service, including a list of end points to allow its execution (INSPIRE metadata Technical Guidance). Physical

71.970 «avviati» sono i trattamenti (solo pazienti eleggibili) con almeno una scheda di Dispensazione farmaco.. Trattamenti avviati

Unità registri protocolli dei farmaci – gestione esperti AIFA.. Trend cumulativo dei