Advertisement
lukicdarkoo

Palindrom recenica

Apr 13th, 2014
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .section .data
  2.     recenica: .ascii "Ana voli Milovana.\0"
  3.     str_len = . - recenica
  4.  
  5. .section .text
  6. .global main
  7.  
  8.  
  9. main:
  10.     #smanjujem
  11.     movl $0, %esi  
  12.    
  13.     whileMala:
  14.     cmpl $str_len, %esi
  15.     je whileMalaKraj
  16.         cmpb $'A', recenica(, %esi, 1)
  17.         jl whileMalaBrojac
  18.         cmpb $'Z', recenica(, %esi, 1)
  19.         jg whileMalaBrojac
  20.  
  21.         addb $32, recenica(, %esi, 1)
  22.  
  23.     whileMalaBrojac:
  24.     incl %esi
  25.     jmp whileMala
  26.     whileMalaKraj:
  27.  
  28.  
  29.     #izbacujem
  30.     movl $0, %esi  
  31.    
  32.     whileUljezi:
  33.     cmpl $str_len, %esi
  34.     je whileUljeziKraj
  35.         cmpb $0, recenica(, %esi, 1)
  36.         je whileUljeziBrojac
  37.  
  38.         cmpb $'a', recenica(, %esi, 1)
  39.         jl whileIzbaciUljeza
  40.         cmpb $'z', recenica(, %esi, 1)
  41.         jg whileIzbaciUljeza
  42.  
  43.         jmp whileUljeziBrojac
  44.         whileIzbaciUljeza:
  45.             movl %esi, %edi
  46.             incl %edi
  47.  
  48.             movb $1, %al
  49.             whileUljeziP:
  50.             cmpb $0, %al
  51.             je whileUljeziPKraj
  52.  
  53.                 movb recenica(, %edi, 1), %al
  54.                 decl %edi
  55.                 movb %al, recenica(, %edi, 1)
  56.                 addl $2, %edi
  57.  
  58.             jmp whileUljeziP
  59.             whileUljeziPKraj:
  60.            
  61.     whileUljeziBrojac:
  62.     incl %esi
  63.     jmp whileUljezi
  64.     whileUljeziKraj:
  65.  
  66.  
  67.     #brojim karaktere
  68.     movl $0, %edi
  69.     movb $1, %al
  70.     whileKarakteri:
  71.     cmpb $0, %al
  72.     je whileKarakteriKraj
  73.         incl %edi
  74.         movb recenica(, %edi, 1), %al
  75.     jmp whileKarakteri
  76.     whileKarakteriKraj:
  77.  
  78.  
  79.     #provjerava palindrom
  80.     movl $1, %ebx
  81.  
  82.     movl $0, %esi
  83.     decl %edi
  84.    
  85.     whilePalindrom:
  86.     cmpl %edi, %esi
  87.     jge kraj
  88.         movb recenica(, %edi, 1), %al
  89.         cmpb %al, recenica(, %esi, 1)
  90.         jne nijePalindrom
  91.  
  92.         decl %edi
  93.         incl %esi
  94.     jmp whilePalindrom
  95.    
  96.  
  97.     nijePalindrom:
  98.         movl $0, %ebx
  99.     jmp kraj   
  100.  
  101.  
  102. kraj:
  103.     movl $1, %eax
  104.     movl $0, %ebx
  105.     int $0x80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement