Поскольку в описании упоминаются все инструкции 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-type) функция инструкции равна 0b100110 = 0x26 = 38
.Таким образом, вы «вычисляете» его, посмотрев, какую инструкцию вы хотите закодировать.
(взято из Справочник инструкций MIPS ).