diff options
Diffstat (limited to 'src/front')
-rw-r--r-- | src/front/ast.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/front/ast.py b/src/front/ast.py index f272ca2..8b86cdd 100644 --- a/src/front/ast.py +++ b/src/front/ast.py @@ -28,7 +28,12 @@ class Program(Node): def generate(self): self.debug("Program.generate(): %s" % repr(self)) - self.emit(Op.JMP, "main") + Register().set_function("__start") + r = Register().new() + self.emit(Op.CALL, "main", r) + self.emit(Op.PUSH, r) + self.emit(Op.PUSH, 0) + self.emit(Op.SYS) for function in self.functions: function.generate() |