3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NASMでファイル分割からのHello, World

Last updated at Posted at 2018-10-29

#環境

  • 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自作入門

3
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?