diff --git a/src/ssa2asm/ValueToRegister.go b/src/ssa2asm/ValueToRegister.go index cd8bf1f..2e341c4 100644 --- a/src/ssa2asm/ValueToRegister.go +++ b/src/ssa2asm/ValueToRegister.go @@ -50,5 +50,15 @@ func (f *Compiler) ValueToRegister(instr ssa.Value, destination cpu.Register) { Destination: destination, Source: source, }) + + case *ssa.Syscall: + if destination == f.CPU.Return[0] { + return + } + + f.Assembler.Append(&asm.MoveRegisterRegister{ + Destination: destination, + Source: f.CPU.Return[0], + }) } } \ No newline at end of file