Pristine Ack-5.5
[Ack-5.5.git] / mach / mantra / int / mloop1
1 .sect .text
2 .sect .rom
3 .sect .data
4 .sect .bss
5 .sect .text
6 !-------------------------------------------------------------------------------
7 !       Main loop of the interpreter starts here
8 !----------------------------------------------------------------------------
9
10 loop:   move.l  #0,d0
11         move.b  (a3)+,d0        !opcode in d0
12         add.w   d0,d0           !opcode to index in table
13         add.w   d0,d0
14 #if prof
15         lea     timeinf,a1
16         move.l  0(a1,d0),d1     !get operation time
17         move.l  profile,a0
18         add.l   d1,(a0)
19 #endif
20 #if opfreq
21         lea     counttab,a0
22         add.l   #1,0(a0,d0)
23 #endif
24         jmp     dispat(pc,d0)           !jump to branch to the operation
25
26
27 !---------------------------------------------------------------------------
28 !       the BRANCH LIST follows
29 !--------------------------------------------------------------------------
30
31
32 dispat:
33
34
35 bra     loc_0 ; bra     loc_1 ; bra     loc_2 ; bra     loc_3
36 bra     loc_4 ; bra     loc_5 ; bra     loc_6 ; bra     loc_7
37 bra     loc_8 ; bra     loc_9 ; bra     loc_10 ; bra    loc_11
38 bra     loc_12 ; bra    loc_13 ; bra    loc_14 ; bra    loc_15
39 bra     loc_16 ; bra    loc_17 ; bra    loc_18 ; bra    loc_19
40 bra     loc_20 ; bra    loc_21 ; bra    loc_22 ; bra    loc_23
41 bra     loc_24 ; bra    loc_25 ; bra    loc_26 ; bra    loc_27
42 bra     loc_28 ; bra    loc_29 ; bra    loc_30 ; bra    loc_31
43 bra     loc_32 ; bra    loc_33 ; bra    aar_1W ; bra    adf_s0
44 bra     adi_1W ; bra    adi_2W ; bra    adp_l ; bra     adp_1
45 bra     adp_2 ; bra     adp_s0 ; bra    adp_s_1 ; bra   ads_1W
46 bra     and_1W ; bra    asp_1W ; bra    asp_2W ; bra    asp_3W
47 bra     asp_4W ; bra    asp_5W ; bra    asp_w0 ; bra    beq_l
48 bra     beq_s0 ; bra    bge_s0 ; bra    bgt_s0 ; bra    ble_s0
49 bra     blm_s0 ; bra    blt_s0 ; bra    bne_s0 ; bra    bra_l
50 bra     bra_s_1 ; bra   bra_s_2 ; bra   bra_s0 ; bra    bra_s1
51 bra     cal_1 ; bra     cal_2 ; bra     cal_3 ; bra     cal_4
52 bra     cal_5 ; bra     cal_6 ; bra     cal_7 ; bra     cal_8
53 bra     cal_9 ; bra     cal_10 ; bra    cal_11 ; bra    cal_12
54 bra     cal_13 ; bra    cal_14 ; bra    cal_15 ; bra    cal_16
55 bra     cal_17 ; bra    cal_18 ; bra    cal_19 ; bra    cal_20
56 bra     cal_21 ; bra    cal_22 ; bra    cal_23 ; bra    cal_24
57 bra     cal_25 ; bra    cal_26 ; bra    cal_27 ; bra    cal_28
58 bra     cal_s0 ; bra    cff_z ; bra     cif_z ; bra     cii_z
59 bra     cmf_s0 ; bra    cmi_1W ; bra    cmi_2W ; bra    cmp_z
60 bra     cms_s0 ; bra    csa_1W ; bra    csb_1W ; bra    dec_z
61 bra     dee_w0 ; bra    del_w_1 ; bra   dup_1W ; bra    dvf_s0
62 bra     dvi_1W ; bra    fil_l ; bra     inc_z ; bra     ine_lw
63 bra     ine_w0 ; bra    inl__1W ; bra   inl__2W ; bra   inl__3W
64 bra     inl_w_1 ; bra   inn_s0 ; bra    ior_1W ; bra    ior_s0
65 bra     lae_l ; bra     lae_w0 ; bra    lae_w1 ; bra    lae_w2
66 bra     lae_w3 ; bra    lae_w4 ; bra    lae_w5 ; bra    lae_w6
67 bra     lal_p ; bra     lal_n ; bra     lal_0 ; bra     lal__1
68 bra     lal_w0 ; bra    lal_w_1 ; bra   lal_w_2 ; bra   lar_1W
69 bra     ldc_0 ; bra     lde_lw ; bra    lde_w0 ; bra    ldl_0
70 bra     ldl_w_1 ; bra   lfr_1W ; bra    lfr_2W ; bra    lfr_s0
71 bra     lil_w_1 ; bra   lil_w0 ; bra    lil_0 ; bra     lil_1W
72 bra     lin_l ; bra     lin_s0 ; bra    lni_z ; bra     loc_l
73 bra     loc__1 ; bra    loc_s0 ; bra    loc_s_1 ; bra   loe_lw
74 bra     loe_w0 ; bra    loe_w1 ; bra    loe_w2 ; bra    loe_w3
75 bra     loe_w4 ; bra    lof_l ; bra     lof_1W ; bra    lof_2W
76 bra     lof_3W ; bra    lof_4W ; bra    lof_s0 ; bra    loi_l
77 bra     loi_1 ; bra     loi_1W ; bra    loi_2W ; bra    loi_3W
78 bra     loi_4W ; bra    loi_s0 ; bra    lol_pw ; bra    lol_nw
79 bra     lol_0 ; bra     lol_1W ; bra    lol_2W ; bra    lol_3W
80 bra     lol__1W ; bra   lol__2W ; bra   lol__3W ; bra   lol__4W
81 bra     lol__5W ; bra   lol__6W ; bra   lol__7W ; bra   lol__8W
82 bra     lol_w0 ; bra    lol_w_1 ; bra   lxa_1 ; bra     lxl_1
83 bra     lxl_2 ; bra     mlf_s0 ; bra    mli_1W ; bra    mli_2W
84 bra     rck_1W ; bra    ret_0 ; bra     ret_1W ; bra    ret_s0
85 bra     rmi_1W ; bra    sar_1W ; bra    sbf_s0 ; bra    sbi_1W
86 bra     sbi_2W ; bra    sdl_w_1 ; bra   set_s0 ; bra    sil_w_1
87 bra     sil_w0 ; bra    sli_1W ; bra    ste_lw ; bra    ste_w0
88 bra     ste_w1 ; bra    ste_w2 ; bra    stf_l ; bra     stf_1W
89 bra     stf_2W ; bra    stf_s0 ; bra    sti_1 ; bra     sti_1W
90 bra     sti_2W ; bra    sti_3W ; bra    sti_4W ; bra    sti_s0
91 bra     stl_pw ; bra    stl_nw ; bra    stl_0 ; bra     stl_1W
92 bra     stl__1W ; bra   stl__2W ; bra   stl__3W ; bra   stl__4W
93 bra     stl__5W ; bra   stl_w_1 ; bra   teq_z ; bra     tgt_z
94 bra     tlt_z ; bra     tne_z ; bra     zeq_l ; bra     zeq_s0
95 bra     zeq_s1 ; bra    zer_s0 ; bra    zge_s0 ; bra    zgt_s0
96 bra     zle_s0 ; bra    zlt_s0 ; bra    zne_s0 ; bra    zne_s_1
97 bra     zre_lw ; bra    zre_w0 ; bra    zrl__1W ; bra   zrl__2W
98 bra     zrl_w_1 ; bra   zrl_nw
99
100 .assert .-dispat-1016 == 0
101 !-----------------------------------------------------------------------------
102 !       Two byte opcodes come here for decoding of second byte
103 !----------------------------------------------------------------------------
104
105 escape1:
106         move.l  #0,d0
107         bra     1f
108         bra     escape2
109 1:      move.b  (a3)+,d0        !second byte ,extended opcode
110         add.w   d0,d0                   !make index of address
111         add.w   d0,d0
112         cmp.w   #640,d0         !check for range
113         bhi     e_illins        !jump to ill instruction procedure
114 #if prof
115         lea     timeinf1,a1
116         move.l  0(a1,d0),d1
117         add.l   d1,(a0)
118 #endif
119 #if opfreq
120         lea     counttab+1024,a0
121         add.l   #1,0(a0,d0)
122 #endif
123         jmp     dispae1(pc,d0)          !jump to the operation
124
125 !------------------------------------------------------------------------------
126 !       now dispatch table for escaped opcodes
127 !------------------------------------------------------------------------------
128
129 dispae1:      !dispatch escaped opcodes 1
130
131 bra     aar_l ; bra     aar_z ; bra     adf_l ; bra     adf_z
132 bra     adi_l ; bra     adi_z ; bra     ads_l ; bra     ads_z
133 bra     adu_l ; bra     adu_z ; bra     and_l ; bra     and_z
134 bra     asp_lw ; bra    ass_l ; bra     ass_z ; bra     bge_l
135 bra     bgt_l ; bra     ble_l ; bra     blm_l ; bra     bls_l
136 bra     bls_z ; bra     blt_l ; bra     bne_l ; bra     cai_z
137 bra     cal_l ; bra     cfi_z ; bra     cfu_z ; bra     ciu_z
138 bra     cmf_l ; bra     cmf_z ; bra     cmi_l ; bra     cmi_z
139 bra     cms_l ; bra     cms_z ; bra     cmu_l ; bra     cmu_z
140 bra     com_l ; bra     com_z ; bra     csa_l ; bra     csa_z
141 bra     csb_l ; bra     csb_z ; bra     cuf_z ; bra     cui_z
142 bra     cuu_z ; bra     dee_lw ; bra    del_pw ; bra    del_nw
143 bra     dup_l ; bra     dus_l ; bra     dus_z ; bra     dvf_l
144 bra     dvf_z ; bra     dvi_l ; bra     dvi_z ; bra     dvu_l
145 bra     dvu_z ; bra     fef_l ; bra     fef_z ; bra     fif_l
146 bra     fif_z ; bra     inl_pw ; bra    inl_nw ; bra    inn_l
147 bra     inn_z ; bra     ior_l ; bra     ior_z ; bra     lar_l
148 bra     lar_z ; bra     ldc_l ; bra     ldf_l ; bra     ldl_pw
149 bra     ldl_nw ; bra    lfr_l ; bra     lil_pw ; bra    lil_nw
150 bra     lim_z ; bra     los_l ; bra     los_z ; bra     lor_s0
151 bra     lpi_l ; bra     lxa_l ; bra     lxl_l ; bra     mlf_l
152 bra     mlf_z ; bra     mli_l ; bra     mli_z ; bra     mlu_l
153 bra     mlu_z ; bra     mon_z ; bra     ngf_l ; bra     ngf_z
154 bra     ngi_l ; bra     ngi_z ; bra     nop_z ; bra     rck_l
155 bra     rck_z ; bra     ret_l ; bra     rmi_l ; bra     rmi_z
156 bra     rmu_l ; bra     rmu_z ; bra     rol_l ; bra     rol_z
157 bra     ror_l ; bra     ror_z ; bra     rtt_z ; bra     sar_l
158 bra     sar_z ; bra     sbf_l ; bra     sbf_z ; bra     sbi_l
159 bra     sbi_z ; bra     sbs_l ; bra     sbs_z ; bra     sbu_l
160 bra     sbu_z ; bra     sde_l ; bra     sdf_l ; bra     sdl_pw
161 bra     sdl_nw ; bra    set_l ; bra     set_z ; bra     sig_z
162 bra     sil_pw ; bra    sil_nw ; bra    sim_z ; bra     sli_l
163
164
165 bra     sli_z ; bra     slu_l ; bra     slu_z ; bra     sri_l
166 bra     sri_z ; bra     sru_l ; bra     sru_z ; bra     sti_l
167 bra     sts_l ; bra     sts_z ; bra     str_s0 ; bra    tge_z
168 bra     tle_z ; bra     trp_z ; bra     xor_l ; bra     xor_z
169 bra     zer_l ; bra     zer_z ; bra     zge_l ; bra     zgt_l
170 bra     zle_l ; bra     zlt_l ; bra     zne_l ; bra     zrf_l
171 bra     zrf_z ; bra     zrl_pw ; bra    dch_z ; bra     exg_s0
172 bra     exg_l ; bra     exg_z ; bra     lpb_z ; bra     gto_l
173
174 .assert .-dispae1-640 == 0
175
176 !----------------------------------------------------------------------------
177
178 escape2:
179         move.l  #0,d0
180         move.b  (a3)+,d0        !opcode
181         sub.l   #4,sp
182         move.b  (a3)+,(sp)
183         move.b  (a3)+,1(sp)
184         move.b  (a3)+,2(sp)
185         move.b  (a3)+,3(sp)
186         add.w   d0,d0
187         add.w   d0,d0
188         cmp.w   #228,d0
189         bhi     e_illins
190 #if prof
191         lea     timeinf2,a1
192         move.l  0(a1,d0),d1
193         add.l   d1,(a0)
194 #endif
195 #if opfreq
196         lea     counttab+1664,a1
197         add.l   #1,0(a1,d0)
198 #endif
199         jmp     dispae2(pc,d0)
200
201
202 !---------------------------------------------------------------------------
203 !       BRANCH TABLE FOR SECOND ESCAPED OPCODES
204 !---------------------------------------------------------------------------
205
206 dispae2:
207 bra     ldc_q   ; bra   lae_q   ; bra   lal_qp  ; bra   lal_qn
208 bra     lde_qw  ; bra   ldf_q   ; bra   ldl_qpw ; bra   ldl_qnw
209 bra     lil_qpw ; bra   lil_qnw ; bra   loc_q   ; bra   loe_qw
210 bra     lof_q    ; bra  lol_qpw ; bra   lol_qnw ; bra   lpi_q
211 bra     adp_q   ; bra   asp_qw  ; bra   beq_q   ; bra   bge_q
212 bra     bgt_q   ; bra   ble_q   ; bra   blm_q   ; bra   blt_q
213 bra     bne_q   ; bra   bra_q   ; bra   cal_q   ; bra   dee_qw
214 bra     del_qpw ; bra   del_qnw ; bra   fil_q   ; bra   gto_q
215 bra     ine_qw  ; bra   inl_qpw ; bra   inl_qnw ; bra   lin_q
216 bra     sde_q   ; bra   sdf_q   ; bra   sdl_qpw ; bra   sdl_qnw
217 bra     sil_qpw ; bra   sil_qnw ; bra   ste_qw  ; bra   stf_q
218 bra     stl_qpw ; bra   stl_qnw ; bra   zeq_q   ; bra   zge_q
219 bra     zgt_q   ; bra   zle_q   ; bra   zlt_q   ; bra   zne_q
220 bra     zre_qw  ; bra   zrl_qpw ; bra   zrl_qnw ; bra   loi_q
221 bra     sti_q
222
223 .assert .-dispae2-228 == 0
224
225 !------------------------------------------------------------------------------
226 !       timeinf tables, first the unescaped opcodes these tables are parallel
227 !       to the tables   dispat , dispae1 and dispae2 .Each entry contains a
228 !       reasonable estimate of the number of processor state cycles needed to
229 !       execute that instruction. The exact amount cannot be supplied, since
230 !       this can depend rather heavily on the size of the object in set, array
231 !       case instructions etc.  The table timeinf also contains, added to each
232 !       entry, the number of processor state cycles needed to find the
233 !       instruction. This number is currently 22 .Also the number of processor
234 !       state cycles to return from the instruction is included. The number is
235 !       computed for the case that all check and runinf options are off.
236 !       For escape1 and escape2 in timeinf the full decoding is listed .
237 !       In timeinf1 and timeinf2 only a rough estimate is given for the
238 !       processor state cycles needed to execute the instruction and to return
239 !       from it .
240 !------------------------------------------------------------------------------
241
242 #if prof
243
244         .sect .data
245 #ifdef lword
246 timeinf:
247 .data4 32 ; .data4 37 ; .data4 37 ; .data4 37 
248 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
249 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37 
250 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
251 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37 
252 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
253 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37 
254 .data4 37 ; .data4 37 ; .data4 37 ; .data4 37
255 .data4 37 ; .data4 37 ; .data4 134 ; .data4 00 
256 .data4 42 ; .data4 00 ; .data4 56 ; .data4 40
257 .data4 40 ; .data4 42 ; .data4 42 ; .data4 42 
258 .data4 42 ; .data4 38 ; .data4 38 ; .data4 38
259 .data4 38 ; .data4 38 ; .data4 42 ; .data4 71 
260 .data4 52 ; .data4 52 ; .data4 52 ; .data4 52
261 .data4 118 ; .data4 52 ; .data4 52 ; .data4 55 
262 .data4 45 ; .data4 45 ; .data4 36 ; .data4 43
263 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
264 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231
265 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
266 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231
267 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
268 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231
269 .data4 231 ; .data4 231 ; .data4 231 ; .data4 231 
270 .data4 233 ; .data4 00 ; .data4 00 ; .data4 75
271 .data4 00 ; .data4 58 ; .data4 00 ; .data4 54
272 .data4 91 ; .data4 113 ; .data4 116 ; .data4 38
273 .data4 59 ; .data4 59 ; .data4 36 ; .data4 00 
274 .data4 1100 ; .data4 77; .data4 32 ; .data4 66
275 .data4 51 ; .data4 45 ; .data4 49 ; .data4 49 
276 .data4 53 ; .data4 127 ; .data4 52 ; .data4 152
277 .data4 54 ; .data4 57 ; .data4 57 ; .data4 57 
278 .data4 57 ; .data4 57 ; .data4 57 ; .data4 57
279 .data4 72 ; .data4 61 ; .data4 34 ; .data4 37 
280 .data4 59 ; .data4 51 ; .data4 58 ; .data4 178
281 .data4 48 ; .data4 83 ; .data4 66 ; .data4 50 
282 .data4 66 ; .data4 63 ; .data4 88 ; .data4 140
283 .data4 60 ; .data4 62 ; .data4 44 ; .data4 44
284 .data4 66 ; .data4 49 ; .data4 41 ; .data4 52
285 .data4 36 ; .data4 38 ; .data4 42 ; .data4 69
286 .data4 63 ; .data4 63 ; .data4 63 ; .data4 63
287 .data4 63 ; .data4 66 ; .data4 54 ; .data4 59 
288 .data4 59 ; .data4 59 ; .data4 57 ; .data4 276
289 .data4 44 ; .data4 75 ; .data4 91 ; .data4 107
290 .data4 123 ; .data4 193 ; .data4 68 ; .data4 68
291 .data4 38 ; .data4 38 ; .data4 38 ; .data4 38 
292 .data4 38 ; .data4 38 ; .data4 38 ; .data4 38
293 .data4 38 ; .data4 38 ; .data4 38 ; .data4 38
294 .data4 50 ; .data4 50 ; .data4 58 ; .data4 38
295 .data4 64 ; .data4 00 ; .data4 205 ; .data4 00
296 .data4 64 ; .data4 79 ; .data4 112 ; .data4 171
297 .data4 1094 ; .data4 136 ; .data4 00 ; .data4 38
298 .data4 00 ; .data4 66 ; .data4 144 ; .data4 60
299 .data4 62 ; .data4 57 ; .data4 71 ; .data4 54
300 .data4 61 ; .data4 61 ; .data4 72 ; .data4 47
301 .data4 54 ; .data4 60 ; .data4 46 ; .data4 58
302 .data4 73 ; .data4 88; .data4 103 ; .data4 181
303 .data4 68 ; .data4 73 ; .data4 38 ; .data4 38 
304 .data4 38 ; .data4 38 ; .data4 38 ; .data4 38
305 .data4 38 ; .data4 54 ; .data4 47 ; .data4 47 
306 .data4 47 ; .data4 47 ; .data4 56 ; .data4 47
307 .data4 50 ; .data4 91 ; .data4 47 ; .data4 47 
308 .data4 47 ; .data4 47 ; .data4 47 ; .data4 51
309 .data4 71 ; .data4 54 ; .data4 38 ; .data4 38
310 .data4 54 ; .data4 73 ; .data4 63 ; .data4 99 
311
312 timeinf1:
313 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
314 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
315 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
316 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
317 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
318 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
319 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
320 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
321 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
322 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
323 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
324 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
325 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
326 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
327 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
328 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
329 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
330 .data4 40 ; .data4 40 ; .data4 40 ; .data4 58
331 .data4 63 ; .data4 40 ; .data4 40 ; .data4 40 
332 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
333 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
334 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
335 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
336 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
337 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
338 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
339 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
340 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
341 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
342 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
343 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
344 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
345 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
346 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
347 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
348 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
349 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
350 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40
351 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
352 .data4 40 ; .data4 40 ; .data4 40 ; .data4 40 
353
354 timeinf2:
355 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
356 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
357 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
358 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
359 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
360 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
361 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
362 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
363 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
364 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
365 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
366 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
367 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29 
368 .data4 29 ; .data4 29 ; .data4 29 ; .data4 29
369 .data4 29
370 #else
371 timeinf:
372 .data4 30 ; .data4 35 ; .data4 35 ; .data4 35 
373 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
374 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
375 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
376 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
377 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
378 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
379 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
380 .data4 35 ; .data4 35 ; .data4 127 ; .data4 00 
381 .data4 36 ; .data4 42 ; .data4 56 ; .data4 40
382 .data4 40 ; .data4 42 ; .data4 42 ; .data4 42 
383 .data4 36 ; .data4 39 ; .data4 39 ; .data4 39
384 .data4 39 ; .data4 39 ; .data4 41 ; .data4 67 
385 .data4 48 ; .data4 48 ; .data4 48 ; .data4 48
386 .data4 97 ; .data4 48 ; .data4 48 ; .data4 55 
387 .data4 45 ; .data4 45 ; .data4 36 ; .data4 43
388 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
389 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211
390 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
391 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211
392 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
393 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211
394 .data4 211 ; .data4 211 ; .data4 211 ; .data4 211 
395 .data4 213 ; .data4 00 ; .data4 00 ; .data4 66
396 .data4 00 ; .data4 50 ; .data4 54 ; .data4 54
397 .data4 75 ; .data4 105 ; .data4 106 ; .data4 34
398 .data4 53 ; .data4 54 ; .data4 32 ; .data4 00 
399 .data4 146 ; .data4 77; .data4 30 ; .data4 61
400 .data4 47 ; .data4 43 ; .data4 43 ; .data4 43 
401 .data4 49 ; .data4 104 ; .data4 36 ; .data4 121
402 .data4 54 ; .data4 56 ; .data4 56 ; .data4 56 
403 .data4 56 ; .data4 56 ; .data4 56 ; .data4 56
404 .data4 72 ; .data4 61 ; .data4 34 ; .data4 37 
405 .data4 58 ; .data4 50 ; .data4 57 ; .data4 160
406 .data4 40 ; .data4 73 ; .data4 56 ; .data4 42 
407 .data4 56 ; .data4 59 ; .data4 80 ; .data4 111
408 .data4 54 ; .data4 56 ; .data4 40 ; .data4 40 
409 .data4 66 ; .data4 49 ; .data4 41 ; .data4 50
410 .data4 32 ; .data4 36 ; .data4 38 ; .data4 63 
411 .data4 57 ; .data4 57 ; .data4 57 ; .data4 57
412 .data4 57 ; .data4 62 ; .data4 48 ; .data4 53 
413 .data4 53 ; .data4 53 ; .data4 53 ; .data4 227
414 .data4 42 ; .data4 69 ; .data4 83 ; .data4 97 
415 .data4 111 ; .data4 160 ; .data4 62 ; .data4 62
416 .data4 34 ; .data4 34 ; .data4 34 ; .data4 34 
417 .data4 34 ; .data4 34 ; .data4 34 ; .data4 34
418 .data4 34 ; .data4 34 ; .data4 34 ; .data4 34 
419 .data4 45 ; .data4 45 ; .data4 58 ; .data4 38
420 .data4 64 ; .data4 00 ; .data4 71 ; .data4 200 
421 .data4 56 ; .data4 79 ; .data4 103 ; .data4 156
422 .data4 148 ; .data4 121 ; .data4 00 ; .data4 34 
423 .data4 38 ; .data4 57 ; .data4 128 ; .data4 55
424 .data4 57 ; .data4 50 ; .data4 66 ; .data4 49 
425 .data4 56 ; .data4 56 ; .data4 68 ; .data4 43
426 .data4 50 ; .data4 56 ; .data4 46 ; .data4 54 
427 .data4 65 ; .data4 76; .data4 87 ; .data4 138
428 .data4 63 ; .data4 68 ; .data4 34 ; .data4 34 
429 .data4 34 ; .data4 34 ; .data4 34 ; .data4 34
430 .data4 34 ; .data4 49 ; .data4 41 ; .data4 41 
431 .data4 41 ; .data4 41 ; .data4 54 ; .data4 45
432 .data4 48 ; .data4 73 ; .data4 45 ; .data4 45 
433 .data4 45 ; .data4 45 ; .data4 45 ; .data4 49
434 .data4 66 ; .data4 49 ; .data4 34 ; .data4 34 
435 .data4 49 ; .data4 68 ; .data4 63 ; .data4 99 
436
437 timeinf1:
438 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
439 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
440 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
441 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
442 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
443 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
444 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
445 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
446 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
447 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
448 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
449 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
450 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
451 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
452 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
453 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
454 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
455 .data4 35 ; .data4 35 ; .data4 35 ; .data4 49
456 .data4 54 ; .data4 35 ; .data4 35 ; .data4 35 
457 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
458 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
459 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
460 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
461 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
462 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
463 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
464 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
465 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
466 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
467 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
468 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
469 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
470 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
471 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
472 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
473 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
474 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
475 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35
476 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
477 .data4 35 ; .data4 35 ; .data4 35 ; .data4 35 
478
479 timeinf2:
480 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
481 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
482 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
483 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
484 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
485 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
486 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
487 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
488 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
489 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
490 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
491 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
492 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25 
493 .data4 25 ; .data4 25 ; .data4 25 ; .data4 25
494 .data4 25
495 #endif
496 #endif
497         .sect .text