文件创建权限问题汇编语言

时间:2019-04-10 06:17:43

标签: assembly x86-64 nasm

我正在尝试使用x86_64 Linux汇编代码中的某些文件操作系统调用来创建文件,但是我无法正确获得权限。我正在尝试将权限0777设置为每个人都可以读写和执行,但是我在文件上获得的权限对于所有者,组和其他人是None。

我想念什么?

我正在使用的汇编程序是nasm。

%macro print 2
mov rax,1
mov rdi,0
mov rsi,%1
mov rdx,%2
syscall
%endmacro


section .data
    errmsg db "Incorrect argument count",10
    errmsglen equ $-errmsg

section .bss
    temp resb 8
    sourcefile resb 8

global _start

section .text

_start:
    pop rdx

    cmp rdx, 03h
    jne error

menu:

;------------Extract filename-------------

    pop rdx
    pop rdx

    mov rsi, sourcefile
    mov rax, [rdx]
    mov [rsi], rax

;------------Open File---------

    mov rax,85
    mov rdi,sourcefile
    mov rsi,2
    mov rdx,0777
    syscall

    jmp exit

error:
    print errmsg,errmsglen
    jmp exit

exit:
    mov rax,60
    mov rdi,0
    syscall

1 个答案:

答案 0 :(得分:2)

前导0表示以八进制表示的八进制。使用0o777或777o。

GitHub's Blogdown site