Istruction List. Istruction List. Marco Mauri. Politecnico di Milano P.zza Leonardo da Vinci, Maggio
|
|
- Martina Marchesi
- 4 anni fa
- Visualizzazioni
Transcript
1 Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, Maggio
2 Sommario La struttura base del linguaggio Il comportamento degli operatori standard Come utilizzare le istruzioni di salto Come chiamare funzioni e function blocks Line guida per scrivere programmi Restrizioni sulla portabilità del codice tra IL e gli altri linguaggi della norma Maggio
3 Elementi base IL è un linguaggio di basso livello con una struttura molto simile al assembler La IEC ha sviluppato IL utilizzando le idee base che c erano in molti linguaggi di questo tipo forniti dai costruttori di PLC Molti costruttori di PLC supportano direttamente IL come linguaggio testuale di sviluppo, essendo molto facile implementarlo IL è alcune volte il linguaggio in cui li altri linguaggi sono tradotti prima di eseguire il programma su PLC Maggio
4 Elementi base Poiché è spesso usato come codice finale da eseguire, possiamo considerare IL il linguaggio base per un PLC a norma 61131, anche se la norma non definisce nessun linguaggio come linguaggio base La tendenza attuale è considerare IL il linguaggio base per piccoli PLC e utilizzare invece ST nel caso di PLC più complessi Solitamente l uso di IL è limitato alla scrittura di porzioni di codice che devono essere ottimizzate Maggio
5 La struttura IL è costituito da una serie di istruzioni ognuna su una linea distinta Ogni istruzione è costituita da: Un operatore Uno o più operandi separati da virgole Gli operandi rappresentano variabili o costanti (common elements) Ogni istruzione può usare o modificare il valore memorizzato in un singolo registro Lo standard si riferisce a questo registro come risultato (result) di una istruzione Maggio
6 La struttura Il risultato può essere sovrascritto con un nuovo valore, modificato o memorizzato in una variabile Alcune volte ci si riferisce a questo registro con il termine accumulatore (accu) Nel linguaggio sono presenti istruzioni di comparazione, salto, ecc. E possibile utilizzare delle label per identificare dei punti di ingresso del programma per le istruzioni di salto. Ogni label deve essere seguita dai due punti (:) Maggio
7 La struttura Carica il valore della variabile speed nel registro risultato LD Speed (* Load Speed and *) GT 1000 (* Test if > 1000 *) JMPCN VOLTS_OK (* Jump if not *) LD Volts (* Load Volts and *) SUB 10 (* Reduce by 10 *) ST Volts (* Store Volts *) VOLTS_OK: LD 1 (* Load 1 and Store *) ST %Q75 (* in output 75 *) Label Operatore Operando Commenti Maggio
8 La struttura Il pezzo di codice scritto in precedenza è equivalente a : IF Speed > 1000 THEN Volts := Volts 10; END_IF %Q75 := 1; E facile notare come utilizzando IL sia più difficile individuare il comportamento del programma Maggio
9 I commenti In IL i commenti hanno la stessa struttura che in ST. In IL possono essere posizionati solo alla fine della linea Non sono ammessi commenti all inizio della linea o tra operatore e operandi Sono ammessi linee vuote per dividere tra loro pezzi di codice e rendere più leggibile il programma Maggio
10 Semantica delle istruzioni La maggior parte delle istruzioni in IL può essere descritta dall espressione: NuovoRisultato := RisultatoCorrente Operatore Operando Ad esempio l istruzione SUB 10 è equivalente all espressione: NuovoRisultato := RisultatoCorrente SUB 10 Analogamente GT 1000 NuovoRisultato := RisultatoCorrente GT Maggio
11 Semantica delle istruzioni Ci sono alcune istruzioni per cui non vale lo schema precedente, ad esempio l operatore ST (store) è equivalente a: Opernado := RisultatoCorrente E possibile inserire in un programma IL delle parentesi al fine di produrre risultati intermedi che non influenzino il registro risultato corrente (analogamente a quanto succede utilizzando le parentesi in una normale espressione aritmetica) Maggio
12 Semantica delle istruzioni LD A (* Add A to B*) ADD B (* hold the value in result reg. *) MUL( A (* Defer MUL until (A-B) is av. *) SUB B ) (* Now Mul by (A-B) *) Result := (A+B) * (A-B); In questo caso quando l operatore MUL è raggiunto il risultato A+B è mantenuto nel registro. La parentesi ( indica che le operazioni che seguono agiranno su un registro risultato temporaneo fino a quando non sarà raggiunto l operatore ) Maggio
13 Semantica delle istruzioni Gli operatori parentesi forniscono una funzione simile alla memorizzazione in uno stack. LD X (* Load X*) ADD( B (* Defer ADD, Load B *) MUL( C (* Defer MUL, Load C *) ADD D (* Add D *) ) (* Mul result *) ) (* Add result *) Result := X + (B*(C+D)) Maggio
14 Semantica delle istruzioni Result register Temp Result registers LD X X ADD( B X B MUL( C X B C ADD D X B C+D ) X B*(C+D) ) X+B*(C+D) Maggio
15 Semantica delle istruzioni - MODIFICATORI Alcuni operatori IL ammettono un modificatore composto da una lettera posta dopo il nome dell operatore. Ad esempio la lettera N indica che verrà negato il valore di un operando booleano LD %IX10 (* Load input 10*) ANDN Switch1 (* AND NOT Switch1 *) JMPNC Lab1 (* Jump if not true *) Modificatori Maggio
16 Operatori Operatore Modificatori Operandi Commenti LD N ANY Carica l operando nel registro risultato ST N ANY Memorizza il registro risultato nell operando S BOOL Pone a VERO l operando R BOOL Pone a FALSO l operando AND N,( ANY AND booleano & N,( ANY AND booleano, Equivalente a AND OR N,( ANY OR booleano XOR N,( ANY XOR booleano NOT ANY Negazione logica Maggio
17 Operatori Operatore Modificatori Operandi Commenti ADD ( ANY Addizione SUB ( ANY Sottrazione MUL ( ANY Moltiplicazione DIV ( ANY Divisione MOD ( ANY Divisione modulare GT ( ANY > GE ( ANY >= EQ ( ANY = NE ( ANY NOT = Maggio
18 Operatori Operatore Modificatori Operandi Commenti LE ( ANY <= LT ( ANY < JMP C,N LABEL Salta alla label CAL C,N NAME Chiama un function block RET C,N Ritorna dalla chiamata da una funzione o da un function block ) Esegue l ultimo operatore ritardato Nel caso siano ammessi più modificatori possono essere usati entrambi contemporaneamente. Es : ANDN( oppure JMPNC Maggio
19 Chiamate a funzioni e blocchi funzioni In IL abbiamo a disposizione l operatore CAL per chiamare funzioni e function block. Lo standard mette definisce tre differenti formati di questo operatore per le chiamate dei function block e due formati per la chiamata alle funzioni La sintassi per la chiamata di un function block e di una funzione non è la stessa Maggio
20 Chiamate a funzioni e blocchi funzioni 1. Chiamata a un function block utilizzando una chiamata formale con una lista di ingressi CAL SP := PV :=( LD %IW20 ADD 10 ) ) LOOP1( In questo esempio viene chiamato il function block LOOP1 con i parametri SP posto a e il parametro PV posto al valore contenuto nell input Maggio
21 Chiamate a funzioni e blocchi funzioni 2. Chiamata a un function block utilizzando una chiamata informale LD ST LOOP1.SP LD %IW20 ADD 10 ST LOOP1.PV CAL LOOP1 Questa chiamata è equivalente a quella precedente, l unica differenza è che devo inizializzare i parametri del function block prima della chiamata Maggio
22 Chiamate a funzioni e blocchi funzioni 3. Chiamata a un function block utilizzando degli operatori di ingresso Questo tipo di chiamata può essere utilizzata solo per alcuni function block definiti nello standard. Ad esempio può essere utilizzata per il SR(Set/Reset) bistabile o per i contatori S1 Latch1 LD 10 PV CTU1 CU CTU1 Gli operatori S1, PV e CU sono riservati all uso con particolari FB Maggio
23 Chiamate a funzioni e blocchi funzioni 1. Chiamata a una function utilizzando una chiamata formale SHR( IN := %IW30 N := 10 ) Oppure LD SHR( N := 10 ) %IW30 In questo caso la chiamata avviene specificando il nome della funzione (SHR-shift right) seguita dai parametri. Il primo parametro può essere fornito direttamente dal registro risultato Maggio
24 Chiamate a funzioni e blocchi funzioni 1. Chiamata a una function utilizzando una chiamata informale LD %IW30 SHR 10 In questo caso il primo parametro viene preso dal registro risultato mentre gli altri sono presi dalla lista dei parametri che seguono il nome della funzione Maggio
25 Osservazioni La definizione di IL proposta dalla norma contiene alcune mancanze: Non definendo il comportamento di un processore virtuale non è chiaro come sono eseguite le istruzioni Non è chiaro come il registro risultato memorizzi risultati di differenti tipi di variabile, in particolare nel caso di variabili multi-elemento,strutture, stringhe, ecc. Non vengono definite condizioni di errore se per esempio non uso il tipo di dato corretto con un operatore che non lo supporta Maggio
26 Portabilità La conversione di parti di programma in IL in altri linguaggi può essere molto difficoltosa e può essere raggiunta solo se si limita l uso degli operatori e le istruzioni sono scritte seguendo un formato preciso La conversione di altri linguaggi in IL è invece più semplice ma non porta nessun particolare vantaggio Maggio
27 Norme per una buona programmazione Poiché IL è un linguaggio di basso livello molta attenzione deve essere posta nella stesura del layout del programma per permettere una facile lettura e manutenzione E molto importante che il codice IL sia ben commentato Limitare l uso delle istruzioni di salto in modo da rendere più chiaro il flusso del programma Prestare particolare attenzione nel verificare che il contenuto del registro risultato sia del tipo compatibile con l operatore che si sta usando Maggio
28 Conclusioni IL è un linguaggio semplice da implementare e può essere interpretato direttamente dal PLC. IL è adatto a scrivere porzioni di codice ottimizzato per operazioni che richiedono performance critiche E disponibile il supporto anche per trattare function e function blocks E l ideale per risolvere problemi di piccole dimensioni con pochi punti di decisione e cambiamenti nel flusso di esecuzione del programma Bisogna prestare particolare attenzione nello sviluppo di programmi in IL perché alcuni errori quali l inconsistenza del tipo di dato trattato possono essere scoperti solo run-time La conversione di IL in altri linguaggi della norma non è sempre possibile, mentre è solitamente possibile tradurre gli altri linguaggi in IL Maggio
Structured Text. Structured Text. Marco Mauri. Politecnico di Milano P.zza Leonardo da Vinci, Maggio
Structured Text Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario La struttura del linguaggio Come assegnare un valore ad una variabile Come creare espressioni
DettagliFunction Block Diagram
Function Block Diagram Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario Struttura del linguaggio e notazioni grafiche Come esprimere espressioni semplici e complesse
DettagliIstruzioni 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
DettagliLinguaggio 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
DettagliControllo di sequenze nell automazione industriale
Ingegneria e Tecnologie dei Sistemi di Controllo Controllo di sequenze nell automazione industriale PARTE 2 Prof. Alberto Tonielli, Ing. Andrea Tilli DEIS Alma Mater Studiorum Università di Bologna E-Mail:
DettagliLinguaggi di Programmazione
IEC 1131 Linguaggi di Programmazione Linguaggio a contatti (Ladder Diagram) Diagramma a blocchi funzionali (FBD) Diagramma sequenziale funzionale (SFC) Lista di istruzioni Testo strutturato Ladder Diagram
DettagliRappresentazione 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
DettagliLe 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):
DettagliSTANDARD IEC PRIMA PARTE Introduzione SECONDA PARTE Elementi comuni TERZA PARTE Linguaggi di programmazione
STANDARD IEC 61131 PRIMA PARTE Introduzione SECONDA PARTE Elementi comuni TERZA PARTE Linguaggi di programmazione 1 - Introduzione Un sistema di controllo di processi industriali deve avere tre caratteristiche
DettagliCPU. 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
DettagliLezione 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,
DettagliReti e Sistemi per l Automazione LADDER LOGIC. Stefano Panzieri Ladder Logic - 1
LADDER LOGIC Stefano Panzieri Ladder Logic - 1 Linguaggi di Programmazione IEC 1131 Linguaggio a contatti (Ladder Diagram) Diagramma a blocchi funzionali (FBD) Diagramma sequenziale funzionale (SFC) Lista
DettagliIl 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
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliFetch 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
DettagliFondamenti di Informatica T-1. Selezione
Selezione 2 Selezione Permette di differenziare il flusso di controllo a seconda che sia verificata o meno una condizione. Il flusso di controllo si ramifica in due (o più) sequenze di istruzioni alternative.
DettagliRiassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div
MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div
DettagliIstruzioni 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:
DettagliIl C nel C++ Struttura di un linguaggio. Elementi lessicali. Spazi. Livello lessicale: Livello sintattico: Livello semantico:
Struttura di un linguaggio Il C nel C++ Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliL assegnamento. Andrea Marin. a.a. 2011/2012. Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Abbiamo visto È conveniente definire una macchina astratta C Lo stato della macchina ci
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliIl 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
DettagliIl C nel C++ Struttura di un linguaggio. regole per la definizione i simboli. regole per la composizione dei simboli
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliStruttura di un linguaggio
Il C nel C++ Struttura di un linguaggio Livello lessicale: regole per la definizione i simboli Livello sintattico: regole per la composizione dei simboli Livello semantico: significato delle strutture
DettagliIstruzioni 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
DettagliSistemi 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
DettagliProgrammare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione
Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni " Architettura degli Elaboratori 1 1 Istruzioni
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliCorso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato
Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura
DettagliLezione 18 Il Set di Istruzioni (4)
Lezione 18 Il Set di Istruzioni (4) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliModifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione
Modifiche di orario Lezione 19 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Al posto della lezione di domani giovedì 22/5 (12-1)
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
DettagliJavascript: il browser
Javascript: il browser Un browser è un programma Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo Per la visualizzazione delle pagine un browser si appoggia al software di
DettagliLinguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)
Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo
DettagliCircuiti e reti combinatorie. Appendice A (libro italiano) + dispense
Circuiti e reti combinatorie Appendice A (libro italiano) + dispense Linguaggio del calcolatore Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e Anche per esprimere
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliInformatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
DettagliStrutture di controllo condizionali in Matlab
Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire
DettagliUn quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto
Un quadro della situazione Lezione 15 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri
DettagliCorso di Automazione industriale
Corso di Automazione industriale Lezione 7 PLC Testo strutturato Università degli Studi di Bergamo, Automazione Industriale, A.A. 2017/2018, A. L. Cologni 1 Introduzione Il Testo strutturato è il linguaggio
DettagliArchitettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
DettagliCorso di Automazione industriale
Corso di Automazione industriale Lezione 3 PLC - Ladder niversità degli Studi di Bergamo, Automazione Industriale, A.A. 2016/2017, A. L. Cologni 1 Idea base Il Ladder è un linguaggio a contatti: tra i
DettagliIntroduzione al C++ (continua)
Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliIstruzioni di selezione in Java 1
Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni
DettagliIstruzioni e linguaggio macchina
Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare
DettagliCorso di Architettura (Prof. Scarano) 10/05/2002
Lezione 0 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Le procedure Prima della chiamata di una procedura In ogni linguaggio di
DettagliInformazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione
Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle
DettagliLezione 17 Il Set di Istruzioni (3)
Lezione 17 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Struttura di un programma Java
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA 1 Struttura di un programma Java Un programma Java consiste in un insieme di definizioni di classi. In genere
DettagliIstruzioni MIPS per floating point
Istruzioni MIPS per floating point Architetture dei Calcolatori (lettere A-I) Coprocessore per floating point L architettura MIPS ha un coprocessore (indicato con il numero 1) che opera sui numeri in virgola
DettagliProf. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI
Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()
DettagliFondamenti 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
DettagliIstruzioni di selezione in Java 1
Le istruzioni del programma Istruzioni di selezione in Java Corso di laurea in Il controllo del flusso del programma Istruzioni condizionali o di selezione Istruzioni di ripetizione Espressioni condizionali
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Istruzioni di selezione e tipi enumerativi Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 27 SELEZIONE Permette
DettagliLe funzioni in JavaScript. Modularizzazione
Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi
DettagliIL COSTRUTTO SEQUENZA
IL COSTRUTTO SEQUENZA La programmazione strutturata Le istruzioni sono scritte una di seguito all altra nell ordine in cui vogliamo che siano interpretate dal compilatore e poi eseguite. Non sono contemplate
DettagliIl linguaggio macchina
Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari
DettagliIstruzioni 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
DettagliUniversità degli Studi di Milano
Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 3 Input/Output elementare. Operatori, espressioni e istruzioni FABIO SCOTTI Laboratorio di programmazione
DettagliFondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi
Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15
DettagliLezione 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
DettagliESERCITAZIONE 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)
DettagliCorso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani
www.sapienzafinanziaria.com Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani Coaching n. 1 Edizione marzo 2015 Sviluppo di un EA Elementi di MQL www.sapienzafinanziaria.com
DettagliUnità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso
Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile
DettagliInformatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane
Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività
DettagliFondamenti di Informatica
Fondamenti di Informatica Prof. Arcangelo Castiglione A.A. 2017/18 Outline Algebra di Boole Relazione con i Circuiti Logici Elementi Costitutivi Operatori Logici Elementari Funzioni Logiche (o Booleane)
DettagliFondamenti di Informatica. Algebra di Boole
Fondamenti di Informatica Prof. Marco Lombardi A.A. 2018/19 L 1/3 Un po di storia Il matematico inglese George Boole nel 1847 fondò un campo della matematica e della filosofia chiamato logica simbolica
DettagliLABORATORIO CPU. LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] HLT ;02 STOP.
LABORATORIO CPU LDC 10 ;00 Caricare una costante nel Accu STO 31 ;01 Salvare il valore del Accu in cella [31] HLT ;02 STOP info@stoianov.it 30 Un CPU radicalmente ridotto qui si presenta un processore
DettagliProgrammazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
DettagliPag. 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.
DettagliEUROPEAN COMPUTER DRIVING LICENCE. Computing. Syllabus
EUROPEAN COMPUTER DRIVING LICENCE Computing Syllabus Scopo Questo documento presenta il syllabus di ECDL Computing. Il syllabus descrive, attraverso i risultati del processo di apprendimento, la conoscenza
DettagliLinguaggi di programmazione
Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché
DettagliDal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
DettagliIntroduzione - aspetti generali dell informatica
Introduzione - aspetti generali dell informatica Vittorio Zaccaria, Daniele Loiacono Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione
DettagliCorso di Informatica
Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia
DettagliProf. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C
Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi
DettagliElementi di Informatica A. A. 2016/2017
Elementi di Informatica A. A. 2016/2017 Ing. Nicola Amatucci Università degli studi di Napoli Federico II Scuola Politecnica e Delle Scienze di Base nicola.amatucci@unina.it Programmazione C++ Parte 1
DettagliIstruzioni semplici e strutturate
Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliProcessore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo
DettagliVirtual CPU (Eniac): parte 2
Architettura dei Calcolatori Prof. Enrico Nardelli Università degli Studi di Roma Tor Vergata Virtual CPU (Eniac): parte 2 1 Dove eravamo rimasti OpCode 2 La ALU e le sue funzionalità Operazioni possibili:
DettagliLaboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University
DettagliPASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica
PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica La selezione semplice: if..then La selezione semplice: if..then L istruzione di selezione semplice
DettagliLinguaggi gg previsti dallo standard IEC 61131 parte III
Standard 61131 33 Linguaggi gg previsti dallo standard IEC 61131 parte III Testo strutturato Linguaggio a contatti Diagramma a blocchi funzionali Lista istruzioni Sequential Functional Chart Verrà presentato
DettagliAlgoritmi e Strutture di Dati
Algoritmi e Strutture di Dati Pseudocodifica m.patrignani Nota di copyright queste slides sono protette dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,
DettagliDall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
DettagliProgrammazione 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