[assembler] 64bit アセンブラで Hello World! こっちかな
どうやら 64bit だとシステムコールに syscall を使い、システムコールの番号も使うレジスタも違うみたい。
http://www.milw0rm.com/papers/110
;; -*- mode: asm; coding: utf-8; -*-
;; nasm -f elf64 nasm.asm
;; ld -s -o nasm nasm.o
;; ./nasm
section .text
global _start
_start:
mov rax, 1 ; 出力システムコール
mov rdi, 1 ; 標準出力
mov rsi, msg ; 文字列のアドレス
mov rdx, len ; 文字列の長さ
syscall ; システムコール実行
mov rax, 60 ; exit システムコール
mov rdi, 0 ; exit コード
syscall ; システムコール実行
section .data
msg db 'Hello World!', 0ah, 'まみむめも♪', 0ah
len equ $ -msg
0 件のコメント:
コメントを投稿