1 #define RCSID4 "$Id: mach4.c,v 1.5 1994/06/24 13:11:22 ceriel Exp $"
4 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
5 * See the copyright notice in the ACK home directory, in the file "Copyright".
10 * PDP 11 dependent yacc table
15 { emit2( $1 | $2 ); op1($2); }
17 { emit2( $1 | ($2 << 6) | $4); op1($2); op2($4);}
18 | OP_R_SO REG ',' opr1
19 { emit2( $1 | ($2 << 6) | $4); op1($4); }
27 { emit2( $1 | ($2 << 6) | $4); op1($4); }
31 { fit(fit6($2)); emit2($1 | $2); }
35 { fit(fit3($2)); emit2( $1 | $2 ); }
37 { fit(fit8($2)); emit2( $1 | $2 ); }
44 | OP_SO_R opr1 ',' REG
45 { emit2( $1 | ($4 << 6) | $2); op1($2); }
47 { emit2( $1 | $2); op1($2); }
48 | FOP_FSO_FR fopr1 ',' fregister
49 {emit2($1 | ($4 << 6) | $2); op1($2); }
51 { emit2( $1 | $2); op1($2); }
53 { emit2( $1 | $2); op1($2); }
54 | MOVF fop2 ',' fregister
55 { emit2(OPLDF | ($4 << 6) | $2); op2($2);}
56 | MOVF fregister ',' fopr1
57 { emit2(OPSTF | ($2 << 6) | $4); op1($4); }
58 | FOP_SO_FR opr1 ',' fregister
59 { emit2($1 | ($4 << 6) | $2); op1($2); }
60 | FOP_FR_SO fregister ',' opr1
61 { emit2($1 | ($2 << 6) | $4); op1($4); }
62 | FOP_FR_FSO fregister ',' fopr1
63 { emit2($1 | ($2 << 6) | $4); op1($4); }
79 RELOMOVE(rel_1, rel_2);
90 { $$ = ( RDEFMODE | $1); }
92 { $$ = ( RDEFMODE | $2); }
94 { $$ = ( AIMODE | $1 ); }
96 { $$ = ( ADMODE | $1 ); }
98 { exp_2 = $1; $$ = ( INDMODE | $2); im2flag = 1;
99 RELOMOVE(rel_2, relonami);
102 { exp_2 = $2; $$ = ( INDDEFMODE | $3); im2flag = 1;
103 RELOMOVE(rel_2, relonami);
106 { $$ = ( AIDEFMODE | $2 ); }
108 { $$ = ( ADDEFMODE | $2 ); }
110 { exp_2 = $1; $$ = (INDMODE | 07); im2flag = 1;
111 RELOMOVE(rel_2, relonami);
114 { exp_2 =$2; $$ = ( AIMODE | 07); im2flag = 1;
115 RELOMOVE(rel_2, relonami);
118 { exp_2 = $3; $$ = ( AIDEFMODE | 07 ); im2flag = 1;
119 RELOMOVE(rel_2, relonami);
122 { exp_2 = $2; $$ = ( INDDEFMODE | 07 ); im2flag = 1;
123 RELOMOVE(rel_2, relonami);
128 { $$ = $1; exp_1 = exp_2; im1flag = im2flag; im2flag=0;
129 RELOMOVE(rel_1, rel_2);