Instrucciones Risc
Instrucciones Risc
Instrucciones Risc
REPERTORIO DE
INSTRUCCIONES RISC
Tejec.prog=Xinstruc.*C.M
DATOS:
En el caso que todas las instruc. Sean normales.
Fosc=10 MHz
C.M=4CLK=4*Tosc
Tejec=600uS
T=1/Fosc
Ins. Salto=50%=500
T=1/10Mhz
Ins.Normales=50%=500
T=100nS=0.1uS
Total Instrucc=X=?=1000
C.M=0.4us
No. Pos. Mem. Programa=1000
RESUMEN Xtotal=Xinst_normales+Xinst_salto
Inst.normales o de salto Tejec.prog=Xinst_normales*C.M+Xinst_salto*2*C.M
ocupan la misma longitud de X=Xinst_normales= Xinst_salto
palabra. En gama media 14 600uS=X*0.4uS+X*2*0.4uS
bits. X=600uS/1.2us
T.Ejec.Inormal=1 C.M X=500
T.Ejec.Isalto= 2 C.M
TIPOS DE FORMATO
Las instrucciones de los PIC de la gama media, entre los que se encuentran los
modelos PIC 16X8X, tienen 14 bits de longitud. Dicho formato se divide en
diferentes campos de bits.
a. CAMPO DEL CODIGO OP
Los bits de este campo sirven para definir la operación que realiza la instrucción.
b. CAMPOS DE LOS OPERNADOS FUENTE(f) Y DESTINO(d)
Estos campos de bits definen los registros que actúan como operandos en la instrucción. Suelen
referenciar la dirección que ocupan en la memoria de datos.
c. CAMPO DE OPERANDO INMEDIATO O LITERAL (k)
Es un campo de bits que contiene el valor de un operando inmediato.
d. CAMPO DE REFERENCIA A UN BIT (b)
Suele ser un campo de 3 bits que indica la posición de un bit concreto dentro de un registro de 8
bits.
e. CAMPO DE DIRECCIÓN DE SALTO
En las instrucciones de salto CALL y GOTO hay un campo de bits que contiene la dirección de la
siguiente instrucción que hay que ejecutar. Dicho campo de bits se carga en el PC en las
instrucciones de salto incondicional.
CLASIFICACIÓN DE LAS
INSTRUCCIONES RISC
Para estudiar los diversos formatos que admiten las instrucciones del
repertorio de los PIC 16X8X se clasifican en cinco grandes grupos,
atendiendo al tipo de operación que desarrollan.
0W
1F
OPERACIONES ORIENTADAS A
MANEJAR BITS
Formato
B9 B8 B7 Posi
cion
0 0 0 0
0 0 1 1
1 1 1 7
Ejemplo
EJEMPLO
BCF f,b
EJEMPLO
BSF f,b
BSF 0x0F,7 ; Ponga “1” en el Bit 7 del Reg.[0x0f]
ADDLW K
ADDLW 0X0F ; W W+15
ADDLW 0x05 ; W W+5
;FORMATO HEX
MOVLW 0X02 ;W 2
;FORMATO BIN
MOVLW b’00000010’ ;W 2
;FORMATO DEC
MOVLW d’2 ;W 2
OPERACIONES DE SALTO
CONDICIONAL
Formato
Ejemplo
BTFSC f,d
BTFSC 0X03,2 ; Explora el Bit 2 del Reg.[0x03] y salta
una instruccion. Si el bit2 =“0”
GOTO PROC1
GOTO PROC2
EJEMPLOS
CALL SUBRUTINA_1 ; Llamar a la “Subrutina_1”(salta a otra posición del programa)
GOTO Inicio ; Va o salta a la Etiqueta “Inicio” (salta a otra posición del programa)
GOTO Fin ; Va o salta a la Etiqueta “Fin” (salta a otra posición del programa)
RETURN
SLEEP
CLRWDT
EJEMPLO
Un Microcontrolador PIC funciona con un cristal de cuarzo de 4
MHz y el Perro Guardián (Watch Dog Time – WDT) está
programado para que se desborde cada 18 mS. ¿Calcular cada
cuantas instrucciones como máximo deberá refrescarse el
registro Perro Guardián con la instrucción CLRWDT?
A. Einstein