Assembly 创建的文件放在哪里?(AT&;T组件I/O)

Assembly 创建的文件放在哪里?(AT&;T组件I/O),assembly,file-io,x86-64,att,Assembly,File Io,X86 64,Att,我正在学习AT&T汇编创建文件。我运行了创建文本文件所需的代码,foo.txt,但我的系统中没有文件(或者至少查找程序找不到)。那么代码是否有问题,或者文件是否隐藏在某个地方 请注意,我的pwd是/Users/mac/Desktop,代码在/Users/mac/Desktop中 代码: 它是特定于操作系统的。在Linux和POSIX系统上,在当前工作目录中创建具有相对路径(如“foo.txt”)的文件。在Linux上,用于理解程序执行的系统调用。在MacOSX上,查看AMD64 ABI(包括其系

我正在学习AT&T汇编创建文件。我运行了创建文本文件所需的代码,
foo.txt
,但我的系统中没有文件(或者至少查找程序找不到)。那么代码是否有问题,或者文件是否隐藏在某个地方

请注意,我的
pwd
/Users/mac/Desktop
,代码在
/Users/mac/Desktop

代码:


它是特定于操作系统的。在Linux和POSIX系统上,在当前工作目录中创建具有相对路径(如“foo.txt”)的文件。在Linux上,用于理解程序执行的系统调用。在MacOSX上,查看AMD64 ABI(包括其系统调用)是否通过
RDI
/
RSI
而不是
RBX
/
RCX
@doynax传递参数,谢谢您的建议,但这没有用。@Moon Cheesez:这些似乎是Linux i386系统调用号和寄存器分配。你需要计算出OSX(或FreeBSD)的等价物。根据(尽管是NASM),Mac OSXIt的操作系统特定,使用
RDI/RSI
而不是
RBX/RCX
是正确的。在Linux和POSIX系统上,在当前工作目录中创建具有相对路径(如“foo.txt”)的文件。在Linux上,用于理解程序执行的系统调用。在MacOSX上,查看AMD64 ABI(包括其系统调用)是否通过
RDI
/
RSI
而不是
RBX
/
RCX
@doynax传递参数,谢谢您的建议,但这没有用。@Moon Cheesez:这些似乎是Linux i386系统调用号和寄存器分配。你需要计算出OSX(或FreeBSD)的等价物。根据(尽管是NASM),对于Mac OSX来说,
RDI/RSI
而不是
RBX/RCX
是正确的
.data
file_name:
    .asciz      "foo.txt"

.text

.globl _main
_main:
    pushq       %rbp
    movq        %rsp, %rbp

    movq        $8, %rax                # Set sys_create
    leaq        file_name(%rip), %rbx   # Set file name to f_name
    movq        $0777, %rcx             # Set file permissions
    syscall

    leave
    ret