Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.                 section         .text
  2.  
  3.                 global          _start
  4.  
  5. _start:
  6.                 mov             rsi, buf
  7. read_again:
  8.                 xor             eax, eax
  9.                 xor             edi, edi
  10.                 mov             rdx, buf_size
  11.                 syscall
  12.  
  13.                 test            rax, rax
  14.                 jz              quit
  15.                 js              read_error
  16.                 mov             rdx, rax
  17.  
  18.  
  19.                 mov             rax, 1
  20.                 mov             rdi, 1
  21.                 mov             rsi, buf
  22.                 syscall
  23.                 jmp             read_again
  24.  
  25. quit:
  26.                 mov             rax, 60
  27.                 xor             rdi, rdi
  28.                 syscall
  29.  
  30. read_error:
  31.                 mov             eax, 1
  32.                 mov             edi, 2
  33.                 mov             rsi, read_error_msg
  34.                 mov             rdx, read_error_len
  35.                 syscall
  36.  
  37.                 mov             rax, 60
  38.                 mov             edi, 1
  39.                 syscall
  40.  
  41.                 section         .rodata
  42.  
  43. read_error_msg: db              "read falure", 0x0a
  44. read_error_len: equ             $ - read_error_msg
  45.  
  46.                 section         .bss
  47.  
  48. buf_size:       equ             8192
  49. buf             resb            buf_size
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement