Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
4
Modos de direccionamiento y
formatos de instruccin
ndice
4.1. Direccionamiento directo a registro . . . . . . . . . 73
4.2. Direccionamiento inmediato . . . . . . . . . . . . . 74
4.3. Direccionamiento relativo a registro con desplaza-
miento . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4. Direccionamiento relativo a registro con registro de
desplazamiento . . . . . . . . . . . . . . . . . . . . . 81
4.5. Direccionamiento en las instrucciones de salto in-
condicional y condicional . . . . . . . . . . . . . . . 84
4.6. Ejercicios del captulo . . . . . . . . . . . . . . . . . 87
70
Modos de direccionamiento y formatos de instruccin 71
......................................................................
mod-dir-b.s -
4
Si el bit 0 no se considerara como un bit implcito a la instruccin, el rango
del desplazamiento correspondera al rango del complemento a 2 con 11 bits para
nmeros pares, es decir, [1024, 1022] bytes con respecto al PC.
4.5. Direccionamiento en las instrucciones de salto incondicional y condicional 86
1 .text
2 main: b salto
3 b salto
4 b salto
5 b salto
6 salto: mov r0, r0
7 mov r1, r1
8 b salto
9 b salto
10
11 stop: wfi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copia el programa anterior y ensmblalo. No lo ejecutes (el programa
no tiene ningn sentido y si se ejecutara entrara en un bucle sin fin, su
nico propsito es mostrar qu desplazamiento se almacena en cada
caso).
4.21 Cul es la direccin memoria de la instruccin etiquetada con
salto?
4.22 Segn la explicacin anterior, cuando se va a realizar el salto
desde la primera instruccin, qu valor tendr el registro PC?, qu
nmero se ha puesto como desplazamiento?, cunto suman?
4.23 Cunto vale el campo Ofsset11 de la primera instruccin?
Qu relacin hay entre el desplazamiento y el valor codificado de dicho
desplazamiento?
4.24 Observa con detenimiento las dems instrucciones, qu nme-
ros se han puesto como desplazamiento en cada uno de ellas? Comprueba
que al sumar dicho desplazamiento al PC+4 se consigue la direccin de
la instruccin a la que se quiere saltar.
......................................................................
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.25 Supn un vector, V , de 26 palabras y dos variables x e y
asignadas a los registros r0 y r1. Asume que la direccin base del vector
V se encuentra en el registro r2. Escribe el cdigo ensamblador que
implementara la siguiente operacin: x = V [25] + y.
4.26 Supn un vector, V , de 26 palabras y una variable y asignada
al registro r1. Asume que la direccin base del vector V se encuentra
en el registro r2. Escribe el cdigo ensamblador que implementara la
siguiente operacin: V [10] = V [25] + y.
4.27 Escribe un cdigo en ensamblador que dado un vector, V ,
de n bytes, almacene en el registro r1 la posicin del primer elemento
de dicho vector que es un 1. Debes realizar este ejercicio sin utilizar el
direccionamiento relativo a registro con registro de desplazamiento.
Comprueba el funcionamiento del programa inicializando el vector
V a [0, 0, 1, 0, 1, 0, 1, 0, 0, 0] y, por tanto, n a 10.
4.28 Escribe un cdigo en ensamblador que dado un vector, V ,
de n bytes, almacene en el registro r1 la posicin del ltimo elemento
de dicho vector que es un 1. Debes realizar este ejercicio sin utilizar el
direccionamiento relativo a registro con registro de desplazamiento.
Comprueba el funcionamiento del programa inicializando el vector
V a [0, 0, 1, 0, 1, 0, 1, 0, 0, 0] y, por tanto, n a 10.
4.29 Escribe una nueva versin del programa del ejercicio 4.27, pero
esta vez utilizando el direccionamiento relativo a registro con registro
de desplazamiento.
4.30 Escribe una nueva versin del programa del ejercicio 4.28, pero
esta vez utilizando el direccionamiento relativo a registro con registro
de desplazamiento.
4.31 Escribe un cdigo ensamblador cuya primera instruccin sea
ldr r2, [r5, #124]; el resto del cdigo deber obtener a partir de la
4.6. Ejercicios del captulo 88
208