Vaya, pensaba que se podía acceder de esa manera a cada elemento (arrayFibo[0], arrayFibo[1], arrayFibo[2]...etc), pero a lo que hay que acceder es a la dirección donde está cada elemento ¿ verdad?
Gracias
He rectificado la versión de la siguiente manera:
; Ejercicio 5.8.2.Muestra los primeros 47 numeros de la Serie Fibonacci
; y los graba en un archivo(el resultado se ve en hexadecimal)
INCLUDE Irvine32.inc
.data
nombreArchivo BYTE "Fibonacci47.txt", 0
arrayFibo DWORD 47 DUP(? )
manejaArchivo DWORD ?
tam_Bufer DWORD ?
.code
main PROC
mov tam_Bufer, SIZEOF arrayFibo ; 47 elementos x 4bytes = 188bytes
mov ecx, LENGTHOF arrayFibo ; pone el contador a 47
mov ebx, 1
mov edx, 1
mov esi, OFFSET arrayFibo
Serie :
mov eax, edx
mov edx, ebx
add ebx, eax
mov [esi], eax ; en lugar de mov arrayFibo[ecx-1], eax
add esi, 4 ; DWORD
call WriteDec ; los muestra en pantalla para comprobar
call Crlf
loop Serie
; ABRE ARCHIVO
mov edx, OFFSET nombreArchivo
call CreateOutputFile
mov manejaArchivo, eax
; GRABA ARCHIVO
; eax sigue siendo el manejador del Archivo
mov edx, OFFSET arrayFibo
mov ecx, tam_Bufer
call WriteToFile
;CIERRA ARCHIVO
mov eax, manejaArchivo
call CloseFile
exit
main ENDP
END main
Gracias
He rectificado la versión de la siguiente manera:
; Ejercicio 5.8.2.Muestra los primeros 47 numeros de la Serie Fibonacci
; y los graba en un archivo(el resultado se ve en hexadecimal)
INCLUDE Irvine32.inc
.data
nombreArchivo BYTE "Fibonacci47.txt", 0
arrayFibo DWORD 47 DUP(? )
manejaArchivo DWORD ?
tam_Bufer DWORD ?
.code
main PROC
mov tam_Bufer, SIZEOF arrayFibo ; 47 elementos x 4bytes = 188bytes
mov ecx, LENGTHOF arrayFibo ; pone el contador a 47
mov ebx, 1
mov edx, 1
mov esi, OFFSET arrayFibo
Serie :
mov eax, edx
mov edx, ebx
add ebx, eax
mov [esi], eax ; en lugar de mov arrayFibo[ecx-1], eax
add esi, 4 ; DWORD
call WriteDec ; los muestra en pantalla para comprobar
call Crlf
loop Serie
; ABRE ARCHIVO
mov edx, OFFSET nombreArchivo
call CreateOutputFile
mov manejaArchivo, eax
; GRABA ARCHIVO
; eax sigue siendo el manejador del Archivo
mov edx, OFFSET arrayFibo
mov ecx, tam_Bufer
call WriteToFile
;CIERRA ARCHIVO
mov eax, manejaArchivo
call CloseFile
exit
main ENDP
END main