В архитектуре MIPS используются пять режимов адресации: регистровый, непосрественный, базовый, относительно счетчика команд и псевдопрямой. Первые три режима (регистровый, непосредственный и базовый) определяют способы чтения и записи операндов. Последние два (режим адресации относительно счетчика команд и псевдопрямой режим) определяют способы записи счетчика команд. Ниже представлено подробное описание каждого из режимов.
При регистровой адресации регистры используются для всех операндов-источников и операндов-назначений (иными словами – для всех операндов и результата). Все инструкции типа R используют именно такой режим адресации.
При непосредственной адресации в качестве операндов наряду с регистрами используют 16-битные константы (непосредственные операнды). Этот режим адресации используют некоторые инструкции типа I, такие как сложение с константой (addi) и загрузка константы в старшие 16 бит регистра (lui).
Инструкции для доступа в память, такие как загрузка слова (lw) и сохранение слова (sw), используют базовую адресацию. Эффективный адрес операнда в памяти вычисляется путем сложения базового адреса в регистре rs и 16-битного смещения с расширенным знаком, являющегося непосредственным операндом.
Инструкции условного перехода, или ветвления, используют адресацию относительно счетчика команд для определения нового значения счетчика команд в том случае, если нужно осуществить переход. Смещение со знаком прибавляется к счетчику команд (PC) для определения нового значения PC, поэтому тот адрес, куда будет осуществлен переход, называют адресом относительно счетчика команд.
При прямой адресации адрес перехода задаётся внутри инструкции. Инструкции безусловного перехода j и jal в идеале могли бы использовать прямую адресацию для определения 32-битного целевого адреса перехода (англ.: jump target address, JTA), указывающего адрес инструкции, которая будет выполнена следующей. К сожалению, в формате инструкций типа J нет достаточного количества бит для того, чтобы задать полный 32-битный адрес перехода. Шесть старших бит инструкции занимает код операции (поле opcode), поэтому для адреса перехода остаётся только 26 бит. К счастью, два младших бита адреса перехода (JTA1:0) всегда должны быть равны нулю, потому что все инструкции выровнены по словам. Следующие 26 бит адреса перехода (JTA27:2) берутся из поля addr инструкции. Четыре старших бита адреса перехода (JTA31:28) берутся из четырёх старших бит значения PC + 4. Такой способ адресации называется псевдопрямым.
В отличие от x86, все инструкции MIPS занимают ровно четыре байта, таким образом процессоры MIPS не нуждаются в наличии длиномера и предекодера, так как длина команд фиксирована. Недостатком же такого решения является ограничение общего числа команд.
По структуре команды MIPS можно разбить на два типа: