Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- main:
- # Initial Delay
- addi $22, $0, 1 # long delay
- noop
- noop
- noop
- noop
- jal delayLong
- noop
- noop
- noop
- noop
- addi $29, $22, 0
- addi $30, $23, 0
- noop
- noop
- noop
- noop
- addi $22, $0, 0
- addi $23, $0, 0
- # Uses 1 word on the stack for RA
- addi $7, $0, 100
- addi $8, $0, 100
- # enter gameloop
- j gameloop
- noop
- noop
- noop
- noop
- j exit
- delayLong:
- addi $22, $22, 1
- addi $23, $0, 20
- noop
- noop
- noop
- noop
- blt $22, $23, delayLong
- noop
- noop
- noop
- noop
- jr $31
- delayShort:
- addi $22, $22, 1
- addi $23, $0, 50000
- addi $23, $23, 50000
- addi $23, $23, 50000
- noop
- noop
- noop
- noop
- blt $22, $23, delayShort
- noop
- noop
- noop
- noop
- jr $31
- gameloop:
- #addi $15, $0, 2 # arg: color
- #noop
- #noop
- #noop
- #noop
- #j drawXhair
- addi $15, $0, 2 # arg: color
- noop
- noop
- noop
- noop
- jal drawXhair
- noop
- noop
- noop
- noop
- bne $1, $0, left
- noop
- noop
- noop
- noop
- j gameloop
- left:
- addi $15, $0, 0 # arg: color
- noop
- noop
- noop
- noop
- jal drawXhair
- noop
- noop
- noop
- noop
- addi $7, $7, -1
- addi $22, $0, 1 # long delay
- noop
- noop
- noop
- noop
- jal delayLong
- noop
- noop
- noop
- noop
- j gameloop
- drawXhair:
- # $7: x-coord
- # $8: y-coord
- # $15: color
- # Uses 1 word on the stack for RA
- addi $28, $31, 0
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $7, $7, 1
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $7, $7, 1
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $7, $7, -3
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $7, $7, -1
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $7, $7, 2
- addi $8, $8, 1
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $8, $8, 1
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $8, $8, -3
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $8, $8, -1
- noop
- noop
- noop
- noop
- jal translateXYToAddr
- noop
- noop
- noop
- noop
- sw $15, 32768($20)
- noop
- noop
- noop
- noop
- addi $8, $8, 2
- # GET RA
- addi $31, $28, 0
- addi $28, $0, 0
- addi $30, $31, 0
- noop
- noop
- noop
- noop
- jr $31
- translateXYToAddr:
- # $7: X-coord
- # $8: Y-coord
- # $20: addr
- # addr = 640*Y+X
- addi $23, $0, 640
- noop
- noop
- noop
- noop
- mul $20, $23, $8
- noop
- noop
- noop
- noop
- add $20, $20, $7
- noop
- noop
- noop
- noop
- jr $31
- exit:
- noop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement