Post on 09-Mar-2016
description
PRIMERA PRACTICA CALIFICADA ST 314U
UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniera Industrial y de Sistemas
rea de Sistemas y Telemtica Ciclo: 2009-ICURSO
: ARQUITECTURA DEL COMPUTADORCODIGO: ST 314U
PROFESOR: Ing. EMERSON CARRANZA MILLA
Fecha
: 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 programa2. 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)
SolucinInterpretacin
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 100NewLDA CAD //leer CAD (pasa el valor de la direccin de cad SZA //si el valor de CAD==0, pasa al siguiente ejecucionBUN Ver //salto a linea VERHLT // VerCIR // 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
STA Cont //crea la variable cont
CLA //ac vuelve a ceroSumADD 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 newInvLDA 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,
0xBECA
CAD,
0x123X
FOFO,
0xF0F0
OFOF,
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] 39ACBLOQUE 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
Si D es positivo, incrementa al mayor
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)