Práctica 6 - Departamento de Tecnología Electrónica

Anuncio
UNIVERSIDAD DE SEVILLA
FACULTAD DE INFORMÁTICA
Y ESTADÍSTICA
PRÁCTICA:
SIMULACIÓN DEL MC68000 (II)
Estructura de Computadores
(Ingeniería Técnica en Informática de Sistemas)
DEPARTAMENTO DE
TECNOLOGÍA ELECTRÓNICA
1. OBJETIVOS
Esta práctica continua la tarea iniciada en la práctica anterior y persigue nuevamente dos
objetivos principales: la familiarización con el emulador BSVC del microprocesador
MC68000 y profundizar en el manejo de su conjunto de instrucciones. Este emulador es un
proyecto desarrrollado en la Universidad de Carolina del Norte por Bradford W. Mott.
2. ESTUDIO EXPERIMENTAL
Ejercicio 1.
Edite el programa que a continuación se detalla y almacénelo en un fichero con la extensión
habitual (.s):
Matriz1
Matriz2
MatrizResul
ORG
DC.L
$4
$1000
ORG
DC.W
DC.W
DS.W
$500
1,2,3,4
2,4,6,8
4
ORG
ANDI
CLR.L
MOVEA.L
MOVEA.L
MOVEA.L
MOVE.W
ADD.W
MOVE.W
ADDQ
MOVE.W
ADD.W
MOVE.W
ADDQ
MOVE.W
ADD.W
MOVE.W
ADDQ
MOVE.W
ADD.W
MOVE.W
BREAK
$1000
#$0700,SR
D7
#Matriz1,A0
#Matriz2,A1
#MatrizResul,A2
(A0,D7.W),D0
(A1,D7.W),D0
D0,(A2,D7.W)
#2,D7
(A0,D7.W),D0
(A1,D7.W),D0
D0,(A2,D7.W)
#2,D7
(A0,D7.W),D0
(A1,D7.W),D0
D0,(A2,D7.W)
#2,D7
(A0,D7.W),D0
(A1,D7.W),D0
D0,(A2,D7.W)
a) Ensámblelo, cárguelo en el emulador BSVC y ejecútelo.
b) ¿Cuánto valen las etiquetas Matriz1, Matriz2 y MatrizResul?
c) ¿Qué operación realiza ADD.W (A1,D7.W),D0?
d) ¿Qué tipos de direccionamiento hay?
e) ¿Qué función realiza el código?
f) Reescriba el programa utilizando un bucle que elimine la repetición que se aprecia en el
código.
Ejercicio 2.
Considere el programa del MC68000 listado abajo.
ET
ORG
DC.L
$4
$1000
ORG
DC.W
ORG
DC.W
ORG
DS.L
$400
128, 64, $4567,435, $0001,0, 4,81,99,$ffff
$500
2, 16, $32ab, $0001,10, 0,4,81,99,$ffff
$7D8
10
ORG
MOVE.B
MOVEA.L
MOVEA.L
MOVEA.L
MOVE.W
MULU
MOVE.L
SUBQ.B
BNE
BREAK
$1000
#10,D0
#$400,A1
#$500,A2
#$800,A3
(A1)+,D1
(A2)+,D1
D1,-(A3)
#1,D0
ET
a) Escríbalo, ensámblelo y cárguelo para su ejecución en el emulador BSVC.
b) Determine el contenido de los registros PC, A1, A2, A3, D0 y D1 durante el transcurso de
las primeras 12 instrucciones ejecutadas.
c) ¿Cuál es el valor final de PC?
d) ¿Qué sucedería si la instrucción MULU fuera sustituida por MULS?
e) ¿Qué función realiza el programa?
Ejercicio 3.
Considere el siguiente programa escrito en ensamblador del 68000
ORG
VECTOR_1 DC.W
ORG
VECTOR_2 DC.W
ORG
VECTOR_R DS.W
ORG
PRINCIPAL MOVEA.L
MOVEA,L
MOVEA.L
BUCLE
MOVE.W
ADD.W
BVS
MULS
MOVE.L
SEGUIR
CMPA.W
BNE
BREAK
OVERSUMA MOVE.L
BRA
$1000
-1,2,30000,-4,5,-6,7,-8,9,-10
$2000
1001,-1002,30000,1004,5,6,7,8,9,10
$3000
10
$4000
#VECTOR_1,A1
#VECTOR_2,A2
VECTOR_R,A3
(A1)+,D0
(A2),D0
OVERS
D0, D0
D0,(A3)+
#$1014,A1
BUCLE
#$FFFFFFFFF,(A3)+
SEGUIR
a) Introduzca este programa en un fichero de texto para que pueda servir como entrada al
emulador del 68000.
b) Compílelo resolviendo los errores de compilación que encuentre.
c) Analice el programa mostrando la función que realiza.
d) Indique cual es el resultado del programa tras su ejecución.
Descargar