the M.G.C'sHP




場所によってはレジスタバックアップいらないかもね

主な流れ

全レジスタが空いていない場合
レジスタ退避アドレスは適当な空きアドレスでお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.