Module: Ronin::Code::ASM::Archs::AMD64

Includes:
X86
Defined in:
lib/ronin/code/asm/archs/amd64.rb

Overview

Contains AMD64 Architecture information.

Constant Summary collapse

WORD_SIZE =

Default word size

8
REGISTERS =

AMD64 registers

X86::REGISTERS.merge(
  rax: Register.new(:rax, 8, true),
  rbx: Register.new(:rbx, 8, true),
  rcx: Register.new(:rcx, 8, true),
  rdx: Register.new(:rdx, 8, true),

  rsi: Register.new(:rsi, 8, true),
  rdi: Register.new(:rdi, 8, true),

  rsp: Register.new(:rsp, 8, true),
  rbp: Register.new(:rbp, 8, true),

  r8b: Register.new(:r8b, 1, true),
  r8w: Register.new(:r8w, 2, true),
  r8d: Register.new(:r8d, 4, true),
  r8:  Register.new(:r8, 8, true),

  r9b: Register.new(:r9b, 1, true),
  r9w: Register.new(:r9w, 2, true),
  r9d: Register.new(:r9d, 4, true),
  r9:  Register.new(:r9, 8, true),

  r10b: Register.new(:r10b, 1, true),
  r10w: Register.new(:r10w, 2, true),
  r10d: Register.new(:r10d, 4, true),
  r10:  Register.new(:r10, 8, true),

  r11b: Register.new(:r11b, 1, true),
  r11w: Register.new(:r11w, 2, true),
  r11d: Register.new(:r11d, 4, true),
  r11:  Register.new(:r11, 8, true),

  r12b: Register.new(:r12b, 1, true),
  r12w: Register.new(:r12w, 2, true),
  r12d: Register.new(:r12d, 4, true),
  r12:  Register.new(:r12, 8, true),

  r13b: Register.new(:r13b, 1, true),
  r13w: Register.new(:r13w, 2, true),
  r13d: Register.new(:r13d, 4, true),
  r13:  Register.new(:r13, 8, true),

  r14b: Register.new(:r14b, 1, true),
  r14w: Register.new(:r14w, 2, true),
  r14d: Register.new(:r14d, 4, true),
  r14:  Register.new(:r14, 8, true),

  r15b: Register.new(:r15b, 1, true),
  r15w: Register.new(:r15w, 2, true),
  r15d: Register.new(:r15d, 4, true),
  r15:  Register.new(:r15, 8, true),

  rip: Register.new(:rip, 8, true)
)

Instance Method Summary collapse

Methods included from X86

#interrupt, #register_clear, #register_load, #register_save, #register_set, #stack_base, #stack_pointer, #stack_pop, #stack_push

Instance Method Details

#syscallObject

Generates the instruction to invoke a syscall.



95
# File 'lib/ronin/code/asm/archs/amd64.rb', line 95

def syscall; instruction(:syscall); end