load space twice in init , messagesetup overwrites first

lots of interpreter test changes, brittle, must factor __initi out
This commit is contained in:
Torsten Ruger
2018-04-02 23:25:52 +03:00
parent 576ae9261d
commit c304ad67c6
15 changed files with 197 additions and 195 deletions

View File

@ -15,35 +15,35 @@ module Risc
SlotToReg, SlotToReg, RegToSlot, LoadConstant, SlotToReg,
SlotToReg, SlotToReg, SlotToReg, RegToSlot, LoadConstant,
SlotToReg, SlotToReg, SlotToReg, SlotToReg, RegToSlot,
SlotToReg, RegToSlot, LoadConstant, RegToSlot, FunctionCall,
Label, LoadConstant, SlotToReg, RegToSlot, SlotToReg,
SlotToReg, RegToSlot, SlotToReg, SlotToReg, RegToSlot,
SlotToReg, SlotToReg, FunctionReturn, Transfer, Syscall,
NilClass]
SlotToReg, LoadConstant, RegToSlot, LoadConstant, RegToSlot,
FunctionCall, Label, LoadConstant, SlotToReg, RegToSlot,
SlotToReg, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
RegToSlot, SlotToReg, SlotToReg, FunctionReturn, Transfer,
Syscall, NilClass]
assert_equal 15 , get_return.value
end
def test_call_main
call_ins = ticks(25)
call_ins = ticks(26)
assert_equal FunctionCall , call_ins.class
assert :main , call_ins.method.name
end
def test_load_15
load_ins = ticks 27
load_ins = ticks 28
assert_equal LoadConstant , load_ins.class
assert_equal Parfait::Integer , @interpreter.get_register(load_ins.register).class
assert_equal 15 , @interpreter.get_register(load_ins.register).value
end
def test_transfer
transfer = ticks(39)
transfer = ticks(40)
assert_equal Transfer , transfer.class
end
def test_sys
sys = ticks(40)
sys = ticks(41)
assert_equal Syscall , sys.class
end
def test_return
ret = ticks(38)
ret = ticks(39)
assert_equal FunctionReturn , ret.class
link = @interpreter.get_register( ret.register )
assert_equal Label , link.class