Вы находитесь на странице: 1из 2

DIRECCIONAMIENTO POR REGISTROS:

El direccionamiento a registro indica el nombre de un registro como fuente o


destino de los datos de una instruccin, la forma de indicarlo es escribiendo
simplemente el nombre de dicho registro. Por ejemplo, para guardar el contenido
del registro AX en la pila se utilizar la instruccin push con este modo de
direccionamiento: PUSH AX. Cuando tenga una instruccin con dos operandos
(destino y fuente), obligatoriamente ambos debern ser del mismo tamao: MOV
BX, CX.
Se mencion anteriormente que el campo de direccin de una
instruccin puede especicar una palabra de memoria o un registro del
procesador. Cuando se da este ltimo caso se dice que el operando est
especicado con direccionamiento directo por registro, en tal caso, el
operando reside en uno de los registros del procesador que es
seleccionado por un campo de registro de k bits en la instruccin. Este
campo de k bits puede especicar uno de 2k registros.
Este modo es tpico de los ordenadores con organizacin de registros de
uso general.
Las ventajas de este modo son:
El acceso a los registros es muy rpido, por tanto el direccionamiento
por registro debe usarse en las variables que se usen con ms frecuencia
para evitar accesos a memoria que son ms lentos, un ejemplo muy
tpico del uso de este direccionamiento son los ndices de los bucles.
El nmero de bits necesarios para especicar un registro es mucho ms
pequeo que el necesario para especicar una direccin de memoria,
esto es debido a que el nmero de registros del procesador es muy
pequeo comparado con el nmero de direcciones de memoria. Sin
embargo, hay que tener en cuenta que en los ordenadores modernos el
nmero de registros ha aumentado considerablemente.
MODO INDIRECTO POR REGISTROS:
En ocasiones se necesita trabajar con varios datos, pero cada uno en una
direccin diferente. Repetir el mismo cdigo cambiando nicamente en cada caso
la direccin desde la que obtener el dato sera muy pesado. Por ello existe el
modo de direccionamiento indirecto, en el que la direccin de memoria desde la
que se obtiene o en la que se escribe el dato se encuentra almacenada en un
registro. La forma de representar este modo de direccionamiento es como el
anterior pero colocando entre los corchetes el nombre del registro.
En el registro tendremos almacenado el desplazamiento de la posicin de
memoria a la que queremos acceder respecto a un segmento que se tomar por

defecto dependiendo del registro que utilicemos. En caso de querer referirnos a


otro segmento diferente al asignado por defecto a cada registro, se deber indicar
cul es.
En la siguiente tabla se indican los segmentos por defecto para cada registro:

Ejemplos:
MOV AX, [SI] mueve a AX el contenido de la posicin de memoria DS: SI
MOV BX, [BP] mueve a BX el contenido de la posicin de memoria SS: BP
MOV CX, ES: [DI] mueve a CX el contenido de la posicin de memoria ES: DI
MOV [BP], AX mueve a la posicin de memoria SS: BP el contenido de AX.
En este modo el campo de operando de la instruccin indica la localizacin de la
direccin efectiva del operando. El modo de direccionamiento indirecto puede
adquirir diferentes formas segn cul sea el lugar donde se encuentre la direccin
del operando. En general, todos los modos de direccionamiento tienen su versin
indirecta que aade un eslabn ms a la cadena del direccionamiento. Por
ejemplo existe el direccionamiento indirecto por registro, en el que el registro
especicado contiene la direccin del operando, no el operando mismo.
Este direccionamiento es til cuando se trabaja con apuntadores ya que los
apuntadores son variables que contienen las direcciones de los operandos, no los
operandos mismos.

Вам также может понравиться