58 lines
699 B
NASM
58 lines
699 B
NASM
|
;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
|
||
|
|
||
|
|
||
|
|