introduce load_data instruction

which just loads data to a register (used internally)
as opposed to integers, which are objects
This commit is contained in:
Torsten Ruger
2018-03-31 12:38:30 +03:00
parent ee8b9469af
commit 6e941ebcb7
10 changed files with 56 additions and 26 deletions

View File

@ -1,7 +1,7 @@
require_relative "helper"
module Risc
class InterpreterAdd < MiniTest::Test
class InterpreterMod < MiniTest::Test
include Ticker
def setup

View File

@ -31,7 +31,7 @@ module Risc
assert_equal 9 , sl.index
assert_equal :r3 , sl.register.symbol
end
def test_slot2 #load arg from args
def est_slot2 #load arg from args
sl = ticks( 48 )
assert_equal SlotToReg , sl.class
assert_equal :r2 , sl.array.symbol #load from message

View File

@ -22,12 +22,12 @@ module Risc
SlotToReg, RegToSlot, LoadConstant, SlotToReg, RegToSlot,
LoadConstant, SlotToReg, RegToSlot, SlotToReg, LoadConstant,
FunctionCall, Label, SlotToReg, SlotToReg, SlotToReg,
LoadConstant, OperatorInstruction, LoadConstant, OperatorInstruction, OperatorInstruction,
LoadConstant, Transfer, OperatorInstruction, OperatorInstruction, LoadConstant,
Transfer, OperatorInstruction, OperatorInstruction, LoadConstant, Transfer,
OperatorInstruction, OperatorInstruction, LoadConstant, OperatorInstruction, LoadConstant,
Transfer, OperatorInstruction, OperatorInstruction, Transfer, LoadConstant,
OperatorInstruction, LoadConstant, OperatorInstruction, OperatorInstruction, RegToSlot,
LoadData, OperatorInstruction, LoadData, OperatorInstruction, OperatorInstruction,
LoadData, Transfer, OperatorInstruction, OperatorInstruction, LoadData,
Transfer, OperatorInstruction, OperatorInstruction, LoadData, Transfer,
OperatorInstruction, OperatorInstruction, LoadData, OperatorInstruction, LoadData,
Transfer, OperatorInstruction, OperatorInstruction, Transfer, LoadData,
OperatorInstruction, LoadData, OperatorInstruction, OperatorInstruction, RegToSlot,
SlotToReg, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
FunctionReturn, SlotToReg, SlotToReg, RegToSlot, SlotToReg,
SlotToReg, RegToSlot, SlotToReg, SlotToReg, RegToSlot,