Lezione Uno: Il linguaggio Assembly e i metodi di indirizzamento (libro di testo pag )

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione Uno: Il linguaggio Assembly e i metodi di indirizzamento (libro di testo pag )"

Transcript

1 Ud6: Linguaggio Assembly Lezione Uno: Il linguaggio Assembly e i metodi di indirizzamento (libro di testo pag ) Caratteristiche di un linguaggio Assembly Basso livello Diverso per ogni architettura (perché corrispondente al linguaggio macchina...e ogni architettura ha il suo set di istruzioni macchina) Corrispondenza di 1 a 1 tra istruzioni in linguaggio macchina e istruzioni in linguaggio assembly... un'istruzione macchina corrisponde esattamente ad un istruzione in assembly e viceversa Stesso formato istruzioni: ETCHETTA: OPERAZIONE OPERANDI Facilitazioni che l'asssembly mette a disposizione rispetto al linguaggio macchina L'operazione viene indicata con un codice mnemonico e non binario ( ADD non 1001) Si possono dare nomi alle variabili e quindi riferirsi a locazioni in memoria attraverso un nome e non solo attraverso un indirizzo Si possono utilizzare etichette (nomi simbolici) per indicare i punti di arrivo delle istruzioni di salto. Formato istruzione: ETCHETTA: OPERAZIONE OPERANDI Etichetta: Utilizzata come punto di arrivo nelle istruzioni di salto al posto dell'indirizzo binario Operazione: Parola chiave che identifica l'istruzione (ADD somma, JMP Salto incodizionato,.) Operando/i: Il valore o i valori su cui si effettua l'operazione. Al seconda del metodo di indirizzamento utilizzato un operando può indicare: 1. Un valore costante 2. Il nome di una variabile 3. Il riferimento ad un registro 4. Il nome di una variabile che contiene l'indirizzo in memoria METODI DI INDIRIZZAMENTO Indirizzamento immediato L'istruzione contiene già l'operando (fornito come costante). Ovviamente l'eventuale operando destinazione non può mai essere fornito con questo tipo di indirizzamento. I valori costanti possono venir specificati in binario (b), ottale (o), decimale (d) o esadecimale (h). Quando si specifica un valore, quindi, è necessario indicare in che base bisogna considerarlo aggiungendo la lettera corrispondente.

2 Esempi 34d significa 34 in decimale 101b significa 101 i binario ecc. Indirizzamento tramite registro L'istruzione contiene il nome del registro che funge da operando. I registri utilizzabili sono a 8 bit o a 16 bit. Registri a 8 bit: AL, AH, BL, BH, CL, CH, DL, DH Prendendo a coppie i registri a 8 bit si possono formare dei registri a 16 bit AX (AHAL), BX (BHBL), CX (CHCL), DX (DH,DL) Esempio MOV AL,15d Salva nel registro AL al il valore 15. In questa istruzione ci sono due operandi; il primo è passato con indirizzamento tramite registro il secondo con indirizzamento immediato Indirizzamento diretto L'istruzione indica il nome della variabile che funge da operando. In un'istruzione non si possono mai fornire entrambi gli operandi con l'indirizzamento diretto Esempio. Supponiamo che la variabile var1 sia di 8 bit, sia stata dichiarata e che contenga il valore 17d; l'operazione MOV AL, VAR1 ha il primo operando AL specificato per indirizzamento tramite registro ha il secondo operando VAR1 specificato per indirizzamento diretto ha l'effetto di copiare il valore contenuto in var1 (17d) anche nel registro AL Indirizzamento indiretto L'istruzione contiene il nome della variabile che contiene l'indirizzo di memoria in cui si può trovare l'operando. Indirizzamento implicito Alcune operazioni (per esempio la divisione) assumono che un operando si trovi sempre nello stesso registro e quindi non viene specificato Lezione Due: Le Istruzioni Base e la dichiarazione delle variabili (libro di testo pag e ) Dichiarazione di variabili Nome_variabile DB (valore) Nome_variabile DW )valore) La differenza tra le 2 dichiarazioni è che per la prima, tipo byte, vengono riservati in memoria 1 byte; mentre per la seconda, tipo word, vengono riservati in memoria 2 byte. Il valore, sia nel tipo byte sia word, può essere: costante binaria: Es: b costante decimale: Es: 123d costante ottale: Es: 47o costante esadecimale: Es: A4Fh senza inizializzarla: Es:?

3 Istruzione di trasferimento MOV destinazione, sorgente Copia i dati o gli indirizzi di 8 o 16 bit dalla sorgente alla destinazione (destinazione = sorgente in un linguaggio ad alto livello) destinazione non può essere fornito con indirizzamento immediato destinazione e sorgente devono avere la stessa dimensione sorgente e destinazione non devono essere entrambe fornite per indirizzamento diretto ISTRUZIONI ARITMETICHE Addizione ADD destinazione, sorgente destinazione=destinazione+sorgente Le stesse dell'istruzione MOV Addizione con riporto ADC destinazione, sorgente destinazione=destinazione+sorgente+bit di carry Le stesse dell'istruzione MOV Sottrazione SUB destinazione, sorgente destinazione=destinazione-sorgente Le stesse dell'istruzione MOV Sottrazione con riporto SBB destinazione, sorgente destinazione=destinazione-sorgente-bit di carry Le stesse dell'istruzione MOV Moltiplicazione

4 MUL fattore Se fattore ha 8 bit AX = AL * fattore Se fattore ha 16 bit DXAX = AX * fattore Fattore non può essere fornito con indirizzamento immediato Divisione DIV dividendo Se dividendo ha 8 bit AH = resto di AX/dividendo AL = quoziente di AX/dividendo Se dividendo ha 16 bit DX = resto di DXAX/dividendo AX = quoziente di DXAX/dividendo Limitazioni Le stesse di Mul Lezione Tre: L'input/output Il linguaggio Assembly non prevede istruzioni per la visualizzazione e l acquisizione dei caratteri e quindi sarebbero necessari dei programmi in Assembly stesso molto complicati. Per ovviare a tale inconveniente ( e aggiungerei per fortuna!) possiamo utilizzare le funzioni libreria di DOS che sono richiamabili attraverso l istruzione: L istruzione int 21h permette di richiamare diversi servizi del dos tra cui: l input e l output di CARATTERI (servizi 01 e 02) invio di un carattere sulla stampante (servizio 05) Visualizzazione di una stringa (servizio 09) Acquisizione di una stringa (servizio 10) Prima di invocare l istruzione è necessario mettere nel registro AH il numero del servizio che si intende utilizzare Input di un carattere (servizio 01) Il servizio 01 attende un carattere dallo standard input, lo visualizza sul video e copia il codice ASCII del carattere inserito nel registro AL. Per invocare questo servizio è necessario salvare il valore 01d nel registro AH prima di chiamare INT21H. L acquisizione di un carattere è dunque eseguita dalle seguenti istruzioni assembly

5 Mov ah,01h Int 21h Dopo queste due istruzioni in AL si trova il codice ASCII del carattere inserito che, ovviamente, andrà copiato (con MOV) in qualche altro registro o in qualche variabile prima di eseguire la prossima acquisizione. Output di un carattere (servizio 02) Il servizio 02 stampa su video il carattere il cui codice ASCII è contenuto in AL. Per invocare questo servizio è necessario salvare il valore 02d nel registro AH ed il codice ASCII del carattere che si vuole stampare nel registro AL prima di chiamare INT21H. L acquisizione di un carattere è dunque eseguita dalle seguenti istruzioni assembly Mov ah,02h Mov AL,codice carattere da stampare Int 21h Dopo queste tre istruzioni viene visualizzato il carattere con codice ASCII contenuto in AL. Esempi: Visualizzazione sullo schermo di un punto di domanda e uno spazio bianco: MOV AL, 63d MOV AH, 02h MOV AL, 32d MOV AH, 02h Passaggio alla riga successiva con inizio a capo della riga: MOV AL, 10d MOV AH, 02h MOV AL, 13d MOV AH, 02h Acquisizione di un dato MOV AH, 01h MOV Var, AL Input di numeri Purtroppo non esiste un servizio del DOS che consenta di acquisire in input numeri decimali; per realizzare tale scopo è indispensabile convertire i codici ASCII inseriti, che corrispondono alle cifre che compongono il numero, nel numero decimale corrispondente. Il problema è semplice nel caso di numeri ad una cifra in quanto le cifre decimali occupano posizioni adiacenti nella tabella dei codi ASCII ed in particolare: Carattere Codice ASCII

6 0 48 (0+48) 1 49 (1+48) 2 50 (2+48) 3 51 (3+48) 4 52 (4+48) 5 53 (5+48) 6 54 (6+48) 7 55 (7+48) 8 56 (8+48) 9 57 (9+48) Se, dunque, si vuole convertire il codice ASCII della cifra inserita (contenuta in AL) nel corrispondente numero decimale ad una cifra è sufficiente sottrarre 48 ;Selezionare il servizio di acquisizione carattere mettendo 02 nel registro AH MOV AH,01d ;Invocare l int 21h Int 21h ;Sottrarre al contenuto di AL 48 per trasformare la codifica ASCII nel numero ad una ;cifra corrispondente SUB AL,48d ;Salvo in Var il numero mov var,al Risulta ovviamente più complessa l acquisizione di un numero a due cifre. Il procedimento di acquisizione di un numero a due cifre può essere diviso nelle seguenti fasi Acquisizione del codice ASCII della cifra che costituisce le decine Trasformazione del codice ASCII in cifra sottraendo 48d Moltiplicare per dieci il valore ottenuto. Per far questo devo Mettere in AL uno dei due fattori (il valorew ottenuto al passo precedente) Mettere 10 in un registro qualsiasi Eseguire MUL passando come operando il registro in cui ho messo 10. <il risultato sarà in AX ma poiché sarà minore di 255 AH sarà composto di zeri quindi la parte significativa del risultato è in AL Salvare temporaneamente il valore del numero senza le unità (contenuto in AX come da specifiche moltiplicazione) nella variabile o in un altro registro Acquisizione del codice ASCII della cifra che costituisce le unità Trasformazione del codice ASCII in cifra sottraendo 48d Sommarlo al valore ottenuto precedentemente e salvare il risultato nella variabile Il codice risulta dunque essere

7 ;Leggo il codice ASCII delle decine (passo1) mov ah,01h int 21h ;in AL ho il codice ASCII del carattere delle decine ;sottraggo 48 per ottenere la cifra (passo 2) sub al,48d ;moltiplico le decine per 10 (passo 3) mov ah,00d mov bl, 10d mul bl ; salvo il valore ottenuto (passo 4) mov var,al ;Leggo il codice ASCII delle unità (passo 5) mov ah,01h int 21h ;in AL ho il codice ASCII del carattere delle unità ;sottraggo 48 per ottenere la cifra e salvo il risultato nella variabile unità (passo 6 e 7) sub al,48d add var, al Nel caso di numeri a tre cifre il problema si risolve in modo analogo aggiungendo la lettura delle centinaia (che andranno moltiplicate per cento) e facendo attenzione che potrebbero servire 16 bit per contenere il numero inserito. Output di numeri Purtroppo non esiste un servizio del DOS che consenta di visualizzare numeri decimali; per realizzare tale scopo è indispensabile convertire il numero decimale che si vuole visualizzare nei codici ASCII delle cifre che lo compongono e viceversa. Il problema è semplice nel caso di numeri ad una cifra in quanto le cifre decimali occupano posizioni adiacenti nella tabella dei codi ASCII ed in particolare: Carattere Codice ASCII 0 48 (0+48) 1 49 (1+48) 2 50 (2+48) 3 51 (3+48) 4 52 (4+48) 5 53 (5+48) 6 54 (6+48) 7 55 (7+48) 8 56 (8+48) 9 57 (9+48)

8 Se, dunque, si vuole stampare il contenuto del numero minore di dieci contenuto nella variabile var bisogna: ;Spostarlo nel registro AL per prepararsi alla stampa mov AL, var ;Aggiungere al contenuto di DL 48 per trasformare il numero nella codifica ASCII ;della cifra corrispondente ADD AL,48d ;Selezionare il servizio di stampa mettendo 02 nel registro AH MOV AH,02d ;Invocare l int 21h Int 21h Risulta ovviamente più complessa la stampa di un numero a due cifre. Il procedimento di stampa di un numero a due cifra può essere diviso nelle seguenti fasi 1. Divisione del numero da stampare per 10. Questo primo passo richiede a) Spostamento del dividendo (numero da stampare) in AL b) Azzeramento del registro AH in quanto il dividendo di una divisione è tutto AX c) Spostamento del divisore (10) in un registro d) Divisione per il registro in cui si è messo il divisore 2. Salvataggio in qualche registro delle Unità costituite dal resto della divisione e contenute (come da specifiche della divisione) in AH 3. Conversione della cifra delle decine (contenuta in AL) in carattere ASCII sommando Selezionare il servizio di stampa mettendo 02 in AH 5. Invocare int 21h per stampare le decine 6. Spostare le unità precedentemente salvare in AL 7. Conversione della cifra delle unità (contenuta ORA in AL) in carattere ASCII sommando Selezionare il servizio di stampa mettendo 02 in AH 9. Invocare int 21h per stampare le decine Il codice risulta, dunque essere il seguente: ;Metto il numero a due cifre da stampare in al in quanto dovrò dividerlo ;per dieci ed il dividendo va in AX (passo 1a) mov al,ris ;Azzero AH in quanto il dividendo è tutto AX (passo 1b) mov ah,00d ;Metto in BL 10d (divisore) (passo 1c) mov bl, 10d ;divido per 10 (passo 1d) div bl

9 ;adesso in ah ho il resto delle divisione (unità) ed in AL il quoziente (centinaia) ; salvo in qualche registro (DL) le unità mov dl, AH ;Adesso ho decine in AL e unità in DL non devo far altro che stamparli, uno alla volta ;ricordandomi di convertirli nel rispettivo codice ascii sommando 48 ;stampo le decine (passi 3, 4, 5) add al,48d mov ah,02h int 21h ;stampo le unita (passi 6,7,8,9) mov al,dl add al,48d mov ah,02h int 21h Lezione Quattro: Istruzioni di salto e simulazioni costrutti di selezione e iterativo (libro di testo pagina ) Salto incodizionato JMP etchetta La prossima istruzione che verrà eseguita non sarà quella che segue ma quella posizionata dopo la scritta etichetta: Confronto CMP op1, op2 Setta opportunamente i registri di stato in modo da memorizzare se: op1>op2 op1>=op2 op1=op2 op1<>op2 op1<=op2 op1<op2 op1 e op2 devono avere la stessa dimensione op1 e op2 non devono essere entrambe fornite per indirizzamento diretto Salto codizionato Jxx etichetta

10 dove xx sono una o due lettere che verranno specificate di seguito che indicano in che condizione saltare. L'istruzione di salto condizionato deve essere preceduta da un CMP op1,op2 possibili condizioni: JE salta se op1 = op2 JNE salta se op1<> op2 JA salta se op1>op2 JAE salta se op1>= op2 JB salta se op1< op2 JBE salta se op1<op2 Effetto Se la condizione è rispettata si salta a etichetta altrimenti si esegue l'istruzione seguente Simulazione del costrutto IF in assembly Supponiamo di voler simulare il seguente programma C if(var1>var2){ ist1 ist2 } else{ ist3 ist4 } ist5 ;per prima cosa devo confrontare var1 con var2 ma poiché l'istruzione cmp non ammette due operandi con indirizzamento indiretto devo spostare una delle due (var1) in un registro (per esempio al) MOV AL,var1 CMP AL,var2 ;se la condizione è rispettata (cioè se al>var2) altrimenti devo eseguire ist3 e ist4 JA allora ;se var1 non è maggiore di var2 JA non esegue il salto e prosegue quindi qui devo mettere le istruzioni da eseguire quando la condizione non è rispettata (ist3 e ist4) mentre, successivamente e dopo l'etichetta allora: scrivero le istruzioni ist1 e ist2 IST3 IST4 ;a questo punto devo andare alla fine dell'if altrimenti eseguirei tutte e due le parti (then e else) JMP fine allora: ;qui è il punto in cui salterà la precedente istruzione JA quindi bisogna mettere le istruzioni ist1 e ist2

11 IST1 IST2 ;a questo punto si mette l'etichetta di fine della struttura fine: IST5 Simulazione del costruttowhile in assembly Supponiamo di voler simulare il seguente programma C while(var1>var2){ ist1 ist2 } ist3 ;come prima operazione devo mettere un'etichetta di inizio ciclo ciclo: ;prima di eseguire il corpo devo confrontare var1 con var2 ma poiché l'istruzione cmp non ammette due operandi con indirizzamento indiretto devo spostare una delle due (var1) in un registro (per esempio al) MOV AL,var1 CMP AL,var2 ;se la condizione non è rispettata (cioè se al<=var2) devo uscire dal ciclo quindi salto ad un etichetta che metterò alla fine JBE fine ;se non sono uscito dal ciclo eseguo il suo corpo (ist1 e ist2) e poi salto in modo incodizionato in testa (etichetta ciclo) al fine di ri testare la condizione IST1 IST2 JMP ciclo fine: IST3

Introduzione. Architettura

Introduzione. Architettura Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione

Dettagli

not ah ; ah = F7h (247) perche' il complemento a 1 di 8 ( )

not ah ; ah = F7h (247) perche' il complemento a 1 di 8 ( ) ESERCIZIO 1 Programma di calcoli aritmetici e logici ; locazione origine del seguente codice mov ax,24 ; ax = 24 mov cx,0ah ; cx = 10 div cx ; dx = 4 (resto) e ax = 2 (quoziente) mov al, 4 ; al = 4 mov

Dettagli

LA CPU INTEL Vantaggi dei programmi Assembly

LA CPU INTEL Vantaggi dei programmi Assembly 1 LA CPU INTEL 8086 Vantaggi dei programmi Assembly L utilizzo del linguaggio Assembly anzichè di un linguaggio ad alto livello (tipo C o Pascal) è talvolta giustificato dalla maggiore efficienza del codice;

Dettagli

1.1.1 Esercizio conta le occorrenze di un carattere in una stringa

1.1.1 Esercizio conta le occorrenze di un carattere in una stringa 1.1.1 Esercizio conta le occorrenze di un carattere in una stringa Scrivere un programma che legge una stringa di memoria lunga un numero arbitrario di caratteri (ma terminata da \0), inserita in un buffer

Dettagli

Programmazione in linguaggio assembly per architetture Intel 8088

Programmazione in linguaggio assembly per architetture Intel 8088 Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it

Dettagli

)21'$0(17,',,1)250$7,&$,,

)21'$0(17,',,1)250$7,&$,, )21'$0(17,',,1)250$7,&$,, (6(5&,7$=,21(Qƒ,//,1*8$**,2$66(0%/(5 Indicare (in binario) lo stato dei flag C, O, S, Z, P e del registro AH dopo l esecuzione delle due MOV AH, 70 ADD AH, 70 La prima istruzione

Dettagli

Processore Danilo Dessì. Architettura degli Elaboratori.

Processore Danilo Dessì. Architettura degli Elaboratori. Processore 888 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it 888 L 888 è un processore che è stato progettato dalla Intel nel periodo 1978/1979 La sua architettura è simile a quella

Dettagli

Breve guida AL LINGUAGGIO ASSEMBLY (emulatore EMU8086)

Breve guida AL LINGUAGGIO ASSEMBLY (emulatore EMU8086) PROF. CARMELO CALARCO Breve guida AL LINGUAGGIO ASSEMBLY (emulatore EMU8086) 1 IL LINGUAGGIO ASSEMBLY Il linguaggio assembly è un linguaggio di programmazione a basso livello. Per linguaggi di basso livello

Dettagli

Esercizi per il corso di Architettura dei Calcolatori. Anno accademico 2008/09. Si prevede l utilizzo dell emulatore Eniac ( presentato a lezione )

Esercizi per il corso di Architettura dei Calcolatori. Anno accademico 2008/09. Si prevede l utilizzo dell emulatore Eniac ( presentato a lezione ) Esercizi per il corso di Architettura dei Calcolatori Anno accademico 2008/09 Si prevede l utilizzo dell emulatore Eniac ( presentato a lezione ) 1) Caricare nel registro accumulatore AX il contenuto della

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II LE ISTRUZIONI ARITMETICHE E DI MANIPOLAZIONE DEI BIT Argomenti della lezione Le istruzioni aritmetiche Le istruzioni di manipolazione dei bit Le istruzioni aritmetiche Istruzioni

Dettagli

Nel microprocessore 8086 abbiamo una gran quantità di registri

Nel microprocessore 8086 abbiamo una gran quantità di registri I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1

Dettagli

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore CPU CPU e programmazione (Parte 1) La CPU (Central Processing Unit) e` in grado di eseguire dei programmi, cioe` sequenze di istruzioni elementari ( istruzioni macchina ) Idea fondamentale dell'architettura

Dettagli

L Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica

L Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica L Assembler 8086 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Si suddividono in: istruzioni per il calcolo binario istruzioni

Dettagli

1.1 Rappresentazione di numeri naturali ed interi

1.1 Rappresentazione di numeri naturali ed interi 1.1 Rappresentazione di numeri naturali ed interi La ALU è in grado di eseguire operazioni logiche (AND, OR, NOT, etc.) su stringhe di bit ed operazioni aritmetiche, interpretando le stringhe di bit che

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche 3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 5 LABORATORIO DI SISTEMI OGGETTO: Progettare il software per il controllo di un serbatoio, gestendone la fase di riempimento e quella di

Dettagli

I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086

I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086 I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi Elementi di Assembly 8086 1 Assembly 8086 I registri Per poter elaborare le informazioni ricevute dall esterno,

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 2 LABORATORIO DI SISTEMI OGGETTO: 1) Scrivere un programma, in linguaggio Assembly, per una CPU Intel 8086, che sommi due numeri (var_1,

Dettagli

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):

Dettagli

Aritmetica elementare

Aritmetica elementare 51 Aritmetica elementare Capitolo 2 2.1 Sistemi di numerazione............................... 52 2.1.1 Sistema decimale................................ 52 2.1.2 Sistema binario.................................

Dettagli

Casi di prova. Il problema dell ordinamento. Casi di prova. Casi di prova. Casi di prova

Casi di prova. Il problema dell ordinamento. Casi di prova. Casi di prova. Casi di prova Casi di prova Casi di prova Quando si vuole testare un algoritmo si devono costruire vari casi di prova. Invece di eseguire il programma più volte si può costruire un file di dati contenente tutti i casi

Dettagli

; ; Definizione costanti

; ; Definizione costanti 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 TITLE

Dettagli

Programmazione Assembly per 8088: Esercizi svolti

Programmazione Assembly per 8088: Esercizi svolti Programmazione Assembly per 8088: Esercizi svolti Marco Di Felice 13 dicembre 2006 1 Esercizio 1 (esercizio 1 del Tanenbaum, Appendice C) TESTO. Dopo l esecuzione dell istruzione MOV AX, 702 qual è il

Dettagli

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Campo Codice Operativo Campo Operandi K bit n-k bit n bit 1 Istruzione

Dettagli

CORSO DI ARCHITETTURA DEGLI ELABORATORI Il Processore 8088

CORSO DI ARCHITETTURA DEGLI ELABORATORI Il Processore 8088 UNIVERSITÀ DEGLI STUDI DI CAGLIARI acoltà di Scienze Corso di Laurea in Informatica CORSO DI ARCHITETTURA DEGLI ELABORATORI Il Processore 888 Danilo Dessì danilo_dessi@unica.it Processore 888 Il processore

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

jne su1 mov ah,2 add dl,48 int 21h mov ah,2 add dh,48 mov dl,dh int 21h mov ah,4ch int 21h

jne su1 mov ah,2 add dl,48 int 21h mov ah,2 add dh,48 mov dl,dh int 21h mov ah,4ch int 21h Compito in classe 3D 1) Sia dato il set di istruzioni dell ipotetica CPU studiata sul libro di testo più le istruzioni viste a lezione. Scrivere un programma che inizia alla posizione 4 di memoria e che

Dettagli

Rappresentazione dell Informazione

Rappresentazione dell Informazione Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

iafelice at cs(dot)unibo(dot)it

iafelice at cs(dot)unibo(dot)it Corso di Archite@ura degli Elaboratori Modulo di Assembly ASSEMBLY 8088 Bruno Iafelice Università di Bologna iafelice at cs(dot)unibo(dot)it 1 ArgomenE Formato delle istruzioni Indirizzamento Istruzioni

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina

Dettagli

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Prima prova intermedia - 11 Novembre 2009 Si risolvano i seguenti esercizi. Il compitino prevede un punteggio massimo di 15/14-esimi, cui andranno sommati i punti ottenuti nel

Dettagli

Parte 3. Linguaggio Macchina e Assembler

Parte 3. Linguaggio Macchina e Assembler Parte 3 Linguaggio Macchina e Assembler LINGUAGGIO MACCHINA Descriveremo una CPU MINIMA dotata di un certo insieme di istruzioni I ciascuna realizzata da un corrispondente circuito C I. Questo insieme

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch Decode Execute Program Counter controllare esegue prossima Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo

Dettagli

ARITMETICA BINARIA. La somma viene eseguita secondo le regole per la somma di due bit, di seguito riportate:

ARITMETICA BINARIA. La somma viene eseguita secondo le regole per la somma di due bit, di seguito riportate: ARITMETICA BINARIA Le operazioni che possono essere fatte sui numeri binari, sono le stesse che vengono effettuate sui numeri decimali. Due numeri binari possono essere quindi sommati, sottratti, moltiplicati

Dettagli

ESERCITAZIONE 4. Livello d architettura dell insieme di istruzioni Decodifica dell indirizzo

ESERCITAZIONE 4. Livello d architettura dell insieme di istruzioni Decodifica dell indirizzo ESERCITAZIONE 4 Livello d architettura dell insieme di istruzioni Decodifica dell indirizzo 2 Livello d architettura dell insieme di istruzioni 3 Livello d architettura dell insieme di istruzioni (1) 1)

Dettagli

04 Aritmetica del calcolatore

04 Aritmetica del calcolatore Aritmetica del calcolatore Numeri a precisione finita - con un numero finito di cifre - non godono della proprietà di chiusura - le violazioni creano due situazioni distinte: - overflow - underflow Pagina

Dettagli

Informatica teorica Lez. n 10 Macchine a registri. Macchine a registri. Prof. Giorgio Ausiello Università di Roma La Sapienza

Informatica teorica Lez. n 10 Macchine a registri. Macchine a registri. Prof. Giorgio Ausiello Università di Roma La Sapienza Macchine a registri Argomenti della lezione Macchine a registri (RAM) Costi di calcolo RAM e macchine di Turing Macchine a registri elementari Macchine a registri (RAM: Random Access Machines) Introdotte

Dettagli

Rappresentazione. Rappresentazione del testo. Rappresentare numeri. Rappresentazione delle informazioni in codice binario. Caratteri.

Rappresentazione. Rappresentazione del testo. Rappresentare numeri. Rappresentazione delle informazioni in codice binario. Caratteri. Rappresentazione delle informazioni in codice binario Rappresentazione dell Informazione Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo

Dettagli

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014 Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 17 Marzo 2014 Pseudo direttive assembly Per scrivere un programma in assembly sono necessarie alcune pseudo direttive

Dettagli

Aritmetica elementare

Aritmetica elementare 23 Aritmetica elementare Capitolo 2 2.1 Sistemi di numerazione............................... 23 2.1.1 Sistema decimale................................ 23 2.1.2 Sistema binario.................................

Dettagli

CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione

CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione UNIVERSITÀ DEGLI STUDI DICAGLIARI Facoltà di Scienze Corso di Laurea in Informatica CORSO DI ARCHITETTURA DEGLI ELABORATORI Introduzione Sistemi di Numerazione Danilo Dessì danilo_dessi@unica.it Tutor

Dettagli

Esercitazione del 09/03/ Soluzioni

Esercitazione del 09/03/ Soluzioni Esercitazione del 09/03/2006 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le

Dettagli

Esercitazione del 03/03/ Soluzioni

Esercitazione del 03/03/ Soluzioni Esercitazione del 03/03/2005 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione da base n a base 0, slide 0) a. 0 2? 0 2 Base 2 Si cominciano a contare le posizioni

Dettagli

Esercitazione del 05/03/ Soluzioni

Esercitazione del 05/03/ Soluzioni Esercitazione del 05/03/2009 - Soluzioni. Conversione binario decimale ( Rappresentazione dell Informazione Conversione in e da un numero binario, slide 0) a. 0 2? 0 2 Base 2 La posizione della cifra all

Dettagli

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly

Lezione 12. Assembly II. Set di Istruzioni MIPS Strutture di controllo in Assembly Architettura degli Elaboratori e delle Reti Lezione 12 Assembly II Set di Istruzioni MIPS Strutture di controllo in Assembly Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università

Dettagli

Confronti e salti condizionati

Confronti e salti condizionati Confronti e salti condizionati I confronti tra numeri x e y sfruttano l effetto di / x,y sui flag. Occorre ricordare che è unica, ma l effetto sui flag riflette l interpretazione unsigned o signed dei

Dettagli

Istruzioni assembler Istruzione N Registri

Istruzioni assembler Istruzione N Registri Istruzioni assembler Istruzione N Registri Aritmetica add a, b, c a = b+c addi a, b, num a = b + sub a, b, c a = b - c mul a, b, c a = b*c div a, b, c a = b/c utilizzati Descrizione 3 Somma. Somma b e

Dettagli

SISTEMI DI NUMERAZIONE

SISTEMI DI NUMERAZIONE Rev.20/10/2014 Pag.n. 1 Indice SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE SISTEMI POSIZIONALI NUMERAZIONE BINARIA CONVERSIONE BINARIO-DECIMALE (Metodo del polinomio) CONVERSIONE DECIMALE-BINARIO (Metodo

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

DEC PDP8, III Generazione, '65-'75

DEC PDP8, III Generazione, '65-'75 Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Marzo 2017

Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Marzo 2017 Lezione 2: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Marzo 2017 Pseudo direttive assembly Per scrivere un programma in assembly sono necessarie alcune pseudo direttive

Dettagli

A. Veneziani - Analisi listato con assembly in line mixato a C (C++ Builder 6) Individua se un numero e' primo e tutti i numeri primi da 1 a n

A. Veneziani - Analisi listato con assembly in line mixato a C (C++ Builder 6) Individua se un numero e' primo e tutti i numeri primi da 1 a n A. Veneziani - Analisi listato con assembly in line mixato a C (C++ Builder 6) Individua se un numero e' primo e tutti i numeri primi da 1 a n Il problema Il listato vuole mostrare un caso di utilizzo

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 5 31/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

Istruzioni di controllo del flusso

Istruzioni di controllo del flusso Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal

Dettagli

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Facendo esclusivamente uso delle istruzioni del linguaggio macchina

Dettagli

INPUT COMPUTER OUTPUT

INPUT COMPUTER OUTPUT 1) Cos è un computer? INPUT COMPUTER OUTPUT E una macchina programmabile in grado di produrre dati in output attraverso l elaborazione di dati forniti in input 2) Cos è un programma? E l elenco di istruzioni

Dettagli

Esercitazione 1 del 07/10/2011

Esercitazione 1 del 07/10/2011 Esercitazione 1 del 07/10/2011 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero indica il peso della cifra stessa, cioè il moltiplicatore da usare

Dettagli

OPERAZIONI ARITMETICHE

OPERAZIONI ARITMETICHE OPERAZIONI ARITMETICHE Merker speciali: SM1.0 risultato uguale a zero SM1.1 overflow SM1.2 risultato negativo SM1.3 divisione per zero Tabella riassuntiva (codici operativi in IL) INTERI (16 Bit) DOUBLE

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario I sistemi di numerazione Il sistema binario Altri sistemi di numerazione Algoritmi di conversione Esercizi 07/03/2012 2 Sistemi

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 29/01/07 Nota Questi lucidi sono tratti

Dettagli

Esercitazione di Reti degli elaboratori

Esercitazione di Reti degli elaboratori Esercitazione di Prof.ssa Chiara Petrioli Christian Cardia, Gabriele Saturni Cosa vedremo in questa lezione? Gli Array Gli array multidimensionali Le stringhe I puntatori Esercizi Pagina 1 Gli Array Definizione

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Moltiplicazione. Divisione. Multipli e divisori

Moltiplicazione. Divisione. Multipli e divisori Addizione Sottrazione Potenze Moltiplicazione Divisione Multipli e divisori LE QUATTRO OPERAZIONI Una operazione aritmetica è quel procedimento che fa corrispondere ad una coppia ordinata di numeri (termini

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull

Dettagli

I sistemi di numerazione e la numerazione binaria

I sistemi di numerazione e la numerazione binaria Ci sono solamente 10 tipi di persone nel mondo: chi comprende il sistema binario e chi no. Anonimo I sistemi di numerazione e la numerazione binaria 1 Sistema additivo e sistema posizionale Contare per

Dettagli

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Dettagli

Hackerando la Macchina Ridotta

Hackerando la Macchina Ridotta La macchina ridotta La Routine di Moltiplicazione Una moltiplicazione che non voleva funzionare 27 novembre 2008 La macchina ridotta La Routine di Moltiplicazione Table of contents 1 La macchina ridotta

Dettagli

Codifica. Rappresentazione di numeri in memoria

Codifica. Rappresentazione di numeri in memoria Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per

Dettagli

Struttura logica del computer (semplificata)

Struttura logica del computer (semplificata) Struttura logica del computer (semplificata) INPUT (TASTIERA) SISTEMA OPERATIVO R OUTPUT (MONITOR) A ISTRUZIONI PROGRAMMA M ZONA DATI (variabili e costanti) 21 13 45 A B C ALU UC Unità aritmetico-logica

Dettagli

Lezione 2. La conoscenza del mondo

Lezione 2. La conoscenza del mondo Lezione 2 Analogico/Digitale Il sistema binario L aritmetica binaria La conoscenza del mondo Per poter parlare (ed elaborare) degli oggetti (nella visione scientifica) si deve poter assegnare a questi

Dettagli

Elementi di Architettura

Elementi di Architettura Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di

Dettagli

Sistemi di numerazione

Sistemi di numerazione Sistemi di numerazione Numeri naturali Noi rappresentiamo i numeri con una sequenza di cifre, ad esempio 10 : 0,1,2,3,4,5,6,7,8,9, secondo una notazione posizionale. Posizionale significa che il valore

Dettagli

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per

La codifica. dell informazione. (continua) Codifica dei numeri. Codifica dei numeri. Sono stati pertanto studiati codici alternativi per La codifica dell informazione (continua) Codifica dei numeri Il codice ASCII consente di codificare le cifre decimali da 0 a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Codifica Binaria di Numeri [Sez: 2.5] Prof. De Maio Carmen cdemaio@unisa.it Binario Decimale: Riassumendo 1. Mi annoto la posizione a partire dal bit più a destra con la posizione

Dettagli

La codifica dei numeri

La codifica dei numeri La codifica dei numeri La rappresentazione dei numeri con il sistema decimale può essere utilizzata come spunto per definire un metodo di codifica dei numeri all interno degli elaboratori: la sequenza

Dettagli

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale La codifica dell informazione Il codice ASCII consente di codificare le cifre decimali da a 9 fornendo in questo modo un metodo per la rappresentazione dei numeri Il numero 324 potrebbe essere rappresentato

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Rappresentazione dell Informazione Barbara Masucci Cosa studiamo oggi Ø Un moderno elaboratore è un sistema elettronico digitale programmabile Ø Il suo comportamento è flessibile

Dettagli

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38

Dettagli

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN zkiziltan@deis.unibo.it Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN zkiziltan@deis.unibo.it Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come

Dettagli

Interazione con il DOS e il BIOS

Interazione con il DOS e il BIOS Interazione con il DOS e il BIOS ARGOMENTI PRESENTATI IN QUESTI LUCIDI Routine di BIOS e DOS Due modalità diverse di restituire il controllo al DOS L interazione con le routine del DOS: l interrupt 21H

Dettagli

Esercitazione 1 del 10/10/2012

Esercitazione 1 del 10/10/2012 Esercitazione 1 del 10/10/2012 1. Conversione binario decimale a. 1101 2? 10 1 1 2 Base 2 La posizione della cifra all interno del numero è associata al peso della cifra stessa, cioè il moltiplicatore

Dettagli

INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.

INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio. ESERCIZIO: realizzare un algoritmo (in linguaggio di

Dettagli

Sistemi di numerazione

Sistemi di numerazione SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica

Dettagli

Sistemi di numerazione

Sistemi di numerazione Istituto Tecnico Lombardo Radice Sistemi di numerazione Appunti di Informatica - Roberto De Virgilio 1 1 Regole di un sistema di numerazione I sistemi di numerazioni sono linguaggi, quindi sono un insieme

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

Dettagli