diff options
Diffstat (limited to 'lisc/lisc.h')
-rw-r--r-- | lisc/lisc.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lisc/lisc.h b/lisc/lisc.h index 66f12ad..bc22a41 100644 --- a/lisc/lisc.h +++ b/lisc/lisc.h @@ -16,6 +16,25 @@ typedef struct Sym Sym; typedef struct Fn Fn; enum { + RAX = 1, + RCX, + RDX, + RBX, + RSP, + RBP, + RSI, + RDI, + R8, + R9, + R10, + R11, + R12, + R13, + R14, + R15, +}; + +enum { NReg = 32, Tmp0 = NReg+1, @@ -65,6 +84,7 @@ enum { ORem, /* reserved instructions */ OCopy, + OXCltd, OXDiv, OLast }; @@ -136,6 +156,7 @@ struct Fn { /* parse.c */ extern OpDesc opdesc[]; +void diag(char *); void *alloc(size_t); Fn *parsefn(FILE *); void printfn(Fn *, FILE *); |