Modo de Direccionamiento de Datos

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Modo de Direccionamiento de Datos por Mind Map: Modo de Direccionamiento de Datos

1. Puntero de Instrucciones Registros de Propósito General

1.1. Puntero IP

1.1.1. IP 16-bit en Modo Real

1.1.1.1. Dirección de Próxima Instrucción : CS:IP

1.2. Registros de Propósito General (Data Registers)

1.2.1. Acumulador (A): Ajuste ASCII,....

1.2.2. Base (B): tablas look-up

1.2.3. Count (C): operaciones loop, repetir operaciones string, shift/rotate

1.2.4. Data (D): indirect I/O, I/O string, Multi, Divide

1.3. Registros de Propósito General

1.3.1. Acumulador {A}: EAX, AX, AH, AL

1.3.1.1. Operaciones

1.3.1.1.1. Ajuste ASCII para suma/resta

1.3.1.1.2. Convertir byte a palabra/palabra a doble palabra/doble palabra a cúadruple palabra

1.3.1.1.3. Ajuste decimal para suma/resta

1.3.1.1.4. Multiplicación/división sin signo

1.3.1.1.5. División con signo

1.3.1.1.6. Operaciones de entrada/salida

1.3.1.1.7. Cargar/Guardar banderas

1.3.1.1.8. Cargar/Comparar/Guardar operaciones de cadenas

1.3.1.1.9. Traducciones Table-look up

1.3.2. Base {B}: EBX, BX, BH, BL

1.3.2.1. Operaciones

1.3.2.1.1. Traducciones Table-look up

1.3.3. Contador {C}: ECX, CX, CH, CL

1.3.3.1. Operaciones

1.3.3.1.1. Operaciones de lazos

1.3.3.1.2. Operaciones de repetir cadenas

1.3.3.1.3. Operaciones de desplazamiento/rotación variable

1.3.4. Data {D}: EDX, DX, DH, DL

1.3.4.1. Operaciones

1.3.4.1.1. Operaciones de entrada/salida indirecta

1.3.4.1.2. Operaciones de entrada/salida de cadenas

1.3.4.1.3. Multiplicación sin signo de palabra/doble palabra

1.3.4.1.4. División con signo de palabra/doble palabra

1.3.4.1.5. División sin signo de palabra/doble palabra

2. Punteros y Registros Índices

2.1. Dos registros índices (ESI, EDI) y dos punteros (EBP, ESP)

2.1.1. Puntero de Pila

2.1.1.1. ESP, SP

2.1.2. Puntero de Base

2.1.2.1. EBP, BP

2.1.3. Índice de Origen

2.1.3.1. ESI, SI

2.1.4. Índice de Destino

2.1.4.1. EDI, DI

2.2. En general guardan "offsets" de direcciones (16-bit modo real: 64 KB)

2.3. ESP (extended stack pointer) y EBP (extended base pointer)

2.4. Combinados con el registro SS producen direcciones físicas de memoria: SS:SP, SS:BP

2.4.1. TOS (top´of stack) : SS:SP

2.4.2. BP : un "offset" respecto de SS

2.5. ESI (extended source index register) y EDI (extended destination index register)

2.5.1. Combinan automáticamente con el registro de datos DS

3. Registro de Banderas

3.1. Es un registro de 32 bits. Pentium 4 define 18 banderas

3.2. En modo real solo 9 banderas se encuentran activas y se muestran a continuación

3.2.1. Banderas de Control

3.2.1.1. TF

3.2.1.1.1. ENGANCHE

3.2.1.2. DF

3.2.1.2.1. DIRECCIÓN

3.2.1.3. IF

3.2.1.3.1. HABILITADOR DE INTERRUPCIÓN

3.2.2. Banderas de Estado

3.2.2.1. OF

3.2.2.1.1. SOBRECARGA

3.2.2.2. SF

3.2.2.2.1. SIGNO

3.2.2.3. ZF

3.2.2.3.1. CERO

3.2.2.4. AF

3.2.2.4.1. ACARREO AUXILIAR

3.2.2.5. PF

3.2.2.5.1. PARIDAD

3.2.2.6. CF

3.2.2.6.1. ACARREO

3.3. Bandera de acarreo (CF) : enciende con carry-out, borrow-in

3.4. Bandera de paridad (PF) : enciende con paridad par

3.5. Bandera acarreo auxiliar (AF) : enciende con acarreo desde "nibble" bajo

3.6. Bandera cero (ZF) : enciende con resultado cero aritmético o lógico

3.7. Bandera de signo (SF) : "0" positivo "1" negativo

3.8. Bandera de sobrecarga (OF) : enciende con resultado con signo fuera de rango

3.9. Bandera de "trampa" (TF) : TF = 1 habilita modo "paso a paso"

3.10. Bandera de interrupción (IF) : IF = 1 habilita entrada INTR

3.11. Bandera de dirección (DF) : Con DF = 1 las operaciones "string" (cadena de caracteres) automáticamente decrementan el correspondiente puntero. Con DF = 0 incrementan

4. Dirección Física en Modo Real

4.1. Prefijo de Sustitución de Segmento

4.1.1. Variables, fuentes de cadenas : implícito DS; seg alterno : ES, FS, GS, SS, CS

4.1.2. Destino de cadenas : ES: seg alterno ninguno

4.1.3. BP usado como registro base: implícito SS; seg alterno: Es, FS, GS, DS, CS

4.1.4. BX usado como registro base: implícito DS; seg alterno: ES, FS, GS, SS, CS

5. Espacio de Direcciones de Memoria en Modo Real

5.1. 80386DX en Modo Real: 1MB de memoria externa.

5.2. Espacio de Direcciones de Memoria del 8086 = 1MB.

6. Modelo de Programación de 8086 = Pentium 4

6.1. Modo Real: Compatible con el 8086

7. Segmentación de Memoria

7.1. Segmentos de 64KB en el espacio de 1MB

7.2. CS: segmento de código

7.3. SS: segmento de pila

7.4. DS: segmento de datos

7.5. ES: segmento extra de datos

7.6. FS: segmento de datos F

7.7. GS: segmento de datos G

7.8. Los segmentos pueden ser adyacentes, disjuntos y superpuestos

7.9. Direcciones Base de Segmentos : se recomienda un múltiplo de 4H

8. Stack (Pila)

8.1. Instrucciones Call, Return, Push y Pop

8.2. En modo real, el stack es de tamaño 64K

8.3. A continuación se muestra la estructura del stack

9. Espacio de Direcciones De Entrada/Salida (MODO REAL)

9.1. Es un espacio de direcciones separado del espacio de direcciones de memoria (entrada / salida aislada)

9.2. 64KB espacio de direcciones de E/S

9.3. 0000H -> FFFFH

9.4. Direccionamiento Indirecto: Usa Registro DX

9.5. Página 0 : 0000H hasta 00FFH -> direccionamiento directo