0

CreateOutputFileWriteToFileおよびCloseFileIrvine32 プロシージャを使用して、ダブルワード配列をディスク ファイルに書き込もうとしています。これが私のコードです。

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進数で示した配列だったはずだと思います。

どこで間違いを犯すのか本当にわかりません。私を助けてください!ありがとう!

4

2 に答える 2