it134m - Microprocesadores
Prctica 3 (parte 1)
1. Dados x = 0101 e y = 1010 en notacin de complemento a dos (es decir, x = 5 e y = -6), calcule el producto p = x X y con el algoritmo de Booth [2pts] 2. Compare las mquinas de cero, una, dos y tres direcciones, escribiendo programas que calculen: X = ( A + B * C) / ( D E * F ) para cada una de las mquinas. Las instrucciones de que se dispone son:
0 direcciones PUSH M POP M ADD SUB MUL 1 direccin LOAD M STORE M ADD M SUB M MUL M 2 direcciones MOVE (Z <- Y) ADD (X <- X+Y) SUB (X <- X-Y) MUL(X <- X*Y) DIV (X<- X/Y) 3 direcciones MOVE (X <- Y) ADD (X <- Y+Z) SUB(X <-Y*Z) DIV (X <-Y/Z)
[3pts] 3. Considere un procesador de 16 bits para el que se tiene en memoria principal , a partir de la direccin 200, lo siguiente:
200 201 202 Cargar en AC Modo 500 instruccin siguiente
La primera parte de la primera palabra indica que es una instruccin que carga un valor en el acumulador. El campo Modo indica un modo de direccionamiento y, si procede, indica un registro origen; suponga que cuando se usa, el registro origen es R1, que tiene un valor de 400. Hay tambin un registro base que contiene el valor 100. el valor 500 ubicado en la posicin 201 puede formar parte del clculo de la direccin. Suponga que la posicin 399 contiene el valor 999, la posicin 400 contiene el valor 1000 y as sucesivamente. Determine la direccin efectiva, y el operando que se carga, para cada uno de los siguientes modos de direccionamiento:
a. directo b. indirecto. Relativo al PC c. con desplazamiento d. autoindexado con incremento, empleando R1
[2pts] 4. Escriba un programa que implementa la siguiente expresin aritmtica: EAX = -val2 + 7 val3 + val1 Use las siguientes definiciones de datos: val1 SDWORD 8 val2 SDWORD -15 val3 SDWORD 3 En comentarios junto a cada instruccin, escriba el valor hexadecimal de EAX. Inserte una sentencia call DumpRegs al final del programa [3pts]
uni-fiee 2012-1
Pgina 1 de 1