Arquitectura de Computadoras Practica #1 Simulación del MC6802
Enviado por Raúl Muñoz • 29 de Octubre de 2018 • Documentos de Investigación • 929 Palabras (4 Páginas) • 164 Visitas
Instituto Tecnológico de Morelia[pic 1]
José María Morelos y Pavón
Arquitectura de Computadoras
Practica #1 Simulación del MC6802
Profesor: Servando Gonzales Hernández
Integrantes:
Cristian Bermudes Anguiano Sergio Raúl Aparicio Muñoz
Ingeniería en Tecnologías de la Información y Comunicación
Objetivo: Simular Programas hechos en lenguaje ensamblador para el MC6802
Introducción:
EL MICROPROCESADOR MC6802
FORMATOS DE INSTRUCCIONES
Cada µP en particular tiene un determinado conjunto de instrucciones que puede
ejecutar. Para ello cada instrucción debe contener la siguiente información:
- La operación a realizar.
- La ubicación del operando o los operandos (Datos).
- La ubicación del resultado.
- La ubicación de la siguiente instrucción.
Previamente se mencionó la conveniencia de reducir al mínimo de longitud de las
instrucciones usando para ello:
a) Un contador de programa,
b) haciendo que la dirección del resultado fuese la misma que la de uno de los operandos,
c) usar sus direcciones cortas de registros en vez de direcciones largas de memoria y
d) haciendo que las direcciones de origen de datos y de destino de resultados sean implícitas en vez de explícitas.
Todo ello se logra a cambio de perder flexibilidad, aumentar el número de instrucciones y alargar la longitud de los programas. Usualmente las operaciones que realiza la Unidad
Aritmético Lógica son:
- SUMAR
- SUMAR CON ACARREO
- RESTAR
- RESTAR CONSIDERANDO ARRASTRE
- COMPLEMENTAR A DOS
- INCREMENTAR
- DECREMENTAR
- AND LOGICA
- OR LOGICA
- OR EXCLUSIVA
- NEGACION
- CORRIMIENTO A LA IZQUIERDA
- CORRIMIENTO A LA DERECHA
- ROTACION
A las que se suman algunas otras instrucciones propias del µP. Existen en el mercado microprocesadores con menos de 50 instrucciones y otros tienen más de 1464 instrucciones en total. Si bien, muchas de estas instrucciones pueden considerarse repetidas, ya que puede tratarse de una misma operación referida a diferentes registros. Un microprocesador con un pequeño juego de instrucciones puede hacer lo mismo que otro con un repertorio mayor de instrucciones, pero generalmente requiere más pasos de programación que se traducen en mayor requerimiento de memoria y más tiempo para ejecutar un programa equivalente.
MODOS DE DIRECCIONAMIENTO
Existen 7 modos de direccionamiento, los cuales están en relación directa con el tipo de
instrucciones que realiza el microprocesador. Dichos modos son los siguientes:
a) Con operando implícito
o De acumulador.
o Inherente o implícito.
b) Con operando explícito
o Relativo.
o Inmediato.
o Directo.
o Extendido.
o Indexado.
Direccionamiento de Acumulador.
Las instrucciones en las que sólo se utilizan uno de los dos acumuladores tiene este tipo de decremento, por ejemplo:
“Decrementar Acumulador A”
[pic 2]
Modo de Direccionamiento Inherente.
Aquellas instrucciones que únicamente emplean los elementos de la unidad de
micro procesamiento tiene este modo de direccionamiento tales como el registro de código de condiciones, apuntador de pila, etc.
“Suma acumulador A más acumulador B con resultado en A”
[pic 3]
Modo de Direccionamiento relativo.
Este modo de direccionamiento está asociado a las instrucciones de ruptura de secuencia condicionales o no (a excepción del JMP). El siguiente byte del código de operación contiene un número expresado en complemento a 2, el cual se suma con el contador de programa después de que este se ha incrementado para direccionar la siguiente instrucción. Esto permite efectuar saltos a los 126 bytes anteriores a la instrucción de ramificación, así como a los 129 posteriores.
La dirección “D” alcanzada a partir de la instrucción de salto localizada en “D1” con un desplazamiento llamado DESP, lo podemos expresar como: D = (D1 + 2) + DESP con desplazamiento –128 ≤ DESP ≤ 127
Ejemplo:
BNE ALFA 2607 Si Z ≠ 0 entonces PC ← PC + 02 + 07
Modo de Direccionamiento Inmediato.
En el modo de direccionamiento inmediato, la instrucción está formada por 2 bytes, el primero es el código de operación y el segundo es el operando. Ejemplo:
“Sumar 4A al contenido del acumulador A”
- El símbolo # indica el modo de direccionamiento inmediato.
- El símbolo $ indica el código hexadecimal.
[pic 4]
Modo de direccionamiento directo.
En este modo de direccionamiento la instrucción está formada por 2 bytes, el primero contiene el código de operación y el segundo la dirección del operando. Esto permite acceso los primeros 256 bytes de memoria. Ejemplo:
“Cargar acumulador A con el contenido de la localidad 20”
[pic 5]
Modo de direccionamiento extendido.
Una instrucción bajo este modo de direccionamiento está constituida por 3 bytes de los cuales el primero contiene el código de operación y los dos siguientes la dirección del operando. Los o bits más significativos de esta dirección (parte alta) están contenidos en el segundo byte. Ejemplo:
“Cargar la dirección 201F con el contenido del acumulador A”
[pic 6]
Modo de direccionamiento indexado.
En este modo de direccionamiento, la instrucción está formada por dos bytes, el primero contiene el código de operación y el segundo un número en complemento a 2 que se suma al contenido del registro índice para formar la dirección del operando. Esta dirección se forma en un registro temporal y el registro índice no se modifica. Ejemplo:
“Suma el acumulador A más el siguiente operando el cual es el contenido de IX+10” Desarrollo:
...