Programmazione in AWL
Programmazione in AWL
Istruzioni
Registri
RLC
Accumulatori
Indicatori
Operazioni sugli accumulatori
TAK (Scambio accumulatori)
INC (Incremento)
DEC (Decremento)
NOP0 (Operazione nulla)
Operazioni logiche a bit
U [A] (And o test sullo stato 1)
UN [AN] (And Not o test sullo stato 0)
O (Or o test sullo stato 1)
ON (Or Not o test sullo stato 0)
X (Xor o test sullo stato 1)
XN (Xor Not o test sullo stato 0)
O (Or di AND)
U( [A(] (Apertura di parentesi in combinazione And)
UN( [AN(] (Apertura di parentesi in combinazione and Not)
O( (Apertura di parentesi in combinazione Or)
ON( (Apertura di parentesi in combinazione Or Not)
X( (Apertura di parentesi in combinazione Xor)
XN( (Apertura di parentesi in combinazione Xor Not)
FP (Fronte di salita)
FN (Fronte di discesa)
NOT
SET
CLR
S (Set)
R (Reset)
= (Assegnazione)
Operazioni di caricamento e trasferimento
L (Caricamento)
LC (Caricamento BCD)
T (Trasferimento)
Operazioni di controllo del programma
UC (Richiamo incondizionato di blocco)
CC (Richiamo condizionato di blocco)
CALL (Richiamo di blocco con parametri)
BE (Fine blocco)
BEA [BEU] (Fine blocco incondizionata)
BEB [BEC] (Fine blocco condizionata)
Set di operazioni
OD (Or su doppia word)
XOD (Xor su doppia word)
Operazioni di temporizzazione
SI [SP] (Impulso)
SV [SE] (Impulso prolungato)
SE [SD] (Ritardo all’eccitazione)
SS (Ritardo all’eccitazione con memoria)
SA [SF] (Ritardo alla diseccitazione)
R (Reset di un temporizzatore)
Operazioni di conteggio
S (Set di un contatore)
R (Reset di un contatore)
ZV [CU] (Conteggio in avanti)
ZR [CD] (Conteggio indietro)
Operazioni matematiche con numeri interi
+ (Addizione di intero)
+I (Addizione a 16 bit)
-I (Sottrazione a 16 bit)
*I (Moltiplicazione a 16 bit)
/I (Divisione a 16 bit)
+D (Addizione a 32 bit)
-D (Sottrazione a 32 bit)
*D (Moltiplicazione a 32 bit)
/D (Divisione a 32 bit)
MOD (Modulo)
Operazioni di confronto
==I (Confronto su uguale a 16 bit)
><I (Confronto su diverso a 16 bit)
>I (Confronto su maggiore a 16 bit)
>=I (Confronto su maggiore o uguale a 16 bit)
<I (Confronto su minore a 16 bit)
<=I (Confronto su minore o uguale a 16 bit)
==D (Confronto su uguale a 32 bit)
><D (Confronto su diverso a 32 bit)
>D (Confronto su maggiore a 32 bit)
>=D (Confronto su maggiore o uguale a 32 bit)
<D (Confronto su minore a 32 bit)
<=D (Confronto su minore o uguale a 32 bit)
Operazioni di conversione
INVI (Complemento a 1 a 16 bit)NEGI (Complemento a 2 a 16 bit)
NEGI (Complemento a 2 a 16 bit)
INVD (Complemento ad 1 a 32 bit)
NEGD (Complemento ad 2 a 32 bit)
Operazioni logiche su parola
UW [AW] (And su word)
OW (Or su word)
XOW (Xor su word)
UD [AD] (And su doppia word)
OD (Or su doppia word)
XOD (Xor su doppia word)
Operazioni di scorrimento e rotazione
SLW (Scorrimento a sinistra su 16 bit)
SRW (Scorrimento a destra su 16 bit)
SLD (Scorrimento a sinistra su 32 bit)
SRD (Scorrimento a destra su 32 bit)
RLD (Rotazione a sinistra su 32 bit)
RRD (Rotazione a destra su 32 bit)
Operazioni per blocchi dati
AUF [OPN] (Apertura di un blocco dati)
Operazioni di salto
SPA [JU] (Salto incondizionato)
SPB [JC] (Salto se RLC=1)
SPBN [JCN] (Salto se RLC=0)
SPO [JO] (Salto su overflow)
SPZ [JZ] (Salto su risultato nullo)
SPN [JN] (Salto su risultato non nullo)
SPP [JP] (Salto su risultato positivo)
SPM [JM] (Salto su risultato negativo)
SPMZ [JMZ] (Salto su risultato negativo o nullo)
SPPZ [JPZ] (Salto su risultato positivo o nullo)