Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Prossima revisione | Revisione precedente | ||
software:qview:qview_6:qview60 [2014/10/20 16:51] – modifica esterna 127.0.0.1 | software:qview:qview_6:qview60 [2024/03/22 14:06] (versione attuale) – [5. REFERENCE] qem214 | ||
---|---|---|---|
Linea 154: | Linea 154: | ||
===== - Connessione del PC al QMOVE ===== | ===== - Connessione del PC al QMOVE ===== | ||
Prima di poter aprire il collegamento è necessario che sia attivo il gestore delle risorse QRM (Qem Resurces Manager). Si trova tra le icone in basso a sinistra della barra degli strumenti di Windows. La sua icona è {{: | Prima di poter aprire il collegamento è necessario che sia attivo il gestore delle risorse QRM (Qem Resurces Manager). Si trova tra le icone in basso a sinistra della barra degli strumenti di Windows. La sua icona è {{: | ||
- | La connessione può avvenire sia via seriale tramite il convertitore IQ009 [[http:// | + | La connessione può avvenire sia via seriale tramite il convertitore IQ009 [[https:// |
Per poter trasferire il progetto compilato alla CPU bisogna connettere il PC al sistema QMOVE. | Per poter trasferire il progetto compilato alla CPU bisogna connettere il PC al sistema QMOVE. | ||
Linea 163: | Linea 163: | ||
Appare la finestra " | Appare la finestra " | ||
Per un semplice collegamento seriale è necessario solo assicurarsi che il numero della porta COM sia corretto. Per quanto riguarda la velocità di comunicazione, | Per un semplice collegamento seriale è necessario solo assicurarsi che il numero della porta COM sia corretto. Per quanto riguarda la velocità di comunicazione, | ||
- | Per un collegamento Ethernet invece è necessario selezionare //TCP/IP// e specificare il //TCP/IP Host & Port// con il suo indirizzo IP e il numero della porta a 5001. Per configurare il QMOVE con uno specifico indirizzo IP si deve usare una delle utility installate nel QWorkbench: [[http:// | + | Per un collegamento Ethernet invece è necessario selezionare //TCP/IP// e specificare il //TCP/IP Host & Port// con il suo indirizzo IP e il numero della porta a 5001. Per configurare il QMOVE con uno specifico indirizzo IP si deve usare una delle utility installate nel QWorkbench: [[https:// |
Ora fare un doppio click sulla risorsa da usare per il collegamento e il messaggio //No connection// | Ora fare un doppio click sulla risorsa da usare per il collegamento e il messaggio //No connection// | ||
Linea 223: | Linea 223: | ||
* INPUT\\ | * INPUT\\ | ||
* OUTPUT\\ | * OUTPUT\\ | ||
- | * DATAGROUP\\ | + | |
- | * BUS\\ | + | |
- | * INTDEVICE. | + | * BUS (solo nella unit di configurazione)\\ |
+ | * REFERENCES (solo nella unit di configurazione) | ||
==== - Unit di configurazione ==== | ==== - Unit di configurazione ==== | ||
Linea 277: | Linea 279: | ||
==== - Single ==== | ==== - Single ==== | ||
- | Il dato di tipo SINGLE è utilizzato per la definizione di variabili che hanno un range di valori | + | Il dato di tipo SINGLE è un valore |
La sintassi per la definizione di una variabile SINGLE è la seguente:\\ | La sintassi per la definizione di una variabile SINGLE è la seguente:\\ | ||
<code QCL> | <code QCL> | ||
Linea 283: | Linea 285: | ||
</ | </ | ||
- | La precisione massima delle variabili SINGLE è di sette cifre (contando le cifre prima e dopo la | + | ==== - Double ==== |
- | virgola). Esempio:\\ | + | Il dato di tipo DOUBLE è un valore a virgola |
- | 1,234567 x 10< | + | La sintassi per la definizione di una variabile DOUBLE è la seguente:\\ |
- | 1,234567 x 10<sup>4</sup> Precisione del centesimo; incremento minimo = 1 centesimo.\\ | + | <code QCL> |
- | 1,234567 x 10< | + | <variable name> |
+ | </code> | ||
==== - Tabella riassuntiva dei tipi di variabili utilizzabili ==== | ==== - Tabella riassuntiva dei tipi di variabili utilizzabili ==== | ||
^Assegnando ad una variabile un valore esterno al range consentito si verifica la condizione di overflow.^ | ^Assegnando ad una variabile un valore esterno al range consentito si verifica la condizione di overflow.^ | ||
- | |Tipo dato|Codice|Spazio occupato memoria (Bit)|Intervallo| | + | | Tipo dato | Codice |
- | |FLAG|F|1|0 ÷ 1| | + | | FLAG |
- | |BYTE|B|8|-128 ÷ 127| | + | | BYTE |
- | |WORD|W|16|-32768 ÷ 32767| | + | | WORD |
- | |LONG|L|32|-2147483648 ÷ 2147483647| | + | | LONG |
- | |SINGLE|S|32|-3.4 x 10< | + | | SINGLE |
+ | | DOUBLE | ||
===== - Gli Identificatori ===== | ===== - Gli Identificatori ===== | ||
Linea 527: | Linea 533: | ||
===== - Le variabili DATAGROUP ===== | ===== - Le variabili DATAGROUP ===== | ||
- | Le variabili Datagroup sono una particolare struttura di dati. Quando si dichiara un datagroup, si organizza | + | Le variabili Datagroup sono una particolare struttura di dati, memorizzate in una zona ritentiva. Esse vengono dichiarate nella unit di configurazione |
- | Ogni programma (colonna) contiene | + | |
- | * Statiche. | + | |
- | * Indicizzate. | + | |
- | + | ||
- | Le statiche sono delle variabili che possono assumere un valore diverso a seconda del programma (della colonna) a cui si fa riferimento. Nella dichiarazione, | + | |
+ | ==== - Variabili Statiche ==== | ||
<code QCL> | <code QCL> | ||
- | dslVeMa[5] | + | DATAGROUP |
+ | < | ||
+ | DATAPROGRAM | ||
+ | <number of recipes> | ||
+ | ;Static variables declaration | ||
+ | < | ||
+ | < | ||
+ | < | ||
</ | </ | ||
- | + | Le variabili | |
- | Le variabili | + | |
<code QCL> | <code QCL> | ||
- | ddwLuPe[5,3] | + | DATAGROUP |
+ | Name | ||
+ | DATAPROGRAM | ||
+ | 100 | ||
+ | ;Static variables declaration | ||
+ | Variable1 | ||
+ | Variable2 | ||
+ | Variable3 | ||
+ | </ | ||
+ | Per far riferimento alla variabile // | ||
+ | <code QCL> | ||
+ | Variable3[5] | ||
</ | </ | ||
- | Graficamente il datagroup si può rappresentare in questo modo: | + | Possiamo immaginare la struttura della memoria di una variabile DATAGROUP, nel nostro esempio con variabili statiche, come la seguente tabella: |
- | ^_^Prog.1^Prog. 2^Prog. 3^Prog. 4^Prog. 5^_^ | + | ^ ^ |
- | ^_|dslVeMa[1]|dslVeMa[2]|dslVeMa[3]|dslVeMa[4]|dslVeMa[5]^Statiche^ | + | ^Ricetta |
- | ^Step 1|ddwLuPe[1, | + | ^Ricetta |
- | ^Step 2|ddwLuPe[1, | + | ^Ricetta |
- | ^Step 3|ddwLuPe[1, | + | ^...| | | | |
- | ^Step 4|_|_|_|_|ddwLuPe[5, | + | ^Ricetta 100| | | | |
- | ^Step 5|_|_|_|_|ddwLuPe[5, | + | |
- | Nelle due sezioni, statiche e indicizzate, | + | |
- | La sintassi per la definizione di variabili DATAGROUP è: | + | ==== - Variabili Indicizzate ==== |
<code QCL> | <code QCL> | ||
DATAGROUP | DATAGROUP | ||
< | < | ||
- | [;Number of programs (or recipe) | ||
DATAPROGRAM | DATAPROGRAM | ||
- | <number of programs> | + | <number of recipes> |
- | ;Static variables declaration | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | [;Number of steps | + | |
STEP | STEP | ||
<number of steps> | <number of steps> | ||
Linea 571: | Linea 581: | ||
< | < | ||
< | < | ||
- | < | + | < |
</ | </ | ||
- | dove: | + | Le variabili |
- | |DATAGROUP|Parola chiave per la definizione di un DataGroup.| | + | |
- | |< | + | |
- | |DATAPROGRAM|Parola chiave per la definizione delle variabili | + | |
- | |<number of programs> | + | |
- | |< | + | |
- | |< | + | |
- | |STEP|Parola chiave per la definizione delle variabili indicizzate nel DataGroup.| | + | |
- | |<number of steps> | + | |
- | |< | + | |
- | |< | + | |
- | + | ||
- | La definizione del DATAGROUP | + | |
- | * una relativa alla definizione del nome del datagroup; | + | |
- | * una relativa all’impostazione del numero programmi e delle variabili statiche (inizia con la parola chiave DATAPROGRAM); | + | |
- | * una relativa all’impostazione del numero di passi di programma e delle variabili indicizzate (inizia con la parola chiave STEP). | + | |
- | + | ||
- | Il nome datagroup segue tutte le regole generali finora incontrate | + | |
- | + | ||
- | Il numero programmi va scritto in forma numerica, oppure tramite l’ausilio di costanti e deve essere diverso da zero; il numero massimo | + | |
- | + | ||
- | Il numero | + | |
- | + | ||
- | La sottosezione DATAPROGRAM è obbligatoria, | + | |
- | + | ||
- | Non è possibile dichiarare una sezione STEP senza dichiarare almeno una variabile indicizzata. È possibile dichiarare una sezione STEP senza dichiarare una sezione DATAPROGRAM. Non è possibile dichiarare una sezione DATAPROGRAM senza dichiarare almeno una variabile statica. È possibile dichiarare una sezione DATAPROGRAM senza dichiarare una sezione STEP.\\ | + | |
- | In un DATAGROUP tutte le variabili, sia statiche che indicizzate, | + | |
- | + | ||
- | Per calcolare l’occupazione in memoria totale del DATAGROUP si deve tener presente che ogni variabile inserita nel datagroup occupata 4 byte (qualsiasi sia il tipo scelto per la variabile stessa). Quindi l’occupazione in byte è pari a: | + | |
- | + | ||
- | (N.Programmi x N.Variabili statiche x 4 ) + ( N.Programmi x N.Passi x N.Variabili indicizzate x 4).\\ | + | |
- | Esempio: | + | |
<code QCL> | <code QCL> | ||
DATAGROUP | DATAGROUP | ||
- | | + | |
DATAPROGRAM | DATAPROGRAM | ||
- | | + | |
- | ;--------------Static variables declaration------------------ | + | ;Static variables declaration |
- | | + | |
- | | + | |
+ | Variable3 | ||
STEP | STEP | ||
- | | + | |
- | ;--------------Indexed variables declaration------------- | + | ;Indexed variables declaration |
- | | + | |
- | | + | |
</ | </ | ||
- | + | Per far riferimento alla variabile | |
- | + | ||
- | Sintassi nel caso di variabile | + | |
<code QCL> | <code QCL> | ||
- | < Nome variabile Static > < [ num_prog | + | Variable4[5, 9] |
</ | </ | ||
- | Sintassi nel caso di variabile indicizzate: | + | Possiamo immaginare la struttura della memoria |
- | <code QCL> | + | |
- | < Nome variabile Index > < [ num_prog, num_step ] > | + | |
- | </ | + | |
- | // | + | ^ ^ Variable1 |
+ | ^Ricetta 1| | | | | | | | | | | | | | | ||
+ | ^::: | ||
+ | ^Ricetta 2| | | | | | | | | | | | | | | ||
+ | ^::: | ||
+ | ^Ricetta 3| | | | | | | | | | | | | | | ||
+ | ^::: | ||
+ | ^...| | | | | | | | | | | | | | | ||
+ | ^::: | ||
+ | ^Ricetta 100| | | | | | | | | | | | | | | ||
+ | ^::: | ||
+ | Altre informazioni: | ||
+ | * In un DATAGROUP tutte le variabili, sia statiche che indicizzate, | ||
+ | * Le variabili Datagroup possono essere più di una, in questo caso è necessario inserire più parole chiave DATAGROUP. | ||
+ | * La sottosezione DATAPROGRAM è obbligatoria, | ||
+ | * Il numero massimo di ricette impostabile è 65534. | ||
+ | * Il numero massimo di passi impostabile è 65534. | ||
+ | * Rispetto ad un comune array, le variabili statiche possono supportare anche un dato di dimensione Flag (F). | ||
===== - Sezione BUS ===== | ===== - Sezione BUS ===== | ||
Linea 835: | Linea 827: | ||
La variabile // | La variabile // | ||
- | ^La dichiarazione di INTDEVICE, INPUT, OUTPUT può avvenire | + | <WRAP center round important 60%> |
+ | La dichiarazione di **INTDEVICE**, **INPUT**, **OUTPUT** può avvenire | ||
+ | </ | ||
====== - COSTANTI ====== | ====== - COSTANTI ====== | ||
Linea 1150: | Linea 1145: | ||
ENDSWITCH | ENDSWITCH | ||
</ | </ | ||
- | |||
==== - WAIT ==== | ==== - WAIT ==== | ||
Attende il verificarsi di una condizione o di un evento. L' | Attende il verificarsi di una condizione o di un evento. L' | ||
Linea 1204: | Linea 1198: | ||
incontrata una istruzione di chiamata a subroutine (CALL). La subroutine viene identificata da | incontrata una istruzione di chiamata a subroutine (CALL). La subroutine viene identificata da | ||
un nome preceduto dalla parola chiave SUB e deve terminare con la parola chiave ENDSUB. Vedi | un nome preceduto dalla parola chiave SUB e deve terminare con la parola chiave ENDSUB. Vedi | ||
- | anche istruzione CALL. | + | anche istruzione CALL.\\ Per interrompere una subroutine prima del termine della stessa inserire la parola chiave RETURN. |
==== - CALL ==== | ==== - CALL ==== | ||
Linea 1408: | Linea 1402: | ||
</ | </ | ||
+ | ==== - Shift a sinistra ==== | ||
+ | Esegue una operazione di shift a sinistra di //n// bit sull' | ||
+ | Lo shift è da intendersi indifferentemente sia //logico// che // | ||
+ | \\ | ||
+ | - I bit che escono dalla sequenza a sinistra vengono perduti.\\ | ||
+ | - I bit che entrano nella sequenza a destra sono degli 0.\\ | ||
+ | \\ | ||
+ | Dal punto di vista matematico si tratta della moltiplicazione dell' | ||
+ | La sintassi è:\\ | ||
+ | <code QCL> | ||
+ | SHLL(< | ||
+ | </ | ||
+ | Esempio: | ||
+ | <code QCL> | ||
+ | glNewValue = SHLL(glValue, | ||
+ | ; Se glValue = & | ||
+ | </ | ||
+ | |||
+ | ==== - Shift a destra ==== | ||
+ | Esegue una operazione di shift a destra di //n// bit sull' | ||
+ | Lo shift è da intendersi // | ||
+ | \\ | ||
+ | - I bit che escono dalla sequenza a destra vengono perduti.\\ | ||
+ | - I bit che entrano nella sequenza a sinistra sono delle copie del bit più significativo (ossia di quello più a sinistra).\\ | ||
+ | \\ | ||
+ | Dal punto di vista matematico si tratta della divisione dell' | ||
+ | La sintassi è:\\ | ||
+ | <code QCL> | ||
+ | SHLR(< | ||
+ | </ | ||
+ | Esempio: | ||
+ | <code QCL> | ||
+ | glValue = SHLR(glValue, | ||
+ | ; Se glValue = & | ||
+ | ; Se glValue = & | ||
+ | </ | ||
+ | |||
+ | ==== - Moltiplicazione e divisione ==== | ||
+ | Esegue una moltiplicazione di valori interi a 32 bit con risultato a 64 bit e una successiva divisione per valore intero a 32 bit. Il risultato è un valore di 32 bit.\\ **N.B.** Se viene eseguita una divisione per zero, la CPU andrà in stato " | ||
+ | <code QCL> | ||
+ | MULDIV(< | ||
+ | </ | ||
+ | Esempio: glValue = a * b / c | ||
+ | <code QCL> | ||
+ | glValue = MULDIV(a, b, c) | ||
+ | </ | ||
+ | |||
+ | ==== - Resto di moltiplicazione e divisione ==== | ||
+ | Esegue una moltiplicazione di valori interi a 32 bit con risultato a 64 bit e una successiva divisione per valore intero a 32 bit. Il risultato è il resto della divisione.\\ **N.B.** Se viene eseguita una divisione per zero, la CPU andrà in stato " | ||
+ | <code QCL> | ||
+ | RMULDIV(< | ||
+ | </ | ||
+ | Esempio: glValue = a * b % c | ||
+ | <code QCL> | ||
+ | glValue = RMULDIV(a, b, c) | ||
+ | </ | ||
+ | |||
+ | ==== - Arrotondamenti all' | ||
+ | |ROUND|Esegue un arrotondamento di un valore in floating point all' | ||
+ | |TRUNC|Esegue un arrotondamento di un valore in floating point all' | ||
+ | |FLOOR|Esegue un arrotondamento di un valore in floating point all' | ||
+ | |CEIL|Esegue un arrotondamento di un valore in floating point all' | ||
+ | La sintassi è:\\ | ||
+ | <code QCL> | ||
+ | ROUND(< | ||
+ | TRUNC(< | ||
+ | FLOOR(< | ||
+ | CEIL(< | ||
+ | </ | ||
+ | Esempio: | ||
+ | <code QCL> | ||
+ | gsValue = ROUND(2.7) | ||
+ | gsValue = ROUND(-2.7) | ||
+ | gsValue = TRUNC(2.7) | ||
+ | gsValue = TRUNC(-2.7) | ||
+ | gsValue = FLOOR(2.7) | ||
+ | gsValue = FLOOR(-2.7) | ||
+ | gsValue = CEIL(2.7) | ||
+ | gsValue = CEIL(-2.7) | ||
+ | </ | ||
+ | |||
+ | ==== - Operatori di classificazione ==== | ||
+ | |ISFINITE|Controlla se il numero dato ha valore finito.| | ||
+ | |ISINF|Controlla se il numero dato ha valore infinito.| | ||
+ | |ISNAN|Controlla se il numero dato ha valore NaN.| | ||
+ | |ISNORMAL|Controlla se il numero dato ha valore normale.| | ||
+ | La sintassi è:\\ | ||
+ | <code QCL> | ||
+ | ISFINITE(< | ||
+ | ISINF(< | ||
+ | ISNAN(< | ||
+ | ISNORMAL(< | ||
+ | </ | ||
+ | Esempio: | ||
+ | <code QCL> | ||
+ | gfValue = ISFINITE(gsValue) | ||
+ | gfValue = ISINF(gsValue) | ||
+ | gfValue = ISNAN(gsValue) | ||
+ | gfValue = ISNORMAL(gsValue) | ||
+ | </ | ||
===== - Funzioni trigonometriche ===== | ===== - Funzioni trigonometriche ===== | ||
Linea 3444: | Linea 3538: | ||
In questo capitolo vengono riassunte le parole chiave del QCL. | In questo capitolo vengono riassunte le parole chiave del QCL. | ||
- | ^ABS|valore assoluto| | + | ^ ABS | valore assoluto |
- | ^ACOS|arcocoseno| | + | ^ ACOS |
- | ^AND|AND logico| | + | ^ AND | AND logico |
- | ^ANDB|And logico bit a bit| | + | ^ ANDB |
- | ^APPLICATION|Radice implicita di ogni simbolo utilizzato| | + | ^ APPLICATION |
- | ^ARRGBL|sezione file di configurazione| | + | ^ ARRGBL |
- | ^ARRSYS|sezione file di configurazione| | + | ^ ARRSYS |
- | ^ASIN|arcoseno| | + | ^ ASIN |
- | ^ATAN|arcotangente| | + | ^ ATAN |
- | ^B|byte| | + | ^ B | byte | |
- | ^BEGIN|sezione codice operativo nella unit| | + | ^ BEGIN | sezione codice operativo nella unit |
- | ^BREAK|break| | + | ^ BREAK | break |
- | ^BUS|sezione file di configurazione| | + | ^ BUS | sezione file di configurazione |
- | ^CALL|chiamata subroutine| | + | ^ CALL |
- | ^CASE|istruzione SWITCH-CASE| | + | ^ CASE |
- | ^CONST|sezione file di configurazione| | + | ^ CEIL | arrotondamento a intero non inferiore a quello dato | |
- | ^COS|coseno| | + | ^ CONST | sezione file di configurazione |
- | ^COT|cotangente| | + | ^ COS | coseno |
- | ^DATAGROUP|sezione file di configurazione| | + | ^ COT | cotangente |
- | ^DATAPROGRAM|sezione file di configurazione| | + | ^ D | double |
- | ^DEVGROUP|inizio raggruppamento device| | + | ^ DATAGROUP |
- | ^ELSE|" | + | ^ DATAPROGRAM |
- | ^END|fine task| | + | ^ DEVGROUP |
- | ^ENDDEVGROUP|fine raggruppamento device| | + | ^ ELSE |
- | ^ENDIF|fine istruzione IF| | + | ^ END | fine task |
- | ^ENDSUB|fine subroutine| | + | ^ ENDDEVGROUP |
- | ^ENDSWITCH|fine SWITCH| | + | ^ ENDIF | fine istruzione IF | |
- | ^ENDWHILE|fine while| | + | ^ ENDSUB |
- | ^EQ|uguale| | + | ^ ENDSWITCH |
- | ^EXP|esponenziale| | + | ^ ENDWHILE |
- | ^EXTDEVICE|sezione file di configurazione| | + | ^ EQ |
- | ^F|flag| | + | ^ EXP | esponenziale |
- | ^FOR|istruzione FOR| | + | ^ EXTDEVICE |
- | ^FPROG|istruzione FPROG| | + | ^ F | flag | |
- | ^FSTEP|istruzione FSTEP| | + | ^ FLOOR | arrotondamento a intero non superiore a quello dato | |
- | ^GE|maggiore | + | ^ FOR | istruzione FOR | |
- | ^GLOBAL|sezione file di configurazione| | + | ^ FPROG | istruzione FPROG | |
- | ^GT|maggiore| | + | ^ FSTEP | istruzione FSTEP | |
- | ^IF|istruzione IF| | + | ^ GE |
- | ^INPUT|sezione file di configurazione| | + | ^ GLOBAL |
- | ^INTDEVICE|sezione file di configurazione| | + | ^ GT |
- | ^JUMP|istruzione JUMP| | + | ^ IF |
- | ^LE|minore o uguale| | + | ^ INPUT | sezione file di configurazione |
- | ^LN|logaritmo naturale| | + | ^ INTDEVICE |
- | ^LT|minore| | + | ^ ISFINITE |
- | ^NEG|negazione (inversione del segno o complemento a 2)| | + | ^ ISINF |
- | ^NEQ|operatore| | + | ^ ISNAN | controlla se il valore è Nan (Not a Number) |
- | ^NEXT|istruzione NEXT| | + | ^ ISNORMAL |
- | ^NOP|istruzione NOP| | + | ^ JUMP |
- | ^NOT|negazione| | + | ^ LE |
- | ^NOTB|negazione bit a bit (complemento a 1)| | + | ^ LN |
- | ^OR|OR logico| | + | ^ LT |
- | ^ORB|OR logico bit a bit| | + | ^ MULDIV |
- | ^OUTPUT|sezione file di configurazione| | + | ^ NEG | negazione (inversione del segno o complemento a 2) | |
- | ^POW|potenza| | + | ^ NEQ | operatore |
- | ^REFERENCE|proprietà di " | + | ^ NEXT |
- | ^REFERENCE|inizio dell' | + | ^ NOP | istruzione NOP | |
- | ^RESOUT|reset uscite| | + | ^ NOT | negazione |
- | ^S|singola precisione| | + | ^ NOTB |
- | ^SETOUT|setta uscita| | + | ^ OR |
- | ^SIN|seno| | + | ^ ORB | OR logico bit a bit |
- | ^SQRT|radice quadrata| | + | ^ OUTPUT |
- | ^STEP|sezione file di configurazione| | + | ^ POW | potenza |
- | ^SUB|subroutine| | + | ^ REFERENCE |
- | ^SWITCH|istruzione SWITCH-CASE| | + | ^ REFERENCES |
- | ^SYSTEM|sezione file di configurazione| | + | ^ RESOUT |
- | ^RESTART|istruzione di restart| | + | ^ RESTART |
- | ^RESUME|istruzione di resume| | + | ^ RESUME |
- | ^SUSPEND|istruzione di sospensione| | + | ^ RETURN |
- | ^TAN|tangente| | + | ^ RMULDIV |
- | ^TIMER|sezione file di configurazione| | + | ^ ROUND | arrotondamento a intero più vicino |
- | ^W|word| | + | ^ S | single |
- | ^WAIT|istruzione di wait| | + | ^ SETOUT |
- | ^WHILE|istruzione di while| | + | ^ SHLL | shift a sinistra |
- | ^XORB|OR esclusivo bit a bit| | + | ^ SHLR | shift a destra |
+ | ^ SIN | seno | | ||
+ | ^ SQRT | ||
+ | ^ STEP | ||
+ | ^ SUB | subroutine | ||
+ | ^ SUSPEND | ||
+ | ^ SWITCH | ||
+ | ^ SYSTEM | ||
+ | ^ TAN | tangente | ||
+ | ^ TIMER | sezione file di configurazione | ||
+ | ^ TRUNC | arrotondamento a intero non maggiore di grandezza | ||
+ | ^ W | word | | ||
+ | ^ WAIT | ||
+ | ^ WHILE | istruzione di while | ||
+ | ^ XORB | ||
Oltre a queste vanno considerate le direttive del precompilatore | Oltre a queste vanno considerate le direttive del precompilatore | ||
Linea 3530: | Linea 3639: | ||
< | < | ||
- | |||
====== - Appendice E: Tasti caldi ====== | ====== - Appendice E: Tasti caldi ====== | ||