Skip to content

Instantly share code, notes, and snippets.

@voter101
Created May 5, 2014 09:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save voter101/98b6e0590c04baf2afbf to your computer and use it in GitHub Desktop.
Save voter101/98b6e0590c04baf2afbf to your computer and use it in GitHub Desktop.
Mips exercise 3
main:
addi $t7, $zero, 128
li $v0, 13
la $a0, filename
li $a1, 0
li $a2, 0
syscall
addi $s0, $v0, 0
readFromFile:
li $v0, 14
add $a0, $s0, $zero
la $a1, buffer
add $a2, $zero, $t7
syscall
beqz $v0, closeFile
process:
la $t0, buffer
iterateChars:
lb $t1, 0($t0)
beqz $t1, endIterateChars
# Check for newline
addi $t4, $zero, 10
bne $t4, $t1, checkSpace
slt $t3, $zero, $t6
add $t5, $t5, $t3
addi $t6, $zero, 0
checkSpace:
addi $t4, $zero, 32
bne $t4, $t1, endChecking
addi $t6, $t6, 1
endChecking:
addi $t0, $t0, 1
j iterateChars
endIterateChars:
j readFromFile
closeFile:
li $v0, 16
add $a0, $s0, $zero
syscall
move $v0, $t5
.data
filename: .asciiz "/home/voter101/test.txt"
buffer: .space 128
.text
main:
addi $t7, $zero, 128
li $v0, 13
la $a0, filename
li $a1, 0
li $a2, 0
syscall
addi $s0, $v0, 0
readFromFile:
li $v0, 14
add $a0, $s0, $zero
la $a1, buffer
add $a2, $zero, $t7
syscall
beqz $v0, closeFile
process:
la $t0, buffer
iterateChars:
lb $t1, 0($t0)
beqz $t1, endIterateChars
# Check for newline
addi $t4, $zero, 10
bne $t4, $t1, checkSpace
slt $t3, $zero, $t6
add $t5, $t5, $t3
addi $t6, $zero, 0
checkSpace:
addi $t4, $zero, 32
bne $t4, $t1, endChecking
addi $t6, $t6, 1
endChecking:
addi $t0, $t0, 1
j iterateChars
endIterateChars:
j readFromFile
closeFile:
li $v0, 16
add $a0, $s0, $zero
syscall
move $v0, $t5
.data
filename: .asciiz "/home/voter101/test.txt"
buffer: .space 128
.text
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment