Traduzione di espressioni in assembly Motorola 68000

Documenti analoghi
CORSO DI INFORMATICA 2 POLITECNICO DI MILANO

La parabola LA PARABOLA È IL LUOGO DEI PUNTI DEL PIANO EQUIDI- STANTI DA UN PUNTO DETTO FUOCO E DA UNA RETTA CHE NON LO CONTIENE DETTA DIRETTRICE.

Puntatori e gestione dinamica della memoria

Esercizio riassuntivo di traduzione e assemblaggio da linguaggio C ad assembly Motorola

Ambiguità D 11 = SS ( S S S ( S (S ) S ( S ((S )) S ( + S (( )) S (S (( )) (S) (S (( )) ( ) ( (( )) ( )

2 x = 64 (1) L esponente (x) a cui elevare la base (2) per ottenere il numero 64 è detto logaritmo (logaritmo in base 2 di 64), indicato così:

ESERCIZIO DI ASD DEL 27 APRILE 2009

IL CALCOLO LETTERALE: I MONOMI Conoscenze. per a = - 2 vale:

IL CALCOLO LETTERALE: I MONOMI Conoscenze. per a = - 2 vale:

Funzioni razionali fratte

Valutazione di una espressione. Espressioni. Espressioni semplici: variabili. Espressioni semplici: costanti

Unità 3 Metodi particolari per il calcolo di reti

Sistemi Intelligenti Reinforcement Learning: Sommario

Differenziale. Consideriamo la variazione finita, x della variabile indipendente a cui corrisponde una variazione finita della funzione f x, f x y

Appendice 2B: Probabilità e densità di probabilità

corrispondenza dal piano in sé, che ad ogni punto P del piano fa corrispondere il punto P' in

Rappresentazione doppi bipoli. Lezione 21 1

Esercizi svolti a lezione

Variabile casuale uniforme (o rettangolare)

Risoluzione verifica di matematica 3C del 17/12/2013

UNIVERSITÀ DEGLI STUDI ROMA TRE Corso di Studi in Ingegneria Informatica Secondo Modulo di Ricerca Operativa Prova in corso d anno 12 giugno 2000

Valore del parametro Tipo di Equazione Soluzioni Equazione di I grado x = 4. Equazione Spuria x 1 = 0 x 2 = 5 Equazione Completa con < 0

Teoria in pillole: logaritmi

Variabili Casuali e Distribuzioni di Probabilità Definizione: VARIABILI CASUALI VARIABILI CASUALI PROBABILITÀ

Area del Trapezoide. f(x) A f(a) f(b) f(x)

Ingegneria Elettrica Politecnico di Torino. Luca Carlone. ControlliAutomaticiI LEZIONE II

Scheda Sei ESPONENZIALI E LOGARITMI. 0,+. Inoltre valgono le

VOLUMI, MASSE, DENSITÀ

Equazioni di 2 grado. Definizioni Equazioni incomplete Equazione completa Relazioni tra i coefficienti della equazione e le sue soluzioni Esercizi

Integrazione Numerica

Passaggio di Parametri per Valore o Indirizzo

Sezione Esercizi ; ; ; 1 4. f ) 13 + g ) , 100, 125; f ) 216; 8 27 ; ; e ) g ) 0; h )

E U Q A U Z A I Z O I N O I N DI SE S C E O C N O DO

RAPPRESENTAZIONE GRAFICA DELLA PARABOLA a ( ) { } f con, è la parabola di equazione y = ax + bx + c. Vogliamo disegnarla. 2

UNIVERSITÀ DEGLI STUDI DI TERAMO

Organizzazione della Memoria usata dai Processi

Esponenziali e logaritmi

Anno 5. Applicazione del calcolo degli integrali definiti

Sottoprogrammi in linguaggio assembly del Motorola 68000

Invocazione di funzioni. Passaggio parametri Creazione record di attivazione (anche chiamato stack frame o area di attivazione)

Reazioni vincolari in. Strutture isostatiche

La dimostrazione per assurdo

Strumenti Matematici per la Fisica

Bilancio d'esercizio: le scritture di fine anno

LINGUAGGI FORMALI Esercizi

Dimostriamo innanzitutto una limitazione sull altezza degli alberi

Integrale definito. Introduzione: il problema delle aree

Cinematica ed equilibrio del corpo rigido

Integrale Improprio. f(x) dx =: Osserviamo che questa definizione ha senso dal momento che per ogni y è ben definito l integrale b

Circuiti digitali notevoli: ALU

8 Equazioni parametriche di II grado

Introduzione e strumenti

Informatica II. Capitolo 5. Alberi. E' una generalizzazione della struttura sequenza

7. Derivate Definizione 1

Si noti che da questa definizione segue che il punto C è il punto medio del segmento PP'. Figura 1

Anno 1. Numeri reali: proprietà e applicazioni di uso comune

Organizzazione della Memoria usata dai Processi

Cinematica ed equilibrio del corpo rigido

Equazioni parametriche di primo grado

ipotenusa cateto adiacente ad α cateto opposto ad α ipotenusa cateto adiacente ad α ipotenusa cateto adiacente ad α

Linguaggi di Programmazione Corso C. Parte n.5 Automi a Stati Finiti. Nicola Fanizzi

Componenti per l aritmetica binaria. Motivazioni. Sommario. Sommario. M. Favalli

1 Espressioni polinomiali

Alberi ed Alberi Binari

Organizzazione della lezione

I radicali. Cos è un radicale? ESERCIZIO 2.1. Determina le C.E. dei seguenti radicali e delle seguenti espressioni contenenti radicali.

Visite di alberi binari. Laboratorio di Algoritmi e Strutture Dati

a a a a a a a-- REGOLAMENTO D GRADUAZONE DEGU NCARKH DllRftGENZAU Aree veterinaria sanitaria, profession&e, tecnica ed amministrathia

Progettazione strutturale per elementi finiti Sergio Baragetti

MATEMATIKA OLASZ NYELVEN

COGNOME..NOME CLASSE.DATA

Organigramma Gerarchia. (Tree) Nessuna persona può avere più di un superiore Ogni persona può essere superiore di altre

Catalogo Interregionale dell Alta Formazione Edizione 2013 Adeguamento monetario delle tabelle di riferimento per il calcolo dei costi forfettari

Le superfici nascoste. Le superfici nascoste. Le superfici nascoste. Le superfici nascoste. Le superfici nascoste

Ottimizzazione nella gestione dei progetti Capitolo 5: programmazione multiperiodale modello di flusso CARLO MANNINO

B8. Equazioni di secondo grado

Radicali. Definizioni Variazioni di radicali Operazioni Razionalizzazione Radicali doppi Potenze con esponente razionale Esercizi

Laurea triennale in Scienze della Natura a.a. 2009/2010. Regole di Calcolo

Corso di Analisi: Algebra di Base. 4^ Lezione. Radicali. Proprietà dei radicali. Equazioni irrazionali. Disequazioni irrazionali. Allegato Esercizi.


2. Teoremi per eseguire operazioni con i limiti in forma determinata

Alberi Binari di Ricerca

Nome.Cognome classe 5D 18 Marzo Verifica di matematica

Unità logico-aritmetica (ALU) Architetture dei Calcolatori (Lettere. Blocchi di base per costruire l ALUl. Passi per costruire l ALUl

dc b dph dph dph 1 0 è grande SOLUZIONI TAMPONE POTERE TAMPONE C b grande phpiccolo

Capitolo 5. Integrali. 5.1 Integrali di funzioni a gradinata

Cap. 4 - Algebra vettoriale

Matrici: Definizioni e Proprietà

Esercitazioni di Elettrotecnica: circuiti in regime stazionario

BREVE APPENDICE SULLE UNITA' LOGARITMICHE

FORMULE DI AGGIUDICAZIONE

X X Y 2 1 0,5 0,25 Y 0,25 1 2,25 4. Disegna i grafici delle rette rappresentate dalle seguenti equazioni

, x 2. , x 3. è un equazione nella quale le incognite appaiono solo con esponente 1, ossia del tipo:

Alberi. Gli alberi sono una generalizzazione delle liste che consente di modellare delle strutture gerarchiche come questa: Largo. Fosco.

Ellisse riferita al centro degli assi

Unità logico-aritmetica (ALU) Unità logico-aritmetica. Passi per costruire l ALU. Blocchi di base per costruire l ALU

COMBINAZIONI DI CARICO SOLAI

George Boole ( )

RACCOLTA DI ESERCIZI PER I CORSI PRELIMINARI

Integrali de niti. Il problema del calcolo di aree ci porterà alla de nizione di integrale de nito.

Transcript:

Trduzione di espressioni in ssemly Motorol 68000 Dniele Polo Scrpzz dniele.scrpzz@elet.polimi.it Politecnico di Milno Ultimo ggiornmento: 10 Mggio 2005

Trduzione e ssemlggio Trduzione: dto un progrmm, espresso in un linguggio d lto livello (per esempio C) preprre il progrmm corrispondente, in linguggio ssemly; Assemlggio: trdurre il progrmm ssemly in codice oggetto, direttmente eseguiile dl processore;

Trduzione Svolgere l'operzione nelle seguenti fsi: 1. ricvre l'lero sintttico; 2. numerre i nodi interni dell'lero secondo un visit postordine; 3. coprire l'lero con le tegole prefisste; 4. llocre i istri (nell'ordine di numerzione, senz ottimizzzioni, rispettndo i vincoli); 5. codificre in ssemly le tegole (nell'ordine di numerzione, con i istri llocti);

1. Determinre l'lero sintttico Espressione di esempio: Z = (A B) (C D) 5 Determinzione dell'lero sintttico: Z 5 A B C D

2. Numerzione dei nodi dell'lero Numerri i nodi interni (cioè tutti i nodi trnne le foglie) secondo un visit postordine; Ricordte: dto un lero, un visit dei suoi nodi è un sequenz ordint in cui ogni nodo compre esttmente un volt; L visit postordine si ottiene considerndo i nodi come rccomndto dll' lgoritmo ricorsivo (pseudocodice C): void VisitPostordine(Nodo * pn) { VisitPostordine(pn->figlio1); VisitPostordine(pn->figlio2);... /* eventuli ltri figli, numerti d sx dx */ ConsiderNodo(pn); }

2. Numerzione dei nodi dell'lero Applichimo l visit postordine dei nodi interni: Z 9 8 7 5 3 6 1 2 4 5 A B C D

3. Copertur dell'lero con tegole Avete disposizione un insieme di tegole prefissto (vedere prossime pgine), ftte d esempio come segue: vr... vr Disponete le tegole in modo che comcino con i nodi dell'lero; ogni nodo interno (slvo l rdice) si coperto d due tegole; Le tegole sono przilmente sovrpposte; le zone sovrpposte devono comcire; Ignorte per or i simoli in rosso, essi vincolno l fse successiv di lloczione dei istri;

Tegole d usre per l copertur Per le istruzioni di trsferimento dti: move D, vr vr move #, vr vr move vr, D vr move D, D move #, D (Per uniformità, ttenersi lle tegole dte, nche se non sono ottime)

Tegole d usre per l copertur Operzioni ritmetiche: dd D, D dd #, D dd #, D Queste due tegole hnno l stess trduzione ssemly in virtù dell commuttività dell'opertore. su D, D su #, D Not: Attenzione ll'ordine degli operndi! Attenzione ll'ordine degli operndi! Quest tegol non esiste! Se si present questo sottolero, spostre in un istro e poi usre l prim tegol sinistr. (Per uniformità, ttenersi lle tegole dte, nche se non sono ottime)

Tegole d usre per l copertur Ancor operzioni ritmetiche: (come prim) muls D, D muls #, D muls #, D Queste due tegole hnno l stess trduzione ssemly in virtù dell commuttività dell'opertore. divs D, D divs #, D Not: : : : Attenzione ll'ordine degli operndi! Attenzione ll'ordine degli operndi! Quest tegol non esiste! Se si present questo sottolero, spostre in un istro e poi usre l prim tegol sinistr. (Per uniformità, ttenersi lle tegole dte, nche se non sono ottime)

Tegole d usre per l copertur Push dei prmetri di funzione: move D, -(A7) pil move #, -(A7) pil Chimt di funzione: BSR func ADD #N, A7 (ex: 2 prmetri L in ingresso sull pil e vlore di ritorno in D0) func() D0 move vr, -(A7) pil pil (con 3 prmetri,...) pil vr func() D0 Attenzione: eccezione ll ol di numerzione dei nodi; se dovete cricre i prmetri sull pil in ordine inverso, le tegole push vnno numerte d destr sinistr, invece che d sinistr destr; pil etc... pil pil

3. Coprire l'lero con le tegole Z 9 8 7 5 3 6 1 2 4 5 A vr B vr C vr D vr

4. Allocre i istri [TO DO: NO D0] Allocre i istri: nell'ordine di numerzione del psso precedente; rispettndo i vincoli indicti nelle tegole (segnlti in rosso); inizio dl istro D1 (D0 è riservto per vlori di ritorno); 7 D3 Z 8 9 D3 5 3 D2 6 D3 Not: i soli istri in gillo sono llocti liermente; gli ltri sono vincolti; D1 1 2 D2 4 D3 5 A vr B vr C vr D vr D4

5. Codificre il progrmm 7 Z 8 D3 3 D2 6 D1 1 2 D2 9 D3 4 D3 5 D3 5 D4 Codificre in ssemly le tegole con i istri llocti: 1. MOVE.L A, D1 2. MOVE.L B, D2 3. ADD.L D1,D2 4. MOVE.L C, D3 5. MOVE.L D, D4 6. SUB.L D4,D3 7. MULS D2,D3 8. ADD.L #5,D3 9. MOVE.L D3,Z A vr B vr C vr D vr

Progrmm finle Relizzre il progrmm completo che clcol: Z = (A B) (C D) 5 con i seguenti vlori: A = 1 B = 2 C = 3 D = 4 Z (clcolt) = 26 Codific ssemly ricvt: 1. MOVE.L A, D1 2. MOVE.L B, D2 3. ADD.L D1,D2 4. MOVE.L C, D3 5. MOVE.L D, D4 6. SUB.L D4,D3 7. MULS D2,D3 8. ADD.L #5,D3 9. MOVE.L D3,Z * Alloczione delle vriili, long word A EQU $100 B EQU $104 C EQU $108 D EQU $10C Z EQU $110 START ORG $1000 * Inizilizzzione delle vriili MOVE.L #1, A MOVE.L #2, B MOVE.L #3, C MOVE.L #-4,D MOVE.L #0,Z * Clcolo dell'espressione MOVE.L A, D1 MOVE.L B, D2 ADD.L D1,D2 MOVE.L C, D3 MOVE.L D, D4 SUB.L D4,D3 MULS D2,D3 * Attn: 1616 it ADD.L #5,D3 MOVE.L D3,Z STOP #$2000 END START