CreateOutputFile
、WriteToFile
およびCloseFile
Irvine32 プロシージャを使用して、ダブルワード配列をディスク ファイルに書き込もうとしています。これが私のコードです。
INCLUDE Irvine32.inc
.data
count = 45
BUFFER_SIZE = 188
filename BYTE "Fibonacci.txt",0
fileHandle DWORD ?
array DWORD 47 DUP(?)
num1 = 1
num2 = 1
temp1 DWORD ?
temp2 DWORD ?
.code
main PROC
mov edx,OFFSET filename
call CreateOutputFile
mov fileHandle,eax
mov esi,0
mov array[esi],num1
mov eax,array[esi]
mov temp1,eax
add esi,4
mov array[esi],num2
mov eax,array[esi]
mov temp2,eax
add esi,4
mov ecx, count
L1:
mov eax,0
mov ebx,0
mov eax,temp1
mov ebx,temp2
add eax,ebx
mov array[esi],eax
mov temp1,ebx
mov temp2,eax
add esi,4
loop L1
mov eax,fileHandle
mov edx,OFFSET array
mov ecx,BUFFER_SIZE
call WriteToFile
mov eax,fileHandle
call CloseFile
exit
main ENDP
END main
毎回デバッグすると、テキストファイルは正常に作成されますが、テキストファイル内に認識できないコードがいくつかあります。16進数で示した配列だったはずだと思います。
どこで間違いを犯すのか本当にわかりません。私を助けてください!ありがとう!