40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
|
/* I N T E R M E D I A T E C O D E
|
||
|
*
|
||
|
* A U X I L I A R Y R O U T I N E S
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
extern offset opr_size(); /* ( short instr )
|
||
|
* size of operand of given instruction.
|
||
|
* The operand is an object , so the
|
||
|
* instruction can be loe, zre etc..
|
||
|
*/
|
||
|
extern dblockdef(); /* (dblock_p db, int n, line_p lnp)
|
||
|
* Fill in d_pseudo, d_size and
|
||
|
* d_values fields of db.
|
||
|
*/
|
||
|
extern combine(); /* (dblock_p db;line_p l1,l2;byte pseu)
|
||
|
* Combine two successive ROMs or CONs
|
||
|
* (with no data label in between)
|
||
|
* into one ROM or CON.
|
||
|
*/
|
||
|
extern line_p arglist(); /* ( int m)
|
||
|
* Read a list of m arguments. If m
|
||
|
* is 0, then the list is of
|
||
|
* undetermined length; it is
|
||
|
* then terminated by a cend symbol.
|
||
|
*/
|
||
|
extern bool is_datalabel(); /* ( line_p l)
|
||
|
* TRUE if l is a data label defining
|
||
|
* occurrence (i.e. its l_instr
|
||
|
* field is ps_sym).
|
||
|
*/
|
||
|
extern dblock_p block_of_lab(); /* (char *ident)
|
||
|
* Find the datablock with
|
||
|
* the given name.
|
||
|
*/
|
||
|
extern obj_p object(); /* (char *ident,offset off,short size)
|
||
|
* Create an object struct.
|
||
|
*/
|