Ensamblador - guardar en array un registro

   
Vista:

guardar en array un registro

Publicado por Jordi (1 intervención) el 11/03/2009 22:39:45
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:guardar en array un registro

Publicado por Perceval (13 intervenciones) el 13/04/2009 23:07:14
Tenes que hacer por ejemplo un bucle

Array dw 5 dup(?), '$'
inicio:
mov cx, 5 ;usando loop la cantidad de veces que se repite el bucle.
mov si, 0 ;va a ser el puntero. Lo iniciamos en cero.
mov bx, 3939h ;Cargo valor 99.
bucle:
mov Array[si], bx ;mover el valor de bx adonde apunte SI
add si, 2 ;Sumamos dos Byte. 1 W.
loop bucle
lea dx, Array ;Comprobar.
mov ah, 9
int 21h

ret


espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:guardar en array un registro

Publicado por Eduardo sant (1 intervención) el 18/04/2013 06:05:42
para guardar debes usar array[si] que es un registro especial para el indice de los arrays

mov si,0 ;Indice puesto en cero

.repeat ;Inicio del ciclo repeat para llenar el vector con los numero introducidos por el usuario

mov strn, input("Introduce un numero: ")

mov array1[si], sval(strn)
sub contador, 1 ;Resta una unidad al contador del ciclo
add si, 1 ;Incrementar el indice para el vector
print chr$(13,10,13,10)

.until contador < 1 ;Condicion del ciclo, hasta que el numero sea menor a 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar