Advertisement
Guest User

Untitled

a guest
Apr 2nd, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. bits 64
  2.  
  3. section .data
  4.  
  5.  
  6. section .text
  7. global to_hexa
  8. to_hexa:
  9. enter 0,0
  10.  
  11. mov rcx, 0
  12. mov rax, 0
  13. mov r9, rdi
  14. mov r10, 7
  15. mov r11,0
  16. .back:
  17. cmp qword rcx, 8
  18. je .end
  19.  
  20. mov r8, r9
  21. and r8, 0b1111
  22. cmp qword r8, 15
  23. je .F
  24. mov byte al, [rdx + r8]
  25. mov [rsi + r10], al
  26. jmp .continue
  27.  
  28. .F:
  29. mov byte al, [rdx + r8]
  30. mov [rsi + r10], al
  31. inc r11
  32.  
  33. .continue:
  34. shr r9, 4
  35. inc rcx
  36. dec r10
  37. jmp .back
  38. .end:
  39. mov rax, r11
  40. leave
  41. ret
  42.  
  43.  
  44. global turtle ;int turtle(char* cmds, int32_t start[2], int32_t end[2])
  45. turtle:
  46. enter 0,0
  47.  
  48. mov r8, 0
  49. mov eax, [rsi]
  50. mov ecx, [rsi + 1 * 4]
  51. .back:
  52. cmp byte[rdi + r8], 0
  53. je .end
  54. cmp byte[rdi + r8], 'U'
  55. je .u
  56. cmp byte[rdi + r8], 'D'
  57. je .d
  58. cmp byte[rdi + r8], 'L'
  59. je .l
  60. cmp byte[rdi + r8], 'R'
  61. je .r
  62. inc r8
  63. jmp .continue
  64.  
  65. .u:
  66. inc ecx
  67. inc r8
  68. jmp .continue
  69.  
  70. .d:
  71. dec ecx
  72. inc r8
  73. jmp .continue
  74.  
  75. .l:
  76. dec eax
  77. inc r8
  78. jmp .continue
  79.  
  80. .r:
  81. inc eax
  82. inc r8
  83. jmp .continue
  84.  
  85.  
  86. .continue:
  87. jmp .back
  88. .end:
  89. mov [rdx], eax
  90. mov [rdx + 1 * 4], ecx
  91. mov rax, r8
  92. leave
  93. ret
  94.  
  95. global convert
  96. convert:
  97. enter 0,0
  98.  
  99. mov rcx, 0
  100. mov r10, 1
  101. mov r9, 0
  102. .back:
  103. cmp rcx, rdx
  104. je .end
  105.  
  106. mov r8,[rdi + rcx * 4]
  107. and r8, 0xFFFF0000
  108. shr r8, 16
  109. mov [rsi + r9 * 2], r8
  110. mov r8, [rdi + rcx * 4]
  111. and r8, 0xFFFF
  112. mov [rsi + r10 * 2], r8
  113.  
  114. inc rcx
  115. add r9, 2
  116. add r10, 2
  117. jmp .back
  118.  
  119. .end:
  120. leave
  121. ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement