#環境
- OS : Ubuntu 18.04
- アセンブラ : nasm 2.13.02
- リンカ : ld 2.30
#ソースプログラム
main.asm
extern hello
extern end
global _start
[section .text]
_start:
call hello
call end
function.asm
global hello
global end
[section .data]
string1: db "Hello, World", 0x0a
length1: equ $ - string1
[section .text]
hello:
mov rax, 1
mov rdi, 1
mov rsi, string1
mov rdx, length1
syscall
ret
end:
mov rax, 60
mov rdi, 0
syscall
#コマンド
nasm -felf64 main.asm -o main.obj
nasm -felf64 function.asm -o function.obj
ld -o exe main.obj function.obj
./exe
#最後に
記事の最初に書くべきなのでしょうが一応書いておきます。
「実行等は自己責任でお願いします。」
下の書籍は私が読んでいていいなと思ったものです。
ただ、30日でできるOS自作入門は、やっていることはすごいのですが、説明と開発環境がいまいちだと感じました。
あとセンター試験まで少ししかないので発狂しました。
#おすすめの本
低レベルプログラミング
30日でできるOS自作入門