Mips — различия между версиями

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск
м (Ссылки)
м (Регистры с описанием)
Строка 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
 +
|}
  
 
===Инструкции===
 
===Инструкции===

Версия 14: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 системный вызов

Вики