Mips — различия между версиями
Материал из InformationSecurity WIKI
Drakylar (обсуждение | вклад) м (→Ссылки) |
Drakylar (обсуждение | вклад) м (→Регистры с описанием) |
||
| Строка 6: | Строка 6: | ||
===Регистры с описанием=== | ===Регистры с описанием=== | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |+ Регистры | ||
| + | ! Название || Номер || Применение || нужно ли резервировать? | ||
| + | |- | ||
| + | ! $zero | ||
| + | | $0 || всегда хранит 0 || N/A | ||
| + | |- | ||
| + | ! $at | ||
| + | | $1 || временный регистр для языка ассемблера || НЕТ | ||
| + | |- | ||
| + | ! $v0—$v1 | ||
| + | | $2—$3 || значения функций и выражений ($v0 отвечает за вызов syscall) || НЕТ | ||
| + | |- | ||
| + | ! $a0—$a3 | ||
| + | | $4—$7 || аргументы функций || НЕТ | ||
| + | |- | ||
| + | ! $t0—$t7 | ||
| + | | $8—$15 || временные || НЕТ | ||
| + | |- | ||
| + | ! $s0—$s7 | ||
| + | | $16—$23 || сохраненные временные значения || ДА | ||
| + | |- | ||
| + | ! $t8—$t9 | ||
| + | | $24—$25 || временные || НЕТ | ||
| + | |- | ||
| + | ! $k0—$k1 | ||
| + | | $26—$27 || зарезервирована для ядра операционной системы || НЕТ | ||
| + | |- | ||
| + | ! $gp | ||
| + | | $28 || глобальный указатель || ДА | ||
| + | |- | ||
| + | ! $sp | ||
| + | | $29 || указатель стека || ДА | ||
| + | |- | ||
| + | ! $fp | ||
| + | | $30 || указатель фрейма || ДА | ||
| + | |- | ||
| + | ! $ra | ||
| + | | $31 || адрес возврата || N/A | ||
| + | |} | ||
===Инструкции=== | ===Инструкции=== | ||
Версия 18:59, 31 января 2020
MIPS -
Содержание
Описание
Регистры с описанием
| Название | Номер | Применение | нужно ли резервировать? |
|---|---|---|---|
| $zero | $0 | всегда хранит 0 | N/A |
| $at | $1 | временный регистр для языка ассемблера | НЕТ |
| $v0—$v1 | $2—$3 | значения функций и выражений ($v0 отвечает за вызов syscall) | НЕТ |
| $a0—$a3 | $4—$7 | аргументы функций | НЕТ |
| $t0—$t7 | $8—$15 | временные | НЕТ |
| $s0—$s7 | $16—$23 | сохраненные временные значения | ДА |
| $t8—$t9 | $24—$25 | временные | НЕТ |
| $k0—$k1 | $26—$27 | зарезервирована для ядра операционной системы | НЕТ |
| $gp | $28 | глобальный указатель | ДА |
| $sp | $29 | указатель стека | ДА |
| $fp | $30 | указатель фрейма | ДА |
| $ra | $31 | адрес возврата | N/A |
Инструкции
Системные вызовы
_UAPI_ASM_UNISTD_H
_MIPS_SIM_ABI32
_MIPS_SIM_ABI64
_MIPS_SIM_NABI32
Особые техники обхода защиты
Ссылки
Система команд процессора MIPS R3000 игровой приставки SONY PLAYSTATION
Обьяснение на английском откуда берется 4001 системный вызов