IL SET DI ISTRUZIONI

TIPI DI ISTRUZIONE

- TRASFERIMENTO DATI (LD, LDI)

- OPERAZIONI ARITMETICHE-LOGICHE (ADD, ADDI, AND, ANDI, COM, CP, CPI, DEC, INC,                                                                                                               SUB, SUBI, SLA, RLC)

- SALTO, CHIAMATA, RITORNO (CALL, JP, JRC, JRNC, JRNZ, JRR, JRS, JRZ, RET, RETI)

- CONTROLLO DI BIT (RES, SET)

- CONTROLLO DI CPU (NOP, STOP, WAIT)

 

SET DI ISTRUZIONI ST6

ADD     ADDI    AND      ANDI     CALL     CLR      COM     CP     CPI      DEC     INC     JP      JRC     JRNR     JRNZ      JRR     JRS     JRZ      LD     LDI     NOP      RES     RET     RETI      RLC     SET     SLA      STOP     SUB     SUBI      WAIT

____________________________________________________________________________________   

ADD --- somma

Il contenuto di una variabile viene sommato al contenuto dell'accumulatore ed il risultato è memorizzato nell'accumulatore. Formati possibili:                                                                                                                     

ADD A,A                                                                                                                                                                    

ADD A,X                                                                                                                                                                     

ADD A,Y                                                                                                                                                                      

ADD A,V                                                                                                                                                                     

ADD A,W                                                                                                                                                                    

ADD A,(X)                                                                                                                                                                   

ADD A,(Y)                                                                                                                                                                  

ADD A,rr                                                                                                                                                                           

 

A = registro accumulatore                                                                                                                                            

X, Y, V, W = registri del micro                                                                                                                                      

rr = indirizzo della variabile (1 byte)                                                                                                                     

Cicli macchina = 4                                                                                                                                                           

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                   

Il flag C è settato se l'operazione da un riporto, cioè se è maggiore di 255 (FFh)   

____________________________________________________________________________________                                                                                                                                                                                       ADDI --- somma immediata                                                                                                                                         Un numero viene sommato al contenuto dell'accumulatore ed il risultato è memorizzato nell'accumulatore. Formati possibili:                                                                                                                                                      

ADDI A, nn                                                                                                                                                                        

 

A = registro accumulatore                                                                                                                                            

nn = numero da 0 a 255 (FFh)                                                                                                                                   

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C è settato se l'operazione da un riporto, cioè se è maggiore di 255(FFh)

____________________________________________________________________________________

AND --- funzione logica AND

Funzione logica AND tra l'accumulatore ed una variabile. Il risultato è memorizzato nell'accumulatore. Formati possibili:

ADD A,A                                                                                                                                                                     

ADD A,X                                                                                                                                                                      

ADD A,Y                                                                                                                                                                      

ADD A,V                                                                                                                                                                     

ADD A,W                                                                                                                                                                       

ADD A,(X)                                                                                                                                                                   

ADD A,(Y)                                                                                                                                                                     

ADD A,rr                                                                                                                                                                           

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è influenzato

____________________________________________________________________________________

ANDI --- funzione logica AND immediata

Funzione logica AND tra l'accumulatore ed un numero. Il risultato è memorizzato nell'accumulatore. Formati possibili:

ANDI A, nn

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è influenzato

____________________________________________________________________________________

CALL --- chiama subroutine

Richiama una subroutine. Formati disponibili:

CALL nomesub

 

nomesub = etichetta della subroutine da eseguire                                                                                               

Cicli macchina = 4                                                                                                                                                             

I flag Z e C non sono influenzati

____________________________________________________________________________________

CLR --- azzera byte

Resetta l'accumulatore, un registro o una variabile. Formati disponibili:

CLR A                                                                                                                                                                           

CLR X                                                                                                                                                                            

CLR Y                                                                                                                                                                            

CLR V                                                                                                                                                                       

CLRW                                                                                                                                                                        

CLRrr

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato                                                                                                                                                               

Il flag C non è resettato

____________________________________________________________________________________

COM --- complemento byte

Calcola il complemento del contenuto dell'accumulatore e memorizza il risultato nell'accumulatore. Formati disponibili:

COM A

 

A = registro accumulatore                                                                                                                                         

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è settato se prima della funzione COM il bit 7 di A è 1

____________________________________________________________________________________

CP --- compara

Compara il contenuto di un registro o di una variabile con l'accumulatore. Formati disponibili:

CP A, A                                                                                                                                                                            

CP A, X                                                                                                                                                                            

CP A, Y                                                                                                                                                                            

CP A, (X)                                                                                                                                                                          

CP A, (Y)                                                                                                                                                                          

CP A, rr

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se i numeri sono uguali, resettato se diversi                                                                                

Il flag C non è settato se l'accumulatore è minore del registro o della variabile, resettato se maggiore o uguale

_____________________________________________________________________________________

CPI --- compara immediato

Compara il contenuto dell'accumulatore con un numero. Formati disponibili:

CPI A, nn

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se i numeri sono uguali, resettato se diversi                                                                                

Il flag C non è settato se l'accumulatore è minore del numero, resettato se maggiore o uguale

_____________________________________________________________________________________

DEC --- decremente

Decrementa di 1 il contenuto dell'accumulatore, di un registro o di una variabile. Formati disponibili:

DEC A                                                                                                                                                                           

DEC X                                                                                                                                                                           

DEC Y                                                                                                                                                                           

DEC V                                                                                                                                                                           

DEC W                                                                                                                                                                          

DEC (X)                                                                                                                                                                         

DEC (Y)                                                                                                                                                                         

DEC rr

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                       

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è influenzato

_____________________________________________________________________________________

INC --- incrementa

Incrementa di 1 il contenuto dell'accumulatore, di un registro o di una variabile. Formati disponibili:

INC A                                                                                                                                                                             

INC X                                                                                                                                                                             

INC Y                                                                                                                                                                             

INC V                                                                                                                                                                             

INC W                                                                                                                                                                            

INC (X)                                                                                                                                                                           

INC (Y)                                                                                                                                                                           

INC rr

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è influenzato

_____________________________________________________________________________________

JP --- salta

Effettua un salto incondizionato ad una etichetta. Formati disponibili:

JP abc

 

abc = etichetta                                                                                                                                                              

Cicli macchina = 4                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

JRC --- salta se c'è riporto

Salta ad una etichetta se il flag Carry è settato. Formati disponibili:

JRC e

 

e = numero che rappresenta la distanza in byte dell'etichetta di salto rispetto all'istruzione JRC                

Cicli macchina = 2                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

JRNR --- salta se non c'è riporto

Salta ad una etichetta se il flag Carry è resettato. Formati disponibili:

JRNC e

 

e = numero che rappresenta la distanza in byte dell'etichetta di salto rispetto all'istruzione JRNC            

Cicli macchina = 2                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

JRNZ --- salta se l'operazione non da 0

Salta ad una etichetta se il flag Zero è resettato. Formati disponibili:

JRNZ e

 

e = numero che rappresenta la distanza in byte dell'etichetta di salto rispetto all'istruzione JRNZ           

Cicli macchina = 2                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

JRR --- salta se bit è 0

Salta ad una etichetta se un determinato bit di una variabile è resettato. Formati disponibili:

JRR b, rr, ee

 

b = numero del bit da testare (da 0 a 7)                                                                                                                        

rr = byte di indirizzamento della variabile                                                                                                                

ee = numero che rappresenta la distanza in byte dell'etichetta di salto rispetto all'istruzione JRR              

Cicli macchina = 5                                                                                                                                                            

Il flag Z non è influenzato                                                                                                                                               

Il flag C contiene il valore del bit testato

_____________________________________________________________________________________

JRS --- salta se il bit è 1

Salta ad una etichetta se un determinato bit di una variabile è settato. Formati disponibili:

JRS b, rr, ee

 

b = numero del bit da testare (da 0 a 7)                                                                                                                        

rr = byte di indirizzamento della variabile                                                                                                                

ee = numero che rappresenta la distanza in byte dell'etichetta di salto rispetto all'istruzione JRS               

Cicli macchina = 5                                                                                                                                                            

Il flag Z non è influenzato                                                                                                                                               

Il flag C contiene il valore del bit testato

_____________________________________________________________________________________

JRZ --- salta se l'operazione da 0

Salta ad una etichetta se il flag Zero è settato. Formati disponibili:

JRZ e

 

e = numero che rappresenta la distanza in byte dell'etichetta di salto rispetto all'istruzione JRNZ            

Cicli macchina = 2                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

LD --- carica registro

Serve per caricare il valore contenuto in una variabile, in un registro o nell'accumulatore. Per questa istruzione va sempre usato l'accumulatore. Formati disponibili:

LD A, X                                                                                                                                                                            

LD A, Y                                                                                                                                                                            

LD A, V                                                                                                                                                                           

LD A, W                                                                                                                                                                          

LD X, A                                                                                                                                                                            

LD Y, A                                                                                                                                                                            

LD V, A                                                                                                                                                                           

LD W, A                                                                                                                                                                          

LD A, (X)                                                                                                                                                                         

LD A, (Y)                                                                                                                                                                         

LD (X), A                                                                                                                                                                         

LD (Y), A                                                                                                                                                                         

LD A, rr                                                                                                                                                                           

LD rr, A

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                      

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è influenzato

_____________________________________________________________________________________

LDI --- carica registro immediato

Serve per caricare un numero in una variabile, in un registro o nell'accumulatore. Formati disponibili:

LDI A, nn                                                                                                                                                                       

LDI X, nn                                                                                                                                                                        

LDI Y, nn                                                                                                                                                                        

LDI V, nn                                                                                                                                                                       

LDI W, nn                                                                                                                                                                      

LDI rr, nn

 

A = registro accumulatore                                                                                                                                             

X, Y, V, W = registri del micro                                                                                                                                       

rr = indirizzo della variabile (1 byte)                                                                                                                          

nn = numero di 1 byte                                                                                                                                                

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è influenzato

_____________________________________________________________________________________

NOP --- nessuna operazione

Esegue 2 cicli macchina a vuoto. Viene usata per creare dei piccoli ritardi. Formati disponibili:

NOP

 

Cicli macchina = 2                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

RES --- resetta bit

Resetta uno degli 8 bit di una variabile o dell'accumulatore. Formati disponibili:

RES b, A                                                                                                                                                                         

RES b, rr

 

A = registro accumulatore                                                                                                                                              

rr = indirizzo della variabile (1 byte)                                                                                                                           

b = numero del bit da resettare (da 0 a 7)                                                                                                              

Cicli macchina = 4                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

RET --- ritorna da una subroutine

Esce dalla subroutine e ritorna al punto della chiamata CALL. Formati disponibili:

RET

 

I flag Z e C non sono influenzati

_____________________________________________________________________________________

RETI --- ritorna da un interrupt

Esce dalla subroutine di interrupt e ritorna al punto precedente all'evento di interrupt. Formati disponibili:

RETI

 

I flag Z e C vengono riportati alla condizione in cui si trovavano prima dell'interrupt

_____________________________________________________________________________________

RLC --- ruota a sinistra con riporto

Ruota a sinistra i bit dell'accumulatore. Trasferisce il bit 7 nel Carry, mentre il contenuto precedente del carry passa nel bit 0 dell'accumulatore. Formati disponibili:

RLC A

 

A = registro accumulatore                                                                                                                                         

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C riporta il valore del bit 7

_____________________________________________________________________________________

SET --- setta bit

Setta uno degli 8 bit di una variabile o dell'accumulatore. Formati disponibili:

SET b, A                                                                                                                                                                         

SET b, rr                                                                                                                                            

 

A = registro accumulatore                                                                                                                                              

rr = indirizzo della variabile (1 byte)                                                                                                                            

b = numero del bit da settare (1 byte)                                                                                                                     

Cicli macchina = 4                                                                                                                                                             

I flag Z e C non sono influenzati

_____________________________________________________________________________________

SLA --- ruota a sinistra senza riporto

Ruota a sinistra i bit dell'accumulatore. Trasferisce il bit 7 nel carry cancellando il valore precedente. Equivale a una moltiplicazione per 2. Formati disponibili:

SLA A

 

A = registro accumulatore                                                                                                                                         

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C riporta il valore del bit 7

_____________________________________________________________________________________

STOP --- blocca il funzionamento del micro

Blocca l'oscillatore di clock mettendo in standby tutto il microprocessore. Formati disponibili:

STOP

 

Cicli macchina = 2

I flag Z e C non sono influenzati

_____________________________________________________________________________________

SUB --- sottrazione

Il contenuto di una variabile viene sottratto al contenuto dell'accumulatore ed il risultato è memorizzato nell'accumulatore. Formati disponibili:

SUB A, A                                                                                                                                                                       

SUB A, X                                                                                                                                                                        

SUB A, Y                                                                                                                                                                        

SUB A, V                                                                                                                                                                      

SUB A, W                                                                                                                                                                     

SUB A, (X)                                                                                                                                                                     

SUB A, (Y)                                                                                                                                                                     

SUB A, rr

 

A = registro accumulatore                                                                                                                                            

nn = numero di 1 byte                                                                                                                                                

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è settato se il contenuto dell'accumulatore è minore del numero, resettato se maggiore o uguale.

_____________________________________________________________________________________

SUBI --- sottrazione immediata

Un numero viene sotratto al contenuto dell'accumulatore ed il risultato è memorizzato nell'accumulatore. Formati disponibili:

SUBI A, nn                                                                                                                                                     

 

A = registro accumulatore                                                                                                                                            

nn = numero di 1 byte                                                                                                                                                

Cicli macchina = 4                                                                                                                                                            

Il flag Z è settato se il risultato è 0, resettato se diverso da 0                                                                                    

Il flag C non è settato se il contenuto dell'accumulatore è minore del numero, resettato se maggiore o uguale.

_____________________________________________________________________________________

WAIT --- stato di attesa

Mette in standby il microprocessore, ma l'oscillatore do clock rimane attivo. Formati disponibili:

WAIT

 

Cicli macchina = 2                                                                                                                                                             

I flag Z e C non sono influenzati

 

Introduzione