Class: Fisk::Instruction

Inherits:
Object
  • Object
show all
Includes:
InstructionPredicates
Defined in:
lib/fisk.rb

Instance Method Summary collapse

Methods included from InstructionPredicates

#comment?, #jump?, #label?, #lazy?, #retry?

Constructor Details

#initialize(insn, form, operands) ⇒ Instruction

Returns a new instance of Instruction.



371
372
373
374
375
# File 'lib/fisk.rb', line 371

def initialize insn, form, operands
  @insn     = insn
  @form     = form
  @operands = operands
end

Instance Method Details

#encode(buffer, labels) ⇒ Object



389
390
391
392
# File 'lib/fisk.rb', line 389

def encode buffer, labels
  encoding = @form.encodings.first
  encoding.encode buffer, @operands
end

#encodingsObject



385
386
387
# File 'lib/fisk.rb', line 385

def encodings
  @form.encodings
end

#has_temp_registers?Boolean

Returns:

  • (Boolean)


377
378
379
# File 'lib/fisk.rb', line 377

def has_temp_registers?
  @operands.any?(&:temp_register?)
end

#temp_registersObject



381
382
383
# File 'lib/fisk.rb', line 381

def temp_registers
  @operands.find_all(&:temp_register?)
end