【问题标题】:Writing result in TXT file is in HEXA code? (32 bit assembly)在 TXT 文件中写入结果是十六进制代码? (32 位汇编)
【发布时间】:2015-01-10 14:27:49
【问题描述】:

我似乎无法弄清楚为什么我的两个程序打开并写入/导出最大公用分隔符的结果到名为 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

【问题讨论】:

    标签: assembly x86 hex 32-bit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2015-03-01
      • 2012-06-26
      • 2014-01-25
      • 2014-10-17
      • 2014-03-16
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 2015-07-30
      相关资源
      最近更新 更多