使用系统调用写入nasm中的文件

时间:2010-12-24 12:50:45

标签: linux assembly nasm

作为作业的一部分,我应该使用系统调用写入文件。一切正常,除非我尝试在gedit(linux)中打开文件,它说它无法识别字符编码。记事本(在Windows上)打开文件就好了。为什么它不适用于linux?

这是代码:

    section .text

    global _start

        _start:
                    mov EAX, 8
                    mov EBX, filename
                    mov ECX, 0700
                    int 0x80
                    mov EBX, EAX
                    mov EAX, 4
                    mov ECX, text
                    mov EDX, textlen
                    int 0x80
                    mov EAX, 6
                    int 0x80
                    mov eax, 1
                    int 0x80

    section .data

        filename db "./output.txt", 0
        text db "hello world", 0
        textlen equ $ - text

谢谢:)

- 更新:在输出字符串后添加换行符并修复它。

2 个答案:

答案 0 :(得分:2)

将第3行更改为: mov ECX, 0x0700

答案 1 :(得分:0)

修正了它,请参阅问题中的更新。