SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Familias lógicas - Dareinys Rivero
Familias lógicas - Dareinys RiveroFamilias lógicas - Dareinys Rivero
Familias lógicas - Dareinys Riverodareinys Rivero
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05Cristian Ortiz Gómez
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Luis Zurita
 
Ejemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionEjemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionLuis Zurita
 
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”SANTIAGO PABLO ALBERTO
 
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
 
L09 sumador restador-binariode8bits
L09 sumador restador-binariode8bitsL09 sumador restador-binariode8bits
L09 sumador restador-binariode8bitsChristian Acuña
 
Analisis frecuencia tema 7
Analisis frecuencia  tema 7Analisis frecuencia  tema 7
Analisis frecuencia tema 7Jesus Rios
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Luis Zurita
 
Amp400wt8
Amp400wt8Amp400wt8
Amp400wt8ninguna
 
Laboratorio de Microcomputadoras - Práctica 01
Laboratorio de Microcomputadoras - Práctica 01Laboratorio de Microcomputadoras - Práctica 01
Laboratorio de Microcomputadoras - Práctica 01Cristian Ortiz Gómez
 
Codificadores y decodificadores
Codificadores y decodificadoresCodificadores y decodificadores
Codificadores y decodificadoresRopoga
 
DIGITAL VOLTMETER USING 8051 MICROCONTROLLER
DIGITAL VOLTMETER USING 8051 MICROCONTROLLERDIGITAL VOLTMETER USING 8051 MICROCONTROLLER
DIGITAL VOLTMETER USING 8051 MICROCONTROLLERChirag Lakhani
 

Mais procurados (20)

Familias lógicas - Dareinys Rivero
Familias lógicas - Dareinys RiveroFamilias lógicas - Dareinys Rivero
Familias lógicas - Dareinys Rivero
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05
 
Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4Guía de ejercicios resueltos y propuestos tema 4
Guía de ejercicios resueltos y propuestos tema 4
 
Ejemplos De Timer E Interrupcion
Ejemplos De Timer E InterrupcionEjemplos De Timer E Interrupcion
Ejemplos De Timer E Interrupcion
 
Familias lógicas
Familias lógicasFamilias lógicas
Familias lógicas
 
Dac y adc
Dac y adcDac y adc
Dac y adc
 
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
Microcontroladores PIC: Luz por detector de movimiento y crepuscular “Senpir”
 
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
 
L09 sumador restador-binariode8bits
L09 sumador restador-binariode8bitsL09 sumador restador-binariode8bits
L09 sumador restador-binariode8bits
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
ciruitos digitales
ciruitos digitalesciruitos digitales
ciruitos digitales
 
Analisis frecuencia tema 7
Analisis frecuencia  tema 7Analisis frecuencia  tema 7
Analisis frecuencia tema 7
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Amp400wt8
Amp400wt8Amp400wt8
Amp400wt8
 
8051 Microcontroller
8051 Microcontroller8051 Microcontroller
8051 Microcontroller
 
Protector salidas
Protector salidasProtector salidas
Protector salidas
 
Laboratorio de Microcomputadoras - Práctica 01
Laboratorio de Microcomputadoras - Práctica 01Laboratorio de Microcomputadoras - Práctica 01
Laboratorio de Microcomputadoras - Práctica 01
 
SPI Protocol in LPC2148
SPI  Protocol in LPC2148SPI  Protocol in LPC2148
SPI Protocol in LPC2148
 
Codificadores y decodificadores
Codificadores y decodificadoresCodificadores y decodificadores
Codificadores y decodificadores
 
DIGITAL VOLTMETER USING 8051 MICROCONTROLLER
DIGITAL VOLTMETER USING 8051 MICROCONTROLLERDIGITAL VOLTMETER USING 8051 MICROCONTROLLER
DIGITAL VOLTMETER USING 8051 MICROCONTROLLER
 

Destaque

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
 

Destaque (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
 

Semelhante a 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 f87xxfreddymadriz
 
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
 
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
 

Semelhante a 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...
 
CONJUNTO DE INSTRUCCIONES PIC16F877A
CONJUNTO DE INSTRUCCIONES PIC16F877ACONJUNTO DE INSTRUCCIONES PIC16F877A
CONJUNTO DE INSTRUCCIONES PIC16F877A
 
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
 
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
 

Mais 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
 

Mais 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
 

Último

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
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
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
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
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (15)

presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
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
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

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