Я хотел бы сделать несколько байт манипуляции с помощью набора инструкций MIPS.Байт Манипуляция для набора команд MIPS
- У меня зарегистрировать
$S0
который имеет0x8C2E5F1E
и зарегистрировать$S1
который имеет0x10AC32BB
. - Я хотел бы сохранить второй байт
$S0
,5F
, в третий байт$S1
,AC
.
Моей логикой было бы сохранить байт регистра $S0
в другой регистр, сдвинуть его на желаемый байт. Тогда я бы и зарегистрировал $S1
с 0xFF00FFFF
. Наконец, я бы просто или два регистра. Как это звучит? Правильно ли это? Любой лучший способ?
Любые предложения или решения будут оценены.
Отличный, точный ответ, который я искал, потому что я не знал, что такая инструкция существует. Однако ваша инструкция имеет четыре операнда ?! поэтому какой формат он рассматривает? релиз 2 также добавляет новый формат? Кроме того, Павел, если вы знаете, что вкратце отличается от всех выпусков, я знаю, что теперь они выпустят 5, я думаю. – Salchem
@ user2994448 Формат имеет стандартный 6-разрядный основной код операции, затем регистр источника [rs], затем регистр назначения [rt] (который также является источником), затем два 5-битных немедленных поля, затем 6-разрядный второстепенный код операции; поэтому он похож на формат SRA с третичным кодом операции [bits 25:21], замененным на rs, и поле rd заменено на 5-битное мгновенное или в формате SRAV с третичным кодом операции [bits 10: 6], замененным на 5-битное немедленное и первое поле заменяется немедленным. –
@ user2994448 Что касается различных выпусков/версий MIPS ISA, это может быть порядочным вопросом сам по себе (не уверен, что StackOverflow будет хорошим местом для такого вопроса). R5 добавляет хост страницы таблицы аппаратного обеспечения и выделяет модули (лицензированные с базовой архитектурой. - MultiThreading и DSP ASE стали модулями, SIMD и Virt.) Добавлены из Application Specific Extensions. Нет R4, R3 включает кодирование переменной длины microMIPS. Я * думаю * микроконтроллер ASE пришел в R3, но Rev. 1.01 руководства датирован 21 марта 2011 года. До R2 были MIPS I, II, III и IV (IV == R2 ??). –