SlideShare une entreprise Scribd logo
1  sur  27
INSTRUCCIONES BASICAS DEL PIC
16F84A
Luis Mendizabal
INSTRUCCIONES BASICAS DEL PIC
16F84A
Las características y capacidad de un procesador están definidas por
el conjunto de instrucciones que esta pone a disposición del
programador. Por tal razón, es fundamental conocer el conjunto de
instrucciones del microcontrolador que estamos utilizando en la
presente asignatura.
Si bien es cierto que se puede escribir programas para el PIC
16F84A utilizando lenguajes de alto nivel como el C o el Basic, que
permitirían tiempos de desarrollo más rápidos; en la asignatura,
orientada al estudio de los microprocesadores y su arquitectura,
estudiaremos y utilizaremos el lenguaje ensamblador del PIC
16F84A.
El PIC 16F84A comprende un conjunto de 35 instrucciones. Un
número pequeño comparado con las más de 300 instrucciones que
tiene un microprocesador como el Pentium IV de Intel
INSTRUCCIONES BASICAS DEL PIC
16F84A
• Clasificaremos, para su estudio, las
instrucciones del microcontrolador 16F84A
como instrucciones básicas e instrucciones
avanzadas.
INSTRUCCIONES BASICAS
• Dentro de estas incluimos las instrucciones
aritméticas, de movimiento, lógicas, de
complemento, de puesta en cero, de
intercambio y de rotación
INSTRUCCIONES DE COPIA
(MOVIMIENTO)
MOVLW Move Literal to W – Mover literal a W
Sintaxis movlw k
Operandos 0 k 255
Operación K => W
Indicadores Ninguno
Mueve los 8 bits del literal 'k' al registro de
trabajo 'W'.
INSTRUCCIONES DE COPIA
(MOVIMIENTO)
MOVWF Move W to f – Mover W a F
Sintaxis movwf f , d
Operandos 0 f 127 , d E {0,1}
Operación W => f
Indicadores Ninguno
Mueve el contenido del registro de trabajo 'W' al
registro 'f'.
INSTRUCCIONES DE COPIA
(MOVIMIENTO)
MOVF Move f – Mover F
Sintaxis movf f,d
Operandos 0 f 127, d Î [0,1]
Operación W => d
Indicadores Z
Mueve el contenido del registro 'f' al registro destino
indicado con 'd'. Si 'd=0' el destino es el registro de
trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'.
El indicador 'Z' del registro 'STATUS' queda afectado:
'Z=1' si el contenido movido es CERO.
INSTRUCCIONES DE SUMA
ADDLW Add Literal to W – Sumar literal a W
Sintaxis addlw k
Operandos 0 k 255
Operación k + W => W
Indicadores C, DC, Z
Suma los 8 bits del literal 'k' con el registro de
trabajo 'W' y el resultado lo almacena en el
registro de trabajo 'W'.
INSTRUCCIONES DE SUMA
ADDWF Add W and f – Sumar W y F
Sintaxis addwf f,d
Operandos 0 f 127, d E [0,1]
Operación f + W => d
Indicadores C, DC, Z
Suma el contenido del registro 'f' al contenido del
registro de trabajo 'W' y el resultado se almacena
en el destino 'd'. Si 'd=0' el destino es el registro
de trabajo 'W'. Si 'd=1' el destino es el propio
registro 'f'.
INSTRUCCIONES DE SUSTRACCIÓN
SUBLW Subtract W from Literal – Restar W de
literal
Sintaxis sublw k
Operandos 0 k 255
Operación k - W => W
Indicadores C, DC, Z
Resta de los 8 bits del literal 'k' el contenido del
registro de trabajo 'W' y el resultado lo almacena
en el registro de trabajo 'W'.
INSTRUCCIONES DE SUSTRACCIÓN
SUBWF Subtract W from f – Restar W de F
Sintaxis subwf f,d
Operandos 0 f 127, d E [0,1]
Operación f - W => d
Indicadores C, DC, Z
Resta del contenido del registro 'f' el contenido del
registro de trabajo 'W' y el resultado se almacena
en el destino 'd'. Si 'd=0' el destino es el registro
de trabajo 'W'. Si 'd=1' el destino es el propio
registro 'f'.
INSTRUCCIONES DE PUESTA EN CERO
CLRW Clear W – Limpiar W
Sintaxis clrw
Operandos ninguno
Operación 0 => W
Indicadores Z
Carga cero al registro de trabajo 'W' y se
establece el indicador cero, 'Z=1'.
INSTRUCCIONES DE PUESTA EN CERO
CLRF Clear f – Limpiar F
Sintaxis clrf f
Operandos 0 f 127
Operación 0 => f
Indicadores Z
Carga cero al registro 'f' y se establece el
indicador cero, 'Z=1'.
INSTRUCCIONES DE INCREMENTO Y
DECREMENTO
DECF Decrement f – Decrementar F
Sintaxis decf f,d
Operandos 0 f 127, d ÎE[0,1]
Operación f - 1 => d
Indicadores Z
Decrementa el contenido del registro 'f'. Si 'd=0' el
destino es el registro de trabajo 'W'. Si 'd=1' el
destino es el propio registro 'f'. Si el resultado del
incremento es cero, se establece el indicador
cero, 'Z=1'.
INSTRUCCIONES DE INCREMENTO Y
DECREMENTO
INCF Increment f – Incrementar F
Sintaxis incf f,d
Operandos 0 f 127, d E [0,1]
Operación f + 1 => d
Indicadores Z
Incrementa el contenido del registro 'f'. Si 'd=0' el
destino es el registro de trabajo 'W'. Si 'd=1' el
destino es el propio registro 'f'. Si el resultado del
decremento es cero, se establece el indicador
cero, 'Z=1'.
INSTRUCCIÓN LÓGICA Y (AND)
ANDLW And Literal with W – And literal con W
Sintaxis andlw k
Operandos 0 k 255
Operación k .AND. W => W
Indicadores Z
Efectúa la operación AND de los 8 bits del literal
'k' con el registro 'W' y almacena el resultado
en 'W'. Actualiza el indicador 'Z'.
INSTRUCCIÓN LÓGICA Y (AND)
ANDWF And W with f – And W con F
Sintaxis andwf f,d
Operandos 0 f 127, d E [0,1]
Operación f .AND. W => d
Indicadores Z
Efectúa la operación AND del contenido del registro
'f' con el registro 'W' y almacena el resultado en
'd'. Si 'd=0‘ el destino es el registro de trabajo 'W'.
Si 'd=1' el destino es el propio registro 'f'.
Actualiza el indicador 'Z'.
INSTRUCCIÓN LÓGICA O – INCLUSIVA
(OR)
IORLW Inclusive OR Literal with W – Or literal con
W
Sintaxis iorlw k
Operandos 0 k 255
Operación k .OR. W => W
Indicadores Z
Efectúa la operación OR de los 8 bits del literal 'k'
con el registro 'W' y almacena el resultado en 'W'.
Actualiza el indicador 'Z'.
INSTRUCCIÓN LÓGICA O – INCLUSIVA
(OR)
IORWF Includive OR W with f – Or W con F
Sintaxis iorwf f,d
Operandos 0 f 127, d E [0,1]
Operación f .OR. W => d
Indicadores Z
Efectúa la operación OR del contenido del registro
'f' con el registro 'W' y almacena el resultado en
'd'. Si 'd=0' el destino es el registro de trabajo 'W'.
Si 'd=1' el destino es el propio registro 'f'.
Actualiza el indicador 'Z'.
INSTRUCCIÓN LÓGICA O – EXCLUSIVA
(XOR)
XORLW Exclusive OR Literal with W – Xor literal
con W
Sintaxis xorlw k
Operandos 0 k 255
Operación k .XOR. W => W
Indicadores Z
Efectúa la operación XOR de los 8 bits del literal 'k'
con el registro 'W' y almacena el resultado en 'W'.
Actualiza el indicador 'Z'.
INSTRUCCIÓN LÓGICA O – EXCLUSIVA
(XOR)
XORWF Exclusive OR W with f – Xor W con F
Sintaxis xorwf f,d
Operandos 0 f 127, d E [0,1]
Operación f .XOR. W => d
Indicadores Z
Efectúa la operación XOR del contenido del registro
'f' con el registro 'W' y almacena el resultado en
'd'. Si 'd=0‘ el destino es el registro de trabajo 'W'.
Si 'd=1' el destino es el propio registro 'f'.
Actualiza el indicador 'Z'.
INSTRUCCIÓN DE COMPLEMENTO
COMF Complement f – complementar F
Sintaxis comf f,d
Operandos 0 f 127, d E [0,1]
Operación ~f => d
Indicadores Z
Efectúa el complemento bit a bit del contenido del
registro 'f' y almacena el resultado en 'd'. Si 'd=0'
el destino es el registro de trabajo 'W'. Si 'd=1' el
destino es el propio registro 'f'. Actualiza el
indicador 'Z'.
INSTRUCCIÓN DE INTERCAMBIO DE
NIBBLES
SWAPF Swap Nibbles in f – Intercambiar nibbles en F
Sintaxis swapf
f,d
Operandos 0 f 127, d Î [0,1]
Operación f[3:0]=>d[7:4],f[7:4]=>d[3:0]
Indicadores ninguno
Efectúa el intercambio del nibble menos significativo con
el nibble más significativo del registro 'f' y almacena el
resultado en 'd'. Si 'd=0' el destino es el registro de
trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'.
Actualiza el indicador 'Z'.
INSTRUCCIONES DE ROTACIÓN
RLF Rotate Left f through Carry – Rotar F a la izquierda a
través del bit de Acarreo
Sintaxis rlf f,d
Operandos 0 f 127, d E [0,1]
Operación
Indicadores C
Rota un bit a la izquierda, el contenido del registro 'f' pasando
por el indicador de acarreo 'C' y almacena el
resultado en 'd'. Si 'd=0' el destino es el registro de trabajo
'W'. Si 'd=1' el destino es el propio registro 'f'.
Actualiza el indicador 'C'.
INSTRUCCIONES DE ROTACIÓN
RRF Rotate Right f through Carry - Rotar F a la derecha a
través del bit de Acarreo
Sintaxis rrf f,d
Operandos 0 f 127, d E[0,1]
Operación C
Indicadores
Rota un bit a la derecha, el contenido del registro 'f'
pasando por el indicador de acarreo 'C' y almacena el
resultado en 'd'. Si 'd=0' el destino es el registro de
trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'.
Actualiza el indicador 'C'.
DESARROLLO DE LA PRACTICA
• Escriba un programa que calcule la diferencia de dos números de 8 bits, sin utilizar las instrucciones de
sustracción DESARROLLO DE LA PRACTICA
• ;*******************************************************;
• ; Nombre : Complemento ;
• ; Proposito : calcula la diferencia entre dos variables ;
• ; Autor : XXXXX;
• ; FCreacion : 27/09/2010 ;
• ; FModificacion : ------ ;
• ;*******************************************************;
• LIST P=16f84A ; Modelo de PIC utilizado
• INCLUDE <P16f84A.INC> ; Contiene definiciones de elementos del PIC
• ;********DATOS
• num1 equ 0xA ; primer numero
• num2 equ 0xB ; segundo numero
• ;********CODIGO
• ORG 0 ; Indica donde comienza el programa
• Inicio
• movlw .20 ; W <- 20
• movwf num1 ; num1 <- 20
• movlw .10 ; W <- 10
• movwf num2 ; num2 <- 10
• comf num2,0 ; W <- ~num2
• addlw .1 ; W <- ~num2 + 1 = -num2
• addwf num1,W ; W <- num1 + ~num2 + 1 = num1 - num2
• movwf resul ; resul <- W
• END
DESARROLLO DE LA PRACTICA
• Escriba un programa que intercambie los valores almacenados en dos variables v1 v2, sin utilizar
variables auxiliares
• ;*****************************************************************;
• ; Nombre : Swap ;
• ; Proposito : Intercambia dos variables, sin utilizar variables auxiliares ;
• ; Autor : XXXXX XXXX;
• ; FCreacion : 27/09/20010;
• ; FModificacion : ------ ;
• ;*****************************************************************;
• LIST P=16f84A ; Modelo de PIC utilizado
• INCLUDE <P16f84A.INC> ; Contiene definiciones de elementos del PIC
• ;********DATOS
• v1 equ 0xA ; primer numero
• v2 equ 0xB ; segundo numero
• ;********CODIGO
• ORG 0 ; Indica donde comienza el programa
• Inicio
• movlw .7 ; W <- 10
• movwf v1 ; num1 <- 10
• movlw .5 ; W <- 15
• movwf v2 ; num2 <- 15
• xorwf v1, 1 ; v1 <- v1 .xor. v2
• xorwf v1, 0 ; W <- v1 .xor. v2
• xorwf v1, 1 ; v1 <- v1 .xor. v2
• movwf v2 ; v2 <- W
• END

Contenu connexe

Tendances

Clasificacion de sensores
Clasificacion de sensores Clasificacion de sensores
Clasificacion de sensores Hernan Vaca
 
Cam unidad 2 - tema 4 - sensores mecanicos y electricos.
Cam   unidad 2 - tema 4 - sensores mecanicos y electricos.Cam   unidad 2 - tema 4 - sensores mecanicos y electricos.
Cam unidad 2 - tema 4 - sensores mecanicos y electricos.UDO Monagas
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4Luis Zurita
 
Informe arduino y proteus
Informe arduino y proteusInforme arduino y proteus
Informe arduino y proteus99belen
 
91769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-2
91769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-291769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-2
91769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-2Felipe Salazar
 
Logo comfort es
Logo comfort esLogo comfort es
Logo comfort esleidysjcp
 
Manual de practicas de Electrónica de potencia
Manual de practicas de Electrónica de potencia Manual de practicas de Electrónica de potencia
Manual de practicas de Electrónica de potencia SANTIAGO PABLO ALBERTO
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Guido Carmona Girón
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Alejandra Ruiz
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosEduardo Henriquez
 
Circuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronosCircuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronosAlexa Ramirez
 
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1SANTIAGO PABLO ALBERTO
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plcCincoC
 

Tendances (20)

Clasificacion de sensores
Clasificacion de sensores Clasificacion de sensores
Clasificacion de sensores
 
Cam unidad 2 - tema 4 - sensores mecanicos y electricos.
Cam   unidad 2 - tema 4 - sensores mecanicos y electricos.Cam   unidad 2 - tema 4 - sensores mecanicos y electricos.
Cam unidad 2 - tema 4 - sensores mecanicos y electricos.
 
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4GUÍA DE EJERCICIOS RESUELTOS TEMA 4
GUÍA DE EJERCICIOS RESUELTOS TEMA 4
 
Informe arduino y proteus
Informe arduino y proteusInforme arduino y proteus
Informe arduino y proteus
 
Control por plc
Control por plcControl por plc
Control por plc
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
91769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-2
91769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-291769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-2
91769788 modelo-y-control-de-motor-d-c-con-engranajes-2011-2
 
Aplicaciones con el pic 16f84
Aplicaciones con el pic 16f84Aplicaciones con el pic 16f84
Aplicaciones con el pic 16f84
 
Logo comfort es
Logo comfort esLogo comfort es
Logo comfort es
 
Manual de practicas de Electrónica de potencia
Manual de practicas de Electrónica de potencia Manual de practicas de Electrónica de potencia
Manual de practicas de Electrónica de potencia
 
Sensores discretos
Sensores discretosSensores discretos
Sensores discretos
 
Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7Ejercicios de-programacic3b3n-resueltos-con-step-7
Ejercicios de-programacic3b3n-resueltos-con-step-7
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
Circuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronosCircuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronos
 
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
 
Presentacion sensores digitales y analogicos
Presentacion sensores digitales y analogicosPresentacion sensores digitales y analogicos
Presentacion sensores digitales y analogicos
 
Practica0,1,2,3,4
Practica0,1,2,3,4Practica0,1,2,3,4
Practica0,1,2,3,4
 
Ejercicios plc
Ejercicios plcEjercicios plc
Ejercicios plc
 
Sistema de sincronización de semáforos (2)
Sistema de sincronización de semáforos (2)Sistema de sincronización de semáforos (2)
Sistema de sincronización de semáforos (2)
 

En vedette

Instrucciones pic16 f84
Instrucciones pic16 f84Instrucciones pic16 f84
Instrucciones pic16 f84MicroPart
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Anllel Cardenas Yllanes
 
Programacion de microcontroladores
Programacion de microcontroladoresProgramacion de microcontroladores
Programacion de microcontroladoresayreonmx
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Anllel Cardenas Yllanes
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84guestf09168b
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887whendygarcia
 

En vedette (12)

Tipos de microcontroladores
Tipos de microcontroladoresTipos de microcontroladores
Tipos de microcontroladores
 
Apuntes del pic 16f84
Apuntes del pic 16f84Apuntes del pic 16f84
Apuntes del pic 16f84
 
Instrucciones pic16 f84
Instrucciones pic16 f84Instrucciones pic16 f84
Instrucciones pic16 f84
 
Manual Pics
Manual PicsManual Pics
Manual Pics
 
Manual pic
Manual picManual pic
Manual pic
 
Pic retardos por software
Pic retardos por softwarePic retardos por software
Pic retardos por software
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
 
Programacion de microcontroladores
Programacion de microcontroladoresProgramacion de microcontroladores
Programacion de microcontroladores
 
Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler Set de 35 instrucciones para pic16f877A programación en assembler
Set de 35 instrucciones para pic16f877A programación en assembler
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
Módulos ccp pic 16f887
Módulos ccp pic 16f887Módulos ccp pic 16f887
Módulos ccp pic 16f887
 

Similaire à Lab.270910.instrucciones basicas del pic 16 f84a

Instrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfInstrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfssusere7e6cd
 
Juego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87xJuego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87xConstructora Kaizen
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2Luis Zurita
 
pic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdfpic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdfBryanVargas70
 
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...Anllel Cardenas Yllanes
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersmarco calderon layme
 
Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduinojesusresta
 
Picprimerospasos
PicprimerospasosPicprimerospasos
PicprimerospasosMicroPart
 
PLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasPLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasDidier Ramirez
 

Similaire à Lab.270910.instrucciones basicas del pic 16 f84a (20)

Instrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfInstrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdf
 
Juego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87xJuego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87x
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Tarea final
Tarea finalTarea final
Tarea final
 
pic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdfpic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdf
 
Conjunto de 35 instrucciones
Conjunto de 35 instruccionesConjunto de 35 instrucciones
Conjunto de 35 instrucciones
 
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
 
Instrucciones pic
Instrucciones picInstrucciones pic
Instrucciones pic
 
Guia 5 3 2015 c2
Guia 5 3 2015 c2Guia 5 3 2015 c2
Guia 5 3 2015 c2
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduino
 
COMF.pptx
COMF.pptxCOMF.pptx
COMF.pptx
 
Assembler
AssemblerAssembler
Assembler
 
Picprimerospasos
PicprimerospasosPicprimerospasos
Picprimerospasos
 
PLC- Instrucciones avanzadas
PLC- Instrucciones avanzadasPLC- Instrucciones avanzadas
PLC- Instrucciones avanzadas
 
Portafolio-Arquitectura de Maquinas
Portafolio-Arquitectura de MaquinasPortafolio-Arquitectura de Maquinas
Portafolio-Arquitectura de Maquinas
 

Plus de lmendi

Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]lmendi
 
Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]lmendi
 
Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]lmendi
 
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]lmendi
 
Partes de un computador
Partes de un computadorPartes de un computador
Partes de un computadorlmendi
 
Redes y seguridad infomatica
Redes y seguridad infomaticaRedes y seguridad infomatica
Redes y seguridad infomaticalmendi
 
Partes de un computador
Partes de un computadorPartes de un computador
Partes de un computadorlmendi
 
Partes de un computador
Partes de un computadorPartes de un computador
Partes de un computadorlmendi
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84almendi
 

Plus de lmendi (9)

Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
 
Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]
 
Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]Tema 2 competencias,-capacidades_y_actitudes[1]
Tema 2 competencias,-capacidades_y_actitudes[1]
 
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
Tema 1 diversificacion-curricular-niveles_y_ejes_curriculares[1]
 
Partes de un computador
Partes de un computadorPartes de un computador
Partes de un computador
 
Redes y seguridad infomatica
Redes y seguridad infomaticaRedes y seguridad infomatica
Redes y seguridad infomatica
 
Partes de un computador
Partes de un computadorPartes de un computador
Partes de un computador
 
Partes de un computador
Partes de un computadorPartes de un computador
Partes de un computador
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 

Dernier

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 

Dernier (16)

Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Lab.270910.instrucciones basicas del pic 16 f84a

  • 1. INSTRUCCIONES BASICAS DEL PIC 16F84A Luis Mendizabal
  • 2. INSTRUCCIONES BASICAS DEL PIC 16F84A Las características y capacidad de un procesador están definidas por el conjunto de instrucciones que esta pone a disposición del programador. Por tal razón, es fundamental conocer el conjunto de instrucciones del microcontrolador que estamos utilizando en la presente asignatura. Si bien es cierto que se puede escribir programas para el PIC 16F84A utilizando lenguajes de alto nivel como el C o el Basic, que permitirían tiempos de desarrollo más rápidos; en la asignatura, orientada al estudio de los microprocesadores y su arquitectura, estudiaremos y utilizaremos el lenguaje ensamblador del PIC 16F84A. El PIC 16F84A comprende un conjunto de 35 instrucciones. Un número pequeño comparado con las más de 300 instrucciones que tiene un microprocesador como el Pentium IV de Intel
  • 3. INSTRUCCIONES BASICAS DEL PIC 16F84A • Clasificaremos, para su estudio, las instrucciones del microcontrolador 16F84A como instrucciones básicas e instrucciones avanzadas.
  • 4. INSTRUCCIONES BASICAS • Dentro de estas incluimos las instrucciones aritméticas, de movimiento, lógicas, de complemento, de puesta en cero, de intercambio y de rotación
  • 5. INSTRUCCIONES DE COPIA (MOVIMIENTO) MOVLW Move Literal to W – Mover literal a W Sintaxis movlw k Operandos 0 k 255 Operación K => W Indicadores Ninguno Mueve los 8 bits del literal 'k' al registro de trabajo 'W'.
  • 6. INSTRUCCIONES DE COPIA (MOVIMIENTO) MOVWF Move W to f – Mover W a F Sintaxis movwf f , d Operandos 0 f 127 , d E {0,1} Operación W => f Indicadores Ninguno Mueve el contenido del registro de trabajo 'W' al registro 'f'.
  • 7. INSTRUCCIONES DE COPIA (MOVIMIENTO) MOVF Move f – Mover F Sintaxis movf f,d Operandos 0 f 127, d Î [0,1] Operación W => d Indicadores Z Mueve el contenido del registro 'f' al registro destino indicado con 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. El indicador 'Z' del registro 'STATUS' queda afectado: 'Z=1' si el contenido movido es CERO.
  • 8. INSTRUCCIONES DE SUMA ADDLW Add Literal to W – Sumar literal a W Sintaxis addlw k Operandos 0 k 255 Operación k + W => W Indicadores C, DC, Z Suma los 8 bits del literal 'k' con el registro de trabajo 'W' y el resultado lo almacena en el registro de trabajo 'W'.
  • 9. INSTRUCCIONES DE SUMA ADDWF Add W and f – Sumar W y F Sintaxis addwf f,d Operandos 0 f 127, d E [0,1] Operación f + W => d Indicadores C, DC, Z Suma el contenido del registro 'f' al contenido del registro de trabajo 'W' y el resultado se almacena en el destino 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'.
  • 10. INSTRUCCIONES DE SUSTRACCIÓN SUBLW Subtract W from Literal – Restar W de literal Sintaxis sublw k Operandos 0 k 255 Operación k - W => W Indicadores C, DC, Z Resta de los 8 bits del literal 'k' el contenido del registro de trabajo 'W' y el resultado lo almacena en el registro de trabajo 'W'.
  • 11. INSTRUCCIONES DE SUSTRACCIÓN SUBWF Subtract W from f – Restar W de F Sintaxis subwf f,d Operandos 0 f 127, d E [0,1] Operación f - W => d Indicadores C, DC, Z Resta del contenido del registro 'f' el contenido del registro de trabajo 'W' y el resultado se almacena en el destino 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'.
  • 12. INSTRUCCIONES DE PUESTA EN CERO CLRW Clear W – Limpiar W Sintaxis clrw Operandos ninguno Operación 0 => W Indicadores Z Carga cero al registro de trabajo 'W' y se establece el indicador cero, 'Z=1'.
  • 13. INSTRUCCIONES DE PUESTA EN CERO CLRF Clear f – Limpiar F Sintaxis clrf f Operandos 0 f 127 Operación 0 => f Indicadores Z Carga cero al registro 'f' y se establece el indicador cero, 'Z=1'.
  • 14. INSTRUCCIONES DE INCREMENTO Y DECREMENTO DECF Decrement f – Decrementar F Sintaxis decf f,d Operandos 0 f 127, d ÎE[0,1] Operación f - 1 => d Indicadores Z Decrementa el contenido del registro 'f'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Si el resultado del incremento es cero, se establece el indicador cero, 'Z=1'.
  • 15. INSTRUCCIONES DE INCREMENTO Y DECREMENTO INCF Increment f – Incrementar F Sintaxis incf f,d Operandos 0 f 127, d E [0,1] Operación f + 1 => d Indicadores Z Incrementa el contenido del registro 'f'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Si el resultado del decremento es cero, se establece el indicador cero, 'Z=1'.
  • 16. INSTRUCCIÓN LÓGICA Y (AND) ANDLW And Literal with W – And literal con W Sintaxis andlw k Operandos 0 k 255 Operación k .AND. W => W Indicadores Z Efectúa la operación AND de los 8 bits del literal 'k' con el registro 'W' y almacena el resultado en 'W'. Actualiza el indicador 'Z'.
  • 17. INSTRUCCIÓN LÓGICA Y (AND) ANDWF And W with f – And W con F Sintaxis andwf f,d Operandos 0 f 127, d E [0,1] Operación f .AND. W => d Indicadores Z Efectúa la operación AND del contenido del registro 'f' con el registro 'W' y almacena el resultado en 'd'. Si 'd=0‘ el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'Z'.
  • 18. INSTRUCCIÓN LÓGICA O – INCLUSIVA (OR) IORLW Inclusive OR Literal with W – Or literal con W Sintaxis iorlw k Operandos 0 k 255 Operación k .OR. W => W Indicadores Z Efectúa la operación OR de los 8 bits del literal 'k' con el registro 'W' y almacena el resultado en 'W'. Actualiza el indicador 'Z'.
  • 19. INSTRUCCIÓN LÓGICA O – INCLUSIVA (OR) IORWF Includive OR W with f – Or W con F Sintaxis iorwf f,d Operandos 0 f 127, d E [0,1] Operación f .OR. W => d Indicadores Z Efectúa la operación OR del contenido del registro 'f' con el registro 'W' y almacena el resultado en 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'Z'.
  • 20. INSTRUCCIÓN LÓGICA O – EXCLUSIVA (XOR) XORLW Exclusive OR Literal with W – Xor literal con W Sintaxis xorlw k Operandos 0 k 255 Operación k .XOR. W => W Indicadores Z Efectúa la operación XOR de los 8 bits del literal 'k' con el registro 'W' y almacena el resultado en 'W'. Actualiza el indicador 'Z'.
  • 21. INSTRUCCIÓN LÓGICA O – EXCLUSIVA (XOR) XORWF Exclusive OR W with f – Xor W con F Sintaxis xorwf f,d Operandos 0 f 127, d E [0,1] Operación f .XOR. W => d Indicadores Z Efectúa la operación XOR del contenido del registro 'f' con el registro 'W' y almacena el resultado en 'd'. Si 'd=0‘ el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'Z'.
  • 22. INSTRUCCIÓN DE COMPLEMENTO COMF Complement f – complementar F Sintaxis comf f,d Operandos 0 f 127, d E [0,1] Operación ~f => d Indicadores Z Efectúa el complemento bit a bit del contenido del registro 'f' y almacena el resultado en 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'Z'.
  • 23. INSTRUCCIÓN DE INTERCAMBIO DE NIBBLES SWAPF Swap Nibbles in f – Intercambiar nibbles en F Sintaxis swapf f,d Operandos 0 f 127, d Î [0,1] Operación f[3:0]=>d[7:4],f[7:4]=>d[3:0] Indicadores ninguno Efectúa el intercambio del nibble menos significativo con el nibble más significativo del registro 'f' y almacena el resultado en 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'Z'.
  • 24. INSTRUCCIONES DE ROTACIÓN RLF Rotate Left f through Carry – Rotar F a la izquierda a través del bit de Acarreo Sintaxis rlf f,d Operandos 0 f 127, d E [0,1] Operación Indicadores C Rota un bit a la izquierda, el contenido del registro 'f' pasando por el indicador de acarreo 'C' y almacena el resultado en 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'C'.
  • 25. INSTRUCCIONES DE ROTACIÓN RRF Rotate Right f through Carry - Rotar F a la derecha a través del bit de Acarreo Sintaxis rrf f,d Operandos 0 f 127, d E[0,1] Operación C Indicadores Rota un bit a la derecha, el contenido del registro 'f' pasando por el indicador de acarreo 'C' y almacena el resultado en 'd'. Si 'd=0' el destino es el registro de trabajo 'W'. Si 'd=1' el destino es el propio registro 'f'. Actualiza el indicador 'C'.
  • 26. DESARROLLO DE LA PRACTICA • Escriba un programa que calcule la diferencia de dos números de 8 bits, sin utilizar las instrucciones de sustracción DESARROLLO DE LA PRACTICA • ;*******************************************************; • ; Nombre : Complemento ; • ; Proposito : calcula la diferencia entre dos variables ; • ; Autor : XXXXX; • ; FCreacion : 27/09/2010 ; • ; FModificacion : ------ ; • ;*******************************************************; • LIST P=16f84A ; Modelo de PIC utilizado • INCLUDE <P16f84A.INC> ; Contiene definiciones de elementos del PIC • ;********DATOS • num1 equ 0xA ; primer numero • num2 equ 0xB ; segundo numero • ;********CODIGO • ORG 0 ; Indica donde comienza el programa • Inicio • movlw .20 ; W <- 20 • movwf num1 ; num1 <- 20 • movlw .10 ; W <- 10 • movwf num2 ; num2 <- 10 • comf num2,0 ; W <- ~num2 • addlw .1 ; W <- ~num2 + 1 = -num2 • addwf num1,W ; W <- num1 + ~num2 + 1 = num1 - num2 • movwf resul ; resul <- W • END
  • 27. DESARROLLO DE LA PRACTICA • Escriba un programa que intercambie los valores almacenados en dos variables v1 v2, sin utilizar variables auxiliares • ;*****************************************************************; • ; Nombre : Swap ; • ; Proposito : Intercambia dos variables, sin utilizar variables auxiliares ; • ; Autor : XXXXX XXXX; • ; FCreacion : 27/09/20010; • ; FModificacion : ------ ; • ;*****************************************************************; • LIST P=16f84A ; Modelo de PIC utilizado • INCLUDE <P16f84A.INC> ; Contiene definiciones de elementos del PIC • ;********DATOS • v1 equ 0xA ; primer numero • v2 equ 0xB ; segundo numero • ;********CODIGO • ORG 0 ; Indica donde comienza el programa • Inicio • movlw .7 ; W <- 10 • movwf v1 ; num1 <- 10 • movlw .5 ; W <- 15 • movwf v2 ; num2 <- 15 • xorwf v1, 1 ; v1 <- v1 .xor. v2 • xorwf v1, 0 ; W <- v1 .xor. v2 • xorwf v1, 1 ; v1 <- v1 .xor. v2 • movwf v2 ; v2 <- W • END