2

命令を取り、それをオペコード、rs、rt などの 2 進数表現に分解した場合、この 2 進数をレジスタに入れ、MIPS にそれを命令として扱わせることができますか?

例えば:

命令: add $t0, $s0, $t0

次のように分類されます。

000000 10010 01000 01000 00000 100000

これは整数に対応します: 18696

この整数をレジスタに格納してから、MIPS にそれを命令として扱わせることはできますか?

自己変更コードのアイデアを念頭に置いてこれを尋ねます。

4

1 に答える 1

4

正解は-いいえです。初めての質問よりも注意深く質問を読んだユーザーのコメントで指摘されているように、最初に値をメモリに書き込んでから、その値が格納されているメモリのアドレス値をロードしてからジャンプします。それに。

JITコンパイラーは多くのコード変更を使用するため、 JITコンパイラーがどのように機能するかを詳しく調べたいと思うかもしれません(明確にするために、コードジェネレーターは変更しませんが、実行中に生成されたコードの多くのライブパッチを実行します)。

于 2011-09-25T21:57:42.040 に答える