itr $ t6, цикл # if (R [rs]> 0) R [rs] = R [rs] -1 ПК = ПК + 4 + BranchAddr
Этонеформальный синтаксис и объяснение. Синтаксис состоит в том, что есть код операции (itr), который принимает два операнда: первый - регистр, а второй - метка.
Символ позади # указывает, что они ожидают от выполнения инструкции:Грубо говоря, эта инструкция является условной ветвью, которая проверяет, является ли значение в регистре rs> 0 - и, если оно больше нуля, она уменьшает этот регистр, а затем переносит ветвь на целевой адрес. Если не больше нуля, то не брать ветвь.
Эта инструкция может использоваться в цикле обратного отсчета.
Давайте выпишем условную ветвь, используя код C:
if ( rs > 0 ) {
rs--;
goto loop;
}
// ...else, fall thru to here...
(а) Затем они хотят, чтобы вы сказали, в каком формате это будет происходить, если бы это была настоящая инструкция MIPS. Вы должны нарисовать формат для инструкции, а затем посмотреть на указанные форматы, чтобы увидеть, какой из них наиболее близок.
(b) Они хотят, чтобы вы выполнили эту операцию, используя существующую последовательность инструкций MIPS. Вы могли бы перевести вышеупомянутую букву C. в сборку MIPS.
(c) Теоретически, почему эта инструкция может быть трудной или противоречащей целям разработки процессора MIPS (эти цели разработки включают в себя короткую продолжительность цикла и простоту).