Advertisement
Guest User

rima

a guest
Mar 21st, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .section .data
  2. poruka1: .ascii "Unesite proizvoljnu recenicu: \0"
  3. por1_len=.-poruka1
  4.  
  5. poruka2: .ascii "Rimuju se :D \0"
  6. por2_len=.-poruka2
  7.  
  8. poruka3: .ascii "Nema rime :( \0"
  9. por3_len=.-poruka3
  10.  
  11. MAX=100
  12. prijem1: .fill MAX,1,42
  13. duzina1: .long 0
  14.  
  15. prijem2: .fill MAX,1,42
  16. duzina2: .long 0
  17.  
  18. indikatorRime: .long 0                      #kad se poklope zadnja 3 slova u obe recenice
  19.                                            #onda cemo ga aktivirati
  20. indikatorPoklapanja: .long 0                #njega cemo aktivirati ako se poklapaju zadnje reci
  21. .section .text
  22.  
  23. .globl main
  24. main:
  25.    
  26.  
  27.     movl $4,%eax                            #unosenje prve recenice
  28.     movl $1,%ebx
  29.     leal poruka1,%ecx
  30.     movl $por1_len,%edx
  31.     int $0x80
  32.    
  33.     movl $3,%eax
  34.     movl $0,%ebx
  35.     leal prijem1,%ecx
  36.     movl $MAX,%edx
  37.     int $0x80
  38.     movl %eax,duzina1
  39.    
  40.     movl $4,%eax                            #UNOSENJE DRUGE recenice
  41.     movl $1,%ebx
  42.     leal poruka1,%ecx
  43.     movl $por1_len,%edx
  44.     int $0x80
  45.    
  46.     movl $3,%eax
  47.     movl $0,%ebx
  48.     leal prijem2,%ecx
  49.     movl $MAX,%edx
  50.     int $0x80
  51.     movl %eax,duzina2
  52.    
  53.     leal prijem1,%esi
  54.     leal prijem2,%edi                       #pokazivaci na nase primljene nizove
  55.    
  56.    
  57.    
  58. krajRecenice1:
  59.     cmpb $10,(%esi)
  60.     jne dalje
  61.    #NASLI SMO KRAJ PRVE RECENICE
  62.     jmp krajRecenice2
  63.    
  64. dalje:
  65.     incl %esi
  66.    
  67.     movl duzina1,%edx                        #provera da li smo zavrsili sa unetom recenicom
  68.     addl $prijem1,%edx                       #ovako u edx dobijemo adresu poslednjeg elementa
  69.     cmpl %edx,%esi
  70.     jl krajRecenice1
  71.  
  72.    
  73. krajRecenice2:
  74.     cmpb $10,(%edi)
  75.     jne dalje2
  76.    #NASLI SMO KRAJ I DRUGE RECENICE
  77.     jmp poredjenje
  78.    
  79. dalje2:
  80.     incl %edi
  81.    
  82.     movl duzina2,%edx                        #provera da li smo zavrsili sa unetom recenicom
  83.     addl $prijem2,%edx                       #ovako u edx dobijemo adresu poslednjeg elementa
  84.     cmpl %edx,%edi
  85.     jl krajRecenice2
  86.  
  87. poredjenje:                                 #idemo od kraja reci i poredimo ig
  88.     decl %edi
  89.     decl %esi
  90.     cmpl $' ',%esi
  91.     je nemaRime
  92.    
  93.     movb (%esi),%al                          #u al sadrzaj pokazivaca jer ne moze
  94.                                            #cmpl (%esi),(%edi)
  95.     cmpb (%edi),%al
  96.     jne nemaRime
  97.    #JEDNAKI SU KORESPODENTNI ELEMENTI
  98.     incl indikatorRime
  99.     cmpl $3,indikatorRime
  100.     je rimujuSe
  101.     jmp poredjenje
  102.    
  103. nemaRime:
  104.     movl $4,%eax
  105.     movl $1,%ebx
  106.     leal poruka3,%ecx
  107.     movl $por3_len,%edx
  108.     int $0x80
  109.     jmp kraj
  110.  
  111.  
  112. rimujuSe:
  113.     movl $4,%eax
  114.     movl $1,%ebx
  115.     leal poruka2,%ecx
  116.     movl $por2_len,%edx
  117.     int $0x80
  118.    
  119. kraj:
  120.     movl $1,%eax
  121.     movl $0,%ebx                        
  122.     int $0x80
  123.  
  124.  
  125.  
  126. #Unesu se 2 recenice,proveriti da li se rimuju(rimuju se ako imaju ista 3 poslednja slova
  127. #ispisati da li se rimuju ili ne
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement