ref: 5ce98041ac6706539aac39a2c9e32a43db3e6bd8
parent: 277d04a458bad76df8427891e3b8bfb694a7c238
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Fri Aug 8 15:08:49 EDT 2014
Add emit of end of frame This is only a stub of the real, but it is good enough now.
--- a/cc2/cc2.h
+++ b/cc2/cc2.h
@@ -55,6 +55,7 @@
#define FUN 0
#define VAR 1
+#define EFUN 2
#define AUTO 'A'
#define REG 'R'
#define MEM 'T'
--- a/cc2/cgen.c
+++ b/cc2/cgen.c
@@ -33,6 +33,10 @@
"\tADD\tHL,SP\n"
"\tLD\tSP,HL\n", sym->u.f.name, -sym->u.f.stack);
return;
+ case EFUN:
+ printf("\tLD\tSP,IX\n"
+ "\tRET\n");
+ return;
default:
fputs("internal error: incorrect emit\n", stderr);
abort();
@@ -43,6 +47,7 @@
cgen(Symbol *sym, Node *list[])
{
emit(FUN, sym);
+ emit(EFUN, NULL);
}
/*
--
⑨