Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line -... Line 1...
-
 
1
/*
-
 
2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
-
 
3
 * All rights reserved.
-
 
4
 *
-
 
5
 * Redistribution and use in source and binary forms, with or without
-
 
6
 * modification, are permitted provided that the following conditions are met:
-
 
7
 *
-
 
8
 * 1. Redistributions of source code must retain the above copyright notice,
-
 
9
 *    this list of conditions and the following disclaimer.
-
 
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
-
 
11
 *    this list of conditions and the following disclaimer in the documentation
-
 
12
 *    and/or other materials provided with the distribution.
-
 
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
-
 
14
 *    may be used to endorse or promote products derived from this software
-
 
15
 *    without specific, prior written permission.
-
 
16
 *
-
 
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-
 
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-
 
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-
 
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
-
 
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-
 
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-
 
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-
 
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-
 
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-
 
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-
 
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
28
 *
-
 
29
 * $Id$
-
 
30
 */
1
/*
31
/*
2
    		 Crown Copyright (c) 1997
32
    		 Crown Copyright (c) 1997
3
    
33
 
4
    This TenDRA(r) Computer Program is subject to Copyright
34
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
35
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
36
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
37
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
38
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
39
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
40
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
41
    shall be deemed to be acceptance of the following conditions:-
12
    
42
 
13
        (1) Its Recipients shall ensure that this Notice is
43
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
44
        reproduced upon any copies or amended versions of it;
15
    
45
 
16
        (2) Any amended version of it shall be clearly marked to
46
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
47
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
48
        for the relevant amendment or amendments;
19
    
49
 
20
        (3) Its onward transfer from a recipient to another
50
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
51
        party shall be deemed to be that party's acceptance of
22
        these conditions;
52
        these conditions;
23
    
53
 
24
        (4) DERA gives no warranty or assurance as to its
54
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
55
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
56
        no liability whatsoever in relation to any use to which
27
        it may be put.
57
        it may be put.
28
*/
58
*/
Line 82... Line 112...
82
#ifndef indecs_key
112
#ifndef indecs_key
83
#define indecs_key 1
113
#define indecs_key 1
84
 
114
 
85
 
115
 
86
 
116
 
87
extern  void ins0 PROTO_S ((char *i));
117
extern  void ins0(char *i);
88
extern  void ins1 PROTO_S ((char *i, int s1, where a1));
118
extern  void ins1(char *i, int s1, where a1);
89
extern  void ins1lit PROTO_S ((char *i, int s1, where a1));
119
extern  void ins1lit(char *i, int s1, where a1);
90
extern  void ins1ind PROTO_S ((char *i, int s1, where a1));
120
extern  void ins1ind(char *i, int s1, where a1);
91
extern  void ins2 PROTO_S ((char *i, int s1, int s2, where a1, where a2));
121
extern  void ins2(char *i, int s1, int s2, where a1, where a2);
92
extern  void ins3 PROTO_S((char *i, int s1, int s2, int s3, where a1,
122
extern  void ins3 (char *i, int s1, int s2, int s3, where a1, where a2, where a3);
93
          where a2, where a3));
-
 
94
extern  void set_label PROTO_S ((exp jr));
123
extern  void set_label(exp jr);
95
extern  void simplest_set_lab PROTO_S ((int labno));
124
extern  void simplest_set_lab(int labno);
96
extern  void simple_set_label PROTO_S ((int labno));
125
extern  void simple_set_label(int labno);
97
extern  void jump PROTO_S ((exp jr, int with_fl_reg));
126
extern  void jump(exp jr, int with_fl_reg);
98
extern  void branch PROTO_S ((int test_no, exp jr, int sg, int shnm));
127
extern  void branch(int test_no, exp jr, int sg, int shnm);
99
extern  void simple_branch PROTO_S ((char * j, int labno));
128
extern  void simple_branch(char * j, int labno);
100
extern  void jmp_overflow PROTO_S ((exp jr, int sg, int inv));
129
extern  void jmp_overflow(exp jr, int sg, int inv);
101
extern  void trap_overflow PROTO_S ((int sg, int inv));
130
extern  void trap_overflow(int sg, int inv);
102
extern  void test_trap PROTO_S ((int test_no, int sg, int shnm));
131
extern  void test_trap(int test_no, int sg, int shnm);
103
extern  void trap_ins PROTO_S ((int s));
132
extern  void trap_ins(int s);
104
extern  void set_env_off PROTO_S ((int stack_pos, exp id));
133
extern  void set_env_off(int stack_pos, exp id);
105
extern  void envoff_operand PROTO_S ((exp id, int off));
134
extern  void envoff_operand(exp id, int off);
106
extern  void envsize_operand PROTO_S ((exp id));
135
extern  void envsize_operand(exp id);
107
extern  void ldisp PROTO_S ((void));
136
extern  void ldisp(void);
108
extern  char *margin;
137
extern  char *margin;
109
extern  char *spx;
138
extern  char *spx;
110
extern  char *sep;
139
extern  char *sep;
111
extern  void outreal PROTO_S ((exp e));
140
extern  void outreal(exp e);
112
extern  void rel_sp PROTO_S ((int i, int b));
141
extern  void rel_sp(int i, int b);
113
extern  void rel_cp PROTO_S ((int i, int b));
142
extern  void rel_cp(int i, int b);
114
extern  void rel_ap PROTO_S ((int i, int b));
143
extern  void rel_ap(int i, int b);
115
extern  void rel_ap1 PROTO_S ((int i, int b));
144
extern  void rel_ap1(int i, int b);
116
extern  void regn PROTO_S ((int regs, int rdisp, exp ldname, int le));
145
extern  void regn(int regs, int rdisp, exp ldname, int le);
117
extern  void ind_reg PROTO_S((int regs, int rdisp, int offset,
146
extern  void ind_reg (int regs, int rdisp, int offset, exp ldname, int b);
118
          exp ldname, int b));
-
 
119
extern  void extn PROTO_S ((exp id, int off, int b));
147
extern  void extn(exp id, int off, int b);
120
extern  void int_operand PROTO_S ((int k, int le));
148
extern  void int_operand(int k, int le);
121
extern  void const_extn PROTO_S ((exp ident, int noff));
149
extern  void const_extn(exp ident, int noff);
122
extern  void proc_extn PROTO_S ((exp ident, int noff));
150
extern  void proc_extn(exp ident, int noff);
123
extern  void label_operand PROTO_S ((exp e));
151
extern  void label_operand(exp e);
124
extern  void index_opnd PROTO_S ((where whmain, where wh, int scale));
152
extern  void index_opnd(where whmain, where wh, int scale);
125
extern  void mult_op PROTO_S((int inc, where rmain,
-
 
126
          where rind, int scale, where dest));
153
extern  void mult_op (int inc, where rmain, where rind, int scale, where dest);
127
extern  void caseins PROTO_S((int sz, exp arg, int min, int max, int *v,
154
extern  void caseins (int sz, exp arg, int min, int max, int *v,
128
	 int exhaustive, int in_eax, exp case_exp));
155
	 int exhaustive, int in_eax, exp case_exp);
129
extern int get_reg_no PROTO_S ((int regs));
156
extern int get_reg_no(int regs);
130
extern int extra_stack;
157
extern int extra_stack;
131
extern int max_extra_stack;
158
extern int max_extra_stack;
132
extern  void const_intnl PROTO_S ((int addr, int lab, int off));
159
extern  void const_intnl(int addr, int lab, int off);
133
extern  void discard_fstack PROTO_S ((void));
160
extern  void discard_fstack(void);
134
extern  void discard_st1 PROTO_S ((void));
161
extern  void discard_st1(void);
135
extern  void load_stack0 PROTO_S ((void));
162
extern  void load_stack0(void);
136
extern  int no_frame;
163
extern  int no_frame;
137
extern  void outbp PROTO_S ((void));
164
extern  void outbp(void);
138
extern  void set_stack_from_bp PROTO_S ((void));
165
extern  void set_stack_from_bp(void);
139
extern  int last_jump_label;
166
extern  int last_jump_label;
140
extern  void set_lv_label PROTO_S ((exp e));
167
extern  void set_lv_label(exp e);
141
extern void setcc PROTO_S ((int test_no, int sg, int shnm));
168
extern void setcc(int test_no, int sg, int shnm);
142
 
169
 
143
extern void testah PROTO_S ((int mask));
170
extern void testah(int mask);
144
extern exp make_extn PROTO_S ((char * n, shape s, int v));
171
extern exp make_extn(char * n, shape s, int v);
145
 
172
 
146
extern void rotshift64 PROTO_S ((int shft, int sig, where wshift));
173
extern void rotshift64(int shft, int sig, where wshift);
147
 
174
 
148
/* temporary */
175
/* temporary */
149
extern  void temp_push_fl PROTO_S ((void));
176
extern  void temp_push_fl(void);
150
extern  void temp_pop_fl PROTO_S ((void));
177
extern  void temp_pop_fl(void);
151
 
178
 
152
 
179
 
153
#endif
180
#endif
154
 
181