Я недавно начал читать Programing From The Ground Up (PDF), но в первой программе я столкнулся с проблемой. Программа очень проста:
.section .data
.section .text
.globl _start
_start:
movl $1, %eax
movl $0, %ebx
int $0x80
Но в компиляции и запуска я получаю ошибку Illegal Instruction: 4
. Я отредактировал программу так, чтобы она правильно скомпилировалась (удалил два .section
s и изменил _start
на _main
), чтобы это могло повлиять на нее.
Я использую набор инструкций x86_64 (процессор Intel).
Этот код отлично подходит для меня (в Linux). На какой ОС вы работаете? Хотя, почему вы называете «fork» (2) syscall? Может быть, вам нужен «exit» syscall (1)? – kharvd
А, это была опечатка. Im на Mac OS 10.7. Изменение его на 1 не помогло. Как вы компилируете? Я только что использовал 'gcc'. – Jumhyn
, как start.s -o начинают – kharvd