場所によってはレジスタバックアップいらないかもね
主な流れ
全レジスタが空いていない場合
レジスタ退避アドレスは適当な空きアドレスでおk
スタックポインタ使用
#hook
jal 空きメモリ
#空きメモリ
レジスタ内容退避
sw s0,0xFFE0(sp)
lui s0,レジスタ退避アドレス指定
ori s0,s0,レジスタ退避アドレス指定
sw s1,0x0000(s0)
sw s2,0x0004(s0)
/*使いたいレジスタ分バックアップする*/
メイン処理
レジスタ内容戻す
lui s0,最初に指定したレジスタ退避アドレス
ori s0,s0,最初に指定したレジスタ退避アドレス
lw s1,0x0000(s0)
lw s2,0x0004(s0)
/*使ったレジスタ分リストアする*/
lw s0,0xFFE0(sp)
jr ra
sp-20hに重要な数値あったらおっ死ぬんだよな
まあフリーズしたら各自でオフセット調整してくれ
CopyRight Team-M.G.C Co.,ltd.