Module: Rex::Arch::PPC64

Defined in:
lib/rex/arch/ppc64.rb

Overview

PPC 64-bit

Constant Summary collapse

R0 =

Register number constants

0
R1 =

scratch / special

SP = 1
R2 =

stack pointer

TOC = 2
R3 =

table of contents / global pointer

3
R4 =

function argument / return value

4
R5 =

function argument

5
R6 =

function argument

6
R7 =

function argument

7
R8 =

function argument

8
R9 =

function argument

9
R10 =

function argument

10
R11 =

function argument

11
R12 =

temporary

12
R13 =

temporary

13
R14 =

small data area pointer

14
R15 =

callee-saved

15
R16 =

callee-saved

16
R17 =

callee-saved

17
R18 =

callee-saved

18
R19 =

callee-saved

19
R20 =

callee-saved

20
R21 =

callee-saved

21
R22 =

callee-saved

22
R23 =

callee-saved

23
R24 =

callee-saved

24
R25 =

callee-saved

25
R26 =

callee-saved

26
R27 =

callee-saved

27
R28 =

callee-saved

28
R29 =

callee-saved

29
R30 =

callee-saved

30
R31 =

callee-saved

31

Class Method Summary collapse

Class Method Details

._check_reg(*regs) ⇒ Boolean

Check if a provided number represents a valid register

Returns:

  • (Boolean)


50
51
52
53
54
55
56
# File 'lib/rex/arch/ppc64.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.

Returns:

  • the number associated with a named register



44
45
46
# File 'lib/rex/arch/ppc64.rb', line 44

def self.reg_number(str)
  const_get(str.upcase)
end