Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- userInput: .space 100 # ogranichuvanje na 100 karakteri
- # str1 e staveno za test
- str1: .asciiz "Enter string: "
- .text
- main:
- li $v0, 4 # printing text
- la $a0, str1 # load text of the text needed to be printed
- syscall # finish
- li $v0, 8 # getting char input
- la $a0, userInput # loading the input in a0
- li $a1, 100
- syscall
- # FOR TEST, da vidime dali go printa inputot na user -ot
- li $v0, 4 # printing text
- la $a0, userInput # print the user's input (for test)
- syscall
- li $t2, 0 # inicijalizacija na broj na chars vo eden zbor; t2 = broj charsVoZbor;
- li $t3, 0 # inicijalizacija na vkupen broj na zborovi; t3 = brojZborovi;
- jal loopCountWords # povikuvanje na funkcijata loopCountWords
- # End of main
- li $v0, 10
- syscall
- # External function loopCountWords; Izminuvanje na zborovi inputot, dur ne dojde do NULL
- loopCountWords:
- lbu $t1, 0($a0)
- beqz $t1, loop_exit # Ako e NULL, izlezi, vrati se kade shto e povikana funkcijata (vo main)
- j loopCountChars # jump to loopCountChars
- addi $t3, $t3, 1
- addi $a0, $a0, 1
- j loopCountWords # jump to loopCountWords
- # External function loopCountChars; Izminuvanje karakteri vo zbor, dur ne dojde do prazno mesto
- loopCountChars:
- lbu $t1, 0($a0)
- # (proveri) beq $t1, '32', loop_exit # Ako e prazno mesto, izlezi, vrati se kade shto e povikana funkcijata (vo loopCountWords) -> Greshka kaj 32 ???
- addi $t2, $t2, 1 # Ako ne izleze, zgolemi go brojot t2
- addi $a0, $a0, 1
- j loopCountChars # jump to loopCountChars
- loop_exit:
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement