Sunteți pe pagina 1din 7

ST 314U: Lab.

10_Programación en Lenguaje de Máquina


Consideraciones:

Prob 1: En base a prueba de escritorio, determine la operación que realiza la siguiente


secuencia de instrucciones.
Asuma N=5
Corrija de existir errores.
Programa de instrucciones
ORG 150 10 LDA N AC=5
INI LDA N 11 ADD N AC=10
SZA 12 ISZ CNTI CNTI=-2
BUN UN 13 BUN S
HLT 14 ADD N AC=15
15 ISZ CNTI CNTI=-1
UN CMA 16 BUN S
17 ADD N AC=20
INC
18 ISZ CNTI CNTI=0
INC
19 STA N N=20
INC
20 ISZ CNTE CNTE=-2
STA CNTE 21 BUN SIGUE
STA CNTI 22 LDA CNTE AC=-2
S1 LDA N 23 STA CNTI CNTI=-2
24 BUN S1
S ADD N 25 LDA N AC=20
ISZ CNTI 26 ADD N AC=40
BUN S 27 ISZ CNTI CNTI=-1
STA N 28 BUN S
ISZ CNTE 29 ADD N AC=60
BUN SIGUE 30 ISZ CNTI CNTI=0
STA FACT 31 STAN N=60
32 ISZ CNTE CNTE=-1
BUN INI
33 BUN SIGUE
34 LDA CNTE AC=-1
SIGUE LDA CNTE
35 STA CNTI CNTI=-1
STA CNTI 36 BUN S1
BUN S1 37 LDA N AC=60
38 ADD N AC=120
INTERACCION INSTRUCCION
39 ISZ CNTI CNTI=0
1 LDA N AC=5
40 STA N N=120
2 SZA
41 ISZ CNTE CNTE=0
3 BUN UN
42 STA FACT FACT=120
4 CMA AC=-6
43 BUN INI
5 INC AC=-5
44 LDA N AC=0
6 INC AC=-4
45 SZA
7 INC AC=-3
46 HLT
8 STA CNTE CNTE=-3
9 STA CNTI CNTI=-3
Prob2: En base a instrucciones, escriba un programa que realice lo siguiente:

2.1 Lee una cadena binaria CAD1 de 16 bits:


 Si CAD1 es positiva, ejecuta el conteo de los bits 1 de otra cadena binaria de 16 bits.
 Si CAD1 es negativa, ejecuta la inversión de una cadena alfanumérica de 4 elementos
hexadecimales
 Si CAD1 es cero, el programa debe terminar.
2.2 Muestre lo siguiente:
a. El seudocódigo correspondiente
CAD1=X100101100100101
SI(CAD=0)
FIN
SINO
SI(X=0)
LEER CAD2
CONTEO()
SI(X=1)
INVERSION()
b. La secuencia de instrucciones

c. Funcionamiento del programa en base a prueba de escritorio


Prob3: En base a instrucciones diseñe un programa que efectúe lo siguiente:
3.1 Lee una cadena binaria desde la memoria:
 Si la cadena es par, efectúa el producto de dos números naturales
 Si es impar, efectúa una resta con dichos números
 Si es cero, termina la operación
3.2 El resultado lo almacena en memoria

a. Muestre el diagrama de flujo


INICIO

LEER CADENA

=!0 =0
CADENA

FIN

TIPO CADENA IMPAR


PAR

A*B A-B

b. Muestre la secuencia de instrucciones

ORG 500
INI LDA CAD
SZA
BUN COM
HTL

COM CIR
SZA
BUN IMPAR
BUN PAR

PAR LDA A
STA P
LDA B
BUN PROD
PROD CMA
INC
INC
BUN SUM
SUM INC
STA B
LDA P
ADD A
STA P
LDA B
SZA
BUN SUM
BUN INI

IMPAR LDA A
STA R
LDA B
CMA
INC
ADD R
STA R
BUN INI

c. Simule el programa, considerando los valores: 3, 4

INTERACCION INSTRUCCION
1 LDA CAD CAD=XX...X0
2 SZA
3 BUN COM
4 CIR AC=0
5 SZA
6 BUN PAR
7 LDA A AC=4
8 STA P P=4
9 LDA B AC=3
10 BUN PROD
11 CMA AC=-4
12 INC AC=-3
13 INC AC=-2
14 BUN SUM
15 INC AC=-1
16 STAB B=-1
17 LDA P AC=4
18 ADD A AC=8
19 STA B P=8
20 LDA B AC=-1
21 SZA
22 BUN SUM
23 INC AC=0
24 STA B B=0
25 LDA P AC=8
26 ADD A AC=12
27 STA P P=12
28 LDA B AC=0
29 SZA
30 BUN INI
31 LDA CAD CAD=XX...X1
32 SZA
33 BUN COM
34 CIR AC=1
35 SZA
36 BUN IMPAR
37 LDA A AC=4
38 STA R R=4
39 LDA B AC=3
40 CMA
41 INC AC=-3
42 ADD R AC=1
43 STA R R=1
44 BUN INI
45 LDA CAD CAD=0
46 SZA
47 HTL

d. Exprese el programa en secuencia binaria

 CAD=7A0
 COM=1A0
 PAR=1B0
 PROD=1C0
 SUM=1D0
 IMPAR=1E0
 A=2A0
 B=2B0
 R=2C0
 P=2D0

 PC ← 500
 M[500]← 27A0
 SZA
 M[502]← 41A0
 CIR
 SZA
 M[1A3]←41E0
 M[1E1]← 22A0
 CMA
 INC
 M[1E4]← 12C0
 M[1E5]← 32C0
 M[1E6]← 4500
 M[1A4]←41B0
 M[1B1]← 22A0
 M[1B2]← 32D0
 M[1B3]←22B0
 M[1B4]← 41C0
 CMA
 INC
 INC
 M[1C4]←41D0
 M[1D1]←32B0
 M[1D2]←22D0
 M[1D3]←12A0
 M[1D4]←32D0
 M[1D5]←22B0
 SZA
 M[1D7]←41D0
 M[1D8]←4500

e. En una matriz instrucciones – registros, indique el contenido de los registros que intervienen
al final de cada instrucción

INSTRUC PC AR AC DR IR I
Prob 4:Se sabe que las instrucciones y datos están almacenados en memoriaEn una
matriz instrucciones – registros, indique el contenido de los registros que intervienen al
final de cada instrucción. Corrija posibles errores.
 PC ← 500
 M[7AD]← 20A0
 M[8AB]← 08AC
 M[8AC]← 2035
 M[500]← 27AD
 M[501]← 18AB
 M[502]← 58BC
 M[8BD]← 98CB
 M[8CB]← 0840
 M[840]← 2020
 M[8BE]← C8BC
 M[AR]← 39AC

INSTRUC PC AR AC DR IR I
LDA 501 7AD 20A0 20A0 27AD 0
BSA 8BD 8BD 20A0 20A0 58BC 0
1ADD 8BE 840 40C0 2020 98CB 1
1BUN 502 502 40C0 2020 C8BC 1
STA 503 9AC 40C0 2020 39AC 0