【发布时间】:2013-02-15 19:11:20
【问题描述】:
我找到了“hello world”并写了它。 纳米你好.s
这段代码
.data
msg:
.string "Hello, world!\n"
len = . - msg
.text
global _start
_start:
movl $len,%edx
movl $msg,%ecx
movl $1,%ebx
movl $4,%eax
int $0x80
movl $0,%ebx
movl $1,%eax
int $0x80
我已经完成了as -o hello.o hello.s
我报错了
hello.s:6: Error: no such instruction: global _start
delete global _start.
我已经完成了
ld -s -o hello.o hello*
error
ld: hello: No such file: No such file or directory
我错在哪里了?
p/s debian, amd64.
【问题讨论】:
-
很难说出你在问什么。当您收到有关“global _start”的错误时,您确实运行了汇编程序。您应该查看汇编程序的手册,看看该行有什么问题。也许它不应该有空格或者全局需要一个
"。"在前面。 -
也使用
gcc编译器,并查看其生成的汇编代码,例如gcc -Wall -fverbose-asm -O -S file.c然后看看file.s
标签: linux assembly x86-64 gnu-assembler