【发布时间】:2015-05-07 07:35:15
【问题描述】:
我正在尝试在 64 位 GNU 中创建一个文件夹,如下所示:
.global main
.text
main:
movl $83, %edi # SYS_mkdir
movl $folder, %esi # folder_name
movl $0777, %edx # flags
call syscall
ret # exit
folder: .string "folder"
此代码有效,但我宁愿使用“int 0x80”调用来实现它,但我似乎无法让它工作,我已经尝试过这样的:
mov $83, %eax
mov $folder, %ebx
mov $0777, %ecx
syscall
但它不起作用,即使我使用 64 位寄存器。
另外我怎么能把这段代码翻译成 32 位? (最好使用 int 0x80)
【问题讨论】:
标签: assembly system-calls gnu-assembler