summaryrefslogtreecommitdiffstats
path: root/libs/elfio/elf_examples/asm.s
blob: c9f5221278d25ffee64a187ae7b8e796e3f43c3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; nasm -f elf hello.asm		# this will produce hello.o ELF object file
; ld -s -o hello hello.o	# this will produce hello executable

section	.text
    global _start			;must be declared for linker (ld)

_start:					;tell linker entry point

	mov	edx,len	;message length
	mov	ecx,msg	;message to write
	mov	ebx,1	;file descriptor (stdout)
	mov	eax,4	;system call number (sys_write)
	int	0x80	;call kernel

	mov	eax,1	;system call number (sys_exit)
	int	0x80	;call kernel

section	.data

msg	db	'Hello, world!',0xa	;our dear string
len	equ	$ - msg			;length of our dear string

OpenPOWER on IntegriCloud