Module: Rex::Arch::MIPS64
- Defined in:
- lib/rex/arch/mips64.rb
Overview
MIPS 64-bit
Constant Summary collapse
- R0 =
Register number constants
ZERO = 0
- R1 =
constant 0
AT = 1
- R2 =
assembler temporary
V0 = 2
- R3 =
function return value
V1 = 3
- R4 =
function return value
A0 = 4
- R5 =
argument
A1 = 5
- R6 =
argument
A2 = 6
- R7 =
argument
A3 = 7
- R8 =
argument
T0 = 8
- R9 =
temporary
T1 = 9
- R10 =
temporary
T2 = 10
- R11 =
temporary
T3 = 11
- R12 =
temporary
T4 = 12
- R13 =
temporary
T5 = 13
- R14 =
temporary
T6 = 14
- R15 =
temporary
T7 = 15
- R16 =
temporary
S0 = 16
- R17 =
saved register
S1 = 17
- R18 =
saved register
S2 = 18
- R19 =
saved register
S3 = 19
- R20 =
saved register
S4 = 20
- R21 =
saved register
S5 = 21
- R22 =
saved register
S6 = 22
- R23 =
saved register
S7 = 23
- R24 =
saved register
T8 = 24
- R25 =
temporary
T9 = 25
- R26 =
temporary
K0 = 26
- R27 =
reserved for OS
K1 = 27
- R28 =
reserved for OS
GP = 28
- R29 =
global pointer
SP = 29
- R30 =
stack pointer
FP = S8 = 30
- R31 =
frame pointer / saved
RA = 31
Class Method Summary collapse
-
._check_reg(*regs) ⇒ Boolean
Check if a provided number represents a valid register.
-
.reg_number(str) ⇒ Object
The number associated with a named register.
Class Method Details
._check_reg(*regs) ⇒ Boolean
Check if a provided number represents a valid register
50 51 52 53 54 55 56 |
# File 'lib/rex/arch/mips64.rb', line 50 def self._check_reg(*regs) regs.each do |reg| raise ArgumentError, "Invalid register #{reg}", caller if reg > 31 || reg < 0 end nil end |
.reg_number(str) ⇒ Object
Returns the number associated with a named register.
44 45 46 |
# File 'lib/rex/arch/mips64.rb', line 44 def self.reg_number(str) const_get(str.upcase) end |