我正在尝试使用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