Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #palindrom
- #vnsdnvs
- .section .data
- poruka: .ascii "Unesite string:\0"
- poruka_len = . - poruka
- nijep: .ascii "String nije palindrom.\n\0"
- nijep_len = . - nijep
- jestep: .ascii "String je palindrom.\n\0"
- jestep_len = . - jestep
- unos: .fill 50,1,42
- unos_len: .long 51
- brojac: .long 0
- .section .text
- .globl main
- main:
- #upis
- movl $4, %eax
- movl $1, %ebx
- movl $poruka, %ecx
- movl $poruka_len, %edx
- int $0x80
- movl $3, %eax
- movl $0, %ebx
- movl $unos, %ecx
- movl unos_len, %edx
- int $0x80
- movl %eax, unos_len
- #movl unos, %eax
- movl $0, %esi
- slovo_zameni:
- movb unos(,%esi,1), %al
- cmpb $10, %al
- je pred_izbaci
- cmpb $'A' , %al
- jb dalje_slovo
- cmpb $'Z' , %al
- jbe menjaj
- incl %esi
- jmp slovo_zameni
- #AnA Voli MilOvana
- menjaj:
- addl $32, unos(,%esi,1)
- incl %esi
- jmp slovo_zameni
- dalje_slovo:
- incl %esi
- jmp slovo_zameni
- #####################################
- pred_izbaci:
- movl $0, %esi
- izbaci:
- movb unos(,%esi,1), %al
- cmpb $10, %al
- je pred_petlja
- cmpb $32 , %al
- je smena1
- incl %esi
- jmp izbaci
- smena1:
- incl brojac
- movl %esi, %edi
- smena:
- movb unos(,%edi,1), %al
- cmpb $10, %al
- je dalje
- movb unos+1(,%edi,1), %al
- movb %al, unos(,%edi,1)
- incl %edi
- jmp smena
- dalje:
- jmp izbaci
- ###################################################
- pred_petlja:
- movl $0, %esi
- movl brojac, %ecx
- subl %ecx, unos_len
- movl unos_len, %edi
- petlja :
- cmpl %esi, %edi
- jbe ispis2
- movb unos(,%esi,1), %al
- movb unos-2(,%edi,1), %bl
- cmpb %al, %bl
- jne ispis
- je prebaci
- prebaci:
- incl %esi
- decl %edi
- jmp petlja
- ispis2:
- movl $4, %eax
- movl $1, %ebx
- movl $jestep, %ecx
- movl $jestep_len, %edx
- int $0x80
- jmp kraj
- ispis:
- #prezime
- movl $4, %eax
- movl $1, %ebx
- movl $nijep, %ecx
- movl $nijep_len, %edx
- int $0x80
- #####
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- --------------------------------------------------------------------------------------------------------------
- #nizovi
- .section .data
- BREL = 10
- niz1: .long 1,2,3,4,5,6,7,8,9,10
- niz2: .long 1,2,3,4,5,6,7,8,9,10
- nizRez: .fill BREL, 4
- nisuSviPozitivni: .ascii "Nisu svi brojevi rezultujuceg niza pozitivni.\n\0"
- nisuSviPozitivni_len=.-nisuSviPozitivni
- sviPozitivni: .ascii "Svi brojevi rezultujuceg niza su pozitivni.\n\0"
- sviPozitivni_len=.-sviPozitivni
- .section .text
- .globl main
- main:
- movl $0, %esi
- dva:
- cmpl $10, %esi
- je pred_proveri
- movl niz1(,%esi,4), %eax
- addl niz2(,%esi,4), %eax
- movl %eax, nizRez(,%esi,4)
- incl %esi
- cmpl $10, %esi
- je pred_proveri
- movl niz1(,%esi,4), %eax
- addl niz2(,%esi,4), %eax
- movl %eax, nizRez(,%esi,4)
- incl %esi
- treci:
- cmpl $10, %esi
- je pred_proveri
- movl niz1(,%esi,4), %eax
- subl niz2(,%esi,4), %eax
- movl %eax, nizRez(,%esi,4)
- incl %esi
- jmp dva
- pred_proveri:
- movl $0, %esi
- proveri:
- cmpl $10,%esi
- je ispis1
- cmpl $0, nizRez(,%esi,4)
- jle ispis2
- incl %esi
- jmp proveri
- ispis1:
- movl $4, %eax
- movl $1, %ebx
- movl $sviPozitivni, %ecx
- movl $sviPozitivni_len, %edx
- int $0x80
- jmp kraj
- ispis2:
- movl $4, %eax
- movl $1, %ebx
- movl $nisuSviPozitivni, %ecx
- movl $nisuSviPozitivni_len, %edx
- int $0x80
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- ------------------------------------------------------------------------------------------------------------
- #slovo sa najvecom vrednoscu u ascii tabeli
- #vnsdnvs
- .section .data
- ulaz: .ascii "Unesite string: \0"
- ulaz_len= . - ulaz
- izlaz1: .ascii "U unetom strigu najveci kod ima slovo: \0"
- izlaz1_len= . - izlaz1
- slovo: .ascii "1"
- izlaz2: .ascii "U unetom stringu nema slova!\n\0"
- izlaz2_len= . - izlaz2
- str1: .fill 51,1,0
- str1_max: .long 51
- brojac: .long 0
- .section .text
- .globl main
- main:
- movl $4, %eax
- movl $1, %ebx
- movl $ulaz, %ecx
- movl $ulaz_len, %edx
- int $0x80
- movl $3, %eax
- movl $0, %ebx
- movl $str1, %ecx
- movl str1_max, %edx
- int $0x80
- movl %eax, str1_max
- movl $0, %esi
- movb $0, %cl
- petlja:
- cmpl $'\n' ,str1(,%esi,1)
- je ispitaj
- movb str1(,%esi,1), %al
- cmpb $'A', %al
- jb dalje
- cmpb $'Z', %al
- jbe poredi
- cmpb $'a', %al
- jb dalje
- cmpb $'z', %al
- jbe poredi
- incl %esi
- jmp petlja
- poredi:
- movb %al, %bl
- cmpb %cl, %bl
- ja zameni
- incl brojac
- incl %esi
- jmp petlja
- zameni:
- movb %bl, %cl
- incl brojac
- incl %esi
- jmp petlja
- dalje:
- incl %esi
- jmp petlja
- ispitaj:
- movb %cl, slovo
- cmpl $0, brojac
- jne ispis2
- ispis1:
- movl $4, %eax
- movl $1, %ebx
- movl $izlaz2, %ecx
- movl $izlaz2_len, %edx
- int $0x80
- jmp kraj
- ispis2:
- movl $4, %eax
- movl $1, %ebx
- movl $izlaz1, %ecx
- movl $izlaz1_len+1, %edx
- int $0x80
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- --------------------------------------------------------------------------------------------------------------
- #prebroj samoglasnike
- .section .data
- a: .long 0
- e: .long 0
- i: .long 0
- o: .long 0
- u: .long 0
- brojac: .long 0
- imaSamoglasnika: .ascii "Unesti string sadrzi samoglasnike.\n\0"
- imaSamoglasnika_len= . - imaSamoglasnika
- nemaSamoglasnika: .ascii "Unesti string ne sadrzi samoglasnike.\n\0"
- nemaSamoglasnika_len= . - nemaSamoglasnika
- unos: .fill 40,1,0
- unos_len: .long 41
- .section .text
- .globl main
- main:
- movl $3, %eax
- movl $0, %ebx
- movl $unos, %ecx
- movl unos_len, %edx
- int $0x80
- movl %eax, unos_len
- movl $0, %esi
- petlja:
- cmpl $'\n', unos(,%esi,1)
- je string
- movb unos(,%esi,1), %al
- cmpb $'a' ,%al
- je promA
- cmpb $'e' ,%al
- je promE
- cmpb $'i' ,%al
- je promI
- cmpb $'o' ,%al
- je promO
- cmpb $'u' ,%al
- je promU
- incl %esi
- jmp petlja
- promA:
- addl $1, a
- addl $1, brojac
- incl %esi
- jmp petlja
- promE:
- addl $1, e
- addl $1, brojac
- incl %esi
- jmp petlja
- promI:
- addl $1, i
- addl $1, brojac
- incl %esi
- jmp petlja
- promO:
- addl $1, o
- addl $1, brojac
- incl %esi
- jmp petlja
- promU:
- addl $1, u
- addl $1, brojac
- incl %esi
- jmp petlja
- string:
- movl brojac, %edi
- cmpl $0, %edi
- je ispis2
- ispis1:
- movl $4, %eax
- movl $1, %ebx
- movl $imaSamoglasnika, %ecx
- movl $imaSamoglasnika_len, %edx
- int $0x80
- jmp kraj
- ispis2:
- movl $4, %eax
- movl $1, %ebx
- movl $nemaSamoglasnika, %ecx
- movl $nemaSamoglasnika_len, %edx
- int $0x80
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- ---------------------------------------------------------------------------------------------------------------
- #naizmenicno velika i mala slova
- .section .data
- max_duzina = 15
- poruka1: .ascii "Unesite string:\0"
- poruka1_len= . - poruka1
- poruka2: .ascii "\nRezultujuci string:\0"
- poruka2_len= . - poruka2
- str1: .fill max_duzina, 1, 0
- str_len: .long 16
- .section .text
- .globl main
- main:
- #ispis Unesite string
- movl $4, %eax
- movl $1, %ebx
- movl $poruka1, %ecx
- movl $poruka1_len, %edx
- int $0x80
- #trazenje unosa stringa
- movl $3, %eax
- movl $0, %ebx
- movl $str1, %ecx
- movl $max_duzina, %edx
- int $0x80
- movl %eax, str_len #duzina stringa u str_len
- movl str1, %eax #string u eax
- movl $0, %esi #esi je indeks clanova niza
- petlja1:
- cmpl $'\n' , str1(,%esi,1) #petlja za neparne karaktere
- je ispis
- movb str1(,%esi,1), %al
- cmpb $97, %al
- jb sledeci1
- cmpb $122, %al
- jbe pretvori1
- jmp sledeci1
- petlja2:
- cmpl $'\n' , str1(,%esi,1) #petlja za parne karaktere
- je ispis
- movb str1(,%esi,1), %al
- cmpb $65, %al
- jb sledeci2
- cmpb $90, %al
- jbe pretvori2
- jmp sledeci2
- pretvori1:
- subl $32, str1(,%esi,1) #prebaci u veliko slovo (neparni indeksi)
- jmp sledeci1
- pretvori2:
- addl $32, str1(,%esi,1) #prebaci u malo slovo (parni indeksi)
- jmp sledeci2
- sledeci1:
- incl %esi #povecaj indeks i predji na parnu petlju
- jmp petlja2
- sledeci2:
- incl %esi #povecaj indeks i predji na neparnu petlju
- jmp petlja1
- ispis:
- movl $4, %eax #ispis konacnog stringa
- movl $1, %ebx
- movl $str1, %ecx
- movl str_len, %edx
- int $0x80
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- --------------------------------------------------------------------------------------------------------
- #izbacivanje razmaka
- #Srdjan Ilic RA31/2021
- .section .data
- string: .ascii "ana voli milovana\n"
- string_len= . - string
- .section .text
- .globl main
- main:
- movl $0, %esi
- petlja:
- cmpl $10, string(,%esi,1)
- je kraj
- movb string(,%esi,1), %al
- cmpb $32 , %al
- je zameni
- incl %esi
- jmp petlja
- zameni:
- movl %esi, %edi
- zameni1:
- cmpl $10, string(,%edi,1)
- je dalje
- movb string+1(,%edi,1), %al
- movb %al, string(,%edi,1)
- incl %edi
- jmp zameni1
- dalje:
- jmp petlja
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- -----------------------------------------------------------------------------------------------------------------
- #fatkorijel broja n
- #Srdjan Ilic RA31/2021
- .section .data
- a: .long 50
- .section .text
- .globl main
- main:
- movl $7, %ebx
- movl $0, %ecx
- sabiranje:
- movl $0, %eax
- cmpl %eax, %ebx
- je kraj
- cmpl %eax, %ebx
- ja saberi
- cmpl %eax, %ebx
- jb kraj
- pomnozi:
- addl %ebx, %ecx
- subl $1, %ebx
- jmp sabiranje
- saberi:
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
- ---------------------------------------------------------------------------------------------------------------
- #autor: Imenko Prezimić INDEX ra1234-2015
- .section .data
- bigramLen = 50 #maksimalna duzina izlaza
- ispis: .ascii "Unesite rec: \0"
- ispis_len=.-ispis
- bigramNiz: .fill bigramLen,1,0
- razmak: .long 1
- unos: .fill 10,1,0
- unos_len: .long 11
- brojac: .long 0
- .section .text
- .globl main
- main:
- movl $4, %eax
- movl $1, %ebx
- movl $ispis, %ecx
- movl $ispis_len, %edx
- int $0x80
- movl $3, %eax
- movl $0, %ebx
- movl $unos, %ecx
- movl unos_len, %edx
- int $0x80
- movl %eax, unos_len
- movl $0, %esi
- movl $0, %edi
- movl unos_len, %edx
- subl $2, %edx
- razmak1:
- cmpl $0, razmak
- je petlja_0
- cmpl $1, razmak
- je petlja_1
- jmp kraj
- petlja_0:
- cmpl %edx , %esi
- je ispis1
- movb unos(,%esi,1), %al
- movb %al, bigramNiz(,%edi,1)
- incl %edi
- movb unos+1(,%esi,1), %al
- movb %al, bigramNiz(,%edi,1)
- incl %edi
- incl %esi
- addl $2, brojac
- jmp petlja_0
- petlja_1:
- cmpl %edx , %esi
- je predispis1
- movb unos(,%esi,1), %al
- movb %al, bigramNiz(,%edi,1)
- incl %edi
- movb unos+1(,%esi,1), %al
- movb %al, bigramNiz(,%edi,1)
- incl %edi
- movb $' ' , bigramNiz(,%edi,1)
- incl %edi
- incl %esi
- addl $3, brojac
- jmp petlja_1
- predispis1:
- decl %edi
- decl brojac
- movb $0 , bigramNiz(,%edi,1)
- ispis1:
- movl $4, %eax
- movl $1, %ebx
- movl $bigramNiz, %ecx
- movl brojac, %edx
- int $0x80
- kraj:
- movl $1, %eax
- movl $0, %ebx
- int $0x80
Add Comment
Please, Sign In to add comment