Capitolo 3 Operazioni di ingresso e uscita

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Capitolo 3 Operazioni di ingresso e uscita"

Transcript

1 Capitolo 3 Operazioni di ingresso e uscita 3.1. Per assicurare che i dati siano letti solo una volta Assumendo i registri dell interfaccia dello schermo in Figura 3.3, si può usare il seguente programma: R2, #LOC Ottieni l indirizzo LOC. R3, #DISP DATA Ottieni l indirizzo dello schermo. R4, #10 Inizializza il contatore di byte. CICLO: LoadByte R5, (R2) Carica un byte. And R6, R5, #0xF0 Seleziona i 4 bit di ordine alto. LShiftR R6, R6, #4 Scorrimento a destra di 4 bit. LoadByte R6, TABLE(R6) Carica il carattere per lo schermo. Call DISPLAY And R6, R5, #0x0F Seleziona i 4 bit di ordine basso. LoadByte R6, TABLE(R6) Carica il carattere per lo schermo. Call DISPLAY R6, #0x20 Codice ASCII per SPAZIO. Call DISPLAY Add R2, R2, #1 Incrementa il puntatore. Subtract R4, R4, #1 Decrementa il contatore di byte. Branch if [R4]>[R0] CICLO Reitera se non hai finito. prossima istruzione DISPLAY: LoadByte R7, 4(R3) And R7, R7, #4 Controlla il bit di stato DOUT. Branch if [R7]=[R0] DISPLAY StoreByte R6, (R3) Manda il carattere allo schermo. ORIGIN 0x1000 TABLE: DATABYTE 0x30,0x31,0x32,0x33 Tabella che contiene DATABYTE 0x34,0x35,0x36,0x37 i necessari DATABYTE 0x38,0x39,0x41,0x42 caratteri ASCII. DATABYTE 0x43,0x44,0x45,0x Un sottoprogramma è chiamato da un istruzione di programma al fine di eseguire una funzione necessaria al programma chiamante. Una routine di servizio delle interruzioni è avviata da un evento come un operazione di ingresso o un errore hardware. La funzione che svolge può non essere affatto correlata al programma in esecuzione al momento dell interruzione. Quindi, non deve incidere su alcun dato o informazione di stato relativi a tale programma. 1

2 3.4. Nell istruzione And il valore immediato 2 rappresenta un valore binario. Nell istruzione TestBit l operando immediato specifica uno dei 32 bit che sono identificati come bit da b 0 a b 31. Pertanto, il valore immediato 1 corrisponde a b Si assume che i registri di interfaccia per la tastiera di ogni terminale siano come mostrato in Figura 3.3. Un elenco di indirizzi di dispositivo è posto in memoria, a partire da TERMINALI, dove l indirizzo indicato nell elenco è quello di KBD DATA. I puntatori alle aree di dati sono memorizzati in un elenco, a partire da PNTR. L attività richiesta può essere realizzata utilizzando i seguenti programmi in stile CISC. SCANSIONE: R2, #76 Usa R2 come contatore di dispositivo, i. CICLO: R3, TERMINALI(R2) Carica l indirizzo del dispositivo i. TestBit 4(R3), #1 Controlla lo stato d ingresso di un dispositivo. Branch 0 PROSSIMOT Salta l operazione di lettura se non è pronto. R4, PNTR(R2) Carica il puntatore ai dati del dispositivo i. Byte (R4)+, (R3) Preleva e immagazzina il carattere in ingresso. PNTR(R2), R4 Aggiorna il puntatore in memoria. PROSSIMOT: Subtract R2, #4 Branch 0 CICLO INTERRUZIONE: Come per SCANSIONE, con la differenza che rientra dopo la lettura di un carattere. Se diversi dispositivi sono pronti allo stesso momento, la routine viene eseguita più volte in successione. Nel caso (a), SCANSIONE deve essere eseguita almeno 100 volte al secondo. Quindi T max = 10 ms. Per il caso (b) va considerato il caso in cui tutti i 20 terminali divengano pronti allo stesso tempo. Il tempo richiesto per servire l interruzione deve essere minore del ritardo fra caratteri, cioè < 1/c, ovvero c < car/s. Il tempo trascorso per servire i terminali in ogni secondo è dato da: Caso a: Tempo = s = 80µs Caso b: Tempo = 20 r = 400r µs Il caso b è una strategia migliore per r < 0, Impostare per ultimo il bit che abilita le interruzioni in PS garantisce che il processore non venga interrotto prima che abbia completato l inizializzazione di tutte le interruzioni Falso. Tutte le richieste indicate nel registro IPENDING saranno servite Sebbene questo sia fattibile, se ne darebbe senza necessità l onere al programmatore e si complicherebbe il programma. 2

3 3.9. Assumendo i registri d interfaccia dello schermo di Figura 3.3, un possibile programma in stile RISC è: R2, #BINARIO Ottieni l indirizzo BINARIO. LoadHalfword R2, (R2) Carica la sequenza di 16 bit. R3, #DISP DATA Ottieni l indirizzo dello schermo. R4, #16 Inizializza il contatore dei bit. Or R5, R0, #0x8000 Imposta a 1 il bit 15. CICLO: And R6, R2, R5 Valuta un bit. Branch if [R6]>[R0] UNO Salta se il bit è 1. R7, #0x30 Codice ASCII di 0. Branch BITOUT UNO: R7, #0x31 Codice ASCII di 1. BITOUT: Call DISPLAY LShiftR R5, R5, #1 Scorrimento al prossimo bit. Subtract R4, R4, #1 Decrementa il contatore dei bit. Branch if [R4]>[R0] CICLO Reitera se non hai finito. prossima istruzione DISPLAY: LoadByte R8, 4(R3) And R8, R8, #4 Controlla il bit di stato DOUT. Branch if [R8]=[R0] DISPLAY StoreByte R7, (R3) Invia il carattere allo schermo Assumendo i registri d interfaccia dello schermo di Figura 3.3, un possibile programma in stile CISC è: Halfword R2, BINARIO Carica la sequenza di 16 bit. R3, #15 Inizializza il contatore dei bit. CICLO: TestBit R2, R3 Valuta un bit. Branch 0 ONE Salta se il bit è 1. R4, #0x30 Codice ASCII di 0. Branch BITOUT ONE: R4, #0x31 Codice ASCII di 1. BITOUT: Call DISPLAY Subtract R3, #1 Decrementa il contatore dei bit. Branch 0 CICLO Reitera se non hai finito. prossima istruzione DISPLAY: TestBit DISP STATUS, #2 Attendi che lo schermo sia pronto. Branch=0 DISPLAY Byte DISP DATA, R4 Invia il carattere allo schermo. 3

4 3.11. Poiché l indirizzo 0x10100 supera 16 bit, il modo di indirizzamento TABELLA(R2) non può essere utilizzato. Il programma in Figura P3.3.b può essere modificato come segue: CIFRA EQU 0x800 Locazione della cifra in codice ASCII. SETTE EQU 0x4030 Indirizzo dello schermo a 7 segmenti. LoadByte R2, CIFRA Carica la cifra in codice ASCII. And R3, R2, #0xF0 Estrai il semibyte alto del codice ASCII. And R2, R2, #0x0F Estrai il numero decimale. R4, #0x30 Controlla se il semibyte alto del Branch if [R3]=[R4] ALTO codice ASCII è R2, #0x0F Non è una cifra, visualizza uno spazio. ALTO: OrHigh R6, R0, #1 Carica il valore 0x10100 Or R6, R6, #0100 nel registro R5. Or R6, R6, R2 Genera l indirizzo desiderato in tabella. LoadByte R5, (R6) Carica la sequenza binaria di 7 segmenti. StoreByte R5, SETTE Visualizza la cifra. ORIGIN 0x10100 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B,0x00,0x00 dei 7 segmenti. DATABYTE 0x00,0x00,0x00,0x Poiché l indirizzo 0x10100 supera 16 bit, il modo di indirizzamento TABELLA(R2) non può essere utilizzato. Il programma in Figura P3.3.c può essere modificato come segue: CIFRA EQU 0x800 Locazione della cifra in codice ASCII. SETTE EQU 0x4030 Indirizzo dello schermo a 7 segmenti. Byte R2, CIFRA Carica la cifra in codice ASCII. R3, R2 And R3, #0xF0 Estrai il semibyte alto del codice ASCII. And R2, #0x0F Estrai il numero decimale. CompareByte R3, #0x30 Controlla se il semibyte alto del Branch=0 ALTO codice ASCII è Byte R2, #0x0F Non è una cifra, visualizza uno spazio. ALTO: R4, #0x10100 Indirizzo di base della tabella. Byte SETTE, (R4, R2) Visualizza la cifra. ORIGIN 0x10100 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B,0x00,0x00 dei 7 segmenti. DATABYTE 0x00,0x00,0x00,0x00 4

5 3.13. Si può usare il seguente programma in stile RISC, che imposta il conteggio del cronometro a 10 8 per avere periodi di 1 secondo e usa la scansione per rilevare quando il cronometro raggiunge la fine di un periodo. R2, #SETTE R3, #TIM STATUS OrHigh R4, R0, #0x5F5 Imposta il conteggio nel circuito del Or R4, R4, #0xE100 cronometro al valore 0x5F5E100, Store R4, 8(R3) per avere il periodo desiderato. R4, #6 Avvia il cronometro StoreByte R4, 4(R3) nel modo continuo. R5, R0 Azzera il contatore di cifra. CICLO: LoadByte R6, (R3) Attendi che il cronometro raggiunga And R6, R6, #2 la fine di un periodo di 1 secondo. Branch if [R6]=[R0] CICLO LoadByte R7, TABELLA(R5) Carica la sequenza binaria dei StoreByte R7, (R2) 7 segmenti e visualizzala. Add R5, R5, #1 Incrementa il contatore di cifra R4, #10 e controlla se > 9. Branch if [R5]<[R4] CICLO R5, R0 Azzera il contatore di cifra. Branch CICLO ORIGIN 0x1000 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B,0x00,0x00 dei 7 segmenti. DATABYTE 0x00,0x00,0x00,0x Si può usare il seguente programma in stile CISC, che imposta il conteggio del cronometro a 10 8 per avere periodi di un secondo e usa la scansione per rilevare quando il cronometro raggiunge la fine di un periodo. R3, #TIM STATUS 8(R3), #0x5F5E100 Imposta il conteggio nel circuito del cronometro per avere il periodo desiderato. 4(R3), #6 Avvia il cronometro nel modo continuo. Clear R5 Azzera il contatore di cifra. CICLO: TestBit (R3), #1 Attendi che il cronometro raggiunga Branch=0 CICLO la fine di un periodo di 1 secondo. Byte SETTE, TABELLA(R5) Visualizza la cifra. Add R5, #1 Incrementa il contatore di cifra Compare R5, #10 e controlla se > 9. Branch<0 CICLO Clear R5 Azzera il contatore di cifra. Branch CICLO ORIGIN 0x1000 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B,0x00,0x00 dei 7 segmenti. DATABYTE 0x00,0x00,0x00,0x00 5

6 3.15. Si assume che i due schermi a 7 segmenti siano concatenati in un dispositivo al quale si accede caricando le sequenze binarie in un registro dati a 16 bit, denominato SETTE, nell interfaccia del dispositivo. Si può quindi usare il seguente programma in stile RISC, che imposta il conteggio del cronometro a 10 8 per avere periodi di un secondo e usa la scansione per rilevare quando il cronometro raggiunge la fine di un periodo. R2, #SETTE R3, #TIM STATUS OrHigh R4, R0, #0x5F5 Imposta il conteggio nel circuito del Or R4, R4, #0xE100 cronometro al valore 0x5F5E100, Store R4, 8(R3) per avere il periodo desiderato. R4, #6 Avvia il cronometro StoreByte R4, 4(R3) nel modo continuo. R5, R0 Azzera i contatori della cifra bassa R6, R0 e della cifra alta. CICLO: LoadByte R7, (R3) Attendi che il cronometro raggiunga And R7, R7, #2 la fine di un periodo di 1 secondo. Branch if [R7]=[R0] CICLO LoadByte R8, TABELLA(R5) Carica le sequenze binarie dei LoadByte R9, TABELLA(R6) 7 segmenti delle cifre. LShiftL R9, R9, #8 Concatena le sequenze binarie Or R8, R8, R9 per le due cifre e inviale StoreHalfword R8, (R2) agli schermi a 7 segmenti. Add R5, R5, #1 Incrementa il contatore di cifra bassa R4, #10 e controlla se > 9. Branch if [R5]<[R4] CICLO R5, R0 Azzera il contatore di cifra bassa. Add R6, R6, #1 Incrementa il contatore di cifra alta Branch if [R6]<[R4] CICLO e controlla se > 9. R6, R0 Azzera il contatore di cifra alta. Branch CICLO ORIGIN 0x1000 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B,0x00,0x00 dei 7 segmenti. DATABYTE 0x00,0x00,0x00,0x00 6

7 3.16. Si assume che i due schermi a 7 segmenti siano concatenati in un dispositivo al quale si accede caricando le sequenze binarie in un registro dati a 16 bit, denominato SETTE, nell interfaccia del dispositivo. Si può quindi usare il seguente programma in stile CISC, che imposta il conteggio del cronometro a 10 8 per avere periodi di un secondo e usa la scansione per rilevare quando il cronometro raggiunge la fine di un periodo. R3, #TIM STATUS 8(R3), #0x5F5E100 Imposta il conteggio nel circuito del cronometro per avere il periodo desiderato. 4(R3), #6 Avvia il cronometro nel modo continuo. Clear R5 Azzera i contatori della cifra bassa Clear R6 e della cifra alta. CICLO: TestBit (R3), #1 Attendi che il cronometro raggiunga Branch=0 CICLO la fine di un periodo di 1 secondo. Byte R7, TABELLA(R5) Carica le sequenze binarie dei Byte R8, TABELLA(R6) 7 segmenti delle cifre. LShiftL R8, #8 Concatena le sequenze binarie Or R7, R8 per le due cifre e inviale Halfword SETTE, R7 agli schermi a 7 segmenti. Add R5, #1 Incrementa il contatore di cifra bassa R4, #10 e controlla se > 9. Compare R5, R4 Branch<0 CICLO Clear R5 Azzera il contatore di cifra bassa. Add R6, #1 Incrementa il contatore di cifra alta Compare R6, R4 e controlla se > 9. Branch<0 CICLO Clear R6 Azzera il contatore di cifra alta. Branch CICLO ORIGIN 0x1000 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B,0x00,0x00 dei 7 segmenti. DATABYTE 0x00,0x00,0x00,0x Si assume che i due schermi a 7 segmenti siano concatenati in un dispositivo al quale si accede caricando le sequenze binarie in un registro dati a 16 bit, denominato SETTE, nell interfaccia del dispositivo. Si può quindi usare il seguente programma in stile RISC, che imposta il conteggio del cronometro a 10 8 per avere periodi di un secondo e usa la scansione per rilevare quando il cronometro raggiunge la fine di un periodo. 7

8 R2, #SETTE R3, #TIM STATUS OrHigh R4, R0, #0x5F5 Imposta il conteggio nel circuito del Or R4, R4, #0xE100 cronometro al valore 0x5F5E100, Store R4, 8(R3) per avere il periodo desiderato. R4, #6 Avvia il cronometro StoreByte R4, 4(R3) nel modo continuo. R5, R0 Azzera il contatore dei minuti. CICLO1: R6, R0 Azzera il contatore dei secondi. CICLO2: LoadByte R7, (R3) Attendi che il cronometro raggiunga And R7, R7, #2 la fine di un periodo di 1 secondo. Branch if [R7]=[R0] CICLO2 Add R6, R6, #1 Attendi 60 secondi prima di R4, #60 aggiornare lo schermo. Branch if [R6]<[R4] CICLO2 Call DISPLAY Add R5, R5, #1 Incrementa il contatore dei minuti. R4, #1440 Quando si raggiunge l ora 24:00, Branch if [R5]<[R4] CICLO1 si deve riazzerare il R5, R0 contatore dei minuti. Branch CICLO1 DISPLAY: R11, R5 R12, #600 Per determinare la prima cifra Divide R13, R11, R12 delle ore, dividi per 600. LoadByte R15, TABELLA(R13) Carica la sequenza dei 7-segmenti. LShiftL R15, R15, #8 Fai spazio per la prossima cifra. Multiply R14, R13, R12 Calcola il resto della Subtract R11, R11, R14 operazione di divisione. R12, #60 Dividi il resto per 60 per Divide R13, R11, R12 avere la seconda cifra delle ore. LoadByte R16, TABELLA(R13) Carica la sequenza dei 7-segmenti, Or R15, R15, R16 concatenala alla prima cifra LShiftL R15, R15, #8 e falla scorrere. Multiply R14, R13, R12 Determina i minuti che devono Subtract R11, R11, R14 essere visualizzati. R12, #10 Per determinare la prima cifra Divide R13, R11, R12 dei minuti, dividi per 10. LoadByte R16, TABELLA(R13) Carica la sequenza dei 7-segmenti, Or R15, R15, R16 concatenala alla prime due cifre LShiftL R15, R15, #8 e falla scorrere. Multiply R14, R13, R12 Calcola il resto, che Subtract R11, R11, R14 è l ultima cifra. LoadByte R16, TABELLA(R11) Concatena l ultima cifra alle Or R15, R15, R16 3 cifre precedenti. Store R15, (R2) Visualizza la sequenza ottenuta. ORIGIN 0x1000 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B dei 7 segmenti. 8

9 3.18. Si assume che i due schermi a 7 segmenti siano concatenati in un dispositivo al quale si accede caricando le sequenze binarie in un registro dati a 16 bit, denominato SETTE, nell interfaccia del dispositivo. Si può quindi usare il seguente programma in stile CISC, che imposta il conteggio del cronometro a 10 8 per avere periodi di un secondo e usa la scansione per rilevare quando il cronometro raggiunge la fine di un periodo. R3, #TIM STATUS 8(R3), #0x5F5E100 Imposta il conteggio nel circuito del cronometro per avere il periodo desiderato. 4(R3), #6 Avvia il cronometro nel modo continuo. Clear R5 Azzera il contatore dei minuti. CICLO1: R6, #60 Contatore per un intervallo di 60 secondi. CICLO2: TestBit (R3), #1 Attendi che il cronometro raggiunga Branch=0 CICLO2 la fine di un periodo di 1 secondo. Subtract R6, #1 Attendi 60 secondi prima di Branch> CICLO2 aggiornare lo schermo. Call DISPLAY Add R5, #1 Incrementa il contatore dei minuti. Compare R5, #1440 Quando si raggiunge l ora 24:00, Branch<0 CICLO1 si deve riazzerare il Clear R5 contatore dei minuti. Branch CICLO1 DISPLAY: R10, R5 R11, R5 Per determinare la prima cifra Divide R11, #600 delle ore, dividi per 600. Byte R12, TABELLA(R11) Carica la sequenza dei 7-segmenti. LShiftL R12, #8 Fai spazio per la prossima cifra. Multiply R11, #600 Calcola il resto della Subtract R10, R11 operazione di divisione. R11, R10 Dividi il resto per 60 per Divide R11, #60 avere la seconda cifra delle ore. Byte R13, TABELLA(R11) Carica la sequenza dei 7-segmenti, Or R12, R13 concatenala alla prima cifra LShiftL R12, #8 e falla scorrere. Multiply R11, #60 Determina i minuti che devono Subtract R10, R11 essere visualizzati. R11, R10 Per determinare la prima cifra Divide R11, #10 dei minuti, dividi per 10. Byte R13, TABELLA(R11) Carica la sequenza dei 7-segmenti, Or R12, R13 concatenala alla prime due cifre LShiftL R12, #8 e falla scorrere. Multiply R11, #10 Calcola il resto, che Subtract R10, R11 è l ultima cifra. Byte R13, TABELLA(R10) Concatena l ultima cifra alle Or R12, R13 3 cifre precedenti. SETTE, R12 Visualizza la sequenza ottenuta. ORIGIN 0x1000 TABELLA: DATABYTE 0x7E,0x30,0x6D,0x79 Tabella che contiene DATABYTE 0x33,0x5B,0x5F,0x70 le sequenze binarie DATABYTE 0x7F,0x7B dei 7 segmenti. 9

10 3.19. Si può basare il programma sullo schema presentato in Figura 3.4, assumendo l interfaccia del dispositivo data in Figura 3.3. Si immagazzinerà il simbolo di richiesta dati (prompt) Digita il nome come stringa di caratteri in codice ASCII usando una direttiva di assemblatore. Similmente, si immagazzinerà Il nome a rovescio quale messaggio di replica che precede la visualizzazione al contrario del nome. Ogni stringa termina con un carattere di Ritorno Carrello (CR). Un possible programma in stile RISC è: KBD DATA EQU 0x4000 Specifica gli indirizzi dei registri dati DISP DATA EQU 0x4010 di tastiera e schermo. R2, #LOC Locazione dove sarà memorizzata la linea. R3, #KBD DATA R3 punta al registro dati della tastiera. R4, #DISP DATA R4 punta al registro dati dello schermo. R5, #0x0D Codice ASCII di Ritorno Carrello (CR). /* Visualizza il prompt. */ R8, #PROMPT CICLOP: LoadByte R6, 4(R4) Leggi il registro di stato dello schermo. And R6, R6, #4 Controlla il bit di stato DOUT. Branch if [R6]=[R0] CICLOP LoadByte R7, (R8) Invia un carattere del prompt StoreByte R7, (R4) allo schermo. Add R8, R8, #1 Branch if [R7] [R5] CICLOP /* Leggi il nome. */ LEGGI: LoadByte R6, 4(R3) Leggi il registro di stato della tastiera. And R6, R6, #2 Controlla il bit di stato KIN. Branch if [R6]=[R0] LEGGI LoadByte R7, (R3) Leggi un carattere dalla tastiera. StoreByte R7, (R2) Scrivi il carattere in memoria principale Add R2, R2, #1 e incrementa il puntatore. ECO: LoadByte R6, 4(R4) Leggi il registro di stato dello schermo. And R6, R6, #4 Controlla il bit di stato DOUT. Branch if [R6]=[R0] ECO StoreByte R7, (R4) Invia il carattere allo schermo. Branch if [R5] [R7] LEGGI Reitera se il carattere non è CR. /* Visualizza il messaggio di replica.*/ R8, #REPLICA CICLOM: LoadByte R6, 4(R4) Leggi il registro di stato dello schermo. And R6, R6, #4 Controlla il bit di stato DOUT. Branch if [R6]=[R0] CICLOM LoadByte R7, (R8) Invia un carattere del messaggio StoreByte R7, (R4) allo schermo. Add R8, R8, #1 Branch if [R7] [R5] CICLOM... continua nella pagina successiva 10

11 /* Visualizza il nome a rovescio. */ Subtract R8, R2, #2 Puntatore della scansione a rovescio. R2, #LOC CICLOR: LoadByte R6, 4(R4) Leggi il registro di stato dello schermo. And R6, R6, #4 Controlla il bit di stato DOUT. Branch if [R6]=[R0] CICLOR LoadByte R7, (R8) StoreByte R7, (R4) Invia un carattere allo schermo. Subtract R8, R8, #1 Branch if [R8] [R2] CICLOR prossima istruzione PROMPT: REPLICA: ORIGIN 0x1000 DATABYTE 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x20 DATABYTE 0x69, 0x6C, 0x20, 0x6E, 0x6F, 0x6D, 0x65, 0x0D DATABYTE 0x49, 0x6C, 0x20, 0x6E, 0x6F, 0x6D, 0x65, 0x20, 0x61, 0x20 DATABYTE 0x72, 0x6F, 0x76, 0x65, 0x73, 0x63, 0x69, 0x6F, 0x0D Si può basare il programma sullo schema presentato in Figura 3.5, assumendo l interfaccia del dispositivo data in Figura 3.3. Si immagazzinerà il simbolo di richiesta dati (prompt) Digita il nome come stringa di caratteri in codice ASCII usando una direttiva di assemblatore. Similmente, si immagazzinerà Il nome a rovescio quale messaggio di replica che precede la visualizzazione al contrario del nome. Ogni stringa termina con un carattere di Ritorno Carrello (CR). Un possible programma in stile CISC è: 11

12 KBD DATA EQU 0x4000 Specifica gli indirizzi dei registri dati DISP DATA EQU 0x4010 di tastiera e schermo. R2, #LOC Locazione dove sarà memorizzata la linea. R3, #KBD DATA R3 punta al registro dati della tastiera. R4, #DISP DATA R4 punta al registro dati dello schermo. R5, #0x0D Codice ASCII di Ritorno Carrello (CR). /* Visualizza il prompt. */ R8, #PROMPT CICLOP: TestBit 4(R4), #2 Attendi che lo schermo sia pronto. Branch=0 CICLOP Byte (R4), (R8) Visualizza un carattere del prompt. Compare R5, (R8)+ Controlla se è CR. Branch 0 CICLOP /* Leggi il nome. */ LEGGI: TestBit 4(R3), #1 Attendi l immissione di un carattere. Branch=0 LEGGI Byte (R2), (R3) Scrivi il carattere in memoria principale. ECO: TestBit 4(R4), #2 Attendi che lo schermo sia pronto. Branch=0 ECO Byte (R4), (R2) Invia il carattere allo schermo. CompareByte R5, (R2)+ Controlla se è CR. Branch 0 LEGGI Reitera se il carattere non è CR. /* Visualizza il messaggio di replica. */ R8, #REPLICA CICLOM: TestBit 4(R4), #2 Attendi che lo schermo sia pronto. Branch=0 CICLOM Byte (R4), (R8) Visualizza un carattere del messaggio. CompareByte R5, (R8)+ Controlla se è CR. Branch 0 CICLOM /* Visualizza il nome a rovescio. */ Subtract R2, #1 Puntatore della scansione a rovescio. CICLOR: TestBit 4(R4), #2 Attendi che lo schermo sia pronto. Branch=0 CICLOR Byte (R4), (R2) Visualizza un carattere del nome. Compare R2, #LOC Controlla se è l ultimo carattere. Branch>0 CICLOR prossima istruzione PROMPT: REPLICA: ORIGIN 0x1000 DATABYTE 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x20 DATABYTE 0x69, 0x6C, 0x20, 0x6E, 0x6F, 0x6D, 0x65, 0x0D DATABYTE 0x49, 0x6C, 0x20, 0x6E, 0x6F, 0x6D, 0x65, 0x20, 0x61, 0x20 DATABYTE 0x72, 0x6F, 0x76, 0x65, 0x73, 0x63, 0x69, 0x6F, 0x0D 12

13 3.21. Si può basare il programma sullo schema presentato in Figura 3.4, assumendo l interfaccia del dispositivo data in Figura 3.3. Si immagazzinerà il simbolo di richiesta dati (prompt) Digita la parola come stringa di caratteri in codice ASCII usando una direttiva di assemblatore. Similmente, si immagazzinerà Palindroma e Non palindroma quali messaggi di uscita che indicano il risultato del test. Ogni stringa termina con un carattere di Ritorno Carrello (CR). Un possible programma in stile RISC è: KBD DATA EQU 0x4000 Specifica gli indirizzi dei registri dati DISP DATA EQU 0x4010 di tastiera e schermo. R2, #LOC Locazione dove sarà memorizzata la parola. R3, #KBD DATA R3 punta al registro dati della tastiera. R4, #DISP DATA R4 punta al registro dati dello schermo. R5, #0x0D Codice ASCII di Ritorno Carrello (CR). R8, #PROMPT Call DISPLAY Visualizza il prompt. /* Leggi la parola. */ LEGGI: LoadByte R6, 4(R3) Leggi il registro di stato della tastiera. And R6, R6, #2 Controlla il bit di stato KIN. Branch if [R6]=[R0] LEGGI LoadByte R7, (R3) Leggi un carattere dalla tastiera. StoreByte R7, (R2) Scrivi il carattere in memoria principale Add R2, R2, #1 e incrementa il puntatore. ECO: LoadByte R6, 4(R4) Leggi il registro di stato dello schermo. And R6, R6, #4 Controlla il bit di stato DOUT. Branch if [R6]=[R0] R6, R0, ECO StoreByte R7, (R4) Invia il carattere allo schermo. Branch if [R5] [R7] LEGGI Reitera se il carattere non è CR. /* Determina se è palindroma. */ Subtract R8, R2, #2 Puntatore della scansione a rovescio. R2, #LOC R9, R2 CICLOD: LoadByte R6, (R2) Scandisci la parola LoadByte R7, (R8) in direzioni opposte e controlla Branch if [R6] [R7] NONP se le scansioni coincidono. Add R2, R2, #1 Subtract R8, R8, #1 Branch if [R2]<[R8] CICLOD... continua nella pagina successiva 13

14 /* Visualizza il risultato. */ R8, #SIPAL Visualizza che è Call DISPLAY palindroma. Branch FATTO NONP: R8, #NOPAL Visualizza che non è Call DISPLAY palindroma. FATTO: prossima istruzione DISPLAY: LoadByte R6, 4(R4) Leggi il registro di stato dello schermo. And R6, R6, #4 Controlla il bit di stato DOUT. Branch if [R6]=[R0] DISPLAY LoadByte R7, (R8) Reitera l invio di caratteri StoreByte R7, (R4) allo schermo finché Add R8, R8, #1 il carattere CR non sia Branch if [R7] [R5] DISPLAY stato raggiunto. PROMPT: SIPAL: NOPAL: ORIGIN 0x1000 DATABYTE 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x20, 0x6C, 0x61, 0x20 DATABYTE 0x70, 0x61, 0x72, 0x6F, 0x6C, 0x61, 0x0D DATABYTE 0x50, 0x61, 0x6C, 0x69, 0x6E, 0x64, 0x72, 0x6F, 0x6D, 0x61, 0x0D DATABYTE 0x4E, 0x6F, 0x6E, 0x20 DATABYTE 0x70, 0x61, 0x6C, 0x69, 0x6E, 0x64, 0x72, 0x6F, 0x6D, 0x61, 0x0D Si può basare il programma sullo schema presentato in Figura 3.4, assumendo l interfaccia del dispositivo data in Figura 3.3. Si immagazzinerà il simbolo di richiesta dati (prompt) Digita la parola come stringa di caratteri in codice ASCII usando una direttiva di assemblatore. Similmente, si immagazzinerà Palindroma e Non palindroma quali messaggi di uscita che indicano il risultato del test. Ogni stringa termina con un carattere di Ritorno Carrello (CR). Un possible programma in stile CISC è: KBD DATA EQU 0x4000 Specifica gli indirizzi dei registri dati DISP DATA EQU 0x4010 di tastiera e schermo.... continua nella pagina successiva R2, #LOC Locazione dove sarà memorizzata la parola. R3, #KBD DATA R3 punta al registro dati della tastiera. R4, #DISP DATA R4 punta al registro dati dello schermo. R5, #0x0D Codice ASCII di Ritorno Carrello (CR). R8, #PROMPT Call DISPLAY Visualizza il prompt. 14

15 /* Leggi la parola. */ LEGGI: TestBit 4(R3), #1 Attendi l immissione del carattere. Branch=0 LEGGI Byte (R2), (R3) Scrivi il carattere in memoria principale. ECO: TestBit 4(R4), #2 Attendi che lo schermo sia pronto. Branch=0 ECO Byte (R4), (R2) Invia il carattere allo schermo. CompareByte R5, (R2)+ Controlla se è CR. Branch 0 LEGGI Reitera se il carattere non è CR. /* Determina se è palindroma. */ Subtract R2, #1 Puntatore della scansione a rovescio. R7, #LOC CICLOD: Byte R6, (R2) Scandisci la parola CompareByte R6, (R7)+ in direzioni opposte e controlla Branch 0 NONP se le scansioni coincidono. Compare R7, R2 Branch<0 CICLOD /* Visualizza il risultato. */ R8, #SIPAL Visualizza che è Call DISPLAY palindroma. Branch FATTO NONP: R8, #NOPAL Visualizza che non è Call DISPLAY palindroma. FATTO: prossima istruzione DISPLAY: TestBit 4(R4), #2 Attendi che lo schermo sia pronto. Branch=0 DISPLAY Byte (R4), (R8) Invia un carattere allo schermo. CompareByte R5, (R8)+ Controlla se è CR. Branch 0 DISPLAY Reitera se non è CR. PROMPT: SIPAL: NOPAL: ORIGIN 0x1000 DATABYTE 0x44, 0x69, 0x67, 0x69, 0x74, 0x61, 0x20, 0x6C, 0x61, 0x20 DATABYTE 0x70, 0x61, 0x72, 0x6F, 0x6C, 0x61, 0x0D DATABYTE 0x50, 0x61, 0x6C, 0x69, 0x6E, 0x64, 0x72, 0x6F, 0x6D, 0x61, 0x0D DATABYTE 0x4E, 0x6F, 0x6E, 0x20 DATABYTE 0x70, 0x61, 0x6C, 0x69, 0x6E, 0x64, 0x72, 0x6F, 0x6D, 0x61, 0x0D 15

16 3.23. Si assegna il registro R6 per contenere la lunghezza (fino a 78 caratteri) del testo di esempio da visualizzare. Per centrare orizzontalmente la visualizzazione su una linea di 80 caratteri, il numero di caratteri di spazio necessari all inizio della linea è dato da: [80 - ([R6] + 2)]/2 = 39 - [R6]/2 Assumendo i registri dell interfaccia dello schermo di Figura 3.3, un possible programma in stile RISC è: R2, #DISPLAY Carica l indirizzo dello schermo. R5, #STRING Carica l indirizzo della stringa. R6, #0 Azzera il contatore della lunghezza. Call LUNGHEZZA Ottieni in R6 la lunghezza della stringa. R5, #78 Limite di lunghezza del testo di esempio. Branch if [R6] [R5] SPAZIIN R6, #78 Dopo questo punto, la lunghezza del testo di esempio è in R6. SPAZIIN: R5, #39 Carica 39. AShiftR R7, R6, #1 Calcola [R6]/2 in R7. Subtract R7, R5, R7 Il numero di caratteri di spazio iniziali è in R7. R10, R6 Lunghezza del testo di esempio. R11, R7 Carica il numero di caratteri di spazio iniziali. Call DISP13 Visualizza , seguito da CR. R10, R6 Lunghezza del testo di esempio. R11, R7 Carica il numero di caratteri di spazio iniziali. R3, #0x20 Carica il codice ASCII di spazio, SP. CICLO1: Subtract R11, R11, #1 Decrementa il contatore di spazi. Branch if [R11]<0 DISP2 Possono non esservi spazi. Call DISPLAY Visualizza uno spazio. Branch CICLO1 DISP2: R3, #0x7C Carica il codice ASCII di. R5, #STRING Carica l indirizzo della stringa. CICLO2: LoadByte R3, (R5) Carica un carattere. Add R5, R5, #1 Incrementa il puntatore alla stringa. Subtract R10, R10, #1 Decrementa la lunghezza. Branch if [R10] 0 CICLO2 Reitera la visualizzazione dei caratteri se non hai finito.... continua nella pagina successiva 16

17 R3, #0x7C Carica il codice ASCII di. R3, #0x0D Carica il codice ASCII di CR Ora testo di esempio è stato visualizzato. R10, R6 Lunghezza del testo di esempio. R11, R7 Carica il numero di caratteri di spazio iniziali. Call DISP13 Ora la terza linea , seguita da CR, è stata visualizzata. prossima istruzione LUNGHEZZA: R7, #0x00 Carica il codice ASCII di NUL. CICLO: LoadByte R8, (R5) Carica un carattere. Branch if [R8]=[R7] FATTO Rientra se è NUL. Add R5, R5, #1 Incrementa il puntatore alla stringa. Add R6, R6, #1 Incrementa il contatore dei caratteri. Branch CICLO Reitera la scansione. FATTO: DISP13: R3, #0x20 Carica il codice ASCII di SP. CICLO3: Subtract R11, R11, #1 Decrementa il contatore di spazi. Branch if [R11]<0 DISP1 Possono non esservi spazi. Call DISPLAY Visualizza uno spazio. Branch CICLO3 Reitera la visualizzazione di spazi. DISP1: R3, #0x2B Carica il codice ASCII di +. R3, #0x2D Carica il codice ASCII di -. CICLO4: Subtract R10, R10, #1 Decrementa il contatore. Branch if [R10] 0 CICLO4 Reitera la visualizzazione di -. R3, #0x2B Carica il codice ASCII di +. R3, #0x0D Carica il codice ASCII di CR. Ora , seguita da CR, è stata visualizzata. DISPLAY: LoadByte R4, 4(R2) Attendi che il bit di stato DOUT sia 1. And R4, R4, #4 Branch if [R4]=0 DISPLAY Store R3, (R2) Visualizza il carattere e rientra Si assegna il registro R6 per contenere la lunghezza (fino a 78 caratteri) del Testo di esempio da visualizzare. Per centrare orizzontalmente la visualizzazione su una linea di 80 caratteri, il numero di caratteri di spazio necessari all inizio della linea è dato da: [80 - ([R6] + 2)]/2 = 39 - [R6]/2 Assumendo i registri dell interfaccia dello schermo di Figura 3.3, un possible programma in stile CISC è: 17

18 R5, #STRING Carica l indirizzo della stringa. Clear R6 Azzera il contatore della lunghezza. Call LUNGHEZZA Ottieni in R6 la lunghezza della stringa. Compare R6, #78 Branch 0 SPAZIIN R6, #78 Dopo questo punto, la lunghezza del testo di esempio è in R6. SPAZIIN: R7, #39 Carica 39. R5, R6 AShiftR R5, #1 Calcola [R6]/2 in R5. Subtract R7, R5 Il numero di caratteri di spazio iniziali è in R7. R10, R6 Lunghezza del testo di esempio. R11, R7 Carica il numero di caratteri di spazio iniziali. Call DISP13 Visualizza , seguito da CR. R10, R6 Lunghezza del testo di esempio. R11, R7 Carica il numero di caratteri di spazio iniziali. R3, #0x20 Carica il codice ASCII di spazio, SP. CICLO1: Decrement R11 Decrementa il contatore di spazi. Branch<0 DISP2 Possono non esservi spazi. Call DISPLAY Visualizza uno spazio. Branch CICLO1 DISP2: R3, #0x7C Carica il codice ASCII di. R5, #STRING Carica l indirizzo della stringa. CICLO2: Byte R3, (R5)+ Carica un carattere e incrementa R5. Decrement R10 Decrementa la lunghezza. Branch 0 CICLO2 Reitera la visualizzazione dei caratteri se non hai finito. R3, #0x7C Carica il codice ASCII di. R3, #0x0D Carica il codice ASCII di CR. Ora testo di esempio è stato visualizzato. R10, R6 Lunghezza del testo di esempio. R11, R7 Carica il numero di caratteri di spazio iniziali. Call DISP13 Ora la terza linea , seguita da CR, è stata visualizzata. prossima istruzione... continua nella pagina successiva 18

19 LUNGHEZZA: CompareByte (R5)+, #0x00 Confronta col codice ASCII di NUL. Branch=0 FATTO Rientra se è NUL. Increment R6 Incrementa il contatore dei caratteri. Branch LUNGHEZZA Reitera la scansione. FATTO: DISP13: R3, #0x20 Carica il codice ASCII di SP. CICLO3: Decrement R11 Decrementa il contatore di spazi. Branch<0 DISP1 Possono non esservi spazi. Call DISPLAY Visualizza uno spazio. Branch CICLO3 Reitera la visualizzazione di spazi. DISP1: R3, #0x2B Carica il codice ASCII di +. R3, #0x2D Carica il codice ASCII di -. CICLO4: Decrement R10 Decrementa il contatore. Branch 0 CICLO4 Reitera la visualizzazione di -. R3, #0x2B Carica il codice ASCII di +. R3, #0x0D Carica il codice ASCII di CR. Ora , seguita da CR, è stata visualizzata. DISPLAY: TestBit DISP STATUS, #2 Attendi che il bit di stato DOUT sia 1. Branch=0 DISPLAY Byte DISP DATA, R3 Visualizza il carattere e rientra Si assume che il testo da visualizzare sia memorizzato alla locazione TESTO, e che un carattere di Line Feed (LF) sia inviato automaticamente allo schermo dopo l invio di un Ritorno Carrello (CR). Si assume anche che ogni parola sia composta da 1 a 80 caratteri e che il testo contenga almeno una parola. Il seguente programma RISC è una possibile soluzione. Il programma effettua una scansione completa del testo e rimpiazza alcuni dei caratteri di spazio con caratteri CR per soddisfare il requisito di ritorno a capo automatico. Durante qesta pre-elaborazione del testo non si invia alcuna linea allo schermo. Si assume che il cursore dello schermo sia propriamente posizionato sul margine sinistro dello schermo. Il carattere NUL è rimpiazzato da un carattere CR quando si visualizza il testo dopo che ne è stata completata la pre-elaborazione. I registri R2 e R4 sono usati dal sottoprogramma DISPLAY per la visualizzazione di un singolo carattere, ma non sono usati nel programma principale, perciò non sono salvati né ripristinati nel sottoprogramma. Il carattere da visualizzare è passato nel registro R3. I registri dell interfaccia dello schermo sono come mostrato in Figura 3.3b e il sottoprogramma segue lo schema della routine ATTESASCRITTURA in stile RISC mostrata alla fine del Paragrafo

20 R2, #DISP DATA Carica l indirizzo dello schermo. R5, #TESTO Carica l indirizzo del testo. R6, #0x00 Carica i codici ASCII dei R7, #0x20 caratteri NUL, SP e CR. R8, #0x0D R9, #81 Limite di lunghezza della linea +1. RESET: R10, #0 Azzera il contatore dei caratteri. SCAN: LoadByte R11, (R5) Scandisci il testo. Add R5, R5, #1 Incrementa il puntatore al testo. Add R10, R10, #1 Incrementa il contatore dei caratteri. Branch if [R11]=[R6] OUTPUT Se il carattere è NUL, visualizza il testo. Branch if [R10]<[R9] SCAN Se non è l 81mo carattere, continua la scansione. Branch if [R11] [R7] BACKUP Se l 81mo carattere non è SP, torna indietro fino a SP. StoreByte R8, 1(R5) Se l 81mo carattere è SP, Branch RESET rimpiazzalo con CR, riazzera il contatore e continua la scansione. BACKUP: Subtract R5, R5, #1 Ritorna indietro nel testo LoadByte R11, (R5) fino a trovare SP. Branch if [R11] [R7] BACKUP StoreByte R8, (R5) Quindi rimpiazza SP con CR, Add R5, R5, #1 incrementa il puntatore ai caratteri Branch RESET e riprendi a scandire. OUTPUT: R5, #TESTO Carica l indirizzo del testo. CICLO: LoadByte R3, (R5) Carica un carattere. Branch if [R3]=[R6] FINE Se hai raggiunto NUL, fine. Call DISPLAY Altrimenti, visualizza il carattere. Add R5, R5, #1 Incrementa il contatore dei caratteri Branch CICLO e reitera. FINE: R3, R8 Carica il codice ASCII di CR. Call DISPLAY Invialo allo schermo. prossima istruzione DISPLAY: LoadByte R4, 4(R2) Attendi che il bit di stato DOUT And R4, R4, #4 sia 1. Branch if [R4]=0 DISPLAY StoreByte R3, (R2) Visualizza il carattere e rientra. 20

21 3.26. Si assume che il testo da visualizzare sia memorizzato alla locazione TESTO, e che un carattere di Line Feed (LF) sia inviato automaticamente allo schermo dopo l invio di un Ritorno Carrello (CR). Si assume anche che ogni parola sia composta da 1 a 80 caratteri e che il testo contenga almeno una parola. Il seguente programma RISC è una possibile soluzione. Il programma effettua una scansione completa del testo e rimpiazza alcuni dei caratteri di spazio con caratteri CR per soddisfare il requisito di proseguimento sulla linea appresso. Durante qesta pre-elaborazione del testo non si invia alcuna linea allo schermo. Si assume che il cursore dello schermo sia propriamente posizionato sul margine sinistro dello schermo. Il carattere NUL è rimpiazzato da un carattere CR quando si visualizza il testo dopo che ne è stata completata la pre-elaborazione. Il carattere da visualizzare è passato al sottoprogramma DISPLAY nel registro R3. I registri dell interfaccia dello schermo sono come mostrato in Figura 3.3b e il sottoprogramma segue lo schema del codice di output in stile CISC di Figura 3.5. R5, #TESTO Carica l indirizzo del testo. RESET: Clear R10 Azzera il contatore dei caratteri. SCAN: Increment R10 Incrementa il contatore dei caratteri. CompareByte (R5)+, #0x00 Confronta col carattere NUL. Branch=0 OUTPUT Se il carattere è NUL, visualizza il testo. Compare R10, #81 Controlla il conteggio dei caratteri. Branch<0 SCAN Se non è l 81mo carattere, continua la scansione. CompareByte 1(R5), #0x20 Confronta col carattere SP. Branch 0 BACKUP Se l 81mo carattere non è SP, torna indietro fino a SP. Byte 1(R5), #0x0D Se l 81mo carattere è SP, Branch RESET rimpiazzalo con CR, riazzera il contatore e continua la scansione. BACKUP: CompareByte (R5), #0x20 Ritorna indietro nel testo Branch 0 BACKUP fino a trovare SP. Byte (R5)+, #0x0D Quindi rimpiazza SP con CR, riazzera Branch RESET il contatore e riprendi a scandire. OUTPUT: R5, #TESTO Carica l indirizzo del testo. CICLO: Byte R3, (R5)+ Carica un carattere. Compare R3, #0x00 Confronta col carattere NUL. Branch=0 FINE Se hai raggiunto NUL, fine. Call DISPLAY Altrimenti, visualizza il carattere Branch CICLO e reitera. FINE: Byte R3, #0x0D Carica il codice ASCII di CR. Call DISPLAY Invialo allo schermo. prossima istruzione DISPLAY: TestBit DISP STATUS, #2 Attendi che il bit di stato DOUT Branch=0 DISPLAY sia 1 Byte DISP DATA, R3 Visualizza il carattere e rientra. 21

Caso di studio 1: Progetto di un sistema su un chip

Caso di studio 1: Progetto di un sistema su un chip Caso di studio 1: Progetto di un sistema su un chip 1 Caso di studio 1: Progetto di un sistema su un chip In questo caso di studio Progettazione di un sistema per la realizzazione su un chip FPGA Come

Dettagli

Caratteri e stringhe Esercizi risolti

Caratteri e stringhe Esercizi risolti Esercizi risolti 1 Esercizio: Conta vocali e consonanti Scrivere un programma in linguaggio C che legga una frase introdotta da tastiera. La frase è terminata dall introduzione del carattere di invio.

Dettagli

Il foglio elettronico

Il foglio elettronico Il foglio elettronico Foglio di calcolo, Spreadsheet in inglese, Permette di elaborare DATI NUMERICI. E una TABELLA che contiene numeri che possono essere elaborati con FUNZIONI matematiche e statistiche.

Dettagli

Manuale d Istruzioni Cronometro digitale. Modello 365535

Manuale d Istruzioni Cronometro digitale. Modello 365535 Manuale d Istruzioni Cronometro digitale Modello 365535 Istruzioni Introduzione Questo fantastico cronometro digitale al quarzo professionale dispone di una memoria cumulativa e di giro e funzionalità

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16

Un ripasso di aritmetica: Conversione dalla base 10 alla base 16 Un ripasso di aritmetica: Conversione dalla base 1 alla base 16 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base sedici sarà del tipo: c m c m-1... c 1 c (le c i sono cifre

Dettagli

DATAPROCESS INDUSTRIA S.p.A. INDICE 1. CONFIGURAZIONE DEL VISORE 1 2. ACCENSIONE DELLO STRUMENTO 1 3. OPERAZIONI DI PESATURA 2

DATAPROCESS INDUSTRIA S.p.A. INDICE 1. CONFIGURAZIONE DEL VISORE 1 2. ACCENSIONE DELLO STRUMENTO 1 3. OPERAZIONI DI PESATURA 2 Indice INDICE 1. CONFIGURAZIONE DEL VISORE 1 2. ACCENSIONE DELLO STRUMENTO 1 3. OPERAZIONI DI PESATURA 2 3.1. PESATURA SEMPLICE 2 3.2. TARA SEMIAUTOMATICA 2 3.3. BLOCCO DELLA TARA 3 4. TASTIERA 3 5. INTERFACCIA

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi Tipi di dato testuali Caratteri Stringhe Caratteri e stringhe 5 Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche Numeri eri (), numeri reali

Dettagli

PEGASO SMS PEGASO MEMO. Servizio SMS

PEGASO SMS PEGASO MEMO. Servizio SMS PEGASO SMS PEGASO MEMO Servizio SMS REALIZZATO/PUBBLICATO/PRODOTTO DA: Olivetti S.p.A. con unico azionista Gruppo Telecom Italia Direzione e coordinamento di Telecom Italia S.p.A. Stampato in Italia. Codice

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

Il tuo manuale d'uso. OLIVETTI FAX-LAB 310 SMS http://it.yourpdfguides.com/dref/2432254

Il tuo manuale d'uso. OLIVETTI FAX-LAB 310 SMS http://it.yourpdfguides.com/dref/2432254 Può anche leggere le raccomandazioni fatte nel manuale d uso, nel manuale tecnico o nella guida di installazione di OLIVETTI FAX-LAB 310 SMS. Troverà le risposte a tutte sue domande sul manuale d'uso (informazioni,

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

Prof. Alberto Postiglione Scienze della Comunicazione. Università degli Studi di Salerno

Prof. Alberto Postiglione Scienze della Comunicazione. Università degli Studi di Salerno Prof. Alberto Postiglione Scienze azione Facoltà di Lettere e Filosofia Università degli Studi di Salerno 1.2d: La codifica Digitale dei caratteri Informatica Generale (Laurea in Scienze azione) Sistemi

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

BARRIERA DI MISURA METRON GESTIONE LINEA SERIALE RS-485 www.reer.it

BARRIERA DI MISURA METRON GESTIONE LINEA SERIALE RS-485 www.reer.it BARRIERA DI MISURA METRON GESTIONE LINEA SERIALE RS-485 www.reer.it 2 8540641 Rev.1-11 Aprile 2008 BARRIERA DI MISURA METRON GESTIONE LINEA SERIALE RS-485 SOMMARIO Gestione linea seriale...5 Modalità linea

Dettagli

paragrafo. Testo Incorniciato Con bordo completo Testo Incorniciato Con bordo incompleto

paragrafo. Testo Incorniciato Con bordo completo Testo Incorniciato Con bordo incompleto Applicare bordi e sfondi ai paragrafi Word permette di creare un bordo attorno ad un intera pagina o solo attorno a paragrafi selezionati. Il testo risulta incorniciato in un rettangolo completo dei quattro

Dettagli

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè Parte II AND 104 I, micro-operazioni c 0 t 0 : MAR PC c 0 t 1 : MBR M, PC PC+1 c 0 t 2 : OPR MBR(OP), I MBR(I) q 7 Ic 0 t 3 : R 1 Ciclo di fetch (q 7 +I )c 0 t 3 : F 1 c 1 t 0 : MAR MBR(AD); / 104 da Hex

Dettagli

Verificare se si è proceduto alla inizializzazione del POS con la seguente procedura:

Verificare se si è proceduto alla inizializzazione del POS con la seguente procedura: Page 1 of 16 Istruzioni per il corretto funzionamento del POS Sodexo Appalto Ferservizi 2015 Le presenti istruzioni sono riferite all utilizzo del POS dedicato al servizio che Sodexo Motivation Solutions

Dettagli

Appunti di Sistemi e Automazione

Appunti di Sistemi e Automazione Appunti di Sistemi e Automazione Il modello o macchina di Von Neumann rappresenta un computer con i suoi componenti principali e la sua organizzazione logico-funzionale. Tale progetto risale al 1945/1946.

Dettagli

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO

SISTEMI DI NUMERAZIONE DECIMALE E BINARIO SISTEMI DI NUMERAZIONE DECIMALE E BINARIO Il sistema di numerazione decimale (o base dieci) possiede dieci possibili valori (0, 1, 2, 3, 4, 5, 6, 7, 8 o 9) utili a rappresentare i numeri. Le cifre possiedono

Dettagli

All accensione dell LG e dopo l eventuale inserimento del codice PIN sarà visibile la schermata iniziale.

All accensione dell LG e dopo l eventuale inserimento del codice PIN sarà visibile la schermata iniziale. Configurazione e-mail Account esterni LG Optimus Black. All accensione dell LG e dopo l eventuale inserimento del codice PIN sarà visibile la schermata iniziale. Per configurare un account di posta è necessaria

Dettagli

CE1_AD/P2 DISPOSITIVO ELETTRONICO PROGRAMMABILE. Caratteristiche tecniche Collegamenti elettrici Calibratura Note di funzionamento e installazione

CE1_AD/P2 DISPOSITIVO ELETTRONICO PROGRAMMABILE. Caratteristiche tecniche Collegamenti elettrici Calibratura Note di funzionamento e installazione DISPOSITIVO ELETTRONICO PROGRAMMABILE CE1_AD/P2 Caratteristiche tecniche Collegamenti elettrici Calibratura Note di funzionamento e installazione Versione 01.10/12 CE1_AD/P2: dispositivo elettronico programmabile

Dettagli

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE Training per esperti TECNICHE AVANZATE DI I/O SU FILE Spesso, la decisione di dividere in processi differenti la produzione dei dati dall uso degli stessi viene presa perché occorre scrivere i dati su

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

DUEMMEGI. VISUALIZZATORE DI ALLARMI E MESSAGGI Manuale d'uso. Versione 1.0 - Gennaio 2007

DUEMMEGI. VISUALIZZATORE DI ALLARMI E MESSAGGI Manuale d'uso. Versione 1.0 - Gennaio 2007 DUEMMEGI minidisp2 minidisp2 VISUALIZZATORE DI ALLARMI E MESSAGGI Manuale d'uso Versione 1.0 - Gennaio 2007 HOME AND BUILDING AUTOMATION Via Longhena 4-20139 MILANO Tel. 02/57300377 - FAX 02/55213686 www.duemmegi.it

Dettagli

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2 Manuale d uso Note: Le informazioni contenute in questa documentazione possono essere modificate senza preavviso. Per ulteriori informazioni contattare: DUEMMEGI

Dettagli

Nexus Badge Manager Manuale Uso

Nexus Badge Manager Manuale Uso Nexus Badge Manager Manuale Uso 1. Primo avvio La prima volta che verrà eseguito il software apparirà il seguente messaggio: Collegare il dispositivo ad una qualsiasi porta USB libera del PC e seguire

Dettagli

L architettura del calcolatore (Terza parte)

L architettura del calcolatore (Terza parte) L architettura del calcolatore (Terza parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin I dispositivi periferici periferia parte centrale sottosistema

Dettagli

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

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Uso dell opzione Foglio di instradamento

Uso dell opzione Foglio di instradamento Uso dell opzione Foglio di instradamento Un Foglio di instradamento è una pagina speciale con un codice a barre contenente istruzioni di distribuzione per i propri documenti. Con l opzione Foglio di instradamento,

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Sottosistema di Ingresso/Uscita (I/O)

Sottosistema di Ingresso/Uscita (I/O) Corso di Calcolatori Elettronici I A.A. 2013-2014 Sottosistema di Ingresso/Uscita (I/O) ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica allievi J-Z Calcolatore: sottosistemi Processore

Dettagli

SOMMARIO. INTRODUZIONE 3 Caratteristiche principali 3 Contenuto della confezione 4 Figura e legenda del prodotto 5 Legenda simboli del display 8

SOMMARIO. INTRODUZIONE 3 Caratteristiche principali 3 Contenuto della confezione 4 Figura e legenda del prodotto 5 Legenda simboli del display 8 SOMMARIO INTRODUZIONE 3 Caratteristiche principali 3 Contenuto della confezione 4 Figura e legenda del prodotto 5 Legenda simboli del display 8 COME SI INSTALLA 9 Predisposizione 9 Installazione delle

Dettagli

Guida all uso del foglio elettronico Excel Lezioni ed esercizi

Guida all uso del foglio elettronico Excel Lezioni ed esercizi Lezioni di EXCEL Guida all uso del foglio elettronico Excel Lezioni ed esercizi 1 Il foglio elettronico Excel Excel è un foglio elettronico che consente di effettuare svariate operazioni nel campo matematico,

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

MODULO 3. Microsoft Excel. TEST ED ESERCIZI SU: http://www.informarsi.net/ecdl/excel/index.php

MODULO 3. Microsoft Excel. TEST ED ESERCIZI SU: http://www.informarsi.net/ecdl/excel/index.php MODULO 3 Microsoft Excel TEST ED ESERCIZI SU: http:///ecdl/excel/index.php Foglio Elettronico - SpreadSheet Un foglio elettronico (in inglese spreadsheet) è un programma applicativo usato per memorizzare

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

La pagina di Explorer

La pagina di Explorer G. Pettarin ECDL Modulo 7: Internet 11 A seconda della configurazione dell accesso alla rete, potrebbe apparire una o più finestre per l autenticazione della connessione remota alla rete. In linea generale

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

MANUALE DI PROGRAMMAZIONE

MANUALE DI PROGRAMMAZIONE w w w.pr otexital i a. it Combinatore Telefonico GSM MANUALE DI PROGRAMMAZIONE 8 numeri di telefono per canale 2 canali vocali o sms programmabili 2 teleattivazioni 2 risposte a teleattivazioni Display

Dettagli

CONTATORI ASINCRONI. Fig. 1

CONTATORI ASINCRONI. Fig. 1 CONTATORI ASINCRONI Consideriamo di utilizzare tre Flip Flop J K secondo lo schema seguente: VCC Fig. 1 Notiamo subito che tuttigli ingressi J K sono collegati alle Vcc cioe allo stato logico 1, questo

Dettagli

Capitolo Comunicazione di dati

Capitolo Comunicazione di dati Capitolo Comunicazione di dati Questo capitolo tratta di tutto ciò che è necessario sapere per trasferire programmi tra due calcolatori grafici CASIO connessi utilizzando il cavo che viene fornito come

Dettagli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Dettagli

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

Istruzioni per l uso Display grafico per SINEAX CAM

Istruzioni per l uso Display grafico per SINEAX CAM Istruzioni per l uso Display grafico per SINEAX CAM CAM Display Bi 162 602 06.10 Camille Bauer AG Aargauerstrasse 7 CH-5610 Wohlen / Svizzera Telefono +41 56 618 21 11 Fax +41 56 618 35 35 e-mail: info@camillebauer.com

Dettagli

Istruzioni per la gestione della password personale di dominio aziendale

Istruzioni per la gestione della password personale di dominio aziendale Istruzioni per la gestione della password personale di dominio aziendale Linate, 13 novembre 2012 Il sistema consente di svolgere la modifica e/o il reset della propria password personale di dominio aziendale

Dettagli

SCRIVERE TESTO BLOCCO NOTE WORDPAD WORD IL PIU' DIFFUSO APRIRE WORD

SCRIVERE TESTO BLOCCO NOTE WORDPAD WORD IL PIU' DIFFUSO APRIRE WORD SCRIVERE TESTO Per scrivere del semplice testo con il computer, si può tranquillamente usare i programmi che vengono installati insieme al sistema operativo. Su Windows troviamo BLOCCO NOTE e WORDPAD.

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Gateway KNX/DALI 64/16 GW 90872. Manuale utente del Dali Control Service and Comissioning Wizard 1.2.1

Gateway KNX/DALI 64/16 GW 90872. Manuale utente del Dali Control Service and Comissioning Wizard 1.2.1 Gateway KNX/DALI 64/16 GW 90872 Manuale utente del Dali Control Service and Comissioning Wizard 1.2.1 1 Copyright and Notes Il Dali Control Service and Comissioning Wizard 1.2.1 e la relativa documentazione

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Utilizzo del Terminalino

Utilizzo del Terminalino Utilizzo del Terminalino Tasti: - ENT: funzionano come INVIO - SCAN: per attivare il lettore di barcode - ESC: per uscire dal Menù in cui si è entrati - BKSP: per cancellare l ultimo carattere digitato

Dettagli

Programmatore per telaio scheller

Programmatore per telaio scheller Divo Di Lupo Sistemi per telai Cotton Bentley Monk Textima Scheller Closa Boehringer http://www.divodilupo.191.it/ Programmatore per telaio scheller Attuatore USB semplificato Numero totale di pagine =

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Il simulatore SPIM SPIM

Il simulatore SPIM SPIM Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

L'informazione e la sua codifica

L'informazione e la sua codifica L'informazione e la sua codifica Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Informatica e telecomunicazione Cos è l informatica informatica? lo studio sistematico degli

Dettagli

PROGRAMMA FINALE SVOLTO CLASSE 1 BT A.S. 2014/15

PROGRAMMA FINALE SVOLTO CLASSE 1 BT A.S. 2014/15 Istituto di Istruzione Superiore V. Bachelet Istituto Tecnico Commerciale - Liceo Linguistico Liceo Scientifico Liceo Scienze Umane Via Stignani, 63/65 20081 Abbiategrasso Mi PROGRAMMA FINALE SVOLTO CLASSE

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

Rappresentazione e Memorizzazione dei Dati

Rappresentazione e Memorizzazione dei Dati Rappresentazione e Memorizzazione dei Dati Giuseppe Nicosia CdL in Matematica (Laurea Triennale) Facoltà di Scienze MM.FF.NN. Università di Catania Bit e loro Memorizzazione Definizioni Algoritmo: una

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Matlab: Strutture di Controllo. Informatica B

Matlab: Strutture di Controllo. Informatica B Matlab: Strutture di Controllo Informatica B Tipo di dato logico È un tipo di dato che può avere solo due valori true (vero) 1 false (falso) 0 I valori di questo tipo possono essere generati direttamente

Dettagli

Configurazione di un Router

Configurazione di un Router - Laboratorio di Servizi di Telecomunicazione Configurazione di un Router Slide tratte da Cisco Press CCNA Instructor s Manual ed elaborate dall Ing. Francesco Immè Livelli di accesso ai comandi (1/3)

Dettagli

Esempio di moltiplicazione come somma e spostamento

Esempio di moltiplicazione come somma e spostamento Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35

Dettagli

LETTORE BARCODE V 2.1 EN MANUALE UTENTE

LETTORE BARCODE V 2.1 EN MANUALE UTENTE LETTORE BARCODE V 2.1 EN MANUALE UTENTE INSTALLAZIONE LETTORE Connessione PS-2 Connessione RS-232 (Necessita di alimentatore 5V) 1 INSTALLAZIONE LETTORE Connessione USB 2 COME USARE IL MANUALE Per impostare

Dettagli

ESERCIZIO 1 1. Traccia 1. Analisi 2. Codifica programma 7. frame nel seguente modo: il primo byte dice la lunghezza complessiva del frame,

ESERCIZIO 1 1. Traccia 1. Analisi 2. Codifica programma 7. frame nel seguente modo: il primo byte dice la lunghezza complessiva del frame, ESERCIZIO 1 1 Traccia 1 Analisi 2 Codifica programma 7 Esercizio 1 Traccia IL microprocessore riceve dati dalla porta di indirizzo 30H. I dati sono organizzati in frame nel seguente modo: il primo byte

Dettagli

FRERVIEW2: PROGRAMMA PER LA SUPERVISIONE DELLE MISURE ELETTRICHE Vers. 3.0

FRERVIEW2: PROGRAMMA PER LA SUPERVISIONE DELLE MISURE ELETTRICHE Vers. 3.0 FRERVIEW2: PROGRAMMA PER LA SUPERVISIONE DELLE MISURE ELETTRICHE Vers. 3.0 Descrizione Generale E un programma di monitoraggio e supervisione in grado di leggere, memorizzare, preparare reports, visualizzare

Dettagli

Introduzione al Linguaggio C

Introduzione al Linguaggio C Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C

Dettagli

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO NOME: COGNOME: LAUREA IN: ABILITAZIONI CONSEGUITE: ESPERIENZE DIDATTICHE

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

La Macchina RAM Shepherdson e Sturgis (1963)

La Macchina RAM Shepherdson e Sturgis (1963) La Macchina RAM Shepherdson e Sturgis (963) Nastro di ingresso.......... PROGRAM COUNTER Nastro di uscita PROGRAMMA ACCUMULATORE UNITA' ARITMETICA............... 2 3 4 M E M O R I A Formato delle Istruzioni

Dettagli

INVERTER FOTOVOLTAICI SERIE INGECON SUN

INVERTER FOTOVOLTAICI SERIE INGECON SUN INVERTER FOTOVOLTAICI SERIE INGECON SUN Procedura di aggiornamento firmware inverter Ingeteam serie Ingecon Sun Lite Tel. + 39 0546 651490 Fax: +39 0546 655391 e-mail: italia.energy@ingeteam.com Pagina

Dettagli

INFORMATIVA FINANZIARIA

INFORMATIVA FINANZIARIA Capitolo 10 INFORMATIVA FINANZIARIA In questa sezione sono riportate le quotazioni e le informazioni relative ai titoli inseriti nella SELEZIONE PERSONALE attiva.tramite la funzione RICERCA TITOLI è possibile

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack (tradotto talvolta in italiano con pila o catasta) è un'area di memoria privilegiata, dove il microprocessore può salvare

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

MULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1

MULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1 MULTIPROGRAMMAZIONE E PROTEZIONE G. Frosini Multiprogrammazione e Protezione Slide 1 SISTEMI MULTIPROGRAMMATI Sistema di elaborazione con un solo processore: può eseguire un solo programma alla volta;

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

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

TEST: Hardware e Software

TEST: Hardware e Software TEST: Hardware e Software 1. Che tipo di computer è il notebook? A. da tavolo B. generico C. non è un computer D. Portatile 2. Come è composto il computer? A. Software e Freeware B. Freeware e Antivirus

Dettagli

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione SK 1 Word Libre Office Se sul video non compare la barra degli strumenti di formattazione o la barra standard Aprite il menu Visualizza Barre degli strumenti e selezionate le barre che volete visualizzare

Dettagli

ARCHITETTURA DEI CALCOLATORI VOLUME I

ARCHITETTURA DEI CALCOLATORI VOLUME I Graziano Frosini ARCHITETTURA DEI CALCOLATORI VOLUME I ASSEMBLER E CORRISPONDENZA FRA C++ E ASSEMBLER CON RIFERIMENTO AL PERSONAL COMPUTER E ALL AMBIENTE DI PROGRAMMAZIONE DJGPP Copyright MMIX ARACNE editrice

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

Kit A72 MANUALE DEL SOFTWARE TWIDO PER IL DISTACCO UTENZE (CEI 0-16 ALLEGATO M)

Kit A72 MANUALE DEL SOFTWARE TWIDO PER IL DISTACCO UTENZE (CEI 0-16 ALLEGATO M) Kit A72 MANUALE DEL SOFTWARE TWIDO PER IL DISTACCO UTENZE (CEI 0-16 ALLEGATO M) INDICE 1 OBIETTIVO...2 2 CONFIGURAZIONE DEL PROGRAMMA...2 2.1 Configurazione oggetti di memoria...2 3 FUNZIONAMENTO...5 3.1

Dettagli

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin

Calcolatori Elettronici A a.a. 2008/2009. RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin Calcolatori Elettronici A a.a. 2008/2009 RETI SEQUENZIALI: ESERCIZI Massimiliano Giacomin 1 Esercizio 1: implementazione di contatori Un contatore è un dispositivo sequenziale che aggiorna periodicamente

Dettagli

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro 6 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi. Organizzazione logica ed implementazione di un File System Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Organizzazione logica ed implementazione di un File

Dettagli

Vox. Manuale di Installazione ed Uso. - Versione 1.0 - www.amcelettronica.com. Vox

Vox. Manuale di Installazione ed Uso. - Versione 1.0 - www.amcelettronica.com. Vox Manuale di Installazione ed Uso - Versione 1.0 - Indice INTRODUZIONE 3 SCHEDA E COLLEGAMENTI 3 LED DI SEGNALAZIONE DELLO STATO OPERATIVO 4 DEFAULT RESET 4 PROGRAMMAZIONE 4 wizard tecnico 5 FUNZIONE INGRESSI

Dettagli