Ensamblador Metodos De Direccionamiento
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
abel@it.uc3m.es
Universidad Carlos III de Madrid
Departamento de Ingenier´a Telem´ tica
ı
a
Modos de Direccionamiento
ADM-1
Las operaciones deben de obtener sus operados, ya sea de los registros o de la memoria.
Para acceder a estos operandos se precisa especificar un modo de obtenerlos.Los procesadores permiten especificar la posici´ n de un operando de m´ ltiples maneras.
o
u
Modo de Direccionamiento: Dado uno o varios campos de la instrucci´ n, calcular la direcci´ n efectiva (de)
o
o
de un operando.
La Direcci´ n Efectiva no tiene por qu´ ser una direcci´ n en memoria.
o
e
o
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
c Universidad Carlos IIIde Madrid
¿Cu´ ntos modos de direccionamiento existen?
a
ADM-2
Hay infinidad de formas de calcular la direcci´ n de un operando.
o
Cada procesador implementa un subconjunto de formas posibles.
Tanto los operandos involucrados en el c´ lculo como las diferentes formas de calcular esta direcci´ n est´ n todos
a
o
a
codificados en la instrucci´ n.
o
Cuanto m´ s compleja sea latarea de c´ lculo de la direcci´ n efectiva, o m´ s operandos incluya, m´ s compleja
a
a
o
a
a
ser´ la decodificaci´ n y ejecuci´ n de la instrucci´ n.
a
o
o
o
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
Terminolog´a
ı
c Universidad Carlos III de Madrid
ADM-3
Existen dos espacios posibles de direcci´ nes de operandos:
o
1. Direcci´ n de Registro: Paraaquellos operandos que est´ n almacenados en registro.
o
a
2. Direcci´ n de Memoria: Para aquellos operandos que est´ n almacenados en memoria.
o
a
Nos referiremos a los diferentes campos de la instrucci´ n como ci1, ci2, etc.
o
La expresi´ n (ci1) significa el contenido del campo ci1 de la instrucci´ n, o lo que es lo mismo, el n´ mero
o
o
u
codificado en dicho campo.
Laexpresi´ n (Ri), donde Ri es el nombre de un registro, significa el contenido del registro.
o
La expresi´ n dato → R significa que se carga en el registro R el dato dato.
o
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
c Universidad Carlos III de Madrid
Modo Registro
ADM-4
Los registros pueden almacenar operandos.
La direcci´ n de registro es diferente a la direcci´n de memoria.
o
o
de = (ci)
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
Modo Registro: Ejemplo
c Universidad Carlos III de Madrid
ADM-5
Ejemplo: ADD %ebx, %edx
Los campos que especifican los registros est´ n en el byte ModR/M.
a
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
c Universidad Carlos III de Madrid
Modo Registro IndirectoADM-6
La direcci´ n efectiva est´ contenida en un registro codificado en la instrucci´ n.
o
a
o
´
Util para acceder a un array de elementos.
de = ((ci))
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
c Universidad Carlos III de Madrid
Modo Registro Indirecto: Ejemplo
ADM-7
Ejemplo: ADD %ebx, ( %edx)
Los campos que especifican los registros est´ n en el byteModR/M y en el c´ digo de operaci´ n.
a
o
o
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
c Universidad Carlos III de Madrid
Modo Autoincremento
ADM-8
El registro involucrado en el c´ lculo de la direcci´ n efectiva se incrementa despu´ s de ser utilizado.
a
o
e
˜
˜
El tamano del incremento (1, 2, 4, etc) est´ relacionado con el tamano del operando (8, 16, 32bits, etc)
a
de = ((ci)); (Ri) + {1, 2, 4} → Ri, donde Ri es el registro codificado en el campo ci.
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo
Modo Autoincremento: Ejemplo
c Universidad Carlos III de Madrid
ADM-9
Ejemplo: POP %eax
Como el tama˜ o del operando es 4 bytes el incremento es de 4.
n
Modos de Direccionamiento del Intel Pentium
Abelardo Pardo...
Regístrate para leer el documento completo.