1 /* $Id: stack_chg.c,v 1.6 1994/06/24 10:30:57 ceriel Exp $ */
3 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4 * See the copyright notice in the ACK home directory, in the file "Copyright".
6 /* S T A C K _ C H A N G E . C */
18 #define IS_LOC(l) (l!=(line_p) 0 && INSTR(l)==op_loc && TYPE(l)==OPSHORT)
20 int stack_change(l,sign)
24 /* Interpret the string in the third column of the em_table file */
31 line_p pp = (p == (line_p) 0 ? (line_p) 0 : PREV(p));
34 if (i < sp_fmnem || i > sp_lmnem) {
37 if (TYPE(l) == OPSHORT) {
40 /* E.g. a LOI 1 loads word-size bytes,
50 if (*s == '0') return 0;
64 if (!argdef) return -1;
94 line_change(l,ok_out,pop_out,push_out)
97 int *pop_out,*push_out;
101 pop = stack_change(l,'-');
102 push = stack_change(l,'+');
103 *ok_out = (pop != -1 && push != -1);