Advertisement
Guest User

śmierć kurwom i frajerom

a guest
Jun 23rd, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 1.11 KB | None | 0 0
  1. .type encode, @function
  2. .global encode
  3. .text
  4.  
  5. # rax
  6.  
  7. # rdi
  8. # rsi --maska
  9. # rdx
  10. # rcx
  11. # r8 - mask counter
  12. # r9
  13. # r10 - temporary mask
  14. # r11 - licznik stosu
  15.  
  16. encode:
  17.     cmp $0, %rdx
  18.     je op0
  19.  
  20.     cmp $1, %rdx
  21.     je op1
  22.  
  23. op0:
  24.     mov %rdi, %rax
  25.     jmp end
  26.  
  27. op1:
  28.     mov $0, %r8
  29.     mov $0, %r10
  30.     mov $0, %r11
  31.     mov $0, %r9
  32.     jmp loop1
  33.  
  34. loop1:
  35.     cmp $10, %r8
  36.     je popfromstack
  37.  
  38.     mov %rsi, %r10
  39.     and $1, %r10
  40.     cmp $1, %r10b
  41.     je pushonstack
  42.  
  43.     shr %rsi
  44.     inc %r8
  45.     jmp loop1
  46.  
  47. pushonstack:
  48.     push %r8
  49.     shr %rsi
  50.     inc %r8
  51.     inc %r11
  52.     jmp loop1
  53.  
  54. popfromstack:
  55.     mov $0, %r8
  56.     mov $0, %r10
  57.     cmp $0, %r11
  58.     je end
  59.     dec %r11
  60.     pop %r9
  61.     add $48, %r9
  62.     jmp loop2
  63.  
  64. loop2:
  65.     cmp $0, (%rdi,%r10,1)
  66.     je end # cntloop2
  67.     cmp %r9b, (%rdi,%r10,1)
  68.     jne putchar
  69.     inc %r10
  70.     jmp loop2
  71.  
  72. putchar:
  73.     mov (%rdi,%r10,1), %rcx
  74.     mov %rcx ,(%rax,%r8,1)
  75.     inc %r8
  76.     inc %r10
  77.     jmp loop2
  78.  
  79. cntloop2:
  80.     mov %rax, %rdi
  81.     mov $0, %rax
  82.     jmp popfromstack
  83.  
  84. end:
  85.     mov %rdi, %rax
  86.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement