【发布时间】:2019-07-31 12:51:05
【问题描述】:
尝试使用 AT&T 英特尔语法组装和运行 .s 文件时,我收到一条奇怪的错误消息。不确定我是否开始使用正确的架构,或者我是否有语法错误,如果我没有使用正确的命令来组装和链接等等。完全迷失了,我不知道从哪里开始.
所以基本上,我有一个名为 yea.s 的文件,其中包含一些简单的汇编指令。然后我尝试使用命令as yea.s -o yea.o 编译它,然后链接使用ld yea.o -o yea。运行 ld 时,我收到一条奇怪的消息:ld: warning: cannot find entry symbol _start; defaulting to 000000440000。
这是我试图运行的程序,非常简单,并没有真正做任何事情。
resMsg: .asciz "xxxxxxxx"
.text
.global main
main:
pushq $0
ret
我只是不知道发生了什么。显然,这是为了学校作业。显然,我不是在寻找作业的答案,但这是我可以实际开始编码的起点。而且我只是不知道如何简单地运行程序,它在作业中没有说。无论如何,提前谢谢你们!
【问题讨论】:
标签: linux assembly compilation intel