我正在嘗試使用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
我每次調試完後,一個文本文件創建成功,但它原來是在文本文件中的一些無法識別碼。我認爲它應該是以十六進制顯示的數組。
我真的不知道我犯了什麼錯誤。請幫幫我!謝謝!
我不明白你爲什麼會想到它是「以十六進制」,因爲你不顯示任何代碼來做到這一點。在Kip Irvine的包含文件中可能會有一些東西 - 在它周圍(或RTFM)。如果沒有,這不是很難做... –
我同意弗蘭克。谷歌自己的電影,數字; sbb al,69h; DAS;訣竅,這會讓你更容易。 – Pyjong