Ассемблер MIPS/Архитектура
Регистры
правитьСтандартный MIPS процессор содержит 32 регистра для работы с целыми числами и 32 регистра для работы с плавающей арифметикой.
Номер | Название | Описание |
---|---|---|
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, используемые при делении и умножении.