Documentos de Académico
Documentos de Profesional
Documentos de Cultura
22 en hexa:
0x0016
0000 0000 0001 0110
65 en hexa:
0x0041
0000 0000 0100 0001
17. Escribir un programa que sume los valores de los registros R1 y R0, y ponga el
resultado en R2 (sin modificar R1 y R0).
R0 = 0xXXXX
R1 = 0xYYYY
R2 = 0xRRRR (siendo 0xRRRR = 0xXXXX + 0xYYYY)
19. Escribir un programa que calcule el promedio entre los registros R2 y R3.
ADD R2, R3
DIV R2, 0x0002
21. Tenemos una pequeña empresa de Software y contamos con la siguiente información
a cierre de balance, acumulada en los registros de la siguiente forma:
R0 = CF
R1 = CV
R4 = P
(a) Escribir un programa que calcule los costos totales de la compañía (CT=CF
+CV) y los almacene en el registro R2.
R0 = CF
R1 = CV
R2 = CT
R2 = R0 + R1
MOV R2, R0
ADD R2, R1
R3 = Ingreso
R4 = P
R3 = R4 * 0x012C
0000 0001 0010 1100
(c) Queremos calcular la Ganancia del período (Ganancia= Ingreso – CT) para
lo cual escribiremos un programa que lo realice (los datos pedidos los calculamos y
guardamos en el inciso a y b).
R2 = CT
R3 = Ingreso
R5 = Ganancia
R5 = R3 – R2
MOV R5, R3
SUB R5, R2
22. En cada uno de los programas que presenta el cuadro planteado a continuación,
realizaremos las tareas de ensamblado y ejecución mostrando el valor final que
tiene
cargado cada registro al finalizar dicha ejecución, para lo cual debemos tener en
cuenta la condición supuesta (estado inicial) en cada caso:
Instrucción
ADD R0,0xFAFF
Código máquina
ADD R0,0xFAFF
ADD R0 0x????
0xFAFF
0010 1000 0000 0000
1111 1010 1111 1111
Estado inicial
R0=0x0001
Estado final
1
1
+ 0x0001
0xFAFF 10
____________
0xFB00
R0=0xFB00
-----------------------
Instrucción
SUB R6,0x5678
Código máquina
SUB R6,0x5678
Estado inicial
R6=0x00FF
Estado final
R6=0xAA87
10
10 -> 16
F F -> 15
10
0x00FF
- 0x5678
_______________
0xAA87
-----------------------
Instrucciòn
ADD R0,R0
MUL R0,R1
Código máquina
Estado inicial
R0=0x0001
R1=0x000F
Estado final
0x0001
+ 0x0001
___________
0x0002
30 % 2 = 15 R = 0
15 % 2 = 7 R = 1
7 % 2 = 3 R = 1
3 % 2 = 1 R = 1
1 % 2 = 0 R = 1
30 => 11110
0 0 1 E
0000 0000 0001 1110
0x001E
R0=0x001E
R1=0x000F
R7=0x0000
1111 = 15
11110 = 30
111100 = 60
1111000 = 120
MOV R1, R0
ADD R1, 0x0003