segment .data
a dd 4
b dd 4.4
c times 10 dd 0
d dw 1, 2
e db 0xfb
f db "hello world", 0
segment .bss
g resd 1
h resd 10
i resb 100
section .text
global main ; let the linker know about main
main:
push rbp ; set up a strack frame for main
mov rbp, rsp ; let rbp point to the previous ssp
sub rsp, 16 ; leave some room for local variables
; and align stack to 16 byte boundary
xor eax, eax ; set rax to 0 for return value
leave ; undo the stack manipulations
ret