Sie sind auf Seite 1von 3

UNIVERSIDAD NACIONAL DE INGENIERIA

Facultad de Ingeniera Industrial y de Sistemas


rea de Sistemas y Telemtica

Ciclo: 2009-I
CURSO
CODIGO
PROFESOR
Fecha

: ARQUITECTURA DEL COMPUTADOR


: ST 314U
: Ing. EMERSON CARRANZA MILLA
: 11.06.2009

TERCERA PRACTICA CALIFICADA


BLOQUE I:
En base a instrucciones disee un programa que efecte lo siguiente:
1. Lee una cadena binaria desde la memoria:
- Si la cadena es par, lee otra cadena binaria y lo invierte. Ejm: BECA --> ACEB
- Si es impar, obtiene el producto de dos nmeros naturales
- Si es cero, termina la ejecucin del programa
2. El resultado lo almacena en memoria
a. Muestre el diagrama de flujo
(2p)
b. Muestre la secuencia de instrucciones
(4p)
c. Simule el programa, declarando valores
(4p)
Solucin
Interpretacin
Inicio
Leer CAD
Si CAD=0 fin
Sin
Si CAD es par
Leer CAD1
Invertir CAD1
Sin
Leer a, b
Prod=a.b
Guardar resultado
Programa
ORG 100
New LDA CAD //leer CAD (pasa el valor de la direccin de cad
SZA //si el valor de CAD==0, pasa al siguiente ejecucion
BUN Ver //salto a linea VER
HLT //
Ver
CIR // toma el bit de paridad
SZE // compara si el bit de paridad es cero , la cadena es par
BUN Prod
BUN Inv
Prod LDA a //lee el valor de a
CMA // (1)
INC // .(2)

//OBS: (1) y (2) la inversion del valor de a es decir si a ==3 luego de 1 y 2 pasa
a tomar el valor de -3

Sum

Inv

STA Cont //crea la variable cont


CLA //ac vuelve a cero
ADD b //b es una variable directa en este operando se encuentra el operando
ISZ Cont //si el contenido es cero se incrementa cont /se esta
multiplicando(ayb)
BUN Sum //esto genera un bucle que se encuentra en las lineas anteriores
STA Prod //crea variable prod
BUN New //salto a new
LDA CAD1 //
4CIR
AND F0F0
STA Cir //crear variable cir
LDA CAD1
4CIL
AND 0F0F
ADD Cir
STA Invertir
BUN New
END

a,
3
b,
4
CAD1,
CAD,
FOFO,
OFOF,

0xBECA
0x123X
0xF0F0
0x0F0F

Simulacin
Los quiero ver!!!!
BLOQUE II: Considerando las 4 primeras instrucciones diferentes del bloque I, en una
matriz instrucciones registros, indique el contenido de los registros que intervienen al
final de cada instruccin:
(5p)
PC 100
M[7AD] 20A0
M[8AB] 08AC
M[8AC] 2035
M[100] 27AD
M[101] 18AB
M[102] 58BC
M[8BD] 98CB
M[8CB] 0840
M[840] 2020
M[8BE] C8BC
M[AR] 39AC

BLOQUE III:
Interprete la siguiente secuencia:
-

Lee la cadena 0x7BA2 de la direccin CAD=500

Si dicha cadena es cero, termina la ejecucin del programa; sino lee los
nmeros 100 y 75 de las direcciones 601 y 602 respectivamente para ejecutar la
diferencia D:

Si D es cero, uno de los operandos lo almacena en la direccin 605, sino


o Si D es positivo, incrementa al mayor
o Si D es negativo, decrementa al mayor

El resultado lo almacena en la direccin 606

Inicia nuevo ciclo leyendo nueva cadena de la direccin 501

a. Genere el programa correspondiente en modo binario

(4p)

En una matriz instrucciones registros, indique el contenido de los registros que


intervienen al final de cada instruccin
(4p)