CPU12 REFERENCE GUIDE

Páginas: 5 (1150 palabras) Publicado: 16 de diciembre de 2013
CPU12 reference guide
David Manzano – 1243032
Pre-Laboratorio
PRIMERA PARTE
1) Indicar la dirección de memoria en donde empieza cada una de las 4
instrucciones del programa.
Posición
4000
4002
4007
4008

Instrucción
ANDCC #239
MOVB #1,0x0400
NOP
BRA *-8 ;abs = 4000

2) ¿Qué cambio será necesario hacer en el programa ensamblador si queremos
que el programa comience en ladirección 4300h?
En la línea de código que pone "ROMStart
"ROMStart EQU $4300".

EQU $4000" la cambiamos por

3) ¿Cuántos bytes ocupa el programa ejecutable?
9 Bytes (La primera posición es 4000 y la última 4008  9 posiciones de 1 byte)
4) ¿Cuál es la dirección de memoria de la variable temp_byte?
En la posición 0x400
5) Modificar el programa para que incremente la variable temp_byte en cadaejecución del lazo infinito. Escribir los cambios realizados en el programa.
4000
ANDCC #239
4002
MOVB #1,0x0400
4007
NOP
4008
INC temp_byte
4009
BRA *-8 ;abs = 4000
7) Sabiendo que el botón derecho del ratón sirve para activar el menú de
contexto, experimentar las posibilidades de este menú en la ventana “Assembly”
y escriba la codificación en formato binario de las 3 primerasinstrucciones del
programa
Haciendo click con el botón derecho en la ventana Assembly seleccionamos la opción
Display->Code y nos queda esto:
10EF 0001 0000 1110 1111

8) Añadir la siguiente definición de la variable: var1 dc.w 0 en el código. Alterar
el programa para que, además de incrementar la variable temp_byte en un bucle
infinito, cada vez que la variable temp_byte sea igual a 0,incremente la variable

var1. Explicar la diferencia entre la declaración de temp_byte y var1. Utilice
instrucciones condicionales (BNE,BRA…)
Temp_byte sera de 8 bits (por qué es dc.b) y var1 de 16 bits (por qué es dc.w).

Entry:
CLI
MOVB #1,temp_byte
NOP
bucle:
INC temp_byte
LDAA #0
CMPA temp_byte
BNE end_bucle
INC var1+1
end_bucle:
BRA bucle

9 ) Mirando la ventana “registros” yejecutando el programa paso a paso, indicar
los valores que va tomando el registro PC y los flags (bits de condición, en el
registro CCR –condition code register-) que se van activando. Explique porque
se activan.
PC 4000
PC 4002
PC 4007
PC 4008
PC 400B
PC 400D
PC 4010
PC 4015

CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVCS  Si S está activado el programa funciona (desactiva la instrucción STOP).
X  Si está activado está en estado de set, sino está en estado de reset.
I  Máscara
N  Refleja el estado del bit más significativo del resultado.
Z  Se activa cuando el todos los bits del resultado son 0.
C  Se activa cuando hay un bit de desbordamiento en la cadena de 16 bits (el bit 17
sería el de carry)10) ¿Qué flags están activados cuando el valor de la variable “var1” pasa a 1?
SyX

11) ¿En qué punto se debe poner el breakpoint para que el programa se pare
siempre que temp_byte sea 0?
El breakpoint debemos ponerlo cuando hacemos el incremento de var1 por qué var1
se incrementa cuando temp_byte pasa de 256 a 0.
12 ) Mirando la ventana “registros” y ejecutando el programa paso a paso,indicar los valores que va tomando el registro PC y los flags (bits de condición,
en el registro CCR –condition code register-) que se van activando. Explique
porque se activan.
Entry:
CLI
MOVB #1,temp_byte
NOP
bucle:
INC temp_byte
LDAA #10
CMPA temp_byte
BNE end_bucle ;Si temp_byte i el valor del registre A són iguals, es fa un salt a la
posició de end_bucle.
INC var1+1 ;El +1 de INCvar1+1 serveix per incrementar el bit menys significatiu.
LDAB #1
STAB temp_byte
end_bucle:
BRA bucle ;
Registros CCR
PC 4000
PC 4002
PC 4007
PC 4008
PC 400B
PC 400D
PC 4010
PC 401A

CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC
CCR SXHINZVC

Després d’executar-se uns quants bucles per tal d’incrementar temp_byte fins a 10:
PC...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Pipe & Tube Reference Guide
  • Pro Tools Reference Guide
  • Castor reference guide
  • Reference Guide spanish
  • Vox Quick Reference Guide Rev2
  • Business Services Server Reference Guide
  • Project Management Quick Reference Guide
  • reference

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS