COMANDI ASM     Macro Comandi   Note Utili


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

- ADD addizione

somma il contentuto di una variabile con l'accumulatore e memorizza il

risultato nell'accumulatore

ADD a,variabile

BYTES = 1 o 2 CICLI = 4 FLAG USATI = Z e C

- ADDI addizione immediata

somma un numero con l'accumulatore e memorizza il risultato nell'accu-

mulatore

ADDI a,30

BYTES = 2 CICLI = 4 FLAG USATI = Z e C

- AND AND logico

funzione AND tra l'accumulatore e una variabile. Il risultato viene

memorizzato nell'accumulatore

AND a,variabile

............a=0101110

variabile=0100100

.risultato=0100100

BYTES = 1 o 2 CICLI = 4
FLAG USATI = Z

- ANDI AND logico immediato

funzione AND tra l'accumulatore e un numero. Il risultato viene memoriz-

zato nell'accumulatore

BYTES = 2 CICLI = 4 FLAG USATI = Z

- CALL chiama subroutine

richiama una subroutine

BYTES = 2 CICLI = 4 FLAG USATI = nessuno

- CLR clear

azzera il contenuto di una variabile, dell'accumulatore o di un registro

CLR a

CLR variabile

BYTES = 2 o 3 CICLI = 4 FLAG USATI = Z e C (solo con accum.)

- COM complementa

calcola il complemento del numero contenuto nell'accumulatore e memorizza

il risultato nell'accumulatore

a=11100011

COM a

a=00011100

BYTES = 1 CICLI = 4 FLAG USATI = Z e C

- CP compara

compara il contenuto di un registro o di una variabile con l'accumulatore

L'accumulatore rimane invariato

da usare in congiunzione con JRC--JRNC--JRNZ--JRZ

BYTES = 1 o 2 CICLI = 4 FLAG USATI = Z e C

- CPI compara immediato

compara un numero con l'accumulatore. L'accumulatore rimane invariato

da usare in congiunzione con JRC--JRNC--JRNZ--JRZ

BYTES = 2 CICLI = 4 FLAG USATI = Z e C

- DEC decrementa

decrementa di 1 il contenuto dell'accumulatore, di un registro o di una

variabile

BYTES = 1 o 2 CICLI = 4 FLAG USATI = Z

- INC incrementa

incrementa di 1 il contenuto dell'accumulatore, di un registro o di una

variabile

BYTES = 1 o 2 CICLI = 4 FLAG USATI = Z

- JP salta (jump)

effettua un salto incondizionato a una etichetta

BYTES = 2 CICLI = 4 FLAG USATI = nessuno

- JRC salta se flag carry e' 1

questa istruzione va inserita dopo CP--CPI

se il numero presente nell'accumulatore è minore di quello

presente nella variabile viene effettuato un salto sull'etichetta

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- JRNC salta se flag carry e' 0

questa istruzione va inserita dopo CP--CPI

se il numero presente nell'accumulatore è maggiore--o--uguale

a quello presente nella variabile viene effettuato un salto sull'etichetta

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- JRZ salta se flag zero e' 1

questa istruzione va inserita dopo CP--CPI

se il numero presente nell'accumulatore è uguale

a quello presente nella variabile viene effettuato un salto sull'etichetta

BYTES = 1 CICLI = 2 FLAG USATI = nessunp

- JRNZ salta se flag zero e' 0

questa istruzione va inserita dopo CP--CPI

se il numero presente nell'accumulatore è diverso

da quello presente nella variabile viene effettuato un salto sull'etichetta

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- JRR salta se bit e' 0

effettua un salto se un bit di una variabile e' resettato

BYTES = 3 CICLI = 5 FLAG USATI = C

- JRS salta se bit e' 1

effettua un salto se un bit di una variabile e' settato

BYTES = 3 CICLI = 5 FLAG USATI = C

- LD load

serve per caricare il valore contenuto in una variabile o in un registro

nell'accumulatore o viceversa

BYTES = 1 o 2 CICLI = 4 FLAG USATI = Z

- LDI load immediato

serve per caricare un numero nell'accumulatore, in una variabile o in un

registro

BYTES = 2 o 3 CICLI = 4 FLAG USATI = Z (solo con l'accum.)

- NOP nessuna operazione

non effettua nessuna operazione. Serve per creare piccoli ritardi

NOP==3,25 microsecondi

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- RES resetta bit

serve per resettare uno degli 8 bit dell'accumulatore, di una variabile o

di un registro

BYTES = 2 CICLI = 4 FLAG USATI = nessuno

- RET return da subroutine

serve per tornare da una subroutine al punto della chiamata CALL

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- RETI return da interrupt

serve per tornare da una routine di interrupt al punto precedente

all'evento di interrupt

BYTES = 1 CICLI = 2 FLAG USATI = Z e C

- RLC ruota a sinistra con riporto

sposta di un posto verso sinistra i bit contenuti nell'accumulatore.

Il bit 7 passa nel CARRY spostando il valore che si trovava nel carry

sul bit 0 dell'accumulatore

BYTES = 1 CICLI = 4 FLAG USATI = Z e C

- SET setta bit

serve per settare uno degli 8 bit dell'accumulatore, di una variabile o

di un registro

BYTES = 2 CICLI = 4 FLAG USATI = nessuno

- SLA sposta a sinistra

sposta di un posto verso sinistra i bit contenuti nell'accumulatore.

a==11001110

SLA a

a==10011100

BYTES = 2 CICLI = 4 FLAG USATI = Z e C

- STOP comando di stop

serve a bloccare l'oscillatore (clock) mettendo in stand-by tutto il

microprocessore con un minimo assorbimento di corrente

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- SUB sottrazione

sottrae il contenuto di una variabile all'accumulatore. Il risultato e'

memorizzato nell'accumulatore

BYTES = 1 o 2 CICLI = 4 FLAG USATI = Z e C

- SUBI sottrazione immediata

sottrae un numero all'accumulatore. Il risultato e' memorizzato nell'ac-

cumulatore

BYTES = 2 CICLI = 4 FLAG USATI = Z e C

- WAIT comando wait

mette in stand-by il microprocessore senza fermare l'oscillatore (clock)

con un basso assorbimento di corrente

BYTES = 1 CICLI = 2 FLAG USATI = nessuno

- .romsize

Definisce la memoria disponibile per il micropocessore in uso.

.romsize 2 (2k di mem disponibile da usare con ST6210/15)

.romsize 4 (4k di mem disp.da usare con ST6220/25/60/65)

- .w_on

Abilita la memoria a finestre.Data Rom Windows

.w_on