-
Notifications
You must be signed in to change notification settings - Fork 0
/
init.asm
18 lines (18 loc) · 946 Bytes
/
init.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
section .data ;section declaration
msg db "Holax, sekai!",0xA ;our dear string
len equ $ - msg ;length of our dear string
section .text ;section declaration
;we must export the entry point to the ELF linker or
global _start ;loader. They conventionally recognize _start as their
;entry point. Use ld -e foo to override the default.
_start:
;write our string to stdout
mov eax,4 ;system call number (sys_write)
mov ebx,1 ;first argument: file handle (stdout)
mov ecx,msg ;second argument: pointer to message to write
mov edx,len ;third argument: message length
int 0x80 ;call kernel
;and exit
mov eax,1 ;system call number (sys_exit)
xor ebx,ebx ;first syscall argument: exit code
int 0x80 ;call kernel