bits 64
; The program description - in assembly it's always good to have one here.
; build/run me with:
;   nasm -felf64 -l PROGRAM.lst PROGRAM.asm; gcc -no-pie -o PROGRAM PROGRAM.o; ./PROGRAM 
; substituting PROGRAM with the file name

          global    main
          extern    printf
          section   .text
main:

        push rbp
        mov rbp, rsp  ; we should prepare the stack first
        
        
          ; code goes here


          ; exit routine
          mov       rax, 60                 ; system call for exit
          xor       rdi, rdi                ; exit code 0
          syscall                           ; system call to exit



          section   .data
          ; define constants here

          section   .bss
          ; define uninitialized variables here


