Projects‎ > ‎

prxtool-helper

これはなに?

prxtoolのアセンブリ言語出力をC言語風に変換するプログラムです。

使い方

prxtool -x -w target.prx > disasm.tmp.txt
prxtool-helper disasm.tmp.txt > disasm.txt

ダウンロード

リリースページからダウンロードしてください。

対応環境

バイナリはWindows向けです。
ソースコードを同梱しているので、C++コンパイラが使える環境なら対応できます。
依存ライブラリ等は特にありません。

ライセンス

NYSL準拠とします。

凡例

(signed)

ロード命令の場合、符号拡張が行われます。
計算命令の場合、桁溢れ時に例外が発生します。
比較命令の場合、符号が考慮されます。

(unsigned)

ロード命令の場合、符号拡張が行われません。
計算命令の場合、桁溢れが発生してもそのまま処理が続行します。
比較命令の場合、符号無しとして比較が行われます。

(arthemic)

右シフトが算術シフトであることを示します。

(delay)

遅延スロットがある命令です。

(delay_if)

条件分岐がヒットした場合のみ遅延スロットの命令が実行される命令です。

アドレス表現

$レジスタ名[オフセット/ロードストアするバイト数] という形式になっています。
但し、1バイトの場合は $レジスタ名[オフセット] となります。

最新版の対応命令一覧

lui,li
move,movn,movz
nop
addi,addiu,add,addu,sub,subu
negu
andi,and,ori,or,xori,xor,nor,ins,ext,clz,clo
slti,sltiu,slt,sltu,sll,sllv,srl,sra,srlv,srav
mult,multu,div,divu
mfhi,mflo,mthi,mtlo
lb,lbu,sb
lh,lhu,sh
lw,lwu,sw
lwl->lwr,swl->swr
j,jr,jal,jalr
beq,beql,bne,bnel,beqz,bnez
bltz,bltzl,blez,blezl
bgtz,bgtzl,bgez,bgezl
bnezl,beqzl
bltzal,bgezal