fork download
  1. .data
  2. tekst: .asciiz "Podaj dowolnego stringa: "
  3. nowaLinia: .asciiz "\n"
  4. spacja: .asciiz " - "
  5. naszString: .space 80
  6. #rezerwujemy 20 bajtów na wprowadzanego stringa
  7. .text
  8. wyswietlKomunikaty:
  9. li $v0, 4
  10. la $a0, tekst
  11. syscall
  12. #wyświetl prośbę o string
  13.  
  14. li $v0, 8
  15. la $a0, naszString
  16. li $a1, 80
  17. syscall
  18. #wczytaj string
  19.  
  20. la $t6, 0
  21.  
  22. la $t0, naszString
  23. #i zapisz jego adres w pamięci do $t0
  24.  
  25. petla:
  26. lb $t7, naszString($t6) #wczytuje do $t7 kolejny znak stringa
  27.  
  28. beqz $t7, koniecProgramu #jezeli wczytal ostatnni znak konczy program
  29.  
  30. li $v0, 1
  31. move $a0, $t7#w t7 jest kolejny znak
  32. syscall
  33.  
  34.  
  35. li $v0, 4
  36. la $a0,spacja
  37. syscall
  38.  
  39. rem $s1, $t7, 16#zapisuje w s1 drugi szesnastkowy znak ascii
  40. div $t7, $t7, 16 #dzieli przez 16
  41. rem $s0, $t7, 16 #zaiosuje w s2 pierwszy szesnastkowy znak ascii
  42.  
  43. li $v0, 1
  44. move $a0, $s0 #wyswietla pierwszy znak
  45. syscall
  46. li $v0, 4
  47. la $a0, spacja #spacja
  48. syscall
  49. li $v0, 1
  50. move $a0, $s1 #drugi znak
  51. syscall
  52. li $v0, 4
  53. la $a0, spacja #spacja
  54. syscall
  55.  
  56. xor $s2, $s0, $s1 #xoruje
  57. li $v0, 1
  58. move $a0, $s2 #drukuje to po sxorowaniu
  59. syscall
  60.  
  61. li $v0, 4
  62. la $a0, nowaLinia
  63. syscall
  64.  
  65. addi $t6, $t6, 1
  66. j petla #skacze do anstepnej literki
  67.  
  68. koniecProgramu:
  69. li $v0, 10
  70. syscall
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.s: Assembler messages:
prog.s:0: Warning: end of file not at end of a line; newline inserted
prog.s:2: Error: unknown pseudo-op: `.asciiz'
prog.s:3: Error: unknown pseudo-op: `.asciiz'
prog.s:4: Error: unknown pseudo-op: `.asciiz'
prog.s:9: Error: no such instruction: `li $v0,4'
prog.s:10: Error: no such instruction: `la $a0,tekst'
prog.s:14: Error: no such instruction: `li $v0,8'
prog.s:15: Error: no such instruction: `la $a0,naszString'
prog.s:16: Error: no such instruction: `li $a1,80'
prog.s:20: Error: no such instruction: `la $t6,0'
prog.s:22: Error: no such instruction: `la $t0,naszString'
prog.s:26: Error: no such instruction: `lb $t7,naszString($t6)'
prog.s:28: Error: no such instruction: `beqz $t7,koniecProgramu'
prog.s:30: Error: no such instruction: `li $v0,1'
prog.s:31: Error: no such instruction: `move $a0,$t7'
prog.s:35: Error: no such instruction: `li $v0,4'
prog.s:36: Error: no such instruction: `la $a0,spacja'
prog.s:39: Error: no such instruction: `rem $s1,$t7,16'
prog.s:40: Error: suffix or operands invalid for `div'
prog.s:41: Error: no such instruction: `rem $s0,$t7,16'
prog.s:43: Error: no such instruction: `li $v0,1'
prog.s:44: Error: no such instruction: `move $a0,$s0'
prog.s:46: Error: no such instruction: `li $v0,4'
prog.s:47: Error: no such instruction: `la $a0,spacja'
prog.s:49: Error: no such instruction: `li $v0,1'
prog.s:50: Error: no such instruction: `move $a0,$s1'
prog.s:52: Error: no such instruction: `li $v0,4'
prog.s:53: Error: no such instruction: `la $a0,spacja'
prog.s:56: Error: at most 2 immediate operands are allowed
prog.s:57: Error: no such instruction: `li $v0,1'
prog.s:58: Error: no such instruction: `move $a0,$s2'
prog.s:61: Error: no such instruction: `li $v0,4'
prog.s:62: Error: no such instruction: `la $a0,nowaLinia'
prog.s:65: Error: no such instruction: `addi $t6,$t6,1'
prog.s:66: Error: no such instruction: `j petla'
prog.s:69: Error: no such instruction: `li $v0,10'
stdout
Standard output is empty