Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #prvi potprogram
- .section .text
- .globl mala_velika_slova
- mala_velika_slova:
- pushl %ebp
- movl %esp, %ebp
- pushl %esi
- pushl %edi
- movl 8(%ebp), %esi #adresa pocetka stringa
- movl 12(%ebp), %edi #adresa greske
- movl $0b100000, %ecx #maska
- karakteri:
- cmpb $'\n', (%esi)
- je kraj_stringa
- cmpb $' ', (%esi)
- jb pogresan_karakter
- je sledeci
- cmpb $'A', (%esi)
- jb pogresan_karakter
- je sledeci
- cmpb $'Z', (%esi)
- jbe veliko_u_malo
- cmpb $'a', (%esi)
- jb pogresan_karakter
- cmpb $'z', (%esi)
- jb malo_u_veliko
- je sledeci
- jmp pogresan_karakter
- sledeci:
- incl %esi
- jmp karakteri
- veliko_u_malo:
- movb (%esi), %dl
- orb %cl, %dl #dodajemo 32
- movb %dl, (%esi)
- jmp sledeci
- malo_u_veliko:
- movb (%esi), %dl
- xorb %cl, %dl #oduzimamo 32
- movb %dl, (%esi)
- jmp sledeci
- pogresan_karakter:
- movl $1, (%edi)
- jmp kraj
- kraj_stringa:
- movl $0, (%edi)
- kraj:
- popl %edi
- popl %esi
- movl %ebp, %esp
- popl %ebp
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement