Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .type capitalize ,@function
- .global capitalize
- capitalize:
- mov $0, %rax
- mov %rdi, %rax
- mov $0, %r8 #licznik stringa
- iteracjaStringa:
- mov $0, %r9 #character
- movb (%rdi, %r8,1), %r9b
- cmp $0, %r9b #przypadek pustego stringa
- je end
- jmp przepiszSpacjeNaPoczatkuLoop
- poczatekBezSpacji:
- cmp $97, %r9b
- jl przepisuj
- cmp $122, %r9b
- jg przepisuj
- sub $32, %r9b
- movb %r9b, (%rax, %r8, 1)
- inc %r8
- mov $0, %r9
- movb (%rdi, %r8,1), %r9b
- jmp przepisuj
- przepisuj:
- cmp $0, %r9b
- je end
- cmp $33, %r9b #wykrzyknik
- je przepiszSpacjePoczatek
- cmp $46, %r9b #kropka
- je przepiszSpacjePoczatek
- cmp $12, %r9b #newLine
- je przepiszSpacjePoczatek
- cmp $63, %r9b #pytajnik
- je przepiszSpacjePoczatek
- movb %r9b, (%rax, %r8,1)
- inc %r8
- mov $0, %r9
- movb (%rdi, %r8,1), %r9b
- jmp przepisuj
- przepiszSpacjePoczatek:
- movb %r9b, (%rax, %r8,1) #przepisuje kropke, \n, cokolwiek
- inc %r8
- mov $0, %r9
- movb (%rdi, %r8,1), %r9b
- przepiszSpacje:
- cmp $32,%r9b
- je przepiszSpacjeLoop
- cmp $0, %r9b #po kropce, wykrzykniku itd koniec stringa
- je end
- cmp $97, %r9b
- jl przepisuj
- cmp $122, %r9b
- jg przepisuj
- sub $32, %r9b
- movb %r9b, (%rax, %r8, 1)
- inc %r8
- mov $0, %r9
- movb (%rdi, %r8,1), %r9b
- jmp przepisuj
- przepiszSpacjeLoop:
- movb %r9b, (%rax, %r8,1)
- inc %r8
- mov $0, %r9
- movb (%rdi, %r8,1), %r9b
- jmp przepiszSpacje
- przepiszSpacjeNaPoczatkuLoop:
- cmp $32,%r9b
- je przepiszSpacjeNaPoczatkuLoop1
- jmp poczatekBezSpacji
- przepiszSpacjeNaPoczatkuLoop1:
- movb %r9b, (%rax, %r8,1)
- inc %r8
- mov $0, %r9
- movb (%rdi, %r8,1), %r9b
- jmp przepiszSpacjeNaPoczatkuLoop
- end:
- movb $0, (%rax, %r8,1)
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement