バイナリをMIPSに変換する方法

バイナリデータは、「機械語」と呼ばれることが多い1と0の文字列です。

MIPSプログラムが実行するアクションを決定します。 たとえば、「Add $ t1、$ t2、$ t3」は、レジストリ10の内容をレジストリ11に追加し、その結果をレジストリ9に保存するためのMIPSコードです。 「宛先」は$ t1、「ソース」は$ t2、「ターゲット」は$ t3です。

「追加」のエンコーディング用のバイナリを取得します。 この追加のバイナリエンコーディングはMIPSで実行されます は「00000ssssst tttt dddd d000 00100000」です。 追加に関係するポインターは、9ドル、10ドル、および $11. したがって、5つの「s」ビットのバイナリはレジスタ9用であり、バイナリでは「10001」として表されます。 5ビット 「t」の場合はレジスタ10の場合、バイナリで「10010」として表されます。 また、「d」ビットは「10011」として表されます。 11.

この情報を使用して、バイナリ文字列 "0000 0010 0011 0010 1001 1000 0010 0000"を指定している場合は、これと同じ方法を使用してMIPSに変換し直すことができます。 MIPSのaddメソッドのバイナリエンコーディングに基づいて、最初の6つの値はゼロであり、最後の11は「00000100000」であることがわかります。

7桁目から始めて、5ビットを数えます。 その値は「ソース」レジストリ「10001」です。 5ビットの2番目の文字列は「ターゲット」の値であり、次の5つの文字列は「宛先」です。 レジストリ12の場合 「宛先」として参照されている場合、バイナリ文字列は次のようになります。「0000 0010 0011 0010 1010 0000 0010 0000」ここで、「10100」は次の値です。 12.