Architettura degli Elaboratori 2002/2003
Modulo Assembly
Riccardo Solmi
Programma del corso
- Introduzione ai concetti di assembler, compilatore, linker, eseguibile
- Elementi di un programma assembly
- Direttive all'assembler
- Identificatori, etichette e riferimenti
- Registri generali e speciali
- Istruzioni e pseudoistruzioni
- Introduzione al simulatore SPIM
- Le istruzioni assembly MIPS
- Categorie di istruzioni assembly
- Istruzioni di caricamento e salvataggio
- Gestione del segno
- Ordine dei bytes(endianness)
- Modi di indirizzamento
- Istruzioni aritmetiche, logiche e di scorrimento
- Istruzioni di salto condizionato e incondizionato
- I servizi offerti da SPIM
- Input e Output su console
- Allocazione dinamica
- Terminazione programma
- Programmazione assembly
- Realizzazione delle principali strutture di controllo
- sequenze
- scelte
- ripetizioni
- Definizione e controllo di sottoprogrammi
- Definizione di funzione
- Chiamate a funzioni
- Convenzioni sull'uso dei registri
- Funzioni ricorsive
- Convenzioni sull'uso dello stack
- Eccezioni
- Definizione e gestione di strutture dati
- Puntatori
- Array
- Aggregati
- Organizzazione della memoria
- Allineamento dati
- Allocazione dinamica
Materiale didattico
- Lucidi presentati a lezione
- Esempi presentati a lezione (tutti: )
- Soluzione esercizi proposti per casa (tutti: )
- Compiti
- Manuali di programmazione Assembly MIPS
- Tutorial per usare il simulatore SPIM
- Strumenti di sviluppo
Progetto
Simulazione di un sottoinsieme del set di istruzioni della Macchina Virtuale Java
- Specifiche
- Materiale per approfondire la conoscenza della JVM