aboutsummaryrefslogtreecommitdiff
path: root/snug-clean/src/Snug/Compile/Simulate.icl
diff options
context:
space:
mode:
Diffstat (limited to 'snug-clean/src/Snug/Compile/Simulate.icl')
-rw-r--r--snug-clean/src/Snug/Compile/Simulate.icl34
1 files changed, 17 insertions, 17 deletions
diff --git a/snug-clean/src/Snug/Compile/Simulate.icl b/snug-clean/src/Snug/Compile/Simulate.icl
index 57f249c..ab13cde 100644
--- a/snug-clean/src/Snug/Compile/Simulate.icl
+++ b/snug-clean/src/Snug/Compile/Simulate.icl
@@ -59,32 +59,32 @@ storeStackValue (SVImmediate (Immediate i)) doffset dreg
[ StoreWord R0 doffset dreg
]
| 0 <= i && i < 0x10000 = add
- [ OrImmediate TempImm R0 (Immediate i)
- , StoreWord TempImm doffset dreg
+ [ OrImmediate (TempImm 0) R0 (Immediate i)
+ , StoreWord (TempImm 0) doffset dreg
]
| 0 > i && i >= -0x8000 = add
- [ AddImmediate Signed TempImm R0 (Immediate i)
- , StoreWord TempImm doffset dreg
+ [ AddImmediate Signed (TempImm 0) R0 (Immediate i)
+ , StoreWord (TempImm 0) doffset dreg
]
| otherwise = add
- [ LoadUpperImmediate TempImm (Immediate (i >> 16))
- , OrImmediate TempImm TempImm (Immediate (i bitand 0xffff))
- , StoreWord TempImm doffset dreg
+ [ LoadUpperImmediate (TempImm 0) (Immediate (i >> 16))
+ , OrImmediate (TempImm 0) (TempImm 0) (Immediate (i bitand 0xffff))
+ , StoreWord (TempImm 0) doffset dreg
]
storeStackValue (SVImmediate imm=:(Address _ _)) doffset dreg = add
- [ LoadAddress TempImm imm
- , StoreWord TempImm doffset dreg
+ [ LoadAddress (TempImm 0) imm
+ , StoreWord (TempImm 0) doffset dreg
]
storeStackValue (SVRegOffset reg 0) doffset dreg = add
[ StoreWord reg doffset dreg
]
storeStackValue (SVRegOffset reg offset) doffset dreg = add
- [ AddImmediate Signed TempImm reg (Immediate offset)
- , StoreWord TempImm doffset dreg
+ [ AddImmediate Signed (TempImm 0) reg (Immediate offset)
+ , StoreWord (TempImm 0) doffset dreg
]
storeStackValue (SVIndirect offset reg) doffset dreg = add
- [ LoadWord TempImm offset reg
- , StoreWord TempImm doffset dreg
+ [ LoadWord (TempImm 0) offset reg
+ , StoreWord (TempImm 0) doffset dreg
]
buildCons :: !Label !Int -> Simulator ()
@@ -126,8 +126,8 @@ indirectAndEval =
SVRegOffset HeapPtr offset ->
add
// Build indirection
- [ LoadAddress TempImm (Address 0 (functionLabel "" NodeEntry "indir"))
- , StoreWord TempImm 0 FrontEvalPtr
+ [ LoadAddress (TempImm 0) (Address 0 (functionLabel "" NodeEntry "indir"))
+ , StoreWord (TempImm 0) 0 FrontEvalPtr
] >>|
storeStackValue sv 4 FrontEvalPtr >>|
getState >>= \{hp_offset} ->
@@ -141,8 +141,8 @@ indirectAndEval =
// We only need to overwrite the descriptor with an indirection
getState >>= \{hp_offset} ->
add
- [ LoadAddress TempImm (Address 0 (functionLabel "" NodeEntry "indir"))
- , StoreWord TempImm 0 FrontEvalPtr
+ [ LoadAddress (TempImm 0) (Address 0 (functionLabel "" NodeEntry "indir"))
+ , StoreWord (TempImm 0) 0 FrontEvalPtr
, Jump NoLink (Direct (Address 0 "eval"))
, AddImmediate Signed HeapPtr HeapPtr (Immediate hp_offset)
]