Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. .text
  2. .type check_tab ,@function
  3. .global check_tab
  4.  
  5.  
  6. check_tab:
  7. mov $0, %r8 #array counter
  8. mov $0, %r9 #value to get element of an array
  9. mov $0, %r10 #value to store tmp max element of an array
  10. mov $0, %rax
  11. mov $0, %r11 #value from getting array elements
  12. movl $8,(%rdx)
  13.  
  14.  
  15.  
  16. loopOverArray:
  17. cmp %r8, %rsi
  18. je prepareToLookingForMaximum
  19. mov (%rdi,%r8,4), %r9b
  20. movb array(, %r9, 1), %r11b
  21. inc %r11
  22. movb %r11b ,array(, %r9, 1)
  23. inc %r8
  24. mov $0,%r11
  25. jmp loopOverArray
  26.  
  27. prepareToLookingForMaximum:
  28. mov $63, %r8 #array counter
  29. mov $0, %r9 #value to get element of an array
  30. mov $0, %r10 #value for maximum
  31. mov $1, %r11 #tmp for binary shifts
  32. #mov $0, %rcx
  33.  
  34. lookingForMaximum:
  35. cmp $0, %r8
  36. je end
  37. mov array(,%r8,1), %r9b
  38. sub $1,%r8
  39. cmp $0, %r9b
  40. je lookingForMaximum
  41.  
  42. mov $1, %r11
  43. mov %r9, %r11
  44. shl $1, %r11
  45. OR %r11, %rax
  46. mov $1, %r11
  47.  
  48. cmp %r10, %r9
  49. jl lookingForMaximum
  50. mov %r9, %r10
  51. jmp lookingForMaximum
  52.  
  53. end:
  54. #movl %r10d,(%rdx)
  55. movl $6,(%rdx)
  56. ret
  57.  
  58. .data
  59. array:
  60. .byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement