tutoriais assemblyhello.asm
section .data
	hello:     db 'Hello world!',10    ; 'Hello world!' plus a linefeed character
	helloLen:  equ $-hello             ; Length of the 'Hello world!' string
	                                   ; (I'll explain soon)
section .text
	global _start
_start:
	mov eax,4            ; The system call for write (sys_write)
	mov ebx,1            ; File descriptor 1 - standard output
	mov ecx,hello        ; Put the offset of hello in ecx
	mov edx,helloLen     ; helloLen is a constant, so we don't need to say
	                     ;  mov edx,[helloLen] to get it's actual value
	int 80h              ; Call the kernel
	mov eax,1            ; The system call for exit (sys_exit)
	mov ebx,0            ; Exit with return code of 0 (no error)
	int 80h
compile on x64
$ nasm -f elf64 hello.asm
$ ld -s -o hello hello.o
$ ./hello
compile on i386
$ nasm -f elf hello.asm
$ ld -s -o hello hello.o
$ ./hello
metadata={"id": 111, "createdAt": "2019-08-04 19:14:44.66927", "updatedAt": "2019-08-04 19:14:44.669334"}