Method: Fisk::AbsoluteJumpInstruction#encode

Defined in:
lib/fisk.rb

#encode(buffer, labels) ⇒ Object



450
451
452
453
454
455
456
457
458
459
460
461
462
# File 'lib/fisk.rb', line 450

def encode buffer, labels
  form              = find_form "rel32"
  encoding          = form.encodings.first
  operand_klass     = Rel32

  pos = buffer.pos
  rel_jump = 0xCAFE
  2.times do
    buffer.seek pos, IO::SEEK_SET
    encoding.encode buffer, [operand_klass.new(rel_jump)]
    rel_jump = @operand.value - buffer.address
  end
end