Programación General > ASM (Ensamblador)

 guardar en array un registro

(1/2) > >>

SasukeJ:
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:
mov word ptr [ARRAY+ax*2], bx

SasukeJ:
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:
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 ...

SasukeJ:
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.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa