環境はlinux(mint)です。
以下のプログラムのように
message db 'hello, world', 0x0a
を.textで定義するとアセンブルできるのですが、
実行すると
Segmentation fault
と表示されてしまいます。
なぜなのですか?
あと .textでも定義できるようになるにはどうしたらいいのですか。
よろしくおねがいします。
section .data ; データセクションの定義
section .text
global _start ; エントリーポイント
jmp _main ; ジャンプ
_start:
message db 'hello, world', 0x0a
mov edx, 13 ; スタックにバッファを設定
mov eax, 4 ; 出力(sys_write)
mov ebx, 1 ; ファイルハンドル(1=標準出力 > ディスプレィに表示)
_main:
mov ecx, message ; 文字列
int 0x80 ; システムコール,出力する
mov eax, 1 ; sys.exit
mov ebx, 0 ; 終了ステータスコード
int 0x80 ; システムコール,終了する