Está en la página 1de 4

Las 35 instrucciones mnemnicos de la gama media de Microchip las encontraremos resumidas en la siguiente tabla.

. w es el acumulador, f representa un registro cualquiera y C, DC, Z los flags del registro STATUS. Instrucciones orientadas a registros MNEMNICO OPERANDOS ADDWF f,d ANDWF f,d CLRF CLRW COMF DECF f f,d f,d w+f f w d d d (si es 0 salta) d d (si es 0 salta) d DESCRIPCIN d d CDIGO OP BANDERAS NCIC NOTAS 1 1 1 1 1 1 1(2) 1 1(2) 1 1 1 1 1 1 1 1 1 1,2 1,2 2 1,2 1,2 1,2,3 1,2 1,2,3 1,2 1,2 1,2 1,2 1,2 1,2 1,2

00 0111 dfff ffff C, DC, Z 00 0101 dfff ffff Z 00 0001 1fff ffff Z 00 0001 0xxx xxxx Z 00 1001 dfff ffff Z 00 0011 dfff ffff Z 00 1011 dfff ffff Ninguna 00 1010 dfff ffff Z 00 1111 dfff ffff Ninguna 00 0100 dfff ffff Z 00 1000 dfff ffff Z 00 0000 1fff ffff Ninguna 00 0000 0xx0 0000 Ninguna

w AND f 00 h 00 h f-1 f-1 f+1 f+1 w OR f f w d f

Complemento de f

DECFSZ f,d INCF INCFSZ IORWF MOVF f,d f,d f,d f,d

MOVWF f NOP RLF RRF SUBWF SWAPF f,d f,d f,d f,d

No operacin Rota f izq por carry Rota f dcha por carry f-w d d Intercambia nibbles de f w XOR f d d

00 1101 dfff ffff C 00 1100 dfff ffff C 00 0010 dfff ffff C,DC,Z

d 00 1110 dfff ffff Ninguna


00 0110 dfff ffff Z

XORWF f,d

Instrucciones orientadas a bit MNEMNICO OPERANDOS BCF BSF BTFSC f,b f,b f,b DESCRIPCIN CDIGO OP BANDERAS NCIC NOTAS 1 1 1(2) 1,2 1,2 3

Pone a 0 bit b de registro f 01 00bb bfff ffff Ninguna Pone a 1 bit b de registro f 01 01bb bfff ffff Ninguna Salto si bit b de reg. f es 0 01 10bb bfff ffff Ninguna

BTFSS

f,b

Salto si bit b de reg. f es 1 01 11bb bfff ffff Ninguna Instrucciones del PIC16F84A

1(2)

DISPOSITIVOS LGICOS MICROPROGRAMABLES

9.4

Instrucciones con literales y de control MNEMNICO OPERANDOS ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW RETFIE RETLW RETURN SLEEP SUBLW XORLW Notas: 1. Al modificar un registro de E/S con una operacin sobre l mismo (por ejemplo MOVF PORTB,1), el valor utilizado es el que se halle presente en las patillas del PORTB. Por ejemplo, si el biestable tiene un "1" para una patilla configurada como entrada y se pone a nivel bajo desde el exterior, el dato se volver a escribir como "0". k w+k DESCRIPCIN w w CDIGO OP
11 111x kkkk kkkk 11 1001 kkkk kkkk 10 0kkk kkkk kkkk 00 0000 0110 10 1kkk kkkk kkkk 11 1000 kkkk kkkk 11 00xx kkkk kkkk 00 0000 0000 1001 11 01xx kkkk kkkk 00 0000 0000 1000 00 0000 0110 0011 11 110x kkkk kkkk

BANDERAS NCIC NOTAS C,DC,Z Z Ninguna TO,PD Ninguna Z Ninguna Ninguna Ninguna Ninguna TO, PD C,DC,Z Z 1 1 2 1 2 1 1 2 2 2 1 1 1 -

k w AND k

k Llamada a subrutina k -

Borra temporizador del WDT 0100

k Ir a direccin k k w OR k k k w w

Retorno de una interrupcin

k Retorno con k en w Retorno de una subrutina Modo Standby w w

k k-w

k w XOR k

11 1010 kkkk kkkk

2. Si se ejecuta esta instruccin sobre el TMR0 y d=1, se borrar el conteo de la preescala asignada (preescaler), si est asignado al TMR0, pero no se borrar la preescala asignada en OPTION_REG, que controla Timer0. 3. Si se modifica el Contador de Programa PC o una condicin de prueba es verdadera, la instruccin requiere dos ciclos mquina. El segundo ciclo se ejecuta como un NOP. En las tablas siguientes, por orden alfabtico, veremos todos los datos de inters sobre las 35 instrucciones. Algunos son de poca importancia. En cambio otros, como la operacin, la sintaxis, el comportamiento del registro STATUS y los ejemplos, son imprescindibles para comprender su funcionamiento. Aparte de estas 35 instrucciones, hay otro tipo de instrucciones usadas para simplificar la tarea de programar, y que generalmente estn formadas por dos instrucciones bsicas. Estas no las trataremos a fondo, pero las veremos en un resumen despus de comprender el funcionamiento de las 35 instrucciones bsicas.

DISPOSITIVOS LGICOS MICROPROGRAMABLES ADDLW ADD Literal to w Operacin Sintaxis Operadores Ciclos OPCODE Descripcin 11 111x w+k

Instrucciones del PIC16F84A ADDLW

9.5

[Etiqueta] ADDLW k 0 < k < 255 1 kkkk kkkk

Suma el contenido del registro w al literal k, y almacena el resultado en w.Si se produce acerreo el flag C se pone a "1".

Registro de STATUS PA2 PA1 PA0 TO# PD# Z DC C

C Se pone a 1 si se produce un Acarreo desde el bit de mayor peso. DC Se pone a 1 si se genera un Acarreo del bit 3 al bit 4. Z Se pone a 1 si el resultado de la operacin es cero. EJEMPLO:
ADDLW 0x15

Si antes de la instruccin: w = 10h = 0001 0000 b Al ejecutarse la instruccin w = 10 h + 15 h = 25 h w = 0001 0000 b + 0001 0101 b = 0010 0101 b 0001 0000 b 0001 0101 b 0010 0101 b