私はアセンブリ言語に非常に慣れていません。私はMIPSアーキテクチャについて読んでいて、 Register Format(R-Format)の最後のフィールドで立ち往生しています。これがその視覚的表現
です。6番目のフィールドの意味と計算方法を教えてください。前もって感謝します。
9036 次
2 に答える
9
説明にあるように、すべての R タイプの命令 (例: ADD
、AND
、SLL
およびその他) は最上位 6 ビット (= op) が 0 に設定されています。つまり、それらを区別する唯一の方法は、最下位 6 ビット (=機能)。つまり、命令タイプを決定します。おそらく例が役立つでしょう:
ADD $1, $2, $3
もっている:
op = 0 (as all R-type instructions)
rs = 2
rt = 3
rd = 1
shamt = 0
funct = 0x20 = 0b00000100000 = 32
したがって、エンコーディングは次のようになります。
0000 0000 0100 0011 0000 1000 0010 0000
たとえばXOR
(別の R タイプ) 命令の場合、関数は0b100110 = 0x26 = 38
. したがって、エンコードしたい命令を調べて「計算」します。
( MIPS 命令リファレンスから取得)。
于 2011-08-03T16:09:17.040 に答える
1
次の表から:
http://en.wikibooks.org/wiki/MIPS_Assembly/Instruction_Formats#Opcodes
ほとんどすべての R タイプ命令のオペコードは 00 であるため、関数は ALU 関数を選択します。
Funct オペコードを共有する命令の場合、関数パラメーターには、異なる命令を区別するために必要な制御コードが含まれます。6 ビット長 (0 ~ 5)。例: オペコード 0x00 は ALU にアクセスし、関数は使用する ALU 関数を選択します。
于 2011-08-03T16:08:06.527 に答える