diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/sdktools/masm/asmexpr.h | |
download | NT4.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.h | 58 |
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 *)); |