-1
好吧,我覺得我非常接近解決這個問題,但是我對此做的任何事情似乎都無法解決。 該程序必須創建47個斐波那契數列,然後將它們存儲在DWORDS數組中,然後將其寫入文件(fib.bin)。格式化有些搞砸了,但如果你需要澄清,我會盡力幫忙。生成Fibonacci序列的數字,並將它們寫入文件
INCLUDE Irvine32.inc
.data
fileHandle DWORD ?
filename BYTE "fib.bin", 0
FIB_COUNT = 47
array DWORD FIB_COUNT DUP(?)
.code
main PROC
; Create the file
mov edx,OFFSET filename
call CreateOutputFile
mov fileHandle,eax
; Generate the array of values
mov esi,OFFSET array
mov ecx,FIB_COUNT
call generate_fibonacci
; Write the array to a file
mov eax,fileHandle
mov edx,OFFSET array
mov ecx,SIZEOF array
call WriteToFile
; Close the file
mov eax,fileHandle
call CloseFile
exit
main ENDP
;---------------------------------------------------
generate_fibonacci PROC USES eax ebx ecx
;
; Generates fibonacci values and stores in an array.
; Receives: ESI points to the array, ECX = count
; Returns: nothing
;---------------------------------------------------
mov ebp, 0
mov edx, 1
mov ebx, edx
mov ecx, 47
L1:
mov eax, edx
mov ebp, eax
mov edx, ebx
add ebx, ebp
; dec ecx
loop L1
ret
generate_fibonacci ENDP
END main
我看到的問題是它沒有返回任何東西,我也找不到我需要返回的東西。我試過它返回各種寄存器,但他們都出來了一個錯誤。
它輸出二進制文件,但它也將打印到控制檯。 – David 2011-04-01 02:53:13