2016-11-02 8 views
0

私はMIPSで左手のルールアルゴリズムを使って迷路を解くプログラムを書いています。私はすでにアルゴリズムを書いていますが、迷路を解決するための「最良の」最も直接的な解決策を見つけるために、すでに訪れた迷路のスペースを追跡する方法を見つける必要があります。MIPSの個々のビットへのアクセス

このプログラムでは、$ t9というレジスタは、迷路を横断する車の位置に関する情報を格納する32ビットの数値です(列と行の位置を含む)。これは分離する必要があります。基本的に、私が知る必要があるのは、それらの特定のビットをどのように扱うか/分離するかということだけです。

ビット31-24は、23-16 2の補数に ビット列を表す8ビットの数で2の補数

TLの列を表す8ビットの数であり、drは私は抽出する必要があります最初の8ビット、およびMIPSの$ t9にある32ビットの番号から次の8ビット

ありがとうございます!

答えて

5

ビット31-24を取得するには、論理シフト右(SRL)を24だけ実行します。残りの数は、これらのビットの値に対応し、8ビット整数と解釈されます。

ビット23-16を取得するには、右に16、次に0xffでシフトします。

MIPSのコマンドを理解してもらえますか?

+2

論理シフト権が使用された場合、24ビット右上に24ビットシフトされた32ビット値の8ビットをマスクする必要はありません。上位24ビットはゼロで埋められます。 – Ped7g

関連する問題