Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,26 @@
|
|||
switchExample:
|
||||
;this implementation assumes that all destinations end in jr ra, so you'll need to arrive here with JAL switchExample.
|
||||
;$t0 = index (must be a multiple of 4 or the program counter will jump to a location that's not guaranteed to properly return.)
|
||||
la cases,$t1
|
||||
addiu $t1,$t0 ;MIPS can't do variable indexed offsetting so we have to add the offset ourselves.
|
||||
lw $t8,($t1) ;dereference the pointer, $t8 contains the address we wish to "call"
|
||||
nop
|
||||
jr $t8 ;jump to the selected destination.
|
||||
nop
|
||||
|
||||
cases:
|
||||
.word foo
|
||||
.word bar
|
||||
.word baz
|
||||
|
||||
foo:
|
||||
;code goes here
|
||||
jr ra
|
||||
|
||||
bar:
|
||||
;code goes here
|
||||
jr ra
|
||||
|
||||
baz:
|
||||
;code goes here
|
||||
jr ra
|
||||
Loading…
Add table
Add a link
Reference in a new issue