summaryrefslogtreecommitdiffstats
path: root/private/sdktools/masm/asmtab.h
blob: 82add4e37ceb28a9fdfdab1523f96b514127b637 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/* asmtab.h -- include file for microsoft 80x86 assembler
**
** microsoft (r) macro assembler
** copyright (c) microsoft corp 1986.  all rights reserved
**
** randy nevin
*/

#define NOTFOUND	((USHORT)-1)
#define KEYWORDS	struct s_ktab
#define KEYSYM		struct s_key

struct segp {
	USHORT	index;
	char	type;
	};

struct opcentry {
	UCHAR	opcb;
	UCHAR	mr;
	char	opct;
	char	cpumask;
	};
/* masks and flags to extract operand reference types */

#define F_W	0x40	/* first operand is write  */

#define S_W	0x20	/* second operand is write */


struct pseudo {
	char	type;
	char	kind;
	};


KEYWORDS {
	KEYSYM	FARSYM * FARSYM *kt_table;    /* ptr to hash table  */
	int	kt_size;	/* size of hash table */
};


KEYSYM	{
	KEYSYM	FARSYM *k_next;        /* pointer to next ident */
	char	FARSYM *k_name;        /* pointer to name */
	USHORT	k_hash; 	/* actual hash value */
	USHORT	k_token;	/* token type.  note more than 255 opcodes */
};


USHORT CODESIZE        iskey PARMS((struct s_ktab FAR *));