Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONSIGNAS
Primera parte
1 1
1 0 1 1
+ 0 0 1 1
1
1 1 1 1
1.b) Deduzca cuál fue la operación que se ejecutó e indíquelo en el cuadro a continuación.
1.c) Luego determine el valor que tomarían los flags al finalizar la operación, agrupando los fla
gs para naturales o enteros en las siguiente líneas.
EMPIEZA TERMINA
NATURALES NC CY
NATURALES Y ENTEROS NZ NZ
ENTEROS NV PL NV NG
2) Realice las siguientes operaciones por complemento a la base y por complemento a la base
menos uno.
2.a) 0010 1101 – 0001 0111
2.b) 0001 0111 – 0010 1101
Ejercicio 2ª y 2b por complemento a la base
3) Suponiendo que tiene que comparar dos números, determine con una operación arit
mética el valor de los flags si el primer número es mayor, menor o igual que el segundo, y verif
ique la experimentación manual con el debug.
3.a) Experimentación manual
Ejemplo 1:
A-B (A=10 y B=11)
10-11=-1 Decimal FFFF Hexa
Flags de inicio: NV PL NZ NC
Flags de final : NV NG NZ CY
El cambio de flags indica que A<B, bit de signo a 1
Ejemplo 2:
B-A (A=10 y B=11)
11-10=1 Decimal y Hexa
Flags de inicio: NV PL NZ NC
Flags de final: NV PL NZ NC
Ejemplo 3:
A-A (A=10)
10-10=0
Flags de inicio: NV PL NZ NC
Flags de final: NV PL ZR NC
Cambia signo de Z, ya que el resulta es cero, A es igual A
Recuerde que los códigos de operación son los mismos que los que se utilizaron en los Trabajo
s Prácticos:
A1 para llevar un dato de memoria hacia AX.
0306 para sumarle al registro AX un número que está en memoria
2B06 para restarle al registro AX un número que está en memoria
A3 para pasar una copia que está en AX a memoria
5) Luego de ejecutar cada instrucción del punto, indique el valor de AX en HEXA y el valor del I
P
Instrucción AX IP
I1 0059 0803
I2 FFFA 0807
I3 FFE6 080B
I4 FFE6 080E
6) Indique cómo queda en memoria la zona de datos luego de ejecutar las instrucciones.
Representacion
Dato HEXA ASCII
R 52 82
= 3D 61
X F 70
X F 70
X E 69
X 6 54
Tercera parte
A continuación le presentamos una serie de preguntas teórico prácticas, que usted deberá res
ponder.
8) ¿Por qué se le debe dar al IP un valor inicial? ¿Cuál es éste valor y qué sucede si no se le da
el valor indicado?
Porque este valor indicará la dirección de memoria donde el programa irá a buscar la primer
instrucción. El valor será el tipo de operación indicada cuando cargamos las mismas, de no
darse el valor indicado no se ejecutara la instrucción y por consiguiente el programa.
9)Por qué las instrucciones de una secuencia deben estar en posiciones consecutivas y los dat
os no?
Porque la UC va cambiando el valor de IP según la operación para ir localizando en memoria las
sucesivas instrucciones que debe ejecutar, formando una secuencia, así es que las
instrucciones a ejecutar deben estar escritas en posiciones consecutivas de memoria. En los
datos no es necesario ya que cargamos la dirección de ellos luego de cada operación cargada
en las instrucciones.
14) ¿Qué significa que el flag C tome el valor 1 después de que la UAL realizó una resta?
El flag C en la resta de naturales sirve para determinar si el minuendo es mayor o menor que el
sustraendo, sin importar el valor concreto del resultado, ni el orden en que se restan los
números naturales. Es decir entre en una resta entre dos valores A y B, cuando C=1 implica que
A<B.