Вы находитесь на странице: 1из 3

l- Sabiendo que una CPU genera una dirección de 33 bits que permiten acceder a la memoria

principal ¿Cuál es el tamaño potencial de la memoria principal?

33 a 2ᶺ33 = 2ᶺ3 * 2ᶺ30= 8 giga

El tamaño es 8 Gb

Si a la memoria DRAM se le habilitan 4 Giga ¿Cuántos bits son significativos para direccionarla?

Utiliza 32 bits

2.
REGISTRO AX = 001 B
REGISTRO SP= 003C
REGISTRO IP = OI03 R
REGISTRO CS = 0040 BX = 0 0 I|C
REGISTRO DS = 0050
REGISTRO CX = 00! D
REGISTRO SS= 0060
REGISTRO SI = 0003

0001 1011 AX
BX
CX
DX

Indique cuál es el valor del registro AH y del registro AL, en relación con el valor de AX arriba
mencionado.
Calcule la dirección física de la próxima instrucción que se ha de ejecutar, considerando los
valores de los registros que correspondan de los arriba mencionados.
.
Calcule la dirección física del próximo lugar vacío en la pila, considerando los valores de los
registros que correspondan de los arriba mencionados.

Calcule la dirección física del dato si considera la siguiente instrucción y los valores de los registros
que correspondan de los arriba mencionados.
MOV AX, [BX+SI+4J

3. Contestar con verdadero o falso y justificar su repuesta. La excepción de división por 0 detecta
un error de cálculo Las excepciones se atienden siempre que estén habilitadas por un flag del
registro de estado. La tabla de vectores de interrupción en modo real o modo I 6 bits puede
contener como máximo 256 entradas

4- Observe la línea de código presentada a continuación AB55:0I03 M O V AH, [0333] Considere


que la siguiente instrucción a la descripta arriba se aloja en la dirección física AB656, luego calcule
cual es el tamaño de la instrucción y cuántos de estos bytes le corresponden al código de
operación. Calcule las direcciones efectivas: de la instrucción y del operando, suponiendo que CS =
DS.

5- Este ejercicio le permitirá comprender en qué consiste un servicio de atención de interrupción,


en este caso se toma el servicio que detecta el error de división por cero, y le permitirá
comprender la dinámica de manejo de la pila cuando se trata de resguardar y restaurar el entorno
de ejecución para que la "utilice" otro programa. Además le permite Familiarizarse con
instrucciones Assembler antes de abordar el estudio de formatos de instrucción que se describen
en el capítulo Instrucciones.

a. Ingrese en su computador personal en modo I 6 bits (en Windows XP la secuencia es


EJECUTAR y dentro de la ventana CMD) o con un emulador. Ejecute la aplicación DEBUG

b. Utililice el comando D 0000.0000 para realizar el "vuelco" de memoria a partir de ésta dirección,
que es la del primer byte del primer mega byte de su memoria principal donde se alojan los
vectores de interrupción.
c. El primer vector se referencia en la computadora con el valor 68 10 A7 00 (los cuatro primeros
bytes del vuelco corresponden al vector 0). Como esta es la dirección del servicio que avisa que se
produjo la excepción división por cero, esta almacenada en convenio Htüe-endian, por lo tanto, lo
invierto "de a byte": 00 A7 I 0 68; los primeros dos bytes se asumen como la base y los segundos
dos como el desplazamiento de la dirección segmentada del primer byte de la primera instrucción
del servicio alojado en 00A7: I 068

d. Ingrese el comando - R CS para modificar el valor actual del CS y cargue el nuevo valor de base
(que en la computadora es 00A7) y que cambie en la suya.

e. Ingrese el comando - R IP para modificar el valor actual del IP y cargue el nuevo valor (que en la
computadora es I 068) como desplazamiento.

f. Ahora tiene los dos registros CS e IP que "están apuntando" a la primera instrucción del servicio
de interrupción. g. Ingrese el comando - G para ejecutar el servicio y observe que el programa lo
único que hace es emitir el mensaje del error producido. Vea el ejemplo:

Вам также может понравиться