• Sábado 9 de Noviembre de 2024, 02:25

Autor Tema:  guardar en array un registro  (Leído 2230 veces)

SasukeJ

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
guardar en array un registro
« en: Miércoles 11 de Marzo de 2009, 22:46 »
0
Tengo las siguiente variable:

ARRAY DW 5 DUP (?)

y el registro BX con un valor.

quiero copiar el registro BX a todas las posiciones de ARRAY.


Prove de estas maneras:
(AX contador )
MOV ARRAY[AX], BX

MOV ARRAY[AX], BYTE PTR BX

MOV ARRAY[AX], WORD PTR BX

.... y algunas más y siempre me deja los valores de ARRAY sin nada, si alguien ayuda se agradece.

Saludos

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: guardar en array un registro
« Respuesta #1 en: Miércoles 11 de Marzo de 2009, 23:08 »
0
mov word ptr [ARRAY+ax*2], bx

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

SasukeJ

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: guardar en array un registro
« Respuesta #2 en: Miércoles 11 de Marzo de 2009, 23:40 »
0
La instrucción que me diste me de Illegal indexing mode, estoy trabajando bajo 8086.

Prove de adapatar lo que me diste a:

(AX contador que incrementa en 2)

MOV WORD PTR ARRAY[AX], BX

y me sucede lo mismo en la variable array no me guarda nada... si a alguien se le ocurre algo bienvenido sea.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: guardar en array un registro
« Respuesta #3 en: Jueves 12 de Marzo de 2009, 00:06 »
0
Tenes que usar la direccion de array + el indice multiplicado por dos (tamaño de cada elemento del array = word).

El problema es que BX (Base) es el registro que se usa para esto que yo sepa (el codigo de 16 bits ya es historia casi) ...

mov ax, bx
xor bx, bx
mov word ptr [ARRAY+bx], ax

y podes usar cx para hacer un loop ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

SasukeJ

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: guardar en array un registro
« Respuesta #4 en: Jueves 12 de Marzo de 2009, 01:10 »
0
Utilizando los registros como me propusiste no me peta, pero persiste el problema, cuando lo ejecuto paso a paso con TD y monitoreo las variables
ARRAY={0,0,0,0,0} nunca varian el valor ni cuado executa el MOV... es lo mismo que me sucedia copiando directamente T_T

EI: juntando mensajes.

Solucionado se puede cerrar, me deje de ligar el segmento de datos ¬¬ es lo que tiene tener mil practicas ke entragar y ir rapido.

Saludos y gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: guardar en array un registro
« Respuesta #5 en: Jueves 12 de Marzo de 2009, 09:22 »
0
Es mejor poner el codigo completo en assembly desde el principio :good:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.