Skip to content

Instantly share code, notes, and snippets.

@samkeeleyong
Last active July 13, 2016 16:55
Show Gist options
  • Save samkeeleyong/5312e496e7d74e88b807df78114481fa to your computer and use it in GitHub Desktop.
Save samkeeleyong/5312e496e7d74e88b807df78114481fa to your computer and use it in GitHub Desktop.
.data
format_str: .asciiz "N(%i): %i\n"
fs_addr: .space 4
s1_addr: .space 4
s2_addr: .space 4
.code
DADDIU $t1, R0, #14
DADDIU $t2, R0, #0
DADDIU $t3, R0, #1
DADDIU $t4, R0, #0
DADDIU $t5, R0, #1
j loop
exit:
syscall 0
loop:
beq $t0, $t1, exit
daddu $t4, $t2, $t3
beqz $t5, first
bnez $t5, second
first:
DADDU $t2, R0, $t4
DADDIU $t5, R0, #1
addi $t0,$t0,1
daddi r5, r0, format_str
sw r5, fs_addr(r0)
DADDU r2, r0, $t0
sd r2, s1_addr(r0)
DADDU r2, r0, $t4
sd r2, s2_addr(r0)
daddi r14, r0, fs_addr
syscall 5
j loop
second:
DADDU $t3, R0, $t4
DADDIU $t5, R0, #0
addi $t0,$t0,1
daddi r5, r0, format_str
sw r5, fs_addr(r0)
DADDU r2, r0, $t0
sd r2, s1_addr(r0)
DADDU r2, r0, $t4
sd r2, s2_addr(r0)
daddi r14, r0, fs_addr
syscall 5
j loop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment