Conjunto de Instrucciones...PIC

20
Conjunto de instrucciones El conjunto de instrucciones de los microprocesadores PIC 16C5X consiste en un pequeño reperto rio de solo 33 instrucciones de 12 bits, que pueden ser agrupadas para su estudio en tres a cinco grupos. En este curso se ha optado por clasificarlas, desde el punto de vista del programador, en cinco categorías bien definidas de acuerdo con la función y el tipo de operandos involucrados.

Transcript of Conjunto de Instrucciones...PIC

  • 5/24/2018 Conjunto de Instrucciones...PIC

    1/20

    Conjunto de instruccionesEl conjunto de instrucciones de losmicroprocesadores

    PIC 16C5X consiste en un pequeo repertoriode solo 33 instrucciones de 12 bits, que

    pueden ser agrupadas para su estudio en tresa cinco grupos. En este curso se ha optado

    por clasificarlas, desde el punto de vista delprogramador, en cinco categoras bien

    definidas de acuerdo con la funcin y el tipode operandos involucrados.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    2/20

    1- Se agrupan las instrucciones que operan con bytes yque involucran algn registro de la memoria interna.

    2-Las que operan solo sobre el registro W y quepermiten cargarle una constante.

    3-Las que operan sobre bits individuales de losregistros de la memoria interna.

    4-Las de control de flujo del programa, es decir las quepermiten alterar la secuencia lineal de ejecucin de las

    instrucciones. 5-Las que llamaremos especiales, cuyas funciones o

    tipos de operandos son muy especficos y no encajanen ninguna de las clasificaciones anteriores.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    3/20

    Instrucciones de Byte que operan con

    Registros

    Estas instrucciones pueden ser de simple o

    doble operando de origen. El primer operando

    de origen ser siempre el registro

    Seleccionado en la instruccin, el segundo, en

    caso de existir, ser el registro W. El destino, es

    decir donde se guardara el resultado, ser el

    registro seleccionado o el W, segn seseleccione con un bit de la instruccin.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    4/20

    Las instrucciones siguientes son las tres operaciones

    lgicas de doble operando :

    ANDWF f,d ;operacin AND lgica, destino = W f

    IORWF f,d ;operacin OR lgica, destino = W f

    XORWF f,d ;operacin XOR lgica, destino = W f

  • 5/24/2018 Conjunto de Instrucciones...PIC

    5/20

    Las que siguen son las cuatro operaciones

    aritmticas y lgicas sencillas de simple operando :

    MOVF f,d ;movimiento de datos, destino = f

    COMF f,d ;complemento lgico, destino = NOT f

    INCF f,d ;incremento aritmtico, destino = f + 1

    DECF f,d ;decremento aritmtico, destino = f - 1

  • 5/24/2018 Conjunto de Instrucciones...PIC

    6/20

    A continuacin siguen las dos instrucciones de

    rotacin de bits a travs del CARRY :

    RLF f,d ;rotacin a la izquierda, destino = f ROT

    RRF f,d ;rotacin a la derecha, destino = f ROT

    La instruccin siguiente realiza el intercambio de

    posiciones entre los cuatro bits menos significativos y

    los cuatro ms significativos (nibble bajo y nibble alto). SWAPF f,d ;intercambia nibbles, destino = SWAP f

  • 5/24/2018 Conjunto de Instrucciones...PIC

    7/20

    Las dos operaciones que siguen son la suma y la resta

    aritmticas :

    ADDWF f,d ;suma aritmtica, destino = f + W

    SUBWF f,d ;resta aritmtica, destino = f W

    Las instrucciones que siguen son de simple operando,

    pero son casos especiales ya que el destino es siempre

    el registro seleccionado : CLRF f ;borrado de contenido, f = 0

    MOVWF f ;copia contenido W f, f = W

  • 5/24/2018 Conjunto de Instrucciones...PIC

    8/20

    Instrucciones de Byte que operan

    sobre W y Literales

    Estas instrucciones se refieren todas al

    registro W, es decir que uno de los operandos

    de origen y el operando de destino son

    siempre el registro W.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    9/20

    Las tres instrucciones que siguen son las operaciones

    lgicas tradicionales, similares a las que ya vimos

    anteriormente, pero realizadas entre una constante de

    programa y el registro W: IORLW k ; operacin OR lgica, W = W k

    ANDLW k ; operacin AND lgica, W = W k

    XORLW k ; operacin XOR lgica, W = W k

  • 5/24/2018 Conjunto de Instrucciones...PIC

    10/20

    La instruccin que sigue sirve para cargar una

    constante de programa en el registro W :

    MOVLW k ;carga constante en W, W = K

    CLRW ;borra el contenido de W, W = 0

  • 5/24/2018 Conjunto de Instrucciones...PIC

    11/20

    Instrucciones de Bit

    Estas instrucciones operan solamente sobre el

    bit especificado, el resto de los bits del registro

    no son alterados. Estas instrucciones no tienen

    especificacin de destino, ya que el mismo es

    siempre el registro seleccionado.

    BCF f,b ;borra el bit b de f ;bit f(b) = 0

    BSF f,b ;coloca en uno el bit b de f ;bit f(b) = 1

  • 5/24/2018 Conjunto de Instrucciones...PIC

    12/20

    Instrucciones de Control

    GOTO k ;salto a la posicin k (9 bits) del programa

    La que sigue es la instruccin de llamado a subrutina:

    CALL

    La instruccin que aparece a continuacin es la de

    retorno de subrutina:

    RETLW k ;retorno de subrutina con constante k, W =k k ;salto a la subrutina en la posicin k (8 bits)

  • 5/24/2018 Conjunto de Instrucciones...PIC

    13/20

    Estas dos instrucciones reemplazan y superan a

    todo el conjunto de instrucciones de salto

    condicional que poseen los microprocesadores

    sencillos convencionales (salto por cero, por no

    cero, por carry, etc.).

    BTFSC f,b ;salteo si bit = 0, bit = f(0) saltea

    BTFSS f,b ;salteo si bit = 1, bit = f(1) saltea

  • 5/24/2018 Conjunto de Instrucciones...PIC

    14/20

    . Una vez realizado el incremento o

    decremento, si el resultado es

    00000000, el microprocesador salteara la

    prxima instruccin del programa.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    15/20

    Instrucciones Especiales

    En este grupo se reunieron las instrucciones

    que controlan funciones especficas del

    microprocesador o que actan sobre registros

    especiales no direccionados como memoria

    interna normal.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    16/20

    NOP ;no hace nada, consume tiempo

    Esta instruccin solo sirve para introducir una

    demora en el programa, equivalente al

    tiempo de ejecucin de una instruccin. No

    afecta ningn bit de la palabra de estado.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    17/20

    TRIS f ;carga el tristate control, TRISf = W

    Esta instruccin (TRIState) carga el registro decontrol de los buffers tristate de un puerto

    de entrada salida (data direccin register), conel valor contenido en W. El parmetro f

    debe ser la direccin de memoria interna del

    puerto, aunque el valor W no ser cargado en el puerto sino en el registro de tristate del

    mismo.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    18/20

    OPTION ;carga el registro OPTION, OPTION = W

    El registro OPTION no es accesible como memoriainterna y solo se lo puede programar

    con esta instruccin. Esta instruccin no afectaningn bit de la palabra de estado.

    CLRWDT ;borra el watch dog timer, WDT = 0

    borra el contador del watch dog timer. Este

    registro tampoco esta accesible como memoria, y esta es la nica

    instruccin que lo modifica.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    19/20

    SLEEP ;coloca el Cen modo sleep, WDT = 0

    es una instruccin especial de control delmicrocontrolador que lo pone en el

    modo power down. En este modo el microprocesadorse detiene, el oscilador se apaga, los

    registros y puertos conservan su estado, y el consumose reduce al mnimo. La nica

    forma de salir de este estado es por medio de un reseto por time-out del watch dog

    timer.

  • 5/24/2018 Conjunto de Instrucciones...PIC

    20/20