Sistemi di Calcolo

Corso di Laurea in Ingegneria Informatica e Automatica - A.A. 2017-2018

HomePage | Avvisi | Diario lezioni | Programma | Materiale didattico | Esami | Forum | Login

Revision [1125]

Last edited on 2015-10-21 14:56:24 by CamilDemetrescu
Additions:
~- digitare ##sudo apt-get install gcc-multilib##, inserire la password amministratore ##biar## e dare conferma
Deletions:
~- digitare ##apt-get install gcc-multilib##, inserire la password amministratore ##biar## e dare conferma


Revision [1123]

Edited on 2015-10-21 05:49:13 by CamilDemetrescu
Additions:
Si noti l'opzione ##-m32## che serve per generare codice IA32 in un sistema operativo a 64 bit.
Deletions:
Si noti l'opzione ##-m32## che serve per generare codice IA32.


Revision [1122]

Edited on 2015-10-21 05:43:34 by CamilDemetrescu
Additions:
==Soluzioni==
Le soluzioni dell'esercitazione sono [[http://www.dis.uniroma1.it/~sc/upload/esercitazioni/SC1-151020-Eserc1.zip qui (file zip, 5.3 KB)]].


Revision [1119]

Edited on 2015-10-20 13:27:38 by CamilDemetrescu
Additions:
# int a = 5; // usiamo nomi delle variabili corrispondenti ai registri che useremo in IA32
~& Suggerimento: per accedere ai parametri IA32, si suggerisce di copiarne il contenuto in registri.
Deletions:
# int a = 5; // usiamo nomi delle variabili per indicare i registri che useremo in IA32


Revision [1118]

Edited on 2015-10-20 13:01:59 by CamilDemetrescu
Additions:
~& Suggerimento: si usi il seguente approccio. Si traduca dapprima il programma C originale in un programma C equivalente in cui tutte le operazioni aritmetiche hanno la forma D = D op S. Si traduca poi questo programma C equivalente in IA32. Si suggerisce di inserire per comodità i programmi C da tradurre direttamente nel modulo ##.s## in forma di commento come segue (usando la sintassi: # commento):
# Programma C originale:
# int es2() {
# return 5*6-2*7-1;
# }
# Programma C equivalente:
# int es2() {
# int a = 5; // usiamo nomi delle variabili per indicare i registri che useremo in IA32
# a = a * 6;
# int c = 2;
# c = c * 7;
# a = a - c;
# a = a - 1;
# return a;
# }
.globl es2
es2:
...
ret
Deletions:
~& Suggerimento: si usi il seguente approccio. Si traduca dapprima il programma C originale in un programma C equivalente in cui tutte le operazioni aritmetiche hanno la forma D = D op S. Si traduca poi questo programma C equivalente in IA32. Si suggerisce di inserire per comodità i programmi C da tradurre direttamente nel modulo ##.s## in forma di commento come segue:
#


Revision [1117]

Edited on 2015-10-20 12:57:30 by CamilDemetrescu
Additions:
~& Suggerimento: si usi il seguente approccio. Si traduca dapprima il programma C originale in un programma C equivalente in cui tutte le operazioni aritmetiche hanno la forma D = D op S. Si traduca poi questo programma C equivalente in IA32. Si suggerisce di inserire per comodità i programmi C da tradurre direttamente nel modulo ##.s## in forma di commento come segue:
#
Deletions:
~& Suggerimento: si usi il seguente approccio. Si traduca dapprima il programma C originale in un programma C equivalente in cui tutte le operazioni aritmetiche hanno la forma D = D op S. Si traduca poi questo programma C equivalente in IA32.


Revision [1114]

Edited on 2015-10-20 11:39:54 by CamilDemetrescu
Additions:
In quest'aula lavoreremo con l'installazione nativa di Linux Debian.
In quest'aula lavoreremo con Linux LXLE nella VM Oracle Virtualbox BIAR.
Deletions:
Selezionare ##Sistema -> Oracle VM Virtualbox## dal menu delle applicazioni. Chiudere questa pagina e avviare ##LXLE-BIAR##, la VM di riferimento per il corso. **Riaprire questa pagina in LXLE**, continuando da lì.


Revision [1113]

Edited on 2015-10-20 11:36:38 by CamilDemetrescu
Additions:
Selezionare ##Sistema -> Oracle VM Virtualbox## dal menu delle applicazioni. Chiudere questa pagina e avviare ##LXLE-BIAR##, la VM di riferimento per il corso. **Riaprire questa pagina in LXLE**, continuando da lì.
Deletions:
Selezionare ##Sistema -> Oracle VM Virtualbox## dal menu delle applicazioni. Chiudere questa pagina e avviare ##LXLE-BIAR##, la VM di riferimento per il corso. Riaprire questa pagina in LXLE**, continuando da lì.


Revision [1112]

Edited on 2015-10-20 11:35:57 by CamilDemetrescu
Additions:
Selezionare ##Sistema -> Oracle VM Virtualbox## dal menu delle applicazioni. Chiudere questa pagina e avviare ##LXLE-BIAR##, la VM di riferimento per il corso. Riaprire questa pagina in LXLE**, continuando da lì.
Deletions:
Dal menu delle applicazioni, selezionare ##Sistema -> Oracle VM Virtualbox## e avviare ##LXLE-BIAR##, la VM di riferimento per il corso. Chiudere il browser e riaprire questa pagina in LXLE, continuando da lì.


Revision [1111]

Edited on 2015-10-20 11:33:26 by CamilDemetrescu
Additions:
~- digitare ##apt-get install gcc-multilib## e dare conferma
Dal menu delle applicazioni, selezionare ##Sistema -> Oracle VM Virtualbox## e avviare ##LXLE-BIAR##, la VM di riferimento per il corso. Chiudere il browser e riaprire questa pagina in LXLE, continuando da lì.
~- digitare ##apt-get install gcc-multilib##, inserire la password amministratore ##biar## e dare conferma
Deletions:
~- digitare ##apt-get install gcc-multilib## e dare conferma con s
Dal menu delle applicazioni, selezionare ##Sistema -> Oracle VM Virtualbox## e avviare ##LXLE-BIAR##, la VM di riferimento per il corso.
~- digitare ##apt-get install gcc-multilib##, inserire la password amministratore ##biar## e dare conferma con y


Revision [1110]

Edited on 2015-10-20 11:29:42 by CamilDemetrescu
Additions:
Prima di iniziare l'esercitazione, si prega di riempire il ""questionario anonimo"" sul primo anno del corso di laurea in Ingegneria Informatica e Automatica.
Deletions:
Prima di iniziare l'esercitazione, si prega di riempire il [[https://docs.google.com/a/dis.uniroma1.it/forms/d/1hphxisuAUQYHcblzI2jojQ1waoS_StrZbiZVuwNaaT4/viewform questionario anonimo]] sul primo anno del corso di laurea in Ingegneria Informatica e Automatica.


Revision [1109]

Edited on 2015-10-20 11:27:09 by CamilDemetrescu
Additions:
Consultare il ""capitolo 4"" della dispensa per una descrizione delle istruzioni IA32. Si ricordi che il valore di ritorno di una funzione è nel registro A e che è possibile usare liberamente come se fossero variabili solo i registri A, C e D. Si tenga presente inoltre che l'istruzione prodotto ##imul## deve avere come destinazione necessariamente un registro.
Deletions:
Consultare il ""capitolo 4"" della dispensa per una descrizione delle istruzioni IA32. Si ricordi che il valore di ritorno di una funzione è nel registro A e che è possibile usare liberamente come se fossero variabili solo i registri A, C e D. Si tenga presente inoltre che l'istruzione prodotto ##imul## deve avere come destinazione necessariamente un registro.


Revision [1108]

Edited on 2015-10-20 11:26:31 by CamilDemetrescu
Additions:
Consultare il ""capitolo 4"" della dispensa per una descrizione delle istruzioni IA32. Si ricordi che il valore di ritorno di una funzione è nel registro A e che è possibile usare liberamente come se fossero variabili solo i registri A, C e D. Si tenga presente inoltre che l'istruzione prodotto ##imul## deve avere come destinazione necessariamente un registro.
Deletions:
Consultare il ""capitolo 4"" della dispensa per una descrizione delle istruzioni IA32. Si ricordi che il valore di ritorno di una funzione è nel registro A e che è possibile usare liberamente come se fossero variabili solo i registri A, C e D. Si tenga presente inoltre che l'istruzione prodotto ##imul## deve avere come destinazione necessariamente un registro.


Revision [1107]

Edited on 2015-10-20 11:25:43 by CamilDemetrescu
Additions:
Consultare il ""capitolo 4"" della dispensa per una descrizione delle istruzioni IA32. Si ricordi che il valore di ritorno di una funzione è nel registro A e che è possibile usare liberamente come se fossero variabili solo i registri A, C e D. Si tenga presente inoltre che l'istruzione prodotto ##imul## deve avere come destinazione necessariamente un registro.
Deletions:
Consultare il [[https://docs.google.com/document/d/1t04FOA9a3FHy7GHF5jQBS-py5o4ITUzXTNyRaFawkoA/edit#heading=h.1czqy5i63glj capitolo 4]] della dispensa per una descrizione delle istruzioni IA32. Si ricordi che il valore di ritorno di una funzione è nel registro A e che è possibile usare liberamente come se fossero variabili solo i registri A, C e D. Si tenga presente inoltre che l'istruzione prodotto ##imul## deve avere come destinazione necessariamente un registro.


Revision [1104]

Edited on 2015-10-20 11:07:35 by CamilDemetrescu
Additions:
$ mkdir /home/biar/Desktop/sc1516
$ cd /home/biar/Desktop/sc1516


Revision [1103]

Edited on 2015-10-20 11:02:44 by CamilDemetrescu
Additions:
~- digitare ##apt-get update##
Dal menu delle applicazioni, selezionare ##Sistema -> Oracle VM Virtualbox## e avviare ##LXLE-BIAR##, la VM di riferimento per il corso.
~- digitare ##apt-get install gcc-multilib##, inserire la password amministratore ##biar## e dare conferma con y
Deletions:
TBA


Revision [1101]

Edited on 2015-10-20 10:35:31 by CamilDemetrescu
Additions:
Il primo comando crea un file vuoto chiamato ##hello.c##. Il secondo apre l'editor di testo ##geany##. Si noti l'& alla fine della riga, che serve per lanciare il programma "in background". Se omettiamo l'& e ##geany## non è già aperto, il terminale si blocca finché non viene chiuso ##geany##. Osserviamo che usando la **freccia su** si riprendono **comandi precedentemente inseriti** nel terminale. Inoltre, con il tasto **tabulazione** (TAB) si ha **autocompletamento** dei nomi di file e directory nel terminale.
Deletions:
Il primo comando crea un file vuoto chiamato ##hello.c##. Il secondo apre l'editor di testo ##geany##. Si noti l'& alla fine della riga, che serve per lanciare il programma "in background". Se omettiamo l'&, il terminale si blocca finché non viene chiuso ##geany##. Osserviamo che usando la **freccia su** si riprendono **comandi precedentemente inseriti** nel terminale. Inoltre, con il tasto **tabulazione** (TAB) si ha **autocompletamento** dei nomi di file e directory nel terminale.


Revision [1100]

Edited on 2015-10-20 10:34:04 by CamilDemetrescu
Additions:
Il primo comando crea un file vuoto chiamato ##hello.c##. Il secondo apre l'editor di testo ##geany##. Si noti l'& alla fine della riga, che serve per lanciare il programma "in background". Se omettiamo l'&, il terminale si blocca finché non viene chiuso ##geany##. Osserviamo che usando la **freccia su** si riprendono **comandi precedentemente inseriti** nel terminale. Inoltre, con il tasto **tabulazione** (TAB) si ha **autocompletamento** dei nomi di file e directory nel terminale.
Deletions:
Il primo comando crea un file vuoto chiamato ##hello.c##. Il secondo apre l'editor di testo ##geany##. Si noti l'& alla fine della riga, che serve per lanciare il programma "in background". Se omettiamo l'&, il terminale si blocca finché non viene chiuso ##geany##. Si noti che usando la freccia su si riprendono comandi precedentemente inseriti nel terminale. Inoltre, con il tasto tabulazione (TAB) si ha autocompletamento dei nomi di file e directory nel terminale.


Revision [1099]

Edited on 2015-10-20 10:32:59 by CamilDemetrescu
Additions:
Il primo comando crea un file vuoto chiamato ##hello.c##. Il secondo apre l'editor di testo ##geany##. Si noti l'& alla fine della riga, che serve per lanciare il programma "in background". Se omettiamo l'&, il terminale si blocca finché non viene chiuso ##geany##. Si noti che usando la freccia su si riprendono comandi precedentemente inseriti nel terminale. Inoltre, con il tasto tabulazione (TAB) si ha autocompletamento dei nomi di file e directory nel terminale.
Deletions:
Il primo comando crea un file vuoto chiamato ##hello.c##. Il secondo apre l'editor di testo ##geany##. Si noti l'& alla fine della riga, che serve per lanciare il programma "in background". Se omettiamo l'&, il terminale si blocca finché non viene chiuso ##geany##.


Revision [1096]

The oldest known version of this page was created on 2015-10-20 10:26:11 by CamilDemetrescu
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki
Page was generated in 0.0820 seconds