命令に関する章であるアセンブリ言語に関する本を読みました。指示の mov を実行していることは理解できますが、結果を確認して表示する方法がわかりません。こんにちは世界を書きました。
.global _start
.data
some_var:
.long 0x000721
.text
_start:
mov $1, %rax # system call 1 is write
mov $1, %rdi # file handle 1 is stdout
# mov $message, %rsi # address of string to output
mov $0x1, %rsi
mov $2, %rdx # number of bytes
syscall # invoke operating system to do the write
# exit(0)
mov $60, %rax # system call 60 is exit
xor %rdi, %rdi # we want return code 0
syscall # invoke operating system to exit
message:
.ascii "Hello, Universe)\n"
しかし、なぜそれが機能しないのですか。メモリとレジスタの値を確認するにはどうすればよいですか?
os: Linux (デビアン). インテル 64 ビット