Documente Academic
Documente Profesional
Documente Cultură
Instruccin COMF:
Complementa el contenido del registro
f (cambia unos por ceros y viceversa), el
resultado se guarda en el registro escogido
segn el valor del bit d (COMPLEMENT F).
kkkk
Instruccin INCFSZ:
Incrementa en uno el contenido del
registro f, si el contenido de f queda en
00 el micro salta una lnea del programa, el
Sintaxis: NOP
Codificacin: 0000 0000
0000
00
0xx0
0000
Palabras/Ciclos: 1, 1
Operacin: Ninguno.
Bits del registro de estado que se afectan: Ninguno.
Instruccin RLF:
Sintaxis: RRF f, d
Codificacin: 0011 00df
ffff
00
1100 dfff ffff
Palabras/Ciclos: 1, 1
Operacin:
Rotacin de un bit a la izquierda del
contenido de f, pasando por el bit de
acarreo C. Si d=1 el resultado se almacena
en f si d=0 el resultado se almacena en W
Bits del registro de estado que se afectan: C.
Instruccin SUBWF:
Resta el contenido del registro W del
registro
f
usando
el
mtodo
de
complemento a dos, el bit de carry indica el
signo de la respuesta, el resultado se guarda
en el registro escogido segn el valor del bit
d.
Sintaxis: SUBWF f, d
Codificacin: 0000 10df
ffff
00
0010
dfff
ffff
Palabras/Ciclos: 1, 1
Operacin: f w --> f si d=1
f w --> w si d=0
Bits del registro de estado que se afectan: C, DC, Z.
Instruccin SWAPF:
Intercambia los cuatro bits altos y los
cuatro bits bajos del registro f, el nuevo
dato obtenido se guarda en el registro
seleccionado segn el valor del bit d.
Sintaxis: SWAPF f, d
Codificacin: 0011 11df
ffff
00
1110
dfff
ffff
Palabras/Ciclos: 1, 1
Operacin: f(0 - 3) --> f(4 - 7) y f(4 7) --> f(0 3)
resultado --> f si d=1
resulatdo --> w si d=0
Bits del registro de estado que se afectan: Ninguno.
Instruccin XORWF:
Operacin lgica XOR entre el registro
W y el registro f, el resultado obtenido se
guarda en el registro seleccionado segn el
bit d.
Sintaxis: XORWF f, d
Codificacin: 0001 10df
ffff
00
0110
dfff
ffff
Palabras/Ciclos: 1, 1
Operacin: w OR (Exclusivo) f --> f si d=1
w OR (Exclusivo) f --> w si d=0
Bits del registro de estado que se afectan: Z.
Sintaxis: GOTO K
Codificacin: 101k kkkk
kkkk
10
1kkk
kkkk
kkkk
Palabras/Ciclos: 1, 2
Operacin: El contador de programa salta a la direccin k
Bits del registro de estado que se afectan: Ninguno.
Instruccin IORLW:
Sintaxis: IORLW k
Codificacin: 1101 kkkk
kkkk
11
1000
kkkk
kkkk
Palabras/Ciclos: 1, 1
Operacin: w OR k --> w
Bits del registro de estado que se afectan: Z.
Instruccin MOVLW:
Carga el registro W con el valor
constante k.
Sintaxis: MOVLW k
Codificacin: 1100 kkkk
kkkk
11
00xx
kkkk
kkkk
Palabras/Ciclos: 1, 1
Operacin: k --> w
Bits del registro de estado que se afectan: Ninguno.
Instruccin RETURN:
Retorno desde una subrutina.
Sintaxis: RETURN
Codificacin: 00 0000 0000 0000
Palabras/Ciclos: 1, 2
Operacin: PILA--> PC
Bits del registro de estado que se afectan: Ninguno.
Instruccin RETLW:
Sintaxis: RETLW k
Codificacin: 1000 kkkk
kkkk
11
01xx
kkkk
Palabras/Ciclos: 1, 2
Operacin: PILA--> PC
K --> w
kkkk
goto Bucle
de la botonera
Ejemplo 2
PruebaEjemplo2
Decfsz Contador
Movlw Contador2
; Iniciamos contador2
PruebaEjemplo31
Decfsz Contador2,1
sale
Goto PruebaEjemplo31 ; No es cero, se repite el ciclo
Decfsz Contador1,1
; Decrementa el contador
Goto PruebaEjemplo3
Ejemplo 4
PruebaEjemplo4
Btfss PORTA, botonera
Goto PruebaEjemplo4
Ejemplo 5
PruebaEjemplo5
Btfss PORTA, botonera
Goto PruebaEjemplo5
Incf contador,1
contador
Movfw contador
Ejemplo 6
BucleEjemplo6
; Se ha pulsado se incrementa
; Pasamos contador a w
Goto BucleEjemplo6
Ejemplo 7
PruebaEjemplo7
Movlw 0x07
Addlw 0x06
Movwf suma
Ejemplo 8
PruebaEjemplo8
Btfss PORTB, botonera
Goto PruebaEjemplo5
Call antirebote
; se verifica nuevamente
Goto PruebaEjemplo8
Incf contador,1
contador
Movfw contador
; Se ha pulsado se incrementa
; Pasamos contador a w
Ejemplo 9
PruebaEjemplo9
Bcf PORTA, salida
Ejemplo 10
PruebaEjemplo10
Bsf STATUS, RP0
Movlw
b'11111110'