Как узнать, является ли код операции инструкции MIPS Register, Imidiate или Jump? Учитывая эту таблицу из книги, но есть ли способ определить формат кода операции?
Как узнать формат MIPS-инструкции R, I или J
Ответы (1)
Взгляните на биты кода операции — самые значащие 6 бит. В C, если n
является 32-битным двойным словом команды, выражение для кода операции будет (n >> 26) & 0x3f
.
Если код операции равен 0, то это команда регистрации.
Если это 2 (j
), 3 (jal
) или 26 (trap
) - это прыжок.
Остальное немедленно.
Шпаргалка по кодированию MIPS, включая список всех кодов операций, доступна здесь и, возможно, в другом месте.
person
Seva Alekseyev
schedule
02.12.2013
я знаю, что первые 6 бит говорят об опкоде, и его 64 разных бита. Судя по картинке, которую я приложил, вы можете объяснить немного лучше?
- person user3025956; 03.12.2013
@dwelch Я понимаю таблицу, но чего я не понимаю, так это того, что написал Сева. его ответ - это ответ на мой вопрос, но мне все еще нужен кто-то, чтобы объяснить это.
- person user3025956; 03.12.2013
Я говорю, что формат инструкции можно вывести из поля
opcode
. Все известные коды операций задокументированы; некоторые соответствуют I-операциям, некоторые R, некоторые J.
- person Seva Alekseyev; 03.12.2013