Lista istruzioni ST

Flags: "D" = cambiato, "-" = non cambiato, "1" = settato
nn = valore immediato a 8 bit (0..255)  rr = contenuto locazione RAM di indirizzo rr
abc = indirizzo a 12 bit (per JP e CALL)  e = spiazzamento a 5 bit (salti -15..+16)
ee = spiazzamento a 8 bit (salti -126..+129)  b = indirizzo a 3 bit (SET/RES 0..7)

ISTRUZIONE    BYTE  CICLI   Z  C    OPERAZIONE
ADD  A,A       2      4     D  D    A <- A+A

ADD  A,X       2      4     D  D    A <- A+X
ADD  A,Y       2      4     D  D    A <- A+Y
ADD  A,V       2      4     D  D    A <- A+V
ADD  A,W       2      4     D  D    A <- A+W
ADD  A,(X)     1      4     D  D    A <- A+(X)
ADD  A,(Y)     1      4     D  D    A <- A+(Y)
ADD  A,rr      2      4     D  D    A <- A+(rr)
ADDI A,nn      2      4     D  D    A <- A+nn
AND  A,A       2      4     D  -    A <- A AND A

AND  A,X       2      4     D  -    A <- A AND X
AND  A,Y       2      4     D  -    A <- A AND Y
AND  A,V       2      4     D  -    A <- A AND V
AND  A,W       2      4     D  -    A <- A AND W
AND  A,(X)     1      4     D  -    A <- A AND (X)
AND  A,(Y)     1      4     D  -    A <- A AND (Y)
AND  A,rr      2      4     D  -    A <- A AND (rr)
ANDI A,nn      2      4     D  -    A <- A AND nn
CALL abc       2      4     -  -    Chiama una subroutine
CLR  A         2      4     1  1    A <- 0

CLR  X         3      4     -  -    X <- 0
CLR  Y         3      4     -  -    Y <- 0
CLR  V         3      4     -  -    V <- 0
CLR  W         3      4     -  -    W <- 0
CLR  rr        3      4     -  -    (rr) <- 0
COM  A         1      4     D  D    A <- NOT A
CP   A,A       2      4     D  D    Confronta A con A

CP   A,X       2      4     D  D    Confronta A con X
CP   A,Y       2      4     D  D    Confronta A con Y
CP   A,V       2      4     D  D    Confronta A con V
CP   A,W       2      4     D  D    Confronta A con W
CP   A,(X)     1      4     D  D    Confronta A con (X)
CP   A,(Y)     1      4     D  D    Confronta A con (Y)
CP   A,rr      2      4     D  D    Confronta A con (rr)
CPI  A,nn      2      4     D  D    Confronta A con nn
DEC  A         2      4     D  -    A <- A-1

DEC  X         1      4     D  -    X <- X-1
DEC  Y         1      4     D  -    Y <- Y-1
DEC  V         1      4     D  -    V <- V-1
DEC  W         1      4     D  -    W <- W-1
DEC  (X)       1      4     D  -    (X) <- (X)-1
DEC  (Y)       1      4     D  -    (Y) <- (Y)-1
DEC  rr        2      4     D  -    (rr) <- (rr)-1
INC  A         2      4     D  -    A <- A+1

INC  X         1      4     D  -    X <- X+1
INC  Y         1      4     D  -    Y <- Y+1
INC  V         1      4     D  -    V <- V+1
INC  W         1      4     D  -    W <- W+1
INC  (X)       1      4     D  -    (X) <- (X)+1
INC  (Y)       1      4     D  -    (Y) <- (Y)+1
INC  rr        2      4     D  -    (rr) <- (rr)+1
JP   abc       2      4     -  -    Salto incondizionato

JRC  e         1      2     -  -    Salta se flag C settato
JRNC e         1      2     -  -    Salta se flag C non settato
JRNZ e         1      2     -  -    Salta se flag Z non settato
JRR  b,rr,ee   3      5     -  D    Salta se bit b di (rr) = 0
JRS  b,rr,ee   3      5     -  D    Salta se bit b di (rr) = 1
JRZ  e         1      2     -  -    Salta se flag Z settato
LD   A,X       1      4     D  -    A <- X

LD   A,Y       1      4     D  -    A <- Y
LD   A,V       1      4     D  -    A <- V
LD   A,W       1      4     D  -    A <- W
LD   X,A       1      4     D  -    X <- A
LD   Y,A       1      4     D  -    Y <- A
LD   V,A       1      4     D  -    V <- A
LD   W,A       1      4     D  -    W <- A
LD   A,(X)     1      4     D  -    A <- (X)
LD   (X),A     1      4     D  -    (X) <- A
LD   A,(Y)     1      4     D  -    A <- (Y)
LD   (Y),A     1      4     D  -    (Y) <- A
LD   A,rr      2      4     D  -    A <- (rr)
LD   rr,A      2      4     D  -    (rr) <- A
LDI  A,nn      2      4     D  -    A <- nn
LDI  X,nn      3      4     -  -    X <- nn
LDI  Y,nn      3      4     -  -    Y <- nn
LDI  V,nn      3      4     -  -    V <- nn
LDI  W,nn      3      4     -  -    W <- nn
LDI  rr,nn     3      4     -  -    (rr) <- nn
NOP            1      2     -  -    Nessuna operazione
RES  b,A       2      4     -  -    Bit b di A = 0

RES  b,rr      2      4     -  -    Bit b di (rr) = 0
RET            1      2     -  -    Ritorno da subroutine

RETI           1      2     D  D    Ritorno da interrupt
RLC  A         1      4     D  D 
SET  b,A       2      4     -  -    Bit b di A = 1

SET  b,rr      2      4     -  -    Bit b di (rr) = 1
SLA  A         2      4     D  D
STOP           1      2     -  -
SUB  A,A       2      4     D  D    A <- A-A

SUB  A,X       2      4     D  D    A <- A-X
SUB  A,Y       2      4     D  D    A <- A-Y
SUB  A,V       2      4     D  D    A <- A-V
SUB  A,W       2      4     D  D    A <- A-W
SUB  A,(X)     1      4     D  D    A <- A-(X)
SUB  A,(Y)     1      4     D  D    A <- A-(Y)
SUB  A,rr      2      4     D  D    A <- A-(rr)
SUBI A,nn      2      4     D  D    A <- A-nn
WAIT           1      2     -  -

Le istruzioni di confronto effettuano una sottrazione tra A e il valore da confrontare lasciando però inalterato il valore di A.
Ad esempio:  CP A,X effettua l'operazione A-X.

L'istruzione STOP arresta il microcontroller e spegne anche l'oscillatore. WAIT arresta il microcontroller ma l'oscillatore rimane acceso.
 

Durata istruzioni con 8 Mhz di clock: 2 cicli = 3,25 µS
4 cicli = 6,5 µS
5 cicli = 8,125 µS


Pagina realizzata da Claudio Fin  -  Ultimo aggiornamento 4-10-2000