Module: Rex::Arch::ARM
- Defined in:
- lib/rex/arch/arm.rb
Overview
ARM 32-bit
Constant Summary collapse
- R0 =
Register number constants
A1 = 0
- R1 =
function argument / return value
A2 = 1
- R2 =
function argument
A3 = 2
- R3 =
function argument
A4 = 3
- R4 =
function argument
V1 = 4
- R5 =
variable / callee-saved
V2 = 5
- R6 =
variable / callee-saved
V3 = 6
- R7 =
variable / callee-saved
V4 = 7
- R8 =
variable / callee-saved
V5 = 8
- R9 =
variable / callee-saved
V6 = SB = 9
- R10 =
static base / callee-saved
V7 = SL = 10
- R11 =
stack limit / callee-saved
V8 = FP = 11
- R12 =
frame pointer
IP = 12
- R13 =
intra-procedure scratch
SP = 13
- R14 =
stack pointer
LR = 14
- R15 =
link register (return address)
PC = 15
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
34 35 36 37 38 39 40 |
# File 'lib/rex/arch/arm.rb', line 34 def self._check_reg(*regs) regs.each do |reg| raise ArgumentError, "Invalid register #{reg}", caller if reg > 15 || reg < 0 end nil end |
.reg_number(str) ⇒ Object
Returns the number associated with a named register.
28 29 30 |
# File 'lib/rex/arch/arm.rb', line 28 def self.reg_number(str) const_get(str.upcase) end |