ftest.s revision 1.1 1 1.1 is #
2 1.1 is # $NetBSD: ftest.s,v 1.1 2000/04/14 20:24:39 is Exp $
3 1.1 is #
4 1.1 is
5 1.1 is #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 1.1 is # MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
7 1.1 is # M68000 Hi-Performance Microprocessor Division
8 1.1 is # M68060 Software Package Production Release
9 1.1 is #
10 1.1 is # M68060 Software Package Copyright (C) 1993, 1994, 1995, 1996 Motorola Inc.
11 1.1 is # All rights reserved.
12 1.1 is #
13 1.1 is # THE SOFTWARE is provided on an "AS IS" basis and without warranty.
14 1.1 is # To the maximum extent permitted by applicable law,
15 1.1 is # MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
16 1.1 is # INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
17 1.1 is # FOR A PARTICULAR PURPOSE and any warranty against infringement with
18 1.1 is # regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
19 1.1 is # and any accompanying written materials.
20 1.1 is #
21 1.1 is # To the maximum extent permitted by applicable law,
22 1.1 is # IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
23 1.1 is # (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
24 1.1 is # BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS)
25 1.1 is # ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
26 1.1 is #
27 1.1 is # Motorola assumes no responsibility for the maintenance and support
28 1.1 is # of the SOFTWARE.
29 1.1 is #
30 1.1 is # You are hereby granted a copyright license to use, modify, and distribute the
31 1.1 is # SOFTWARE so long as this entire notice is retained without alteration
32 1.1 is # in any modified and/or redistributed versions, and that such modified
33 1.1 is # versions are clearly identified as such.
34 1.1 is # No licenses are granted by implication, estoppel or otherwise under any
35 1.1 is # patents or trademarks of Motorola, Inc.
36 1.1 is #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 1.1 is
38 1.1 is #############################################
39 1.1 is set SREGS, -64
40 1.1 is set IREGS, -128
41 1.1 is set IFPREGS, -224
42 1.1 is set SFPREGS, -320
43 1.1 is set IFPCREGS, -332
44 1.1 is set SFPCREGS, -344
45 1.1 is set ICCR, -346
46 1.1 is set SCCR, -348
47 1.1 is set TESTCTR, -352
48 1.1 is set DATA, -384
49 1.1 is
50 1.1 is #############################################
51 1.1 is TESTTOP:
52 1.1 is bra.l _060TESTS_
53 1.1 is short 0x0000
54 1.1 is
55 1.1 is bra.l _060TESTS_unimp
56 1.1 is short 0x0000
57 1.1 is
58 1.1 is bra.l _060TESTS_enable
59 1.1 is short 0x0000
60 1.1 is
61 1.1 is start_str:
62 1.1 is string "Testing 68060 FPSP started:\n"
63 1.1 is
64 1.1 is start_str_unimp:
65 1.1 is string "Testing 68060 FPSP unimplemented instruction started:\n"
66 1.1 is
67 1.1 is start_str_enable:
68 1.1 is string "Testing 68060 FPSP exception enabled started:\n"
69 1.1 is
70 1.1 is pass_str:
71 1.1 is string "passed\n"
72 1.1 is
73 1.1 is fail_str:
74 1.1 is string " failed\n"
75 1.1 is
76 1.1 is align 0x4
77 1.1 is chk_test:
78 1.1 is tst.l %d0
79 1.1 is bne.b test_fail
80 1.1 is test_pass:
81 1.1 is pea pass_str(%pc)
82 1.1 is bsr.l _print_str
83 1.1 is addq.l &0x4,%sp
84 1.1 is rts
85 1.1 is test_fail:
86 1.1 is mov.l %d1,-(%sp)
87 1.1 is bsr.l _print_num
88 1.1 is addq.l &0x4,%sp
89 1.1 is
90 1.1 is pea fail_str(%pc)
91 1.1 is bsr.l _print_str
92 1.1 is addq.l &0x4,%sp
93 1.1 is rts
94 1.1 is
95 1.1 is #############################################
96 1.1 is _060TESTS_:
97 1.1 is link %a6,&-384
98 1.1 is
99 1.1 is movm.l &0x3f3c,-(%sp)
100 1.1 is fmovm.x &0xff,-(%sp)
101 1.1 is
102 1.1 is pea start_str(%pc)
103 1.1 is bsr.l _print_str
104 1.1 is addq.l &0x4,%sp
105 1.1 is
106 1.1 is ### effadd
107 1.1 is clr.l TESTCTR(%a6)
108 1.1 is pea effadd_str(%pc)
109 1.1 is bsr.l _print_str
110 1.1 is addq.l &0x4,%sp
111 1.1 is
112 1.1 is bsr.l effadd_0
113 1.1 is
114 1.1 is bsr.l chk_test
115 1.1 is
116 1.1 is ### unsupp
117 1.1 is clr.l TESTCTR(%a6)
118 1.1 is pea unsupp_str(%pc)
119 1.1 is bsr.l _print_str
120 1.1 is addq.l &0x4,%sp
121 1.1 is
122 1.1 is bsr.l unsupp_0
123 1.1 is
124 1.1 is bsr.l chk_test
125 1.1 is
126 1.1 is ### ovfl non-maskable
127 1.1 is clr.l TESTCTR(%a6)
128 1.1 is pea ovfl_nm_str(%pc)
129 1.1 is bsr.l _print_str
130 1.1 is bsr.l ovfl_nm_0
131 1.1 is
132 1.1 is bsr.l chk_test
133 1.1 is
134 1.1 is ### unfl non-maskable
135 1.1 is clr.l TESTCTR(%a6)
136 1.1 is pea unfl_nm_str(%pc)
137 1.1 is bsr.l _print_str
138 1.1 is bsr.l unfl_nm_0
139 1.1 is
140 1.1 is bsr.l chk_test
141 1.1 is
142 1.1 is movm.l (%sp)+,&0x3cfc
143 1.1 is fmovm.x (%sp)+,&0xff
144 1.1 is
145 1.1 is unlk %a6
146 1.1 is rts
147 1.1 is
148 1.1 is _060TESTS_unimp:
149 1.1 is link %a6,&-384
150 1.1 is
151 1.1 is movm.l &0x3f3c,-(%sp)
152 1.1 is fmovm.x &0xff,-(%sp)
153 1.1 is
154 1.1 is pea start_str_unimp(%pc)
155 1.1 is bsr.l _print_str
156 1.1 is addq.l &0x4,%sp
157 1.1 is
158 1.1 is ### unimp
159 1.1 is clr.l TESTCTR(%a6)
160 1.1 is pea unimp_str(%pc)
161 1.1 is bsr.l _print_str
162 1.1 is addq.l &0x4,%sp
163 1.1 is
164 1.1 is bsr.l unimp_0
165 1.1 is
166 1.1 is bsr.l chk_test
167 1.1 is
168 1.1 is movm.l (%sp)+,&0x3cfc
169 1.1 is fmovm.x (%sp)+,&0xff
170 1.1 is
171 1.1 is unlk %a6
172 1.1 is rts
173 1.1 is
174 1.1 is _060TESTS_enable:
175 1.1 is link %a6,&-384
176 1.1 is
177 1.1 is movm.l &0x3f3c,-(%sp)
178 1.1 is fmovm.x &0xff,-(%sp)
179 1.1 is
180 1.1 is pea start_str_enable(%pc)
181 1.1 is bsr.l _print_str
182 1.1 is addq.l &0x4,%sp
183 1.1 is
184 1.1 is ### snan
185 1.1 is clr.l TESTCTR(%a6)
186 1.1 is pea snan_str(%pc)
187 1.1 is bsr.l _print_str
188 1.1 is bsr.l snan_0
189 1.1 is
190 1.1 is bsr.l chk_test
191 1.1 is
192 1.1 is ### operr
193 1.1 is clr.l TESTCTR(%a6)
194 1.1 is pea operr_str(%pc)
195 1.1 is bsr.l _print_str
196 1.1 is bsr.l operr_0
197 1.1 is
198 1.1 is bsr.l chk_test
199 1.1 is
200 1.1 is ### ovfl
201 1.1 is clr.l TESTCTR(%a6)
202 1.1 is pea ovfl_str(%pc)
203 1.1 is bsr.l _print_str
204 1.1 is bsr.l ovfl_0
205 1.1 is
206 1.1 is bsr.l chk_test
207 1.1 is
208 1.1 is ### unfl
209 1.1 is clr.l TESTCTR(%a6)
210 1.1 is pea unfl_str(%pc)
211 1.1 is bsr.l _print_str
212 1.1 is bsr.l unfl_0
213 1.1 is
214 1.1 is bsr.l chk_test
215 1.1 is
216 1.1 is ### dz
217 1.1 is clr.l TESTCTR(%a6)
218 1.1 is pea dz_str(%pc)
219 1.1 is bsr.l _print_str
220 1.1 is bsr.l dz_0
221 1.1 is
222 1.1 is bsr.l chk_test
223 1.1 is
224 1.1 is ### inexact
225 1.1 is clr.l TESTCTR(%a6)
226 1.1 is pea inex_str(%pc)
227 1.1 is bsr.l _print_str
228 1.1 is bsr.l inex_0
229 1.1 is
230 1.1 is bsr.l chk_test
231 1.1 is
232 1.1 is movm.l (%sp)+,&0x3cfc
233 1.1 is fmovm.x (%sp)+,&0xff
234 1.1 is
235 1.1 is unlk %a6
236 1.1 is rts
237 1.1 is
238 1.1 is #############################################
239 1.1 is #############################################
240 1.1 is
241 1.1 is unimp_str:
242 1.1 is string "\tUnimplemented FP instructions..."
243 1.1 is
244 1.1 is align 0x4
245 1.1 is unimp_0:
246 1.1 is addq.l &0x1,TESTCTR(%a6)
247 1.1 is
248 1.1 is movm.l DEF_REGS(%pc),&0x3fff
249 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
250 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
251 1.1 is
252 1.1 is mov.w &0x0000,ICCR(%a6)
253 1.1 is movm.l &0x7fff,IREGS(%a6)
254 1.1 is fmovm.x &0xff,IFPREGS(%a6)
255 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
256 1.1 is
257 1.1 is mov.l &0x40000000,DATA+0x0(%a6)
258 1.1 is mov.l &0xc90fdaa2,DATA+0x4(%a6)
259 1.1 is mov.l &0x2168c235,DATA+0x8(%a6)
260 1.1 is
261 1.1 is mov.w &0x0000,%cc
262 1.1 is unimp_0_pc:
263 1.1 is fsin.x DATA(%a6),%fp0
264 1.1 is
265 1.1 is mov.w %cc,SCCR(%a6)
266 1.1 is movm.l &0x7fff,SREGS(%a6)
267 1.1 is fmovm.x &0xff,SFPREGS(%a6)
268 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
269 1.1 is
270 1.1 is mov.l &0xbfbf0000,IFPREGS+0x0(%a6)
271 1.1 is mov.l &0x80000000,IFPREGS+0x4(%a6)
272 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
273 1.1 is mov.l &0x08000208,IFPCREGS+0x4(%a6)
274 1.1 is lea unimp_0_pc(%pc),%a0
275 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
276 1.1 is
277 1.1 is bsr.l chkregs
278 1.1 is tst.b %d0
279 1.1 is bne.l error
280 1.1 is
281 1.1 is bsr.l chkfpregs
282 1.1 is tst.b %d0
283 1.1 is bne.l error
284 1.1 is
285 1.1 is unimp_1:
286 1.1 is addq.l &0x1,TESTCTR(%a6)
287 1.1 is
288 1.1 is movm.l DEF_REGS(%pc),&0x3fff
289 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
290 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
291 1.1 is
292 1.1 is mov.w &0x0000,ICCR(%a6)
293 1.1 is movm.l &0x7fff,IREGS(%a6)
294 1.1 is fmovm.x &0xff,IFPREGS(%a6)
295 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
296 1.1 is
297 1.1 is mov.l &0x3ffe0000,DATA+0x0(%a6)
298 1.1 is mov.l &0xc90fdaa2,DATA+0x4(%a6)
299 1.1 is mov.l &0x2168c235,DATA+0x8(%a6)
300 1.1 is
301 1.1 is mov.w &0x0000,%cc
302 1.1 is unimp_1_pc:
303 1.1 is ftan.x DATA(%a6),%fp0
304 1.1 is
305 1.1 is mov.w %cc,SCCR(%a6)
306 1.1 is movm.l &0x7fff,SREGS(%a6)
307 1.1 is fmovm.x &0xff,SFPREGS(%a6)
308 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
309 1.1 is
310 1.1 is mov.l &0x3fff0000,IFPREGS+0x0(%a6)
311 1.1 is mov.l &0x80000000,IFPREGS+0x4(%a6)
312 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
313 1.1 is mov.l &0x00000208,IFPCREGS+0x4(%a6)
314 1.1 is lea unimp_1_pc(%pc),%a0
315 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
316 1.1 is
317 1.1 is bsr.l chkregs
318 1.1 is tst.b %d0
319 1.1 is bne.l error
320 1.1 is
321 1.1 is bsr.l chkfpregs
322 1.1 is tst.b %d0
323 1.1 is bne.l error
324 1.1 is
325 1.1 is # fmovecr
326 1.1 is unimp_2:
327 1.1 is addq.l &0x1,TESTCTR(%a6)
328 1.1 is
329 1.1 is movm.l DEF_REGS(%pc),&0x3fff
330 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
331 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
332 1.1 is
333 1.1 is mov.w &0x0000,ICCR(%a6)
334 1.1 is movm.l &0x7fff,IREGS(%a6)
335 1.1 is fmovm.x &0xff,IFPREGS(%a6)
336 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
337 1.1 is
338 1.1 is mov.w &0x0000,%cc
339 1.1 is unimp_2_pc:
340 1.1 is fmovcr.x &0x31,%fp0
341 1.1 is
342 1.1 is mov.w %cc,SCCR(%a6)
343 1.1 is movm.l &0x7fff,SREGS(%a6)
344 1.1 is fmovm.x &0xff,SFPREGS(%a6)
345 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
346 1.1 is
347 1.1 is mov.l &0x40000000,IFPREGS+0x0(%a6)
348 1.1 is mov.l &0x935d8ddd,IFPREGS+0x4(%a6)
349 1.1 is mov.l &0xaaa8ac17,IFPREGS+0x8(%a6)
350 1.1 is mov.l &0x00000208,IFPCREGS+0x4(%a6)
351 1.1 is lea unimp_2_pc(%pc),%a0
352 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
353 1.1 is
354 1.1 is bsr.l chkregs
355 1.1 is tst.b %d0
356 1.1 is bne.l error
357 1.1 is
358 1.1 is bsr.l chkfpregs
359 1.1 is tst.b %d0
360 1.1 is bne.l error
361 1.1 is
362 1.1 is # fscc
363 1.1 is unimp_3:
364 1.1 is addq.l &0x1,TESTCTR(%a6)
365 1.1 is
366 1.1 is movm.l DEF_REGS(%pc),&0x3fff
367 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
368 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
369 1.1 is
370 1.1 is fmov.l &0x0f000000,%fpsr
371 1.1 is mov.l &0x00,%d7
372 1.1 is
373 1.1 is mov.w &0x0000,ICCR(%a6)
374 1.1 is movm.l &0x7fff,IREGS(%a6)
375 1.1 is fmovm.x &0xff,IFPREGS(%a6)
376 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
377 1.1 is
378 1.1 is mov.w &0x0000,%cc
379 1.1 is unimp_3_pc:
380 1.1 is fsgt %d7
381 1.1 is
382 1.1 is mov.w %cc,SCCR(%a6)
383 1.1 is movm.l &0x7fff,SREGS(%a6)
384 1.1 is fmovm.x &0xff,SFPREGS(%a6)
385 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
386 1.1 is mov.l &0x0f008080,IFPCREGS+0x4(%a6)
387 1.1 is lea unimp_3_pc(%pc),%a0
388 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
389 1.1 is
390 1.1 is bsr.l chkregs
391 1.1 is tst.b %d0
392 1.1 is bne.l error
393 1.1 is
394 1.1 is bsr.l chkfpregs
395 1.1 is tst.b %d0
396 1.1 is bne.l error
397 1.1 is
398 1.1 is # fdbcc
399 1.1 is unimp_4:
400 1.1 is addq.l &0x1,TESTCTR(%a6)
401 1.1 is
402 1.1 is movm.l DEF_REGS(%pc),&0x3fff
403 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
404 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
405 1.1 is
406 1.1 is fmov.l &0x0f000000,%fpsr
407 1.1 is mov.l &0x2,%d7
408 1.1 is
409 1.1 is mov.w &0x0000,ICCR(%a6)
410 1.1 is movm.l &0x7fff,IREGS(%a6)
411 1.1 is fmovm.x &0xff,IFPREGS(%a6)
412 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
413 1.1 is
414 1.1 is mov.w &0x0000,%cc
415 1.1 is unimp_4_pc:
416 1.1 is fdbgt.w %d7,unimp_4_pc
417 1.1 is
418 1.1 is mov.w %cc,SCCR(%a6)
419 1.1 is movm.l &0x7fff,SREGS(%a6)
420 1.1 is fmovm.x &0xff,SFPREGS(%a6)
421 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
422 1.1 is mov.w &0xffff,IREGS+28+2(%a6)
423 1.1 is mov.l &0x0f008080,IFPCREGS+0x4(%a6)
424 1.1 is lea unimp_4_pc(%pc),%a0
425 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
426 1.1 is
427 1.1 is bsr.l chkregs
428 1.1 is tst.b %d0
429 1.1 is bne.l error
430 1.1 is
431 1.1 is bsr.l chkfpregs
432 1.1 is tst.b %d0
433 1.1 is bne.l error
434 1.1 is
435 1.1 is # ftrapcc
436 1.1 is unimp_5:
437 1.1 is addq.l &0x1,TESTCTR(%a6)
438 1.1 is
439 1.1 is movm.l DEF_REGS(%pc),&0x3fff
440 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
441 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
442 1.1 is
443 1.1 is fmov.l &0x0f000000,%fpsr
444 1.1 is
445 1.1 is mov.w &0x0000,ICCR(%a6)
446 1.1 is movm.l &0x7fff,IREGS(%a6)
447 1.1 is fmovm.x &0xff,IFPREGS(%a6)
448 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
449 1.1 is
450 1.1 is mov.w &0x0000,%cc
451 1.1 is unimp_5_pc:
452 1.1 is ftpgt.l &0xabcdef01
453 1.1 is
454 1.1 is mov.w %cc,SCCR(%a6)
455 1.1 is movm.l &0x7fff,SREGS(%a6)
456 1.1 is fmovm.x &0xff,SFPREGS(%a6)
457 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
458 1.1 is mov.l &0x0f008080,IFPCREGS+0x4(%a6)
459 1.1 is lea unimp_5_pc(%pc),%a0
460 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
461 1.1 is
462 1.1 is bsr.l chkregs
463 1.1 is tst.b %d0
464 1.1 is bne.l error
465 1.1 is
466 1.1 is bsr.l chkfpregs
467 1.1 is tst.b %d0
468 1.1 is bne.l error
469 1.1 is
470 1.1 is clr.l %d0
471 1.1 is rts
472 1.1 is
473 1.1 is #############################################
474 1.1 is
475 1.1 is effadd_str:
476 1.1 is string "\tUnimplemented <ea>..."
477 1.1 is
478 1.1 is align 0x4
479 1.1 is effadd_0:
480 1.1 is addq.l &0x1,TESTCTR(%a6)
481 1.1 is
482 1.1 is movm.l DEF_REGS(%pc),&0x3fff
483 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
484 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
485 1.1 is
486 1.1 is mov.w &0x0000,ICCR(%a6)
487 1.1 is movm.l &0x7fff,IREGS(%a6)
488 1.1 is fmovm.x &0xff,IFPREGS(%a6)
489 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
490 1.1 is
491 1.1 is fmov.b &0x2,%fp0
492 1.1 is
493 1.1 is mov.w &0x0000,%cc
494 1.1 is effadd_0_pc:
495 1.1 is fmul.x &0xc00000008000000000000000,%fp0
496 1.1 is
497 1.1 is mov.w %cc,SCCR(%a6)
498 1.1 is movm.l &0x7fff,SREGS(%a6)
499 1.1 is fmovm.x &0xff,SFPREGS(%a6)
500 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
501 1.1 is
502 1.1 is mov.l &0xc0010000,IFPREGS+0x0(%a6)
503 1.1 is mov.l &0x80000000,IFPREGS+0x4(%a6)
504 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
505 1.1 is mov.l &0x08000000,IFPCREGS+0x4(%a6)
506 1.1 is lea effadd_0_pc(%pc),%a0
507 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
508 1.1 is
509 1.1 is bsr.l chkregs
510 1.1 is tst.b %d0
511 1.1 is bne.l error
512 1.1 is
513 1.1 is bsr.l chkfpregs
514 1.1 is tst.b %d0
515 1.1 is bne.l error
516 1.1 is
517 1.1 is effadd_1:
518 1.1 is addq.l &0x1,TESTCTR(%a6)
519 1.1 is
520 1.1 is movm.l DEF_REGS(%pc),&0x3fff
521 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
522 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
523 1.1 is
524 1.1 is mov.w &0x0000,ICCR(%a6)
525 1.1 is movm.l &0x7fff,IREGS(%a6)
526 1.1 is fmovm.x &0xff,IFPREGS(%a6)
527 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
528 1.1 is
529 1.1 is mov.w &0x0000,%cc
530 1.1 is effadd_1_pc:
531 1.1 is fabs.p &0xc12300012345678912345678,%fp0
532 1.1 is
533 1.1 is mov.w %cc,SCCR(%a6)
534 1.1 is movm.l &0x7fff,SREGS(%a6)
535 1.1 is fmovm.x &0xff,SFPREGS(%a6)
536 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
537 1.1 is
538 1.1 is mov.l &0x3e660000,IFPREGS+0x0(%a6)
539 1.1 is mov.l &0xd0ed23e8,IFPREGS+0x4(%a6)
540 1.1 is mov.l &0xd14035bc,IFPREGS+0x8(%a6)
541 1.1 is mov.l &0x00000108,IFPCREGS+0x4(%a6)
542 1.1 is lea effadd_1_pc(%pc),%a0
543 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
544 1.1 is
545 1.1 is bsr.l chkregs
546 1.1 is tst.b %d0
547 1.1 is bne.l error
548 1.1 is
549 1.1 is bsr.l chkfpregs
550 1.1 is tst.b %d0
551 1.1 is bne.l error
552 1.1 is
553 1.1 is fmovml_0:
554 1.1 is addq.l &0x1,TESTCTR(%a6)
555 1.1 is
556 1.1 is movm.l DEF_REGS(%pc),&0x3fff
557 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
558 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
559 1.1 is
560 1.1 is mov.w &0x0000,ICCR(%a6)
561 1.1 is mov.w &0x0000,%cc
562 1.1 is movm.l &0x7fff,IREGS(%a6)
563 1.1 is fmovm.x &0xff,IFPREGS(%a6)
564 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
565 1.1 is
566 1.1 is fmovm.l &0xffffffffffffffff,%fpcr,%fpsr
567 1.1 is
568 1.1 is mov.w %cc,SCCR(%a6)
569 1.1 is movm.l &0x7fff,SREGS(%a6)
570 1.1 is fmovm.x &0xff,SFPREGS(%a6)
571 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
572 1.1 is mov.l &0x0000fff0,IFPCREGS+0x0(%a6)
573 1.1 is mov.l &0x0ffffff8,IFPCREGS+0x4(%a6)
574 1.1 is
575 1.1 is bsr.l chkregs
576 1.1 is tst.b %d0
577 1.1 is bne.l error
578 1.1 is
579 1.1 is bsr.l chkfpregs
580 1.1 is tst.b %d0
581 1.1 is bne.l error
582 1.1 is
583 1.1 is fmovml_1:
584 1.1 is addq.l &0x1,TESTCTR(%a6)
585 1.1 is
586 1.1 is movm.l DEF_REGS(%pc),&0x3fff
587 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
588 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
589 1.1 is
590 1.1 is mov.w &0x0000,ICCR(%a6)
591 1.1 is mov.w &0x0000,%cc
592 1.1 is movm.l &0x7fff,IREGS(%a6)
593 1.1 is fmovm.x &0xff,IFPREGS(%a6)
594 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
595 1.1 is
596 1.1 is fmovm.l &0xffffffffffffffff,%fpcr,%fpiar
597 1.1 is
598 1.1 is mov.w %cc,SCCR(%a6)
599 1.1 is movm.l &0x7fff,SREGS(%a6)
600 1.1 is fmovm.x &0xff,SFPREGS(%a6)
601 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
602 1.1 is mov.l &0x0000fff0,IFPCREGS+0x0(%a6)
603 1.1 is mov.l &0xffffffff,IFPCREGS+0x8(%a6)
604 1.1 is
605 1.1 is bsr.l chkregs
606 1.1 is tst.b %d0
607 1.1 is bne.l error
608 1.1 is
609 1.1 is bsr.l chkfpregs
610 1.1 is tst.b %d0
611 1.1 is bne.l error
612 1.1 is
613 1.1 is fmovml_2:
614 1.1 is addq.l &0x1,TESTCTR(%a6)
615 1.1 is
616 1.1 is movm.l DEF_REGS(%pc),&0x3fff
617 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
618 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
619 1.1 is
620 1.1 is mov.w &0x0000,ICCR(%a6)
621 1.1 is mov.w &0x0000,%cc
622 1.1 is movm.l &0x7fff,IREGS(%a6)
623 1.1 is fmovm.x &0xff,IFPREGS(%a6)
624 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
625 1.1 is
626 1.1 is fmovm.l &0xffffffffffffffff,%fpsr,%fpiar
627 1.1 is
628 1.1 is mov.w %cc,SCCR(%a6)
629 1.1 is movm.l &0x7fff,SREGS(%a6)
630 1.1 is fmovm.x &0xff,SFPREGS(%a6)
631 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
632 1.1 is mov.l &0x0ffffff8,IFPCREGS+0x4(%a6)
633 1.1 is mov.l &0xffffffff,IFPCREGS+0x8(%a6)
634 1.1 is
635 1.1 is bsr.l chkregs
636 1.1 is tst.b %d0
637 1.1 is bne.l error
638 1.1 is
639 1.1 is bsr.l chkfpregs
640 1.1 is tst.b %d0
641 1.1 is bne.l error
642 1.1 is
643 1.1 is fmovml_3:
644 1.1 is addq.l &0x1,TESTCTR(%a6)
645 1.1 is
646 1.1 is movm.l DEF_REGS(%pc),&0x3fff
647 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
648 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
649 1.1 is
650 1.1 is mov.w &0x0000,ICCR(%a6)
651 1.1 is mov.w &0x0000,%cc
652 1.1 is movm.l &0x7fff,IREGS(%a6)
653 1.1 is fmovm.x &0xff,IFPREGS(%a6)
654 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
655 1.1 is
656 1.1 is fmovm.l &0xffffffffffffffffffffffff,%fpcr,%fpsr,%fpiar
657 1.1 is
658 1.1 is mov.w %cc,SCCR(%a6)
659 1.1 is movm.l &0x7fff,SREGS(%a6)
660 1.1 is fmovm.x &0xff,SFPREGS(%a6)
661 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
662 1.1 is mov.l &0x0000fff0,IFPCREGS+0x0(%a6)
663 1.1 is mov.l &0x0ffffff8,IFPCREGS+0x4(%a6)
664 1.1 is mov.l &0xffffffff,IFPCREGS+0x8(%a6)
665 1.1 is
666 1.1 is bsr.l chkregs
667 1.1 is tst.b %d0
668 1.1 is bne.l error
669 1.1 is
670 1.1 is bsr.l chkfpregs
671 1.1 is tst.b %d0
672 1.1 is bne.l error
673 1.1 is
674 1.1 is # fmovmx dynamic
675 1.1 is fmovmx_0:
676 1.1 is addq.l &0x1,TESTCTR(%a6)
677 1.1 is
678 1.1 is movm.l DEF_REGS(%pc),&0x3fff
679 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
680 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
681 1.1 is
682 1.1 is fmov.b &0x1,%fp0
683 1.1 is fmov.b &0x2,%fp1
684 1.1 is fmov.b &0x3,%fp2
685 1.1 is fmov.b &0x4,%fp3
686 1.1 is fmov.b &0x5,%fp4
687 1.1 is fmov.b &0x6,%fp5
688 1.1 is fmov.b &0x7,%fp6
689 1.1 is fmov.b &0x8,%fp7
690 1.1 is
691 1.1 is fmov.l &0x0,%fpiar
692 1.1 is mov.l &0xffffffaa,%d0
693 1.1 is
694 1.1 is mov.w &0x0000,ICCR(%a6)
695 1.1 is movm.l &0xffff,IREGS(%a6)
696 1.1 is
697 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
698 1.1 is fmovm.x &0xff,IFPREGS(%a6)
699 1.1 is
700 1.1 is mov.w &0x0000,%cc
701 1.1 is
702 1.1 is fmovm.x %d0,-(%sp)
703 1.1 is
704 1.1 is mov.w %cc,SCCR(%a6)
705 1.1 is
706 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
707 1.1 is
708 1.1 is fmov.s &0x7f800000,%fp1
709 1.1 is fmov.s &0x7f800000,%fp3
710 1.1 is fmov.s &0x7f800000,%fp5
711 1.1 is fmov.s &0x7f800000,%fp7
712 1.1 is
713 1.1 is fmov.x (%sp)+,%fp1
714 1.1 is fmov.x (%sp)+,%fp3
715 1.1 is fmov.x (%sp)+,%fp5
716 1.1 is fmov.x (%sp)+,%fp7
717 1.1 is
718 1.1 is movm.l &0xffff,SREGS(%a6)
719 1.1 is fmovm.x &0xff,SFPREGS(%a6)
720 1.1 is
721 1.1 is bsr.l chkregs
722 1.1 is tst.b %d0
723 1.1 is bne.l error
724 1.1 is
725 1.1 is bsr.l chkfpregs
726 1.1 is tst.b %d0
727 1.1 is bne.l error
728 1.1 is
729 1.1 is fmovmx_1:
730 1.1 is addq.l &0x1,TESTCTR(%a6)
731 1.1 is
732 1.1 is movm.l DEF_REGS(%pc),&0x3fff
733 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
734 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
735 1.1 is
736 1.1 is fmov.b &0x1,%fp0
737 1.1 is fmov.b &0x2,%fp1
738 1.1 is fmov.b &0x3,%fp2
739 1.1 is fmov.b &0x4,%fp3
740 1.1 is fmov.b &0x5,%fp4
741 1.1 is fmov.b &0x6,%fp5
742 1.1 is fmov.b &0x7,%fp6
743 1.1 is fmov.b &0x8,%fp7
744 1.1 is
745 1.1 is fmov.x %fp6,-(%sp)
746 1.1 is fmov.x %fp4,-(%sp)
747 1.1 is fmov.x %fp2,-(%sp)
748 1.1 is fmov.x %fp0,-(%sp)
749 1.1 is
750 1.1 is fmovm.x &0xff,IFPREGS(%a6)
751 1.1 is
752 1.1 is fmov.s &0x7f800000,%fp6
753 1.1 is fmov.s &0x7f800000,%fp4
754 1.1 is fmov.s &0x7f800000,%fp2
755 1.1 is fmov.s &0x7f800000,%fp0
756 1.1 is
757 1.1 is fmov.l &0x0,%fpiar
758 1.1 is fmov.l &0x0,%fpsr
759 1.1 is mov.l &0xffffffaa,%d0
760 1.1 is
761 1.1 is mov.w &0x0000,ICCR(%a6)
762 1.1 is movm.l &0xffff,IREGS(%a6)
763 1.1 is
764 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
765 1.1 is
766 1.1 is mov.w &0x0000,%cc
767 1.1 is
768 1.1 is fmovm.x (%sp)+,%d0
769 1.1 is
770 1.1 is mov.w %cc,SCCR(%a6)
771 1.1 is
772 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
773 1.1 is
774 1.1 is movm.l &0xffff,SREGS(%a6)
775 1.1 is fmovm.x &0xff,SFPREGS(%a6)
776 1.1 is
777 1.1 is bsr.l chkregs
778 1.1 is tst.b %d0
779 1.1 is bne.l error
780 1.1 is
781 1.1 is bsr.l chkfpregs
782 1.1 is tst.b %d0
783 1.1 is bne.l error
784 1.1 is
785 1.1 is fmovmx_2:
786 1.1 is addq.l &0x1,TESTCTR(%a6)
787 1.1 is
788 1.1 is movm.l DEF_REGS(%pc),&0x3fff
789 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
790 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
791 1.1 is
792 1.1 is fmov.b &0x1,%fp0
793 1.1 is fmov.b &0x2,%fp1
794 1.1 is fmov.b &0x3,%fp2
795 1.1 is fmov.b &0x4,%fp3
796 1.1 is fmov.b &0x5,%fp4
797 1.1 is fmov.b &0x6,%fp5
798 1.1 is fmov.b &0x7,%fp6
799 1.1 is fmov.b &0x8,%fp7
800 1.1 is
801 1.1 is fmov.l &0x0,%fpiar
802 1.1 is mov.l &0xffffff00,%d0
803 1.1 is
804 1.1 is mov.w &0x0000,ICCR(%a6)
805 1.1 is movm.l &0xffff,IREGS(%a6)
806 1.1 is
807 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
808 1.1 is fmovm.x &0xff,IFPREGS(%a6)
809 1.1 is
810 1.1 is mov.w &0x0000,%cc
811 1.1 is
812 1.1 is fmovm.x %d0,-(%sp)
813 1.1 is
814 1.1 is mov.w %cc,SCCR(%a6)
815 1.1 is
816 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
817 1.1 is
818 1.1 is movm.l &0xffff,SREGS(%a6)
819 1.1 is fmovm.x &0xff,SFPREGS(%a6)
820 1.1 is
821 1.1 is bsr.l chkregs
822 1.1 is tst.b %d0
823 1.1 is bne.l error
824 1.1 is
825 1.1 is bsr.l chkfpregs
826 1.1 is tst.b %d0
827 1.1 is bne.l error
828 1.1 is
829 1.1 is clr.l %d0
830 1.1 is rts
831 1.1 is
832 1.1 is ###########################################################
833 1.1 is
834 1.1 is # This test will take a non-maskable overflow directly.
835 1.1 is ovfl_nm_str:
836 1.1 is string "\tNon-maskable overflow..."
837 1.1 is
838 1.1 is align 0x4
839 1.1 is ovfl_nm_0:
840 1.1 is addq.l &0x1,TESTCTR(%a6)
841 1.1 is
842 1.1 is movm.l DEF_REGS(%pc),&0x3fff
843 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
844 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
845 1.1 is
846 1.1 is mov.w &0x0000,ICCR(%a6)
847 1.1 is movm.l &0x7fff,IREGS(%a6)
848 1.1 is fmovm.x &0xff,IFPREGS(%a6)
849 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
850 1.1 is
851 1.1 is fmov.b &0x2,%fp0
852 1.1 is mov.l &0x7ffe0000,DATA+0x0(%a6)
853 1.1 is mov.l &0x80000000,DATA+0x4(%a6)
854 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
855 1.1 is
856 1.1 is mov.w &0x0000,%cc
857 1.1 is ovfl_nm_0_pc:
858 1.1 is fmul.x DATA(%a6),%fp0
859 1.1 is
860 1.1 is mov.w %cc,SCCR(%a6)
861 1.1 is movm.l &0x7fff,SREGS(%a6)
862 1.1 is fmovm.x &0xff,SFPREGS(%a6)
863 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
864 1.1 is
865 1.1 is mov.l &0x7fff0000,IFPREGS+0x0(%a6)
866 1.1 is mov.l &0x00000000,IFPREGS+0x4(%a6)
867 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
868 1.1 is mov.l &0x02001048,IFPCREGS+0x4(%a6)
869 1.1 is lea ovfl_nm_0_pc(%pc),%a0
870 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
871 1.1 is
872 1.1 is bsr.l chkregs
873 1.1 is tst.b %d0
874 1.1 is bne.l error
875 1.1 is
876 1.1 is bsr.l chkfpregs
877 1.1 is tst.b %d0
878 1.1 is bne.l error
879 1.1 is
880 1.1 is clr.l %d0
881 1.1 is rts
882 1.1 is
883 1.1 is ###########################################################
884 1.1 is
885 1.1 is # This test will take an overflow directly.
886 1.1 is ovfl_str:
887 1.1 is string "\tEnabled overflow..."
888 1.1 is
889 1.1 is align 0x4
890 1.1 is ovfl_0:
891 1.1 is addq.l &0x1,TESTCTR(%a6)
892 1.1 is
893 1.1 is movm.l DEF_REGS(%pc),&0x3fff
894 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
895 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
896 1.1 is
897 1.1 is mov.w &0x0000,ICCR(%a6)
898 1.1 is movm.l &0x7fff,IREGS(%a6)
899 1.1 is fmovm.x &0xff,IFPREGS(%a6)
900 1.1 is fmov.l &0x00001000,%fpcr
901 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
902 1.1 is
903 1.1 is fmov.b &0x2,%fp0
904 1.1 is mov.l &0x7ffe0000,DATA+0x0(%a6)
905 1.1 is mov.l &0x80000000,DATA+0x4(%a6)
906 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
907 1.1 is
908 1.1 is mov.w &0x0000,%cc
909 1.1 is ovfl_0_pc:
910 1.1 is fmul.x DATA(%a6),%fp0
911 1.1 is
912 1.1 is mov.w %cc,SCCR(%a6)
913 1.1 is movm.l &0x7fff,SREGS(%a6)
914 1.1 is fmovm.x &0xff,SFPREGS(%a6)
915 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
916 1.1 is
917 1.1 is mov.l &0x7fff0000,IFPREGS+0x0(%a6)
918 1.1 is mov.l &0x00000000,IFPREGS+0x4(%a6)
919 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
920 1.1 is mov.l &0x02001048,IFPCREGS+0x4(%a6)
921 1.1 is lea ovfl_0_pc(%pc),%a0
922 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
923 1.1 is
924 1.1 is bsr.l chkregs
925 1.1 is tst.b %d0
926 1.1 is bne.l error
927 1.1 is
928 1.1 is bsr.l chkfpregs
929 1.1 is tst.b %d0
930 1.1 is bne.l error
931 1.1 is
932 1.1 is clr.l %d0
933 1.1 is rts
934 1.1 is
935 1.1 is #####################################################################
936 1.1 is
937 1.1 is # This test will take an underflow directly.
938 1.1 is unfl_str:
939 1.1 is string "\tEnabled underflow..."
940 1.1 is
941 1.1 is align 0x4
942 1.1 is unfl_0:
943 1.1 is addq.l &0x1,TESTCTR(%a6)
944 1.1 is
945 1.1 is movm.l DEF_REGS(%pc),&0x3fff
946 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
947 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
948 1.1 is
949 1.1 is mov.w &0x0000,ICCR(%a6)
950 1.1 is movm.l &0x7fff,IREGS(%a6)
951 1.1 is fmovm.x &0xff,IFPREGS(%a6)
952 1.1 is fmov.l &0x00000800,%fpcr
953 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
954 1.1 is
955 1.1 is mov.l &0x00000000,DATA+0x0(%a6)
956 1.1 is mov.l &0x80000000,DATA+0x4(%a6)
957 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
958 1.1 is fmovm.x DATA(%a6),&0x80
959 1.1 is
960 1.1 is mov.w &0x0000,%cc
961 1.1 is unfl_0_pc:
962 1.1 is fdiv.b &0x2,%fp0
963 1.1 is
964 1.1 is mov.w %cc,SCCR(%a6)
965 1.1 is movm.l &0x7fff,SREGS(%a6)
966 1.1 is fmovm.x &0xff,SFPREGS(%a6)
967 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
968 1.1 is
969 1.1 is mov.l &0x00000000,IFPREGS+0x0(%a6)
970 1.1 is mov.l &0x40000000,IFPREGS+0x4(%a6)
971 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
972 1.1 is mov.l &0x00000800,IFPCREGS+0x4(%a6)
973 1.1 is lea unfl_0_pc(%pc),%a0
974 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
975 1.1 is
976 1.1 is bsr.l chkregs
977 1.1 is tst.b %d0
978 1.1 is bne.l error
979 1.1 is
980 1.1 is bsr.l chkfpregs
981 1.1 is tst.b %d0
982 1.1 is bne.l error
983 1.1 is
984 1.1 is clr.l %d0
985 1.1 is rts
986 1.1 is
987 1.1 is #####################################################################
988 1.1 is
989 1.1 is # This test will take a non-maskable underflow directly.
990 1.1 is unfl_nm_str:
991 1.1 is string "\tNon-maskable underflow..."
992 1.1 is
993 1.1 is align 0x4
994 1.1 is unfl_nm_0:
995 1.1 is addq.l &0x1,TESTCTR(%a6)
996 1.1 is
997 1.1 is movm.l DEF_REGS(%pc),&0x3fff
998 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
999 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1000 1.1 is
1001 1.1 is mov.w &0x0000,ICCR(%a6)
1002 1.1 is movm.l &0x7fff,IREGS(%a6)
1003 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1004 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1005 1.1 is
1006 1.1 is mov.l &0x00000000,DATA+0x0(%a6)
1007 1.1 is mov.l &0x80000000,DATA+0x4(%a6)
1008 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
1009 1.1 is fmovm.x DATA(%a6),&0x80
1010 1.1 is
1011 1.1 is mov.w &0x0000,%cc
1012 1.1 is unfl_nm_0_pc:
1013 1.1 is fdiv.b &0x2,%fp0
1014 1.1 is
1015 1.1 is mov.w %cc,SCCR(%a6)
1016 1.1 is movm.l &0x7fff,SREGS(%a6)
1017 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1018 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1019 1.1 is
1020 1.1 is mov.l &0x00000000,IFPREGS+0x0(%a6)
1021 1.1 is mov.l &0x40000000,IFPREGS+0x4(%a6)
1022 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
1023 1.1 is mov.l &0x00000800,IFPCREGS+0x4(%a6)
1024 1.1 is lea unfl_nm_0_pc(%pc),%a0
1025 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1026 1.1 is
1027 1.1 is bsr.l chkregs
1028 1.1 is tst.b %d0
1029 1.1 is bne.l error
1030 1.1 is
1031 1.1 is bsr.l chkfpregs
1032 1.1 is tst.b %d0
1033 1.1 is bne.l error
1034 1.1 is
1035 1.1 is clr.l %d0
1036 1.1 is rts
1037 1.1 is
1038 1.1 is #####################################################################
1039 1.1 is
1040 1.1 is inex_str:
1041 1.1 is string "\tEnabled inexact..."
1042 1.1 is
1043 1.1 is align 0x4
1044 1.1 is inex_0:
1045 1.1 is addq.l &0x1,TESTCTR(%a6)
1046 1.1 is
1047 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1048 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1049 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1050 1.1 is
1051 1.1 is mov.w &0x0000,ICCR(%a6)
1052 1.1 is movm.l &0x7fff,IREGS(%a6)
1053 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1054 1.1 is fmov.l &0x00000200,%fpcr # enable inexact
1055 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1056 1.1 is
1057 1.1 is mov.l &0x50000000,DATA+0x0(%a6)
1058 1.1 is mov.l &0x80000000,DATA+0x4(%a6)
1059 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
1060 1.1 is fmovm.x DATA(%a6),&0x80
1061 1.1 is
1062 1.1 is mov.w &0x0000,%cc
1063 1.1 is inex_0_pc:
1064 1.1 is fadd.b &0x2,%fp0
1065 1.1 is
1066 1.1 is mov.w %cc,SCCR(%a6)
1067 1.1 is movm.l &0x7fff,SREGS(%a6)
1068 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1069 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1070 1.1 is
1071 1.1 is mov.l &0x50000000,IFPREGS+0x0(%a6)
1072 1.1 is mov.l &0x80000000,IFPREGS+0x4(%a6)
1073 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
1074 1.1 is mov.l &0x00000208,IFPCREGS+0x4(%a6)
1075 1.1 is lea inex_0_pc(%pc),%a0
1076 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1077 1.1 is
1078 1.1 is bsr.l chkregs
1079 1.1 is tst.b %d0
1080 1.1 is bne.l error
1081 1.1 is
1082 1.1 is bsr.l chkfpregs
1083 1.1 is tst.b %d0
1084 1.1 is bne.l error
1085 1.1 is
1086 1.1 is clr.l %d0
1087 1.1 is rts
1088 1.1 is
1089 1.1 is #####################################################################
1090 1.1 is
1091 1.1 is snan_str:
1092 1.1 is string "\tEnabled SNAN..."
1093 1.1 is
1094 1.1 is align 0x4
1095 1.1 is snan_0:
1096 1.1 is addq.l &0x1,TESTCTR(%a6)
1097 1.1 is
1098 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1099 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1100 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1101 1.1 is
1102 1.1 is mov.w &0x0000,ICCR(%a6)
1103 1.1 is movm.l &0x7fff,IREGS(%a6)
1104 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1105 1.1 is fmov.l &0x00004000,%fpcr # enable SNAN
1106 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1107 1.1 is
1108 1.1 is mov.l &0xffff0000,DATA+0x0(%a6)
1109 1.1 is mov.l &0x00000000,DATA+0x4(%a6)
1110 1.1 is mov.l &0x00000001,DATA+0x8(%a6)
1111 1.1 is fmovm.x DATA(%a6),&0x80
1112 1.1 is
1113 1.1 is mov.w &0x0000,%cc
1114 1.1 is snan_0_pc:
1115 1.1 is fadd.b &0x2,%fp0
1116 1.1 is
1117 1.1 is mov.w %cc,SCCR(%a6)
1118 1.1 is movm.l &0x7fff,SREGS(%a6)
1119 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1120 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1121 1.1 is
1122 1.1 is mov.l &0xffff0000,IFPREGS+0x0(%a6)
1123 1.1 is mov.l &0x00000000,IFPREGS+0x4(%a6)
1124 1.1 is mov.l &0x00000001,IFPREGS+0x8(%a6)
1125 1.1 is mov.l &0x09004080,IFPCREGS+0x4(%a6)
1126 1.1 is lea snan_0_pc(%pc),%a0
1127 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1128 1.1 is
1129 1.1 is bsr.l chkregs
1130 1.1 is tst.b %d0
1131 1.1 is bne.l error
1132 1.1 is
1133 1.1 is bsr.l chkfpregs
1134 1.1 is tst.b %d0
1135 1.1 is bne.l error
1136 1.1 is
1137 1.1 is clr.l %d0
1138 1.1 is rts
1139 1.1 is
1140 1.1 is #####################################################################
1141 1.1 is
1142 1.1 is operr_str:
1143 1.1 is string "\tEnabled OPERR..."
1144 1.1 is
1145 1.1 is align 0x4
1146 1.1 is operr_0:
1147 1.1 is addq.l &0x1,TESTCTR(%a6)
1148 1.1 is
1149 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1150 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1151 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1152 1.1 is
1153 1.1 is mov.w &0x0000,ICCR(%a6)
1154 1.1 is movm.l &0x7fff,IREGS(%a6)
1155 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1156 1.1 is fmov.l &0x00002000,%fpcr # enable OPERR
1157 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1158 1.1 is
1159 1.1 is mov.l &0xffff0000,DATA+0x0(%a6)
1160 1.1 is mov.l &0x00000000,DATA+0x4(%a6)
1161 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
1162 1.1 is fmovm.x DATA(%a6),&0x80
1163 1.1 is
1164 1.1 is mov.w &0x0000,%cc
1165 1.1 is operr_0_pc:
1166 1.1 is fadd.s &0x7f800000,%fp0
1167 1.1 is
1168 1.1 is mov.w %cc,SCCR(%a6)
1169 1.1 is movm.l &0x7fff,SREGS(%a6)
1170 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1171 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1172 1.1 is
1173 1.1 is mov.l &0xffff0000,IFPREGS+0x0(%a6)
1174 1.1 is mov.l &0x00000000,IFPREGS+0x4(%a6)
1175 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
1176 1.1 is mov.l &0x01002080,IFPCREGS+0x4(%a6)
1177 1.1 is lea operr_0_pc(%pc),%a0
1178 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1179 1.1 is
1180 1.1 is bsr.l chkregs
1181 1.1 is tst.b %d0
1182 1.1 is bne.l error
1183 1.1 is
1184 1.1 is bsr.l chkfpregs
1185 1.1 is tst.b %d0
1186 1.1 is bne.l error
1187 1.1 is
1188 1.1 is clr.l %d0
1189 1.1 is rts
1190 1.1 is
1191 1.1 is #####################################################################
1192 1.1 is
1193 1.1 is dz_str:
1194 1.1 is string "\tEnabled DZ..."
1195 1.1 is
1196 1.1 is align 0x4
1197 1.1 is dz_0:
1198 1.1 is addq.l &0x1,TESTCTR(%a6)
1199 1.1 is
1200 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1201 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1202 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1203 1.1 is
1204 1.1 is mov.w &0x0000,ICCR(%a6)
1205 1.1 is movm.l &0x7fff,IREGS(%a6)
1206 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1207 1.1 is fmov.l &0x00000400,%fpcr # enable DZ
1208 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1209 1.1 is
1210 1.1 is mov.l &0x40000000,DATA+0x0(%a6)
1211 1.1 is mov.l &0x80000000,DATA+0x4(%a6)
1212 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
1213 1.1 is fmovm.x DATA(%a6),&0x80
1214 1.1 is
1215 1.1 is mov.w &0x0000,%cc
1216 1.1 is dz_0_pc:
1217 1.1 is fdiv.b &0x0,%fp0
1218 1.1 is
1219 1.1 is mov.w %cc,SCCR(%a6)
1220 1.1 is movm.l &0x7fff,SREGS(%a6)
1221 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1222 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1223 1.1 is
1224 1.1 is mov.l &0x40000000,IFPREGS+0x0(%a6)
1225 1.1 is mov.l &0x80000000,IFPREGS+0x4(%a6)
1226 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
1227 1.1 is mov.l &0x02000410,IFPCREGS+0x4(%a6)
1228 1.1 is lea dz_0_pc(%pc),%a0
1229 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1230 1.1 is
1231 1.1 is bsr.l chkregs
1232 1.1 is tst.b %d0
1233 1.1 is bne.l error
1234 1.1 is
1235 1.1 is bsr.l chkfpregs
1236 1.1 is tst.b %d0
1237 1.1 is bne.l error
1238 1.1 is
1239 1.1 is clr.l %d0
1240 1.1 is rts
1241 1.1 is
1242 1.1 is #####################################################################
1243 1.1 is
1244 1.1 is unsupp_str:
1245 1.1 is string "\tUnimplemented data type/format..."
1246 1.1 is
1247 1.1 is # an unnormalized number
1248 1.1 is align 0x4
1249 1.1 is unsupp_0:
1250 1.1 is addq.l &0x1,TESTCTR(%a6)
1251 1.1 is
1252 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1253 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1254 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1255 1.1 is
1256 1.1 is mov.w &0x0000,ICCR(%a6)
1257 1.1 is movm.l &0x7fff,IREGS(%a6)
1258 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1259 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1260 1.1 is
1261 1.1 is mov.l &0xc03f0000,DATA+0x0(%a6)
1262 1.1 is mov.l &0x00000000,DATA+0x4(%a6)
1263 1.1 is mov.l &0x00000001,DATA+0x8(%a6)
1264 1.1 is fmov.b &0x2,%fp0
1265 1.1 is mov.w &0x0000,%cc
1266 1.1 is unsupp_0_pc:
1267 1.1 is fmul.x DATA(%a6),%fp0
1268 1.1 is
1269 1.1 is mov.w %cc,SCCR(%a6)
1270 1.1 is movm.l &0x7fff,SREGS(%a6)
1271 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1272 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1273 1.1 is
1274 1.1 is mov.l &0xc0010000,IFPREGS+0x0(%a6)
1275 1.1 is mov.l &0x80000000,IFPREGS+0x4(%a6)
1276 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
1277 1.1 is mov.l &0x08000000,IFPCREGS+0x4(%a6)
1278 1.1 is lea unsupp_0_pc(%pc),%a0
1279 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1280 1.1 is
1281 1.1 is bsr.l chkregs
1282 1.1 is tst.b %d0
1283 1.1 is bne.l error
1284 1.1 is
1285 1.1 is bsr.l chkfpregs
1286 1.1 is tst.b %d0
1287 1.1 is bne.l error
1288 1.1 is
1289 1.1 is # a denormalized number
1290 1.1 is unsupp_1:
1291 1.1 is addq.l &0x1,TESTCTR(%a6)
1292 1.1 is
1293 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1294 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1295 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1296 1.1 is
1297 1.1 is mov.w &0x0000,ICCR(%a6)
1298 1.1 is movm.l &0x7fff,IREGS(%a6)
1299 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1300 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1301 1.1 is
1302 1.1 is mov.l &0x80000000,DATA+0x0(%a6)
1303 1.1 is mov.l &0x01000000,DATA+0x4(%a6)
1304 1.1 is mov.l &0x00000000,DATA+0x8(%a6)
1305 1.1 is fmov.l &0x7fffffff,%fp0
1306 1.1 is
1307 1.1 is mov.w &0x0000,%cc
1308 1.1 is unsupp_1_pc:
1309 1.1 is fmul.x DATA(%a6),%fp0
1310 1.1 is
1311 1.1 is mov.w %cc,SCCR(%a6)
1312 1.1 is movm.l &0x7fff,SREGS(%a6)
1313 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1314 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1315 1.1 is
1316 1.1 is mov.l &0x80170000,IFPREGS+0x0(%a6)
1317 1.1 is mov.l &0xfffffffe,IFPREGS+0x4(%a6)
1318 1.1 is mov.l &0x00000000,IFPREGS+0x8(%a6)
1319 1.1 is mov.l &0x08000000,IFPCREGS+0x4(%a6)
1320 1.1 is lea unsupp_1_pc(%pc),%a0
1321 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1322 1.1 is
1323 1.1 is bsr.l chkregs
1324 1.1 is tst.b %d0
1325 1.1 is bne.l error
1326 1.1 is
1327 1.1 is bsr.l chkfpregs
1328 1.1 is tst.b %d0
1329 1.1 is bne.l error
1330 1.1 is
1331 1.1 is # packed
1332 1.1 is unsupp_2:
1333 1.1 is addq.l &0x1,TESTCTR(%a6)
1334 1.1 is
1335 1.1 is movm.l DEF_REGS(%pc),&0x3fff
1336 1.1 is fmovm.x DEF_FPREGS(%pc),&0xff
1337 1.1 is fmovm.l DEF_FPCREGS(%pc),%fpcr,%fpsr,%fpiar
1338 1.1 is
1339 1.1 is mov.w &0x0000,ICCR(%a6)
1340 1.1 is movm.l &0x7fff,IREGS(%a6)
1341 1.1 is fmovm.x &0xff,IFPREGS(%a6)
1342 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,IFPCREGS(%a6)
1343 1.1 is
1344 1.1 is mov.l &0xc1230001,DATA+0x0(%a6)
1345 1.1 is mov.l &0x23456789,DATA+0x4(%a6)
1346 1.1 is mov.l &0x12345678,DATA+0x8(%a6)
1347 1.1 is
1348 1.1 is mov.w &0x0000,%cc
1349 1.1 is unsupp_2_pc:
1350 1.1 is fabs.p DATA(%a6),%fp0
1351 1.1 is
1352 1.1 is mov.w %cc,SCCR(%a6)
1353 1.1 is movm.l &0x7fff,SREGS(%a6)
1354 1.1 is fmovm.x &0xff,SFPREGS(%a6)
1355 1.1 is fmovm.l %fpcr,%fpsr,%fpiar,SFPCREGS(%a6)
1356 1.1 is
1357 1.1 is mov.l &0x3e660000,IFPREGS+0x0(%a6)
1358 1.1 is mov.l &0xd0ed23e8,IFPREGS+0x4(%a6)
1359 1.1 is mov.l &0xd14035bc,IFPREGS+0x8(%a6)
1360 1.1 is mov.l &0x00000108,IFPCREGS+0x4(%a6)
1361 1.1 is lea unsupp_2_pc(%pc),%a0
1362 1.1 is mov.l %a0,IFPCREGS+0x8(%a6)
1363 1.1 is
1364 1.1 is bsr.l chkregs
1365 1.1 is tst.b %d0
1366 1.1 is bne.l error
1367 1.1 is
1368 1.1 is bsr.l chkfpregs
1369 1.1 is tst.b %d0
1370 1.1 is bne.l error
1371 1.1 is
1372 1.1 is clr.l %d0
1373 1.1 is rts
1374 1.1 is
1375 1.1 is ###########################################################
1376 1.1 is ###########################################################
1377 1.1 is
1378 1.1 is chkregs:
1379 1.1 is lea IREGS(%a6),%a0
1380 1.1 is lea SREGS(%a6),%a1
1381 1.1 is mov.l &14,%d0
1382 1.1 is chkregs_loop:
1383 1.1 is cmp.l (%a0)+,(%a1)+
1384 1.1 is bne.l chkregs_error
1385 1.1 is dbra.w %d0,chkregs_loop
1386 1.1 is
1387 1.1 is mov.w ICCR(%a6),%d0
1388 1.1 is mov.w SCCR(%a6),%d1
1389 1.1 is cmp.w %d0,%d1
1390 1.1 is bne.l chkregs_error
1391 1.1 is
1392 1.1 is clr.l %d0
1393 1.1 is rts
1394 1.1 is
1395 1.1 is chkregs_error:
1396 1.1 is movq.l &0x1,%d0
1397 1.1 is rts
1398 1.1 is
1399 1.1 is error:
1400 1.1 is mov.l TESTCTR(%a6),%d1
1401 1.1 is movq.l &0x1,%d0
1402 1.1 is rts
1403 1.1 is
1404 1.1 is chkfpregs:
1405 1.1 is lea IFPREGS(%a6),%a0
1406 1.1 is lea SFPREGS(%a6),%a1
1407 1.1 is mov.l &23,%d0
1408 1.1 is chkfpregs_loop:
1409 1.1 is cmp.l (%a0)+,(%a1)+
1410 1.1 is bne.l chkfpregs_error
1411 1.1 is dbra.w %d0,chkfpregs_loop
1412 1.1 is
1413 1.1 is lea IFPCREGS(%a6),%a0
1414 1.1 is lea SFPCREGS(%a6),%a1
1415 1.1 is cmp.l (%a0)+,(%a1)+
1416 1.1 is bne.l chkfpregs_error
1417 1.1 is cmp.l (%a0)+,(%a1)+
1418 1.1 is bne.l chkfpregs_error
1419 1.1 is cmp.l (%a0)+,(%a1)+
1420 1.1 is bne.l chkfpregs_error
1421 1.1 is
1422 1.1 is clr.l %d0
1423 1.1 is rts
1424 1.1 is
1425 1.1 is chkfpregs_error:
1426 1.1 is movq.l &0x1,%d0
1427 1.1 is rts
1428 1.1 is
1429 1.1 is DEF_REGS:
1430 1.1 is long 0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
1431 1.1 is long 0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
1432 1.1 is
1433 1.1 is long 0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
1434 1.1 is long 0xacacacac, 0xacacacac, 0xacacacac, 0xacacacac
1435 1.1 is
1436 1.1 is DEF_FPREGS:
1437 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1438 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1439 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1440 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1441 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1442 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1443 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1444 1.1 is long 0x7fff0000, 0xffffffff, 0xffffffff
1445 1.1 is
1446 1.1 is DEF_FPCREGS:
1447 1.1 is long 0x00000000, 0x00000000, 0x00000000
1448 1.1 is
1449 1.1 is ############################################################
1450 1.1 is
1451 1.1 is _print_str:
1452 1.1 is mov.l %d0,-(%sp)
1453 1.1 is mov.l (TESTTOP-0x80+0x0,%pc),%d0
1454 1.1 is pea (TESTTOP-0x80,%pc,%d0)
1455 1.1 is mov.l 0x4(%sp),%d0
1456 1.1 is rtd &0x4
1457 1.1 is
1458 1.1 is _print_num:
1459 1.1 is mov.l %d0,-(%sp)
1460 1.1 is mov.l (TESTTOP-0x80+0x4,%pc),%d0
1461 1.1 is pea (TESTTOP-0x80,%pc,%d0)
1462 1.1 is mov.l 0x4(%sp),%d0
1463 1.1 is rtd &0x4
1464 1.1 is
1465 1.1 is ############################################################
1466