Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectura de Computadores
lOMoARcPSD|17325709
Índice
BIBLIOGRAFIA......................................................................................................................... 5
lOMoARcPSD|17325709
MODOS DE DIRECCIONAMIENTO
Los Modos de Direccionamiento son las formas de especificar la ubicación de los datos y modos
para acceder a ellos. Los datos que maneja una instrucción máquina pueden estar ubicados en la
propia instrucción, en un registro de la CPU o en la memoria del computador. La palabra Dirección
se utiliza como localización del operando y NO como ubicación en memoria.
Ejemplo: INT 3
En esta instrucción cuyo código de operación es CC como es una acción para terminar la
ejecución de un programa o grupo de acciones no hay dato u operando, por lo que el mismo
código de operación tiene todo lo necesario para ejecutarla.
Las instrucciones que ordenan pasar una constante a un registro están en modo de
direccionamiento inmediato [1], dicha constante es el dato A9E5.
Este Modo no necesita transformación alguna para otorgar la dirección necesaria es decir que la
dirección del dato u operando está en las celdas de memoria siguientes al código de operación de
la instrucción.
En este ejemplo la instrucción cuyo código de operación es A1 está en la celda de memoria cuya
dirección es 06B3:0100, en las celdas siguientes 06B3:0101 y 06B3:0102 está la dirección del
operando 0150, nótese que la dirección del operando o dato tiene primero en la celda
06B3:0101 el contenido 50 que es la parte menos significativa de la dirección del dato y en la
celda siguiente 06B3:0102 01 que es la parte más significativa de la dirección del dato, además
para indicar la dirección del dato deben colocarse corchetes.
Si una instrucción tiene un número entre corchetes se dice que está en modo de direccionamiento
directo [1], dicho número es la dirección 0150.
En esta instrucción el código de operación es 89D8 y está en las celdas de memoria cuya
dirección es 06B3:0100 y 06B3:0101. El dato u operando, que es el valor que debe ser
asignado al registro AX, está contenido en el registro BX.
En esta instrucción el código de operación es 8B07 y está en las celdas de memoria cuya
dirección es 06B3:0100 y 06B3:0101. El dato u operando que es el valor por asignar al
registro AX, está en la dirección contenida en el registro BX, nótese que también para indicar que
el registro BX contiene la dirección del dato y no el dato el registro BX se pone entre corchetes.
Una instrucción de este tipo corresponde al modo de direccionamiento indirecto por registro. Esto
es la dirección de una celda de memoria se da indirectamente a través de un registro, como SI, DI,
o BX. Las instrucciones en modo de direccionamiento indirecto por registro permiten solucionar el
problema de recorrer uno tras otro los datos contenidos en posiciones sucesivas de memoria,
como es el caso de una lista o vector. [1]
La instrucción JNZ como cualquier otra de salto condicional “short” (corto) está en modo de
direccionamiento relativo. El término “relativo” implica que la dirección de la instrucción a la que
se salta (si se cumple la condición) se calcula sumando un número a la dirección de la instrucción
que sigue a la instrucción de salto. O sea que la dirección hacia donde hay que saltar está en
relación con esta última dirección, la cual está apuntada por el IP, por ser la próxima instrucción
para ejecutar luego de la de salto.
El número por sumar a la dirección de la instrucción que sigue a la instrucción de salto forma parte
de un byte de esta última. En un salto hacia atrás, como en el loop dicho número es negativo,
siendo positivo si el salto es hacia adelante. [1]
En esta instrucción el código de operación es 8B07 y está en las celdas de memoria cuya
dirección es 06B3:0100 y 06B3:0101. El dato u operando, que es el valor que debe ser
asignado al registro AX, está en la dirección contenida en el registro BX (nótese que acá también
para indicar que el registro BX contiene la dirección del dato y no el dato el registro BX se pone
entre corchetes).
Según Ginzburg una instrucción de este tipo corresponde al modo de direccionamiento indirecto
por registro. Esto es, la dirección de una celda de memoria se da indirectamente a través de un
registro, como SI, DI, o BX. Y agrega que las instrucciones en modo de direccionamiento
indirecto por registro permiten solucionar el problema de recorrer uno tras otros datos contenidos
en posiciones sucesivas de memoria, como es el caso de una lista o vector.
BIBLIOGRAFIA
[1] Assembler desde cero e interrupciones. Mario Carlos Ginzburg. Biblioteca Técnica Superior. 2a
edición mejorada.