Direcciones indizadas

Direcciones indizadas

de Agustin Berriel Alcalde -
Número de respuestas: 2

Mi duda es la siguiente, si yo en el stack tengo offset y segmento de una direccion de memoria de modo que en BP+2 esta el offset y en BP+4 el segmento, y guardo el segmento en DS haciendo MOV DS,[BP+4], yo accedo a la direccion de memoria escribiendo DS:[BP+2]. Ahora mi duda es cuando yo quiero acceder a la palabra siguiente a la direccion dada por parametros, para accederla yo puedo direccionar DS:[BP+2]+2 o debo guardar [BP+2] en digamos el registro AX y direccionar DS:AX+2?

Gracias desde ya

En respuesta a Agustin Berriel Alcalde

Re: Direcciones indizadas

de Federico Rivero -

Esitmado,

Dos cositas:

1) Ojo, que luego de ejecutar MOV DS, [BP+4],la dirección DS:[BP  + 2] NO es la pasada por parámetro. Es un segmento pasado por parámetro con un desplazamiento en el stack. Es decir, da cualquier cosa. Lo correcto sería luego ejecutar MOV BX,[BP+2] y finalmente acceder a la dirección con DS:[BX]. Luego sí, coon DS:[BX + 2] se accede a la siguiente palabra en memoria.

2) Ojo que AX no se puede usar para direccionar memoria.

Saludos!

       Federico