我正在尝试使用 JWasm 编译器在 Linux 中运行以下汇编代码。但是对于所有命令,它说,找不到命令。为什么?并在以“;”开头的行中返回错误。它是一种评论行吗?我可以删除这条线吗?谢谢。
;--- "hello world" for 64-bit Linux, using SYSCALL.
;--- assemble: JWasm -elf64 -Fo=Lin64_1.o Lin64_1.asm
;--- link: gcc Lin64_1.o -o Lin64_1
stdout equ 1
SYS_WRITE equ 1
SYS_EXIT equ 60
.data
string db 10,"Hello, world!",10
.code
_start:
mov edx, sizeof string
mov rsi, offset string
mov edi, stdout
mov eax, SYS_WRITE
syscall
mov eax, SYS_EXIT
syscall
end _start
最佳答案
我不熟悉 JWasm,但通常未缩进的条目是汇编指令而不是指令。
您想为任何实际的汇编器指令(CPU 将运行的东西)放置一个(空格/制表符),而不是汇编器指令(汇编器用来帮助您的东西)
关于linux - 汇编代码在 Linux 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4228470/