; helloWorld.asm
;
; Autor: Saulo José
; Data: 19/05/23
global _start
section .texto: ; -- Execução --
_start:
mov eax, 0x4 ; Vamos usar a syscall 'write', disponível
; no '/usr/include/asm/unistd_64.h'
mov ebx, 1 ; Usar o STDOUT como fd (file descriptor)
mov ecx, messagem ; Usar a mensagem como buffer
mov edx, tam_mes ; Obter o tamanho da mesnagem
int 0x80 ; Fazendo uma syscall com interrupt, não
; confundir com Inteiro
mov eax, 0x1 ; Realizando a syscall 'exit'
mov ebx, 0 ; Retornando 0
int 0x80 ; Executando a syscall
section .data: ; -- Declaração --
messagem: db "Hello World!", 0xa ; Variável string com '\n' no fim
tam_mes equ $-messagem ; Variável com o tamanho da mensagem (NASM)