;macro.asm %macro read 2 mov rax,0 ;read mov rdi,0 mov rsi,%1 mov rdx,%2 syscall %endmacro %macro print 2 mov rax,1 mov rdi,1 mov rsi,%1 mov rdx,%2 syscall %endmacro %macro fopen 1 mov rax,2 ;open mov rdi,%1 ;filename mov rsi,2 ;mode RW mov rdx,0777o ;File permissions(Read-4,Write-2,Execute-1) syscall %endmacro %macro fread 3 mov rax,0 ;read mov rdi,%1 ;filehandle mov rsi,%2 ;buf mov rdx,%3 ;buf_len syscall %endmacro %macro fwrite 3 mov rax,0 ;write mov rdi,%1 ;filehandle mov rsi,%2 ;buf mov rdx,%3 ;buf_len syscall %endmacro %macro fclose 1 mov rax,3 ;close mov rdi,%1;file handle syscall %endmacro %macro exit 0 print nline,nline_len mov rax,60 mov rdi,0 syscall %endmacro