Skip to content

Instantly share code, notes, and snippets.

@tremblerz
Forked from voter101/3.asm
Created February 11, 2016 19:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tremblerz/688cdba24483bd8a157d to your computer and use it in GitHub Desktop.
Save tremblerz/688cdba24483bd8a157d 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