aboutsummaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
Diffstat (limited to 'opcode.h')
-rw-r--r--opcode.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/opcode.h b/opcode.h
index 853efd13..2e875f69 100644
--- a/opcode.h
+++ b/opcode.h
@@ -1,6 +1,6 @@
1/* 1/*
2** TeCGraf - PUC-Rio 2** TeCGraf - PUC-Rio
3** $Id: opcode.h,v 2.1 1994/04/20 22:07:57 celes Exp celes $ 3** $Id: opcode.h,v 2.2 1994/07/19 21:27:18 celes Exp celes $
4*/ 4*/
5 5
6#ifndef opcode_h 6#ifndef opcode_h
@@ -34,6 +34,12 @@ typedef union
34 float f; 34 float f;
35} CodeFloat; 35} CodeFloat;
36 36
37typedef union
38{
39 struct {char c1; char c2; char c3; char c4;} m;
40 Byte *b;
41} CodeCode;
42
37typedef enum 43typedef enum
38{ 44{
39 PUSHNIL, 45 PUSHNIL,
@@ -42,6 +48,7 @@ typedef enum
42 PUSHWORD, 48 PUSHWORD,
43 PUSHFLOAT, 49 PUSHFLOAT,
44 PUSHSTRING, 50 PUSHSTRING,
51 PUSHFUNCTION,
45 PUSHLOCAL0, PUSHLOCAL1, PUSHLOCAL2, PUSHLOCAL3, PUSHLOCAL4, 52 PUSHLOCAL0, PUSHLOCAL1, PUSHLOCAL2, PUSHLOCAL3, PUSHLOCAL4,
46 PUSHLOCAL5, PUSHLOCAL6, PUSHLOCAL7, PUSHLOCAL8, PUSHLOCAL9, 53 PUSHLOCAL5, PUSHLOCAL6, PUSHLOCAL7, PUSHLOCAL8, PUSHLOCAL9,
47 PUSHLOCAL, 54 PUSHLOCAL,
@@ -143,6 +150,8 @@ typedef struct
143#define get_word(code,pc) {code.m.c1 = *pc++; code.m.c2 = *pc++;} 150#define get_word(code,pc) {code.m.c1 = *pc++; code.m.c2 = *pc++;}
144#define get_float(code,pc) {code.m.c1 = *pc++; code.m.c2 = *pc++;\ 151#define get_float(code,pc) {code.m.c1 = *pc++; code.m.c2 = *pc++;\
145 code.m.c3 = *pc++; code.m.c4 = *pc++;} 152 code.m.c3 = *pc++; code.m.c4 = *pc++;}
153#define get_code(code,pc) {code.m.c1 = *pc++; code.m.c2 = *pc++;\
154 code.m.c3 = *pc++; code.m.c4 = *pc++;}
146 155
147 156
148 157