Advertisement
Guest User

Kolokvijum

a guest
Mar 26th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.27 KB | None | 0 0
  1. .section .data
  2.     poruka1: .ascii "Unesite string: \0"
  3.     duzina1 = . - poruka1
  4.     poruka2: .ascii "Ispravljen string: \0"
  5.     duzina2 = . - poruka2
  6.  
  7.     unos: .fill 51,1,42
  8.     n: .long 0
  9. .section .text
  10. .global main
  11. main:
  12.     movl $4, %eax
  13.     movl $1, %ebx
  14.     movl $poruka1, %ecx
  15.     movl $duzina1, %edx
  16.     int $0x80
  17.  
  18.     movl $3, %eax
  19.     movl $0, %ebx
  20.     movl $unos, %ecx
  21.     movl $51, %edx
  22.     int $0x80
  23.  
  24.     movl %eax, %esi
  25.     movl %esi, n
  26.     movl $unos, %eax
  27.     decl %esi
  28.     movl $0, %edi
  29.  
  30. preskoci:
  31.     cmpb $' ',(%eax, %edi,1)
  32.     jne malo
  33.     addl $1,%edi
  34.     jmp preskoci
  35.  
  36. malo:
  37.     cmpb $'a',(%eax, %edi,1)
  38.     jl veliko
  39.     cmpb $'z',(%eax, %edi,1)
  40.     jle ispravakm
  41.     jmp sledeci
  42.  
  43. veliko:
  44.     cmpb $'A',(%eax, %edi,1)
  45.     jl sledeci
  46.     cmpb $'Z',(%eax, %edi,1)
  47.     jle ispravakv
  48.     jmp sledeci
  49.  
  50. ispravakm:
  51.     cmpb $'n',(%eax, %edi,1)
  52.     jl normalno
  53.     jmp obrnuto
  54. ispravakv:
  55.     cmpb $'N',(%eax, %edi,1)
  56.     jl normalno
  57.     jmp obrnuto
  58.  
  59. normalno:
  60.     addl $13,(%eax, %edi,1)
  61.     jmp sledeci
  62.  
  63. obrnuto:
  64.     subl $13, (%eax, %edi,1)
  65.     jmp sledeci
  66.  
  67. sledeci:
  68.     addl $1, %edi
  69.     cmpl %edi, %esi
  70.     je ispis
  71.     jmp preskoci
  72.  
  73. ispis:
  74.     movl $4, %eax
  75.     movl $1, %ebx
  76.     movl $poruka2, %ecx
  77.     movl $duzina2, %edx
  78.     int $0x80
  79.  
  80.     movl $4, %eax
  81.     movl $1, %ebx
  82.     movl $unos, %ecx
  83.     movl n, %edx
  84.     int $0x80
  85.  
  86.     movl $1, %eax
  87.     movl $0, %ebx
  88.     int $0x80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement