diff mc.h @ 81:f94ca1168520

float first try...
author kono
date Mon, 03 Mar 2003 20:59:51 +0900
parents 8418d4b7caa7
children 25654dc29ecc
line wrap: on
line diff
--- a/mc.h	Mon Mar 03 05:41:10 2003 +0900
+++ b/mc.h	Mon Mar 03 20:59:51 2003 +0900
@@ -147,10 +147,10 @@
 #define SASS	68
 #define RSTRUCT	69
 
-#define FMUL	70
-#define FDIV	71
-#define FADD	72
-#define FSUB	73
+#define FASSOP	70
+#define DASSOP	71
+
+#define DMINUS	73
 #define DMUL	74
 #define DDIV	75
 #define DADD	76
@@ -160,8 +160,28 @@
 #define LADD	80
 #define LSUB	81
 
+#define FRGVAR	82
+#define FRLVAR	83
+#define FRINDIRECT	84
+#define DRGVAR	85
+#define DRLVAR	86
+#define DRINDIRECT	87
+#define LRGVAR	88
+#define LRLVAR	89
+#define LRINDIRECT	90
+#define DCONST	91
+#define LCONST	92
+#define DASS	93
+#define FASS	94
+#define LASS	95
+#define SHASS	96
+
+#define I2D	97
+#define D2I	98
+
 #define US	1
-#define AS	100
+#define AS	200
+#define DOP	300
 
 #define FILERR	1
 #define DCERR	2
@@ -203,6 +223,7 @@
 EXTERN int symval,args,init_vars,heap[HEAPSIZE];
 EXTERN int blabel,clabel,dlabel,cslabel,ilabel,control,ac,ac2,lsrc,chk,asmf;
 EXTERN int MAX_REGISTER_VAR;
+EXTERN double dsymval;
 
 EXTERN unsigned hash;
 
@@ -212,6 +233,7 @@
 EXTERN char *name,*cheapp,**av,/*obuf[320],*/*sptr,escape(void);
 EXTERN int arg_offset,stat_no,size_of_int,disp_offset,endian,csvalue1;
 EXTERN int code_arg_offset;
+EXTERN int size_of_double,size_of_float,size_of_longlong;
 EXTERN int retlabel,retpending,retcont;
 EXTERN int arglist;
 
@@ -234,6 +256,7 @@
 extern void error(int n);
 extern int size(int t);
 extern int scalar(int t);
+extern int dlist2(int e1, double e2);
 extern int list2(int e1, int e2);
 extern int list3(int e1, int e2, int e3);
 extern int list4(int e1, int e2, int e3,int e4);
@@ -253,6 +276,9 @@
 
 #define cadddr(e) (heap[((int)(e))+3])
 
+#define dcadr(e) (*(double*)&heap[((int)(e))+1])
+#define dcaddr(e) (*(double*)&heap[((int)(e))+2])
+
 #include "conv/conv.h"
 #include "conv/c.h"
 /*