Module: Fisk::Registers

Defined in:
lib/fisk.rb

Defined Under Namespace

Classes: Register, Rip, Temp

Constant Summary collapse

AL =
Register.new "al", "r8", 0
CL =
Register.new "cl", "r8", 1
DL =
Register.new "dl", "r8", 2
BL =
Register.new "bl", "r8", 3
SPL =
Register.new "spl", "r8", 4
BPL =
Register.new "bpl", "r8", 5
SIL =
Register.new "sil", "r8", 6
DIL =
Register.new "dil", "r8", 7
EXTENDED_R8 =
[SPL, BPL, SIL, DIL]
AH =
Register.new "ah", "r8", 4
CH =
Register.new "ch", "r8", 5
DH =
Register.new "dh", "r8", 6
BH =
Register.new "bh", "r8", 7
AX =
Register.new "ax", "r16", 0
CX =
Register.new "cx", "r16", 1
DX =
Register.new "dx", "r16", 2
BX =
Register.new "bx", "r16", 3
SP =
Register.new "sp", "r16", 4
BP =
Register.new "bp", "r16", 5
SI =
Register.new "si", "r16", 6
DI =
Register.new "di", "r16", 7
EAX =
Register.new "eax", "r32", 0
ECX =
Register.new "ecx", "r32", 1
EDX =
Register.new "edx", "r32", 2
EBX =
Register.new "ebx", "r32", 3
ESP =
Register.new "esp", "r32", 4
EBP =
Register.new "ebp", "r32", 5
ESI =
Register.new "esi", "r32", 6
EDI =
Register.new "edi", "r32", 7
RAX =
Register.new "rax", "r64", 0
RCX =
Register.new "rcx", "r64", 1
RDX =
Register.new "rdx", "r64", 2
RBX =
Register.new "rbx", "r64", 3
RSP =
Register.new "rsp", "r64", 4
RBP =
Register.new "rbp", "r64", 5
RSI =
Register.new "rsi", "r64", 6
RDI =
Register.new "rdi", "r64", 7
CALLER_SAVED =

List of caller saved registers for the C calling convention

[ RDI, RSI, RDX, RCX, R8, R9, R10, R11 ]
CALLEE_SAVED =

List of callee saved registers for the C calling convention

[ RBX, RSP, RBP, R12, R13, R14, R15 ]