Está en la página 1de 13

Instituto Politécnico Nacional Centro De

Estudios Científicos Y Tecnológicos
CECyT 9 "Juan de Dios Bátiz".

Técnico En Sistemas Digitales

Alumnos: Velazquez Rios Adrian

Profesor: Jesus Olivares

Grupo: 5IM2

Asignatura: Arquitectura de microprocesadores y microcontroladores

Fecha 25/11/2022

TRADUCCIÓN 2.3
Traducción del datasheet

2,3 PCL Y PCLATH


El Contador del programa (PC) tiene 13 bits de largo. El byte bajo proviene del registro PCL,
el cual es un registro de escritura y lectura. Los bits superiores (PC<12:8>) no se pueden leer,
pero se pueden escribir indirectamente a través del registro PCLATH. En cualquier Reinicio,
los bits superiores del PC serán borrados. La figura 2-5 muestra las dos situaciones en las
que se puede cargar el PC. El ejemplo superior en la figura muestra como el PC es cargado
para escribir en el registro PCL (PCLATH → PCH). El ejemplo inferior en la figura muestra
como el PC es cargado durante una instrucción “CALL” o “GOTO” (PCLATH → PCH).

2.3.1 GOTO CALCULADO


Un GOTO calculado se logra al agregar un desplazamiento al contador del programa (ADDWF
PCL). Al realizar una tabla de lectura utilizado un método de GOTO calculado se debe tener
cuidado si la ubicación de la tabla cruza un límite en la memoria del registro PCL (Cada
bloque de 256-bytes).
2.3.2 LA Bateria
La familia PIC16F87XA tiene en su hardware una pila con un nivel de profundidad de 8 niveles
x 13 bits de largo. El espacio de apilamiento no es parte del programa o del espacio de datos
y el puntero de la pila no se puede leer o escribir. El PC es empujado a la pila cuando una
instrucción “CALL” es ejecutada, o una interrupción provoca una rama. La pila realiza un POP
cuando una instrucción “RETURN” “RETLW” o “RETFIE” es ejecutada. El PCLATH no es
afectado por una operación PUSH o POP. La pila opera como un buffer circular. Esto significa
que después de que la pila ha sido empujada ocho veces, el noveno empuje sobrescribirá el
valor que fue almacenado en el primer empuje. El décimo empuje sobrescribe el segundo
empuje (y así sucesivamente).

Como se pasa de la pagina 0 a la pagina 2

Como se llama una subrutina de la página 2 desde la 0


La SIMULACIÓN DE LAS OPERACIONES ENTRE REGISTROS ORIENTADAS A BYTE
Aquí se suma los contenidos del registro w con el contenido de la variable.
Como podemos observar, se carga un 05 en el op2 y después se guarda un 04 en el registro
de trabajo, cuando ejecutamos la instrucción addwf, los contenidos se suman, dando como
resultado 09, éste es almacenado en el registro w.

ANDWF:
Realiza la tabla de verdad AND entre el registro de trabajo y la variable.
Como se puede observar, se guardó un 05 en el op2, después se guardó un 04 en el registro
de trabajo, y al ejecutar la instrucción andwf, realizó la tabla de verdad AND, la cual nos dice
que cuando las 2 entradas son verdaderas, la salida es verdadera, por ello el tercer bit es el
único que se mantiene (Equivalente a 4 hexadecimal) y los demás bits se van a 0.

CLRF:
Aquí se borra el contenido de un varable

En base a la estructura de la instrucción anterior se le agregó la instrucción clrf, ésta


instrucción borra el contenido del registro, dejándolo en 00, como teníamos un 05 en el op2, al
ejecutar la instrucción se observa que termina en 00.

CLRW:
Aquí se borra el contenido del registro de trabajo.
En base a la estructura de la instrucción anterior, una vez es borrado el contenido de op2,
sigue la instrucción clrw que borra el contenido del registro de trabajo, en la imagen podemos
apreciar como el contenido del registro w es 00.

LA SIMULACIÓN DE LAS OPERACIONES ENTRE REGISTROS ORIENTADAS A BIT


BCF: Pone en 0 un bit de un registro.
BSF: Pone en 1 un bit de un registro.
Para ejemplificar éstas 2 instrucciones juntas primero se cargó un FF hexadecimal al op2, una
vez que FF estaba cargado en el registro, se ejecutó bcf, dirigido al bit 0 del op2, como
resultado se obtuvo un FE, la siguiente instrucción era bsf, ésta regresó a 1 el bit 0, por lo que
se obtuvo de nueva cuenta un FF.

BTFSS:
Esta instrucción testea un bit de un registro y brinca la siguiente instrucción si el bit resulta
estar en 0.
Para esta instrucción se cargó FF al op2, después se testeó el bit 0, al ser 1 se saltó la
instrucción fue_0 y ejecutó el goto fue_1.

SIMULACION DE OPERACIONES CON LITERALES Y CONTROL


ADDLW:
Suma la literal con el contenido del registro de trabajo.

Se observa que se carga un 1 al registro de trabajo, después mediante un addlw, se le suma


2, resultando en tener un 3 en el contenido del registro de trabajo.

ANDLW:
Función lógica entre AND entre w y una literal.
Para ejemplificar esta instrucción se cargó a w un BB hexadecimal y se realizó la operación
AND con un AD hexadecimal, como resultado nos dio un A9 en el registro de trabajo.

SUBLW:
Resta la literal con el contenido del registro de trabajo.
Se realizó la operación de resta con un BB y un 03 hexadecimal, y como resultado se obtuvo
un B8.

XORLW:
Función lógica or exclusiva entre el registro de trabajo y la literal
Se hizo la instrucción xorlw con BB y 03 hexadecimal, como resultado de la operación se
obtuvo un B8.

También podría gustarte