|
|
|
|
@ -259,7 +259,8 @@ compileInstruction instr = do
@@ -259,7 +259,8 @@ compileInstruction instr = do
|
|
|
|
|
labDone <- nextLabelId |
|
|
|
|
let rest = [ |
|
|
|
|
Code (A (Label "SP")), |
|
|
|
|
Code (C [RegD] (SRegMinus1 RegM) JNone), |
|
|
|
|
Code (C [RegA] (SRegMinus1 RegM) JNone), |
|
|
|
|
Code (C [RegD] (SReg RegM) JNone), |
|
|
|
|
Code (A (Label labEq)), |
|
|
|
|
Code (C [] (SReg RegD) jumpType), |
|
|
|
|
Code (A (Label "SP")), |
|
|
|
|
@ -330,13 +331,13 @@ compileInstruction instr = do
@@ -330,13 +331,13 @@ compileInstruction instr = do
|
|
|
|
|
Code (C [RegD] (SReg RegA) JNone), |
|
|
|
|
Code (A (Label regName)), |
|
|
|
|
Code (C [RegD] SDPlusM JNone), |
|
|
|
|
Code (A (Label "R15")), |
|
|
|
|
Code (A (Imm 15)), |
|
|
|
|
Code (C [RegM] (SReg RegD) JNone), |
|
|
|
|
|
|
|
|
|
Code (A (Label "SP")), |
|
|
|
|
Code (C [RegA] (SReg RegM) JNone), |
|
|
|
|
Code (C [RegD] (SReg RegM) JNone), |
|
|
|
|
Code (A (Label "R15")), |
|
|
|
|
Code (A (Imm 15)), |
|
|
|
|
Code (C [RegA] (SReg RegM) JNone), |
|
|
|
|
Code (C [RegM] (SReg RegD) JNone) |
|
|
|
|
] |
|
|
|
|
|