Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #proveriti da li je uneti string palindrom
  2.  
  3. .section .data
  4. poruka: .ascii "Unesite string:\0"
  5. len1 = . - poruka
  6. nijep: .ascii "String nije palindrom.\n\0"
  7. len2 = . - nijep
  8. jestep: .ascii "String jeste palindrom.\n\0"
  9. len3 = . - jestep
  10. unos: .fill 50, 1, 42
  11.  
  12. .section .text
  13.  
  14. .globl main
  15.  
  16. main:
  17. movl $4, %eax #sistemski poziv za ispis poruke: "unesite string"
  18. movl $1, %ebx
  19. leal poruka, %ecx
  20. movl $len1, %edx
  21. int $0x80
  22.  
  23. movl $3, %eax #sistemski poziv za unos
  24. movl $0, %ebx
  25. leal unos, %ecx
  26. movl $50, %edx
  27. int $0x80
  28. movl %eax, %edi #sada %edi sadrzi broj procitanih bajtova
  29.  
  30. subl $1, %edi #edi sadrzi najveci indeks u stringu
  31. movl $unos, %eax #adresa stringa, tj. prvog karaktera u %eax
  32. movl %eax, %ebx
  33. addl %edi, %ebx #adrsea poslednjeg akraktera u %ebx
  34.  
  35.  
  36. petlja:
  37. movb (%eax), %cl
  38. movb (%ebx), %dl
  39. cmpb %cl, %dl
  40. jne nije
  41. addl $1, %eax
  42. subl $1, %ebx
  43. cmpl %eax, %ebx
  44. ja petlja #skoci ako je %ebx > %eax
  45. jmp jeste
  46. nije:
  47. movl $4, %eax #sistemski poziv za ispis poruke: "string nije palindrom"
  48. movl $1, %ebx
  49. leal nijep, %ecx
  50. movl $len2, %edx
  51. int $0x80
  52. jmp kraj
  53. jeste:
  54. movl $4, %eax #sistemski poziv za ispis poruke: "string jeste palindrom"
  55. movl $1, %ebx
  56. leal jestep, %ecx
  57. movl $len3, %edx
  58. int $0x80
  59. kraj:
  60. movl $1, %eax
  61. movl $0, %ebx
  62. int $0x80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement