在TXT文件中写入结果是用十六进制代码吗? (32位组装)

时间:2015-01-10 14:27:49

标签: assembly x86 hex 32-bit

我似乎无法弄清楚为什么我的两个程序打开并将最大公共分隔符的结果写入/导出到HEXA中名为FileName的txt中!

当我打开TXT时会写一些东西,当我用hexaeditor打开TXT时结果很好,有什么想法吗?我把结果从eax移到了pomGCD。

PomGCD DB 10 dup(?)
MenoSub DB 'GCD.txt',0 
FileHandle DD ?
ByteNumber DD ?
LetterNumber DD 1


openFile PROC                                       ; 2 procedures for opening and writing
    push NULL   
    push FILE_ATTRIBUTE_NORMAL  
    push CREATE_ALWAYS
    push NULL
    push 0
    push GENERIC_WRITE
    push offset FileName
    call CreateFileA 
    mov FileHandle,eax
    ret
openFile ENDP

writeFile PROC
    push NULL
    push offset ByteNumber
    push LetterNumber
    push offset pomGCD
    push FileHandle
    call WriteFile
    ; close file
    push FileHandle
    call CloseHandle
    ret
writeFile ENDP

1 个答案:

答案 0 :(得分:1)

在将结果保存到TXT文件之前,您是否将结果转换为ASCII字符?否则它仍然是二进制数。这可以解释为什么你可以用十六进制编辑器来阅读它。