summaryrefslogtreecommitdiffstats
path: root/private/sdktools/masm/asmexpr.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/sdktools/masm/asmexpr.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/sdktools/masm/asmexpr.h')
-rw-r--r--private/sdktools/masm/asmexpr.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/private/sdktools/masm/asmexpr.h b/private/sdktools/masm/asmexpr.h
new file mode 100644
index 000000000..e180b8547
--- /dev/null
+++ b/private/sdktools/masm/asmexpr.h
@@ -0,0 +1,58 @@
+/* asmexpr.h -- include file for microsoft 80x86 assembler
+**
+** microsoft (r) macro assembler
+** copyright (c) microsoft corp 1986. all rights reserved
+**
+** randy nevin
+*/
+
+/* Types of values desired by operators in evaltop */
+
+#define CALLABS 0 /* unary or binary with null segment */
+#define CLSIZE 1 /* unary or binary with (left) size */
+#define CSAME 2 /* binary in same segment and not external */
+#define CDATA 3 /* unary and data associated */
+#define CCODE 4 /* unary and code associated */
+#define CREC 5 /* unary record field or name */
+#define CSEG 6 /* unary and value must have segment */
+#define CLSEG 7 /* binary with left value segment assoc. */
+#define CSIZE 8 /* unary with size */
+#define CVAR 9 /* unary constant or data */
+#define CONEABS 10 /* binary with one value constant */
+#define CSAMABS 11 /* binary in same segment or 2nd constant */
+
+
+/** parser activation record
+ * This structure is equivalent to the upper frame variables
+ * of the outer Pascal procedure
+ */
+
+struct ar {
+ DSCREC *lastitem;
+ DSCREC *curresult;
+ SCHAR *expscan;
+ USHORT index;
+ OFFSET base;
+ USHORT rstype;
+ USHORT vmode;
+ UCHAR segovr;
+ UCHAR evalop;
+ SCHAR bracklevel;
+ SCHAR parenlevel;
+ UCHAR lastprec;
+ UCHAR curprec;
+ UCHAR linktype;
+ UCHAR exprdone;
+ UCHAR unaryflag;
+ UCHAR addplusflag;
+ };
+
+
+UCHAR PASCAL CODESIZE evalalpha PARMS((struct ar *));
+VOID PASCAL CODESIZE evaluate PARMS((struct ar *));
+VOID PASCAL CODESIZE exprop PARMS((struct ar *));
+VOID PASCAL CODESIZE findsegment PARMS(( UCHAR , struct ar *));
+char PASCAL CODESIZE getitem PARMS((struct ar *));
+UCHAR PASCAL CODESIZE popoperator PARMS((struct ar *));
+DSCREC * PASCAL CODESIZE popvalue PARMS((struct ar *));
+VOID PASCAL CODESIZE valerror PARMS((struct ar *));