Ejercicio1 Pachacame Pusdá NRC4536

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA

Materia: Sistemas Embebidos


Estudiantes:
• Pachacama Michael
• Pusdá Bryan
RNC: 4536
Tema:
Ejercicio 1
Comandos:

• ;: indica que el texto colocado después de este ; se colocara como comentario del programa
pero indican datos del programa como su funcionalidad, fecha en la cual fue realizado y el
autor del programa.
• org: establece el origen del programa, define el inicio donde el código que le sigue se colocara
en la memoria, es decir que el código que sigue a la instrucción se ubicase a partir de la
posición indicada por el termino siguiente del comando.
• clrw: limpia el registro w (memoria de datos) dándole un valor igual a 0.
• loop: repita la instrucción que continua hasta que el contador CX sea 0
• addlw: suma un literal, un numero de 8 bits al resultado almacenado en el registro w.
• goto: produce un salto de línea ubicando y ejecutando al comando ubicado después de este
comando.
• end: permite terminar la ejecución del programa.
Ejemplo:
Realizar un programa que pueda comenzar en 0 y aumentar continuamente un valor de 8.
Ilustración 1:código implementado en MPLAB

Descripción del funcionamiento del programa

• org 00: a partir de la ubicación 00, empiece a almacenar las instrucciones del programa, este
paso es obligatorio en todos los programas que se realicen.
• clrw: limpie el registro w dándole un valor de 0.
• loop addlw 8: vuelva a sumarle 8 al registro w que se tenia anteriormente, verificando si el
contador cx no a llegado a 0.
• goto loop: salte a la línea donde se encuentra la instrucción o etiqueta loop.
• end: finalice el programa.
Análisis de resultados:
1. En el primer momento en que se simula el programa se puede observar que el valor de
respuesta es:

Ilustración 2:resultado al iniciar el programa simulado en MPLAB

• Se puede observar que registro 3 cuando comienza a correr el programa es 00000000 y


es debido a que en el programa se utilizó el comando clrw.
• En el registro de Status se puede observar que su valor inicial es 00011110 que
comenzando de derecha a izquierda significa:
➢ 0: se tiene un acarreo de resta de 8 bits, es irrelevante porque recién comienza a
ejecutarse el programa.
➢ 1: acarreo de suma de 4 bits.
➢ 1: el resultado de la operación aritmética es 0.
➢ 1: se a obtenido después de un reset mediante un comando clr en este caso w.
➢ 1: recién se encendió o ejecuto.
➢ 0: en el banco 1:
➢ 00: estos caracteres no han sido implementados en este registro.
2. Primera operación realizada:

Ilustración 3:resultado, primera operación aritmética del programa simulado en MPLAB

En la primera operación realizada se debe sumar 8 (00001000) al registro w igual a 0 (00000000) por
lo que el valor del registro w cambia a (00001000).

• El registro de estatus tiene un valor de 00011000:


➢ 0: se tiene un acarreo de resta de 8 bits, es irrelevante porque recién comienza a ejecutarse
el programa.
➢ 0: acarreo de resta de 4 bits.
➢ 0: el resultado de la operación aritmética es diferente de 0.
➢ 1: se a obtenido después de un reset mediante un comando clr en este caso w.
➢ 1: recién se encendió o ejecuto.
➢ 0: en el banco 1:
➢ 00: estos caracteres no han sido implementados en este registro.
Casos curiosos para entender el funcionamiento del registro status:

Ilustración 4:resultado, caso del status cuando el resultado aritmético es 48

El registro de status es 00011010 que es diferente a los registros antes analizados debido al bit 1 que
nos indica que se tiene un acarreo de suma de 4 bits resultado de sumar 00101000 más 00001000 que
da como resultado 00110000 y en el bit 3 se realizó un acarreo.

Ilustración 5:resultado, caso del status cuando el resultado aritmético supera el registro w de 8 bits
El registro de estatus tiene un valor de 00011000:
➢ 1: se tiene un acarreo de suma de 8 bits.
➢ 1: acarreo de suma de 4 bits.
➢ 1: el resultado de la operación aritmética es 0.
➢ 1: se a obtenido después de un reset mediante un comando clr en este caso w.
➢ 1: recién se encendió o ejecuto.
➢ 0: en el banco 1:
➢ 00: estos caracteres no han sido implementados en este registro.
Referencias:
[1] I. Kecerdasan and P. Ikep, No 主観的健康感を中心とした在宅高齢者における 健康関
連指標に関する共分散構造分析Title. .

También podría gustarte