fork download
  1. section .data
  2. my_var dq 0x123456789ABCDEF0
  3. msg db "Value of my_var (lower byte): 0x", 0
  4. newline db 10
  5.  
  6. section .bss
  7. hex_digit resb 2
  8.  
  9. section .text
  10. global _start
  11.  
  12. _start:
  13.  
  14. mov rax, [my_var]
  15.  
  16.  
  17. add rax, 0x10
  18.  
  19.  
  20. mov [my_var], rax
  21.  
  22.  
  23. mov al, byte [my_var]
  24. and al, 0x0F
  25.  
  26. cmp al, 0x0A
  27. jl is_digit
  28. add al, 0x37
  29. jmp save_digit
  30.  
  31. is_digit:
  32. add al, 0x30
  33.  
  34. save_digit:
  35. mov [hex_digit], al
  36. mov byte [hex_digit+1], 0
  37.  
  38.  
  39. mov rax, 1
  40. mov rdi, 1
  41. mov rsi, msg
  42. mov rdx, 33
  43. syscall
  44.  
  45.  
  46. mov rax, 1
  47. mov rdi, 1
  48. mov rsi, hex_digit
  49. mov rdx, 1
  50. syscall
  51.  
  52.  
  53. mov rax, 1
  54. mov rdi, 1
  55. mov rsi, newline
  56. mov rdx, 1
  57. syscall
  58.  
  59.  
  60. mov rax, 60
  61. xor rdi, rdi
  62. syscall
  63.  
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Value of my_var (lower byte): 0x0