55 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* These routines partition the huge set of EM-instructions in
 | 
						|
 * "manageable chunks.
 | 
						|
 */
 | 
						|
 | 
						|
extern int	instrgroup();	/* (line_p lnp)
 | 
						|
				 * Return the group into which the instruction
 | 
						|
				 * in lnp belongs to.
 | 
						|
				 */
 | 
						|
 | 
						|
extern bool	stack_group();	/* (int instr)
 | 
						|
				 * Return whether instr is an instruction that
 | 
						|
				 * only changes the state of the stack, i.e.
 | 
						|
				 * is a "true" operator.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	op11size();	/* (line_p lnp)
 | 
						|
				 * Return the size of the operand of the unary
 | 
						|
				 * operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	op12size();	/* (line_p lnp)
 | 
						|
				 * Return the size of the first operand of the
 | 
						|
				 * binary operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	op22size();	/* (line_p lnp)
 | 
						|
				 * Return the size of the second operand of the
 | 
						|
				 * binary operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	op13size();	/* (line_p lnp)
 | 
						|
				 * Return the size of the first operand of the
 | 
						|
				 * ternary operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	op23size();	/* (line_p lnp)
 | 
						|
				 * Return the size of the second operand of the
 | 
						|
				 * ternary operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	op33size();	/* (line_p lnp)
 | 
						|
				 * Return the size of the third operand of the
 | 
						|
				 * ternary operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern offset	avsize();	/* (line_p lnp)
 | 
						|
				 * Return the size of the result of the
 | 
						|
				 * operator in lnp.
 | 
						|
				 */
 | 
						|
 | 
						|
extern int	regtype();	/* (byte instr)
 | 
						|
				 * Return in what kind of machine-register
 | 
						|
				 * the result of instr should be stored:
 | 
						|
				 * pointer, float, or any.
 | 
						|
				 */
 |