52 lines
991 B
C
52 lines
991 B
C
|
/* 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 *));
|