rubyx/test/risc/position/helper.rb

65 lines
1.1 KiB
Ruby
Raw Normal View History

2018-06-01 18:13:53 +02:00
require_relative "../helper"
module Risc
class Dummy
def padded_length
4
2018-06-01 18:13:53 +02:00
end
def byte_length
4
end
2018-06-01 18:13:53 +02:00
end
2018-06-08 19:43:36 +02:00
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
2019-02-08 22:03:23 +01:00
Parfait.boot!(Parfait.default_test_options)
Risc.boot!
2018-06-08 19:43:36 +02:00
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
2018-06-02 22:48:12 +02:00
class DummyInstruction < Dummy
include Util::List
def initialize(nekst = nil)
@next = nekst
end
2018-06-06 09:00:07 +02:00
def insert(instruction)
ret = super
Position.get(self).trigger_inserted if Position.set?(self)
ret
end
2018-06-08 19:43:36 +02:00
def assemble(io)
io.write_unsigned_int_32(0)
end
def total_byte_length
4
end
2018-06-02 22:48:12 +02:00
end
2018-06-01 18:13:53 +02:00
end