我写了一个非常简单的汇编程序(x64,linux),它从 /etc/passwd 读取内容(从哪里并不重要)并将其写入标准输出。我用 nasm ( ) 编译它nasm -f elf64 foo.asm -o bar
。我收到以下错误:./bar: 24: Syntax error: EOF in backquote substitution
这是我的代码:
global _start
section .data
fn: db '/etc/passwd',0
section .bss
section .text
_start:
; open the file
xor rax,rax
add al, 2
lea rdi, [fn]
xor rsi, rsi
syscall
; read the file, use some area
; in the stack to store the contents
mov rdi, rax
sub sp, 0xfff
lea rsi, [rsp]
xor rdx, rdx
mov dx, 0x200
xor rax, rax
syscall
; write to stdout
xor rdi, rdi
add dil, 1
mov rdx, rax
xor rax, rax
add al,1
syscall
; exit
xor rax,rax
add al, 60
syscall
是否也可以获得有关错误的更多信息?该程序编译在 nasm 中没有错误。谢谢 :)!