Hola,
estoy empezando a aprender ensamblador (estoy con el libro de Kip R. Irvine: Lenguaje Ensamblador...) y al hacer uno de los ejercicios me he encontrado con un problema con los arrays.
Lo he reducido para intentar aislarlo y básicamente genera una serie de números (47) que los va introduciendo en cada uno de los elementos del array, pero luego intento acceder a ellos con otro loop y los valores me han cambiado. A ver si alguien me puede echar una mano. Gracias.
El código es:
; Manejo de arrays
INCLUDE Irvine32.inc
.data
arrayFibo DWORD 47 DUP(?)
.code
main PROC
mov ecx, LENGTHOF arrayFibo
mov ebx, 1
mov edx, 0
Serie :
mov eax, edx
mov edx, ebx
add ebx, eax
mov arrayFibo[ecx - 1], eax ; mete el valor en cada elemento del array
call WriteDec ; Imprime en pantalla
call Crlf ;Salto de línea
loop Serie
call Crlf; Salto de línea
; Muestra arrayFibo
mov ecx, LENGTHOF arrayFibo
S1:
mov eax, arrayFibo[ecx-1] ; saca el valor de cada elemento del array
call WriteDec
call Crlf
loop S1
exit
main ENDP
END main
estoy empezando a aprender ensamblador (estoy con el libro de Kip R. Irvine: Lenguaje Ensamblador...) y al hacer uno de los ejercicios me he encontrado con un problema con los arrays.
Lo he reducido para intentar aislarlo y básicamente genera una serie de números (47) que los va introduciendo en cada uno de los elementos del array, pero luego intento acceder a ellos con otro loop y los valores me han cambiado. A ver si alguien me puede echar una mano. Gracias.
El código es:
; Manejo de arrays
INCLUDE Irvine32.inc
.data
arrayFibo DWORD 47 DUP(?)
.code
main PROC
mov ecx, LENGTHOF arrayFibo
mov ebx, 1
mov edx, 0
Serie :
mov eax, edx
mov edx, ebx
add ebx, eax
mov arrayFibo[ecx - 1], eax ; mete el valor en cada elemento del array
call WriteDec ; Imprime en pantalla
call Crlf ;Salto de línea
loop Serie
call Crlf; Salto de línea
; Muestra arrayFibo
mov ecx, LENGTHOF arrayFibo
S1:
mov eax, arrayFibo[ecx-1] ; saca el valor de cada elemento del array
call WriteDec
call Crlf
loop S1
exit
main ENDP
END main