Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #program za brojanje reci koje imaju manje od 5 slova i za ispis rezultata
- #1.treba da se unese string
- #2. petlja za brojanje reci
- #3. broj reci konvertovati u string
- #4. ispis stringa
- .section .data
- unesi_str: .ascii "Unesite string:\n \0"
- unesi_str_len =.-unesi_str
- rezultat_je: .ascii "Rezultat je:\n \0"
- rezultat_je_len =.-rezultat_je
- string_max = 100
- string: .fill string_max, 1, 0
- string_len : .long 0
- string_rez_max = 4
- string_rez: .fill string_rez_max, 1, 0
- rez: .long 0
- .section .text
- .global main
- main:
- movl $4, %eax #ispisi "unesite string"
- movl $1, %ebx
- leal unesi_str, %ecx
- movl $unesi_str_len, %edx
- int $0x80
- movl $3, %eax #uneti string na kome vrsimo brojanje
- movl $0, %ebx
- leal string, %ecx
- movl $string_max, %edx
- int $0x80
- testl %eax, %eax
- jz greska
- subl $1, %eax
- movl %eax, string_len
- leal string, %ebx
- xorl %edx, %edx #brojac]
- xorl %esi, %esi #brojac reci sa manje od 5 slova
- petlja:
- incl %edx
- movb (%ebx), %cl
- cmpb $0, %cl
- je kraj_provera
- cmpb $' ', %cl
- je ponovo_provera
- incl %ebx
- jmp petlja
- ponovo_provera:
- cmpl $6, %edx
- jae ponovo_petlja
- incl %esi
- ponovo_petlja:
- incl %ebx
- xorl %edx, %edx
- jmp petlja
- kraj_provera:
- cmpl $7, %edx
- jae kraj_petlje
- incl %esi
- kraj_petlje: #broj reci je u promenljivoj rez
- movl %esi, rez
- pushl $string_rez
- pushl %esi
- call konverzija
- addl $8, %esp
- movl $4, %eax #ispis "rezultat je:"
- movl $1, %ebx
- leal rezultat_je, %ecx
- movl $rezultat_je_len, %edx
- int $0x80
- movl $4, %eax
- movl $1, %ebx
- leal string_rez, %ecx
- movl $2, %edx
- #print_find:
- # cmpb $0, (%ecx, %edx, 1)
- # je print_kraj
- # incl %edx
- # jmp print_find
- #print_kraj:
- int $0x80
- greska:
- kraj:
- movl $1, %eax
- int $0x80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement