PROGETTO ASSEMBLY: REQUISITI,

Documenti analoghi
PROGETTO ASSEMBLY: REQUISITI,

Descrizione del progetto di laboratorio.

26 April CHIAMATA A PROCEDURE PROCEDURE ANNIDATE PROCEDURA RICORSIVE I. Frosio

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio

Esercizio 1. Liste di interi

Procedure annidate. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

Procedure: esempi. Esempi: ricorsione fattoriale Fibonacci ordinamenti

Assembly V: Procedure annidate e recursive

CORSO DI ARCHITETTURA DEGLI ELABORATORI A-L M-Z. PROGETTOO di PROGRAMMAZIONE ASSEMBLY. 15 Luglio 2008

Assembly MIPS: le procedure

Le procedure ricorsive Come eseguire un programma. Architettura degli Elaboratori e delle Reti, Turno I

Opinione calcolamedia( ) Opinione inverti( )

Il linguaggio assembly

PROVA SCRITTA 23 MARZO 2010

Esercizio 1 Conta degli elementi distinti (file esercizio1.c e leggi.h/leggi.c - 15 punti)

Il Linguaggio Assembly: Le procedure

L ambiente di simulazione SPIM

Passare argomenti al programma

Convenzioni di chiamata a procedure

Programmi in Assembly

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 05/02/2014/ Foglio delle domande / VERSIONE 1

ORSO OSSERVATORIO RIFIUTI SOVRAREGIONALE

Argomenti Corso SAP Online ABAP Completo

System calls. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

System calls. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

Esercitazioni di Fondamenti di Informatica - Lez. 7 20/11/2018

ERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }

5 April LABORATORIO 03 CONTROLLO DEL FLUSSO DI UN PROGRAMMA JUMP ADDRESS TABLE. I. Frosio

Argomenti Corso SAP ABAP Completo Individuale

Implementazione delle classi

Strutture dati. Operatori di incremento e decremento. Strutture di dati. Strutture di dati. ++ e -- Esempi. Vettori e matrici.

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Prova d Esame Tecnologie Web LA A.A. 2008/2009 Tempo Disponibile: 3 ore Ai candidati è consentita la consultazione di manuali e materiale didattico

Progetto Gennaio 2017

Lezione 22: Input/Output e Files

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007

Esercizio 1 Domanda di teoria (13 punti)

giapresente( ) leggi( ) char * strstr(char * cs, char * ct) NULL

Lezione 11: Liste a Puntatori e Input/Output

FileInputStream read() read(byte[]) readint() DataInputStream FileInputStream EOFException

Sistemi Operativi (M. Cesati)

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Lezione laboratorio SPIM

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Fondamenti di Informatica T-1

Problema: stampa degli interi compresi tra n e m

Argomenti Corso SAP Online ABAP/4 Completo

CORSO DI ARCHITETTURA DEGLI ELABORATORI A-L e M-Z PROGETTO di PROGRAMMAZIONE ASSEMBLY 20 Dicembre CONSEGNA Lunedì 2 Febbraio 2009

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

Percorso Formativo SAP Online ABAP/4 Completo

RELAZIONE DELLA PROVA DI LABORATORIO DI INFORMATICA

Esercitazione 11. Liste semplici

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Assembly (3): le procedure

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Fondamenti di Informatica T-1 Modulo 2

A.A. 2018/2019. Esercitazione 3 [Per Casa] Strutturazione del Codice Sorgente per la Risoluzione di Problemi mediante MATLAB

Fondamenti di Informatica T1 Interfaccia Comparable Collezioni

Formalismi per la descrizione di algoritmi

Tipi strutturati - struct

FONDAMENTI DI INFORMATICA

INFORMATICA 2010/11 - CdL in FISICA TERZO APPELLO 8/09/2011: SOLUZIONI PROPOSTE

SECONDA PROVA INTERMEDIA DEL MODULO DI. 1 giugno 2017 NOME: COGNOME: MATRICOLA:

Cognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :

Preparazione allo Scritto di Programmazione

Preparazione allo scritto di Programmazione Comunicazione Digitale / Informatica - A.A. 2012/2013

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni

ELEMENTI DI INFORMATICA. Linguaggio C

Fondamenti di Informatica

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Assembly (3): le procedure

Esercitazione 2. Variabili e Tipi Input e Output Assegnamenti Il comando if-else

Programmazione 1 A.A. 2015/2016

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 1 settembre 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Algoritmi di ordinamento: Array e ricorsione

Assembly IV Le procedure

Influenza da browser

Esercitazioni di Programmazione II. Chiara Petrioli

Laboratorio di Informatica

Che risultato si ottiene al termine dell esecuzione del seguente frammento di codice?

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Il linguaggio assembly

RIGA COLONNA MATRICOLA

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

File binari e file di testo

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Informazioni sull esame e Regole per lo svolgimento dei progetti

LabVIEW - generalità

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Esercizio 1: funzione con valore di ritorno di tipo puntatore

Fondamenti di Informatica

Laboratorio di Algoritmi

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

syscall n Utilizzate come interfaccia col sistema operativo, funzioni diverse (n = 0..5) Assunzioni importanti:

Transcript:

20 May 2011 PROGETTO ASSEMBLY: REQUISITI, SPECIFICHE, VALUTAZIONE, ESEMPI. I. Frosio 1

PROGETTO ASSEMBLY -REQUISITI Registri i del MIPS, convenzioni i per il loro utilizzo; Controllo del flusso (for, while, if then else, switch); Chiamate a procedure semplici e annidate, utilizzo dello stack ove necessario; Procedure ricorsive (diverse da quelle già implementate a lezione), utilizzo dello stack; Utilizzo della memoria (array di dimensione minima: 4 elementi) per l immagazzinamento ed il reperimento di dati; Codici eccezione, exception handler (solo orale). 2

PROGETTO ASSEMBLY -SPECIFICHE Progetto INDIVIDUALE. Argomento del progetto: a scelta dello studente, DEVE essere approvato dal docente. Vengono forniti 3 esempi (NB. Si prega di non reimplementare uno di questi esempi). Approvazione argomento del progetto: durante le ore di esercitazione, oppure e-mail (frosio@dsi.unimi.it). it) Consegna del progetto - tempistica: Entro??? <tenere controllato il sito web>; Entro il giorno dell appello che si intende sostenere. Consegna del progetto - modalità: E-mail a frosio@dsi.unimi.it; Oggetto e-mail: Progetto Assembly <Cognome Nome Matricola> (ad esempio, "Progetto Assembly Fabio Rossi 123456"). NB Progetti non conformi alle specifiche di cui sopra NON 3 verranno valutati.

PROGETTO ASSEMBLY -SPECIFICHE Il progetto deve essere caratterizzato da: 1) Presenza di una procedura ricorsiva; 2) Utilizzo della memoria per l immagazzinamento dei dati (array con almeno 4 elementi) 3) Deve essere presente un interfaccia che permetta l inserimento di dati e / o la visualizzazione dei dati prima / dopo l elaborazione elaborazione. 4) Relazione (max una pagina di testo contenente la specifica del progetto (cosa fa, che input accetta, che output restituisce), le scelte adottate e le possibili migliorie; NB Progetti non conformi alle specifiche di cui sopra 4 NON verranno valutati.

PROGETTO ASSEMBLY -SPECIFICHE Procedura ricorsiva: una delle procedure utilizzate per l elaborazione dei dati deve necessariamente essere ricorsiva, ovvero deve chiamare se stessa. La memoria deve essere utilizzata per l immagazzinamento dei dati, ad esempio un array in memoria statica può essere utilizzato per immagazzinare i dati prima / dopo l elaborazione. La consolle deve essere utilizzata per chiedere all utente di inserire dati o parametri di elaborazione, e per fornire all utente l output dell elaborazione. 5

PROGETTO ASSEMBLY -SPECIFICHE Il progetto sarà dunque composto da: Progetto.asm -> file assembly con il codice del progetto scritto dallo studente; Relazione -> file.doc o.pdf con relazione di progetto. Questi due file, compressi in formato.rar o.zip, verranno inviati al docente per e-mail. Nome del file.rar /.zip: Progetto Assembly <Cognome Nome Matricola>.rar (ad esempio, "Progetto Assembly Fabio Rossi 123456.rar"). 6

PROGETTO ASSEMBLY -VALUTAZIONE Verrà valutata in primis la corretta funzionalità del codice. In presenza di errori di funzionamento (crash, risultati inattesi,...) il progetto non verrà valutato. Codice non commentato in maniera esauriente NON verrà valutato. Esempio di codice correttamente commentato: # Read number 1 ($t1) li $v0, 4 # Select print_string la $a0, string2 # $a0 contains the address of string1 syscall # launch print_string li $v0, 5 # Select read_int syscall # launch read_ int (in $v0) add $t1, $v0, $zero # $t1 = $v0 # Read number 2 ($t2) li $v0, 4 # Select print_string la $a0, string2 # $a0 contains the address of string1 syscall # launch print_string li $v0, 5 # Select read_int syscall # launch read_int (in $v0) add $t2, $v0, $zero # $t2 = $v0 7

PROGETTO ASSEMBLY -VALUTAZIONE Esempio di codice non correggibile: li $v0, 4 # $v0 = 4 la $a0, string2 syscall li $v0, 5 #$v0= 5 syscall add $t1, $v0, $zero # $t1 = $v0 li $v0, 4 #$v0=4 la $a0, string2 syscall li $v0, 5 # $v0 = 5 syscall add $t2, $v0, $zero # $t2 = $v0 8

PROGETTO ASSEMBLY -VALUTAZIONE Verranno valutati positivamente: Il corretto utilizzo dei registri (saved / temporary / reserved /...); L ottimizzazione nell utilizzo dei registri; Il corretto utilizzo dello stack per la chiamata delle procedure; L ottimizzazione nell uso dello stack; La completezza dell informazione fornita all utente tramite la consoce riguardo l eccezione verificatesi; La semplicità del codice; La semplicità d uso dell interfaccia; La chiarezza e l esaustività della relazione. 9

ESEMPIO 1 DATABASE STUDENTI In memoria vengono collocate le informazioni relative ad un certo numero di studenti (nome, cognome, matricola,...); Possibilità di visualizzare la lista degli studenti; Possibilità di ordinare la lista degli studenti, ad esempio per numero di matricola, mediante una procedura ricorsiva; (Possibilità di accedere all i-esimo studente della lista); (Possibilità di ordinare gli studenti secondo altri criteri);... 10

ESEMPIO 2 SERIE NUMERICA Codice ricorsivo per il calcolo di un serie numerica floating point o intera; Inserimento di parametri della serie da parte dell utente (es. numero elementi, altri parametri della serie,...) Immagazzinamento in memoria dei dati della serie; Possibilità di visualizzare i dati della serie, dalla posizione i-esima alla posizione j-esima;... 11

ESEMPIO 3 CHE GIORNO ERA? All utente viene chiesto di inserire una o più date, viene inoltre chiesto di specificare la data odierna e il giorno della settimana odierno. Procedura ricorsiva per il calcolo del giorno della settimana corrispondente alla data inserita. Utilizzo della memoria per contenere il numero di giorni per ogni mese dell anno. Si considerano anni bisestili tutti quelli divisibili per 4. (Eccezioni agli anni bisestili)... 12

PROSSIMA ESERCITAZIONE In aula per l approvazione dei progetti. In aula per chiarimenti. In aula per la scrittura del progetto. 13