Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2.  
  3.     userInput: .space 100 # ogranichuvanje na 100 karakteri
  4.     # str1 e staveno za test
  5.     str1: .asciiz "Enter string: "
  6.  
  7.  
  8. .text
  9.     main:
  10.         li $v0, 4       # printing text
  11.         la $a0, str1        # load text of the text needed to be printed
  12.         syscall         # finish
  13.        
  14.         li $v0, 8       # getting char input
  15.         la $a0, userInput   # loading the input in a0
  16.         li $a1, 100
  17.         syscall
  18.        
  19.        
  20.        
  21.         # FOR TEST, da vidime dali go printa inputot na user -ot
  22.         li $v0, 4       # printing text
  23.         la $a0, userInput   # print the user's input (for test)
  24.         syscall
  25.        
  26.        
  27.        
  28.        
  29.         li $t2, 0       # inicijalizacija na broj na chars vo eden zbor;    t2 = broj charsVoZbor;
  30.         li $t3, 0       # inicijalizacija na vkupen broj na zborovi;        t3 = brojZborovi;
  31.        
  32.         jal loopCountWords  # povikuvanje na funkcijata loopCountWords
  33.    
  34.         # End of main
  35.         li $v0, 10
  36.         syscall
  37.        
  38.     # External function loopCountWords; Izminuvanje na zborovi inputot, dur ne dojde do NULL
  39.     loopCountWords:
  40.         lbu $t1, 0($a0)
  41.         beqz $t1, loop_exit     # Ako e NULL, izlezi, vrati se kade shto e povikana funkcijata (vo main)
  42.         j loopCountChars        # jump to loopCountChars
  43.         addi $t3, $t3, 1
  44.         addi $a0, $a0, 1
  45.         j loopCountWords        # jump to loopCountWords
  46.    
  47.     # External function loopCountChars; Izminuvanje karakteri vo zbor, dur ne dojde do prazno mesto
  48.     loopCountChars:
  49.         lbu $t1, 0($a0)
  50. # (proveri) beq $t1, '32', loop_exit    # Ako e prazno mesto, izlezi, vrati se kade shto e povikana funkcijata (vo loopCountWords) -> Greshka kaj 32 ???
  51.         addi $t2, $t2, 1        # Ako ne izleze, zgolemi go brojot t2
  52.         addi $a0, $a0, 1
  53.         j loopCountChars        # jump to loopCountChars
  54.    
  55.     loop_exit:
  56.         jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement