Class: Fisk::Machine

Inherits:
Object
  • Object
show all
Defined in:
lib/fisk/machine.rb,
lib/fisk/machine/encoding.rb,
lib/fisk/machine/generated.rb

Defined Under Namespace

Classes: Encoding, Form, Instruction, Operand

Constant Summary collapse

Instructions =
{}
OPERANDS =
[
  Fisk::Machine::Operand.new("al", true, true),
  Fisk::Machine::Operand.new("imm8", nil, nil),
  Fisk::Machine::Operand.new("r8", true, true),
  Fisk::Machine::Operand.new("r8", true, false),
  Fisk::Machine::Operand.new("m8", true, false),
  Fisk::Machine::Operand.new("ax", true, true),
  Fisk::Machine::Operand.new("imm16", nil, nil),
  Fisk::Machine::Operand.new("r16", true, true),
  Fisk::Machine::Operand.new("r16", true, false),
  Fisk::Machine::Operand.new("m16", true, false),
  Fisk::Machine::Operand.new("eax", true, true),
  Fisk::Machine::Operand.new("imm32", nil, nil),
  Fisk::Machine::Operand.new("r32", true, true),
  Fisk::Machine::Operand.new("r32", true, false),
  Fisk::Machine::Operand.new("m32", true, false),
  Fisk::Machine::Operand.new("rax", true, true),
  Fisk::Machine::Operand.new("r64", true, true),
  Fisk::Machine::Operand.new("r64", true, false),
  Fisk::Machine::Operand.new("m64", true, false),
  Fisk::Machine::Operand.new("m8", true, true),
  Fisk::Machine::Operand.new("m16", true, true),
  Fisk::Machine::Operand.new("m32", true, true),
  Fisk::Machine::Operand.new("m64", true, true),
  Fisk::Machine::Operand.new("xmm", true, true),
  Fisk::Machine::Operand.new("xmm", true, false),
  Fisk::Machine::Operand.new("m128", true, false),
  Fisk::Machine::Operand.new("xmm", false, true),
  Fisk::Machine::Operand.new("r32", false, true),
  Fisk::Machine::Operand.new("r64", false, true),
  Fisk::Machine::Operand.new("xmm0", true, false),
  Fisk::Machine::Operand.new("rel32", nil, nil),
  Fisk::Machine::Operand.new("al", true, false),
  Fisk::Machine::Operand.new("ax", true, false),
  Fisk::Machine::Operand.new("eax", true, false),
  Fisk::Machine::Operand.new("rax", true, false),
  Fisk::Machine::Operand.new("mm", false, true),
  Fisk::Machine::Operand.new("mm", true, false),
  Fisk::Machine::Operand.new("m32", false, true),
  Fisk::Machine::Operand.new("r16", false, true),
  Fisk::Machine::Operand.new("3", nil, nil),
  Fisk::Machine::Operand.new("rel8", nil, nil),
  Fisk::Machine::Operand.new("k", false, true),
  Fisk::Machine::Operand.new("k", true, false),
  Fisk::Machine::Operand.new("m8", false, true),
  Fisk::Machine::Operand.new("m64", false, true),
  Fisk::Machine::Operand.new("m16", false, true),
  Fisk::Machine::Operand.new("m", true, false),
  Fisk::Machine::Operand.new("r8", false, true),
  Fisk::Machine::Operand.new("eax", false, true),
  Fisk::Machine::Operand.new("moffs32", nil, nil),
  Fisk::Machine::Operand.new("rax", false, true),
  Fisk::Machine::Operand.new("moffs64", nil, nil),
  Fisk::Machine::Operand.new("imm64", nil, nil),
  Fisk::Machine::Operand.new("m128", false, true),
  Fisk::Machine::Operand.new("mm", true, true),
  Fisk::Machine::Operand.new("1", nil, nil),
  Fisk::Machine::Operand.new("cl", true, false),
  Fisk::Machine::Operand.new("xmm{k}{z}", false, true),
  Fisk::Machine::Operand.new("m128/m64bcst", true, false),
  Fisk::Machine::Operand.new("ymm{k}{z}", false, true),
  Fisk::Machine::Operand.new("ymm", true, false),
  Fisk::Machine::Operand.new("m256/m64bcst", true, false),
  Fisk::Machine::Operand.new("zmm{k}{z}", false, true),
  Fisk::Machine::Operand.new("zmm", true, false),
  Fisk::Machine::Operand.new("m512/m64bcst", true, false),
  Fisk::Machine::Operand.new("ymm", false, true),
  Fisk::Machine::Operand.new("m256", true, false),
  Fisk::Machine::Operand.new("{er}", nil, nil),
  Fisk::Machine::Operand.new("m128/m32bcst", true, false),
  Fisk::Machine::Operand.new("m256/m32bcst", true, false),
  Fisk::Machine::Operand.new("m512/m32bcst", true, false),
  Fisk::Machine::Operand.new("k{k}", false, true),
  Fisk::Machine::Operand.new("{sae}", nil, nil),
  Fisk::Machine::Operand.new("m128{k}{z}", false, true),
  Fisk::Machine::Operand.new("m256{k}{z}", false, true),
  Fisk::Machine::Operand.new("m512{k}{z}", false, true),
  Fisk::Machine::Operand.new("m64/m32bcst", true, false),
  Fisk::Machine::Operand.new("m64{k}{z}", false, true),
  Fisk::Machine::Operand.new("m512", true, false),
  Fisk::Machine::Operand.new("xmm{k}{z}", true, true),
  Fisk::Machine::Operand.new("ymm{k}{z}", true, true),
  Fisk::Machine::Operand.new("zmm{k}{z}", true, true),
  Fisk::Machine::Operand.new("ymm", true, true),
  Fisk::Machine::Operand.new("xmm{k}", true, true),
  Fisk::Machine::Operand.new("vm32x", true, false),
  Fisk::Machine::Operand.new("ymm{k}", true, true),
  Fisk::Machine::Operand.new("zmm{k}", true, true),
  Fisk::Machine::Operand.new("vm32y", true, false),
  Fisk::Machine::Operand.new("vm32z", true, false),
  Fisk::Machine::Operand.new("vm32y{k}", true, false),
  Fisk::Machine::Operand.new("vm32z{k}", true, false),
  Fisk::Machine::Operand.new("vm64z{k}", true, false),
  Fisk::Machine::Operand.new("vm64x", true, false),
  Fisk::Machine::Operand.new("vm64y", true, false),
  Fisk::Machine::Operand.new("vm64z", true, false),
  Fisk::Machine::Operand.new("m256", false, true),
  Fisk::Machine::Operand.new("m512", false, true),
  Fisk::Machine::Operand.new("zmm", false, true),
  Fisk::Machine::Operand.new("m64{k}", false, true),
  Fisk::Machine::Operand.new("m32{k}", false, true),
  Fisk::Machine::Operand.new("imm4", nil, nil),
  Fisk::Machine::Operand.new("m32{k}{z}", false, true),
  Fisk::Machine::Operand.new("m16{k}{z}", false, true),
  Fisk::Machine::Operand.new("vm32x{k}", false, true),
  Fisk::Machine::Operand.new("vm32y{k}", false, true),
  Fisk::Machine::Operand.new("vm32z{k}", false, true),
  Fisk::Machine::Operand.new("vm64x{k}", false, true),
  Fisk::Machine::Operand.new("vm64y{k}", false, true),
  Fisk::Machine::Operand.new("vm64z{k}", false, true),

]

Class Method Summary collapse

Class Method Details

.instruction_with_name(name) ⇒ Object



11
12
13
# File 'lib/fisk/machine.rb', line 11

def self.instruction_with_name name
  Instructions[name]
end

.instructionsObject



7
8
9
# File 'lib/fisk/machine.rb', line 7

def self.instructions
  Instructions
end