rubyx/test/risc/position/helper.rb
2019-02-08 23:03:23 +02:00

65 lines
1.1 KiB
Ruby

require_relative "../helper"
module Risc
class Dummy
def padded_length
4
end
def byte_length
4
end
end
class Machine
def set_platform(plat)
@platform = plat
end
def set_translated
@translated = true
translate_methods( @platform.translator )
@cpu_init = risc_init.to_cpu(@platform.translator)
end
end
class DummyPlatform
def self.boot
Parfait.boot!(Parfait.default_test_options)
Risc.boot!
end
def translator
DummyTranslator.new
end
def padding
0
end
end
class DummyTranslator
def translate(arg)
DummyInstruction.new
end
end
class DummyBranch < Branch
attr_reader :precheck_called
def precheck
@precheck_called = true
end
end
class DummyInstruction < Dummy
include Util::List
def initialize(nekst = nil)
@next = nekst
end
def insert(instruction)
ret = super
Position.get(self).trigger_inserted if Position.set?(self)
ret
end
def assemble(io)
io.write_unsigned_int_32(0)
end
def total_byte_length
4
end
end
end