我只是想通了这一点,但与其将我的新问题(“为什么?”)分成另一个问题,我认为最好将这个问题的解决方案和解释保持在同一页面上。
我正在编写一个基本的汇编程序,使用内核中断启动并立即退出int 0x80
。我当前的代码如下:
/* Simple exit via kern-interrupt */
.globl start
start:
pushl $0x0
movl $0x1, %eax
subl $4, %esp
int $0x80
组装在一起
as -arch i386 <file>.s
执行后我得到一个单行错误:
Illegal instruction
Illegal instruction
这很奇怪,即使没有任何说明,即使将所有内容都注释掉仍然会导致结果。linking
尽管没有其他文件可以链接,但我是否错过了一步?我是
编辑:请允许我重新表述我的问题,当没有图书馆或任何要链接的东西时,为什么需要链接?