私はアセンブリが初めてで、このハローワールドプログラムを機能させようとしています:
.data
msg:
.ascii "Hello, world!\n"
len = . - msg
.text
.globl start
start:
movl $len,%edx
movl $msg,%ecx
movl $1,%ebx
movl $4,%eax
int $0x80
movl $0,%ebx
movl $1,%eax
int $0x80
私はそれをMacでコンパイルします:
as -o program.o program.s
そして、それを次のようにリンクします。
ld -o program program.o
どちらも完全に機能しますが、生成されたプログラムを実行するとエラーが発生します。
Illegal instruction: 4
誰かがこれを修正する方法を教えてください。