blob: 24c43db4631dd79397c4d0aa8205ffcb7598f8a4 [file] [log] [blame]
/* %%%%%%%%%%%%%%%%%%%% (c) William Landi 1991 %%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* Permission to use this code is granted as long as the copyright */
/* notice remains in place. */
/* ============================== pseudo.h ================================= */
/* Does most of the 'real' work of pass1. Contains the routines for */
/* processing each of the pseudo operators. */
/* Each of the procedures have the same paramters because they are all called*/
/* by the same invocation (by use of a function pointer). Thus may of the */
/* procedures have parameters they never use. */
/* ------------------------------- PSEUDO_BYTE ----------------------------- */
/* 5 parameters: */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* ************** SYMB_TAB not used */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the BYTE pseudo operator. */
extern void PSEUDO_BYTE();
#define PSEUDO_BYTE0 1
/* --------------------------- PSEUDO_CSECT -------------------------------- */
/* 5 parameters: */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* ************** ARGUMENTS not used */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the CSECT pseudo operator. */
extern void PSEUDO_CSECT();
#define PSEUDO_CSECT0 2
/* --------------------------- PSEUDO_END ---------------------------------- */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the END pseudo operator. */
extern void PSEUDO_END();
#define PSEUDO_END0 3
/* --------------------------- PSEUDO_EQU ---------------------------------- */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the EQU pseudo operator. */
extern void PSEUDO_EQU();
#define PSEUDO_EQU0 4
/* --------------------------- PSEUDO_EXTDEF ------------------------------- */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* ************** LOCATION not used */
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* ************** SYM_TAB not used */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the EXTDEF pseudo operator. */
extern void PSEUDO_EXTDEF();
#define PSEUDO_EXTDEF0 5
/* --------------------------- PSEUDO_EXTREF ------------------------------- */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* ************** LOCATION not used */
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the EXTREF pseudo operator. */
extern void PSEUDO_EXTREF();
#define PSEUDO_EXTREF0 6
/* --------------------------- PSEUDO_RESB --------------------------------- */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the RESB pseudo operator. */
extern void PSEUDO_RESB();
#define PSEUDO_RESB0 7
/* --------------------------- PSEUDO_RESW --------------------------------- */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the RESW pseudo operator. */
extern void PSEUDO_RESW();
#define PSEUDO_RESW0 8
/* --------------------------- PSEUDO_START =------------------------------- */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the START pseudo operator. */
extern void PSEUDO_START();
#define PSEUDO_START0 9
/* --------------------------- PSEUDO_WORD --------------------------------- */
/* ************** LABEL_NAME not used */
/* 1) char *LABEL_NAME; LABEL found on source line. */
/* 2) char *ARGUMENTS; Everything after the operand in source*/
/* 3) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 4) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 5) FILE *OUTPUT_STREAM; Stream for the output. */
/* Process the WORD pseudo operator. */
extern void PSEUDO_WORD();
#define PSEUDO_WORD0 10
/* ---------------------------- DO_PSEUDO ---------------------------------- */
/* 1) int WHICH_PSEUDO; Which pseudo func to execute. */
/* 2) char *LABEL_NAME; LABEL found on source line. */
/* 3) char *ARGUMENTS; Everything after the operand in source*/
/* 4) int *LOCATION; What location counter was when this */
/* line of source was found. */
/* 5) SYMBOL_TABLE *SYM_TAB; Symbol table */
/* 6) FILE *OUTPUT_STREAM; Stream for the output. */
/* execute a pseudo function */
extern void DO_PSEUDO();