SISTEMAS DE COMPUTACIÓN I
Módulo I Comprender los principios básicos del procesamiento de datos
Unidad 2 Codificación y operaciones con datos
Trabajo práctico requerido Nº 5.B: Integrador sobre datos
numéricos que son enteros
ALUMNO: COLAIACOVO, GINO FABRIZIO
Presentación
Este trabajo corresponde a la segunda parte del trabajo práctico
requerido Nº5. Como hemos mencionado, este trabajo presenta
una mayor complejidad en relación con la primera parte que usted
ya ha realizado, pues en este caso se incorporan operaciones con
números enteros.
Su presentación también se encuentra organizada en tres
instancias: integra-dora de conocimiento, ejercitación manual y
ejecución experimental.
Por tal motivo se ha conservado la numeración indicativa de los
pasos a reali-zar, a los efectos de no repetir las explicaciones
dadas, para cada paso, en el TPR Nº5.A sobre magnitudes. Le
aconsejamos tenerlo a disposición. Sólo apa-recerán indicaciones
cuando usted debe analizar alguna variante, en relación con el
trabajo práctico anterior.
Para llevar a cabo este trabajo usted deberá consultar
Complemento Codifica-ción y Operación de enteros y reales- Flags
de la UAL. En Ginzburg; La PC por Dentro, pág.185.
Consignas
Ejercicio Integrador de Conocimiento
Encontrará las consignas relativas a esta primera instancia
del trabajo práctico en el libro La PC por dentro, Ginzburg:
2006, pg. CU1-33-34. La resolución deberá ser enviada a
su tutor/a. Consulte las fechas previstas en el cronograma
de las la asignatura.
Sistemas de Computación I / Pág. 1
Ejercitación Manual
Se ha tipiado en un lenguaje de alto nivel
INTEGERS
R=P+Q–T
P = -123D Q = 456 D T = - 78 D
DNI : 37.686.885
P = -376D Q = 868 D T = - 85 D
(Recordar que 12345678 indican las 8 cifras del DNI personal)
1) Este punto no se realiza para integers.
2a) Para las siguientes variables utilice las mismas direcciones del
TPR Nº 5.A
R
P
Q
T
3768 R (El valor del resultado R no se conoce en este paso de traducción)
3769
376A P 01
376B 78
376C Q 36
376D 04
376E T 55
376F 00
2b) Idem Trabajo Práctico Nº 5.A
P = -37610 = 1111 1110 1000 10002 = FE8816
- (0000 0001 0111 1000)
1111 1110 1000 0111 + 1 =
1111 1110 1000 0111
Sistemas de Computación I / Pág. 2
+ 1
1111 1110 1000 1000
F E 8 8
Q = 86810 = 0000 0011 0110 01002 = 036416
0000 0011 0110 0100
0 3 6 4
T = -8510 = 1111 1111 1010 10112 = FFAB16
-(0000 0000 0101 0101)
1111 1111 1010 1010
+
1
1111 1111 1010 1011
F F A B
2c) Idem TPR Nº5.A
3768 R (El valor del resultado R no se conoce en este paso de traducción)
3769
376A P FE
376B 88
376C Q 64
376D 03
376E T FF
376F AB
2d) Idem TPR Nº5.A {}…
A1
XX
X
X
0
3
0
6
XX
X
X
2
B
0
6
XX
Sistemas de Computación I / Pág. 3
XX
A3
XX
XX
6885 A1
6886 86
6887 04
6888 03
6889 06
688A 37 P
688B 6A P
688C 2B
688D 06
688E 37 Q
688F 6C Q
6890 A3
6891 37 T
6892 6E T
2e) Comparar el paso 2d) de este TP con el mismo paso del TP
anterior. ¿Qué conclusiones resultan y por qué los códigos de
operación son iguales en el TPR Nº5.A y en el TPR Nº 5.B?
RESPUESTA: La respuesta no es porque en ambos casos se hace R
= P +Q-T y porque las direcciones son las mismas, dado que para re-
ales (TPR Nº5.C) también se hace la misma suma algebraica, pero los
códigos de operación son distintos.
3) Idem TPR Nº 5.A, indicando además el valor de los flags
SZVC cuando interviene la UAL.
Después de ejecutar I1 resulta AX = FE8816 (en hexa)= P
Realizar la suma en binario (16 bits) que hace la UAL, que permite
determinar este valor de AX, que es:
P= 1111 1110 1000 1000
+
Q= 0000 0011 0110 0100
1 0000 0001 1110 1100
0 1 E C
(Sobra 1)
P + Q = 0000 0001 1110 1100
S=0 Z=0 V=0C=1
Después de ejecutar I2 resulta AX = 01EC16 (en hexa) = P + Q
Recuerde pasar el resultado de P + Q de binario a decimal y
verificar que es el signo y valor esperado.
Sistemas de Computación I / Pág. 4
La resta en binario (16 bits) como lo hace la UAL, que permite deter-
minar este valor de AX se puede presentar como sigue:
T = 1111 1111 1010 1011
T . CM-1 = 0000 0000 0101 0100
P+Q= 0000 0001 1110 1100
__________________________________________
0000 0010 0100 0000
0 2 4 0
S=0 Z=0 V=1 C=0
Después de ejecutar I3 resulta AX = 024016 = P + Q – T
Recuerde pasar el resultado de P + Q - T de binario a
deci-mal y verificar que es el signo y valor esperado.
3b) Agregar el valor de los flags SZVC en el punto 3 del TP
anterior, en los casos en que intervenga la UAL y verificar en el
Debug del TPR 5ºB que el valor de SZVC coincide con el calculado.
4) Idem TPR Nº5A.
6885 A1
6886 40
6887 02
5) Idem TPR Nº5.A
52 R
3D =
32 2
34 4
30 0
Sistemas de Computación I / Pág. 5
Ejecución Experimental
Los puntos 6a), 6b) y 6c) no deben realizarse.
7a) Escritura zona datos: luego de haber realizado el paso 6c en el
último renglón de la pantalla se verá un guión indicador que el
Debug está esperando un comando 3. Al lado de este guión se
escribirá:
E 1234 ↵ (E 2848 para el DNI ejemplificado)
(Recuerde que las primeras 4 cifras del DNI indicaban la dirección
del comienzo de la zona de datos paso 2a).
Luego de pulsar Enter (↵), el Debug responderá indicando el
conteni-do de la dirección que acompaña al comando E. Dicho
contenido va seguido de un punto. A la derecha de este punto el
Debug está espe-rando que se escriba (si se desea) el nuevo
contenido con que se quiere reemplazar el contenido indicado. Este
nuevo contenido a es-cribir es el que aparece en la dirección
simbolizada 1234 en la tabla determinada en 2a.
Después de escribir el nuevo contenido se debe pulsar la barra es-
paciadora, para evitar tipear nuevamente el comando E con la
direccion siguiente. Así, el Debug mostrará automáticamente el
contenido de la dirección siguiente a la modificada a continuación del
último contenido modificado. Nuevamente aparecerá un valor que no
interesa, acompañado por un punto. A la derecha de este punto, co-
mo se hizo anteriormente, hay que escribir el nuevo contenido que
reemplazará al que se muestra, de acuerdo con el segundo renglón
de la tabla determinada en 2ª.
Seguidamente se debe pulsar la barra espaciadora, repitiendo el
proceso anterior para cada sucesiva dirección de memoria, hasta es-
cribir todos los datos de la tabla del paso 2a, en cuyo caso pulsar En-
ter (↵). En caso de duda consultar capítulo 1.6 de La PC por dentro.
Sistemas de Computación I / Pág. 6
7b) Volver a tipear E 1234↵, y luego pulsar sucesivamente la barra
espaciadora de modo que vayan apareciendo todos los contenidos es-
critos en 7a.
(Verificar con una tilde que sean los mismos que figuran en la tabla
determinada en 2a).
Sistemas de Computación I / Pág. 7
7c) Escritura zona instrucciones: escribir al lado del guión del De-
bug:
E 5678 ↵
(Siendo que las últimas 4 cifras del DNI indicaban la dirección del
comienzo de la zona de instrucciones (paso 2d). Luego proceder co-
mo en 7a) pero ahora para escribir en memoria la tabla del paso 2d).
Sistemas de Computación I / Pág. 8
7d) Volver a tipear E 5678↵, y luego pulsar sucesivamente la barra
espaciadora de modo que vayan apareciendo todos los contenidos es-
critos en 7c.
(Verificar con una tilde que sean los mismos que figuran en la tabla
determinada en 2d.)
Sistemas de Computación I / Pág. 9
7e) Escribir al lado del guión del Debug el comando RIP↵ .Debajo de
este comando aparecerá el valor actual del IP seguido de dos puntos,
debiendo escribirse en el tercer renglón la dirección donde comienza
la primera instrucción, establecida en el paso 2d., seguida de ↵.
REALIZADO EN EL PUNTO 7f)
7f) Escribir al lado del guión el comando R ↵, aparecerán en
pantalla 3 renglones con el estado de distintos registros de la UCP.
De esta información en este paso sólo interesa el valor del registro IP
y en el tercer renglón a la izquierda el código de máquina de la
primer instrucción de la secuencia.
ANOTAR A CONTINUACION ESTOS VALORES
IP = 6885 CODIGO DE LA PROXIMA INSTR A
EJECUTAR = A1 0486
Verificar: INDICANDO EN EL DEBUG CON UN TILDE O CON
RESALTADOR
Sistemas de Computación I / Pág.
10
7f.1) Si el valor del IP coincide con la dirección donde comienza la
primera instrucción (I1) establecida en 2d.
7f.2) Si el código de máquina de la primera instrucción a ejecutar es
el mismo que el anotado más arriba.
(En caso de que alguna de las verificaciones indicadas no se cumpla,
implica que hay un error en la realización de los puntos 7b ó 7c.)
7g) Escribir al lado del guión el comando T ↵, se ejecutará la instruc-
ción I1 que apareció en pantalla al realizar el paso 7d.
El Debug, como en el paso 7d, mostrará en pantalla tres renglones de
información.
(El comando T siempre ejecuta el código de máquina de la
instrucción anterior)
De esta información anotar a continuación los siguientes valores:
AX = 6A37 IP = 6888 PROX INSTR A
EJECUTAR =
0306376A
Sistemas de Computación I / Pág.
11
Verificar INDICANDO EN EL DEBUG CON UN TILDE O CON
RESALTADOR).
7g.1) Si el valor de AX y de los flags coincide con el calculado en el
punto 3 después de ejecutar I1.
7g.2) Si el valor de IP coincide con la dirección de comienzo de I2,
establecida en 2d.
7g.3) Si el código de la próxima instrucción a ejecutar (I2) es el que
aparece a partir del tercer renglón, observando la tabla del punto 2d.
7h) Ídem punto 7g, con lo cual se ejecutará I2 volcando los siguien-
tes valores:
AX = 6C37 IP = 688C PROX INSTR A EJECUTAR = 2B06376C
Verificar INDICANDO EN EL DEBUG CON UN TILDE O CON
RESALTADOR, si el valor de AX y de los flags coincide con el valor
calculado, y si IP y la próxima instrucción a ejecutar coinciden con lo
establecido en 2d.
Sistemas de Computación I / Pág.
12
7i) Ídem punto 7g, se ejecutará I3 volcando los siguientes valores:
AX = 6E37 IP = 6890 = PROXIMA INTRUC = A3376E
Sistemas de Computación I / Pág.
13
Verificar INDICANDO EN EL DEBUG CON UN TILDE O CON
RESALTADOR si AX coincide con el valor calculado, y si IP y la próxi-
ma instrucción a ejecutar coinciden con lo establecido en 2d.
7j) Ídem 7g, con lo cual se ejecutará I4 volcando los siguientes valo-
res:
AX = . . . . . . . . . . . . . . IP = . . . . . . . . . . . . . . . . .. PROX INSTR A
EJECUTAR = . . . . . . . . . . . . . . .
Verificar INDICANDO EN EL DEBUG CON UN TILDE, si AX coinci-
de con el valor calculado (también indicado en el paso 4), y si IP y la
próxima instrucción a ejecutar coinciden con lo establecido en 2d.
Después de este paso, en la pantalla deberán verse cuatro comandos
T, en correspondencia con la ejecución de las 4 instrucciones que
componen la secuencia.
Sistemas de Computación I / Pág. 14
7k) La instrucción I4 de código de operación A3 ordena pasar el con-
tenido de AX a la dirección de memoria que acompaña a A3. Para ve-
rificar que se ejecutó esta instrucción se debe examinar esta di-
rección de memoria y la siguiente, correspondientes a la ubicación de
la variable R. Esto implica que en el Debug debe hacerse, de acuerdo
con el paso 2a:
-E dirección de la variable R (primeras 4 cifras del DNI) ↵
(El valor de esta dirección y el de la siguiente debe coincidir con el in-
dicado en el paso 4, en cuyo caso se debe resaltar en el Debug esta
coincidencia. Caso contrario debe buscarse el error cometido.)
ADJUNTAR A ESTAS PAGINAS TODOS LOS PASOS REALIZADOS CON
EL DEBUG.
Criterios de corrección
En la corrección de este Trabajo Práctico, tendremos en cuenta los siguientes
criterios:
a. Resolución completa del trabajo práctico
b. Articulación teoría-práctica.
c. Entrega de los registros completos de información
(programa Debug) y de las verificaciones efectuadas.
d. Entrega en tiempo y forma.
Utilice estos criterios para anticiparse a los resultados de la evaluación. Ade-
cue su producción a los parámetros señalados. Si tiene dudas, consulte a su
tutor/a!
Sistemas de Computación I / Pág. 15
Sistemas de Computación I / Pág. 16