0
文字列を出力するCプログラムを呼び出す簡単なx64プログラムを作成しています。X64アセンブリ:シグナルSIGBUSで終了(アドレス不一致エラー)
.data
hello_world: .asciz "hello world!\n"
.globl _print_string
.globl _main
_main:
pushq %rbp
movq %rsp, %rbp
leaq hello_world(%rip), %rdi
callq _print_string
movq %rbp, %rsp
popq %rbp
Cプログラム:私は、Mac OS X
X64を使用しています
#include <stdio.h>
void
print_string(char *str)
{
printf("%s\n", str);
}
しかし、なぜ私はを取得シグナルSIGBUS(不整列アドレスエラー)で終了し './output' しています。誰でも私に説明してもらえますか?