Set de Instrucciones de Assembler

SET DE INSTRUCCIONES DE ASSEMBLER ADDLW ADD Literal to W ADDWF ADD W to F Sintaxis ADDLW k Sintaxis ADDWF f, d C

Views 91 Downloads 2 File size 128KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

SET DE INSTRUCCIONES DE ASSEMBLER ADDLW

ADD Literal to W

ADDWF

ADD W to F

Sintaxis

ADDLW k

Sintaxis

ADDWF f, d

Codificación

11

111x kkkk kkkk

0001 11df Codificación 00

Palabras, Ciclos

1, 1

Operación

W + k -> W

Bit de estado

C, DC, Z Añade el contenido de W al contenido de k, y almacena el resultado en W

Descripción Atención: Esta instrucción no existe en los Pic 16c5X

Palabras, Ciclos

ffff

0111 dfff ffff

1, 1 W + f -> f si d=1

Operación W + f -> W si d=0 Bit de estado

C, DC, Z

Añade el contenido de W al contenido de f, y Descripción almacena el resultado en W si d=0, y en f si d=1

ANDLW

AND Literal and W

ANDWF

AND W with F

Sintaxis

ANDLW k

Sintaxis

ANDWF f, d

1110 kkkk kkkk Codificación 11 1001 kkkk Kkkk

0001 01df ffff Codificación 00 0101 dfff ffff

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operación

W AND k -> W

Bit de estado

Operación

Z

W AND f -> f si d=1 W AND f -> W si d=0

Bit de estado

Z

Descripción Efectúa un AND lógico

entre el contenido de W y el literal k, y lo almacena en W

Efectúa un AND lógico entre el contenido de W y el contenido de Descripción f, y almacena el resultado en W si d=0, y en f si d=1

BCF

Bit Clear F

BSF

Bit Set F

Sintaxis

BCF f, b

Sintaxis

BSF f, b

0100 bbbf ffff Codificación 01 00bb bfff ffff

0101 bbbf ffff Codificación 01 01bb bfff ffff

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operación

0 -> b(f)

Operación

1 -> b(f)

Bit de estado

Ninguno

Bit de estado

Ninguno

Descripción

Pone a cero el bit numero b de f

Descripción

Pone a uno el bit numero b de f

BTFSC

Bit Test, Skip If Clear

Sintaxis

BTFSC f, b

0110 bbbf ffff Codificación 01 10bb bfff ffff

Palabras, Ciclos

1, 1 o 2

Operación

Salta si b(f)=0

Bit de estado

Ninguno

BTFSS

Bit Test, Skip If Set

Sintaxis

BTFSS f, b

Codificación

0111 bbbf ffff 01 11bb bfff ffff

Palabras, Ciclos

1, 1 o 2

Operación

Salta si b(f)=1

Bit de estado

Ninguno

Descripción Si el bit numero b de f esta en uno, la instrucción que

Si el bit numero b de f es nulo, la instrucción que sigue a esta se ignora y se trata Descripción como un NOP. En este caso, y solo en este caso, la instrucción BTFSC precisa dos ciclos para ejecutarse.

sigue a esta se ignora y se trata como un NOP. En este caso, y solo en este caso, la instrucción BTFSC precisa dos ciclos para ejecutarse.

CALL

Subrutina Call

CLRF

Clear F with F

Sintaxis

CALL k

Sintaxis

CLRF f

1001 kkkk kkkk Codificación 10 0kkk kkkk kkkk

Palabras, Ciclos

1, 2 En el caso de los 16c5X:

Operación

Bit de estado

PC + 1 -> Pila, k -> PC(0-7), 0 -> PC(8), PA2 a PA0 -> PC(9-11) En el caso de los 16c64, 71, 74, 84: PC + 1 -> Pila, k -> PC(0-10), PCLATH(3,4) -> PC(11,12) Ninguno

Descripción Guarda la dirección de vuelta en la pila y despues llama a la

0000 011f ffff Codificación

00

0001 1fff ffff

Palabras, Ciclos

1, 1

Operación

00 -> f

Bit de estado

Z

Pone el contenido de f Descripción a cero y activa el bit Z.

subrutina situada en la dirección cargada en el PC. Atención: El modo de calculo de la dirección difiere según la familia PIC utilizada. También hay que posicionar bien PA2, PA1, PA0 (16c5X) o el registro PCLATH (en los demas PIC), antes de ejecutar la instrucción CALL

CLRW

Clear W register

CLRWDT

Clear Watchdog Timer

Sintaxis

CLRW

Sintaxis

CLRWDT

0000 0100 0000 Codificación 00 0001 0xxx xxxx

0000 0000 0100 Codificación 00 0000 0110 0100

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operación

00 -> W

Bit de estado

Z

Operación

00 -> WDT y 0 -> predivisor del temporizador

Descripción

Pone el registro W a cero y activa el bit Z

Bit de estado

1 -> TO y 1 -> PD

Pone a cero el registro contador del Descripción temporizador watchdog, asi como el predivisor

COMF

Complement F

DECF

Decrement F to F

Sintaxis

COMF f, d

Sintaxis

DECF f, d

Codificación Palabras, Ciclos

0010 01df ffff 00 1001 dfff ffff

1, 1 ~f -> f su d=1

Operación

0000 11df ffff Codificación 00 0011 dfff ffff

Palabras, Ciclos

1, 1 f - 1 -> f si d=1

~f -> W si d=0

Operación f - 1 -> W si d=0

Bit de estado

Z

Hace un complemento de f bit a bit. El resultado lo almacena Descripción de nuevo en f si d=1 (borra el anterior), o en W si d=0 (f no varía)

Bit de estado

Z

Decrementa el contenido de f en una Descripción unidad. El resultado se guarda en W si d=0 (f no varia), y en f si d=1

DECFSZ

Decrement F, Skip If Zero

GOTO

Salto Incondicionalwith F

Sintaxis

DECFSZ f, d

Sintaxis

GOTO k

0010 11df ffff Codificación 00 1011 dfff ffff

101k kkkk kkkk Codificación 10 1kkk kkkk kkkk

Palabras, Ciclos

1, 1(2)

Palabras, Ciclos

1, 2

Operación

f - 1 -> f si d=1

Operación

En el caso de los 16c5X:

f - 1 -> W si d=0 Bit de estado

Ninguno Decrementa el contenido de f en una unidad. El resultado se guarda en W si d=0 (f no varia), y en f si d=1

Descripción

Si el reusltado es nulo, se ignora la siguiente instrucción y en este caso la instrucción dura dos ciclos.

INCF

Increment F

Sintaxis

INCF f, d

Codificación Palabras, Ciclos

k -> PC(0-8), PA2 PA1, PA0 -> PC(9-11) En el caso de los 16c64,71,74 y 84: k -> PC(0-10), PCLATH(3,4) -> PC(11,12)

0010 10df ffff 00 1010 dfff ffff

Bit de estado

LLama a la subrutina situada en la dirección cargada en el PC Atención: El modo de cálculo de la dirección difiere según la familia de PIC utilizada. Descripción También hay que posicionar correctamente PA2, PA1, PA0 (16c5X) o el registro PCLATH (en los demas PIC) antes de ejecutar la instrucción GOTO

INCFSZ

Increment F, Skip if Zero

Sintaxis

INCFSZ f, d

Codificación 1, 1

Ninguno

Palabras,

0011 11df ffff 00 1111 dfff

1, 1(2)

ffff

f + 1 -> f si d=1 Operación

Ciclos f + 1 -> f si d=1

f + 1 -> W si d=0 Operación

Bit de estado

Z

Incrementa el contenido de f en una unidad. El resultado se Descripción almacena de nuebo en f si d=1 y en W si d=0(en este caso f no varía)

IORLW

Inclusive OR Literal With W

Sintaxis

IORLW k

1101 kkkk kkkk Codificación 11 1000 kkkk kkkk

Palabras, Ciclos

1, 1

Operación

W OR k -> W

Bit de estado

Z

Descripción Efectúa un OR lógico inclusivo entre el

Bit de estado

f + 1 -> W si d=0 En ambos casos: Salto si f+1=0 Ninguno

Incrementa el contenido de f en una unidad. El resultado se guarda de nuevo en f si d=1 y en w si d=0 (en este caso f no Descripción varia). Si el resultado es nulo, se ignora la siguiente instrucción y en este caso, esta instrucción dura dos ciclos

IORWF

Inclusive OR W With f

Sintaxis

IORWF f, d

0001 00df ffff Codificación 11 0100 dfff

Palabras, Ciclos Operación

ffff

1, 1 W OR f -> f si d=1 W OR f -> W si d=0

Bit de estado

Z

Descripción Efectúa un OR lógico

contenido de W y el literal K, y almacena el resultado en W

inclusivo entre el contenido de W y el contenido de f, y almacena el resultado en f si d=1 o en W si d=0

MOVF

Move F

MOVLW

Move Literal to W with F

Sintaxis

MOVF f, d

Sintaxis

MOVLW k

Codificación Palabras, Ciclos

0010 00df ffff 00 1000 dfff

ffff

1, 1 f -> f si d=1

Operación

Bit de estado

f -> W si d=0

1100 kkkk kkkk Codificación 11 00xx kkkk kkkk

Palabras, Ciclos

1, 1

Operación

k -> W

Bit de estado

Ninguno

Descripción Carga W con el literal k Z Pone el contenido de f en f si d=1 o f en W si d=0

Atención: El desplazamiento de f en Descripción f que pareceria inutil, permite comprobar el contenido de f con respecto a cero ya que esta instucción actúa sobre el bit Z

MOVWF

Move W to F

NOP

No Operation

Sintaxis

MOVWF f

Sintaxis

NOP

Codificación

0000 001f ffff 00 0000 1fff ffff

Palabras, Ciclos

1, 1

Operación

W -> f

Bit de estado

Ninguno

Carga f con el Descripción contenido de W

OPTION

Load Option Register

Sintaxis

Option

0000 0000 0010 Codificación 00 0000 0110 0010

Palabras, Ciclos

1, 1

Operación

W -> OPTION

Bit de estado

Ninguno

Descripción Carga el registro OPTION con el contenido de W

0000 0000 0000 Codificación 00 0xx0 0000

Palabras, Ciclos

1, 1

Operación

Ninguna

Bit de estado

Ninguna

Consume tiempo de la maquina y ocupa un Descripción lugar en la memoria de programa.

RETFIE

Return From Interrupt

Sintaxis

RETFIE 00 0000 0000 1001

Codificación Palabras, Ciclos

1, 2

Operación

Pila -> PC, 1 -> GIE

Bit de estado

Ninguno

Descripción Carga el PC con el valor que se encuentra en la parte superior de la pila, asegurando asi la vuelta de la interrupción. Pone a

1 el bit GIE, con el fin de autorizar de nuevo que se tengan en cuenta las interrupciones

Atención: Esta instrucción no debe utilizarse en otros circuitos que no sean los PIC 16c5x. Sin embargo, es correctamente interpretada por los circuitos 16c64, 71, 74, 84 con el fin de asegurar una compatibilidad ascendente

Atención: Esta interrupción dura dos ciclos Esta instrucción no existe para los PIC 16c5X

RETLW

Return Literal to W

Sintaxis

RETLW k

Codificación

1000 kkkk kkkk 11 01xx kkkk kkkk

Codificación

Palabras, Ciclos

1, 2

Palabras, Ciclos

1, 2

Operación

k -> W, Pila -> PC

Operación

Pila -> PC

Bit de estado

Ninguno

Bit de estado

Ninguno

Descripción Carga W con el literal k, y después carga el PC con el valor que se encuentra en la parte superior de la pila, efectuando asi un retorno de subrutina

RETURN

Return from Subroutinewith F

Sintaxis

RETURN 00 0000 0000 0000

Descripción Carga el PC con el valor que se encuentra en la parte superior de la pila, efectuando asi una vuelta a la subrutina. Se trata de la instrucción RETLW simplificada

Atención: Esta instrucción dura dos ciclos

Atención:Esta instrucción dura dos ciclos Esta instrucción no existe en los PIC 16c5X

RLF

Rotate Left F through Carry

RRF

Rotate Right F through Carry

Sintaxis

RLF f,d

Sintaxis

RRF f, d 0011 00df ffff 00 1100 dfff ffff

0011 01df ffff Codificación 00 1101 dfff ffff

Codificación

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operación

ver descr.

Operación

Ver descr.

Bit de estado

C

Bit de estado

C

Rotación de un bit a la izquierda del contenido de f, pasando por el bit de Descripción acarreo C. Si d=1 el resultado se almacena en f si d=0 el resultado se almancena en W

SLEEP

Sleep

Sintaxis

SLEEP

Rotación de un bit a la derecha del contenido de f, pasando por el bit de Descripción acarreo C. Si d=1 el resultado se introduce en f, si d=0 el resultado se amacena en W

SUBLW

Substract W from Literal

Sintaxis

SUBLW k

0000 0000 0011 Codificación 00 0000 0110 0011

Palabras, Ciclos

1, 1

Operación

0 -> PD, 1 -> TO, 00 -> WDT, 0 -> Predivisor del WDT

Bit de estado

PD, TO Pone el circuito a dormir con parada del oscilador. Su consumo es inferior.

Descripción

Codificación

11

110x kkkk kkkk

Palabras, Ciclos

1, 1

Operación

k - W -> W

Bit de estado

C, DC, Z

Descripción

Sustrae el contenido de W del literal k, y almacena el resultado en W. La sustracción se realiza en complemento a dos Atención: Esta instrucción no existe en los Pic 16c5X

Atención: Use esta instrucción con mucho cuidado, pues puede provocar que el micro no despierte si no se ha seteado correctamente.

SUBWF

Substract W from F

SWAPF

Swap F to F

Sintaxis

SUBWF f, d

Sintaxis

SWAPF f, d

Codificación

0011 11df ffff 00 1110 dfff ffff

Palabras, Ciclos

1, 1

0000 10df ffff Codificación 00 0010 dfff ffff Palabras, Ciclos

1, 1

Operación

f - W -> f si d=1

Operación

f(0-3) -> f(4-7) y f(4-7) -> f(0-3)

f - W -> W si d=0 Bit de estado

C, DC, Z

Sustrae el contenido de W del contenido de f, y almacena el Descripción resultado en W si d=0 y en f si d=1. La sustracción se realiza en complemento a dos

TRIS

Load TRIS Register

Sintaxis

TRIS f

0000 0000 0fff Codificación 00 0000 0110 0fff

Palabras, Ciclos

1, 1

Operación

W -> registro TRIS del puerto f

Bit de estado

Resultado -> f si d=1 Resultado -> W si d=0

Ninguno

Descripción Carga el contenido de W en el registro TRIS del puerto f. Atención: Esta instrucción no debe utilizarse en otros circuitos que no sean los Pic 16c5X. No obstante, es correctamente

Bit de estado

Ninguno

Intercambia los cuatro bit de mayor peso por los cuatro de menor Descripción peso de f, y almacena el resultado en W si d=0, y en f si d=1

XORLW

Exclusive OR Literal With W

Sintaxis

XORLW k

1111 kkkk kkkk Codificación 11 1010 kkkk kkkk

Palabras, Ciclos

1, 1

Operación

W OR (Exclusivo) k -> W

Bit de estado

Z

Efectúa un OR lógico exclusivo entre el contenido de W y el Descripción contenido del Literal K y almacena el resultado en W

interpretada por los circuitos 16c64, 71, 74, 84, con el fin de asegurar una compatibilidad ascendente

XORWF Exclusive Or W with F Sintaxis XORWF f,d 0001 Codifica 00 ción

10df 0110

ffff dfff

ffff

Palabras 1, 1 , Ciclos Operaci ón

W OR (Exclusivo) f -> f si d=1 W OR (Exclusivo) f -> W si d=0

Bit de Z estado

Descrip Efectúa un Or lógico exclusivo entre el ción contenido de W y el contenido de f y almacena el resultado en f si d=1 o en W si d=0