UTNianos

Versión completa: [Assembler] modo de direccionamiento
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola tengo algunas dudas con los distintos modos de direccionamientos que hay en assembler, me dirian cuales existen y me dirian al menos 2 ejemplos de cada uno por favor.

yo solo conozco el direccionamiento directo

mov ax,[0100]
En el capitulo 10 del libro de Patricia Quiroga están bien explicados los distintos modos de direccionamiento, con ejemplos en Assembler.

El que pusiste es directo a memoria, pues se accede a memoria RAM para buscar el dato de la instrucción (entre corchetes se pone la referencia a memoria).
Si el dato es una constante (MOV AX, 0100) se dice que el direccionamiento es inmediato, ya que no se requiere un acceso a memoria, la constante se escribe sin corchetes en Assembler.
Si el dato se encuentra en un registro (Mov AX,DX) se dice que es directo por registro.
Y si el dato al que hace referencia la instrucción está implícito en el código de operación se dice que es implícito el direccionamiento =P.
Después tenes el indirecto, que accede a una posición de memoria en donde hay otra referencia a memoria (Por eso indirecto)

Esos son los más importantes, pero hay un par más. Fijate en el libro, no es largo el capitulo que te digo.
hola tengo 2 preguntas:

1) me darian 2 ejemplos de direccionamiento indirecto por favor, no se si podria considerar esta como una

mov ax,[[0100]]

2) si cambio el operador mov por un add o sub, no varia en nada el modo de direccionamiento verdad?

por ejemplo

add ax,[0120]

seria un modo de direccionamiento directo de memoria?
(16-12-2014 13:07)alvar escribió: [ -> ]hola tengo 2 preguntas:

1) me darian 2 ejemplos de direccionamiento indirecto por favor, no se si podria considerar esta como una

mov ax,[[0100]]

2) si cambio el operador mov por un add o sub, no varia en nada el modo de direccionamiento verdad?

por ejemplo

add ax,[0120]

seria un modo de direccionamiento directo de memoria?
1)Sí, suponiendo que en la dirección "0100" hay otra dirección, efectivamente es indirecto.

2)Claro, es directo a memoria. Los modos de direccionamiento son el mismo para cualquier instrucción, la onda es que tenés que fijarte como dicha instrucción accede al dato, en este caso el dato que se va a sumar al registro "AX" es el que está contenido en la dirección 0120.

Yo también rindo mañana. Suerte.
URLs de referencia