Почему не существует дополнительного кода для MIPS? - PullRequest
9 голосов
/ 03 августа 2011

Я очень плохо знаком с Язык ассемблера . Я читал об архитектуре MIPS и узнал, что у вас есть addi код операции, но нет subi кода операции. Кто-нибудь может объяснить, почему у нас нет subi кода операции?

Заранее спасибо.

Ответы [ 2 ]

17 голосов
/ 03 августа 2011

Когда вы создаете набор инструкций, вы связаны некоторыми ограничениями, такими как общее количество инструкций, которые вы можете создать.Создатели MIPS поняли, что в subi нет необходимости (потому что вы можете добавить отрицательное число с addi, используя дополнение 2), и они просто решили отказаться от этой инструкции.Возможно, для сохранения количества инструкций или просто потому, что это не нужно.

4 голосов
/ 03 августа 2011

Оба addi и addiu принимают 16-разрядные подписанные немедленные значения в качестве операнда, поэтому нет смысла добавлять отдельные коды операций subi и subiu.

...