Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Antes de continuar es necesario definir algunos terminos que se usaran para explicar las instrucciones:

Enviado por   •  1 de Noviembre de 2017  •  1.511 Palabras (7 Páginas)  •  588 Visitas

Página 1 de 7

...

Z

Ejemplo: MOVF REG,0

Después de la instrucción: W=REG

RLF: Rota el registro f a la izquierda

El contenido del registro ’f’ se rota una posición a la izquierda. El bit de más peso pasa al carry y el carry se introduce por el bit de menos peso de ’f’. Si d=0, el resultado se coloca en el registro W. Si d=1, el resultado queda en el registro ’f’.

Sintaxis: [etiqueta] RLF f,d

Flags afectados: C

Ejemplo: RLF REG,1

Antes de la instrucción: REG=b’11100110’, C=0

Después de la instrucción: REG=b’11001100’, C=1

RRF: Rota el registro f a la derecha

El contenido del registro ’f’ se rota una posición a la derecha. El bit de menos peso pasa al carry y el carry se introduce por el bit de más peso de ’f’. Si d=0, el resultado se coloca en el registro W. Si d=1, el resultado queda en el registro ’f’.

Sintaxis: [etiqueta] RLF f,d

Flags afectados: C

Ejemplo: RLF REG,1

Antes de la instrucción: REG=b’11100110’, C=0

Después de la instrucción: REG=b’01110011’, C=0

SUBWF: Resta f - W

Resta el contenido del registro ’f’ menos el contenido del registro W. Si d=0, el resultado se almacena en el registro W. Si d=1, el resultado se almacena en el registro ’f’.

Sintaxis: [etiqueta] SUBWF f,d

Flags afectados: C, DC, Z

Ejemplo: SUBWF REG,1

Antes de la instrucción: REG=0x01, W=0x02

Después de la instrucción: REG=0xFF, W=0x02

SWAPF: Intercambio de f

El nibble bajo del registro ’f’ se intercambia con el nibble alto del mismo. Si d=0, el resultado se coloca en el registro W. Si d=1, el resultado queda en el registro ’f’.

Sintaxis: [etiqueta] SWAPF f,d

Flags afectados: Ninguno

Ejemplo: SWAPF REG,1

Antes de la instrucción: REG=0x54

Después de la instrucción: REG=0x45

XORWF: W XOR f

Realiza la función lógica OR exclusiva entre el contenido del registro W y el registro ’f’. Si d=0, el resultado se almacena en el registro W. Si d=1 el resultado se almacena en el registro ’f’.

Sintaxis: [etiqueta] XORWF f,d

Flags afectados: Z

Ejemplo: XORWF REG,1

Antes de la instrucción: REG=0xAF, W=0xB5

Después de la instrucción: REG=0x1A, W=0xB5

NOP: No operacion

No realiza ninguna operacion, solo consume un ciclo de reloj

Sintaxis: [etiqueta] NOP

Instrucciones orientadas a bits

BCF: Borra un bit

Borra el bit ’b’del registro ’f’

Sintaxis: [etiqueta] BCF f,b

Ejemplo: BCF REG,0

Antes de la instrucción: REG=b’01101101’

Después de la instrucción: REG=b’01101100’

BSF: Activa un bit

Activa el bit ’b’ del registro ’f’

Sintaxis: [etiqueta] BSF f,b

Ejemplo: BSF REG,2

Antes de la instrucción: REG=b’01001001’

Después de la instrucción: REG=b’01001011’

BTFSC: Checa un bit y salta si es 0

Si el bit "b" del registro "f" es 0, se salta una instrucción y se continúa con la ejecución.

Sintaxis: [etiqueta] BTFSC f,b

BTFSS: Checa un bit y salta si es 1

Si el bit "b" del registro "f" es 1, se salta una instrucción y se continúa con la ejecución.

Sintaxis: [etiqueta] BTFSS f,b

Instrucciones orientadas a constantes y de control

ANDLW: W AND literal

Realiza la operación lógica AND entre el registro W y la constante "k". El resultado se almacena en el registro W.

Sintaxis: [label] ANDWL k

Flags afectados: Z

Ejemplo: ANDLW 0x5F

Antes de la instrucción: W=0xA3

Después de la instrucción: W=0x03

CALL: Llamada a subrutina

Llamada y salto a subrutina. La dirección de retorno se guarda en el stack. La constante "k" de 8 bits forma la dirección de salto y se carga en los bits del PC. Los bits del PC se cargan con los bits del registro "STATUS". PC se pone a 0.

Sintaxis: [etiqueta] CALL k

Ejemplo: INICIO CALL DESTINO

Antes de la instrucción: PC=INICIO

Después de la instrucción: PC=DESTINO

CLRWDT: Borra el watchdog timer

Esta instrucción borra tanto el "watchdog" como el prescaler. Los bits TO y PD del registro de estado se ponen a "1".

Sintaxis: [label] CLRWDT

Flags afectados: TO, PD

GOTO: Salto incondicional

Se trata de un salto incondicional. Los 9 bits de la constante "k" que

...

Descargar como  txt (10.3 Kb)   pdf (85.8 Kb)   docx (14.1 Kb)  
Leer 6 páginas más »
Disponible sólo en Essays.club