|
|
1.1 root 1: ;
2: ; nono
1.1.1.2 root 3: ; Copyright (C) 2020 nono project
1.1 root 4: ;
1.1.1.2 root 5: ; Redistribution and use in source and binary forms, with or without
6: ; modification, are permitted provided that the following conditions
7: ; are met:
8: ; 1. Redistributions of source code must retain the above copyright
9: ; notice, this list of conditions and the following disclaimer.
10: ; 2. Redistributions in binary form must reproduce the above copyright
11: ; notice, this list of conditions and the following disclaimer in the
12: ; documentation and/or other materials provided with the distribution.
13: ;
14: ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15: ; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16: ; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17: ; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18: ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
19: ; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20: ; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
21: ; AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
22: ; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23: ; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24: ; SUCH DAMAGE.
1.1 root 25:
26: ; How to compile:
1.1.1.3 ! root 27: ; > has fmovemc.has
! 28: ; > hlk fmovemc.o si_util.o
1.1 root 29:
30: .xref hexstr_long
31: .include doscall.mac
32: .list
33: .cpu 68030
34:
35: PRINT .macro msg
36: pea.l msg(pc)
37: DOS _PRINT
38: addq.l #4,sp
39: .endm
40:
41: SET_FLINE_TRAP .macro
42: move.l (a5),a4
43: lea.l fline_handler(pc),a1
44: move.l a1,(a5)
45: .endm
46:
47: RESTORE_FLINE_TRAP .macro
48: move.l a4,(a5)
49: .endm
50:
51: .text
52: .even
1.1.1.3 ! root 53: start:
! 54: bra start2
! 55:
1.1 root 56: test_fmovem_dn_to____:
57: PRINT msg_fmovem_dn_to____
58: fmove.l #0,fpcr
59: fmove.l #0,fpsr
60: fmove.l #0,fpiar
61: move.l #$55555555,d0
62: SET_FLINE_TRAP
63: moveq.l #0,d7
64: lea.l @f,a3
65: .dc.w $f200, $8000
66: @@:
67: RESTORE_FLINE_TRAP
68: tst.l d7
69: beq @f
70: PRINT msg_fail_trap
71: rts
72: @@:
73: fmove.l fpcr,d0
74: moveq.l #0,d1
75: cmp.l d1,d0
76: beq @f
77: pea.l msg_fail_cr(pc)
78: move.l d1,-(sp)
79: move.l d0,-(sp)
80: bsr result
81: lea.l 12(sp),sp
82: @@:
83: fmove.l fpsr,d0
84: moveq.l #0,d1
85: cmp.l d1,d0
86: beq @f
87: pea.l msg_fail_sr(pc)
88: move.l d1,-(sp)
89: move.l d0,-(sp)
90: bsr result
91: lea.l 12(sp),sp
92: @@:
93: fmove.l fpiar,a0
94: move.l #$55555555,a1
95: cmpa.l a1,a0
96: beq @f
97: pea.l msg_fail_ir(pc)
98: move.l a1,-(sp)
99: move.l a0,-(sp)
100: bsr result
101: lea.l 12(sp),sp
102: @@:
103: tst.l d7
104: bne @f
105: PRINT msg_ok
106: @@:
107: rts
108:
109: test_fmovem_an_to____:
110: PRINT msg_fmovem_an_to____
111: fmove.l #0,fpcr
112: fmove.l #0,fpsr
113: fmove.l #0,fpiar
114: move.l #$55555555,a0
115: SET_FLINE_TRAP
116: moveq.l #0,d7
117: lea.l @f,a3
118: .dc.w $f208, $8000
119: @@:
120: RESTORE_FLINE_TRAP
121: tst.l d7
122: beq @f
123: PRINT msg_fail_trap
124: rts
125: @@:
126: fmove.l fpcr,d0
127: moveq.l #0,d1
128: cmp.l d1,d0
129: beq @f
130: pea.l msg_fail_cr(pc)
131: move.l d1,-(sp)
132: move.l d0,-(sp)
133: bsr result
134: lea.l 12(sp),sp
135: @@:
136: fmove.l fpsr,d0
137: moveq.l #0,d1
138: cmp.l d1,d0
139: beq @f
140: pea.l msg_fail_sr(pc)
141: move.l d1,-(sp)
142: move.l d0,-(sp)
143: bsr result
144: lea.l 12(sp),sp
145: @@:
146: fmove.l fpiar,a0
147: move.l #$55555555,a1
148: cmpa.l a1,a0
149: beq @f
150: pea.l msg_fail_ir(pc)
151: move.l a1,-(sp)
152: move.l a0,-(sp)
153: bsr result
154: lea.l 12(sp),sp
155: @@:
156: tst.l d7
157: bne @f
158: PRINT msg_ok
159: @@:
160: rts
161:
162: test_fmovem_anin_to____:
163: PRINT msg_fmovem_anin_to____
164: fmove.l #0,fpcr
165: fmove.l #0,fpsr
166: fmove.l #0,fpiar
167: move.l #$55555555,workarea
168: lea.l workarea(pc),a0
169: SET_FLINE_TRAP
170: moveq.l #0,d7
171: lea.l @f,a3
172: .dc.w $f210, $8000
173: @@:
174: RESTORE_FLINE_TRAP
175: tst.l d7
176: beq @f
177: PRINT msg_fail_trap
178: rts
179: @@:
180: lea.l workarea(pc),a1
181: cmpa.l a1,a0
182: beq @f
183: pea.l msg_fail_addr(pc)
184: move.l a1,-(sp)
185: move.l a0,-(sp)
186: bsr result
187: lea.l 12(sp),sp
188: @@:
189: fmove.l fpcr,d0
190: moveq.l #0,d1
191: cmp.l d1,d0
192: beq @f
193: pea.l msg_fail_cr(pc)
194: move.l d1,-(sp)
195: move.l d0,-(sp)
196: bsr result
197: lea.l 12(sp),sp
198: @@:
199: fmove.l fpsr,d0
200: moveq.l #0,d1
201: cmp.l d1,d0
202: beq @f
203: pea.l msg_fail_sr(pc)
204: move.l d1,-(sp)
205: move.l d0,-(sp)
206: bsr result
207: lea.l 12(sp),sp
208: @@:
209: fmove.l fpiar,a0
210: move.l #$55555555,a1
211: cmpa.l a1,a0
212: beq @f
213: pea.l msg_fail_ir(pc)
214: move.l a1,-(sp)
215: move.l a0,-(sp)
216: bsr result
217: lea.l 12(sp),sp
218: @@:
219: tst.l d7
220: bne @f
221: PRINT msg_ok
222: @@:
223: rts
224:
225: test_fmovem_anpi_to____:
226: PRINT msg_fmovem_anpi_to____
227: fmove.l #0,fpcr
228: fmove.l #0,fpsr
229: fmove.l #0,fpiar
230: move.l #$55555555,workarea
231: lea.l workarea(pc),a0
232: SET_FLINE_TRAP
233: moveq.l #0,d7
234: lea.l @f,a3
235: .dc.w $f218, $8000
236: @@:
237: RESTORE_FLINE_TRAP
238: tst.l d7
239: beq @f
240: PRINT msg_fail_trap
241: rts
242: @@:
243: lea.l workarea+4(pc),a1
244: cmpa.l a1,a0
245: beq @f
246: pea.l msg_fail_addr(pc)
247: move.l a1,-(sp)
248: move.l a0,-(sp)
249: bsr result
250: lea.l 12(sp),sp
251: @@:
252: fmove.l fpcr,d0
253: moveq.l #0,d1
254: cmp.l d1,d0
255: beq @f
256: pea.l msg_fail_cr(pc)
257: move.l d1,-(sp)
258: move.l d0,-(sp)
259: bsr result
260: lea.l 12(sp),sp
261: @@:
262: fmove.l fpsr,d0
263: moveq.l #0,d1
264: cmp.l d1,d0
265: beq @f
266: pea.l msg_fail_sr(pc)
267: move.l d1,-(sp)
268: move.l d0,-(sp)
269: bsr result
270: lea.l 12(sp),sp
271: @@:
272: fmove.l fpiar,a0
273: move.l #$55555555,a1
274: cmpa.l a1,a0
275: beq @f
276: pea.l msg_fail_ir(pc)
277: move.l a1,-(sp)
278: move.l a0,-(sp)
279: bsr result
280: lea.l 12(sp),sp
281: @@:
282: tst.l d7
283: bne @f
284: PRINT msg_ok
285: @@:
286: rts
287:
288: test_fmovem_anpd_to____:
289: PRINT msg_fmovem_anpd_to____
290: fmove.l #0,fpcr
291: fmove.l #0,fpsr
292: fmove.l #0,fpiar
293: move.l #$55555555,workarea
294: lea.l workarea+4(pc),a0
295: SET_FLINE_TRAP
296: moveq.l #0,d7
297: lea.l @f,a3
298: .dc.w $f220, $8000
299: @@:
300: RESTORE_FLINE_TRAP
301: tst.l d7
302: beq @f
303: PRINT msg_fail_trap
304: rts
305: @@:
306: lea.l workarea(pc),a1
307: cmpa.l a1,a0
308: beq @f
309: pea.l msg_fail_addr(pc)
310: move.l a1,-(sp)
311: move.l a0,-(sp)
312: bsr result
313: lea.l 12(sp),sp
314: @@:
315: fmove.l fpcr,d0
316: moveq.l #0,d1
317: cmp.l d1,d0
318: beq @f
319: pea.l msg_fail_cr(pc)
320: move.l d1,-(sp)
321: move.l d0,-(sp)
322: bsr result
323: lea.l 12(sp),sp
324: @@:
325: fmove.l fpsr,d0
326: moveq.l #0,d1
327: cmp.l d1,d0
328: beq @f
329: pea.l msg_fail_sr(pc)
330: move.l d1,-(sp)
331: move.l d0,-(sp)
332: bsr result
333: lea.l 12(sp),sp
334: @@:
335: fmove.l fpiar,a0
336: move.l #$55555555,a1
337: cmpa.l a1,a0
338: beq @f
339: pea.l msg_fail_ir(pc)
340: move.l a1,-(sp)
341: move.l a0,-(sp)
342: bsr result
343: lea.l 12(sp),sp
344: @@:
345: tst.l d7
346: bne @f
347: PRINT msg_ok
348: @@:
349: rts
350:
351: test_fmovem_imm_to____:
352: PRINT msg_fmovem_imm_to____
353: fmove.l #0,fpcr
354: fmove.l #0,fpsr
355: fmove.l #0,fpiar
356: SET_FLINE_TRAP
357: moveq.l #0,d7
358: lea.l @f,a3
359: .dc.w $f23c, $8000
360: .dc.l $55555555
361: @@:
362: RESTORE_FLINE_TRAP
363: tst.l d7
364: beq @f
365: PRINT msg_fail_trap
366: rts
367: @@:
368: fmove.l fpcr,d0
369: moveq.l #0,d1
370: cmp.l d1,d0
371: beq @f
372: pea.l msg_fail_cr(pc)
373: move.l d1,-(sp)
374: move.l d0,-(sp)
375: bsr result
376: lea.l 12(sp),sp
377: @@:
378: fmove.l fpsr,d0
379: moveq.l #0,d1
380: cmp.l d1,d0
381: beq @f
382: pea.l msg_fail_sr(pc)
383: move.l d1,-(sp)
384: move.l d0,-(sp)
385: bsr result
386: lea.l 12(sp),sp
387: @@:
388: fmove.l fpiar,a0
389: move.l #$55555555,a1
390: cmpa.l a1,a0
391: beq @f
392: pea.l msg_fail_ir(pc)
393: move.l a1,-(sp)
394: move.l a0,-(sp)
395: bsr result
396: lea.l 12(sp),sp
397: @@:
398: tst.l d7
399: bne @f
400: PRINT msg_ok
401: @@:
402: rts
403:
404: test_fmovem_dn_to___I:
405: PRINT msg_fmovem_dn_to___I
406: fmove.l #0,fpcr
407: fmove.l #0,fpsr
408: fmove.l #0,fpiar
409: move.l #$55555555,d0
410: SET_FLINE_TRAP
411: moveq.l #0,d7
412: lea.l @f,a3
413: fmovem.l d0,fpiar
414: @@:
415: RESTORE_FLINE_TRAP
416: tst.l d7
417: beq @f
418: PRINT msg_fail_trap
419: rts
420: @@:
421: fmove.l fpcr,d0
422: moveq.l #0,d1
423: cmp.l d1,d0
424: beq @f
425: pea.l msg_fail_cr(pc)
426: move.l d1,-(sp)
427: move.l d0,-(sp)
428: bsr result
429: lea.l 12(sp),sp
430: @@:
431: fmove.l fpsr,d0
432: moveq.l #0,d1
433: cmp.l d1,d0
434: beq @f
435: pea.l msg_fail_sr(pc)
436: move.l d1,-(sp)
437: move.l d0,-(sp)
438: bsr result
439: lea.l 12(sp),sp
440: @@:
441: fmove.l fpiar,a0
442: move.l #$55555555,a1
443: cmpa.l a1,a0
444: beq @f
445: pea.l msg_fail_ir(pc)
446: move.l a1,-(sp)
447: move.l a0,-(sp)
448: bsr result
449: lea.l 12(sp),sp
450: @@:
451: tst.l d7
452: bne @f
453: PRINT msg_ok
454: @@:
455: rts
456:
457: test_fmovem_an_to___I:
458: PRINT msg_fmovem_an_to___I
459: fmove.l #0,fpcr
460: fmove.l #0,fpsr
461: fmove.l #0,fpiar
462: move.l #$55555555,a0
463: SET_FLINE_TRAP
464: moveq.l #0,d7
465: lea.l @f,a3
466: fmovem.l a0,fpiar
467: @@:
468: RESTORE_FLINE_TRAP
469: tst.l d7
470: beq @f
471: PRINT msg_fail_trap
472: rts
473: @@:
474: fmove.l fpcr,d0
475: moveq.l #0,d1
476: cmp.l d1,d0
477: beq @f
478: pea.l msg_fail_cr(pc)
479: move.l d1,-(sp)
480: move.l d0,-(sp)
481: bsr result
482: lea.l 12(sp),sp
483: @@:
484: fmove.l fpsr,d0
485: moveq.l #0,d1
486: cmp.l d1,d0
487: beq @f
488: pea.l msg_fail_sr(pc)
489: move.l d1,-(sp)
490: move.l d0,-(sp)
491: bsr result
492: lea.l 12(sp),sp
493: @@:
494: fmove.l fpiar,a0
495: move.l #$55555555,a1
496: cmpa.l a1,a0
497: beq @f
498: pea.l msg_fail_ir(pc)
499: move.l a1,-(sp)
500: move.l a0,-(sp)
501: bsr result
502: lea.l 12(sp),sp
503: @@:
504: tst.l d7
505: bne @f
506: PRINT msg_ok
507: @@:
508: rts
509:
510: test_fmovem_anin_to___I:
511: PRINT msg_fmovem_anin_to___I
512: fmove.l #0,fpcr
513: fmove.l #0,fpsr
514: fmove.l #0,fpiar
515: move.l #$55555555,workarea
516: lea.l workarea(pc),a0
517: SET_FLINE_TRAP
518: moveq.l #0,d7
519: lea.l @f,a3
520: fmovem.l (a0),fpiar
521: @@:
522: RESTORE_FLINE_TRAP
523: tst.l d7
524: beq @f
525: PRINT msg_fail_trap
526: rts
527: @@:
528: lea.l workarea(pc),a1
529: cmpa.l a1,a0
530: beq @f
531: pea.l msg_fail_addr(pc)
532: move.l a1,-(sp)
533: move.l a0,-(sp)
534: bsr result
535: lea.l 12(sp),sp
536: @@:
537: fmove.l fpcr,d0
538: moveq.l #0,d1
539: cmp.l d1,d0
540: beq @f
541: pea.l msg_fail_cr(pc)
542: move.l d1,-(sp)
543: move.l d0,-(sp)
544: bsr result
545: lea.l 12(sp),sp
546: @@:
547: fmove.l fpsr,d0
548: moveq.l #0,d1
549: cmp.l d1,d0
550: beq @f
551: pea.l msg_fail_sr(pc)
552: move.l d1,-(sp)
553: move.l d0,-(sp)
554: bsr result
555: lea.l 12(sp),sp
556: @@:
557: fmove.l fpiar,a0
558: move.l #$55555555,a1
559: cmpa.l a1,a0
560: beq @f
561: pea.l msg_fail_ir(pc)
562: move.l a1,-(sp)
563: move.l a0,-(sp)
564: bsr result
565: lea.l 12(sp),sp
566: @@:
567: tst.l d7
568: bne @f
569: PRINT msg_ok
570: @@:
571: rts
572:
573: test_fmovem_anpi_to___I:
574: PRINT msg_fmovem_anpi_to___I
575: fmove.l #0,fpcr
576: fmove.l #0,fpsr
577: fmove.l #0,fpiar
578: move.l #$55555555,workarea
579: lea.l workarea(pc),a0
580: SET_FLINE_TRAP
581: moveq.l #0,d7
582: lea.l @f,a3
583: fmovem.l (a0)+,fpiar
584: @@:
585: RESTORE_FLINE_TRAP
586: tst.l d7
587: beq @f
588: PRINT msg_fail_trap
589: rts
590: @@:
591: lea.l workarea+4(pc),a1
592: cmpa.l a1,a0
593: beq @f
594: pea.l msg_fail_addr(pc)
595: move.l a1,-(sp)
596: move.l a0,-(sp)
597: bsr result
598: lea.l 12(sp),sp
599: @@:
600: fmove.l fpcr,d0
601: moveq.l #0,d1
602: cmp.l d1,d0
603: beq @f
604: pea.l msg_fail_cr(pc)
605: move.l d1,-(sp)
606: move.l d0,-(sp)
607: bsr result
608: lea.l 12(sp),sp
609: @@:
610: fmove.l fpsr,d0
611: moveq.l #0,d1
612: cmp.l d1,d0
613: beq @f
614: pea.l msg_fail_sr(pc)
615: move.l d1,-(sp)
616: move.l d0,-(sp)
617: bsr result
618: lea.l 12(sp),sp
619: @@:
620: fmove.l fpiar,a0
621: move.l #$55555555,a1
622: cmpa.l a1,a0
623: beq @f
624: pea.l msg_fail_ir(pc)
625: move.l a1,-(sp)
626: move.l a0,-(sp)
627: bsr result
628: lea.l 12(sp),sp
629: @@:
630: tst.l d7
631: bne @f
632: PRINT msg_ok
633: @@:
634: rts
635:
636: test_fmovem_anpd_to___I:
637: PRINT msg_fmovem_anpd_to___I
638: fmove.l #0,fpcr
639: fmove.l #0,fpsr
640: fmove.l #0,fpiar
641: move.l #$55555555,workarea
642: lea.l workarea+4(pc),a0
643: SET_FLINE_TRAP
644: moveq.l #0,d7
645: lea.l @f,a3
646: fmovem.l -(a0),fpiar
647: @@:
648: RESTORE_FLINE_TRAP
649: tst.l d7
650: beq @f
651: PRINT msg_fail_trap
652: rts
653: @@:
654: lea.l workarea(pc),a1
655: cmpa.l a1,a0
656: beq @f
657: pea.l msg_fail_addr(pc)
658: move.l a1,-(sp)
659: move.l a0,-(sp)
660: bsr result
661: lea.l 12(sp),sp
662: @@:
663: fmove.l fpcr,d0
664: moveq.l #0,d1
665: cmp.l d1,d0
666: beq @f
667: pea.l msg_fail_cr(pc)
668: move.l d1,-(sp)
669: move.l d0,-(sp)
670: bsr result
671: lea.l 12(sp),sp
672: @@:
673: fmove.l fpsr,d0
674: moveq.l #0,d1
675: cmp.l d1,d0
676: beq @f
677: pea.l msg_fail_sr(pc)
678: move.l d1,-(sp)
679: move.l d0,-(sp)
680: bsr result
681: lea.l 12(sp),sp
682: @@:
683: fmove.l fpiar,a0
684: move.l #$55555555,a1
685: cmpa.l a1,a0
686: beq @f
687: pea.l msg_fail_ir(pc)
688: move.l a1,-(sp)
689: move.l a0,-(sp)
690: bsr result
691: lea.l 12(sp),sp
692: @@:
693: tst.l d7
694: bne @f
695: PRINT msg_ok
696: @@:
697: rts
698:
699: test_fmovem_imm_to___I:
700: PRINT msg_fmovem_imm_to___I
701: fmove.l #0,fpcr
702: fmove.l #0,fpsr
703: fmove.l #0,fpiar
704: SET_FLINE_TRAP
705: moveq.l #0,d7
706: lea.l @f,a3
707: fmovem.l #$55555555,fpiar
708: @@:
709: RESTORE_FLINE_TRAP
710: tst.l d7
711: beq @f
712: PRINT msg_fail_trap
713: rts
714: @@:
715: fmove.l fpcr,d0
716: moveq.l #0,d1
717: cmp.l d1,d0
718: beq @f
719: pea.l msg_fail_cr(pc)
720: move.l d1,-(sp)
721: move.l d0,-(sp)
722: bsr result
723: lea.l 12(sp),sp
724: @@:
725: fmove.l fpsr,d0
726: moveq.l #0,d1
727: cmp.l d1,d0
728: beq @f
729: pea.l msg_fail_sr(pc)
730: move.l d1,-(sp)
731: move.l d0,-(sp)
732: bsr result
733: lea.l 12(sp),sp
734: @@:
735: fmove.l fpiar,a0
736: move.l #$55555555,a1
737: cmpa.l a1,a0
738: beq @f
739: pea.l msg_fail_ir(pc)
740: move.l a1,-(sp)
741: move.l a0,-(sp)
742: bsr result
743: lea.l 12(sp),sp
744: @@:
745: tst.l d7
746: bne @f
747: PRINT msg_ok
748: @@:
749: rts
750:
751: test_fmovem_dn_to__S_:
752: PRINT msg_fmovem_dn_to__S_
753: fmove.l #0,fpcr
754: fmove.l #0,fpsr
755: fmove.l #0,fpiar
756: move.l #$55555555,d0
757: SET_FLINE_TRAP
758: moveq.l #0,d7
759: lea.l @f,a3
760: fmovem.l d0,fpsr
761: @@:
762: RESTORE_FLINE_TRAP
763: tst.l d7
764: beq @f
765: PRINT msg_fail_trap
766: rts
767: @@:
768: fmove.l fpcr,d0
769: moveq.l #0,d1
770: cmp.l d1,d0
771: beq @f
772: pea.l msg_fail_cr(pc)
773: move.l d1,-(sp)
774: move.l d0,-(sp)
775: bsr result
776: lea.l 12(sp),sp
777: @@:
778: fmove.l fpsr,d0
779: move.l #$05555550,d1
780: cmp.l d1,d0
781: beq @f
782: pea.l msg_fail_sr(pc)
783: move.l d1,-(sp)
784: move.l d0,-(sp)
785: bsr result
786: lea.l 12(sp),sp
787: @@:
788: fmove.l fpiar,a0
789: move.l d7,a1 ; d7=0
790: cmpa.l a1,a0
791: beq @f
792: pea.l msg_fail_ir(pc)
793: move.l a1,-(sp)
794: move.l a0,-(sp)
795: bsr result
796: lea.l 12(sp),sp
797: @@:
798: tst.l d7
799: bne @f
800: PRINT msg_ok
801: @@:
802: rts
803:
804: test_fmovem_an_to__S_:
1.1.1.3 ! root 805: tst.b is_hard(pc)
! 806: bne @f
! 807: rts
! 808: @@:
1.1 root 809: PRINT msg_fmovem_an_to__S_
810: SET_FLINE_TRAP
811: moveq.l #0,d7
812: lea.l @f,a3
813: .dc.w $f208, $8800
814: @@:
815: RESTORE_FLINE_TRAP
816: tst.l d7
817: bne @f
818: PRINT msg_fail_notrap
819: rts
820: @@:
821: PRINT msg_oktrap
822: rts
823:
824: test_fmovem_anin_to__S_:
825: PRINT msg_fmovem_anin_to__S_
826: fmove.l #0,fpcr
827: fmove.l #0,fpsr
828: fmove.l #0,fpiar
829: move.l #$55555555,workarea
830: lea.l workarea(pc),a0
831: SET_FLINE_TRAP
832: moveq.l #0,d7
833: lea.l @f,a3
834: fmovem.l (a0),fpsr
835: @@:
836: RESTORE_FLINE_TRAP
837: tst.l d7
838: beq @f
839: PRINT msg_fail_trap
840: rts
841: @@:
842: lea.l workarea(pc),a1
843: cmpa.l a1,a0
844: beq @f
845: pea.l msg_fail_addr(pc)
846: move.l a1,-(sp)
847: move.l a0,-(sp)
848: bsr result
849: lea.l 12(sp),sp
850: @@:
851: fmove.l fpcr,d0
852: moveq.l #0,d1
853: cmp.l d1,d0
854: beq @f
855: pea.l msg_fail_cr(pc)
856: move.l d1,-(sp)
857: move.l d0,-(sp)
858: bsr result
859: lea.l 12(sp),sp
860: @@:
861: fmove.l fpsr,d0
862: move.l #$05555550,d1
863: cmp.l d1,d0
864: beq @f
865: pea.l msg_fail_sr(pc)
866: move.l d1,-(sp)
867: move.l d0,-(sp)
868: bsr result
869: lea.l 12(sp),sp
870: @@:
871: fmove.l fpiar,a0
872: move.l d7,a1 ; d7=0
873: cmpa.l a1,a0
874: beq @f
875: pea.l msg_fail_ir(pc)
876: move.l a1,-(sp)
877: move.l a0,-(sp)
878: bsr result
879: lea.l 12(sp),sp
880: @@:
881: tst.l d7
882: bne @f
883: PRINT msg_ok
884: @@:
885: rts
886:
887: test_fmovem_anpi_to__S_:
888: PRINT msg_fmovem_anpi_to__S_
889: fmove.l #0,fpcr
890: fmove.l #0,fpsr
891: fmove.l #0,fpiar
892: move.l #$55555555,workarea
893: lea.l workarea(pc),a0
894: SET_FLINE_TRAP
895: moveq.l #0,d7
896: lea.l @f,a3
897: fmovem.l (a0)+,fpsr
898: @@:
899: RESTORE_FLINE_TRAP
900: tst.l d7
901: beq @f
902: PRINT msg_fail_trap
903: rts
904: @@:
905: lea.l workarea+4(pc),a1
906: cmpa.l a1,a0
907: beq @f
908: pea.l msg_fail_addr(pc)
909: move.l a1,-(sp)
910: move.l a0,-(sp)
911: bsr result
912: lea.l 12(sp),sp
913: @@:
914: fmove.l fpcr,d0
915: moveq.l #0,d1
916: cmp.l d1,d0
917: beq @f
918: pea.l msg_fail_cr(pc)
919: move.l d1,-(sp)
920: move.l d0,-(sp)
921: bsr result
922: lea.l 12(sp),sp
923: @@:
924: fmove.l fpsr,d0
925: move.l #$05555550,d1
926: cmp.l d1,d0
927: beq @f
928: pea.l msg_fail_sr(pc)
929: move.l d1,-(sp)
930: move.l d0,-(sp)
931: bsr result
932: lea.l 12(sp),sp
933: @@:
934: fmove.l fpiar,a0
935: move.l d7,a1 ; d7=0
936: cmpa.l a1,a0
937: beq @f
938: pea.l msg_fail_ir(pc)
939: move.l a1,-(sp)
940: move.l a0,-(sp)
941: bsr result
942: lea.l 12(sp),sp
943: @@:
944: tst.l d7
945: bne @f
946: PRINT msg_ok
947: @@:
948: rts
949:
950: test_fmovem_anpd_to__S_:
951: PRINT msg_fmovem_anpd_to__S_
952: fmove.l #0,fpcr
953: fmove.l #0,fpsr
954: fmove.l #0,fpiar
955: move.l #$55555555,workarea
956: lea.l workarea+4(pc),a0
957: SET_FLINE_TRAP
958: moveq.l #0,d7
959: lea.l @f,a3
960: fmovem.l -(a0),fpsr
961: @@:
962: RESTORE_FLINE_TRAP
963: tst.l d7
964: beq @f
965: PRINT msg_fail_trap
966: rts
967: @@:
968: lea.l workarea(pc),a1
969: cmpa.l a1,a0
970: beq @f
971: pea.l msg_fail_addr(pc)
972: move.l a1,-(sp)
973: move.l a0,-(sp)
974: bsr result
975: lea.l 12(sp),sp
976: @@:
977: fmove.l fpcr,d0
978: moveq.l #0,d1
979: cmp.l d1,d0
980: beq @f
981: pea.l msg_fail_cr(pc)
982: move.l d1,-(sp)
983: move.l d0,-(sp)
984: bsr result
985: lea.l 12(sp),sp
986: @@:
987: fmove.l fpsr,d0
988: move.l #$05555550,d1
989: cmp.l d1,d0
990: beq @f
991: pea.l msg_fail_sr(pc)
992: move.l d1,-(sp)
993: move.l d0,-(sp)
994: bsr result
995: lea.l 12(sp),sp
996: @@:
997: fmove.l fpiar,a0
998: move.l d7,a1 ; d7=0
999: cmpa.l a1,a0
1000: beq @f
1001: pea.l msg_fail_ir(pc)
1002: move.l a1,-(sp)
1003: move.l a0,-(sp)
1004: bsr result
1005: lea.l 12(sp),sp
1006: @@:
1007: tst.l d7
1008: bne @f
1009: PRINT msg_ok
1010: @@:
1011: rts
1012:
1013: test_fmovem_imm_to__S_:
1014: PRINT msg_fmovem_imm_to__S_
1015: fmove.l #0,fpcr
1016: fmove.l #0,fpsr
1017: fmove.l #0,fpiar
1018: SET_FLINE_TRAP
1019: moveq.l #0,d7
1020: lea.l @f,a3
1021: fmovem.l #$55555555,fpsr
1022: @@:
1023: RESTORE_FLINE_TRAP
1024: tst.l d7
1025: beq @f
1026: PRINT msg_fail_trap
1027: rts
1028: @@:
1029: fmove.l fpcr,d0
1030: moveq.l #0,d1
1031: cmp.l d1,d0
1032: beq @f
1033: pea.l msg_fail_cr(pc)
1034: move.l d1,-(sp)
1035: move.l d0,-(sp)
1036: bsr result
1037: lea.l 12(sp),sp
1038: @@:
1039: fmove.l fpsr,d0
1040: move.l #$05555550,d1
1041: cmp.l d1,d0
1042: beq @f
1043: pea.l msg_fail_sr(pc)
1044: move.l d1,-(sp)
1045: move.l d0,-(sp)
1046: bsr result
1047: lea.l 12(sp),sp
1048: @@:
1049: fmove.l fpiar,a0
1050: move.l d7,a1 ; d7=0
1051: cmpa.l a1,a0
1052: beq @f
1053: pea.l msg_fail_ir(pc)
1054: move.l a1,-(sp)
1055: move.l a0,-(sp)
1056: bsr result
1057: lea.l 12(sp),sp
1058: @@:
1059: tst.l d7
1060: bne @f
1061: PRINT msg_ok
1062: @@:
1063: rts
1064:
1065: test_fmovem_dn_to__SI:
1.1.1.3 ! root 1066: tst.b is_hard(pc)
! 1067: bne @f
! 1068: rts
! 1069: @@:
1.1 root 1070: PRINT msg_fmovem_dn_to__SI
1071: SET_FLINE_TRAP
1072: moveq.l #0,d7
1073: lea.l @f,a3
1074: .dc.w $f200, $8c00
1075: @@:
1076: RESTORE_FLINE_TRAP
1077: tst.l d7
1078: bne @f
1079: PRINT msg_fail_notrap
1080: rts
1081: @@:
1082: PRINT msg_oktrap
1083: rts
1084:
1085: test_fmovem_an_to__SI:
1.1.1.3 ! root 1086: tst.b is_hard(pc)
! 1087: bne @f
! 1088: rts
! 1089: @@:
1.1 root 1090: PRINT msg_fmovem_an_to__SI
1091: SET_FLINE_TRAP
1092: moveq.l #0,d7
1093: lea.l @f,a3
1094: .dc.w $f208, $8c00
1095: @@:
1096: RESTORE_FLINE_TRAP
1097: tst.l d7
1098: bne @f
1099: PRINT msg_fail_notrap
1100: rts
1101: @@:
1102: PRINT msg_oktrap
1103: rts
1104:
1105: test_fmovem_anin_to__SI:
1106: PRINT msg_fmovem_anin_to__SI
1107: fmove.l #0,fpcr
1108: fmove.l #0,fpsr
1109: fmove.l #0,fpiar
1110: move.l #$55555555,workarea
1111: move.l #$aaaaaaaa,workarea+4
1112: lea.l workarea(pc),a0
1113: SET_FLINE_TRAP
1114: moveq.l #0,d7
1115: lea.l @f,a3
1116: fmovem.l (a0),fpsr/fpiar
1117: @@:
1118: RESTORE_FLINE_TRAP
1119: tst.l d7
1120: beq @f
1121: PRINT msg_fail_trap
1122: rts
1123: @@:
1124: lea.l workarea(pc),a1
1125: cmpa.l a1,a0
1126: beq @f
1127: pea.l msg_fail_addr(pc)
1128: move.l a1,-(sp)
1129: move.l a0,-(sp)
1130: bsr result
1131: lea.l 12(sp),sp
1132: @@:
1133: fmove.l fpcr,d0
1134: moveq.l #0,d1
1135: cmp.l d1,d0
1136: beq @f
1137: pea.l msg_fail_cr(pc)
1138: move.l d1,-(sp)
1139: move.l d0,-(sp)
1140: bsr result
1141: lea.l 12(sp),sp
1142: @@:
1143: fmove.l fpsr,d0
1144: move.l #$05555550,d1
1145: cmp.l d1,d0
1146: beq @f
1147: pea.l msg_fail_sr(pc)
1148: move.l d1,-(sp)
1149: move.l d0,-(sp)
1150: bsr result
1151: lea.l 12(sp),sp
1152: @@:
1153: fmove.l fpiar,a0
1154: move.l #$aaaaaaaa,a1
1155: cmpa.l a1,a0
1156: beq @f
1157: pea.l msg_fail_ir(pc)
1158: move.l a1,-(sp)
1159: move.l a0,-(sp)
1160: bsr result
1161: lea.l 12(sp),sp
1162: @@:
1163: tst.l d7
1164: bne @f
1165: PRINT msg_ok
1166: @@:
1167: rts
1168:
1169: test_fmovem_anpi_to__SI:
1170: PRINT msg_fmovem_anpi_to__SI
1171: fmove.l #0,fpcr
1172: fmove.l #0,fpsr
1173: fmove.l #0,fpiar
1174: move.l #$55555555,workarea
1175: move.l #$aaaaaaaa,workarea+4
1176: lea.l workarea(pc),a0
1177: SET_FLINE_TRAP
1178: moveq.l #0,d7
1179: lea.l @f,a3
1180: fmovem.l (a0)+,fpsr/fpiar
1181: @@:
1182: RESTORE_FLINE_TRAP
1183: tst.l d7
1184: beq @f
1185: PRINT msg_fail_trap
1186: rts
1187: @@:
1188: lea.l workarea+8(pc),a1
1189: cmpa.l a1,a0
1190: beq @f
1191: pea.l msg_fail_addr(pc)
1192: move.l a1,-(sp)
1193: move.l a0,-(sp)
1194: bsr result
1195: lea.l 12(sp),sp
1196: @@:
1197: fmove.l fpcr,d0
1198: moveq.l #0,d1
1199: cmp.l d1,d0
1200: beq @f
1201: pea.l msg_fail_cr(pc)
1202: move.l d1,-(sp)
1203: move.l d0,-(sp)
1204: bsr result
1205: lea.l 12(sp),sp
1206: @@:
1207: fmove.l fpsr,d0
1208: move.l #$05555550,d1
1209: cmp.l d1,d0
1210: beq @f
1211: pea.l msg_fail_sr(pc)
1212: move.l d1,-(sp)
1213: move.l d0,-(sp)
1214: bsr result
1215: lea.l 12(sp),sp
1216: @@:
1217: fmove.l fpiar,a0
1218: move.l #$aaaaaaaa,a1
1219: cmpa.l a1,a0
1220: beq @f
1221: pea.l msg_fail_ir(pc)
1222: move.l a1,-(sp)
1223: move.l a0,-(sp)
1224: bsr result
1225: lea.l 12(sp),sp
1226: @@:
1227: tst.l d7
1228: bne @f
1229: PRINT msg_ok
1230: @@:
1231: rts
1232:
1233: test_fmovem_anpd_to__SI:
1234: PRINT msg_fmovem_anpd_to__SI
1235: fmove.l #0,fpcr
1236: fmove.l #0,fpsr
1237: fmove.l #0,fpiar
1238: move.l #$55555555,workarea
1239: move.l #$aaaaaaaa,workarea+4
1240: lea.l workarea+8(pc),a0
1241: SET_FLINE_TRAP
1242: moveq.l #0,d7
1243: lea.l @f,a3
1244: fmovem.l -(a0),fpsr/fpiar
1245: @@:
1246: RESTORE_FLINE_TRAP
1247: tst.l d7
1248: beq @f
1249: PRINT msg_fail_trap
1250: rts
1251: @@:
1252: lea.l workarea(pc),a1
1253: cmpa.l a1,a0
1254: beq @f
1255: pea.l msg_fail_addr(pc)
1256: move.l a1,-(sp)
1257: move.l a0,-(sp)
1258: bsr result
1259: lea.l 12(sp),sp
1260: @@:
1261: fmove.l fpcr,d0
1262: moveq.l #0,d1
1263: cmp.l d1,d0
1264: beq @f
1265: pea.l msg_fail_cr(pc)
1266: move.l d1,-(sp)
1267: move.l d0,-(sp)
1268: bsr result
1269: lea.l 12(sp),sp
1270: @@:
1271: fmove.l fpsr,d0
1272: move.l #$05555550,d1
1273: cmp.l d1,d0
1274: beq @f
1275: pea.l msg_fail_sr(pc)
1276: move.l d1,-(sp)
1277: move.l d0,-(sp)
1278: bsr result
1279: lea.l 12(sp),sp
1280: @@:
1281: fmove.l fpiar,a0
1282: move.l #$aaaaaaaa,a1
1283: cmpa.l a1,a0
1284: beq @f
1285: pea.l msg_fail_ir(pc)
1286: move.l a1,-(sp)
1287: move.l a0,-(sp)
1288: bsr result
1289: lea.l 12(sp),sp
1290: @@:
1291: tst.l d7
1292: bne @f
1293: PRINT msg_ok
1294: @@:
1295: rts
1296:
1297: test_fmovem_imm_to__SI:
1298: PRINT msg_fmovem_imm_to__SI
1299: fmove.l #0,fpcr
1300: fmove.l #0,fpsr
1301: fmove.l #0,fpiar
1302: SET_FLINE_TRAP
1303: moveq.l #0,d7
1304: lea.l @f,a3
1305: fmovem.l #$55555555,#$aaaaaaaa,fpsr/fpiar
1306: @@:
1307: RESTORE_FLINE_TRAP
1308: tst.l d7
1309: beq @f
1310: PRINT msg_fail_trap
1311: rts
1312: @@:
1313: fmove.l fpcr,d0
1314: moveq.l #0,d1
1315: cmp.l d1,d0
1316: beq @f
1317: pea.l msg_fail_cr(pc)
1318: move.l d1,-(sp)
1319: move.l d0,-(sp)
1320: bsr result
1321: lea.l 12(sp),sp
1322: @@:
1323: fmove.l fpsr,d0
1324: move.l #$05555550,d1
1325: cmp.l d1,d0
1326: beq @f
1327: pea.l msg_fail_sr(pc)
1328: move.l d1,-(sp)
1329: move.l d0,-(sp)
1330: bsr result
1331: lea.l 12(sp),sp
1332: @@:
1333: fmove.l fpiar,a0
1334: move.l #$aaaaaaaa,a1
1335: cmpa.l a1,a0
1336: beq @f
1337: pea.l msg_fail_ir(pc)
1338: move.l a1,-(sp)
1339: move.l a0,-(sp)
1340: bsr result
1341: lea.l 12(sp),sp
1342: @@:
1343: tst.l d7
1344: bne @f
1345: PRINT msg_ok
1346: @@:
1347: rts
1348:
1349: test_fmovem_dn_to_C__:
1350: PRINT msg_fmovem_dn_to_C__
1351: fmove.l #0,fpcr
1352: fmove.l #0,fpsr
1353: fmove.l #0,fpiar
1354: move.l #$55555555,d0
1355: SET_FLINE_TRAP
1356: moveq.l #0,d7
1357: lea.l @f,a3
1358: fmovem.l d0,fpcr
1359: @@:
1360: RESTORE_FLINE_TRAP
1361: tst.l d7
1362: beq @f
1363: PRINT msg_fail_trap
1364: rts
1365: @@:
1366: fmove.l fpcr,d0
1367: move.l #$00005550,d1
1368: cmp.l d1,d0
1369: beq @f
1370: pea.l msg_fail_cr(pc)
1371: move.l d1,-(sp)
1372: move.l d0,-(sp)
1373: bsr result
1374: lea.l 12(sp),sp
1375: @@:
1376: fmove.l fpsr,d0
1377: moveq.l #0,d1
1378: cmp.l d1,d0
1379: beq @f
1380: pea.l msg_fail_sr(pc)
1381: move.l d1,-(sp)
1382: move.l d0,-(sp)
1383: bsr result
1384: lea.l 12(sp),sp
1385: @@:
1386: fmove.l fpiar,a0
1387: move.l d7,a1 ; d7=0
1388: cmpa.l a1,a0
1389: beq @f
1390: pea.l msg_fail_ir(pc)
1391: move.l a1,-(sp)
1392: move.l a0,-(sp)
1393: bsr result
1394: lea.l 12(sp),sp
1395: @@:
1396: tst.l d7
1397: bne @f
1398: PRINT msg_ok
1399: @@:
1400: rts
1401:
1402: test_fmovem_an_to_C__:
1.1.1.3 ! root 1403: tst.b is_hard(pc)
! 1404: bne @f
! 1405: rts
! 1406: @@:
1.1 root 1407: PRINT msg_fmovem_an_to_C__
1408: SET_FLINE_TRAP
1409: moveq.l #0,d7
1410: lea.l @f,a3
1411: .dc.w $f208, $9000
1412: @@:
1413: RESTORE_FLINE_TRAP
1414: tst.l d7
1415: bne @f
1416: PRINT msg_fail_notrap
1417: rts
1418: @@:
1419: PRINT msg_oktrap
1420: rts
1421:
1422: test_fmovem_anin_to_C__:
1423: PRINT msg_fmovem_anin_to_C__
1424: fmove.l #0,fpcr
1425: fmove.l #0,fpsr
1426: fmove.l #0,fpiar
1427: move.l #$55555555,workarea
1428: lea.l workarea(pc),a0
1429: SET_FLINE_TRAP
1430: moveq.l #0,d7
1431: lea.l @f,a3
1432: fmovem.l (a0),fpcr
1433: @@:
1434: RESTORE_FLINE_TRAP
1435: tst.l d7
1436: beq @f
1437: PRINT msg_fail_trap
1438: rts
1439: @@:
1440: lea.l workarea(pc),a1
1441: cmpa.l a1,a0
1442: beq @f
1443: pea.l msg_fail_addr(pc)
1444: move.l a1,-(sp)
1445: move.l a0,-(sp)
1446: bsr result
1447: lea.l 12(sp),sp
1448: @@:
1449: fmove.l fpcr,d0
1450: move.l #$00005550,d1
1451: cmp.l d1,d0
1452: beq @f
1453: pea.l msg_fail_cr(pc)
1454: move.l d1,-(sp)
1455: move.l d0,-(sp)
1456: bsr result
1457: lea.l 12(sp),sp
1458: @@:
1459: fmove.l fpsr,d0
1460: moveq.l #0,d1
1461: cmp.l d1,d0
1462: beq @f
1463: pea.l msg_fail_sr(pc)
1464: move.l d1,-(sp)
1465: move.l d0,-(sp)
1466: bsr result
1467: lea.l 12(sp),sp
1468: @@:
1469: fmove.l fpiar,a0
1470: move.l d7,a1 ; d7=0
1471: cmpa.l a1,a0
1472: beq @f
1473: pea.l msg_fail_ir(pc)
1474: move.l a1,-(sp)
1475: move.l a0,-(sp)
1476: bsr result
1477: lea.l 12(sp),sp
1478: @@:
1479: tst.l d7
1480: bne @f
1481: PRINT msg_ok
1482: @@:
1483: rts
1484:
1485: test_fmovem_anpi_to_C__:
1486: PRINT msg_fmovem_anpi_to_C__
1487: fmove.l #0,fpcr
1488: fmove.l #0,fpsr
1489: fmove.l #0,fpiar
1490: move.l #$55555555,workarea
1491: lea.l workarea(pc),a0
1492: SET_FLINE_TRAP
1493: moveq.l #0,d7
1494: lea.l @f,a3
1495: fmovem.l (a0)+,fpcr
1496: @@:
1497: RESTORE_FLINE_TRAP
1498: tst.l d7
1499: beq @f
1500: PRINT msg_fail_trap
1501: rts
1502: @@:
1503: lea.l workarea+4(pc),a1
1504: cmpa.l a1,a0
1505: beq @f
1506: pea.l msg_fail_addr(pc)
1507: move.l a1,-(sp)
1508: move.l a0,-(sp)
1509: bsr result
1510: lea.l 12(sp),sp
1511: @@:
1512: fmove.l fpcr,d0
1513: move.l #$00005550,d1
1514: cmp.l d1,d0
1515: beq @f
1516: pea.l msg_fail_cr(pc)
1517: move.l d1,-(sp)
1518: move.l d0,-(sp)
1519: bsr result
1520: lea.l 12(sp),sp
1521: @@:
1522: fmove.l fpsr,d0
1523: moveq.l #0,d1
1524: cmp.l d1,d0
1525: beq @f
1526: pea.l msg_fail_sr(pc)
1527: move.l d1,-(sp)
1528: move.l d0,-(sp)
1529: bsr result
1530: lea.l 12(sp),sp
1531: @@:
1532: fmove.l fpiar,a0
1533: move.l d7,a1 ; d7=0
1534: cmpa.l a1,a0
1535: beq @f
1536: pea.l msg_fail_ir(pc)
1537: move.l a1,-(sp)
1538: move.l a0,-(sp)
1539: bsr result
1540: lea.l 12(sp),sp
1541: @@:
1542: tst.l d7
1543: bne @f
1544: PRINT msg_ok
1545: @@:
1546: rts
1547:
1548: test_fmovem_anpd_to_C__:
1549: PRINT msg_fmovem_anpd_to_C__
1550: fmove.l #0,fpcr
1551: fmove.l #0,fpsr
1552: fmove.l #0,fpiar
1553: move.l #$55555555,workarea
1554: lea.l workarea+4(pc),a0
1555: SET_FLINE_TRAP
1556: moveq.l #0,d7
1557: lea.l @f,a3
1558: fmovem.l -(a0),fpcr
1559: @@:
1560: RESTORE_FLINE_TRAP
1561: tst.l d7
1562: beq @f
1563: PRINT msg_fail_trap
1564: rts
1565: @@:
1566: lea.l workarea(pc),a1
1567: cmpa.l a1,a0
1568: beq @f
1569: pea.l msg_fail_addr(pc)
1570: move.l a1,-(sp)
1571: move.l a0,-(sp)
1572: bsr result
1573: lea.l 12(sp),sp
1574: @@:
1575: fmove.l fpcr,d0
1576: move.l #$00005550,d1
1577: cmp.l d1,d0
1578: beq @f
1579: pea.l msg_fail_cr(pc)
1580: move.l d1,-(sp)
1581: move.l d0,-(sp)
1582: bsr result
1583: lea.l 12(sp),sp
1584: @@:
1585: fmove.l fpsr,d0
1586: moveq.l #0,d1
1587: cmp.l d1,d0
1588: beq @f
1589: pea.l msg_fail_sr(pc)
1590: move.l d1,-(sp)
1591: move.l d0,-(sp)
1592: bsr result
1593: lea.l 12(sp),sp
1594: @@:
1595: fmove.l fpiar,a0
1596: move.l d7,a1 ; d7=0
1597: cmpa.l a1,a0
1598: beq @f
1599: pea.l msg_fail_ir(pc)
1600: move.l a1,-(sp)
1601: move.l a0,-(sp)
1602: bsr result
1603: lea.l 12(sp),sp
1604: @@:
1605: tst.l d7
1606: bne @f
1607: PRINT msg_ok
1608: @@:
1609: rts
1610:
1611: test_fmovem_imm_to_C__:
1612: PRINT msg_fmovem_imm_to_C__
1613: fmove.l #0,fpcr
1614: fmove.l #0,fpsr
1615: fmove.l #0,fpiar
1616: SET_FLINE_TRAP
1617: moveq.l #0,d7
1618: lea.l @f,a3
1619: fmovem.l #$55555555,fpcr
1620: @@:
1621: RESTORE_FLINE_TRAP
1622: tst.l d7
1623: beq @f
1624: PRINT msg_fail_trap
1625: rts
1626: @@:
1627: fmove.l fpcr,d0
1628: move.l #$00005550,d1
1629: cmp.l d1,d0
1630: beq @f
1631: pea.l msg_fail_cr(pc)
1632: move.l d1,-(sp)
1633: move.l d0,-(sp)
1634: bsr result
1635: lea.l 12(sp),sp
1636: @@:
1637: fmove.l fpsr,d0
1638: moveq.l #0,d1
1639: cmp.l d1,d0
1640: beq @f
1641: pea.l msg_fail_sr(pc)
1642: move.l d1,-(sp)
1643: move.l d0,-(sp)
1644: bsr result
1645: lea.l 12(sp),sp
1646: @@:
1647: fmove.l fpiar,a0
1648: move.l d7,a1 ; d7=0
1649: cmpa.l a1,a0
1650: beq @f
1651: pea.l msg_fail_ir(pc)
1652: move.l a1,-(sp)
1653: move.l a0,-(sp)
1654: bsr result
1655: lea.l 12(sp),sp
1656: @@:
1657: tst.l d7
1658: bne @f
1659: PRINT msg_ok
1660: @@:
1661: rts
1662:
1663: test_fmovem_dn_to_C_I:
1.1.1.3 ! root 1664: tst.b is_hard(pc)
! 1665: bne @f
! 1666: rts
! 1667: @@:
1.1 root 1668: PRINT msg_fmovem_dn_to_C_I
1669: SET_FLINE_TRAP
1670: moveq.l #0,d7
1671: lea.l @f,a3
1672: .dc.w $f200, $9400
1673: @@:
1674: RESTORE_FLINE_TRAP
1675: tst.l d7
1676: bne @f
1677: PRINT msg_fail_notrap
1678: rts
1679: @@:
1680: PRINT msg_oktrap
1681: rts
1682:
1683: test_fmovem_an_to_C_I:
1.1.1.3 ! root 1684: tst.b is_hard(pc)
! 1685: bne @f
! 1686: rts
! 1687: @@:
1.1 root 1688: PRINT msg_fmovem_an_to_C_I
1689: SET_FLINE_TRAP
1690: moveq.l #0,d7
1691: lea.l @f,a3
1692: .dc.w $f208, $9400
1693: @@:
1694: RESTORE_FLINE_TRAP
1695: tst.l d7
1696: bne @f
1697: PRINT msg_fail_notrap
1698: rts
1699: @@:
1700: PRINT msg_oktrap
1701: rts
1702:
1703: test_fmovem_anin_to_C_I:
1704: PRINT msg_fmovem_anin_to_C_I
1705: fmove.l #0,fpcr
1706: fmove.l #0,fpsr
1707: fmove.l #0,fpiar
1708: move.l #$55555555,workarea
1709: move.l #$aaaaaaaa,workarea+4
1710: lea.l workarea(pc),a0
1711: SET_FLINE_TRAP
1712: moveq.l #0,d7
1713: lea.l @f,a3
1714: fmovem.l (a0),fpcr/fpiar
1715: @@:
1716: RESTORE_FLINE_TRAP
1717: tst.l d7
1718: beq @f
1719: PRINT msg_fail_trap
1720: rts
1721: @@:
1722: lea.l workarea(pc),a1
1723: cmpa.l a1,a0
1724: beq @f
1725: pea.l msg_fail_addr(pc)
1726: move.l a1,-(sp)
1727: move.l a0,-(sp)
1728: bsr result
1729: lea.l 12(sp),sp
1730: @@:
1731: fmove.l fpcr,d0
1732: move.l #$00005550,d1
1733: cmp.l d1,d0
1734: beq @f
1735: pea.l msg_fail_cr(pc)
1736: move.l d1,-(sp)
1737: move.l d0,-(sp)
1738: bsr result
1739: lea.l 12(sp),sp
1740: @@:
1741: fmove.l fpsr,d0
1742: moveq.l #0,d1
1743: cmp.l d1,d0
1744: beq @f
1745: pea.l msg_fail_sr(pc)
1746: move.l d1,-(sp)
1747: move.l d0,-(sp)
1748: bsr result
1749: lea.l 12(sp),sp
1750: @@:
1751: fmove.l fpiar,a0
1752: move.l #$aaaaaaaa,a1
1753: cmpa.l a1,a0
1754: beq @f
1755: pea.l msg_fail_ir(pc)
1756: move.l a1,-(sp)
1757: move.l a0,-(sp)
1758: bsr result
1759: lea.l 12(sp),sp
1760: @@:
1761: tst.l d7
1762: bne @f
1763: PRINT msg_ok
1764: @@:
1765: rts
1766:
1767: test_fmovem_anpi_to_C_I:
1768: PRINT msg_fmovem_anpi_to_C_I
1769: fmove.l #0,fpcr
1770: fmove.l #0,fpsr
1771: fmove.l #0,fpiar
1772: move.l #$55555555,workarea
1773: move.l #$aaaaaaaa,workarea+4
1774: lea.l workarea(pc),a0
1775: SET_FLINE_TRAP
1776: moveq.l #0,d7
1777: lea.l @f,a3
1778: fmovem.l (a0)+,fpcr/fpiar
1779: @@:
1780: RESTORE_FLINE_TRAP
1781: tst.l d7
1782: beq @f
1783: PRINT msg_fail_trap
1784: rts
1785: @@:
1786: lea.l workarea+8(pc),a1
1787: cmpa.l a1,a0
1788: beq @f
1789: pea.l msg_fail_addr(pc)
1790: move.l a1,-(sp)
1791: move.l a0,-(sp)
1792: bsr result
1793: lea.l 12(sp),sp
1794: @@:
1795: fmove.l fpcr,d0
1796: move.l #$00005550,d1
1797: cmp.l d1,d0
1798: beq @f
1799: pea.l msg_fail_cr(pc)
1800: move.l d1,-(sp)
1801: move.l d0,-(sp)
1802: bsr result
1803: lea.l 12(sp),sp
1804: @@:
1805: fmove.l fpsr,d0
1806: moveq.l #0,d1
1807: cmp.l d1,d0
1808: beq @f
1809: pea.l msg_fail_sr(pc)
1810: move.l d1,-(sp)
1811: move.l d0,-(sp)
1812: bsr result
1813: lea.l 12(sp),sp
1814: @@:
1815: fmove.l fpiar,a0
1816: move.l #$aaaaaaaa,a1
1817: cmpa.l a1,a0
1818: beq @f
1819: pea.l msg_fail_ir(pc)
1820: move.l a1,-(sp)
1821: move.l a0,-(sp)
1822: bsr result
1823: lea.l 12(sp),sp
1824: @@:
1825: tst.l d7
1826: bne @f
1827: PRINT msg_ok
1828: @@:
1829: rts
1830:
1831: test_fmovem_anpd_to_C_I:
1832: PRINT msg_fmovem_anpd_to_C_I
1833: fmove.l #0,fpcr
1834: fmove.l #0,fpsr
1835: fmove.l #0,fpiar
1836: move.l #$55555555,workarea
1837: move.l #$aaaaaaaa,workarea+4
1838: lea.l workarea+8(pc),a0
1839: SET_FLINE_TRAP
1840: moveq.l #0,d7
1841: lea.l @f,a3
1842: fmovem.l -(a0),fpcr/fpiar
1843: @@:
1844: RESTORE_FLINE_TRAP
1845: tst.l d7
1846: beq @f
1847: PRINT msg_fail_trap
1848: rts
1849: @@:
1850: lea.l workarea(pc),a1
1851: cmpa.l a1,a0
1852: beq @f
1853: pea.l msg_fail_addr(pc)
1854: move.l a1,-(sp)
1855: move.l a0,-(sp)
1856: bsr result
1857: lea.l 12(sp),sp
1858: @@:
1859: fmove.l fpcr,d0
1860: move.l #$00005550,d1
1861: cmp.l d1,d0
1862: beq @f
1863: pea.l msg_fail_cr(pc)
1864: move.l d1,-(sp)
1865: move.l d0,-(sp)
1866: bsr result
1867: lea.l 12(sp),sp
1868: @@:
1869: fmove.l fpsr,d0
1870: moveq.l #0,d1
1871: cmp.l d1,d0
1872: beq @f
1873: pea.l msg_fail_sr(pc)
1874: move.l d1,-(sp)
1875: move.l d0,-(sp)
1876: bsr result
1877: lea.l 12(sp),sp
1878: @@:
1879: fmove.l fpiar,a0
1880: move.l #$aaaaaaaa,a1
1881: cmpa.l a1,a0
1882: beq @f
1883: pea.l msg_fail_ir(pc)
1884: move.l a1,-(sp)
1885: move.l a0,-(sp)
1886: bsr result
1887: lea.l 12(sp),sp
1888: @@:
1889: tst.l d7
1890: bne @f
1891: PRINT msg_ok
1892: @@:
1893: rts
1894:
1895: test_fmovem_imm_to_C_I:
1896: PRINT msg_fmovem_imm_to_C_I
1897: fmove.l #0,fpcr
1898: fmove.l #0,fpsr
1899: fmove.l #0,fpiar
1900: SET_FLINE_TRAP
1901: moveq.l #0,d7
1902: lea.l @f,a3
1903: fmovem.l #$55555555,#$aaaaaaaa,fpcr/fpiar
1904: @@:
1905: RESTORE_FLINE_TRAP
1906: tst.l d7
1907: beq @f
1908: PRINT msg_fail_trap
1909: rts
1910: @@:
1911: fmove.l fpcr,d0
1912: move.l #$00005550,d1
1913: cmp.l d1,d0
1914: beq @f
1915: pea.l msg_fail_cr(pc)
1916: move.l d1,-(sp)
1917: move.l d0,-(sp)
1918: bsr result
1919: lea.l 12(sp),sp
1920: @@:
1921: fmove.l fpsr,d0
1922: moveq.l #0,d1
1923: cmp.l d1,d0
1924: beq @f
1925: pea.l msg_fail_sr(pc)
1926: move.l d1,-(sp)
1927: move.l d0,-(sp)
1928: bsr result
1929: lea.l 12(sp),sp
1930: @@:
1931: fmove.l fpiar,a0
1932: move.l #$aaaaaaaa,a1
1933: cmpa.l a1,a0
1934: beq @f
1935: pea.l msg_fail_ir(pc)
1936: move.l a1,-(sp)
1937: move.l a0,-(sp)
1938: bsr result
1939: lea.l 12(sp),sp
1940: @@:
1941: tst.l d7
1942: bne @f
1943: PRINT msg_ok
1944: @@:
1945: rts
1946:
1947: test_fmovem_dn_to_CS_:
1.1.1.3 ! root 1948: tst.b is_hard(pc)
! 1949: bne @f
! 1950: rts
! 1951: @@:
1.1 root 1952: PRINT msg_fmovem_dn_to_CS_
1953: SET_FLINE_TRAP
1954: moveq.l #0,d7
1955: lea.l @f,a3
1956: .dc.w $f200, $9800
1957: @@:
1958: RESTORE_FLINE_TRAP
1959: tst.l d7
1960: bne @f
1961: PRINT msg_fail_notrap
1962: rts
1963: @@:
1964: PRINT msg_oktrap
1965: rts
1966:
1967: test_fmovem_an_to_CS_:
1.1.1.3 ! root 1968: tst.b is_hard(pc)
! 1969: bne @f
! 1970: rts
! 1971: @@:
1.1 root 1972: PRINT msg_fmovem_an_to_CS_
1973: SET_FLINE_TRAP
1974: moveq.l #0,d7
1975: lea.l @f,a3
1976: .dc.w $f208, $9800
1977: @@:
1978: RESTORE_FLINE_TRAP
1979: tst.l d7
1980: bne @f
1981: PRINT msg_fail_notrap
1982: rts
1983: @@:
1984: PRINT msg_oktrap
1985: rts
1986:
1987: test_fmovem_anin_to_CS_:
1988: PRINT msg_fmovem_anin_to_CS_
1989: fmove.l #0,fpcr
1990: fmove.l #0,fpsr
1991: fmove.l #0,fpiar
1992: move.l #$55555555,workarea
1993: move.l #$aaaaaaaa,workarea+4
1994: lea.l workarea(pc),a0
1995: SET_FLINE_TRAP
1996: moveq.l #0,d7
1997: lea.l @f,a3
1998: fmovem.l (a0),fpcr/fpsr
1999: @@:
2000: RESTORE_FLINE_TRAP
2001: tst.l d7
2002: beq @f
2003: PRINT msg_fail_trap
2004: rts
2005: @@:
2006: lea.l workarea(pc),a1
2007: cmpa.l a1,a0
2008: beq @f
2009: pea.l msg_fail_addr(pc)
2010: move.l a1,-(sp)
2011: move.l a0,-(sp)
2012: bsr result
2013: lea.l 12(sp),sp
2014: @@:
2015: fmove.l fpcr,d0
2016: move.l #$00005550,d1
2017: cmp.l d1,d0
2018: beq @f
2019: pea.l msg_fail_cr(pc)
2020: move.l d1,-(sp)
2021: move.l d0,-(sp)
2022: bsr result
2023: lea.l 12(sp),sp
2024: @@:
2025: fmove.l fpsr,d0
2026: move.l #$0aaaaaa8,d1
2027: cmp.l d1,d0
2028: beq @f
2029: pea.l msg_fail_sr(pc)
2030: move.l d1,-(sp)
2031: move.l d0,-(sp)
2032: bsr result
2033: lea.l 12(sp),sp
2034: @@:
2035: fmove.l fpiar,a0
2036: move.l d7,a1 ; d7=0
2037: cmpa.l a1,a0
2038: beq @f
2039: pea.l msg_fail_ir(pc)
2040: move.l a1,-(sp)
2041: move.l a0,-(sp)
2042: bsr result
2043: lea.l 12(sp),sp
2044: @@:
2045: tst.l d7
2046: bne @f
2047: PRINT msg_ok
2048: @@:
2049: rts
2050:
2051: test_fmovem_anpi_to_CS_:
2052: PRINT msg_fmovem_anpi_to_CS_
2053: fmove.l #0,fpcr
2054: fmove.l #0,fpsr
2055: fmove.l #0,fpiar
2056: move.l #$55555555,workarea
2057: move.l #$aaaaaaaa,workarea+4
2058: lea.l workarea(pc),a0
2059: SET_FLINE_TRAP
2060: moveq.l #0,d7
2061: lea.l @f,a3
2062: fmovem.l (a0)+,fpcr/fpsr
2063: @@:
2064: RESTORE_FLINE_TRAP
2065: tst.l d7
2066: beq @f
2067: PRINT msg_fail_trap
2068: rts
2069: @@:
2070: lea.l workarea+8(pc),a1
2071: cmpa.l a1,a0
2072: beq @f
2073: pea.l msg_fail_addr(pc)
2074: move.l a1,-(sp)
2075: move.l a0,-(sp)
2076: bsr result
2077: lea.l 12(sp),sp
2078: @@:
2079: fmove.l fpcr,d0
2080: move.l #$00005550,d1
2081: cmp.l d1,d0
2082: beq @f
2083: pea.l msg_fail_cr(pc)
2084: move.l d1,-(sp)
2085: move.l d0,-(sp)
2086: bsr result
2087: lea.l 12(sp),sp
2088: @@:
2089: fmove.l fpsr,d0
2090: move.l #$0aaaaaa8,d1
2091: cmp.l d1,d0
2092: beq @f
2093: pea.l msg_fail_sr(pc)
2094: move.l d1,-(sp)
2095: move.l d0,-(sp)
2096: bsr result
2097: lea.l 12(sp),sp
2098: @@:
2099: fmove.l fpiar,a0
2100: move.l d7,a1 ; d7=0
2101: cmpa.l a1,a0
2102: beq @f
2103: pea.l msg_fail_ir(pc)
2104: move.l a1,-(sp)
2105: move.l a0,-(sp)
2106: bsr result
2107: lea.l 12(sp),sp
2108: @@:
2109: tst.l d7
2110: bne @f
2111: PRINT msg_ok
2112: @@:
2113: rts
2114:
2115: test_fmovem_anpd_to_CS_:
2116: PRINT msg_fmovem_anpd_to_CS_
2117: fmove.l #0,fpcr
2118: fmove.l #0,fpsr
2119: fmove.l #0,fpiar
2120: move.l #$55555555,workarea
2121: move.l #$aaaaaaaa,workarea+4
2122: lea.l workarea+8(pc),a0
2123: SET_FLINE_TRAP
2124: moveq.l #0,d7
2125: lea.l @f,a3
2126: fmovem.l -(a0),fpcr/fpsr
2127: @@:
2128: RESTORE_FLINE_TRAP
2129: tst.l d7
2130: beq @f
2131: PRINT msg_fail_trap
2132: rts
2133: @@:
2134: lea.l workarea(pc),a1
2135: cmpa.l a1,a0
2136: beq @f
2137: pea.l msg_fail_addr(pc)
2138: move.l a1,-(sp)
2139: move.l a0,-(sp)
2140: bsr result
2141: lea.l 12(sp),sp
2142: @@:
2143: fmove.l fpcr,d0
2144: move.l #$00005550,d1
2145: cmp.l d1,d0
2146: beq @f
2147: pea.l msg_fail_cr(pc)
2148: move.l d1,-(sp)
2149: move.l d0,-(sp)
2150: bsr result
2151: lea.l 12(sp),sp
2152: @@:
2153: fmove.l fpsr,d0
2154: move.l #$0aaaaaa8,d1
2155: cmp.l d1,d0
2156: beq @f
2157: pea.l msg_fail_sr(pc)
2158: move.l d1,-(sp)
2159: move.l d0,-(sp)
2160: bsr result
2161: lea.l 12(sp),sp
2162: @@:
2163: fmove.l fpiar,a0
2164: move.l d7,a1 ; d7=0
2165: cmpa.l a1,a0
2166: beq @f
2167: pea.l msg_fail_ir(pc)
2168: move.l a1,-(sp)
2169: move.l a0,-(sp)
2170: bsr result
2171: lea.l 12(sp),sp
2172: @@:
2173: tst.l d7
2174: bne @f
2175: PRINT msg_ok
2176: @@:
2177: rts
2178:
2179: test_fmovem_imm_to_CS_:
2180: PRINT msg_fmovem_imm_to_CS_
2181: fmove.l #0,fpcr
2182: fmove.l #0,fpsr
2183: fmove.l #0,fpiar
2184: SET_FLINE_TRAP
2185: moveq.l #0,d7
2186: lea.l @f,a3
2187: fmovem.l #$55555555,#$aaaaaaaa,fpcr/fpsr
2188: @@:
2189: RESTORE_FLINE_TRAP
2190: tst.l d7
2191: beq @f
2192: PRINT msg_fail_trap
2193: rts
2194: @@:
2195: fmove.l fpcr,d0
2196: move.l #$00005550,d1
2197: cmp.l d1,d0
2198: beq @f
2199: pea.l msg_fail_cr(pc)
2200: move.l d1,-(sp)
2201: move.l d0,-(sp)
2202: bsr result
2203: lea.l 12(sp),sp
2204: @@:
2205: fmove.l fpsr,d0
2206: move.l #$0aaaaaa8,d1
2207: cmp.l d1,d0
2208: beq @f
2209: pea.l msg_fail_sr(pc)
2210: move.l d1,-(sp)
2211: move.l d0,-(sp)
2212: bsr result
2213: lea.l 12(sp),sp
2214: @@:
2215: fmove.l fpiar,a0
2216: move.l d7,a1 ; d7=0
2217: cmpa.l a1,a0
2218: beq @f
2219: pea.l msg_fail_ir(pc)
2220: move.l a1,-(sp)
2221: move.l a0,-(sp)
2222: bsr result
2223: lea.l 12(sp),sp
2224: @@:
2225: tst.l d7
2226: bne @f
2227: PRINT msg_ok
2228: @@:
2229: rts
2230:
2231: test_fmovem_dn_to_CSI:
1.1.1.3 ! root 2232: tst.b is_hard(pc)
! 2233: bne @f
! 2234: rts
! 2235: @@:
1.1 root 2236: PRINT msg_fmovem_dn_to_CSI
2237: SET_FLINE_TRAP
2238: moveq.l #0,d7
2239: lea.l @f,a3
2240: .dc.w $f200, $9c00
2241: @@:
2242: RESTORE_FLINE_TRAP
2243: tst.l d7
2244: bne @f
2245: PRINT msg_fail_notrap
2246: rts
2247: @@:
2248: PRINT msg_oktrap
2249: rts
2250:
2251: test_fmovem_an_to_CSI:
1.1.1.3 ! root 2252: tst.b is_hard(pc)
! 2253: bne @f
! 2254: rts
! 2255: @@:
1.1 root 2256: PRINT msg_fmovem_an_to_CSI
2257: SET_FLINE_TRAP
2258: moveq.l #0,d7
2259: lea.l @f,a3
2260: .dc.w $f208, $9c00
2261: @@:
2262: RESTORE_FLINE_TRAP
2263: tst.l d7
2264: bne @f
2265: PRINT msg_fail_notrap
2266: rts
2267: @@:
2268: PRINT msg_oktrap
2269: rts
2270:
2271: test_fmovem_anin_to_CSI:
2272: PRINT msg_fmovem_anin_to_CSI
2273: fmove.l #0,fpcr
2274: fmove.l #0,fpsr
2275: fmove.l #0,fpiar
2276: move.l #$55555555,workarea
2277: move.l #$aaaaaaaa,workarea+4
2278: move.l #$33333333,workarea+8
2279: lea.l workarea(pc),a0
2280: SET_FLINE_TRAP
2281: moveq.l #0,d7
2282: lea.l @f,a3
2283: fmovem.l (a0),fpcr/fpsr/fpiar
2284: @@:
2285: RESTORE_FLINE_TRAP
2286: tst.l d7
2287: beq @f
2288: PRINT msg_fail_trap
2289: rts
2290: @@:
2291: lea.l workarea(pc),a1
2292: cmpa.l a1,a0
2293: beq @f
2294: pea.l msg_fail_addr(pc)
2295: move.l a1,-(sp)
2296: move.l a0,-(sp)
2297: bsr result
2298: lea.l 12(sp),sp
2299: @@:
2300: fmove.l fpcr,d0
2301: move.l #$00005550,d1
2302: cmp.l d1,d0
2303: beq @f
2304: pea.l msg_fail_cr(pc)
2305: move.l d1,-(sp)
2306: move.l d0,-(sp)
2307: bsr result
2308: lea.l 12(sp),sp
2309: @@:
2310: fmove.l fpsr,d0
2311: move.l #$0aaaaaa8,d1
2312: cmp.l d1,d0
2313: beq @f
2314: pea.l msg_fail_sr(pc)
2315: move.l d1,-(sp)
2316: move.l d0,-(sp)
2317: bsr result
2318: lea.l 12(sp),sp
2319: @@:
2320: fmove.l fpiar,a0
2321: move.l #$33333333,a1
2322: cmpa.l a1,a0
2323: beq @f
2324: pea.l msg_fail_ir(pc)
2325: move.l a1,-(sp)
2326: move.l a0,-(sp)
2327: bsr result
2328: lea.l 12(sp),sp
2329: @@:
2330: tst.l d7
2331: bne @f
2332: PRINT msg_ok
2333: @@:
2334: rts
2335:
2336: test_fmovem_anpi_to_CSI:
2337: PRINT msg_fmovem_anpi_to_CSI
2338: fmove.l #0,fpcr
2339: fmove.l #0,fpsr
2340: fmove.l #0,fpiar
2341: move.l #$55555555,workarea
2342: move.l #$aaaaaaaa,workarea+4
2343: move.l #$33333333,workarea+8
2344: lea.l workarea(pc),a0
2345: SET_FLINE_TRAP
2346: moveq.l #0,d7
2347: lea.l @f,a3
2348: fmovem.l (a0)+,fpcr/fpsr/fpiar
2349: @@:
2350: RESTORE_FLINE_TRAP
2351: tst.l d7
2352: beq @f
2353: PRINT msg_fail_trap
2354: rts
2355: @@:
2356: lea.l workarea+12(pc),a1
2357: cmpa.l a1,a0
2358: beq @f
2359: pea.l msg_fail_addr(pc)
2360: move.l a1,-(sp)
2361: move.l a0,-(sp)
2362: bsr result
2363: lea.l 12(sp),sp
2364: @@:
2365: fmove.l fpcr,d0
2366: move.l #$00005550,d1
2367: cmp.l d1,d0
2368: beq @f
2369: pea.l msg_fail_cr(pc)
2370: move.l d1,-(sp)
2371: move.l d0,-(sp)
2372: bsr result
2373: lea.l 12(sp),sp
2374: @@:
2375: fmove.l fpsr,d0
2376: move.l #$0aaaaaa8,d1
2377: cmp.l d1,d0
2378: beq @f
2379: pea.l msg_fail_sr(pc)
2380: move.l d1,-(sp)
2381: move.l d0,-(sp)
2382: bsr result
2383: lea.l 12(sp),sp
2384: @@:
2385: fmove.l fpiar,a0
2386: move.l #$33333333,a1
2387: cmpa.l a1,a0
2388: beq @f
2389: pea.l msg_fail_ir(pc)
2390: move.l a1,-(sp)
2391: move.l a0,-(sp)
2392: bsr result
2393: lea.l 12(sp),sp
2394: @@:
2395: tst.l d7
2396: bne @f
2397: PRINT msg_ok
2398: @@:
2399: rts
2400:
2401: test_fmovem_anpd_to_CSI:
2402: PRINT msg_fmovem_anpd_to_CSI
2403: fmove.l #0,fpcr
2404: fmove.l #0,fpsr
2405: fmove.l #0,fpiar
2406: move.l #$55555555,workarea
2407: move.l #$aaaaaaaa,workarea+4
2408: move.l #$33333333,workarea+8
2409: lea.l workarea+12(pc),a0
2410: SET_FLINE_TRAP
2411: moveq.l #0,d7
2412: lea.l @f,a3
2413: fmovem.l -(a0),fpcr/fpsr/fpiar
2414: @@:
2415: RESTORE_FLINE_TRAP
2416: tst.l d7
2417: beq @f
2418: PRINT msg_fail_trap
2419: rts
2420: @@:
2421: lea.l workarea(pc),a1
2422: cmpa.l a1,a0
2423: beq @f
2424: pea.l msg_fail_addr(pc)
2425: move.l a1,-(sp)
2426: move.l a0,-(sp)
2427: bsr result
2428: lea.l 12(sp),sp
2429: @@:
2430: fmove.l fpcr,d0
2431: move.l #$00005550,d1
2432: cmp.l d1,d0
2433: beq @f
2434: pea.l msg_fail_cr(pc)
2435: move.l d1,-(sp)
2436: move.l d0,-(sp)
2437: bsr result
2438: lea.l 12(sp),sp
2439: @@:
2440: fmove.l fpsr,d0
2441: move.l #$0aaaaaa8,d1
2442: cmp.l d1,d0
2443: beq @f
2444: pea.l msg_fail_sr(pc)
2445: move.l d1,-(sp)
2446: move.l d0,-(sp)
2447: bsr result
2448: lea.l 12(sp),sp
2449: @@:
2450: fmove.l fpiar,a0
2451: move.l #$33333333,a1
2452: cmpa.l a1,a0
2453: beq @f
2454: pea.l msg_fail_ir(pc)
2455: move.l a1,-(sp)
2456: move.l a0,-(sp)
2457: bsr result
2458: lea.l 12(sp),sp
2459: @@:
2460: tst.l d7
2461: bne @f
2462: PRINT msg_ok
2463: @@:
2464: rts
2465:
2466: test_fmovem_imm_to_CSI:
2467: PRINT msg_fmovem_imm_to_CSI
2468: fmove.l #0,fpcr
2469: fmove.l #0,fpsr
2470: fmove.l #0,fpiar
2471: SET_FLINE_TRAP
2472: moveq.l #0,d7
2473: lea.l @f,a3
2474: fmovem.l #$55555555,#$aaaaaaaa,#$33333333,fpcr/fpsr/fpiar
2475: @@:
2476: RESTORE_FLINE_TRAP
2477: tst.l d7
2478: beq @f
2479: PRINT msg_fail_trap
2480: rts
2481: @@:
2482: fmove.l fpcr,d0
2483: move.l #$00005550,d1
2484: cmp.l d1,d0
2485: beq @f
2486: pea.l msg_fail_cr(pc)
2487: move.l d1,-(sp)
2488: move.l d0,-(sp)
2489: bsr result
2490: lea.l 12(sp),sp
2491: @@:
2492: fmove.l fpsr,d0
2493: move.l #$0aaaaaa8,d1
2494: cmp.l d1,d0
2495: beq @f
2496: pea.l msg_fail_sr(pc)
2497: move.l d1,-(sp)
2498: move.l d0,-(sp)
2499: bsr result
2500: lea.l 12(sp),sp
2501: @@:
2502: fmove.l fpiar,a0
2503: move.l #$33333333,a1
2504: cmpa.l a1,a0
2505: beq @f
2506: pea.l msg_fail_ir(pc)
2507: move.l a1,-(sp)
2508: move.l a0,-(sp)
2509: bsr result
2510: lea.l 12(sp),sp
2511: @@:
2512: tst.l d7
2513: bne @f
2514: PRINT msg_ok
2515: @@:
2516: rts
2517:
2518: test_fmovem_____to_dn:
2519: PRINT msg_fmovem_____to_dn
2520: fmove.l #$00000000,fpcr
2521: fmove.l #$00000000,fpsr
2522: fmove.l #$55555555,fpiar
2523: SET_FLINE_TRAP
2524: moveq.l #0,d7
2525: lea.l @f,a3
2526: .dc.w $f200, $a000
2527: @@:
2528: RESTORE_FLINE_TRAP
2529: tst.l d7
2530: beq @f
2531: PRINT msg_fail_trap
2532: rts
2533: @@:
2534: move.l #$55555555,d1
2535: cmp.l d1,d0
2536: beq @f
2537: pea.l msg_fail(pc)
2538: move.l d1,-(sp)
2539: move.l d0,-(sp)
2540: bsr result
2541: lea.l 12(sp),sp
2542: @@:
2543: tst.l d7
2544: bne @f
2545: PRINT msg_ok
2546: @@:
2547: rts
2548:
2549: test_fmovem_____to_an:
2550: PRINT msg_fmovem_____to_an
2551: fmove.l #$00000000,fpcr
2552: fmove.l #$00000000,fpsr
2553: fmove.l #$55555555,fpiar
2554: SET_FLINE_TRAP
2555: moveq.l #0,d7
2556: lea.l @f,a3
2557: .dc.w $f208, $a000
2558: @@:
2559: RESTORE_FLINE_TRAP
2560: tst.l d7
2561: beq @f
2562: PRINT msg_fail_trap
2563: rts
2564: @@:
2565: movea.l #$55555555,a1
2566: cmp.l a1,a0
2567: beq @f
2568: pea.l msg_fail(pc)
2569: move.l a1,-(sp)
2570: move.l a0,-(sp)
2571: bsr result
2572: lea.l 12(sp),sp
2573: @@:
2574: tst.l d7
2575: bne @f
2576: PRINT msg_ok
2577: @@:
2578: rts
2579:
2580: test_fmovem_____to_anin:
2581: PRINT msg_fmovem_____to_anin
2582: fmove.l #$00000000,fpcr
2583: fmove.l #$00000000,fpsr
2584: fmove.l #$55555555,fpiar
2585: lea.l workarea(pc),a0
2586: SET_FLINE_TRAP
2587: moveq.l #0,d7
2588: lea.l @f,a3
2589: .dc.w $f210, $a000
2590: @@:
2591: RESTORE_FLINE_TRAP
2592: tst.l d7
2593: beq @f
2594: PRINT msg_fail_trap
2595: rts
2596: @@:
2597: lea.l workarea(pc),a1
2598: cmpa.l a1,a0
2599: beq @f
2600: pea.l msg_fail_addr(pc)
2601: move.l a1,-(sp)
2602: move.l a0,-(sp)
2603: bsr result
2604: lea.l 12(sp),sp
2605: @@:
2606: move.l #$55555555,d1
2607: cmp.l workarea+0,d1
2608: beq @f
2609: pea.l msg_fail(pc)
2610: move.l d1,-(sp)
2611: move.l workarea+4,-(sp)
2612: bsr result
2613: lea.l 12(sp),sp
2614: @@:
2615: tst.l d7
2616: bne @f
2617: PRINT msg_ok
2618: @@:
2619: rts
2620:
2621: test_fmovem_____to_anpi:
2622: PRINT msg_fmovem_____to_anpi
2623: fmove.l #$00000000,fpcr
2624: fmove.l #$00000000,fpsr
2625: fmove.l #$55555555,fpiar
2626: lea.l workarea(pc),a0
2627: SET_FLINE_TRAP
2628: moveq.l #0,d7
2629: lea.l @f,a3
2630: .dc.w $f218, $a000
2631: @@:
2632: RESTORE_FLINE_TRAP
2633: tst.l d7
2634: beq @f
2635: PRINT msg_fail_trap
2636: rts
2637: @@:
2638: lea.l workarea+4(pc),a1
2639: cmpa.l a1,a0
2640: beq @f
2641: pea.l msg_fail_addr(pc)
2642: move.l a1,-(sp)
2643: move.l a0,-(sp)
2644: bsr result
2645: lea.l 12(sp),sp
2646: @@:
2647: move.l #$55555555,d1
2648: cmp.l workarea+0,d1
2649: beq @f
2650: pea.l msg_fail(pc)
2651: move.l d1,-(sp)
2652: move.l workarea+4,-(sp)
2653: bsr result
2654: lea.l 12(sp),sp
2655: @@:
2656: tst.l d7
2657: bne @f
2658: PRINT msg_ok
2659: @@:
2660: rts
2661:
2662: test_fmovem_____to_anpd:
2663: PRINT msg_fmovem_____to_anpd
2664: fmove.l #$00000000,fpcr
2665: fmove.l #$00000000,fpsr
2666: fmove.l #$55555555,fpiar
2667: lea.l workarea+4(pc),a0
2668: SET_FLINE_TRAP
2669: moveq.l #0,d7
2670: lea.l @f,a3
2671: .dc.w $f220, $a000
2672: @@:
2673: RESTORE_FLINE_TRAP
2674: tst.l d7
2675: beq @f
2676: PRINT msg_fail_trap
2677: rts
2678: @@:
2679: lea.l workarea(pc),a1
2680: cmpa.l a1,a0
2681: beq @f
2682: pea.l msg_fail_addr(pc)
2683: move.l a1,-(sp)
2684: move.l a0,-(sp)
2685: bsr result
2686: lea.l 12(sp),sp
2687: @@:
2688: move.l #$55555555,d1
2689: cmp.l workarea+0,d1
2690: beq @f
2691: pea.l msg_fail(pc)
2692: move.l d1,-(sp)
2693: move.l workarea+4,-(sp)
2694: bsr result
2695: lea.l 12(sp),sp
2696: @@:
2697: tst.l d7
2698: bne @f
2699: PRINT msg_ok
2700: @@:
2701: rts
2702:
2703: test_fmovem_____to_imm:
1.1.1.3 ! root 2704: tst.b is_hard(pc)
! 2705: bne @f
! 2706: rts
! 2707: @@:
1.1 root 2708: PRINT msg_fmovem_____to_imm
2709: SET_FLINE_TRAP
2710: moveq.l #0,d7
2711: lea.l @f,a3
2712: .dc.w $f23c, $a000
2713: @@:
2714: RESTORE_FLINE_TRAP
2715: tst.l d7
2716: bne @f
2717: PRINT msg_fail_notrap
2718: rts
2719: @@:
2720: PRINT msg_oktrap
2721: rts
2722:
2723: test_fmovem___I_to_dn:
2724: PRINT msg_fmovem___I_to_dn
2725: fmove.l #$00000000,fpcr
2726: fmove.l #$00000000,fpsr
2727: fmove.l #$55555555,fpiar
2728: SET_FLINE_TRAP
2729: moveq.l #0,d7
2730: lea.l @f,a3
2731: fmovem.l fpiar,d0
2732: @@:
2733: RESTORE_FLINE_TRAP
2734: tst.l d7
2735: beq @f
2736: PRINT msg_fail_trap
2737: rts
2738: @@:
2739: move.l #$55555555,d1
2740: cmp.l d1,d0
2741: beq @f
2742: pea.l msg_fail(pc)
2743: move.l d1,-(sp)
2744: move.l d0,-(sp)
2745: bsr result
2746: lea.l 12(sp),sp
2747: @@:
2748: tst.l d7
2749: bne @f
2750: PRINT msg_ok
2751: @@:
2752: rts
2753:
2754: test_fmovem___I_to_an:
2755: PRINT msg_fmovem___I_to_an
2756: fmove.l #$00000000,fpcr
2757: fmove.l #$00000000,fpsr
2758: fmove.l #$55555555,fpiar
2759: SET_FLINE_TRAP
2760: moveq.l #0,d7
2761: lea.l @f,a3
2762: fmovem.l fpiar,a0
2763: @@:
2764: RESTORE_FLINE_TRAP
2765: tst.l d7
2766: beq @f
2767: PRINT msg_fail_trap
2768: rts
2769: @@:
2770: movea.l #$55555555,a1
2771: cmp.l a1,a0
2772: beq @f
2773: pea.l msg_fail(pc)
2774: move.l a1,-(sp)
2775: move.l a0,-(sp)
2776: bsr result
2777: lea.l 12(sp),sp
2778: @@:
2779: tst.l d7
2780: bne @f
2781: PRINT msg_ok
2782: @@:
2783: rts
2784:
2785: test_fmovem___I_to_anin:
2786: PRINT msg_fmovem___I_to_anin
2787: fmove.l #$00000000,fpcr
2788: fmove.l #$00000000,fpsr
2789: fmove.l #$55555555,fpiar
2790: lea.l workarea(pc),a0
2791: SET_FLINE_TRAP
2792: moveq.l #0,d7
2793: lea.l @f,a3
2794: fmovem.l fpiar,(a0)
2795: @@:
2796: RESTORE_FLINE_TRAP
2797: tst.l d7
2798: beq @f
2799: PRINT msg_fail_trap
2800: rts
2801: @@:
2802: lea.l workarea(pc),a1
2803: cmpa.l a1,a0
2804: beq @f
2805: pea.l msg_fail_addr(pc)
2806: move.l a1,-(sp)
2807: move.l a0,-(sp)
2808: bsr result
2809: lea.l 12(sp),sp
2810: @@:
2811: move.l #$55555555,d1
2812: cmp.l workarea+0,d1
2813: beq @f
2814: pea.l msg_fail(pc)
2815: move.l d1,-(sp)
2816: move.l workarea+4,-(sp)
2817: bsr result
2818: lea.l 12(sp),sp
2819: @@:
2820: tst.l d7
2821: bne @f
2822: PRINT msg_ok
2823: @@:
2824: rts
2825:
2826: test_fmovem___I_to_anpi:
2827: PRINT msg_fmovem___I_to_anpi
2828: fmove.l #$00000000,fpcr
2829: fmove.l #$00000000,fpsr
2830: fmove.l #$55555555,fpiar
2831: lea.l workarea(pc),a0
2832: SET_FLINE_TRAP
2833: moveq.l #0,d7
2834: lea.l @f,a3
2835: fmovem.l fpiar,(a0)+
2836: @@:
2837: RESTORE_FLINE_TRAP
2838: tst.l d7
2839: beq @f
2840: PRINT msg_fail_trap
2841: rts
2842: @@:
2843: lea.l workarea+4(pc),a1
2844: cmpa.l a1,a0
2845: beq @f
2846: pea.l msg_fail_addr(pc)
2847: move.l a1,-(sp)
2848: move.l a0,-(sp)
2849: bsr result
2850: lea.l 12(sp),sp
2851: @@:
2852: move.l #$55555555,d1
2853: cmp.l workarea+0,d1
2854: beq @f
2855: pea.l msg_fail(pc)
2856: move.l d1,-(sp)
2857: move.l workarea+4,-(sp)
2858: bsr result
2859: lea.l 12(sp),sp
2860: @@:
2861: tst.l d7
2862: bne @f
2863: PRINT msg_ok
2864: @@:
2865: rts
2866:
2867: test_fmovem___I_to_anpd:
2868: PRINT msg_fmovem___I_to_anpd
2869: fmove.l #$00000000,fpcr
2870: fmove.l #$00000000,fpsr
2871: fmove.l #$55555555,fpiar
2872: lea.l workarea+4(pc),a0
2873: SET_FLINE_TRAP
2874: moveq.l #0,d7
2875: lea.l @f,a3
2876: fmovem.l fpiar,-(a0)
2877: @@:
2878: RESTORE_FLINE_TRAP
2879: tst.l d7
2880: beq @f
2881: PRINT msg_fail_trap
2882: rts
2883: @@:
2884: lea.l workarea(pc),a1
2885: cmpa.l a1,a0
2886: beq @f
2887: pea.l msg_fail_addr(pc)
2888: move.l a1,-(sp)
2889: move.l a0,-(sp)
2890: bsr result
2891: lea.l 12(sp),sp
2892: @@:
2893: move.l #$55555555,d1
2894: cmp.l workarea+0,d1
2895: beq @f
2896: pea.l msg_fail(pc)
2897: move.l d1,-(sp)
2898: move.l workarea+4,-(sp)
2899: bsr result
2900: lea.l 12(sp),sp
2901: @@:
2902: tst.l d7
2903: bne @f
2904: PRINT msg_ok
2905: @@:
2906: rts
2907:
2908: test_fmovem___I_to_imm:
1.1.1.3 ! root 2909: tst.b is_hard(pc)
! 2910: bne @f
! 2911: rts
! 2912: @@:
1.1 root 2913: PRINT msg_fmovem___I_to_imm
2914: SET_FLINE_TRAP
2915: moveq.l #0,d7
2916: lea.l @f,a3
2917: .dc.w $f23c, $a400
2918: @@:
2919: RESTORE_FLINE_TRAP
2920: tst.l d7
2921: bne @f
2922: PRINT msg_fail_notrap
2923: rts
2924: @@:
2925: PRINT msg_oktrap
2926: rts
2927:
2928: test_fmovem__S__to_dn:
2929: PRINT msg_fmovem__S__to_dn
2930: fmove.l #$00000000,fpcr
2931: fmove.l #$55555555,fpsr
2932: fmove.l #$00000000,fpiar
2933: SET_FLINE_TRAP
2934: moveq.l #0,d7
2935: lea.l @f,a3
2936: fmovem.l fpsr,d0
2937: @@:
2938: RESTORE_FLINE_TRAP
2939: tst.l d7
2940: beq @f
2941: PRINT msg_fail_trap
2942: rts
2943: @@:
2944: move.l #$05555550,d1
2945: cmp.l d1,d0
2946: beq @f
2947: pea.l msg_fail(pc)
2948: move.l d1,-(sp)
2949: move.l d0,-(sp)
2950: bsr result
2951: lea.l 12(sp),sp
2952: @@:
2953: tst.l d7
2954: bne @f
2955: PRINT msg_ok
2956: @@:
2957: rts
2958:
2959: test_fmovem__S__to_an:
1.1.1.3 ! root 2960: tst.b is_hard(pc)
! 2961: bne @f
! 2962: rts
! 2963: @@:
1.1 root 2964: PRINT msg_fmovem__S__to_an
2965: SET_FLINE_TRAP
2966: moveq.l #0,d7
2967: lea.l @f,a3
2968: .dc.w $f208, $a800
2969: @@:
2970: RESTORE_FLINE_TRAP
2971: tst.l d7
2972: bne @f
2973: PRINT msg_fail_notrap
2974: rts
2975: @@:
2976: PRINT msg_oktrap
2977: rts
2978:
2979: test_fmovem__S__to_anin:
2980: PRINT msg_fmovem__S__to_anin
2981: fmove.l #$00000000,fpcr
2982: fmove.l #$55555555,fpsr
2983: fmove.l #$00000000,fpiar
2984: lea.l workarea(pc),a0
2985: SET_FLINE_TRAP
2986: moveq.l #0,d7
2987: lea.l @f,a3
2988: fmovem.l fpsr,(a0)
2989: @@:
2990: RESTORE_FLINE_TRAP
2991: tst.l d7
2992: beq @f
2993: PRINT msg_fail_trap
2994: rts
2995: @@:
2996: lea.l workarea(pc),a1
2997: cmpa.l a1,a0
2998: beq @f
2999: pea.l msg_fail_addr(pc)
3000: move.l a1,-(sp)
3001: move.l a0,-(sp)
3002: bsr result
3003: lea.l 12(sp),sp
3004: @@:
3005: move.l #$05555550,d1
3006: cmp.l workarea+0,d1
3007: beq @f
3008: pea.l msg_fail(pc)
3009: move.l d1,-(sp)
3010: move.l workarea+4,-(sp)
3011: bsr result
3012: lea.l 12(sp),sp
3013: @@:
3014: tst.l d7
3015: bne @f
3016: PRINT msg_ok
3017: @@:
3018: rts
3019:
3020: test_fmovem__S__to_anpi:
3021: PRINT msg_fmovem__S__to_anpi
3022: fmove.l #$00000000,fpcr
3023: fmove.l #$55555555,fpsr
3024: fmove.l #$00000000,fpiar
3025: lea.l workarea(pc),a0
3026: SET_FLINE_TRAP
3027: moveq.l #0,d7
3028: lea.l @f,a3
3029: fmovem.l fpsr,(a0)+
3030: @@:
3031: RESTORE_FLINE_TRAP
3032: tst.l d7
3033: beq @f
3034: PRINT msg_fail_trap
3035: rts
3036: @@:
3037: lea.l workarea+4(pc),a1
3038: cmpa.l a1,a0
3039: beq @f
3040: pea.l msg_fail_addr(pc)
3041: move.l a1,-(sp)
3042: move.l a0,-(sp)
3043: bsr result
3044: lea.l 12(sp),sp
3045: @@:
3046: move.l #$05555550,d1
3047: cmp.l workarea+0,d1
3048: beq @f
3049: pea.l msg_fail(pc)
3050: move.l d1,-(sp)
3051: move.l workarea+4,-(sp)
3052: bsr result
3053: lea.l 12(sp),sp
3054: @@:
3055: tst.l d7
3056: bne @f
3057: PRINT msg_ok
3058: @@:
3059: rts
3060:
3061: test_fmovem__S__to_anpd:
3062: PRINT msg_fmovem__S__to_anpd
3063: fmove.l #$00000000,fpcr
3064: fmove.l #$55555555,fpsr
3065: fmove.l #$00000000,fpiar
3066: lea.l workarea+4(pc),a0
3067: SET_FLINE_TRAP
3068: moveq.l #0,d7
3069: lea.l @f,a3
3070: fmovem.l fpsr,-(a0)
3071: @@:
3072: RESTORE_FLINE_TRAP
3073: tst.l d7
3074: beq @f
3075: PRINT msg_fail_trap
3076: rts
3077: @@:
3078: lea.l workarea(pc),a1
3079: cmpa.l a1,a0
3080: beq @f
3081: pea.l msg_fail_addr(pc)
3082: move.l a1,-(sp)
3083: move.l a0,-(sp)
3084: bsr result
3085: lea.l 12(sp),sp
3086: @@:
3087: move.l #$05555550,d1
3088: cmp.l workarea+0,d1
3089: beq @f
3090: pea.l msg_fail(pc)
3091: move.l d1,-(sp)
3092: move.l workarea+4,-(sp)
3093: bsr result
3094: lea.l 12(sp),sp
3095: @@:
3096: tst.l d7
3097: bne @f
3098: PRINT msg_ok
3099: @@:
3100: rts
3101:
3102: test_fmovem__S__to_imm:
1.1.1.3 ! root 3103: tst.b is_hard(pc)
! 3104: bne @f
! 3105: rts
! 3106: @@:
1.1 root 3107: PRINT msg_fmovem__S__to_imm
3108: SET_FLINE_TRAP
3109: moveq.l #0,d7
3110: lea.l @f,a3
3111: .dc.w $f23c, $a800
3112: @@:
3113: RESTORE_FLINE_TRAP
3114: tst.l d7
3115: bne @f
3116: PRINT msg_fail_notrap
3117: rts
3118: @@:
3119: PRINT msg_oktrap
3120: rts
3121:
3122: test_fmovem__SI_to_dn:
1.1.1.3 ! root 3123: tst.b is_hard(pc)
! 3124: bne @f
! 3125: rts
! 3126: @@:
1.1 root 3127: PRINT msg_fmovem__SI_to_dn
3128: SET_FLINE_TRAP
3129: moveq.l #0,d7
3130: lea.l @f,a3
3131: .dc.w $f200, $ac00
3132: @@:
3133: RESTORE_FLINE_TRAP
3134: tst.l d7
3135: bne @f
3136: PRINT msg_fail_notrap
3137: rts
3138: @@:
3139: PRINT msg_oktrap
3140: rts
3141:
3142: test_fmovem__SI_to_an:
1.1.1.3 ! root 3143: tst.b is_hard(pc)
! 3144: bne @f
! 3145: rts
! 3146: @@:
1.1 root 3147: PRINT msg_fmovem__SI_to_an
3148: SET_FLINE_TRAP
3149: moveq.l #0,d7
3150: lea.l @f,a3
3151: .dc.w $f208, $ac00
3152: @@:
3153: RESTORE_FLINE_TRAP
3154: tst.l d7
3155: bne @f
3156: PRINT msg_fail_notrap
3157: rts
3158: @@:
3159: PRINT msg_oktrap
3160: rts
3161:
3162: test_fmovem__SI_to_anin:
3163: PRINT msg_fmovem__SI_to_anin
3164: fmove.l #$00000000,fpcr
3165: fmove.l #$55555555,fpsr
3166: fmove.l #$aaaaaaaa,fpiar
3167: lea.l workarea(pc),a0
3168: SET_FLINE_TRAP
3169: moveq.l #0,d7
3170: lea.l @f,a3
3171: fmovem.l fpsr/fpiar,(a0)
3172: @@:
3173: RESTORE_FLINE_TRAP
3174: tst.l d7
3175: beq @f
3176: PRINT msg_fail_trap
3177: rts
3178: @@:
3179: lea.l workarea(pc),a1
3180: cmpa.l a1,a0
3181: beq @f
3182: pea.l msg_fail_addr(pc)
3183: move.l a1,-(sp)
3184: move.l a0,-(sp)
3185: bsr result
3186: lea.l 12(sp),sp
3187: @@:
3188: move.l #$05555550,d1
3189: cmp.l workarea+0,d1
3190: beq @f
3191: pea.l msg_fail(pc)
3192: move.l d1,-(sp)
3193: move.l workarea+4,-(sp)
3194: bsr result
3195: lea.l 12(sp),sp
3196: @@:
3197: move.l #$aaaaaaaa,d1
3198: cmp.l workarea+4,d1
3199: beq @f
3200: pea.l msg_fail(pc)
3201: move.l d1,-(sp)
3202: move.l workarea+8,-(sp)
3203: bsr result
3204: lea.l 12(sp),sp
3205: @@:
3206: tst.l d7
3207: bne @f
3208: PRINT msg_ok
3209: @@:
3210: rts
3211:
3212: test_fmovem__SI_to_anpi:
3213: PRINT msg_fmovem__SI_to_anpi
3214: fmove.l #$00000000,fpcr
3215: fmove.l #$55555555,fpsr
3216: fmove.l #$aaaaaaaa,fpiar
3217: lea.l workarea(pc),a0
3218: SET_FLINE_TRAP
3219: moveq.l #0,d7
3220: lea.l @f,a3
3221: fmovem.l fpsr/fpiar,(a0)+
3222: @@:
3223: RESTORE_FLINE_TRAP
3224: tst.l d7
3225: beq @f
3226: PRINT msg_fail_trap
3227: rts
3228: @@:
3229: lea.l workarea+8(pc),a1
3230: cmpa.l a1,a0
3231: beq @f
3232: pea.l msg_fail_addr(pc)
3233: move.l a1,-(sp)
3234: move.l a0,-(sp)
3235: bsr result
3236: lea.l 12(sp),sp
3237: @@:
3238: move.l #$05555550,d1
3239: cmp.l workarea+0,d1
3240: beq @f
3241: pea.l msg_fail(pc)
3242: move.l d1,-(sp)
3243: move.l workarea+4,-(sp)
3244: bsr result
3245: lea.l 12(sp),sp
3246: @@:
3247: move.l #$aaaaaaaa,d1
3248: cmp.l workarea+4,d1
3249: beq @f
3250: pea.l msg_fail(pc)
3251: move.l d1,-(sp)
3252: move.l workarea+8,-(sp)
3253: bsr result
3254: lea.l 12(sp),sp
3255: @@:
3256: tst.l d7
3257: bne @f
3258: PRINT msg_ok
3259: @@:
3260: rts
3261:
3262: test_fmovem__SI_to_anpd:
3263: PRINT msg_fmovem__SI_to_anpd
3264: fmove.l #$00000000,fpcr
3265: fmove.l #$55555555,fpsr
3266: fmove.l #$aaaaaaaa,fpiar
3267: lea.l workarea+8(pc),a0
3268: SET_FLINE_TRAP
3269: moveq.l #0,d7
3270: lea.l @f,a3
3271: fmovem.l fpsr/fpiar,-(a0)
3272: @@:
3273: RESTORE_FLINE_TRAP
3274: tst.l d7
3275: beq @f
3276: PRINT msg_fail_trap
3277: rts
3278: @@:
3279: lea.l workarea(pc),a1
3280: cmpa.l a1,a0
3281: beq @f
3282: pea.l msg_fail_addr(pc)
3283: move.l a1,-(sp)
3284: move.l a0,-(sp)
3285: bsr result
3286: lea.l 12(sp),sp
3287: @@:
3288: move.l #$05555550,d1
3289: cmp.l workarea+0,d1
3290: beq @f
3291: pea.l msg_fail(pc)
3292: move.l d1,-(sp)
3293: move.l workarea+4,-(sp)
3294: bsr result
3295: lea.l 12(sp),sp
3296: @@:
3297: move.l #$aaaaaaaa,d1
3298: cmp.l workarea+4,d1
3299: beq @f
3300: pea.l msg_fail(pc)
3301: move.l d1,-(sp)
3302: move.l workarea+8,-(sp)
3303: bsr result
3304: lea.l 12(sp),sp
3305: @@:
3306: tst.l d7
3307: bne @f
3308: PRINT msg_ok
3309: @@:
3310: rts
3311:
3312: test_fmovem__SI_to_imm:
1.1.1.3 ! root 3313: tst.b is_hard(pc)
! 3314: bne @f
! 3315: rts
! 3316: @@:
1.1 root 3317: PRINT msg_fmovem__SI_to_imm
3318: SET_FLINE_TRAP
3319: moveq.l #0,d7
3320: lea.l @f,a3
3321: .dc.w $f23c, $ac00
3322: @@:
3323: RESTORE_FLINE_TRAP
3324: tst.l d7
3325: bne @f
3326: PRINT msg_fail_notrap
3327: rts
3328: @@:
3329: PRINT msg_oktrap
3330: rts
3331:
3332: test_fmovem_C___to_dn:
3333: PRINT msg_fmovem_C___to_dn
3334: fmove.l #$55555555,fpcr
3335: fmove.l #$00000000,fpsr
3336: fmove.l #$00000000,fpiar
3337: SET_FLINE_TRAP
3338: moveq.l #0,d7
3339: lea.l @f,a3
3340: fmovem.l fpcr,d0
3341: @@:
3342: RESTORE_FLINE_TRAP
3343: tst.l d7
3344: beq @f
3345: PRINT msg_fail_trap
3346: rts
3347: @@:
3348: move.l #$00005550,d1
3349: cmp.l d1,d0
3350: beq @f
3351: pea.l msg_fail(pc)
3352: move.l d1,-(sp)
3353: move.l d0,-(sp)
3354: bsr result
3355: lea.l 12(sp),sp
3356: @@:
3357: tst.l d7
3358: bne @f
3359: PRINT msg_ok
3360: @@:
3361: rts
3362:
3363: test_fmovem_C___to_an:
1.1.1.3 ! root 3364: tst.b is_hard(pc)
! 3365: bne @f
! 3366: rts
! 3367: @@:
1.1 root 3368: PRINT msg_fmovem_C___to_an
3369: SET_FLINE_TRAP
3370: moveq.l #0,d7
3371: lea.l @f,a3
3372: .dc.w $f208, $b000
3373: @@:
3374: RESTORE_FLINE_TRAP
3375: tst.l d7
3376: bne @f
3377: PRINT msg_fail_notrap
3378: rts
3379: @@:
3380: PRINT msg_oktrap
3381: rts
3382:
3383: test_fmovem_C___to_anin:
3384: PRINT msg_fmovem_C___to_anin
3385: fmove.l #$55555555,fpcr
3386: fmove.l #$00000000,fpsr
3387: fmove.l #$00000000,fpiar
3388: lea.l workarea(pc),a0
3389: SET_FLINE_TRAP
3390: moveq.l #0,d7
3391: lea.l @f,a3
3392: fmovem.l fpcr,(a0)
3393: @@:
3394: RESTORE_FLINE_TRAP
3395: tst.l d7
3396: beq @f
3397: PRINT msg_fail_trap
3398: rts
3399: @@:
3400: lea.l workarea(pc),a1
3401: cmpa.l a1,a0
3402: beq @f
3403: pea.l msg_fail_addr(pc)
3404: move.l a1,-(sp)
3405: move.l a0,-(sp)
3406: bsr result
3407: lea.l 12(sp),sp
3408: @@:
3409: move.l #$00005550,d1
3410: cmp.l workarea+0,d1
3411: beq @f
3412: pea.l msg_fail(pc)
3413: move.l d1,-(sp)
3414: move.l workarea+4,-(sp)
3415: bsr result
3416: lea.l 12(sp),sp
3417: @@:
3418: tst.l d7
3419: bne @f
3420: PRINT msg_ok
3421: @@:
3422: rts
3423:
3424: test_fmovem_C___to_anpi:
3425: PRINT msg_fmovem_C___to_anpi
3426: fmove.l #$55555555,fpcr
3427: fmove.l #$00000000,fpsr
3428: fmove.l #$00000000,fpiar
3429: lea.l workarea(pc),a0
3430: SET_FLINE_TRAP
3431: moveq.l #0,d7
3432: lea.l @f,a3
3433: fmovem.l fpcr,(a0)+
3434: @@:
3435: RESTORE_FLINE_TRAP
3436: tst.l d7
3437: beq @f
3438: PRINT msg_fail_trap
3439: rts
3440: @@:
3441: lea.l workarea+4(pc),a1
3442: cmpa.l a1,a0
3443: beq @f
3444: pea.l msg_fail_addr(pc)
3445: move.l a1,-(sp)
3446: move.l a0,-(sp)
3447: bsr result
3448: lea.l 12(sp),sp
3449: @@:
3450: move.l #$00005550,d1
3451: cmp.l workarea+0,d1
3452: beq @f
3453: pea.l msg_fail(pc)
3454: move.l d1,-(sp)
3455: move.l workarea+4,-(sp)
3456: bsr result
3457: lea.l 12(sp),sp
3458: @@:
3459: tst.l d7
3460: bne @f
3461: PRINT msg_ok
3462: @@:
3463: rts
3464:
3465: test_fmovem_C___to_anpd:
3466: PRINT msg_fmovem_C___to_anpd
3467: fmove.l #$55555555,fpcr
3468: fmove.l #$00000000,fpsr
3469: fmove.l #$00000000,fpiar
3470: lea.l workarea+4(pc),a0
3471: SET_FLINE_TRAP
3472: moveq.l #0,d7
3473: lea.l @f,a3
3474: fmovem.l fpcr,-(a0)
3475: @@:
3476: RESTORE_FLINE_TRAP
3477: tst.l d7
3478: beq @f
3479: PRINT msg_fail_trap
3480: rts
3481: @@:
3482: lea.l workarea(pc),a1
3483: cmpa.l a1,a0
3484: beq @f
3485: pea.l msg_fail_addr(pc)
3486: move.l a1,-(sp)
3487: move.l a0,-(sp)
3488: bsr result
3489: lea.l 12(sp),sp
3490: @@:
3491: move.l #$00005550,d1
3492: cmp.l workarea+0,d1
3493: beq @f
3494: pea.l msg_fail(pc)
3495: move.l d1,-(sp)
3496: move.l workarea+4,-(sp)
3497: bsr result
3498: lea.l 12(sp),sp
3499: @@:
3500: tst.l d7
3501: bne @f
3502: PRINT msg_ok
3503: @@:
3504: rts
3505:
3506: test_fmovem_C___to_imm:
1.1.1.3 ! root 3507: tst.b is_hard(pc)
! 3508: bne @f
! 3509: rts
! 3510: @@:
1.1 root 3511: PRINT msg_fmovem_C___to_imm
3512: SET_FLINE_TRAP
3513: moveq.l #0,d7
3514: lea.l @f,a3
3515: .dc.w $f23c, $b000
3516: @@:
3517: RESTORE_FLINE_TRAP
3518: tst.l d7
3519: bne @f
3520: PRINT msg_fail_notrap
3521: rts
3522: @@:
3523: PRINT msg_oktrap
3524: rts
3525:
3526: test_fmovem_C_I_to_dn:
1.1.1.3 ! root 3527: tst.b is_hard(pc)
! 3528: bne @f
! 3529: rts
! 3530: @@:
1.1 root 3531: PRINT msg_fmovem_C_I_to_dn
3532: SET_FLINE_TRAP
3533: moveq.l #0,d7
3534: lea.l @f,a3
3535: .dc.w $f200, $b400
3536: @@:
3537: RESTORE_FLINE_TRAP
3538: tst.l d7
3539: bne @f
3540: PRINT msg_fail_notrap
3541: rts
3542: @@:
3543: PRINT msg_oktrap
3544: rts
3545:
3546: test_fmovem_C_I_to_an:
1.1.1.3 ! root 3547: tst.b is_hard(pc)
! 3548: bne @f
! 3549: rts
! 3550: @@:
1.1 root 3551: PRINT msg_fmovem_C_I_to_an
3552: SET_FLINE_TRAP
3553: moveq.l #0,d7
3554: lea.l @f,a3
3555: .dc.w $f208, $b400
3556: @@:
3557: RESTORE_FLINE_TRAP
3558: tst.l d7
3559: bne @f
3560: PRINT msg_fail_notrap
3561: rts
3562: @@:
3563: PRINT msg_oktrap
3564: rts
3565:
3566: test_fmovem_C_I_to_anin:
3567: PRINT msg_fmovem_C_I_to_anin
3568: fmove.l #$55555555,fpcr
3569: fmove.l #$00000000,fpsr
3570: fmove.l #$aaaaaaaa,fpiar
3571: lea.l workarea(pc),a0
3572: SET_FLINE_TRAP
3573: moveq.l #0,d7
3574: lea.l @f,a3
3575: fmovem.l fpcr/fpiar,(a0)
3576: @@:
3577: RESTORE_FLINE_TRAP
3578: tst.l d7
3579: beq @f
3580: PRINT msg_fail_trap
3581: rts
3582: @@:
3583: lea.l workarea(pc),a1
3584: cmpa.l a1,a0
3585: beq @f
3586: pea.l msg_fail_addr(pc)
3587: move.l a1,-(sp)
3588: move.l a0,-(sp)
3589: bsr result
3590: lea.l 12(sp),sp
3591: @@:
3592: move.l #$00005550,d1
3593: cmp.l workarea+0,d1
3594: beq @f
3595: pea.l msg_fail(pc)
3596: move.l d1,-(sp)
3597: move.l workarea+4,-(sp)
3598: bsr result
3599: lea.l 12(sp),sp
3600: @@:
3601: move.l #$aaaaaaaa,d1
3602: cmp.l workarea+4,d1
3603: beq @f
3604: pea.l msg_fail(pc)
3605: move.l d1,-(sp)
3606: move.l workarea+8,-(sp)
3607: bsr result
3608: lea.l 12(sp),sp
3609: @@:
3610: tst.l d7
3611: bne @f
3612: PRINT msg_ok
3613: @@:
3614: rts
3615:
3616: test_fmovem_C_I_to_anpi:
3617: PRINT msg_fmovem_C_I_to_anpi
3618: fmove.l #$55555555,fpcr
3619: fmove.l #$00000000,fpsr
3620: fmove.l #$aaaaaaaa,fpiar
3621: lea.l workarea(pc),a0
3622: SET_FLINE_TRAP
3623: moveq.l #0,d7
3624: lea.l @f,a3
3625: fmovem.l fpcr/fpiar,(a0)+
3626: @@:
3627: RESTORE_FLINE_TRAP
3628: tst.l d7
3629: beq @f
3630: PRINT msg_fail_trap
3631: rts
3632: @@:
3633: lea.l workarea+8(pc),a1
3634: cmpa.l a1,a0
3635: beq @f
3636: pea.l msg_fail_addr(pc)
3637: move.l a1,-(sp)
3638: move.l a0,-(sp)
3639: bsr result
3640: lea.l 12(sp),sp
3641: @@:
3642: move.l #$00005550,d1
3643: cmp.l workarea+0,d1
3644: beq @f
3645: pea.l msg_fail(pc)
3646: move.l d1,-(sp)
3647: move.l workarea+4,-(sp)
3648: bsr result
3649: lea.l 12(sp),sp
3650: @@:
3651: move.l #$aaaaaaaa,d1
3652: cmp.l workarea+4,d1
3653: beq @f
3654: pea.l msg_fail(pc)
3655: move.l d1,-(sp)
3656: move.l workarea+8,-(sp)
3657: bsr result
3658: lea.l 12(sp),sp
3659: @@:
3660: tst.l d7
3661: bne @f
3662: PRINT msg_ok
3663: @@:
3664: rts
3665:
3666: test_fmovem_C_I_to_anpd:
3667: PRINT msg_fmovem_C_I_to_anpd
3668: fmove.l #$55555555,fpcr
3669: fmove.l #$00000000,fpsr
3670: fmove.l #$aaaaaaaa,fpiar
3671: lea.l workarea+8(pc),a0
3672: SET_FLINE_TRAP
3673: moveq.l #0,d7
3674: lea.l @f,a3
3675: fmovem.l fpcr/fpiar,-(a0)
3676: @@:
3677: RESTORE_FLINE_TRAP
3678: tst.l d7
3679: beq @f
3680: PRINT msg_fail_trap
3681: rts
3682: @@:
3683: lea.l workarea(pc),a1
3684: cmpa.l a1,a0
3685: beq @f
3686: pea.l msg_fail_addr(pc)
3687: move.l a1,-(sp)
3688: move.l a0,-(sp)
3689: bsr result
3690: lea.l 12(sp),sp
3691: @@:
3692: move.l #$00005550,d1
3693: cmp.l workarea+0,d1
3694: beq @f
3695: pea.l msg_fail(pc)
3696: move.l d1,-(sp)
3697: move.l workarea+4,-(sp)
3698: bsr result
3699: lea.l 12(sp),sp
3700: @@:
3701: move.l #$aaaaaaaa,d1
3702: cmp.l workarea+4,d1
3703: beq @f
3704: pea.l msg_fail(pc)
3705: move.l d1,-(sp)
3706: move.l workarea+8,-(sp)
3707: bsr result
3708: lea.l 12(sp),sp
3709: @@:
3710: tst.l d7
3711: bne @f
3712: PRINT msg_ok
3713: @@:
3714: rts
3715:
3716: test_fmovem_C_I_to_imm:
1.1.1.3 ! root 3717: tst.b is_hard(pc)
! 3718: bne @f
! 3719: rts
! 3720: @@:
1.1 root 3721: PRINT msg_fmovem_C_I_to_imm
3722: SET_FLINE_TRAP
3723: moveq.l #0,d7
3724: lea.l @f,a3
3725: .dc.w $f23c, $b400
3726: @@:
3727: RESTORE_FLINE_TRAP
3728: tst.l d7
3729: bne @f
3730: PRINT msg_fail_notrap
3731: rts
3732: @@:
3733: PRINT msg_oktrap
3734: rts
3735:
3736: test_fmovem_CS__to_dn:
1.1.1.3 ! root 3737: tst.b is_hard(pc)
! 3738: bne @f
! 3739: rts
! 3740: @@:
1.1 root 3741: PRINT msg_fmovem_CS__to_dn
3742: SET_FLINE_TRAP
3743: moveq.l #0,d7
3744: lea.l @f,a3
3745: .dc.w $f200, $b800
3746: @@:
3747: RESTORE_FLINE_TRAP
3748: tst.l d7
3749: bne @f
3750: PRINT msg_fail_notrap
3751: rts
3752: @@:
3753: PRINT msg_oktrap
3754: rts
3755:
3756: test_fmovem_CS__to_an:
1.1.1.3 ! root 3757: tst.b is_hard(pc)
! 3758: bne @f
! 3759: rts
! 3760: @@:
1.1 root 3761: PRINT msg_fmovem_CS__to_an
3762: SET_FLINE_TRAP
3763: moveq.l #0,d7
3764: lea.l @f,a3
3765: .dc.w $f208, $b800
3766: @@:
3767: RESTORE_FLINE_TRAP
3768: tst.l d7
3769: bne @f
3770: PRINT msg_fail_notrap
3771: rts
3772: @@:
3773: PRINT msg_oktrap
3774: rts
3775:
3776: test_fmovem_CS__to_anin:
3777: PRINT msg_fmovem_CS__to_anin
3778: fmove.l #$55555555,fpcr
3779: fmove.l #$aaaaaaaa,fpsr
3780: fmove.l #$00000000,fpiar
3781: lea.l workarea(pc),a0
3782: SET_FLINE_TRAP
3783: moveq.l #0,d7
3784: lea.l @f,a3
3785: fmovem.l fpcr/fpsr,(a0)
3786: @@:
3787: RESTORE_FLINE_TRAP
3788: tst.l d7
3789: beq @f
3790: PRINT msg_fail_trap
3791: rts
3792: @@:
3793: lea.l workarea(pc),a1
3794: cmpa.l a1,a0
3795: beq @f
3796: pea.l msg_fail_addr(pc)
3797: move.l a1,-(sp)
3798: move.l a0,-(sp)
3799: bsr result
3800: lea.l 12(sp),sp
3801: @@:
3802: move.l #$00005550,d1
3803: cmp.l workarea+0,d1
3804: beq @f
3805: pea.l msg_fail(pc)
3806: move.l d1,-(sp)
3807: move.l workarea+4,-(sp)
3808: bsr result
3809: lea.l 12(sp),sp
3810: @@:
3811: move.l #$0aaaaaa8,d1
3812: cmp.l workarea+4,d1
3813: beq @f
3814: pea.l msg_fail(pc)
3815: move.l d1,-(sp)
3816: move.l workarea+8,-(sp)
3817: bsr result
3818: lea.l 12(sp),sp
3819: @@:
3820: tst.l d7
3821: bne @f
3822: PRINT msg_ok
3823: @@:
3824: rts
3825:
3826: test_fmovem_CS__to_anpi:
3827: PRINT msg_fmovem_CS__to_anpi
3828: fmove.l #$55555555,fpcr
3829: fmove.l #$aaaaaaaa,fpsr
3830: fmove.l #$00000000,fpiar
3831: lea.l workarea(pc),a0
3832: SET_FLINE_TRAP
3833: moveq.l #0,d7
3834: lea.l @f,a3
3835: fmovem.l fpcr/fpsr,(a0)+
3836: @@:
3837: RESTORE_FLINE_TRAP
3838: tst.l d7
3839: beq @f
3840: PRINT msg_fail_trap
3841: rts
3842: @@:
3843: lea.l workarea+8(pc),a1
3844: cmpa.l a1,a0
3845: beq @f
3846: pea.l msg_fail_addr(pc)
3847: move.l a1,-(sp)
3848: move.l a0,-(sp)
3849: bsr result
3850: lea.l 12(sp),sp
3851: @@:
3852: move.l #$00005550,d1
3853: cmp.l workarea+0,d1
3854: beq @f
3855: pea.l msg_fail(pc)
3856: move.l d1,-(sp)
3857: move.l workarea+4,-(sp)
3858: bsr result
3859: lea.l 12(sp),sp
3860: @@:
3861: move.l #$0aaaaaa8,d1
3862: cmp.l workarea+4,d1
3863: beq @f
3864: pea.l msg_fail(pc)
3865: move.l d1,-(sp)
3866: move.l workarea+8,-(sp)
3867: bsr result
3868: lea.l 12(sp),sp
3869: @@:
3870: tst.l d7
3871: bne @f
3872: PRINT msg_ok
3873: @@:
3874: rts
3875:
3876: test_fmovem_CS__to_anpd:
3877: PRINT msg_fmovem_CS__to_anpd
3878: fmove.l #$55555555,fpcr
3879: fmove.l #$aaaaaaaa,fpsr
3880: fmove.l #$00000000,fpiar
3881: lea.l workarea+8(pc),a0
3882: SET_FLINE_TRAP
3883: moveq.l #0,d7
3884: lea.l @f,a3
3885: fmovem.l fpcr/fpsr,-(a0)
3886: @@:
3887: RESTORE_FLINE_TRAP
3888: tst.l d7
3889: beq @f
3890: PRINT msg_fail_trap
3891: rts
3892: @@:
3893: lea.l workarea(pc),a1
3894: cmpa.l a1,a0
3895: beq @f
3896: pea.l msg_fail_addr(pc)
3897: move.l a1,-(sp)
3898: move.l a0,-(sp)
3899: bsr result
3900: lea.l 12(sp),sp
3901: @@:
3902: move.l #$00005550,d1
3903: cmp.l workarea+0,d1
3904: beq @f
3905: pea.l msg_fail(pc)
3906: move.l d1,-(sp)
3907: move.l workarea+4,-(sp)
3908: bsr result
3909: lea.l 12(sp),sp
3910: @@:
3911: move.l #$0aaaaaa8,d1
3912: cmp.l workarea+4,d1
3913: beq @f
3914: pea.l msg_fail(pc)
3915: move.l d1,-(sp)
3916: move.l workarea+8,-(sp)
3917: bsr result
3918: lea.l 12(sp),sp
3919: @@:
3920: tst.l d7
3921: bne @f
3922: PRINT msg_ok
3923: @@:
3924: rts
3925:
3926: test_fmovem_CS__to_imm:
1.1.1.3 ! root 3927: tst.b is_hard(pc)
! 3928: bne @f
! 3929: rts
! 3930: @@:
1.1 root 3931: PRINT msg_fmovem_CS__to_imm
3932: SET_FLINE_TRAP
3933: moveq.l #0,d7
3934: lea.l @f,a3
3935: .dc.w $f23c, $b800
3936: @@:
3937: RESTORE_FLINE_TRAP
3938: tst.l d7
3939: bne @f
3940: PRINT msg_fail_notrap
3941: rts
3942: @@:
3943: PRINT msg_oktrap
3944: rts
3945:
3946: test_fmovem_CSI_to_dn:
1.1.1.3 ! root 3947: tst.b is_hard(pc)
! 3948: bne @f
! 3949: rts
! 3950: @@:
1.1 root 3951: PRINT msg_fmovem_CSI_to_dn
3952: SET_FLINE_TRAP
3953: moveq.l #0,d7
3954: lea.l @f,a3
3955: .dc.w $f200, $bc00
3956: @@:
3957: RESTORE_FLINE_TRAP
3958: tst.l d7
3959: bne @f
3960: PRINT msg_fail_notrap
3961: rts
3962: @@:
3963: PRINT msg_oktrap
3964: rts
3965:
3966: test_fmovem_CSI_to_an:
1.1.1.3 ! root 3967: tst.b is_hard(pc)
! 3968: bne @f
! 3969: rts
! 3970: @@:
1.1 root 3971: PRINT msg_fmovem_CSI_to_an
3972: SET_FLINE_TRAP
3973: moveq.l #0,d7
3974: lea.l @f,a3
3975: .dc.w $f208, $bc00
3976: @@:
3977: RESTORE_FLINE_TRAP
3978: tst.l d7
3979: bne @f
3980: PRINT msg_fail_notrap
3981: rts
3982: @@:
3983: PRINT msg_oktrap
3984: rts
3985:
3986: test_fmovem_CSI_to_anin:
3987: PRINT msg_fmovem_CSI_to_anin
3988: fmove.l #$55555555,fpcr
3989: fmove.l #$aaaaaaaa,fpsr
3990: fmove.l #$33333333,fpiar
3991: lea.l workarea(pc),a0
3992: SET_FLINE_TRAP
3993: moveq.l #0,d7
3994: lea.l @f,a3
3995: fmovem.l fpcr/fpsr/fpiar,(a0)
3996: @@:
3997: RESTORE_FLINE_TRAP
3998: tst.l d7
3999: beq @f
4000: PRINT msg_fail_trap
4001: rts
4002: @@:
4003: lea.l workarea(pc),a1
4004: cmpa.l a1,a0
4005: beq @f
4006: pea.l msg_fail_addr(pc)
4007: move.l a1,-(sp)
4008: move.l a0,-(sp)
4009: bsr result
4010: lea.l 12(sp),sp
4011: @@:
4012: move.l #$00005550,d1
4013: cmp.l workarea+0,d1
4014: beq @f
4015: pea.l msg_fail(pc)
4016: move.l d1,-(sp)
4017: move.l workarea+4,-(sp)
4018: bsr result
4019: lea.l 12(sp),sp
4020: @@:
4021: move.l #$0aaaaaa8,d1
4022: cmp.l workarea+4,d1
4023: beq @f
4024: pea.l msg_fail(pc)
4025: move.l d1,-(sp)
4026: move.l workarea+8,-(sp)
4027: bsr result
4028: lea.l 12(sp),sp
4029: @@:
4030: move.l #$33333333,d1
4031: cmp.l workarea+8,d1
4032: beq @f
4033: pea.l msg_fail(pc)
4034: move.l d1,-(sp)
4035: move.l workarea+12,-(sp)
4036: bsr result
4037: lea.l 12(sp),sp
4038: @@:
4039: tst.l d7
4040: bne @f
4041: PRINT msg_ok
4042: @@:
4043: rts
4044:
4045: test_fmovem_CSI_to_anpi:
4046: PRINT msg_fmovem_CSI_to_anpi
4047: fmove.l #$55555555,fpcr
4048: fmove.l #$aaaaaaaa,fpsr
4049: fmove.l #$33333333,fpiar
4050: lea.l workarea(pc),a0
4051: SET_FLINE_TRAP
4052: moveq.l #0,d7
4053: lea.l @f,a3
4054: fmovem.l fpcr/fpsr/fpiar,(a0)+
4055: @@:
4056: RESTORE_FLINE_TRAP
4057: tst.l d7
4058: beq @f
4059: PRINT msg_fail_trap
4060: rts
4061: @@:
4062: lea.l workarea+12(pc),a1
4063: cmpa.l a1,a0
4064: beq @f
4065: pea.l msg_fail_addr(pc)
4066: move.l a1,-(sp)
4067: move.l a0,-(sp)
4068: bsr result
4069: lea.l 12(sp),sp
4070: @@:
4071: move.l #$00005550,d1
4072: cmp.l workarea+0,d1
4073: beq @f
4074: pea.l msg_fail(pc)
4075: move.l d1,-(sp)
4076: move.l workarea+4,-(sp)
4077: bsr result
4078: lea.l 12(sp),sp
4079: @@:
4080: move.l #$0aaaaaa8,d1
4081: cmp.l workarea+4,d1
4082: beq @f
4083: pea.l msg_fail(pc)
4084: move.l d1,-(sp)
4085: move.l workarea+8,-(sp)
4086: bsr result
4087: lea.l 12(sp),sp
4088: @@:
4089: move.l #$33333333,d1
4090: cmp.l workarea+8,d1
4091: beq @f
4092: pea.l msg_fail(pc)
4093: move.l d1,-(sp)
4094: move.l workarea+12,-(sp)
4095: bsr result
4096: lea.l 12(sp),sp
4097: @@:
4098: tst.l d7
4099: bne @f
4100: PRINT msg_ok
4101: @@:
4102: rts
4103:
4104: test_fmovem_CSI_to_anpd:
4105: PRINT msg_fmovem_CSI_to_anpd
4106: fmove.l #$55555555,fpcr
4107: fmove.l #$aaaaaaaa,fpsr
4108: fmove.l #$33333333,fpiar
4109: lea.l workarea+12(pc),a0
4110: SET_FLINE_TRAP
4111: moveq.l #0,d7
4112: lea.l @f,a3
4113: fmovem.l fpcr/fpsr/fpiar,-(a0)
4114: @@:
4115: RESTORE_FLINE_TRAP
4116: tst.l d7
4117: beq @f
4118: PRINT msg_fail_trap
4119: rts
4120: @@:
4121: lea.l workarea(pc),a1
4122: cmpa.l a1,a0
4123: beq @f
4124: pea.l msg_fail_addr(pc)
4125: move.l a1,-(sp)
4126: move.l a0,-(sp)
4127: bsr result
4128: lea.l 12(sp),sp
4129: @@:
4130: move.l #$00005550,d1
4131: cmp.l workarea+0,d1
4132: beq @f
4133: pea.l msg_fail(pc)
4134: move.l d1,-(sp)
4135: move.l workarea+4,-(sp)
4136: bsr result
4137: lea.l 12(sp),sp
4138: @@:
4139: move.l #$0aaaaaa8,d1
4140: cmp.l workarea+4,d1
4141: beq @f
4142: pea.l msg_fail(pc)
4143: move.l d1,-(sp)
4144: move.l workarea+8,-(sp)
4145: bsr result
4146: lea.l 12(sp),sp
4147: @@:
4148: move.l #$33333333,d1
4149: cmp.l workarea+8,d1
4150: beq @f
4151: pea.l msg_fail(pc)
4152: move.l d1,-(sp)
4153: move.l workarea+12,-(sp)
4154: bsr result
4155: lea.l 12(sp),sp
4156: @@:
4157: tst.l d7
4158: bne @f
4159: PRINT msg_ok
4160: @@:
4161: rts
4162:
4163: test_fmovem_CSI_to_imm:
1.1.1.3 ! root 4164: tst.b is_hard(pc)
! 4165: bne @f
! 4166: rts
! 4167: @@:
1.1 root 4168: PRINT msg_fmovem_CSI_to_imm
4169: SET_FLINE_TRAP
4170: moveq.l #0,d7
4171: lea.l @f,a3
4172: .dc.w $f23c, $bc00
4173: @@:
4174: RESTORE_FLINE_TRAP
4175: tst.l d7
4176: bne @f
4177: PRINT msg_fail_notrap
4178: rts
4179: @@:
4180: PRINT msg_oktrap
4181: rts
4182:
1.1.1.3 ! root 4183: start2:
1.1 root 4184: clr.l -(sp)
4185: DOS _SUPER
4186: movem.l d7/a3-a5,-(sp)
1.1.1.3 ! root 4187: ; rough argument check
! 4188: cmpi.b #4,(a2)+ ; strlen(arg)>=4 ?
! 4189: bcs @f
! 4190: cmpi.l #$68617264,(a2) ; "hard"
! 4191: seq.b is_hard
! 4192: @@:
! 4193: tst.b is_hard(pc)
! 4194: beq disp_easy
! 4195: disp_hard:
! 4196: PRINT msg_hard
! 4197: bra @f
! 4198: disp_easy:
! 4199: PRINT msg_easy
! 4200: @@:
! 4201:
1.1 root 4202: moveq.l #$2c,d0 ; alternate of "lea.l $2c,a5"
4203: move.l d0,a5 ;
1.1.1.3 ! root 4204: tst.b is_hard(pc)
! 4205: beq @f
1.1 root 4206: bsr test_fmovem_dn_to____
1.1.1.3 ! root 4207: @@:
! 4208: tst.b is_hard(pc)
! 4209: beq @f
1.1 root 4210: bsr test_fmovem_an_to____
1.1.1.3 ! root 4211: @@:
! 4212: tst.b is_hard(pc)
! 4213: beq @f
1.1 root 4214: bsr test_fmovem_anin_to____
1.1.1.3 ! root 4215: @@:
! 4216: tst.b is_hard(pc)
! 4217: beq @f
1.1 root 4218: bsr test_fmovem_anpi_to____
1.1.1.3 ! root 4219: @@:
! 4220: tst.b is_hard(pc)
! 4221: beq @f
1.1 root 4222: bsr test_fmovem_anpd_to____
1.1.1.3 ! root 4223: @@:
! 4224: tst.b is_hard(pc)
! 4225: beq @f
1.1 root 4226: bsr test_fmovem_imm_to____
1.1.1.3 ! root 4227: @@:
1.1 root 4228: bsr test_fmovem_dn_to___I
4229: bsr test_fmovem_an_to___I
4230: bsr test_fmovem_anin_to___I
4231: bsr test_fmovem_anpi_to___I
4232: bsr test_fmovem_anpd_to___I
4233: bsr test_fmovem_imm_to___I
4234: bsr test_fmovem_dn_to__S_
4235: bsr test_fmovem_an_to__S_
4236: bsr test_fmovem_anin_to__S_
4237: bsr test_fmovem_anpi_to__S_
4238: bsr test_fmovem_anpd_to__S_
4239: bsr test_fmovem_imm_to__S_
4240: bsr test_fmovem_dn_to__SI
4241: bsr test_fmovem_an_to__SI
4242: bsr test_fmovem_anin_to__SI
4243: bsr test_fmovem_anpi_to__SI
4244: bsr test_fmovem_anpd_to__SI
4245: bsr test_fmovem_imm_to__SI
4246: bsr test_fmovem_dn_to_C__
4247: bsr test_fmovem_an_to_C__
4248: bsr test_fmovem_anin_to_C__
4249: bsr test_fmovem_anpi_to_C__
4250: bsr test_fmovem_anpd_to_C__
4251: bsr test_fmovem_imm_to_C__
4252: bsr test_fmovem_dn_to_C_I
4253: bsr test_fmovem_an_to_C_I
4254: bsr test_fmovem_anin_to_C_I
4255: bsr test_fmovem_anpi_to_C_I
4256: bsr test_fmovem_anpd_to_C_I
4257: bsr test_fmovem_imm_to_C_I
4258: bsr test_fmovem_dn_to_CS_
4259: bsr test_fmovem_an_to_CS_
4260: bsr test_fmovem_anin_to_CS_
4261: bsr test_fmovem_anpi_to_CS_
4262: bsr test_fmovem_anpd_to_CS_
4263: bsr test_fmovem_imm_to_CS_
4264: bsr test_fmovem_dn_to_CSI
4265: bsr test_fmovem_an_to_CSI
4266: bsr test_fmovem_anin_to_CSI
4267: bsr test_fmovem_anpi_to_CSI
4268: bsr test_fmovem_anpd_to_CSI
4269: bsr test_fmovem_imm_to_CSI
1.1.1.3 ! root 4270: tst.b is_hard(pc)
! 4271: beq @f
1.1 root 4272: bsr test_fmovem_____to_dn
1.1.1.3 ! root 4273: @@:
! 4274: tst.b is_hard(pc)
! 4275: beq @f
1.1 root 4276: bsr test_fmovem_____to_an
1.1.1.3 ! root 4277: @@:
! 4278: tst.b is_hard(pc)
! 4279: beq @f
1.1 root 4280: bsr test_fmovem_____to_anin
1.1.1.3 ! root 4281: @@:
! 4282: tst.b is_hard(pc)
! 4283: beq @f
1.1 root 4284: bsr test_fmovem_____to_anpi
1.1.1.3 ! root 4285: @@:
! 4286: tst.b is_hard(pc)
! 4287: beq @f
1.1 root 4288: bsr test_fmovem_____to_anpd
1.1.1.3 ! root 4289: @@:
! 4290: tst.b is_hard(pc)
! 4291: beq @f
1.1 root 4292: bsr test_fmovem_____to_imm
1.1.1.3 ! root 4293: @@:
1.1 root 4294: bsr test_fmovem___I_to_dn
4295: bsr test_fmovem___I_to_an
4296: bsr test_fmovem___I_to_anin
4297: bsr test_fmovem___I_to_anpi
4298: bsr test_fmovem___I_to_anpd
4299: bsr test_fmovem___I_to_imm
4300: bsr test_fmovem__S__to_dn
4301: bsr test_fmovem__S__to_an
4302: bsr test_fmovem__S__to_anin
4303: bsr test_fmovem__S__to_anpi
4304: bsr test_fmovem__S__to_anpd
4305: bsr test_fmovem__S__to_imm
4306: bsr test_fmovem__SI_to_dn
4307: bsr test_fmovem__SI_to_an
4308: bsr test_fmovem__SI_to_anin
4309: bsr test_fmovem__SI_to_anpi
4310: bsr test_fmovem__SI_to_anpd
4311: bsr test_fmovem__SI_to_imm
4312: bsr test_fmovem_C___to_dn
4313: bsr test_fmovem_C___to_an
4314: bsr test_fmovem_C___to_anin
4315: bsr test_fmovem_C___to_anpi
4316: bsr test_fmovem_C___to_anpd
4317: bsr test_fmovem_C___to_imm
4318: bsr test_fmovem_C_I_to_dn
4319: bsr test_fmovem_C_I_to_an
4320: bsr test_fmovem_C_I_to_anin
4321: bsr test_fmovem_C_I_to_anpi
4322: bsr test_fmovem_C_I_to_anpd
4323: bsr test_fmovem_C_I_to_imm
4324: bsr test_fmovem_CS__to_dn
4325: bsr test_fmovem_CS__to_an
4326: bsr test_fmovem_CS__to_anin
4327: bsr test_fmovem_CS__to_anpi
4328: bsr test_fmovem_CS__to_anpd
4329: bsr test_fmovem_CS__to_imm
4330: bsr test_fmovem_CSI_to_dn
4331: bsr test_fmovem_CSI_to_an
4332: bsr test_fmovem_CSI_to_anin
4333: bsr test_fmovem_CSI_to_anpi
4334: bsr test_fmovem_CSI_to_anpd
4335: bsr test_fmovem_CSI_to_imm
4336: movem.l (sp)+,d7/a3-a5
4337: DOS _EXIT
4338:
4339: ; 結果表示
4340: ; スタックには、メッセージ、期待値、実際の値の順で積む。
4341: result:
4342: link a6,#0
4343: movem.l d0/a0,-(sp)
4344:
4345: move.l 8+8(a6),-(sp)
4346: DOS _PRINT
4347: addq.l #4,sp
4348:
4349: move.l 8+4(a6),d0
4350: lea.l buf(pc),a0
4351: bsr hexstr_long
4352: PRINT buf
4353: PRINT msg_but
4354:
1.1.1.3 ! root 4355: move.l 8+0(a6),d0
1.1 root 4356: lea.l buf(pc),a0
4357: bsr hexstr_long
4358: PRINT buf
4359: PRINT msg_crlf
4360:
4361: addq.l #1,d7 ; errcnt
4362: movem.l (sp)+,d0/a0
4363: unlk a6
4364: rts
4365:
4366: ; Fライン例外ハンドラ
4367: ; a3 に戻りアドレスをセットしてあること
4368: ; d7 を 1 にして帰る
4369: fline_handler:
4370: moveq.l #1,d7
4371: move.l a3,2(sp)
4372: rte
4373:
1.1.1.3 ! root 4374: msg_hard: .dc.b "hard mode",$d,$a,0
! 4375: msg_easy: .dc.b "easy mode",$d,$a,0
1.1 root 4376: msg_oktrap: .dc.b $9,"ok(trap)",$d,$a,0, 0,0
4377: msg_fail_notrap: .dc.b $9,"FAIL: trap expected but not occured",$d,$a,0
4378: msg_fail_trap: .dc.b $9,"FAIL: unexpected trap occured",$d,$a,0
4379:
4380: msg_ok: .dc.b $9,"ok",$d,$a,0
4381: msg_fail: .dc.b $9,"fail",$d,$a,0
4382: msg_fail_cr: .dc.b $9,"FAIL: fpcr expects ",0
4383: msg_fail_sr: .dc.b $9,"FAIL: fpsr expects ",0
4384: msg_fail_ir: .dc.b $9,"FAIL: fpiar expects ",0
4385: msg_fail_addr: .dc.b $9,"FAIL: an expects ",0
4386: msg_but: .dc.b " but ",0
4387: msg_crlf: .dc.b $d,$a,0
4388:
4389:
1.1.1.3 ! root 4390: msg_fmovem_dn_to____: .dc.b "fmovem.l d0,nofpc",0
! 4391: msg_fmovem_an_to____: .dc.b "fmovem.l a0,nofpc",0
! 4392: msg_fmovem_anin_to____: .dc.b "fmovem.l (a0),nofpc",0
! 4393: msg_fmovem_anpi_to____: .dc.b "fmovem.l (a0)+,nofpc",0
! 4394: msg_fmovem_anpd_to____: .dc.b "fmovem.l -(a0),nofpc",0
! 4395: msg_fmovem_imm_to____: .dc.b "fmovem.l #imm,nofpc",0
! 4396: msg_fmovem_dn_to___I: .dc.b "fmovem.l d0,fpiar",0
! 4397: msg_fmovem_an_to___I: .dc.b "fmovem.l a0,fpiar",0
! 4398: msg_fmovem_anin_to___I: .dc.b "fmovem.l (a0),fpiar",0
! 4399: msg_fmovem_anpi_to___I: .dc.b "fmovem.l (a0)+,fpiar",0
! 4400: msg_fmovem_anpd_to___I: .dc.b "fmovem.l -(a0),fpiar",0
! 4401: msg_fmovem_imm_to___I: .dc.b "fmovem.l #imm,fpiar",0
! 4402: msg_fmovem_dn_to__S_: .dc.b "fmovem.l d0,fpsr",0
! 4403: msg_fmovem_an_to__S_: .dc.b "fmovem.l a0,fpsr",0
! 4404: msg_fmovem_anin_to__S_: .dc.b "fmovem.l (a0),fpsr",0
! 4405: msg_fmovem_anpi_to__S_: .dc.b "fmovem.l (a0)+,fpsr",0
! 4406: msg_fmovem_anpd_to__S_: .dc.b "fmovem.l -(a0),fpsr",0
! 4407: msg_fmovem_imm_to__S_: .dc.b "fmovem.l #imm,fpsr",0
! 4408: msg_fmovem_dn_to__SI: .dc.b "fmovem.l d0,fpsr/fpiar",0
! 4409: msg_fmovem_an_to__SI: .dc.b "fmovem.l a0,fpsr/fpiar",0
! 4410: msg_fmovem_anin_to__SI: .dc.b "fmovem.l (a0),fpsr/fpiar",0
! 4411: msg_fmovem_anpi_to__SI: .dc.b "fmovem.l (a0)+,fpsr/fpiar",0
! 4412: msg_fmovem_anpd_to__SI: .dc.b "fmovem.l -(a0),fpsr/fpiar",0
! 4413: msg_fmovem_imm_to__SI: .dc.b "fmovem.l #imm/#imm,fpsr/fpiar",0
! 4414: msg_fmovem_dn_to_C__: .dc.b "fmovem.l d0,fpcr",0
! 4415: msg_fmovem_an_to_C__: .dc.b "fmovem.l a0,fpcr",0
! 4416: msg_fmovem_anin_to_C__: .dc.b "fmovem.l (a0),fpcr",0
! 4417: msg_fmovem_anpi_to_C__: .dc.b "fmovem.l (a0)+,fpcr",0
! 4418: msg_fmovem_anpd_to_C__: .dc.b "fmovem.l -(a0),fpcr",0
! 4419: msg_fmovem_imm_to_C__: .dc.b "fmovem.l #imm,fpcr",0
! 4420: msg_fmovem_dn_to_C_I: .dc.b "fmovem.l d0,fpcr/fpiar",0
! 4421: msg_fmovem_an_to_C_I: .dc.b "fmovem.l a0,fpcr/fpiar",0
! 4422: msg_fmovem_anin_to_C_I: .dc.b "fmovem.l (a0),fpcr/fpiar",0
! 4423: msg_fmovem_anpi_to_C_I: .dc.b "fmovem.l (a0)+,fpcr/fpiar",0
! 4424: msg_fmovem_anpd_to_C_I: .dc.b "fmovem.l -(a0),fpcr/fpiar",0
! 4425: msg_fmovem_imm_to_C_I: .dc.b "fmovem.l #imm/#imm,fpcr/fpiar",0
! 4426: msg_fmovem_dn_to_CS_: .dc.b "fmovem.l d0,fpcr/fpsr",0
! 4427: msg_fmovem_an_to_CS_: .dc.b "fmovem.l a0,fpcr/fpsr",0
! 4428: msg_fmovem_anin_to_CS_: .dc.b "fmovem.l (a0),fpcr/fpsr",0
! 4429: msg_fmovem_anpi_to_CS_: .dc.b "fmovem.l (a0)+,fpcr/fpsr",0
! 4430: msg_fmovem_anpd_to_CS_: .dc.b "fmovem.l -(a0),fpcr/fpsr",0
! 4431: msg_fmovem_imm_to_CS_: .dc.b "fmovem.l #imm/#imm,fpcr/fpsr",0
! 4432: msg_fmovem_dn_to_CSI: .dc.b "fmovem.l d0,fpcr/fpsr/fpiar",0
! 4433: msg_fmovem_an_to_CSI: .dc.b "fmovem.l a0,fpcr/fpsr/fpiar",0
! 4434: msg_fmovem_anin_to_CSI: .dc.b "fmovem.l (a0),fpcr/fpsr/fpiar",0
! 4435: msg_fmovem_anpi_to_CSI: .dc.b "fmovem.l (a0)+,fpcr/fpsr/fpiar",0
! 4436: msg_fmovem_anpd_to_CSI: .dc.b "fmovem.l -(a0),fpcr/fpsr/fpiar",0
! 4437: msg_fmovem_imm_to_CSI: .dc.b "fmovem.l #imm/#imm/#imm,fpcr/fpsr/fpiar",0
! 4438: msg_fmovem_____to_dn: .dc.b "fmovem.l nofpc,d0",0
! 4439: msg_fmovem_____to_an: .dc.b "fmovem.l nofpc,a0",0
! 4440: msg_fmovem_____to_anin: .dc.b "fmovem.l nofpc,(a0)",0
! 4441: msg_fmovem_____to_anpi: .dc.b "fmovem.l nofpc,(a0)+",0
! 4442: msg_fmovem_____to_anpd: .dc.b "fmovem.l nofpc,-(a0)",0
! 4443: msg_fmovem_____to_imm: .dc.b "fmovem.l nofpc,#imm",0
! 4444: msg_fmovem___I_to_dn: .dc.b "fmovem.l fpiar,d0",0
! 4445: msg_fmovem___I_to_an: .dc.b "fmovem.l fpiar,a0",0
! 4446: msg_fmovem___I_to_anin: .dc.b "fmovem.l fpiar,(a0)",0
! 4447: msg_fmovem___I_to_anpi: .dc.b "fmovem.l fpiar,(a0)+",0
! 4448: msg_fmovem___I_to_anpd: .dc.b "fmovem.l fpiar,-(a0)",0
! 4449: msg_fmovem___I_to_imm: .dc.b "fmovem.l fpiar,#imm",0
! 4450: msg_fmovem__S__to_dn: .dc.b "fmovem.l fpsr,d0",0
! 4451: msg_fmovem__S__to_an: .dc.b "fmovem.l fpsr,a0",0
! 4452: msg_fmovem__S__to_anin: .dc.b "fmovem.l fpsr,(a0)",0
! 4453: msg_fmovem__S__to_anpi: .dc.b "fmovem.l fpsr,(a0)+",0
! 4454: msg_fmovem__S__to_anpd: .dc.b "fmovem.l fpsr,-(a0)",0
! 4455: msg_fmovem__S__to_imm: .dc.b "fmovem.l fpsr,#imm",0
! 4456: msg_fmovem__SI_to_dn: .dc.b "fmovem.l fpsr/fpiar,d0",0
! 4457: msg_fmovem__SI_to_an: .dc.b "fmovem.l fpsr/fpiar,a0",0
! 4458: msg_fmovem__SI_to_anin: .dc.b "fmovem.l fpsr/fpiar,(a0)",0
! 4459: msg_fmovem__SI_to_anpi: .dc.b "fmovem.l fpsr/fpiar,(a0)+",0
! 4460: msg_fmovem__SI_to_anpd: .dc.b "fmovem.l fpsr/fpiar,-(a0)",0
! 4461: msg_fmovem__SI_to_imm: .dc.b "fmovem.l fpsr/fpiar,#imm/#imm",0
! 4462: msg_fmovem_C___to_dn: .dc.b "fmovem.l fpcr,d0",0
! 4463: msg_fmovem_C___to_an: .dc.b "fmovem.l fpcr,a0",0
! 4464: msg_fmovem_C___to_anin: .dc.b "fmovem.l fpcr,(a0)",0
! 4465: msg_fmovem_C___to_anpi: .dc.b "fmovem.l fpcr,(a0)+",0
! 4466: msg_fmovem_C___to_anpd: .dc.b "fmovem.l fpcr,-(a0)",0
! 4467: msg_fmovem_C___to_imm: .dc.b "fmovem.l fpcr,#imm",0
! 4468: msg_fmovem_C_I_to_dn: .dc.b "fmovem.l fpcr/fpiar,d0",0
! 4469: msg_fmovem_C_I_to_an: .dc.b "fmovem.l fpcr/fpiar,a0",0
! 4470: msg_fmovem_C_I_to_anin: .dc.b "fmovem.l fpcr/fpiar,(a0)",0
! 4471: msg_fmovem_C_I_to_anpi: .dc.b "fmovem.l fpcr/fpiar,(a0)+",0
! 4472: msg_fmovem_C_I_to_anpd: .dc.b "fmovem.l fpcr/fpiar,-(a0)",0
! 4473: msg_fmovem_C_I_to_imm: .dc.b "fmovem.l fpcr/fpiar,#imm/#imm",0
! 4474: msg_fmovem_CS__to_dn: .dc.b "fmovem.l fpcr/fpsr,d0",0
! 4475: msg_fmovem_CS__to_an: .dc.b "fmovem.l fpcr/fpsr,a0",0
! 4476: msg_fmovem_CS__to_anin: .dc.b "fmovem.l fpcr/fpsr,(a0)",0
! 4477: msg_fmovem_CS__to_anpi: .dc.b "fmovem.l fpcr/fpsr,(a0)+",0
! 4478: msg_fmovem_CS__to_anpd: .dc.b "fmovem.l fpcr/fpsr,-(a0)",0
! 4479: msg_fmovem_CS__to_imm: .dc.b "fmovem.l fpcr/fpsr,#imm/#imm",0
! 4480: msg_fmovem_CSI_to_dn: .dc.b "fmovem.l fpcr/fpsr/fpiar,d0",0
! 4481: msg_fmovem_CSI_to_an: .dc.b "fmovem.l fpcr/fpsr/fpiar,a0",0
! 4482: msg_fmovem_CSI_to_anin: .dc.b "fmovem.l fpcr/fpsr/fpiar,(a0)",0
! 4483: msg_fmovem_CSI_to_anpi: .dc.b "fmovem.l fpcr/fpsr/fpiar,(a0)+",0
! 4484: msg_fmovem_CSI_to_anpd: .dc.b "fmovem.l fpcr/fpsr/fpiar,-(a0)",0
! 4485: msg_fmovem_CSI_to_imm: .dc.b "fmovem.l fpcr/fpsr/fpiar,#imm/#imm/#imm",0
1.1 root 4486:
4487: .data
4488: .even
4489: workarea: .ds.b 24
1.1.1.3 ! root 4490: buf: .ds.b 20
! 4491: is_hard: .ds.b 1
1.1 root 4492:
4493: .end start
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.