Professional Documents
Culture Documents
Segmento : desplazamiento
Debido a que ambos registros son de 16 bits y es necesario calcular una dirección para 20
líneas de direcciones, es necesario representarlos en 20 bits. La dirección efectiva se calcula
de la siguiente forma:
Segment A 8 C 9 0
o
Offset F 8 7 6
Acarreo 1 1 1
Segment A 8 C 9 0
o
Offset F 8 7 6
B 8 5 0 6
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 + 6
5
Suma = 6
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 + 7 6 6
5
Suma = 1 6
6
Para hallar el valor correcto en base 10 del dígito hexadecimal de la columna, al resultado
de la suma en base 10 le restamos 16 unidades.
Acarreo
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma 1 6
6
- 1
6
= 0
Acarreo 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma 0 6
Ahora sumamos los valores en base 10 de la siguiente columna y el acarreo (si éste
existiera) y si la suma en base 10 excede el valor de 15, aplicamos el procedimiento
anterior.
Acarreo 1
Segment A 1 8 8 C + 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma = 2 0 6
1
Acarreo 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma 2 0 6
1
- 1
6
= 5
Acarreo 1 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma 5 0 6
Acarreo 1 1
Segment A 1 8 + 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma = 2 5 0 6
4
Acarreo 1 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma 2 5 0 6
4
- 1
6
= 8
Acarreo 1 1 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma = 11 8 5 0 6
Acarreo 1 1 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma 11 8 5 0 6
Por último tenemos que convertir cada uno de los valores de las sumas en base 10 a su
equivalente en hexadecimal
Acarreo 1 1 1
Segment A 1 8 8 C 1 9 9 0 0
o 0 2
Offset F 1 8 8 7 7 6 6
5
Suma B < 11 8 < 8 5 < 5 0 < 0 6 < 6
- - - - -
Acarreo 1 1 1
Segment A 8 C 9 0
o
Offset F 8 7 6
B 8 5 0 6
Ejemplo 2:
Segment C D E F 0
o
Offset F E D C
Acarreo 1 1 1
Segment C D E F 0
o
Offset F E D C
D D D C C
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 12
5 4 3
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C + 1
5 4 3 2
Suma = 1
2
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D + 1 C 1
5 4 3 2
Suma = 2 1
8 2
La suma supera el valor de 15 en base 10.
Acarreo
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma 2 1
8 2
- 1
6
= 1
2
El nuevo resultado es:
Acarreo 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma 1 1
2 2
Acarreo 1
Segment C 1 D 1 E + 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma = 2 1 1
9 2 2
Acarreo 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma 2 1 1
9 2 2
- 1
6
= 1
3
El nuevo resultado es:
Acarreo 1 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma 1 1 1
3 2 2
Acarreo 1 1
Segment C 1 D + 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma = 2 1 1 1
9 3 2 2
Acarreo 1 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma 2 1 1 1
9 3 2 2
- 1
6
= 1
3
Acarreo 1 1 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma = 1 1 1 1 1
3 3 3 2 2
Acarreo 1 1 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma 1 1 1 1 1
3 3 3 2 2
Por último tenemos que convertir cada uno de los valores de las sumas en base 10 a su
equivalente en hexadecimal
Acarreo 1 1 1
Segment C 1 D 1 E 1 F 1 0 0
o 2 3 4 5
Offset F 1 E 1 D 1 C 1
5 4 3 2
Suma D < 1 D < 1 D < 1 C < 1 C < 1
- 3 - 3 - 3 - 2 - 2
Acarreo 1 1 1
Segment C D E F 0
o
Offset F E D C
D D D C C