アセンブリプログラミングに不慣れで、画面に文字を印刷するのに問題があります。プログラムを実行するたびにセグメンテーション違反が発生し、その理由がわかりません。
.section .data
A:
.long 65 # ascii code for 'A'
.section .text
.globl _start
_start:
movl $1, %edx # length of character to print, 1
movl A, %ecx # what I want printed
movl $1, %ebx # file descriptor for STDOUT
movl $4, %eax # syscall number for sys_write
int $0x80 # calls kernel
movl $0, %ebx # return status
movl $1, %eax # syscall number for sys_exit
int $0x80 # calls kernel
これらは私がビルドするために使用するコマンドです (私のファイルの名前はwrite.sです)
as write.s -o write.o
ld write.o -o write
これは文字を印刷する正しい方法ではありませんか?どんな助けでもいただければ幸いです。