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. bleu $t7, 10, koniecProgramu #jezeli wczytal ostatnni znak konczy program
  29.  
  30. rem $s1, $t7, 16#zapisuje w s1 drugi szesnastkowy znak ascii
  31. div $t7, $t7, 16 #dzieli przez 16
  32. rem $s0, $t7, 16 #zaiosuje w s2 pierwszy szesnastkowy znak ascii
  33.  
  34.  
  35.  
  36. xor $s2, $s0, $s1 #xoruje
  37. li $t4, 9
  38.  
  39. # blt $s2, $t4, dec2hex
  40. #dalej:
  41. bgt $s2, $t4, literka
  42. addi $s2, $s2, '0'
  43. dalej:
  44. li $v0, 11
  45. move $a0, $s2 #drukuje to po sxorowaniu
  46. syscall
  47.  
  48. bgt $s1, $t4, literka2
  49.  
  50. addi $s1 $s1, '0'
  51. dalej2:
  52. li $v0, 11
  53. move $a0, $s1
  54. syscall
  55.  
  56. addi $t6, $t6, 1
  57. j petla #skacze do anstepnej literki w stringu
  58.  
  59. koniecProgramu:
  60. li $v0, 10
  61. syscall
  62. literka:
  63. addi $s2, $s2, 55
  64. j dalej
  65. literka2:
  66. addi $s1, $s1, 55
  67. j dalej2
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: `bleu $t7,10,koniecProgramu'
prog.s:30: Error: no such instruction: `rem $s1,$t7,16'
prog.s:31: Error: suffix or operands invalid for `div'
prog.s:32: Error: no such instruction: `rem $s0,$t7,16'
prog.s:36: Error: at most 2 immediate operands are allowed
prog.s:37: Error: no such instruction: `li $t4,9'
prog.s:41: Error: no such instruction: `bgt $s2,$t4,literka'
prog.s:42: Error: no such instruction: `addi $s2,$s2,48'
prog.s:44: Error: no such instruction: `li $v0,11'
prog.s:45: Error: no such instruction: `move $a0,$s2'
prog.s:48: Error: no such instruction: `bgt $s1,$t4,literka2'
prog.s:50: Error: no such instruction: `addi $s1 $s1,48'
prog.s:52: Error: no such instruction: `li $v0,11'
prog.s:53: Error: no such instruction: `move $a0,$s1'
prog.s:56: Error: no such instruction: `addi $t6,$t6,1'
prog.s:57: Error: no such instruction: `j petla'
prog.s:60: Error: no such instruction: `li $v0,10'
prog.s:63: Error: no such instruction: `addi $s2,$s2,55'
prog.s:64: Error: no such instruction: `j dalej'
prog.s:66: Error: no such instruction: `addi $s1,$s1,55'
prog.s:67: Error: no such instruction: `j dalej2'
stdout
Standard output is empty