Ассемблер MIPS/Архитектура

Материал из Викиучебника — открытых книг для открытого мира

Регистры[править]

Стандартный MIPS процессор содержит 32 регистра для работы с целыми числами и 32 регистра для работы с плавающей арифметикой.

Целочисленные Регистры MIPS
Номер Название Описание
0 $zero Всегда содержит ноль
1 $at (assembler temporary) Зарезервировано для сборки
2,3 $v0,$v1 (values) Для возвращаемых функциями значений
4-7 $a0-$a3 (arguments) Первые четыре параметра для функции
8-15 $t0-$t7 (temporaries) Для временных значений
16-23 $s0-$s7 (saved values) Для постоянных значений
24,25 $t8,$t9 (temporaries) Для временных значений
26,27 $k0,$k1 Зарезервированы для обработчика (ядро ОС)
28 $gp (global pointer) Указывает на глобальную область
29 $sp (stack pointer) Значение равно верхнему адресу стека.
30 $s8/$fp (saved values/frame pointer) Для постоянных значений/Указатель на фрейм
31 $ra (return address) Возвращаемый адрес

Для работы с плавающими числами предназначены регистры группы $fx . Также существуют специальные регистры, такие как PC - счётчик команд, HI и LO, используемые при делении и умножении.

Исключения (Exceptions)[править]