汇编程序代码在Linux上不起作用

时间:2010-11-19 19:07:00

标签: linux assembly

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

2 个答案:

答案 0 :(得分:1)

我对JWasm不熟悉,但通常非缩进的条目是汇编程序指令而不是指令。

你想为任何实际的汇编程序指令(CPU运行的东西)放置一个(空格/制表符),而不是汇编程序指令(汇编程序用来帮助你的东西)

答案 1 :(得分:0)

通常表示大多数组装中的注释,奇怪的是JWasm不能识别这样的线条。尝试删除它们。