Actualizado el 21 de Marzo del 2018 (Publicado el 5 de Marzo del 2018)
758 visualizaciones desde el 5 de Marzo del 2018
186,5 KB
11 paginas
Creado hace 16a (23/09/2008)
Tema 6. Segmentación y modos de
direccionamiento
Laboratorio de Estructura
de Computadores
I. T. Informática de Gestión / Sistemas
Curso 2008-2009
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 2 / 21
Índice
Segmentación
Modos de direccionamiento
Direccionamiento relativo
Instrucciones de desplazamiento
Instrucciones lógicas
Ejemplo de acceso a una cadena mediante:
– Direccionamiento relativo a base
– Direccionamiento relativo mediante índice
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
1
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 3 / 21
Segmentación en el i80x86
El microprocesador 8086 tiene catorce registros de 16 bits. Con 16
bits se puede acceder a 216 o lo que es igual a 64 K
El 8086 emplea un truco para acceder a 1 MB = 220
El truco consiste en dividir el mega en trozos de 64 K que llama
segmentos
El programa en todo momento debe conocer en qué segmento están
los datos o el código y cuál es la posición dentro del segmento
El cálculo de la dirección física lo realiza según:
R.Base x 10h + desplazamiento
Los registros de segmento son
– CS: para el segmento de código
– DS: para el segmento de datos
– SS: para el segmento de pila
– ES: segmento extra de datos
Gracias a la segmentación se facilita la multiprogramación y existen
zonas diferentes para el código, para los datos y para la pila
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 4 / 21
Modos de direccionamiento
Modos de direccionamiento
Inmediato
Directo
Relativo
De registro
De memoria
De página base
Al contador de programa
A un registro
A un registro índice
A pila
Indirecto
Implícito
Ejemplos
MOV AX, 15H
MOV AX, BX
MOV CX, ETIQUETA
MOV [BX]+ARTÍCULO, AL
MOV DL, VECTOR[SI]
MOV AH, [BX][SI]+ARRAY
mP 8086/88
Inmediato
A registro
(con segmentación)
Directo
(sólo saltos)
Relativo a base
Mediante índice
Mediante índice y base
(Relativo a pila)
(No existe)
Algunas instrucciones
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
2
Tema 6:
Transparencia: 5 / 21
Segmentación y modos de direccionamiento
Direccionamiento relativo
Se emplea para apuntar a direcciones de memoria dentro de un
segmento
Se emplean registros Base y registros Índices. Si BX se emplea como
registro base, entonces el registro de segmento que se emplea es el
registro DS. Si es BP el registro base, entonces el registro de segmento
empleado es el de la pila SS
Existen diferentes modos de direccionamiento relativo en el 8086:
indirecto a registro, relativo a base, mediante índice, mediante índice y
base y mediante desplazamiento, índice y base
Ejemplos:
– ADD DX, [BX]
– MOV DL, [BP+6]
– XOR rojo[BX], DX
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 6 / 21
Instrucciones de desplazamiento (I)
Todas tiene el mismo formato
Desplazamiento destino, veces
Formato:
Descripción:
Desplazan el destino tantas veces como se indique. Si el destino es
mayor que uno, el número de veces se debe indicar en el registo CL
Si se especifica un desplazamiento sobre un registro de ocho bits, la parte
alta o la parte baja de los registros AX, BX, CX o DX, el desplazamiento
será local a esos ocho bits.
Los bits que se desplazan se van copiando en el flag de acarreo.
El i80x86 trabaja con el sistema de representación de complemento a 2
con lo que los desplazamientos aritméticos se realizarán en dicho
formato.
Los deplazamientos permitidos son aritméticos, lógicos, rotaciones y
rotaciones a través del acarreo tanto hacia la derecha como hacia la
izquierda
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
3
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 7 / 21
Instrucciones de desplazamiento (II)
SAL
SAL destino, contador
Nombre:
Formato:
Descripción:
Desplazará aritméticamente a la izquierda el operando destino tantos bits
como indique el valor del contador, rellenando con ceros los bits que
quedan libres por la derecha
Ejemplos:
– MOV AX, 2
– SAL AX, 1
– MOV CL, 2
– SAL AX, CL
; AX = 2
; AX = 4
; CL = 2
; AX = 16
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 8 / 21
Instrucciones de desplazamiento (III)
Nombre:
SAR
Formato:
SAR destino, contador
Descripción:
Desplazará a la derecha aritméticamente el operando destino tantos bits
como indique el valor del contador, rellenando con el bit de signo los bits
que quedan libres por la izquierda
Ejemplos:
– MOV AX, 16
– SAR AX, 1
– MOV CL, 2
– SAR AX, CL
; AX = 16
; AX = 8
; CL = 2
; AX = 2
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
4
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 9 / 21
Instrucciones de desplazamiento (IV)
SHL
SHL destino, contador
Nombre:
Formato:
Descripción:
Desplazará a la izquierda lógicamente el operando destino tantos bits
como indique el valor del contador, rellenando con ceros los bits que
quedan libres por la derecha. El comportamiento es igual que el de la
instrucción SAL
Ejemplos:
– MOV AX, 0FFFFh ; AX = FFFFh (-1)
; AX = FFFEh (-2)
– SHL AX, 1
; CL = 2
– MOV CL, 2
– SHL AX, CL
; AX = FFF8h (-8)
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 10 / 21
Instrucciones de desplazamiento (V)
SHR
SHR destino, contador
Nombre:
Formato:
Descripción:
Desplazará a la derecha lógicamente el operando destino tantos bits
como indique el valor del contador, rellenando con ceros los bits que
quedan libres por la izquierda.
Ejemplos:
– MOV AX, 2
– SHR AX, 1
– MOV CL, 2
– SHR AX, CL
; AX = FFF8h (-8)
; AX = 7FFCh (32764)
; CL = 2
; AX = 1FFFh (8191)
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
5
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 11 / 21
Instrucciones de desplazamiento (VI)
Nombre:
Formato:
Descripción:
Rota los bits del operando destino hacia la izquierda tantos bits como
ROL
ROL destino, contador
indique el valor del contador, rellenando con los bits que saldrían por la
izquierda los bits que quedan libres por la derecha.
Ejemplos:
– MOV AX, 8000h
– ROL AX, 1
– MOV CL, 2
– ROL AX, CL
; AX = 8000h
; AX = 0001h
; CL = 2
; AX = 0004h
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 12 / 21
Instrucciones de desplazamiento (VII)
Nombre:
Formato:
Descripción:
Rota los bits del operando destino hacia la derecha tantos bits como
ROR
ROR destino, contador
indique el valor del contador, rellenando con los bits que saldrían por la
derecha los bits que quedan libres por la izquierda.
Ejemplos:
– MOV AX, 8001h
– ROR AX, 1
– MOV CL, 2
– ROR AX, CL
; AX = 8001h
; AX = C000h
; CL = 2
; AX = 300
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
6
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 13 / 21
Instrucciones de desplazamiento (VIII)
Nombre:
Formato:
Descripción:
Rota los bits del operando destino hacia la izquierda a través del flag de
RCL
RCL destino, contador
acarreo tantos bits como indique el valor del contador.
Ejemplos:
– MOV AX, 8000h
acarreo a 1
; AX = 8000h y además suponemos el flag de
– RCL AX, 1; AX = 0001h
– MOV CL, 2
– RCL AX, CL
; CL = 2
; AX = 0006h y el flag de acarreo estará a 0
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
Tema 6:
Segmentación y modos de direccionamiento
Transparencia: 14 / 21
Instrucciones de desplazamiento (y IX)
Nombre:
Formato:
Descripción:
Rota los bits del operando destino hacia la derecha tantos bits como
RCR
RCR destino, contador
indique el valor del contador a través del flag de acarreo.
Ejemplos:
– MOV AX, 8001h
– ROR AX, 1
– MOV CL, 2
– ROR AX, CL
; AX = 8001h y suponemos el flag de acarreo a 1
; AX = C000h
; CL = 2
; AX = 7000h y el flag de acarreo estará a 0
Departamento de Automática
Área de Arquitectura y Tecnología de Computadores
Laboratorio de Estructura de Computadores
I. T. I. de Gestión / Sistemas
7
Tema 6:
Transparencia: 15 / 21
Segmentación y modos de direccionamiento
Instrucciones lógicas (I)
Nombre:
Formato:
Descripción:
Realiza a nivel de bits la operación lógica AND entre el origen y
AND
AND destino, origen
el destino.
Tanto el origen como el destino pueden ser operandos de 8 o de
16 bits, pero ambos del mismo tamaño.
Ejemplos:
– AND AX, BX
; Si AX = 7777h y BX = 2222h entonces
; AX AND BX = 2222h
; AX = 4 entonces AX AND 1 = 0
– AND AX, 1
– AND AX, 0FFFFh ; Sea cual sea el valor de AX, AX AND
; 0FFFFh = AX
Departamento de
Comentarios de: Tema 6. Segmentación y modos de direccionamiento (0)
No hay comentarios