|
|
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 fmovemn.has
28: ; > hlk fmovemn.o si_util.o
1.1 root 29:
30: .xref hexstr_long
31: .include doscall.mac
1.1.1.4 ! root 32: .include iocscall.mac
1.1 root 33: .list
34: .cpu 68030
35:
36: PRINT .macro msg
1.1.1.4 ! root 37: pea.l msg
1.1 root 38: DOS _PRINT
39: addq.l #4,sp
40: .endm
41:
42: .text
43: .even
1.1.1.4 ! root 44:
1.1.1.3 root 45: start:
1.1.1.4 ! root 46: clr.l -(sp)
! 47: DOS _SUPER
! 48: movem.l d4-d7/a2-a4,-(sp)
! 49: moveq.l #$30,d6 ; Init D6 for dynamic
! 50: moveq.l #0,d4 ; Init D4 for d8(An,IX)
! 51: fmove.l d4,fpcr ; Init FPCR, especially round mode and round prec.
! 52:
! 53: ; rough argument check
! 54: cmpi.b #4,(a2)+ ; strlen(arg)<4 ?
! 55: bcs easymode
! 56: cmpi.l #$68617264,(a2) ; "hard"
! 57: bne easymode
! 58:
! 59: hardmode:
! 60: moveq.l #-1,d5
! 61: PRINT msg_hard(pc)
! 62: bsr test_0
! 63: bsr test_1
! 64: bsr test_2
! 65: bsr test_3
! 66: bsr test_4
! 67: bsr test_5
! 68: bsr test_6
! 69: bsr test_7
! 70: bsr test_8
! 71: bsr test_9
! 72: bsr test_10
! 73: bsr test_11
! 74: bsr test_12
! 75: bsr test_13
! 76: bsr test_14
! 77: bsr test_15
! 78: bsr test_16
! 79: bsr test_17
! 80: bsr test_18
! 81: bsr test_19
! 82: bsr test_20
! 83: bsr test_21
! 84: bsr test_22
! 85: bsr test_23
! 86: bsr test_24
! 87: bsr test_25
! 88: bsr test_26
! 89: bsr test_27
! 90: bsr test_28
! 91: bsr test_29
! 92: bsr test_30
! 93: bsr test_31
! 94: bsr test_32
! 95: bsr test_33
! 96: bsr test_34
! 97: bsr test_35
! 98: bsr test_36
! 99: bsr test_37
! 100: bsr test_38
! 101: bsr test_39
! 102: bsr test_40
! 103: bsr test_41
! 104: bsr test_42
! 105: bsr test_43
! 106: bsr test_44
! 107: bsr test_45
! 108: bsr test_46
! 109: bsr test_47
! 110: bsr test_48
! 111: bsr test_49
! 112: bsr test_50
! 113: bsr test_51
! 114: bsr test_52
! 115: bsr test_53
! 116: bsr test_54
! 117: bsr test_55
! 118: bsr test_nofpn
! 119: bsr test_illdyn
! 120: bra done
! 121:
! 122: easymode:
! 123: moveq.l #0,d5
! 124: PRINT msg_easy(pc)
! 125: bsr test_16
! 126: bsr test_17
! 127: bsr test_19
! 128: bsr test_20
! 129: bsr test_23
! 130: bsr test_24
! 131: bsr test_26
! 132: bsr test_27
! 133: bsr test_32
! 134: bsr test_39
! 135: bsr test_44
! 136: bsr test_47
! 137: bsr test_48
! 138: bsr test_51
! 139: bsr test_54
! 140: bsr test_55
1.1.1.3 root 141:
1.1.1.4 ! root 142: done:
! 143: movem.l (sp)+,d4-d7/a2-a4
! 144: DOS _EXIT
! 145:
! 146: ; to,pred,sta,EA=d (hard)
! 147: test_0:
! 148: moveq.l #-8,d0
! 149: and.w d5,d0
! 150: PRINT msg_test_0+8(pc,d0.w)
! 151: bsr set_fline
1.1 root 152: moveq.l #0,d7
153: lea.l @f,a3
1.1.1.4 ! root 154: .dc.l $f200c060
1.1 root 155: @@:
1.1.1.4 ! root 156: bsr restore_fline
1.1 root 157: tst.l d7
158: bne @f
1.1.1.4 ! root 159: PRINT msg_fail_notrap(pc)
1.1 root 160: rts
161: @@:
1.1.1.4 ! root 162: PRINT msg_oktrap(pc)
1.1 root 163: rts
164:
1.1.1.4 ! root 165: ; to,pred,sta,EA=a (hard)
! 166: test_1:
! 167: moveq.l #-8,d0
! 168: and.w d5,d0
! 169: PRINT msg_test_1+8(pc,d0.w)
! 170: bsr set_fline
1.1 root 171: moveq.l #0,d7
172: lea.l @f,a3
1.1.1.4 ! root 173: .dc.l $f208c060
1.1 root 174: @@:
1.1.1.4 ! root 175: bsr restore_fline
1.1 root 176: tst.l d7
177: bne @f
1.1.1.4 ! root 178: PRINT msg_fail_notrap(pc)
1.1 root 179: rts
180: @@:
1.1.1.4 ! root 181: PRINT msg_oktrap(pc)
1.1 root 182: rts
183:
1.1.1.4 ! root 184: ; to,pred,sta,EA=m (hard)
! 185: test_2:
! 186: moveq.l #-8,d0
! 187: and.w d5,d0
! 188: PRINT msg_test_2+8(pc,d0.w)
! 189: bsr init_from
1.1 root 190: lea.l srcdata(pc),a0
1.1.1.4 ! root 191: bsr set_fline
1.1 root 192: moveq.l #0,d7
193: lea.l @f,a3
1.1.1.4 ! root 194: .dc.l $f210c060
1.1 root 195: @@:
1.1.1.4 ! root 196: bsr restore_fline
1.1 root 197: tst.l d7
198: beq @f
1.1.1.4 ! root 199: PRINT msg_fail_trap(pc)
1.1 root 200: rts
201: @@:
1.1.1.4 ! root 202: lea.l srcdata(pc),a1
1.1 root 203: cmp.l a1,a0
204: beq @f
205: pea.l msg_fail_addr(pc)
206: move.l a1,-(sp)
207: move.l a0,-(sp)
208: bsr result
209: lea.l 12(sp),sp
210: @@:
211: lea.l workarea(pc),a2
212: ; compare FP0
213: pea.l msg_fail_fp0(pc)
214: pea.l (initdata+0*12)(pc)
215: fmove.x fp0,(a2)
216: pea.l (a2)
217: bsr check_ext
218: lea.l 12(sp),sp
219: ; compare FP1
220: pea.l msg_fail_fp1(pc)
221: pea.l (initdata+1*12)(pc)
222: fmove.x fp1,(a2)
223: pea.l (a2)
224: bsr check_ext
225: lea.l 12(sp),sp
226: ; compare FP2
227: pea.l msg_fail_fp2(pc)
228: pea.l (initdata+2*12)(pc)
229: fmove.x fp2,(a2)
230: pea.l (a2)
231: bsr check_ext
232: lea.l 12(sp),sp
233: ; compare FP3
234: pea.l msg_fail_fp3(pc)
235: pea.l (initdata+3*12)(pc)
236: fmove.x fp3,(a2)
237: pea.l (a2)
238: bsr check_ext
239: lea.l 12(sp),sp
240: ; compare FP4
241: pea.l msg_fail_fp4(pc)
242: pea.l (initdata+4*12)(pc)
243: fmove.x fp4,(a2)
244: pea.l (a2)
245: bsr check_ext
246: lea.l 12(sp),sp
247: ; compare FP5
248: pea.l msg_fail_fp5(pc)
249: pea.l srcdata+12(pc)
250: fmove.x fp5,(a2)
251: pea.l (a2)
252: bsr check_ext
253: lea.l 12(sp),sp
254: ; compare FP6
255: pea.l msg_fail_fp6(pc)
1.1.1.4 ! root 256: pea.l srcdata(pc)
1.1 root 257: fmove.x fp6,(a2)
258: pea.l (a2)
259: bsr check_ext
260: lea.l 12(sp),sp
261: ; compare FP7
262: pea.l msg_fail_fp7(pc)
263: pea.l (initdata+7*12)(pc)
264: fmove.x fp7,(a2)
265: pea.l (a2)
266: bsr check_ext
267: lea.l 12(sp),sp
1.1.1.4 ! root 268:
1.1 root 269: tst.l d7
270: bne @f
1.1.1.4 ! root 271: PRINT msg_ok(pc)
1.1 root 272: @@:
273: rts
274:
1.1.1.4 ! root 275: ; to,pred,sta,EA=+ (hard)
! 276: test_3:
! 277: moveq.l #-8,d0
! 278: and.w d5,d0
! 279: PRINT msg_test_3+8(pc,d0.w)
! 280: bsr init_from
1.1 root 281: lea.l srcdata(pc),a0
1.1.1.4 ! root 282: bsr set_fline
1.1 root 283: moveq.l #0,d7
284: lea.l @f,a3
1.1.1.4 ! root 285: .dc.l $f218c060
1.1 root 286: @@:
1.1.1.4 ! root 287: bsr restore_fline
1.1 root 288: tst.l d7
289: beq @f
1.1.1.4 ! root 290: PRINT msg_fail_trap(pc)
1.1 root 291: rts
292: @@:
293: lea.l srcdata+24(pc),a1
294: cmp.l a1,a0
295: beq @f
296: pea.l msg_fail_addr(pc)
297: move.l a1,-(sp)
298: move.l a0,-(sp)
299: bsr result
300: lea.l 12(sp),sp
301: @@:
302: lea.l workarea(pc),a2
303: ; compare FP0
304: pea.l msg_fail_fp0(pc)
305: pea.l (initdata+0*12)(pc)
306: fmove.x fp0,(a2)
307: pea.l (a2)
308: bsr check_ext
309: lea.l 12(sp),sp
310: ; compare FP1
311: pea.l msg_fail_fp1(pc)
312: pea.l (initdata+1*12)(pc)
313: fmove.x fp1,(a2)
314: pea.l (a2)
315: bsr check_ext
316: lea.l 12(sp),sp
317: ; compare FP2
318: pea.l msg_fail_fp2(pc)
319: pea.l (initdata+2*12)(pc)
320: fmove.x fp2,(a2)
321: pea.l (a2)
322: bsr check_ext
323: lea.l 12(sp),sp
324: ; compare FP3
325: pea.l msg_fail_fp3(pc)
326: pea.l (initdata+3*12)(pc)
327: fmove.x fp3,(a2)
328: pea.l (a2)
329: bsr check_ext
330: lea.l 12(sp),sp
331: ; compare FP4
332: pea.l msg_fail_fp4(pc)
333: pea.l (initdata+4*12)(pc)
334: fmove.x fp4,(a2)
335: pea.l (a2)
336: bsr check_ext
337: lea.l 12(sp),sp
338: ; compare FP5
339: pea.l msg_fail_fp5(pc)
340: pea.l srcdata+12(pc)
341: fmove.x fp5,(a2)
342: pea.l (a2)
343: bsr check_ext
344: lea.l 12(sp),sp
345: ; compare FP6
346: pea.l msg_fail_fp6(pc)
1.1.1.4 ! root 347: pea.l srcdata(pc)
1.1 root 348: fmove.x fp6,(a2)
349: pea.l (a2)
350: bsr check_ext
351: lea.l 12(sp),sp
352: ; compare FP7
353: pea.l msg_fail_fp7(pc)
354: pea.l (initdata+7*12)(pc)
355: fmove.x fp7,(a2)
356: pea.l (a2)
357: bsr check_ext
358: lea.l 12(sp),sp
359:
360: tst.l d7
361: bne @f
1.1.1.4 ! root 362: PRINT msg_ok(pc)
1.1 root 363: @@:
364: rts
365:
1.1.1.4 ! root 366: ; to,pred,sta,EA=- (hard)
! 367: test_4:
! 368: moveq.l #-8,d0
! 369: and.w d5,d0
! 370: PRINT msg_test_4+8(pc,d0.w)
! 371: bsr set_fline
1.1 root 372: moveq.l #0,d7
373: lea.l @f,a3
1.1.1.4 ! root 374: .dc.l $f220c060
1.1 root 375: @@:
1.1.1.4 ! root 376: bsr restore_fline
1.1 root 377: tst.l d7
378: bne @f
1.1.1.4 ! root 379: PRINT msg_fail_notrap(pc)
1.1 root 380: rts
381: @@:
1.1.1.4 ! root 382: PRINT msg_oktrap(pc)
1.1 root 383: rts
384:
1.1.1.4 ! root 385: ; to,pred,sta,EA=r (hard)
! 386: test_5:
! 387: moveq.l #-8,d0
! 388: and.w d5,d0
! 389: PRINT msg_test_5+8(pc,d0.w)
! 390: bsr init_from
1.1 root 391: lea.l srcdata(pc),a0
1.1.1.4 ! root 392: bsr set_fline
1.1 root 393: moveq.l #0,d7
394: lea.l @f,a3
1.1.1.4 ! root 395: .dc.l $f228c060
! 396: .dc.w 0
1.1 root 397: @@:
1.1.1.4 ! root 398: bsr restore_fline
1.1 root 399: tst.l d7
400: beq @f
1.1.1.4 ! root 401: PRINT msg_fail_trap(pc)
1.1 root 402: rts
403: @@:
1.1.1.4 ! root 404: lea.l srcdata(pc),a1
1.1 root 405: cmp.l a1,a0
406: beq @f
407: pea.l msg_fail_addr(pc)
408: move.l a1,-(sp)
409: move.l a0,-(sp)
410: bsr result
411: lea.l 12(sp),sp
412: @@:
413: lea.l workarea(pc),a2
414: ; compare FP0
415: pea.l msg_fail_fp0(pc)
416: pea.l (initdata+0*12)(pc)
417: fmove.x fp0,(a2)
418: pea.l (a2)
419: bsr check_ext
420: lea.l 12(sp),sp
421: ; compare FP1
422: pea.l msg_fail_fp1(pc)
423: pea.l (initdata+1*12)(pc)
424: fmove.x fp1,(a2)
425: pea.l (a2)
426: bsr check_ext
427: lea.l 12(sp),sp
428: ; compare FP2
429: pea.l msg_fail_fp2(pc)
430: pea.l (initdata+2*12)(pc)
431: fmove.x fp2,(a2)
432: pea.l (a2)
433: bsr check_ext
434: lea.l 12(sp),sp
435: ; compare FP3
436: pea.l msg_fail_fp3(pc)
437: pea.l (initdata+3*12)(pc)
438: fmove.x fp3,(a2)
439: pea.l (a2)
440: bsr check_ext
441: lea.l 12(sp),sp
442: ; compare FP4
443: pea.l msg_fail_fp4(pc)
1.1.1.4 ! root 444: pea.l (initdata+4*12)(pc)
1.1 root 445: fmove.x fp4,(a2)
446: pea.l (a2)
447: bsr check_ext
448: lea.l 12(sp),sp
449: ; compare FP5
450: pea.l msg_fail_fp5(pc)
1.1.1.4 ! root 451: pea.l srcdata+12(pc)
1.1 root 452: fmove.x fp5,(a2)
453: pea.l (a2)
454: bsr check_ext
455: lea.l 12(sp),sp
456: ; compare FP6
457: pea.l msg_fail_fp6(pc)
1.1.1.4 ! root 458: pea.l srcdata(pc)
1.1 root 459: fmove.x fp6,(a2)
460: pea.l (a2)
461: bsr check_ext
462: lea.l 12(sp),sp
463: ; compare FP7
464: pea.l msg_fail_fp7(pc)
465: pea.l (initdata+7*12)(pc)
466: fmove.x fp7,(a2)
467: pea.l (a2)
468: bsr check_ext
469: lea.l 12(sp),sp
1.1.1.4 ! root 470:
1.1 root 471: tst.l d7
472: bne @f
1.1.1.4 ! root 473: PRINT msg_ok(pc)
1.1 root 474: @@:
475: rts
476:
1.1.1.4 ! root 477: ; to,pred,sta,EA=x (hard)
! 478: test_6:
! 479: moveq.l #-8,d0
! 480: and.w d5,d0
! 481: PRINT msg_test_6+8(pc,d0.w)
! 482: bsr init_from
1.1 root 483: lea.l srcdata(pc),a0
1.1.1.4 ! root 484: bsr set_fline
1.1 root 485: moveq.l #0,d7
486: lea.l @f,a3
1.1.1.4 ! root 487: .dc.l $f230c060
! 488: .dc.w $4000
1.1 root 489: @@:
1.1.1.4 ! root 490: bsr restore_fline
1.1 root 491: tst.l d7
492: beq @f
1.1.1.4 ! root 493: PRINT msg_fail_trap(pc)
1.1 root 494: rts
495: @@:
1.1.1.4 ! root 496: lea.l srcdata(pc),a1
1.1 root 497: cmp.l a1,a0
498: beq @f
499: pea.l msg_fail_addr(pc)
500: move.l a1,-(sp)
501: move.l a0,-(sp)
502: bsr result
503: lea.l 12(sp),sp
504: @@:
505: lea.l workarea(pc),a2
506: ; compare FP0
507: pea.l msg_fail_fp0(pc)
508: pea.l (initdata+0*12)(pc)
509: fmove.x fp0,(a2)
510: pea.l (a2)
511: bsr check_ext
512: lea.l 12(sp),sp
513: ; compare FP1
514: pea.l msg_fail_fp1(pc)
515: pea.l (initdata+1*12)(pc)
516: fmove.x fp1,(a2)
517: pea.l (a2)
518: bsr check_ext
519: lea.l 12(sp),sp
520: ; compare FP2
521: pea.l msg_fail_fp2(pc)
522: pea.l (initdata+2*12)(pc)
523: fmove.x fp2,(a2)
524: pea.l (a2)
525: bsr check_ext
526: lea.l 12(sp),sp
527: ; compare FP3
528: pea.l msg_fail_fp3(pc)
529: pea.l (initdata+3*12)(pc)
530: fmove.x fp3,(a2)
531: pea.l (a2)
532: bsr check_ext
533: lea.l 12(sp),sp
534: ; compare FP4
535: pea.l msg_fail_fp4(pc)
1.1.1.4 ! root 536: pea.l (initdata+4*12)(pc)
1.1 root 537: fmove.x fp4,(a2)
538: pea.l (a2)
539: bsr check_ext
540: lea.l 12(sp),sp
541: ; compare FP5
542: pea.l msg_fail_fp5(pc)
1.1.1.4 ! root 543: pea.l srcdata+12(pc)
1.1 root 544: fmove.x fp5,(a2)
545: pea.l (a2)
546: bsr check_ext
547: lea.l 12(sp),sp
548: ; compare FP6
549: pea.l msg_fail_fp6(pc)
1.1.1.4 ! root 550: pea.l srcdata(pc)
1.1 root 551: fmove.x fp6,(a2)
552: pea.l (a2)
553: bsr check_ext
554: lea.l 12(sp),sp
555: ; compare FP7
556: pea.l msg_fail_fp7(pc)
557: pea.l (initdata+7*12)(pc)
558: fmove.x fp7,(a2)
559: pea.l (a2)
560: bsr check_ext
561: lea.l 12(sp),sp
562:
563: tst.l d7
564: bne @f
1.1.1.4 ! root 565: PRINT msg_ok(pc)
1.1 root 566: @@:
567: rts
568:
1.1.1.4 ! root 569: ; to,pred,dyn,EA=d (hard)
! 570: test_7:
! 571: moveq.l #-8,d0
! 572: and.w d5,d0
! 573: PRINT msg_test_7+8(pc,d0.w)
! 574: bsr set_fline
1.1 root 575: moveq.l #0,d7
576: lea.l @f,a3
1.1.1.4 ! root 577: .dc.l $f200c860
1.1 root 578: @@:
1.1.1.4 ! root 579: bsr restore_fline
1.1 root 580: tst.l d7
581: bne @f
1.1.1.4 ! root 582: PRINT msg_fail_notrap(pc)
1.1 root 583: rts
584: @@:
1.1.1.4 ! root 585: PRINT msg_oktrap(pc)
1.1 root 586: rts
587:
1.1.1.4 ! root 588: ; to,pred,dyn,EA=a (hard)
! 589: test_8:
! 590: moveq.l #-8,d0
! 591: and.w d5,d0
! 592: PRINT msg_test_8+8(pc,d0.w)
! 593: bsr set_fline
1.1 root 594: moveq.l #0,d7
595: lea.l @f,a3
1.1.1.4 ! root 596: .dc.l $f208c860
1.1 root 597: @@:
1.1.1.4 ! root 598: bsr restore_fline
1.1 root 599: tst.l d7
600: bne @f
1.1.1.4 ! root 601: PRINT msg_fail_notrap(pc)
1.1 root 602: rts
603: @@:
1.1.1.4 ! root 604: PRINT msg_oktrap(pc)
1.1 root 605: rts
606:
1.1.1.4 ! root 607: ; to,pred,dyn,EA=m (hard)
! 608: test_9:
! 609: moveq.l #-8,d0
! 610: and.w d5,d0
! 611: PRINT msg_test_9+8(pc,d0.w)
! 612: bsr init_from
1.1 root 613: lea.l srcdata(pc),a0
1.1.1.4 ! root 614: bsr set_fline
1.1 root 615: moveq.l #0,d7
616: lea.l @f,a3
1.1.1.4 ! root 617: .dc.l $f210c860
1.1 root 618: @@:
1.1.1.4 ! root 619: bsr restore_fline
1.1 root 620: tst.l d7
621: beq @f
1.1.1.4 ! root 622: PRINT msg_fail_trap(pc)
1.1 root 623: rts
624: @@:
1.1.1.4 ! root 625: lea.l srcdata(pc),a1
1.1 root 626: cmp.l a1,a0
627: beq @f
628: pea.l msg_fail_addr(pc)
629: move.l a1,-(sp)
630: move.l a0,-(sp)
631: bsr result
632: lea.l 12(sp),sp
633: @@:
634: lea.l workarea(pc),a2
635: ; compare FP0
636: pea.l msg_fail_fp0(pc)
637: pea.l (initdata+0*12)(pc)
638: fmove.x fp0,(a2)
639: pea.l (a2)
640: bsr check_ext
641: lea.l 12(sp),sp
642: ; compare FP1
643: pea.l msg_fail_fp1(pc)
1.1.1.4 ! root 644: pea.l (initdata+1*12)(pc)
1.1 root 645: fmove.x fp1,(a2)
646: pea.l (a2)
647: bsr check_ext
648: lea.l 12(sp),sp
649: ; compare FP2
650: pea.l msg_fail_fp2(pc)
1.1.1.4 ! root 651: pea.l (initdata+2*12)(pc)
1.1 root 652: fmove.x fp2,(a2)
653: pea.l (a2)
654: bsr check_ext
655: lea.l 12(sp),sp
656: ; compare FP3
657: pea.l msg_fail_fp3(pc)
658: pea.l (initdata+3*12)(pc)
659: fmove.x fp3,(a2)
660: pea.l (a2)
661: bsr check_ext
662: lea.l 12(sp),sp
663: ; compare FP4
664: pea.l msg_fail_fp4(pc)
1.1.1.4 ! root 665: pea.l srcdata+12(pc)
1.1 root 666: fmove.x fp4,(a2)
667: pea.l (a2)
668: bsr check_ext
669: lea.l 12(sp),sp
670: ; compare FP5
671: pea.l msg_fail_fp5(pc)
1.1.1.4 ! root 672: pea.l srcdata(pc)
1.1 root 673: fmove.x fp5,(a2)
674: pea.l (a2)
675: bsr check_ext
676: lea.l 12(sp),sp
677: ; compare FP6
678: pea.l msg_fail_fp6(pc)
679: pea.l (initdata+6*12)(pc)
680: fmove.x fp6,(a2)
681: pea.l (a2)
682: bsr check_ext
683: lea.l 12(sp),sp
684: ; compare FP7
685: pea.l msg_fail_fp7(pc)
686: pea.l (initdata+7*12)(pc)
687: fmove.x fp7,(a2)
688: pea.l (a2)
689: bsr check_ext
690: lea.l 12(sp),sp
1.1.1.4 ! root 691:
1.1 root 692: tst.l d7
693: bne @f
1.1.1.4 ! root 694: PRINT msg_ok(pc)
1.1 root 695: @@:
696: rts
697:
1.1.1.4 ! root 698: ; to,pred,dyn,EA=+ (hard)
! 699: test_10:
! 700: moveq.l #-8,d0
! 701: and.w d5,d0
! 702: PRINT msg_test_10+8(pc,d0.w)
! 703: bsr init_from
1.1 root 704: lea.l srcdata(pc),a0
1.1.1.4 ! root 705: bsr set_fline
1.1 root 706: moveq.l #0,d7
707: lea.l @f,a3
1.1.1.4 ! root 708: .dc.l $f218c860
1.1 root 709: @@:
1.1.1.4 ! root 710: bsr restore_fline
1.1 root 711: tst.l d7
712: beq @f
1.1.1.4 ! root 713: PRINT msg_fail_trap(pc)
1.1 root 714: rts
715: @@:
716: lea.l srcdata+24(pc),a1
717: cmp.l a1,a0
718: beq @f
719: pea.l msg_fail_addr(pc)
720: move.l a1,-(sp)
721: move.l a0,-(sp)
722: bsr result
723: lea.l 12(sp),sp
724: @@:
725: lea.l workarea(pc),a2
726: ; compare FP0
727: pea.l msg_fail_fp0(pc)
728: pea.l (initdata+0*12)(pc)
729: fmove.x fp0,(a2)
730: pea.l (a2)
731: bsr check_ext
732: lea.l 12(sp),sp
733: ; compare FP1
734: pea.l msg_fail_fp1(pc)
1.1.1.4 ! root 735: pea.l (initdata+1*12)(pc)
1.1 root 736: fmove.x fp1,(a2)
737: pea.l (a2)
738: bsr check_ext
739: lea.l 12(sp),sp
740: ; compare FP2
741: pea.l msg_fail_fp2(pc)
1.1.1.4 ! root 742: pea.l (initdata+2*12)(pc)
1.1 root 743: fmove.x fp2,(a2)
744: pea.l (a2)
745: bsr check_ext
746: lea.l 12(sp),sp
747: ; compare FP3
748: pea.l msg_fail_fp3(pc)
749: pea.l (initdata+3*12)(pc)
750: fmove.x fp3,(a2)
751: pea.l (a2)
752: bsr check_ext
753: lea.l 12(sp),sp
754: ; compare FP4
755: pea.l msg_fail_fp4(pc)
1.1.1.4 ! root 756: pea.l srcdata+12(pc)
1.1 root 757: fmove.x fp4,(a2)
758: pea.l (a2)
759: bsr check_ext
760: lea.l 12(sp),sp
761: ; compare FP5
762: pea.l msg_fail_fp5(pc)
1.1.1.4 ! root 763: pea.l srcdata(pc)
1.1 root 764: fmove.x fp5,(a2)
765: pea.l (a2)
766: bsr check_ext
767: lea.l 12(sp),sp
768: ; compare FP6
769: pea.l msg_fail_fp6(pc)
770: pea.l (initdata+6*12)(pc)
771: fmove.x fp6,(a2)
772: pea.l (a2)
773: bsr check_ext
774: lea.l 12(sp),sp
775: ; compare FP7
776: pea.l msg_fail_fp7(pc)
777: pea.l (initdata+7*12)(pc)
778: fmove.x fp7,(a2)
779: pea.l (a2)
780: bsr check_ext
781: lea.l 12(sp),sp
782:
783: tst.l d7
784: bne @f
1.1.1.4 ! root 785: PRINT msg_ok(pc)
1.1 root 786: @@:
787: rts
788:
1.1.1.4 ! root 789: ; to,pred,dyn,EA=- (hard)
! 790: test_11:
! 791: moveq.l #-8,d0
! 792: and.w d5,d0
! 793: PRINT msg_test_11+8(pc,d0.w)
! 794: bsr set_fline
1.1 root 795: moveq.l #0,d7
796: lea.l @f,a3
1.1.1.4 ! root 797: .dc.l $f220c860
1.1 root 798: @@:
1.1.1.4 ! root 799: bsr restore_fline
1.1 root 800: tst.l d7
801: bne @f
1.1.1.4 ! root 802: PRINT msg_fail_notrap(pc)
1.1 root 803: rts
804: @@:
1.1.1.4 ! root 805: PRINT msg_oktrap(pc)
1.1 root 806: rts
807:
1.1.1.4 ! root 808: ; to,pred,dyn,EA=r (hard)
! 809: test_12:
! 810: moveq.l #-8,d0
! 811: and.w d5,d0
! 812: PRINT msg_test_12+8(pc,d0.w)
! 813: bsr init_from
1.1 root 814: lea.l srcdata(pc),a0
1.1.1.4 ! root 815: bsr set_fline
1.1 root 816: moveq.l #0,d7
817: lea.l @f,a3
1.1.1.4 ! root 818: .dc.l $f228c860
! 819: .dc.w 0
1.1 root 820: @@:
1.1.1.4 ! root 821: bsr restore_fline
1.1 root 822: tst.l d7
823: beq @f
1.1.1.4 ! root 824: PRINT msg_fail_trap(pc)
1.1 root 825: rts
826: @@:
1.1.1.4 ! root 827: lea.l srcdata(pc),a1
1.1 root 828: cmp.l a1,a0
829: beq @f
830: pea.l msg_fail_addr(pc)
831: move.l a1,-(sp)
832: move.l a0,-(sp)
833: bsr result
834: lea.l 12(sp),sp
835: @@:
836: lea.l workarea(pc),a2
837: ; compare FP0
838: pea.l msg_fail_fp0(pc)
839: pea.l (initdata+0*12)(pc)
840: fmove.x fp0,(a2)
841: pea.l (a2)
842: bsr check_ext
843: lea.l 12(sp),sp
844: ; compare FP1
845: pea.l msg_fail_fp1(pc)
846: pea.l (initdata+1*12)(pc)
847: fmove.x fp1,(a2)
848: pea.l (a2)
849: bsr check_ext
850: lea.l 12(sp),sp
851: ; compare FP2
852: pea.l msg_fail_fp2(pc)
1.1.1.4 ! root 853: pea.l (initdata+2*12)(pc)
1.1 root 854: fmove.x fp2,(a2)
855: pea.l (a2)
856: bsr check_ext
857: lea.l 12(sp),sp
858: ; compare FP3
859: pea.l msg_fail_fp3(pc)
1.1.1.4 ! root 860: pea.l (initdata+3*12)(pc)
1.1 root 861: fmove.x fp3,(a2)
862: pea.l (a2)
863: bsr check_ext
864: lea.l 12(sp),sp
865: ; compare FP4
866: pea.l msg_fail_fp4(pc)
1.1.1.4 ! root 867: pea.l srcdata+12(pc)
1.1 root 868: fmove.x fp4,(a2)
869: pea.l (a2)
870: bsr check_ext
871: lea.l 12(sp),sp
872: ; compare FP5
873: pea.l msg_fail_fp5(pc)
1.1.1.4 ! root 874: pea.l srcdata(pc)
1.1 root 875: fmove.x fp5,(a2)
876: pea.l (a2)
877: bsr check_ext
878: lea.l 12(sp),sp
879: ; compare FP6
880: pea.l msg_fail_fp6(pc)
881: pea.l (initdata+6*12)(pc)
882: fmove.x fp6,(a2)
883: pea.l (a2)
884: bsr check_ext
885: lea.l 12(sp),sp
886: ; compare FP7
887: pea.l msg_fail_fp7(pc)
888: pea.l (initdata+7*12)(pc)
889: fmove.x fp7,(a2)
890: pea.l (a2)
891: bsr check_ext
892: lea.l 12(sp),sp
1.1.1.4 ! root 893:
1.1 root 894: tst.l d7
895: bne @f
1.1.1.4 ! root 896: PRINT msg_ok(pc)
1.1 root 897: @@:
898: rts
899:
1.1.1.4 ! root 900: ; to,pred,dyn,EA=x (hard)
! 901: test_13:
! 902: moveq.l #-8,d0
! 903: and.w d5,d0
! 904: PRINT msg_test_13+8(pc,d0.w)
! 905: bsr init_from
1.1 root 906: lea.l srcdata(pc),a0
1.1.1.4 ! root 907: bsr set_fline
1.1 root 908: moveq.l #0,d7
909: lea.l @f,a3
1.1.1.4 ! root 910: .dc.l $f230c860
! 911: .dc.w $4000
1.1 root 912: @@:
1.1.1.4 ! root 913: bsr restore_fline
1.1 root 914: tst.l d7
915: beq @f
1.1.1.4 ! root 916: PRINT msg_fail_trap(pc)
1.1 root 917: rts
918: @@:
1.1.1.4 ! root 919: lea.l srcdata(pc),a1
1.1 root 920: cmp.l a1,a0
921: beq @f
922: pea.l msg_fail_addr(pc)
923: move.l a1,-(sp)
924: move.l a0,-(sp)
925: bsr result
926: lea.l 12(sp),sp
927: @@:
928: lea.l workarea(pc),a2
929: ; compare FP0
930: pea.l msg_fail_fp0(pc)
931: pea.l (initdata+0*12)(pc)
932: fmove.x fp0,(a2)
933: pea.l (a2)
934: bsr check_ext
935: lea.l 12(sp),sp
936: ; compare FP1
937: pea.l msg_fail_fp1(pc)
938: pea.l (initdata+1*12)(pc)
939: fmove.x fp1,(a2)
940: pea.l (a2)
941: bsr check_ext
942: lea.l 12(sp),sp
943: ; compare FP2
944: pea.l msg_fail_fp2(pc)
1.1.1.4 ! root 945: pea.l (initdata+2*12)(pc)
1.1 root 946: fmove.x fp2,(a2)
947: pea.l (a2)
948: bsr check_ext
949: lea.l 12(sp),sp
950: ; compare FP3
951: pea.l msg_fail_fp3(pc)
1.1.1.4 ! root 952: pea.l (initdata+3*12)(pc)
1.1 root 953: fmove.x fp3,(a2)
954: pea.l (a2)
955: bsr check_ext
956: lea.l 12(sp),sp
957: ; compare FP4
958: pea.l msg_fail_fp4(pc)
1.1.1.4 ! root 959: pea.l srcdata+12(pc)
1.1 root 960: fmove.x fp4,(a2)
961: pea.l (a2)
962: bsr check_ext
963: lea.l 12(sp),sp
964: ; compare FP5
965: pea.l msg_fail_fp5(pc)
1.1.1.4 ! root 966: pea.l srcdata(pc)
1.1 root 967: fmove.x fp5,(a2)
968: pea.l (a2)
969: bsr check_ext
970: lea.l 12(sp),sp
971: ; compare FP6
972: pea.l msg_fail_fp6(pc)
973: pea.l (initdata+6*12)(pc)
974: fmove.x fp6,(a2)
975: pea.l (a2)
976: bsr check_ext
977: lea.l 12(sp),sp
978: ; compare FP7
979: pea.l msg_fail_fp7(pc)
980: pea.l (initdata+7*12)(pc)
981: fmove.x fp7,(a2)
982: pea.l (a2)
983: bsr check_ext
984: lea.l 12(sp),sp
985:
986: tst.l d7
987: bne @f
1.1.1.4 ! root 988: PRINT msg_ok(pc)
1.1 root 989: @@:
990: rts
991:
1.1.1.4 ! root 992: ; to,ctrl,sta,EA=d (hard)
! 993: test_14:
! 994: moveq.l #-8,d0
! 995: and.w d5,d0
! 996: PRINT msg_test_14+8(pc,d0.w)
! 997: bsr set_fline
1.1 root 998: moveq.l #0,d7
999: lea.l @f,a3
1.1.1.4 ! root 1000: .dc.l $f200d060
1.1 root 1001: @@:
1.1.1.4 ! root 1002: bsr restore_fline
1.1 root 1003: tst.l d7
1004: bne @f
1.1.1.4 ! root 1005: PRINT msg_fail_notrap(pc)
1.1 root 1006: rts
1007: @@:
1.1.1.4 ! root 1008: PRINT msg_oktrap(pc)
1.1 root 1009: rts
1010:
1.1.1.4 ! root 1011: ; to,ctrl,sta,EA=a (hard)
! 1012: test_15:
! 1013: moveq.l #-8,d0
! 1014: and.w d5,d0
! 1015: PRINT msg_test_15+8(pc,d0.w)
! 1016: bsr set_fline
1.1 root 1017: moveq.l #0,d7
1018: lea.l @f,a3
1.1.1.4 ! root 1019: .dc.l $f208d060
1.1 root 1020: @@:
1.1.1.4 ! root 1021: bsr restore_fline
1.1 root 1022: tst.l d7
1023: bne @f
1.1.1.4 ! root 1024: PRINT msg_fail_notrap(pc)
1.1 root 1025: rts
1026: @@:
1.1.1.4 ! root 1027: PRINT msg_oktrap(pc)
1.1 root 1028: rts
1029:
1.1.1.4 ! root 1030: ; to,ctrl,sta,EA=m
! 1031: test_16:
! 1032: moveq.l #-8,d0
! 1033: and.w d5,d0
! 1034: PRINT msg_test_16+8(pc,d0.w)
! 1035: bsr init_from
! 1036: lea.l srcdata(pc),a0
! 1037: bsr set_fline
1.1 root 1038: moveq.l #0,d7
1039: lea.l @f,a3
1.1.1.4 ! root 1040: .dc.l $f210d060
1.1 root 1041: @@:
1.1.1.4 ! root 1042: bsr restore_fline
1.1 root 1043: tst.l d7
1044: beq @f
1.1.1.4 ! root 1045: PRINT msg_fail_trap(pc)
1.1 root 1046: rts
1047: @@:
1.1.1.4 ! root 1048: lea.l srcdata(pc),a1
1.1 root 1049: cmp.l a1,a0
1050: beq @f
1051: pea.l msg_fail_addr(pc)
1052: move.l a1,-(sp)
1053: move.l a0,-(sp)
1054: bsr result
1055: lea.l 12(sp),sp
1056: @@:
1.1.1.4 ! root 1057: lea.l workarea(pc),a2
! 1058: ; compare FP0
! 1059: pea.l msg_fail_fp0(pc)
! 1060: pea.l (initdata+0*12)(pc)
! 1061: fmove.x fp0,(a2)
! 1062: pea.l (a2)
1.1 root 1063: bsr check_ext
1064: lea.l 12(sp),sp
1.1.1.4 ! root 1065: ; compare FP1
! 1066: pea.l msg_fail_fp1(pc)
! 1067: pea.l srcdata(pc)
! 1068: fmove.x fp1,(a2)
! 1069: pea.l (a2)
! 1070: bsr check_ext
! 1071: lea.l 12(sp),sp
! 1072: ; compare FP2
! 1073: pea.l msg_fail_fp2(pc)
! 1074: pea.l srcdata+12(pc)
! 1075: fmove.x fp2,(a2)
! 1076: pea.l (a2)
! 1077: bsr check_ext
! 1078: lea.l 12(sp),sp
! 1079: ; compare FP3
! 1080: pea.l msg_fail_fp3(pc)
! 1081: pea.l (initdata+3*12)(pc)
! 1082: fmove.x fp3,(a2)
! 1083: pea.l (a2)
! 1084: bsr check_ext
! 1085: lea.l 12(sp),sp
! 1086: ; compare FP4
! 1087: pea.l msg_fail_fp4(pc)
! 1088: pea.l (initdata+4*12)(pc)
! 1089: fmove.x fp4,(a2)
! 1090: pea.l (a2)
! 1091: bsr check_ext
! 1092: lea.l 12(sp),sp
! 1093: ; compare FP5
! 1094: pea.l msg_fail_fp5(pc)
1.1 root 1095: pea.l (initdata+5*12)(pc)
1.1.1.4 ! root 1096: fmove.x fp5,(a2)
! 1097: pea.l (a2)
! 1098: bsr check_ext
! 1099: lea.l 12(sp),sp
! 1100: ; compare FP6
! 1101: pea.l msg_fail_fp6(pc)
! 1102: pea.l (initdata+6*12)(pc)
! 1103: fmove.x fp6,(a2)
! 1104: pea.l (a2)
! 1105: bsr check_ext
! 1106: lea.l 12(sp),sp
! 1107: ; compare FP7
! 1108: pea.l msg_fail_fp7(pc)
! 1109: pea.l (initdata+7*12)(pc)
! 1110: fmove.x fp7,(a2)
! 1111: pea.l (a2)
1.1 root 1112: bsr check_ext
1113: lea.l 12(sp),sp
1114:
1115: tst.l d7
1116: bne @f
1.1.1.4 ! root 1117: PRINT msg_ok(pc)
1.1 root 1118: @@:
1119: rts
1120:
1.1.1.4 ! root 1121: ; to,ctrl,sta,EA=+
! 1122: test_17:
! 1123: moveq.l #-8,d0
! 1124: and.w d5,d0
! 1125: PRINT msg_test_17+8(pc,d0.w)
! 1126: bsr init_from
! 1127: lea.l srcdata(pc),a0
! 1128: bsr set_fline
1.1 root 1129: moveq.l #0,d7
1130: lea.l @f,a3
1.1.1.4 ! root 1131: .dc.l $f218d060
1.1 root 1132: @@:
1.1.1.4 ! root 1133: bsr restore_fline
1.1 root 1134: tst.l d7
1.1.1.4 ! root 1135: beq @f
! 1136: PRINT msg_fail_trap(pc)
1.1 root 1137: rts
1138: @@:
1.1.1.4 ! root 1139: lea.l srcdata+24(pc),a1
! 1140: cmp.l a1,a0
! 1141: beq @f
! 1142: pea.l msg_fail_addr(pc)
! 1143: move.l a1,-(sp)
! 1144: move.l a0,-(sp)
! 1145: bsr result
! 1146: lea.l 12(sp),sp
! 1147: @@:
! 1148: lea.l workarea(pc),a2
! 1149: ; compare FP0
! 1150: pea.l msg_fail_fp0(pc)
! 1151: pea.l (initdata+0*12)(pc)
! 1152: fmove.x fp0,(a2)
! 1153: pea.l (a2)
! 1154: bsr check_ext
! 1155: lea.l 12(sp),sp
! 1156: ; compare FP1
! 1157: pea.l msg_fail_fp1(pc)
! 1158: pea.l srcdata(pc)
! 1159: fmove.x fp1,(a2)
! 1160: pea.l (a2)
! 1161: bsr check_ext
! 1162: lea.l 12(sp),sp
! 1163: ; compare FP2
! 1164: pea.l msg_fail_fp2(pc)
! 1165: pea.l srcdata+12(pc)
! 1166: fmove.x fp2,(a2)
! 1167: pea.l (a2)
! 1168: bsr check_ext
! 1169: lea.l 12(sp),sp
! 1170: ; compare FP3
! 1171: pea.l msg_fail_fp3(pc)
! 1172: pea.l (initdata+3*12)(pc)
! 1173: fmove.x fp3,(a2)
! 1174: pea.l (a2)
! 1175: bsr check_ext
! 1176: lea.l 12(sp),sp
! 1177: ; compare FP4
! 1178: pea.l msg_fail_fp4(pc)
! 1179: pea.l (initdata+4*12)(pc)
! 1180: fmove.x fp4,(a2)
! 1181: pea.l (a2)
! 1182: bsr check_ext
! 1183: lea.l 12(sp),sp
! 1184: ; compare FP5
! 1185: pea.l msg_fail_fp5(pc)
! 1186: pea.l (initdata+5*12)(pc)
! 1187: fmove.x fp5,(a2)
! 1188: pea.l (a2)
! 1189: bsr check_ext
! 1190: lea.l 12(sp),sp
! 1191: ; compare FP6
! 1192: pea.l msg_fail_fp6(pc)
! 1193: pea.l (initdata+6*12)(pc)
! 1194: fmove.x fp6,(a2)
! 1195: pea.l (a2)
! 1196: bsr check_ext
! 1197: lea.l 12(sp),sp
! 1198: ; compare FP7
! 1199: pea.l msg_fail_fp7(pc)
! 1200: pea.l (initdata+7*12)(pc)
! 1201: fmove.x fp7,(a2)
! 1202: pea.l (a2)
! 1203: bsr check_ext
! 1204: lea.l 12(sp),sp
! 1205:
! 1206: tst.l d7
! 1207: bne @f
! 1208: PRINT msg_ok(pc)
! 1209: @@:
! 1210: rts
! 1211:
! 1212: ; to,ctrl,sta,EA=- (hard)
! 1213: test_18:
! 1214: moveq.l #-8,d0
! 1215: and.w d5,d0
! 1216: PRINT msg_test_18+8(pc,d0.w)
! 1217: bsr set_fline
! 1218: moveq.l #0,d7
! 1219: lea.l @f,a3
! 1220: .dc.l $f220d060
! 1221: @@:
! 1222: bsr restore_fline
! 1223: tst.l d7
! 1224: bne @f
! 1225: PRINT msg_fail_notrap(pc)
! 1226: rts
! 1227: @@:
! 1228: PRINT msg_oktrap(pc)
! 1229: rts
! 1230:
! 1231: ; to,ctrl,sta,EA=r
! 1232: test_19:
! 1233: moveq.l #-8,d0
! 1234: and.w d5,d0
! 1235: PRINT msg_test_19+8(pc,d0.w)
! 1236: bsr init_from
! 1237: lea.l srcdata(pc),a0
! 1238: bsr set_fline
! 1239: moveq.l #0,d7
! 1240: lea.l @f,a3
! 1241: .dc.l $f228d060
! 1242: .dc.w 0
! 1243: @@:
! 1244: bsr restore_fline
! 1245: tst.l d7
! 1246: beq @f
! 1247: PRINT msg_fail_trap(pc)
! 1248: rts
! 1249: @@:
! 1250: lea.l srcdata(pc),a1
! 1251: cmp.l a1,a0
! 1252: beq @f
! 1253: pea.l msg_fail_addr(pc)
! 1254: move.l a1,-(sp)
! 1255: move.l a0,-(sp)
! 1256: bsr result
! 1257: lea.l 12(sp),sp
! 1258: @@:
! 1259: lea.l workarea(pc),a2
! 1260: ; compare FP0
! 1261: pea.l msg_fail_fp0(pc)
! 1262: pea.l (initdata+0*12)(pc)
! 1263: fmove.x fp0,(a2)
! 1264: pea.l (a2)
! 1265: bsr check_ext
! 1266: lea.l 12(sp),sp
! 1267: ; compare FP1
! 1268: pea.l msg_fail_fp1(pc)
! 1269: pea.l srcdata(pc)
! 1270: fmove.x fp1,(a2)
! 1271: pea.l (a2)
! 1272: bsr check_ext
! 1273: lea.l 12(sp),sp
! 1274: ; compare FP2
! 1275: pea.l msg_fail_fp2(pc)
! 1276: pea.l srcdata+12(pc)
! 1277: fmove.x fp2,(a2)
! 1278: pea.l (a2)
! 1279: bsr check_ext
! 1280: lea.l 12(sp),sp
! 1281: ; compare FP3
! 1282: pea.l msg_fail_fp3(pc)
! 1283: pea.l (initdata+3*12)(pc)
! 1284: fmove.x fp3,(a2)
! 1285: pea.l (a2)
! 1286: bsr check_ext
! 1287: lea.l 12(sp),sp
! 1288: ; compare FP4
! 1289: pea.l msg_fail_fp4(pc)
! 1290: pea.l (initdata+4*12)(pc)
! 1291: fmove.x fp4,(a2)
! 1292: pea.l (a2)
! 1293: bsr check_ext
! 1294: lea.l 12(sp),sp
! 1295: ; compare FP5
! 1296: pea.l msg_fail_fp5(pc)
! 1297: pea.l (initdata+5*12)(pc)
! 1298: fmove.x fp5,(a2)
! 1299: pea.l (a2)
! 1300: bsr check_ext
! 1301: lea.l 12(sp),sp
! 1302: ; compare FP6
! 1303: pea.l msg_fail_fp6(pc)
! 1304: pea.l (initdata+6*12)(pc)
! 1305: fmove.x fp6,(a2)
! 1306: pea.l (a2)
! 1307: bsr check_ext
! 1308: lea.l 12(sp),sp
! 1309: ; compare FP7
! 1310: pea.l msg_fail_fp7(pc)
! 1311: pea.l (initdata+7*12)(pc)
! 1312: fmove.x fp7,(a2)
! 1313: pea.l (a2)
! 1314: bsr check_ext
! 1315: lea.l 12(sp),sp
! 1316:
! 1317: tst.l d7
! 1318: bne @f
! 1319: PRINT msg_ok(pc)
! 1320: @@:
! 1321: rts
! 1322:
! 1323: ; to,ctrl,sta,EA=x
! 1324: test_20:
! 1325: moveq.l #-8,d0
! 1326: and.w d5,d0
! 1327: PRINT msg_test_20+8(pc,d0.w)
! 1328: bsr init_from
! 1329: lea.l srcdata(pc),a0
! 1330: bsr set_fline
! 1331: moveq.l #0,d7
! 1332: lea.l @f,a3
! 1333: .dc.l $f230d060
! 1334: .dc.w $4000
! 1335: @@:
! 1336: bsr restore_fline
! 1337: tst.l d7
! 1338: beq @f
! 1339: PRINT msg_fail_trap(pc)
! 1340: rts
! 1341: @@:
! 1342: lea.l srcdata(pc),a1
! 1343: cmp.l a1,a0
! 1344: beq @f
! 1345: pea.l msg_fail_addr(pc)
! 1346: move.l a1,-(sp)
! 1347: move.l a0,-(sp)
! 1348: bsr result
! 1349: lea.l 12(sp),sp
! 1350: @@:
! 1351: lea.l workarea(pc),a2
! 1352: ; compare FP0
! 1353: pea.l msg_fail_fp0(pc)
! 1354: pea.l (initdata+0*12)(pc)
! 1355: fmove.x fp0,(a2)
! 1356: pea.l (a2)
! 1357: bsr check_ext
! 1358: lea.l 12(sp),sp
! 1359: ; compare FP1
! 1360: pea.l msg_fail_fp1(pc)
! 1361: pea.l srcdata(pc)
! 1362: fmove.x fp1,(a2)
! 1363: pea.l (a2)
! 1364: bsr check_ext
! 1365: lea.l 12(sp),sp
! 1366: ; compare FP2
! 1367: pea.l msg_fail_fp2(pc)
! 1368: pea.l srcdata+12(pc)
! 1369: fmove.x fp2,(a2)
! 1370: pea.l (a2)
! 1371: bsr check_ext
! 1372: lea.l 12(sp),sp
! 1373: ; compare FP3
! 1374: pea.l msg_fail_fp3(pc)
! 1375: pea.l (initdata+3*12)(pc)
! 1376: fmove.x fp3,(a2)
! 1377: pea.l (a2)
! 1378: bsr check_ext
! 1379: lea.l 12(sp),sp
! 1380: ; compare FP4
! 1381: pea.l msg_fail_fp4(pc)
! 1382: pea.l (initdata+4*12)(pc)
! 1383: fmove.x fp4,(a2)
! 1384: pea.l (a2)
! 1385: bsr check_ext
! 1386: lea.l 12(sp),sp
! 1387: ; compare FP5
! 1388: pea.l msg_fail_fp5(pc)
! 1389: pea.l (initdata+5*12)(pc)
! 1390: fmove.x fp5,(a2)
! 1391: pea.l (a2)
! 1392: bsr check_ext
! 1393: lea.l 12(sp),sp
! 1394: ; compare FP6
! 1395: pea.l msg_fail_fp6(pc)
! 1396: pea.l (initdata+6*12)(pc)
! 1397: fmove.x fp6,(a2)
! 1398: pea.l (a2)
! 1399: bsr check_ext
! 1400: lea.l 12(sp),sp
! 1401: ; compare FP7
! 1402: pea.l msg_fail_fp7(pc)
! 1403: pea.l (initdata+7*12)(pc)
! 1404: fmove.x fp7,(a2)
! 1405: pea.l (a2)
! 1406: bsr check_ext
! 1407: lea.l 12(sp),sp
! 1408:
! 1409: tst.l d7
! 1410: bne @f
! 1411: PRINT msg_ok(pc)
! 1412: @@:
! 1413: rts
! 1414:
! 1415: ; to,ctrl,dyn,EA=d (hard)
! 1416: test_21:
! 1417: moveq.l #-8,d0
! 1418: and.w d5,d0
! 1419: PRINT msg_test_21+8(pc,d0.w)
! 1420: bsr set_fline
! 1421: moveq.l #0,d7
! 1422: lea.l @f,a3
! 1423: .dc.l $f200d860
! 1424: @@:
! 1425: bsr restore_fline
! 1426: tst.l d7
! 1427: bne @f
! 1428: PRINT msg_fail_notrap(pc)
! 1429: rts
! 1430: @@:
! 1431: PRINT msg_oktrap(pc)
! 1432: rts
! 1433:
! 1434: ; to,ctrl,dyn,EA=a (hard)
! 1435: test_22:
! 1436: moveq.l #-8,d0
! 1437: and.w d5,d0
! 1438: PRINT msg_test_22+8(pc,d0.w)
! 1439: bsr set_fline
! 1440: moveq.l #0,d7
! 1441: lea.l @f,a3
! 1442: .dc.l $f208d860
! 1443: @@:
! 1444: bsr restore_fline
! 1445: tst.l d7
! 1446: bne @f
! 1447: PRINT msg_fail_notrap(pc)
! 1448: rts
! 1449: @@:
! 1450: PRINT msg_oktrap(pc)
! 1451: rts
! 1452:
! 1453: ; to,ctrl,dyn,EA=m
! 1454: test_23:
! 1455: moveq.l #-8,d0
! 1456: and.w d5,d0
! 1457: PRINT msg_test_23+8(pc,d0.w)
! 1458: bsr init_from
! 1459: lea.l srcdata(pc),a0
! 1460: bsr set_fline
! 1461: moveq.l #0,d7
! 1462: lea.l @f,a3
! 1463: .dc.l $f210d860
! 1464: @@:
! 1465: bsr restore_fline
! 1466: tst.l d7
! 1467: beq @f
! 1468: PRINT msg_fail_trap(pc)
! 1469: rts
! 1470: @@:
! 1471: lea.l srcdata(pc),a1
! 1472: cmp.l a1,a0
! 1473: beq @f
! 1474: pea.l msg_fail_addr(pc)
! 1475: move.l a1,-(sp)
! 1476: move.l a0,-(sp)
! 1477: bsr result
! 1478: lea.l 12(sp),sp
! 1479: @@:
! 1480: lea.l workarea(pc),a2
! 1481: ; compare FP0
! 1482: pea.l msg_fail_fp0(pc)
! 1483: pea.l (initdata+0*12)(pc)
! 1484: fmove.x fp0,(a2)
! 1485: pea.l (a2)
! 1486: bsr check_ext
! 1487: lea.l 12(sp),sp
! 1488: ; compare FP1
! 1489: pea.l msg_fail_fp1(pc)
! 1490: pea.l (initdata+1*12)(pc)
! 1491: fmove.x fp1,(a2)
! 1492: pea.l (a2)
! 1493: bsr check_ext
! 1494: lea.l 12(sp),sp
! 1495: ; compare FP2
! 1496: pea.l msg_fail_fp2(pc)
! 1497: pea.l srcdata(pc)
! 1498: fmove.x fp2,(a2)
! 1499: pea.l (a2)
! 1500: bsr check_ext
! 1501: lea.l 12(sp),sp
! 1502: ; compare FP3
! 1503: pea.l msg_fail_fp3(pc)
! 1504: pea.l srcdata+12(pc)
! 1505: fmove.x fp3,(a2)
! 1506: pea.l (a2)
! 1507: bsr check_ext
! 1508: lea.l 12(sp),sp
! 1509: ; compare FP4
! 1510: pea.l msg_fail_fp4(pc)
! 1511: pea.l (initdata+4*12)(pc)
! 1512: fmove.x fp4,(a2)
! 1513: pea.l (a2)
! 1514: bsr check_ext
! 1515: lea.l 12(sp),sp
! 1516: ; compare FP5
! 1517: pea.l msg_fail_fp5(pc)
! 1518: pea.l (initdata+5*12)(pc)
! 1519: fmove.x fp5,(a2)
! 1520: pea.l (a2)
! 1521: bsr check_ext
! 1522: lea.l 12(sp),sp
! 1523: ; compare FP6
! 1524: pea.l msg_fail_fp6(pc)
! 1525: pea.l (initdata+6*12)(pc)
! 1526: fmove.x fp6,(a2)
! 1527: pea.l (a2)
! 1528: bsr check_ext
! 1529: lea.l 12(sp),sp
! 1530: ; compare FP7
! 1531: pea.l msg_fail_fp7(pc)
! 1532: pea.l (initdata+7*12)(pc)
! 1533: fmove.x fp7,(a2)
! 1534: pea.l (a2)
! 1535: bsr check_ext
! 1536: lea.l 12(sp),sp
! 1537:
! 1538: tst.l d7
! 1539: bne @f
! 1540: PRINT msg_ok(pc)
! 1541: @@:
! 1542: rts
! 1543:
! 1544: ; to,ctrl,dyn,EA=+
! 1545: test_24:
! 1546: moveq.l #-8,d0
! 1547: and.w d5,d0
! 1548: PRINT msg_test_24+8(pc,d0.w)
! 1549: bsr init_from
! 1550: lea.l srcdata(pc),a0
! 1551: bsr set_fline
! 1552: moveq.l #0,d7
! 1553: lea.l @f,a3
! 1554: .dc.l $f218d860
! 1555: @@:
! 1556: bsr restore_fline
! 1557: tst.l d7
! 1558: beq @f
! 1559: PRINT msg_fail_trap(pc)
! 1560: rts
! 1561: @@:
! 1562: lea.l srcdata+24(pc),a1
! 1563: cmp.l a1,a0
! 1564: beq @f
! 1565: pea.l msg_fail_addr(pc)
! 1566: move.l a1,-(sp)
! 1567: move.l a0,-(sp)
! 1568: bsr result
! 1569: lea.l 12(sp),sp
! 1570: @@:
! 1571: lea.l workarea(pc),a2
! 1572: ; compare FP0
! 1573: pea.l msg_fail_fp0(pc)
! 1574: pea.l (initdata+0*12)(pc)
! 1575: fmove.x fp0,(a2)
! 1576: pea.l (a2)
! 1577: bsr check_ext
! 1578: lea.l 12(sp),sp
! 1579: ; compare FP1
! 1580: pea.l msg_fail_fp1(pc)
! 1581: pea.l (initdata+1*12)(pc)
! 1582: fmove.x fp1,(a2)
! 1583: pea.l (a2)
! 1584: bsr check_ext
! 1585: lea.l 12(sp),sp
! 1586: ; compare FP2
! 1587: pea.l msg_fail_fp2(pc)
! 1588: pea.l srcdata(pc)
! 1589: fmove.x fp2,(a2)
! 1590: pea.l (a2)
! 1591: bsr check_ext
! 1592: lea.l 12(sp),sp
! 1593: ; compare FP3
! 1594: pea.l msg_fail_fp3(pc)
! 1595: pea.l srcdata+12(pc)
! 1596: fmove.x fp3,(a2)
! 1597: pea.l (a2)
! 1598: bsr check_ext
! 1599: lea.l 12(sp),sp
! 1600: ; compare FP4
! 1601: pea.l msg_fail_fp4(pc)
! 1602: pea.l (initdata+4*12)(pc)
! 1603: fmove.x fp4,(a2)
! 1604: pea.l (a2)
! 1605: bsr check_ext
! 1606: lea.l 12(sp),sp
! 1607: ; compare FP5
! 1608: pea.l msg_fail_fp5(pc)
! 1609: pea.l (initdata+5*12)(pc)
! 1610: fmove.x fp5,(a2)
! 1611: pea.l (a2)
! 1612: bsr check_ext
! 1613: lea.l 12(sp),sp
! 1614: ; compare FP6
! 1615: pea.l msg_fail_fp6(pc)
! 1616: pea.l (initdata+6*12)(pc)
! 1617: fmove.x fp6,(a2)
! 1618: pea.l (a2)
! 1619: bsr check_ext
! 1620: lea.l 12(sp),sp
! 1621: ; compare FP7
! 1622: pea.l msg_fail_fp7(pc)
! 1623: pea.l (initdata+7*12)(pc)
! 1624: fmove.x fp7,(a2)
! 1625: pea.l (a2)
! 1626: bsr check_ext
! 1627: lea.l 12(sp),sp
! 1628:
! 1629: tst.l d7
! 1630: bne @f
! 1631: PRINT msg_ok(pc)
! 1632: @@:
! 1633: rts
! 1634:
! 1635: ; to,ctrl,dyn,EA=- (hard)
! 1636: test_25:
! 1637: moveq.l #-8,d0
! 1638: and.w d5,d0
! 1639: PRINT msg_test_25+8(pc,d0.w)
! 1640: bsr set_fline
! 1641: moveq.l #0,d7
! 1642: lea.l @f,a3
! 1643: .dc.l $f220d860
! 1644: @@:
! 1645: bsr restore_fline
! 1646: tst.l d7
! 1647: bne @f
! 1648: PRINT msg_fail_notrap(pc)
! 1649: rts
! 1650: @@:
! 1651: PRINT msg_oktrap(pc)
! 1652: rts
! 1653:
! 1654: ; to,ctrl,dyn,EA=r
! 1655: test_26:
! 1656: moveq.l #-8,d0
! 1657: and.w d5,d0
! 1658: PRINT msg_test_26+8(pc,d0.w)
! 1659: bsr init_from
! 1660: lea.l srcdata(pc),a0
! 1661: bsr set_fline
! 1662: moveq.l #0,d7
! 1663: lea.l @f,a3
! 1664: .dc.l $f228d860
! 1665: .dc.w 0
! 1666: @@:
! 1667: bsr restore_fline
! 1668: tst.l d7
! 1669: beq @f
! 1670: PRINT msg_fail_trap(pc)
! 1671: rts
! 1672: @@:
! 1673: lea.l srcdata(pc),a1
! 1674: cmp.l a1,a0
! 1675: beq @f
! 1676: pea.l msg_fail_addr(pc)
! 1677: move.l a1,-(sp)
! 1678: move.l a0,-(sp)
! 1679: bsr result
! 1680: lea.l 12(sp),sp
! 1681: @@:
! 1682: lea.l workarea(pc),a2
! 1683: ; compare FP0
! 1684: pea.l msg_fail_fp0(pc)
! 1685: pea.l (initdata+0*12)(pc)
! 1686: fmove.x fp0,(a2)
! 1687: pea.l (a2)
! 1688: bsr check_ext
! 1689: lea.l 12(sp),sp
! 1690: ; compare FP1
! 1691: pea.l msg_fail_fp1(pc)
! 1692: pea.l (initdata+1*12)(pc)
! 1693: fmove.x fp1,(a2)
! 1694: pea.l (a2)
! 1695: bsr check_ext
! 1696: lea.l 12(sp),sp
! 1697: ; compare FP2
! 1698: pea.l msg_fail_fp2(pc)
! 1699: pea.l srcdata(pc)
! 1700: fmove.x fp2,(a2)
! 1701: pea.l (a2)
! 1702: bsr check_ext
! 1703: lea.l 12(sp),sp
! 1704: ; compare FP3
! 1705: pea.l msg_fail_fp3(pc)
! 1706: pea.l srcdata+12(pc)
! 1707: fmove.x fp3,(a2)
! 1708: pea.l (a2)
! 1709: bsr check_ext
! 1710: lea.l 12(sp),sp
! 1711: ; compare FP4
! 1712: pea.l msg_fail_fp4(pc)
! 1713: pea.l (initdata+4*12)(pc)
! 1714: fmove.x fp4,(a2)
! 1715: pea.l (a2)
! 1716: bsr check_ext
! 1717: lea.l 12(sp),sp
! 1718: ; compare FP5
! 1719: pea.l msg_fail_fp5(pc)
! 1720: pea.l (initdata+5*12)(pc)
! 1721: fmove.x fp5,(a2)
! 1722: pea.l (a2)
! 1723: bsr check_ext
! 1724: lea.l 12(sp),sp
! 1725: ; compare FP6
! 1726: pea.l msg_fail_fp6(pc)
! 1727: pea.l (initdata+6*12)(pc)
! 1728: fmove.x fp6,(a2)
! 1729: pea.l (a2)
! 1730: bsr check_ext
! 1731: lea.l 12(sp),sp
! 1732: ; compare FP7
! 1733: pea.l msg_fail_fp7(pc)
! 1734: pea.l (initdata+7*12)(pc)
! 1735: fmove.x fp7,(a2)
! 1736: pea.l (a2)
! 1737: bsr check_ext
! 1738: lea.l 12(sp),sp
! 1739:
! 1740: tst.l d7
! 1741: bne @f
! 1742: PRINT msg_ok(pc)
! 1743: @@:
! 1744: rts
! 1745:
! 1746: ; to,ctrl,dyn,EA=x
! 1747: test_27:
! 1748: moveq.l #-8,d0
! 1749: and.w d5,d0
! 1750: PRINT msg_test_27+8(pc,d0.w)
! 1751: bsr init_from
! 1752: lea.l srcdata(pc),a0
! 1753: bsr set_fline
! 1754: moveq.l #0,d7
! 1755: lea.l @f,a3
! 1756: .dc.l $f230d860
! 1757: .dc.w $4000
! 1758: @@:
! 1759: bsr restore_fline
! 1760: tst.l d7
! 1761: beq @f
! 1762: PRINT msg_fail_trap(pc)
! 1763: rts
! 1764: @@:
! 1765: lea.l srcdata(pc),a1
! 1766: cmp.l a1,a0
! 1767: beq @f
! 1768: pea.l msg_fail_addr(pc)
! 1769: move.l a1,-(sp)
! 1770: move.l a0,-(sp)
! 1771: bsr result
! 1772: lea.l 12(sp),sp
! 1773: @@:
! 1774: lea.l workarea(pc),a2
! 1775: ; compare FP0
! 1776: pea.l msg_fail_fp0(pc)
! 1777: pea.l (initdata+0*12)(pc)
! 1778: fmove.x fp0,(a2)
! 1779: pea.l (a2)
! 1780: bsr check_ext
! 1781: lea.l 12(sp),sp
! 1782: ; compare FP1
! 1783: pea.l msg_fail_fp1(pc)
! 1784: pea.l (initdata+1*12)(pc)
! 1785: fmove.x fp1,(a2)
! 1786: pea.l (a2)
! 1787: bsr check_ext
! 1788: lea.l 12(sp),sp
! 1789: ; compare FP2
! 1790: pea.l msg_fail_fp2(pc)
! 1791: pea.l srcdata(pc)
! 1792: fmove.x fp2,(a2)
! 1793: pea.l (a2)
! 1794: bsr check_ext
! 1795: lea.l 12(sp),sp
! 1796: ; compare FP3
! 1797: pea.l msg_fail_fp3(pc)
! 1798: pea.l srcdata+12(pc)
! 1799: fmove.x fp3,(a2)
! 1800: pea.l (a2)
! 1801: bsr check_ext
! 1802: lea.l 12(sp),sp
! 1803: ; compare FP4
! 1804: pea.l msg_fail_fp4(pc)
! 1805: pea.l (initdata+4*12)(pc)
! 1806: fmove.x fp4,(a2)
! 1807: pea.l (a2)
! 1808: bsr check_ext
! 1809: lea.l 12(sp),sp
! 1810: ; compare FP5
! 1811: pea.l msg_fail_fp5(pc)
! 1812: pea.l (initdata+5*12)(pc)
! 1813: fmove.x fp5,(a2)
! 1814: pea.l (a2)
! 1815: bsr check_ext
! 1816: lea.l 12(sp),sp
! 1817: ; compare FP6
! 1818: pea.l msg_fail_fp6(pc)
! 1819: pea.l (initdata+6*12)(pc)
! 1820: fmove.x fp6,(a2)
! 1821: pea.l (a2)
! 1822: bsr check_ext
! 1823: lea.l 12(sp),sp
! 1824: ; compare FP7
! 1825: pea.l msg_fail_fp7(pc)
! 1826: pea.l (initdata+7*12)(pc)
! 1827: fmove.x fp7,(a2)
! 1828: pea.l (a2)
! 1829: bsr check_ext
! 1830: lea.l 12(sp),sp
! 1831:
! 1832: tst.l d7
! 1833: bne @f
! 1834: PRINT msg_ok(pc)
! 1835: @@:
! 1836: rts
! 1837:
! 1838: ; from,pred,sta,EA=d (hard)
! 1839: test_28:
! 1840: moveq.l #-8,d0
! 1841: and.w d5,d0
! 1842: PRINT msg_test_28+8(pc,d0.w)
! 1843: bsr set_fline
! 1844: moveq.l #0,d7
! 1845: lea.l @f,a3
! 1846: .dc.l $f200e060
! 1847: @@:
! 1848: bsr restore_fline
! 1849: tst.l d7
! 1850: bne @f
! 1851: PRINT msg_fail_notrap(pc)
! 1852: rts
! 1853: @@:
! 1854: PRINT msg_oktrap(pc)
! 1855: rts
! 1856:
! 1857: ; from,pred,sta,EA=a (hard)
! 1858: test_29:
! 1859: moveq.l #-8,d0
! 1860: and.w d5,d0
! 1861: PRINT msg_test_29+8(pc,d0.w)
! 1862: bsr set_fline
! 1863: moveq.l #0,d7
! 1864: lea.l @f,a3
! 1865: .dc.l $f208e060
! 1866: @@:
! 1867: bsr restore_fline
! 1868: tst.l d7
! 1869: bne @f
! 1870: PRINT msg_fail_notrap(pc)
! 1871: rts
! 1872: @@:
! 1873: PRINT msg_oktrap(pc)
! 1874: rts
! 1875:
! 1876: ; from,pred,sta,EA=m (hard)
! 1877: test_30:
! 1878: moveq.l #-8,d0
! 1879: and.w d5,d0
! 1880: PRINT msg_test_30+8(pc,d0.w)
! 1881: bsr init_from
! 1882: lea.l workarea(pc),a0
! 1883: bsr set_fline
! 1884: moveq.l #0,d7
! 1885: lea.l @f,a3
! 1886: .dc.l $f210e060
! 1887: @@:
! 1888: bsr restore_fline
! 1889: tst.l d7
! 1890: beq @f
! 1891: PRINT msg_fail_trap(pc)
! 1892: rts
! 1893: @@:
! 1894: lea.l workarea(pc),a1
! 1895: cmp.l a1,a0
! 1896: beq @f
! 1897: pea.l msg_fail_addr(pc)
! 1898: move.l a1,-(sp)
! 1899: move.l a0,-(sp)
! 1900: bsr result
! 1901: lea.l 12(sp),sp
! 1902: @@:
! 1903: ; compare first one
! 1904: pea.l msg_fail_1st(pc)
! 1905: pea.l (initdata+6*12)(pc)
! 1906: pea.l (0*12)(a1)
! 1907: bsr check_ext
! 1908: lea.l 12(sp),sp
! 1909: ; compare second one
! 1910: pea.l msg_fail_2nd(pc)
! 1911: pea.l (initdata+5*12)(pc)
! 1912: pea.l (1*12)(a1)
! 1913: bsr check_ext
! 1914: lea.l 12(sp),sp
! 1915:
! 1916: tst.l d7
! 1917: bne @f
! 1918: PRINT msg_ok(pc)
! 1919: @@:
! 1920: rts
! 1921:
! 1922: ; from,pred,sta,EA=+ (hard)
! 1923: test_31:
! 1924: moveq.l #-8,d0
! 1925: and.w d5,d0
! 1926: PRINT msg_test_31+8(pc,d0.w)
! 1927: bsr set_fline
! 1928: moveq.l #0,d7
! 1929: lea.l @f,a3
! 1930: .dc.l $f218e060
! 1931: @@:
! 1932: bsr restore_fline
! 1933: tst.l d7
! 1934: bne @f
! 1935: PRINT msg_fail_notrap(pc)
! 1936: rts
! 1937: @@:
! 1938: PRINT msg_oktrap(pc)
! 1939: rts
! 1940:
! 1941: ; from,pred,sta,EA=-
! 1942: test_32:
! 1943: moveq.l #-8,d0
! 1944: and.w d5,d0
! 1945: PRINT msg_test_32+8(pc,d0.w)
! 1946: bsr init_from
! 1947: lea.l (workarea+24)(pc),a0
! 1948: bsr set_fline
! 1949: moveq.l #0,d7
! 1950: lea.l @f,a3
! 1951: .dc.l $f220e060
! 1952: @@:
! 1953: bsr restore_fline
! 1954: tst.l d7
! 1955: beq @f
! 1956: PRINT msg_fail_trap(pc)
! 1957: rts
! 1958: @@:
! 1959: lea.l workarea(pc),a1
! 1960: cmp.l a1,a0
! 1961: beq @f
! 1962: pea.l msg_fail_addr(pc)
! 1963: move.l a1,-(sp)
! 1964: move.l a0,-(sp)
! 1965: bsr result
! 1966: lea.l 12(sp),sp
! 1967: @@:
! 1968: ; compare first one
! 1969: pea.l msg_fail_1st(pc)
! 1970: pea.l (initdata+6*12)(pc)
! 1971: pea.l (1*12)(a1)
! 1972: bsr check_ext
! 1973: lea.l 12(sp),sp
! 1974: ; compare second one
! 1975: pea.l msg_fail_2nd(pc)
! 1976: pea.l (initdata+5*12)(pc)
! 1977: pea.l (0*12)(a1)
! 1978: bsr check_ext
! 1979: lea.l 12(sp),sp
! 1980:
! 1981: tst.l d7
! 1982: bne @f
! 1983: PRINT msg_ok(pc)
! 1984: @@:
! 1985: rts
! 1986:
! 1987: ; from,pred,sta,EA=r (hard)
! 1988: test_33:
! 1989: moveq.l #-8,d0
! 1990: and.w d5,d0
! 1991: PRINT msg_test_33+8(pc,d0.w)
! 1992: bsr init_from
! 1993: lea.l workarea(pc),a0
! 1994: bsr set_fline
! 1995: moveq.l #0,d7
! 1996: lea.l @f,a3
! 1997: .dc.l $f228e060
! 1998: .dc.w 0
! 1999: @@:
! 2000: bsr restore_fline
! 2001: tst.l d7
! 2002: beq @f
! 2003: PRINT msg_fail_trap(pc)
! 2004: rts
! 2005: @@:
! 2006: lea.l workarea(pc),a1
! 2007: cmp.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: ; compare first one
! 2016: pea.l msg_fail_1st(pc)
! 2017: pea.l (initdata+6*12)(pc)
! 2018: pea.l (0*12)(a1)
! 2019: bsr check_ext
! 2020: lea.l 12(sp),sp
! 2021: ; compare second one
! 2022: pea.l msg_fail_2nd(pc)
! 2023: pea.l (initdata+5*12)(pc)
! 2024: pea.l (1*12)(a1)
! 2025: bsr check_ext
! 2026: lea.l 12(sp),sp
! 2027:
! 2028: tst.l d7
! 2029: bne @f
! 2030: PRINT msg_ok(pc)
! 2031: @@:
! 2032: rts
! 2033:
! 2034: ; from,pred,sta,EA=x (hard)
! 2035: test_34:
! 2036: moveq.l #-8,d0
! 2037: and.w d5,d0
! 2038: PRINT msg_test_34+8(pc,d0.w)
! 2039: bsr init_from
! 2040: lea.l workarea(pc),a0
! 2041: bsr set_fline
! 2042: moveq.l #0,d7
1.1 root 2043: lea.l @f,a3
1.1.1.4 ! root 2044: .dc.l $f230e060
! 2045: .dc.w $4000
1.1 root 2046: @@:
1.1.1.4 ! root 2047: bsr restore_fline
1.1 root 2048: tst.l d7
2049: beq @f
1.1.1.4 ! root 2050: PRINT msg_fail_trap(pc)
1.1 root 2051: rts
2052: @@:
2053: lea.l workarea(pc),a1
2054: cmp.l a1,a0
2055: beq @f
2056: pea.l msg_fail_addr(pc)
2057: move.l a1,-(sp)
2058: move.l a0,-(sp)
2059: bsr result
2060: lea.l 12(sp),sp
2061: @@:
2062: ; compare first one
2063: pea.l msg_fail_1st(pc)
2064: pea.l (initdata+6*12)(pc)
1.1.1.4 ! root 2065: pea.l (0*12)(a1)
! 2066: bsr check_ext
! 2067: lea.l 12(sp),sp
! 2068: ; compare second one
! 2069: pea.l msg_fail_2nd(pc)
! 2070: pea.l (initdata+5*12)(pc)
! 2071: pea.l (1*12)(a1)
! 2072: bsr check_ext
! 2073: lea.l 12(sp),sp
! 2074:
! 2075: tst.l d7
! 2076: bne @f
! 2077: PRINT msg_ok(pc)
! 2078: @@:
! 2079: rts
! 2080:
! 2081: ; from,pred,dyn,EA=d (hard)
! 2082: test_35:
! 2083: moveq.l #-8,d0
! 2084: and.w d5,d0
! 2085: PRINT msg_test_35+8(pc,d0.w)
! 2086: bsr set_fline
! 2087: moveq.l #0,d7
! 2088: lea.l @f,a3
! 2089: .dc.l $f200e860
! 2090: @@:
! 2091: bsr restore_fline
! 2092: tst.l d7
! 2093: bne @f
! 2094: PRINT msg_fail_notrap(pc)
! 2095: rts
! 2096: @@:
! 2097: PRINT msg_oktrap(pc)
! 2098: rts
! 2099:
! 2100: ; from,pred,dyn,EA=a (hard)
! 2101: test_36:
! 2102: moveq.l #-8,d0
! 2103: and.w d5,d0
! 2104: PRINT msg_test_36+8(pc,d0.w)
! 2105: bsr set_fline
! 2106: moveq.l #0,d7
! 2107: lea.l @f,a3
! 2108: .dc.l $f208e860
! 2109: @@:
! 2110: bsr restore_fline
! 2111: tst.l d7
! 2112: bne @f
! 2113: PRINT msg_fail_notrap(pc)
! 2114: rts
! 2115: @@:
! 2116: PRINT msg_oktrap(pc)
! 2117: rts
! 2118:
! 2119: ; from,pred,dyn,EA=m (hard)
! 2120: test_37:
! 2121: moveq.l #-8,d0
! 2122: and.w d5,d0
! 2123: PRINT msg_test_37+8(pc,d0.w)
! 2124: bsr init_from
! 2125: lea.l workarea(pc),a0
! 2126: bsr set_fline
! 2127: moveq.l #0,d7
! 2128: lea.l @f,a3
! 2129: .dc.l $f210e860
! 2130: @@:
! 2131: bsr restore_fline
! 2132: tst.l d7
! 2133: beq @f
! 2134: PRINT msg_fail_trap(pc)
! 2135: rts
! 2136: @@:
! 2137: lea.l workarea(pc),a1
! 2138: cmp.l a1,a0
! 2139: beq @f
! 2140: pea.l msg_fail_addr(pc)
! 2141: move.l a1,-(sp)
! 2142: move.l a0,-(sp)
! 2143: bsr result
! 2144: lea.l 12(sp),sp
! 2145: @@:
! 2146: ; compare first one
! 2147: pea.l msg_fail_1st(pc)
! 2148: pea.l (initdata+5*12)(pc)
! 2149: pea.l (0*12)(a1)
! 2150: bsr check_ext
! 2151: lea.l 12(sp),sp
! 2152: ; compare second one
! 2153: pea.l msg_fail_2nd(pc)
! 2154: pea.l (initdata+4*12)(pc)
! 2155: pea.l (1*12)(a1)
! 2156: bsr check_ext
! 2157: lea.l 12(sp),sp
! 2158:
! 2159: tst.l d7
! 2160: bne @f
! 2161: PRINT msg_ok(pc)
! 2162: @@:
! 2163: rts
! 2164:
! 2165: ; from,pred,dyn,EA=+ (hard)
! 2166: test_38:
! 2167: moveq.l #-8,d0
! 2168: and.w d5,d0
! 2169: PRINT msg_test_38+8(pc,d0.w)
! 2170: bsr set_fline
! 2171: moveq.l #0,d7
! 2172: lea.l @f,a3
! 2173: .dc.l $f218e860
! 2174: @@:
! 2175: bsr restore_fline
! 2176: tst.l d7
! 2177: bne @f
! 2178: PRINT msg_fail_notrap(pc)
! 2179: rts
! 2180: @@:
! 2181: PRINT msg_oktrap(pc)
! 2182: rts
! 2183:
! 2184: ; from,pred,dyn,EA=-
! 2185: test_39:
! 2186: moveq.l #-8,d0
! 2187: and.w d5,d0
! 2188: PRINT msg_test_39+8(pc,d0.w)
! 2189: bsr init_from
! 2190: lea.l (workarea+24)(pc),a0
! 2191: bsr set_fline
! 2192: moveq.l #0,d7
! 2193: lea.l @f,a3
! 2194: .dc.l $f220e860
! 2195: @@:
! 2196: bsr restore_fline
! 2197: tst.l d7
! 2198: beq @f
! 2199: PRINT msg_fail_trap(pc)
! 2200: rts
! 2201: @@:
! 2202: lea.l workarea(pc),a1
! 2203: cmp.l a1,a0
! 2204: beq @f
! 2205: pea.l msg_fail_addr(pc)
! 2206: move.l a1,-(sp)
! 2207: move.l a0,-(sp)
! 2208: bsr result
! 2209: lea.l 12(sp),sp
! 2210: @@:
! 2211: ; compare first one
! 2212: pea.l msg_fail_1st(pc)
! 2213: pea.l (initdata+5*12)(pc)
! 2214: pea.l (1*12)(a1)
! 2215: bsr check_ext
! 2216: lea.l 12(sp),sp
! 2217: ; compare second one
! 2218: pea.l msg_fail_2nd(pc)
! 2219: pea.l (initdata+4*12)(pc)
! 2220: pea.l (0*12)(a1)
! 2221: bsr check_ext
! 2222: lea.l 12(sp),sp
! 2223:
! 2224: tst.l d7
! 2225: bne @f
! 2226: PRINT msg_ok(pc)
! 2227: @@:
! 2228: rts
! 2229:
! 2230: ; from,pred,dyn,EA=r (hard)
! 2231: test_40:
! 2232: moveq.l #-8,d0
! 2233: and.w d5,d0
! 2234: PRINT msg_test_40+8(pc,d0.w)
! 2235: bsr init_from
! 2236: lea.l workarea(pc),a0
! 2237: bsr set_fline
! 2238: moveq.l #0,d7
! 2239: lea.l @f,a3
! 2240: .dc.l $f228e860
! 2241: .dc.w 0
! 2242: @@:
! 2243: bsr restore_fline
! 2244: tst.l d7
! 2245: beq @f
! 2246: PRINT msg_fail_trap(pc)
! 2247: rts
! 2248: @@:
! 2249: lea.l workarea(pc),a1
! 2250: cmp.l a1,a0
! 2251: beq @f
! 2252: pea.l msg_fail_addr(pc)
! 2253: move.l a1,-(sp)
! 2254: move.l a0,-(sp)
! 2255: bsr result
! 2256: lea.l 12(sp),sp
! 2257: @@:
! 2258: ; compare first one
! 2259: pea.l msg_fail_1st(pc)
! 2260: pea.l (initdata+5*12)(pc)
! 2261: pea.l (0*12)(a1)
1.1 root 2262: bsr check_ext
2263: lea.l 12(sp),sp
2264: ; compare second one
2265: pea.l msg_fail_2nd(pc)
1.1.1.4 ! root 2266: pea.l (initdata+4*12)(pc)
! 2267: pea.l (1*12)(a1)
! 2268: bsr check_ext
! 2269: lea.l 12(sp),sp
! 2270:
! 2271: tst.l d7
! 2272: bne @f
! 2273: PRINT msg_ok(pc)
! 2274: @@:
! 2275: rts
! 2276:
! 2277: ; from,pred,dyn,EA=x (hard)
! 2278: test_41:
! 2279: moveq.l #-8,d0
! 2280: and.w d5,d0
! 2281: PRINT msg_test_41+8(pc,d0.w)
! 2282: bsr init_from
! 2283: lea.l workarea(pc),a0
! 2284: bsr set_fline
! 2285: moveq.l #0,d7
! 2286: lea.l @f,a3
! 2287: .dc.l $f230e860
! 2288: .dc.w $4000
! 2289: @@:
! 2290: bsr restore_fline
! 2291: tst.l d7
! 2292: beq @f
! 2293: PRINT msg_fail_trap(pc)
! 2294: rts
! 2295: @@:
! 2296: lea.l workarea(pc),a1
! 2297: cmp.l a1,a0
! 2298: beq @f
! 2299: pea.l msg_fail_addr(pc)
! 2300: move.l a1,-(sp)
! 2301: move.l a0,-(sp)
! 2302: bsr result
! 2303: lea.l 12(sp),sp
! 2304: @@:
! 2305: ; compare first one
! 2306: pea.l msg_fail_1st(pc)
1.1 root 2307: pea.l (initdata+5*12)(pc)
1.1.1.4 ! root 2308: pea.l (0*12)(a1)
! 2309: bsr check_ext
! 2310: lea.l 12(sp),sp
! 2311: ; compare second one
! 2312: pea.l msg_fail_2nd(pc)
! 2313: pea.l (initdata+4*12)(pc)
! 2314: pea.l (1*12)(a1)
! 2315: bsr check_ext
! 2316: lea.l 12(sp),sp
! 2317:
! 2318: tst.l d7
! 2319: bne @f
! 2320: PRINT msg_ok(pc)
! 2321: @@:
! 2322: rts
! 2323:
! 2324: ; from,ctrl,sta,EA=d (hard)
! 2325: test_42:
! 2326: moveq.l #-8,d0
! 2327: and.w d5,d0
! 2328: PRINT msg_test_42+8(pc,d0.w)
! 2329: bsr set_fline
! 2330: moveq.l #0,d7
! 2331: lea.l @f,a3
! 2332: .dc.l $f200f060
! 2333: @@:
! 2334: bsr restore_fline
! 2335: tst.l d7
! 2336: bne @f
! 2337: PRINT msg_fail_notrap(pc)
! 2338: rts
! 2339: @@:
! 2340: PRINT msg_oktrap(pc)
! 2341: rts
! 2342:
! 2343: ; from,ctrl,sta,EA=a (hard)
! 2344: test_43:
! 2345: moveq.l #-8,d0
! 2346: and.w d5,d0
! 2347: PRINT msg_test_43+8(pc,d0.w)
! 2348: bsr set_fline
! 2349: moveq.l #0,d7
! 2350: lea.l @f,a3
! 2351: .dc.l $f208f060
! 2352: @@:
! 2353: bsr restore_fline
! 2354: tst.l d7
! 2355: bne @f
! 2356: PRINT msg_fail_notrap(pc)
! 2357: rts
! 2358: @@:
! 2359: PRINT msg_oktrap(pc)
! 2360: rts
! 2361:
! 2362: ; from,ctrl,sta,EA=m
! 2363: test_44:
! 2364: moveq.l #-8,d0
! 2365: and.w d5,d0
! 2366: PRINT msg_test_44+8(pc,d0.w)
! 2367: bsr init_from
! 2368: lea.l workarea(pc),a0
! 2369: bsr set_fline
! 2370: moveq.l #0,d7
! 2371: lea.l @f,a3
! 2372: .dc.l $f210f060
! 2373: @@:
! 2374: bsr restore_fline
! 2375: tst.l d7
! 2376: beq @f
! 2377: PRINT msg_fail_trap(pc)
! 2378: rts
! 2379: @@:
! 2380: lea.l workarea(pc),a1
! 2381: cmp.l a1,a0
! 2382: beq @f
! 2383: pea.l msg_fail_addr(pc)
! 2384: move.l a1,-(sp)
! 2385: move.l a0,-(sp)
! 2386: bsr result
! 2387: lea.l 12(sp),sp
! 2388: @@:
! 2389: ; compare first one
! 2390: pea.l msg_fail_1st(pc)
! 2391: pea.l (initdata+1*12)(pc)
! 2392: pea.l (0*12)(a1)
! 2393: bsr check_ext
! 2394: lea.l 12(sp),sp
! 2395: ; compare second one
! 2396: pea.l msg_fail_2nd(pc)
! 2397: pea.l (initdata+2*12)(pc)
! 2398: pea.l (1*12)(a1)
1.1 root 2399: bsr check_ext
2400: lea.l 12(sp),sp
2401:
2402: tst.l d7
2403: bne @f
1.1.1.4 ! root 2404: PRINT msg_ok(pc)
1.1 root 2405: @@:
2406: rts
2407:
1.1.1.4 ! root 2408: ; from,ctrl,sta,EA=+ (hard)
! 2409: test_45:
! 2410: moveq.l #-8,d0
! 2411: and.w d5,d0
! 2412: PRINT msg_test_45+8(pc,d0.w)
! 2413: bsr set_fline
1.1 root 2414: moveq.l #0,d7
2415: lea.l @f,a3
1.1.1.4 ! root 2416: .dc.l $f218f060
1.1 root 2417: @@:
1.1.1.4 ! root 2418: bsr restore_fline
1.1 root 2419: tst.l d7
2420: bne @f
1.1.1.4 ! root 2421: PRINT msg_fail_notrap(pc)
! 2422: rts
! 2423: @@:
! 2424: PRINT msg_oktrap(pc)
1.1 root 2425: rts
1.1.1.4 ! root 2426:
! 2427: ; from,ctrl,sta,EA=- (hard)
! 2428: test_46:
! 2429: moveq.l #-8,d0
! 2430: and.w d5,d0
! 2431: PRINT msg_test_46+8(pc,d0.w)
! 2432: bsr init_from
! 2433: lea.l (workarea+24)(pc),a0
! 2434: bsr set_fline
! 2435: moveq.l #0,d7
! 2436: lea.l @f,a3
! 2437: .dc.l $f220f060
1.1 root 2438: @@:
1.1.1.4 ! root 2439: bsr restore_fline
! 2440: tst.l d7
! 2441: beq @f
! 2442: PRINT msg_fail_trap(pc)
1.1 root 2443: rts
1.1.1.4 ! root 2444: @@:
! 2445: lea.l workarea(pc),a1
! 2446: cmp.l a1,a0
! 2447: beq @f
! 2448: pea.l msg_fail_addr(pc)
! 2449: move.l a1,-(sp)
! 2450: move.l a0,-(sp)
! 2451: bsr result
! 2452: lea.l 12(sp),sp
! 2453: @@:
! 2454: ; compare first one
! 2455: pea.l msg_fail_1st(pc)
! 2456: pea.l (initdata+1*12)(pc)
! 2457: pea.l (1*12)(a1)
! 2458: bsr check_ext
! 2459: lea.l 12(sp),sp
! 2460: ; compare second one
! 2461: pea.l msg_fail_2nd(pc)
! 2462: pea.l (initdata+2*12)(pc)
! 2463: pea.l (0*12)(a1)
! 2464: bsr check_ext
! 2465: lea.l 12(sp),sp
1.1 root 2466:
2467: tst.l d7
2468: bne @f
1.1.1.4 ! root 2469: PRINT msg_ok(pc)
1.1 root 2470: @@:
2471: rts
2472:
1.1.1.4 ! root 2473: ; from,ctrl,sta,EA=r
! 2474: test_47:
! 2475: moveq.l #-8,d0
! 2476: and.w d5,d0
! 2477: PRINT msg_test_47+8(pc,d0.w)
! 2478: bsr init_from
1.1 root 2479: lea.l workarea(pc),a0
1.1.1.4 ! root 2480: bsr set_fline
! 2481: moveq.l #0,d7
1.1 root 2482: lea.l @f,a3
1.1.1.4 ! root 2483: .dc.l $f228f060
! 2484: .dc.w 0
1.1 root 2485: @@:
1.1.1.4 ! root 2486: bsr restore_fline
1.1 root 2487: tst.l d7
2488: beq @f
1.1.1.4 ! root 2489: PRINT msg_fail_trap(pc)
1.1 root 2490: rts
2491: @@:
2492: lea.l workarea(pc),a1
2493: cmp.l a1,a0
2494: beq @f
2495: pea.l msg_fail_addr(pc)
2496: move.l a1,-(sp)
2497: move.l a0,-(sp)
2498: bsr result
2499: lea.l 12(sp),sp
2500: @@:
2501: ; compare first one
2502: pea.l msg_fail_1st(pc)
1.1.1.4 ! root 2503: pea.l (initdata+1*12)(pc)
! 2504: pea.l (0*12)(a1)
1.1 root 2505: bsr check_ext
2506: lea.l 12(sp),sp
2507: ; compare second one
2508: pea.l msg_fail_2nd(pc)
1.1.1.4 ! root 2509: pea.l (initdata+2*12)(pc)
! 2510: pea.l (1*12)(a1)
1.1 root 2511: bsr check_ext
2512: lea.l 12(sp),sp
2513:
2514: tst.l d7
2515: bne @f
1.1.1.4 ! root 2516: PRINT msg_ok(pc)
1.1 root 2517: @@:
2518: rts
2519:
1.1.1.4 ! root 2520: ; from,ctrl,sta,EA=x
! 2521: test_48:
! 2522: moveq.l #-8,d0
! 2523: and.w d5,d0
! 2524: PRINT msg_test_48+8(pc,d0.w)
! 2525: bsr init_from
1.1 root 2526: lea.l workarea(pc),a0
1.1.1.4 ! root 2527: bsr set_fline
! 2528: moveq.l #0,d7
1.1 root 2529: lea.l @f,a3
1.1.1.4 ! root 2530: .dc.l $f230f060
! 2531: .dc.w $4000
1.1 root 2532: @@:
1.1.1.4 ! root 2533: bsr restore_fline
1.1 root 2534: tst.l d7
2535: beq @f
1.1.1.4 ! root 2536: PRINT msg_fail_trap(pc)
1.1 root 2537: rts
2538: @@:
2539: lea.l workarea(pc),a1
2540: cmp.l a1,a0
2541: beq @f
2542: pea.l msg_fail_addr(pc)
2543: move.l a1,-(sp)
2544: move.l a0,-(sp)
2545: bsr result
2546: lea.l 12(sp),sp
2547: @@:
2548: ; compare first one
2549: pea.l msg_fail_1st(pc)
1.1.1.4 ! root 2550: pea.l (initdata+1*12)(pc)
! 2551: pea.l (0*12)(a1)
1.1 root 2552: bsr check_ext
2553: lea.l 12(sp),sp
2554: ; compare second one
2555: pea.l msg_fail_2nd(pc)
1.1.1.4 ! root 2556: pea.l (initdata+2*12)(pc)
! 2557: pea.l (1*12)(a1)
1.1 root 2558: bsr check_ext
2559: lea.l 12(sp),sp
2560:
2561: tst.l d7
2562: bne @f
1.1.1.4 ! root 2563: PRINT msg_ok(pc)
1.1 root 2564: @@:
2565: rts
2566:
1.1.1.4 ! root 2567: ; from,ctrl,dyn,EA=d (hard)
! 2568: test_49:
! 2569: moveq.l #-8,d0
! 2570: and.w d5,d0
! 2571: PRINT msg_test_49+8(pc,d0.w)
! 2572: bsr set_fline
1.1 root 2573: moveq.l #0,d7
2574: lea.l @f,a3
1.1.1.4 ! root 2575: .dc.l $f200f860
1.1 root 2576: @@:
1.1.1.4 ! root 2577: bsr restore_fline
1.1 root 2578: tst.l d7
2579: bne @f
1.1.1.4 ! root 2580: PRINT msg_fail_notrap(pc)
1.1 root 2581: rts
2582: @@:
1.1.1.4 ! root 2583: PRINT msg_oktrap(pc)
1.1 root 2584: rts
2585:
1.1.1.4 ! root 2586: ; from,ctrl,dyn,EA=a (hard)
! 2587: test_50:
! 2588: moveq.l #-8,d0
! 2589: and.w d5,d0
! 2590: PRINT msg_test_50+8(pc,d0.w)
! 2591: bsr set_fline
1.1 root 2592: moveq.l #0,d7
2593: lea.l @f,a3
1.1.1.4 ! root 2594: .dc.l $f208f860
1.1 root 2595: @@:
1.1.1.4 ! root 2596: bsr restore_fline
1.1 root 2597: tst.l d7
2598: bne @f
1.1.1.4 ! root 2599: PRINT msg_fail_notrap(pc)
1.1 root 2600: rts
2601: @@:
1.1.1.4 ! root 2602: PRINT msg_oktrap(pc)
1.1 root 2603: rts
2604:
1.1.1.4 ! root 2605: ; from,ctrl,dyn,EA=m
! 2606: test_51:
! 2607: moveq.l #-8,d0
! 2608: and.w d5,d0
! 2609: PRINT msg_test_51+8(pc,d0.w)
! 2610: bsr init_from
1.1 root 2611: lea.l workarea(pc),a0
1.1.1.4 ! root 2612: bsr set_fline
! 2613: moveq.l #0,d7
1.1 root 2614: lea.l @f,a3
1.1.1.4 ! root 2615: .dc.l $f210f860
1.1 root 2616: @@:
1.1.1.4 ! root 2617: bsr restore_fline
1.1 root 2618: tst.l d7
2619: beq @f
1.1.1.4 ! root 2620: PRINT msg_fail_trap(pc)
1.1 root 2621: rts
2622: @@:
2623: lea.l workarea(pc),a1
2624: cmp.l a1,a0
2625: beq @f
2626: pea.l msg_fail_addr(pc)
2627: move.l a1,-(sp)
2628: move.l a0,-(sp)
2629: bsr result
2630: lea.l 12(sp),sp
2631: @@:
2632: ; compare first one
2633: pea.l msg_fail_1st(pc)
1.1.1.4 ! root 2634: pea.l (initdata+2*12)(pc)
! 2635: pea.l (0*12)(a1)
1.1 root 2636: bsr check_ext
2637: lea.l 12(sp),sp
2638: ; compare second one
2639: pea.l msg_fail_2nd(pc)
1.1.1.4 ! root 2640: pea.l (initdata+3*12)(pc)
! 2641: pea.l (1*12)(a1)
1.1 root 2642: bsr check_ext
2643: lea.l 12(sp),sp
2644:
2645: tst.l d7
2646: bne @f
1.1.1.4 ! root 2647: PRINT msg_ok(pc)
1.1 root 2648: @@:
2649: rts
2650:
1.1.1.4 ! root 2651: ; from,ctrl,dyn,EA=+ (hard)
! 2652: test_52:
! 2653: moveq.l #-8,d0
! 2654: and.w d5,d0
! 2655: PRINT msg_test_52+8(pc,d0.w)
! 2656: bsr set_fline
1.1 root 2657: moveq.l #0,d7
2658: lea.l @f,a3
1.1.1.4 ! root 2659: .dc.l $f218f860
1.1 root 2660: @@:
1.1.1.4 ! root 2661: bsr restore_fline
1.1 root 2662: tst.l d7
2663: bne @f
1.1.1.4 ! root 2664: PRINT msg_fail_notrap(pc)
1.1 root 2665: rts
2666: @@:
1.1.1.4 ! root 2667: PRINT msg_oktrap(pc)
1.1 root 2668: rts
2669:
1.1.1.4 ! root 2670: ; from,ctrl,dyn,EA=- (hard)
! 2671: test_53:
! 2672: moveq.l #-8,d0
! 2673: and.w d5,d0
! 2674: PRINT msg_test_53+8(pc,d0.w)
! 2675: bsr init_from
! 2676: lea.l (workarea+24)(pc),a0
! 2677: bsr set_fline
1.1 root 2678: moveq.l #0,d7
2679: lea.l @f,a3
1.1.1.4 ! root 2680: .dc.l $f220f860
1.1 root 2681: @@:
1.1.1.4 ! root 2682: bsr restore_fline
1.1 root 2683: tst.l d7
2684: beq @f
1.1.1.4 ! root 2685: PRINT msg_fail_trap(pc)
1.1 root 2686: rts
2687: @@:
2688: lea.l workarea(pc),a1
2689: cmp.l a1,a0
2690: beq @f
2691: pea.l msg_fail_addr(pc)
2692: move.l a1,-(sp)
2693: move.l a0,-(sp)
2694: bsr result
2695: lea.l 12(sp),sp
2696: @@:
2697: ; compare first one
2698: pea.l msg_fail_1st(pc)
1.1.1.4 ! root 2699: pea.l (initdata+2*12)(pc)
! 2700: pea.l (1*12)(a1)
1.1 root 2701: bsr check_ext
2702: lea.l 12(sp),sp
2703: ; compare second one
2704: pea.l msg_fail_2nd(pc)
1.1.1.4 ! root 2705: pea.l (initdata+3*12)(pc)
! 2706: pea.l (0*12)(a1)
1.1 root 2707: bsr check_ext
2708: lea.l 12(sp),sp
2709:
2710: tst.l d7
2711: bne @f
1.1.1.4 ! root 2712: PRINT msg_ok(pc)
1.1 root 2713: @@:
2714: rts
2715:
1.1.1.4 ! root 2716: ; from,ctrl,dyn,EA=r
! 2717: test_54:
! 2718: moveq.l #-8,d0
! 2719: and.w d5,d0
! 2720: PRINT msg_test_54+8(pc,d0.w)
! 2721: bsr init_from
1.1 root 2722: lea.l workarea(pc),a0
1.1.1.4 ! root 2723: bsr set_fline
! 2724: moveq.l #0,d7
1.1 root 2725: lea.l @f,a3
1.1.1.4 ! root 2726: .dc.l $f228f860
! 2727: .dc.w 0
1.1 root 2728: @@:
1.1.1.4 ! root 2729: bsr restore_fline
1.1 root 2730: tst.l d7
2731: beq @f
1.1.1.4 ! root 2732: PRINT msg_fail_trap(pc)
1.1 root 2733: rts
2734: @@:
2735: lea.l workarea(pc),a1
2736: cmp.l a1,a0
2737: beq @f
2738: pea.l msg_fail_addr(pc)
2739: move.l a1,-(sp)
2740: move.l a0,-(sp)
2741: bsr result
2742: lea.l 12(sp),sp
2743: @@:
2744: ; compare first one
2745: pea.l msg_fail_1st(pc)
2746: pea.l (initdata+2*12)(pc)
1.1.1.4 ! root 2747: pea.l (0*12)(a1)
1.1 root 2748: bsr check_ext
2749: lea.l 12(sp),sp
2750: ; compare second one
2751: pea.l msg_fail_2nd(pc)
2752: pea.l (initdata+3*12)(pc)
1.1.1.4 ! root 2753: pea.l (1*12)(a1)
1.1 root 2754: bsr check_ext
2755: lea.l 12(sp),sp
2756:
2757: tst.l d7
2758: bne @f
1.1.1.4 ! root 2759: PRINT msg_ok(pc)
1.1 root 2760: @@:
2761: rts
2762:
1.1.1.4 ! root 2763: ; from,ctrl,dyn,EA=x
! 2764: test_55:
! 2765: moveq.l #-8,d0
! 2766: and.w d5,d0
! 2767: PRINT msg_test_55+8(pc,d0.w)
! 2768: bsr init_from
1.1 root 2769: lea.l workarea(pc),a0
1.1.1.4 ! root 2770: bsr set_fline
! 2771: moveq.l #0,d7
1.1 root 2772: lea.l @f,a3
1.1.1.4 ! root 2773: .dc.l $f230f860
! 2774: .dc.w $4000
1.1 root 2775: @@:
1.1.1.4 ! root 2776: bsr restore_fline
1.1 root 2777: tst.l d7
2778: beq @f
1.1.1.4 ! root 2779: PRINT msg_fail_trap(pc)
1.1 root 2780: rts
2781: @@:
2782: lea.l workarea(pc),a1
2783: cmp.l a1,a0
2784: beq @f
2785: pea.l msg_fail_addr(pc)
2786: move.l a1,-(sp)
2787: move.l a0,-(sp)
2788: bsr result
2789: lea.l 12(sp),sp
2790: @@:
2791: ; compare first one
2792: pea.l msg_fail_1st(pc)
2793: pea.l (initdata+2*12)(pc)
1.1.1.4 ! root 2794: pea.l (0*12)(a1)
1.1 root 2795: bsr check_ext
2796: lea.l 12(sp),sp
2797: ; compare second one
2798: pea.l msg_fail_2nd(pc)
2799: pea.l (initdata+3*12)(pc)
1.1.1.4 ! root 2800: pea.l (1*12)(a1)
1.1 root 2801: bsr check_ext
2802: lea.l 12(sp),sp
2803:
2804: tst.l d7
2805: bne @f
1.1.1.4 ! root 2806: PRINT msg_ok(pc)
1.1 root 2807: @@:
2808: rts
2809:
1.1.1.4 ! root 2810:
! 2811: ; 空リストは正しく0個転送という扱いになる。
! 2812: ; たぶん dynamic でも同様だろうけどもうテストしない。
! 2813: test_nofpn:
! 2814: PRINT msg_test_nofpn(pc)
! 2815: bsr init_from
! 2816: ; 実行
! 2817: lea.l srcdata(pc),a0
! 2818: bsr set_fline
1.1 root 2819: moveq.l #0,d7
2820: lea.l @f,a3
1.1.1.4 ! root 2821: .dc.l $f218d000 ; fmovem.x (a0)+,nofpn
1.1 root 2822: @@:
1.1.1.4 ! root 2823: bsr restore_fline
! 2824: ; 例外は起きないはずなので D7 がゼロなら成功(次へ)
1.1 root 2825: tst.l d7
2826: beq @f
1.1.1.4 ! root 2827: PRINT msg_fail_trap(pc)
1.1 root 2828: rts
2829: @@:
1.1.1.4 ! root 2830: ; An を照合する。(An)+ だけど変わらないはず。
! 2831: lea.l srcdata(pc),a1
! 2832: cmp.l a1,a0
! 2833: beq @f
! 2834: pea.l msg_fail_addr(pc)
! 2835: move.l a1,-(sp)
! 2836: move.l a0,-(sp)
! 2837: bsr result
! 2838: lea.l 12(sp),sp
! 2839: @@:
! 2840: lea.l workarea(pc),a2
! 2841: ; compare FP0
! 2842: pea.l msg_fail_fp0(pc)
! 2843: pea.l (initdata+0*12)(pc)
! 2844: fmove.x fp0,(a2)
! 2845: pea.l (a2)
! 2846: bsr check_ext
! 2847: lea.l 12(sp),sp
! 2848: ; compare FP1
! 2849: pea.l msg_fail_fp1(pc)
! 2850: pea.l (initdata+1*12)(pc)
! 2851: fmove.x fp1,(a2)
! 2852: pea.l (a2)
! 2853: bsr check_ext
! 2854: lea.l 12(sp),sp
! 2855: ; compare FP2
! 2856: pea.l msg_fail_fp2(pc)
! 2857: pea.l (initdata+2*12)(pc)
! 2858: fmove.x fp2,(a2)
! 2859: pea.l (a2)
! 2860: bsr check_ext
! 2861: lea.l 12(sp),sp
! 2862: ; compare FP3
! 2863: pea.l msg_fail_fp3(pc)
! 2864: pea.l (initdata+3*12)(pc)
! 2865: fmove.x fp3,(a2)
! 2866: pea.l (a2)
! 2867: bsr check_ext
! 2868: lea.l 12(sp),sp
! 2869: ; compare FP4
! 2870: pea.l msg_fail_fp4(pc)
! 2871: pea.l (initdata+4*12)(pc)
! 2872: fmove.x fp4,(a2)
! 2873: pea.l (a2)
! 2874: bsr check_ext
! 2875: lea.l 12(sp),sp
! 2876: ; compare FP5
! 2877: pea.l msg_fail_fp5(pc)
! 2878: pea.l (initdata+5*12)(pc)
! 2879: fmove.x fp5,(a2)
! 2880: pea.l (a2)
! 2881: bsr check_ext
! 2882: lea.l 12(sp),sp
! 2883: ; compare FP6
! 2884: pea.l msg_fail_fp6(pc)
! 2885: pea.l (initdata+6*12)(pc)
! 2886: fmove.x fp6,(a2)
! 2887: pea.l (a2)
! 2888: bsr check_ext
! 2889: lea.l 12(sp),sp
! 2890: ; compare FP7
! 2891: pea.l msg_fail_fp7(pc)
! 2892: pea.l (initdata+7*12)(pc)
! 2893: fmove.x fp7,(a2)
! 2894: pea.l (a2)
1.1 root 2895: bsr check_ext
2896: lea.l 12(sp),sp
2897:
2898: tst.l d7
2899: bne @f
1.1.1.4 ! root 2900: PRINT msg_ok(pc)
1.1 root 2901: @@:
2902: rts
2903:
1.1.1.4 ! root 2904: ; dynamic レジスタ指定の 0rrr_0000 の %0 のところに何か書かれてても無視。
! 2905: test_illdyn:
! 2906: PRINT msg_test_illdyn(pc)
! 2907: bsr init_from
! 2908: ; 実行
1.1 root 2909: lea.l srcdata(pc),a0
2910: moveq.l #$80,d6
2911: moveq.l #0,d7
2912: lea.l @f,a3
1.1.1.4 ! root 2913: .dc.l $f210d86f ; fmovem.x (a0),d6
1.1 root 2914: @@:
1.1.1.4 ! root 2915: bsr restore_fline
! 2916: ; 例外は起きないはずなので D7 がゼロなら成功(次へ)
1.1 root 2917: tst.l d7
2918: beq @f
1.1.1.4 ! root 2919: PRINT msg_fail_trap(pc)
1.1 root 2920: rts
2921: @@:
1.1.1.4 ! root 2922: ; An を照合する。
! 2923: lea.l srcdata(pc),a1
! 2924: cmp.l a1,a0
! 2925: beq @f
! 2926: pea.l msg_fail_addr(pc)
! 2927: move.l a1,-(sp)
! 2928: move.l a0,-(sp)
! 2929: bsr result
! 2930: lea.l 12(sp),sp
! 2931: @@:
! 2932: lea.l workarea(pc),a2
! 2933: ; compare FP0
1.1 root 2934: pea.l msg_fail_fp0(pc)
2935: pea.l srcdata(pc)
1.1.1.4 ! root 2936: fmove.x fp0,(a2)
! 2937: pea.l (a2)
! 2938: bsr check_ext
! 2939: lea.l 12(sp),sp
! 2940: ; compare FP1
! 2941: pea.l msg_fail_fp1(pc)
! 2942: pea.l (initdata+1*12)(pc)
! 2943: fmove.x fp1,(a2)
! 2944: pea.l (a2)
! 2945: bsr check_ext
! 2946: lea.l 12(sp),sp
! 2947: ; compare FP2
! 2948: pea.l msg_fail_fp2(pc)
! 2949: pea.l (initdata+2*12)(pc)
! 2950: fmove.x fp2,(a2)
! 2951: pea.l (a2)
! 2952: bsr check_ext
! 2953: lea.l 12(sp),sp
! 2954: ; compare FP3
! 2955: pea.l msg_fail_fp3(pc)
! 2956: pea.l (initdata+3*12)(pc)
! 2957: fmove.x fp3,(a2)
! 2958: pea.l (a2)
! 2959: bsr check_ext
! 2960: lea.l 12(sp),sp
! 2961: ; compare FP4
! 2962: pea.l msg_fail_fp4(pc)
! 2963: pea.l (initdata+4*12)(pc)
! 2964: fmove.x fp4,(a2)
! 2965: pea.l (a2)
! 2966: bsr check_ext
! 2967: lea.l 12(sp),sp
! 2968: ; compare FP5
! 2969: pea.l msg_fail_fp5(pc)
! 2970: pea.l (initdata+5*12)(pc)
! 2971: fmove.x fp5,(a2)
! 2972: pea.l (a2)
! 2973: bsr check_ext
! 2974: lea.l 12(sp),sp
! 2975: ; compare FP6
! 2976: pea.l msg_fail_fp6(pc)
! 2977: pea.l (initdata+6*12)(pc)
! 2978: fmove.x fp6,(a2)
! 2979: pea.l (a2)
! 2980: bsr check_ext
! 2981: lea.l 12(sp),sp
! 2982: ; compare FP7
! 2983: pea.l msg_fail_fp7(pc)
! 2984: pea.l (initdata+7*12)(pc)
! 2985: fmove.x fp7,(a2)
! 2986: pea.l (a2)
1.1 root 2987: bsr check_ext
2988: lea.l 12(sp),sp
2989:
2990: tst.l d7
2991: bne @f
1.1.1.4 ! root 2992: PRINT msg_ok(pc)
1.1 root 2993: @@:
2994: rts
2995:
1.1.1.4 ! root 2996: ; test_from 用の初期化。
! 2997: ; FP0..7 を初期値で埋めるのと、書き込み先バッファを用意。
! 2998: ; a0/a1 は破壊する。
! 2999: init_from:
! 3000: lea.l initdata(pc),a0
! 3001: fmove.x (a0)+,fp0
! 3002: fmove.x (a0)+,fp1
! 3003: fmove.x (a0)+,fp2
! 3004: fmove.x (a0)+,fp3
! 3005: fmove.x (a0)+,fp4
! 3006: fmove.x (a0)+,fp5
! 3007: fmove.x (a0)+,fp6
! 3008: fmove.x (a0)+,fp7
1.1.1.3 root 3009:
1.1.1.4 ! root 3010: ; 書き込み先を分かりやすいデータで初期化。
! 3011: lea.l initdata_from(pc),a0
! 3012: lea.l workarea(pc),a1
! 3013: move.l (a0)+,(a1)+
! 3014: move.l (a0)+,(a1)+
! 3015: move.l (a0),(a1)+
! 3016: subq.l #8,a0
! 3017: move.l (a0)+,(a1)+
! 3018: move.l (a0)+,(a1)+
! 3019: move.l (a0),(a1)+
! 3020: rts
1.1 root 3021:
3022: ; 結果表示
3023: ; スタックには、メッセージ、期待値、実際の値の順で積む。
3024: result:
3025: link a6,#0
3026: movem.l d0/a0,-(sp)
3027:
3028: move.l 8+8(a6),-(sp)
3029: DOS _PRINT
3030: addq.l #4,sp
3031:
3032: move.l 8+4(a6),d0
3033: lea.l buf(pc),a0
3034: bsr hexstr_long
1.1.1.4 ! root 3035: PRINT buf(pc)
! 3036: PRINT msg_but(pc)
1.1 root 3037:
3038: move.l 8+0(a6),d0
3039: lea.l buf(pc),a0
3040: bsr hexstr_long
1.1.1.4 ! root 3041: PRINT buf(pc)
! 3042: PRINT msg_crlf(pc)
1.1 root 3043:
3044: addq.l #1,d7 ; errcnt
3045: movem.l (sp)+,d0/a0
3046: unlk a6
3047: rts
3048:
3049: ; 拡張精度の比較と結果表示。
3050: ; 一致したら何もせず帰る。一致しなければエラーメッセージを表示。
3051: ; スタックには、(エラー時の)メッセージ、期待値、実際の値の順で積む
3052: check_ext:
3053: link a6,#0
3054: movem.l d0/a0-a2,-(sp)
3055:
3056: move.l 8+4(a6),a1
3057: move.l 8+0(a6),a2
3058: cmpm.l (a1)+,(a2)+
3059: bne @f
3060: cmpm.l (a1)+,(a2)+
3061: bne @f
3062: cmpm.l (a1)+,(a2)+
3063: bne @f
3064: ; equal
3065: bra check_ext_done
3066:
3067: @@: ; not equal
1.1.1.4 ! root 3068: ; テスト名を表示した行に続けてこれを表示すると折り返してしまうので、
! 3069: ; これが1件目のエラーなら先に一つ改行する。
! 3070: tst.l d7
! 3071: bne @f
! 3072: PRINT msg_crlf(pc)
! 3073: @@:
1.1 root 3074: move.l 8+8(a6),-(sp)
3075: DOS _PRINT
3076: addq.l #4,sp
3077:
3078: lea.l buf(pc),a0
3079: move.l 8+4(a6),a1
3080: move.l (a1)+,d0
3081: bsr hexstr_long
3082: move.b #'_',(a0)+
3083: move.l (a1)+,d0
3084: bsr hexstr_long
3085: move.b #'_',(a0)+
3086: move.l (a1),d0
3087: bsr hexstr_long
1.1.1.4 ! root 3088: PRINT buf(pc)
! 3089: PRINT msg_but(pc)
1.1 root 3090:
3091: lea.l buf(pc),a0
3092: move.l 8+0(a6),a2
3093: move.l (a2)+,d0
3094: bsr hexstr_long
3095: move.b #'_',(a0)+
3096: move.l (a2)+,d0
3097: bsr hexstr_long
3098: move.b #'_',(a0)+
3099: move.l (a2),d0
3100: bsr hexstr_long
1.1.1.4 ! root 3101: PRINT buf(pc)
! 3102: PRINT msg_crlf(pc)
1.1 root 3103:
3104: addq.l #1,d7 ; errcnt
3105: check_ext_done:
3106: movem.l (sp)+,d0/a0-a2
3107: unlk a6
3108: rts
3109:
1.1.1.4 ! root 3110: ; Fライン例外をテスト用のものに差し替える。
! 3111: ; 変更前のアドレスを a4 に格納する。
! 3112: ; a1 は破壊する。
! 3113: set_fline:
! 3114: movem.l d0-d1,-(sp)
! 3115: moveq.l #$b,d1
! 3116: lea.l fline_handler(pc),a1
! 3117: IOCS _B_INTVCS
! 3118: movea.l d0,a4
! 3119: movem.l (sp)+,d0-d1
! 3120: rts
! 3121:
! 3122: ; Fライン例外を元に戻す。
! 3123: ; a1 は破壊する。
! 3124: restore_fline:
! 3125: movem.l d0-d1,-(sp)
! 3126: moveq.l #$b,d1
! 3127: movea.l a4,a1
! 3128: IOCS _B_INTVCS
! 3129: movem.l (sp)+,d0-d1
! 3130: rts
! 3131:
1.1 root 3132: ; Fライン例外ハンドラ
3133: ; a3 に戻りアドレスをセットしてあること
3134: ; d7 を 1 にして帰る
3135: fline_handler:
3136: moveq.l #1,d7
3137: move.l a3,2(sp)
3138: rte
3139:
3140: ; FPn を埋める初期値
3141: initdata:
1.1.1.4 ! root 3142: .dc.l $00010000, $80888888, $88888888
! 3143: .dc.l $00010000, $80111111, $11111111
! 3144: .dc.l $00010000, $80222222, $22222222
! 3145: .dc.l $00010000, $80333333, $33333333
! 3146: .dc.l $00010000, $80444444, $44444444
! 3147: .dc.l $00010000, $80555555, $55555555
! 3148: .dc.l $00010000, $80666666, $66666666
! 3149: .dc.l $00010000, $80777777, $77777777
1.1 root 3150:
3151: ; ターゲットの FPn に転送するデータ
3152: srcdata:
1.1.1.4 ! root 3153: .dc.l $3fff0000, $80aaaaaa, $aaaaaaaa
! 3154: .dc.l $3fff0000, $80bbbbbb, $bbbbbbbb
1.1 root 3155:
1.1.1.4 ! root 3156: ; 書き込み先の初期化用データ
! 3157: initdata_from:
! 3158: .dc.l $90919293, $94959697, $98999a9b
1.1 root 3159:
1.1.1.3 root 3160: msg_hard: .dc.b "hard mode",$d,$a,0
3161: msg_easy: .dc.b "easy mode",$d,$a,0
1.1 root 3162: msg_oktrap: .dc.b $9,"ok(trap)",$d,$a,0, 0,0
3163: msg_fail_notrap: .dc.b $9,"FAIL: trap expected but not occured",$d,$a,0
3164: msg_fail_trap: .dc.b $9,"FAIL: unexpected trap occured",$d,$a,0
1.1.1.4 ! root 3165: msg_skip_dst: .dc.b $9,"SKIP(dstmem)",0
1.1 root 3166:
3167: msg_ok: .dc.b $9,"ok",$d,$a,0
3168: msg_fail_fp0: .dc.b $9,"FAIL: fp0 expects ",0
3169: msg_fail_fp1: .dc.b $9,"FAIL: fp1 expects ",0
3170: msg_fail_fp2: .dc.b $9,"FAIL: fp2 expects ",0
3171: msg_fail_fp3: .dc.b $9,"FAIL: fp3 expects ",0
3172: msg_fail_fp4: .dc.b $9,"FAIL: fp4 expects ",0
3173: msg_fail_fp5: .dc.b $9,"FAIL: fp5 expects ",0
3174: msg_fail_fp6: .dc.b $9,"FAIL: fp6 expects ",0
3175: msg_fail_fp7: .dc.b $9,"FAIL: fp7 expects ",0
3176: msg_fail_1st: .dc.b $9,"FAIL: 1st expects ",0
3177: msg_fail_2nd: .dc.b $9,"FAIL: 2nd expects ",0
3178: msg_fail_addr: .dc.b $9,"FAIL: an expects ",0
3179: msg_but: .dc.b " but ",0
3180: msg_crlf: .dc.b $d,$a,0
3181:
1.1.1.4 ! root 3182: msg_test_0: .dc.b "00:pred;fmovem.x d0,fp5-fp6",0
! 3183: msg_test_1: .dc.b "01:pred;fmovem.x a0,fp5-fp6",0
! 3184: msg_test_2: .dc.b "02:pred;fmovem.x (a0),fp5-fp6",0
! 3185: msg_test_3: .dc.b "03:pred;fmovem.x (a0)+,fp5-fp6",0
! 3186: msg_test_4: .dc.b "04:pred;fmovem.x -(a0),fp5-fp6",0
! 3187: msg_test_5: .dc.b "05:pred;fmovem.x d16(a0),fp5-fp6",0
! 3188: msg_test_6: .dc.b "06:pred;fmovem.x d8(a0,ix),fp5-fp6",0
! 3189: msg_test_7: .dc.b "07:pred;fmovem.x d0,d6<fp4-fp5>",0
! 3190: msg_test_8: .dc.b "08:pred;fmovem.x a0,d6<fp4-fp5>",0
! 3191: msg_test_9: .dc.b "09:pred;fmovem.x (a0),d6<fp4-fp5>",0
! 3192: msg_test_10: .dc.b "10:pred;fmovem.x (a0)+,d6<fp4-fp5>",0
! 3193: msg_test_11: .dc.b "11:pred;fmovem.x -(a0),d6<fp4-fp5>",0
! 3194: msg_test_12: .dc.b "12:pred;fmovem.x d16(a0),d6<fp4-fp5>",0
! 3195: msg_test_13: .dc.b "13:pred;fmovem.x d8(a0,ix),d6<fp4-fp5>",0
! 3196: msg_test_14: .dc.b "14:ctrl;fmovem.x d0,fp1-fp2",0
! 3197: msg_test_15: .dc.b "15:ctrl;fmovem.x a0,fp1-fp2",0
! 3198: msg_test_16: .dc.b "16:ctrl;fmovem.x (a0),fp1-fp2",0
! 3199: msg_test_17: .dc.b "17:ctrl;fmovem.x (a0)+,fp1-fp2",0
! 3200: msg_test_18: .dc.b "18:ctrl;fmovem.x -(a0),fp1-fp2",0
! 3201: msg_test_19: .dc.b "19:ctrl;fmovem.x d16(a0),fp1-fp2",0
! 3202: msg_test_20: .dc.b "20:ctrl;fmovem.x d8(a0,ix),fp1-fp2",0
! 3203: msg_test_21: .dc.b "21:ctrl;fmovem.x d0,d6<fp2-fp3>",0
! 3204: msg_test_22: .dc.b "22:ctrl;fmovem.x a0,d6<fp2-fp3>",0
! 3205: msg_test_23: .dc.b "23:ctrl;fmovem.x (a0),d6<fp2-fp3>",0
! 3206: msg_test_24: .dc.b "24:ctrl;fmovem.x (a0)+,d6<fp2-fp3>",0
! 3207: msg_test_25: .dc.b "25:ctrl;fmovem.x -(a0),d6<fp2-fp3>",0
! 3208: msg_test_26: .dc.b "26:ctrl;fmovem.x d16(a0),d6<fp2-fp3>",0
! 3209: msg_test_27: .dc.b "27:ctrl;fmovem.x d8(a0,ix),d6<fp2-fp3>",0
! 3210: msg_test_28: .dc.b "28:pred;fmovem.x fp5-fp6,d0",0
! 3211: msg_test_29: .dc.b "29:pred;fmovem.x fp5-fp6,a0",0
! 3212: msg_test_30: .dc.b "30:pred;fmovem.x fp5-fp6,(a0)",0
! 3213: msg_test_31: .dc.b "31:pred;fmovem.x fp5-fp6,(a0)+",0
! 3214: msg_test_32: .dc.b "32:pred;fmovem.x fp5-fp6,-(a0)",0
! 3215: msg_test_33: .dc.b "33:pred;fmovem.x fp5-fp6,d16(a0)",0
! 3216: msg_test_34: .dc.b "34:pred;fmovem.x fp5-fp6,d8(a0,ix)",0
! 3217: msg_test_35: .dc.b "35:pred;fmovem.x d6<fp4-fp5>,d0",0
! 3218: msg_test_36: .dc.b "36:pred;fmovem.x d6<fp4-fp5>,a0",0
! 3219: msg_test_37: .dc.b "37:pred;fmovem.x d6<fp4-fp5>,(a0)",0
! 3220: msg_test_38: .dc.b "38:pred;fmovem.x d6<fp4-fp5>,(a0)+",0
! 3221: msg_test_39: .dc.b "39:pred;fmovem.x d6<fp4-fp5>,-(a0)",0
! 3222: msg_test_40: .dc.b "40:pred;fmovem.x d6<fp4-fp5>,d16(a0)",0
! 3223: msg_test_41: .dc.b "41:pred;fmovem.x d6<fp4-fp5>,d8(a0,ix)",0
! 3224: msg_test_42: .dc.b "42:ctrl;fmovem.x fp1-fp2,d0",0
! 3225: msg_test_43: .dc.b "43:ctrl;fmovem.x fp1-fp2,a0",0
! 3226: msg_test_44: .dc.b "44:ctrl;fmovem.x fp1-fp2,(a0)",0
! 3227: msg_test_45: .dc.b "45:ctrl;fmovem.x fp1-fp2,(a0)+",0
! 3228: msg_test_46: .dc.b "46:ctrl;fmovem.x fp1-fp2,-(a0)",0
! 3229: msg_test_47: .dc.b "47:ctrl;fmovem.x fp1-fp2,d16(a0)",0
! 3230: msg_test_48: .dc.b "48:ctrl;fmovem.x fp1-fp2,d8(a0,ix)",0
! 3231: msg_test_49: .dc.b "49:ctrl;fmovem.x d6<fp2-fp3>,d0",0
! 3232: msg_test_50: .dc.b "50:ctrl;fmovem.x d6<fp2-fp3>,a0",0
! 3233: msg_test_51: .dc.b "51:ctrl;fmovem.x d6<fp2-fp3>,(a0)",0
! 3234: msg_test_52: .dc.b "52:ctrl;fmovem.x d6<fp2-fp3>,(a0)+",0
! 3235: msg_test_53: .dc.b "53:ctrl;fmovem.x d6<fp2-fp3>,-(a0)",0
! 3236: msg_test_54: .dc.b "54:ctrl;fmovem.x d6<fp2-fp3>,d16(a0)",0
! 3237: msg_test_55: .dc.b "55:ctrl;fmovem.x d6<fp2-fp3>,d8(a0,ix)",0
! 3238: msg_test_nofpn: .dc.b "fmovem.x (a0)+,nofpn",0
! 3239: msg_test_illdyn:.dc.b "fmovem.x (a0),d6<FP0>_bit",0
1.1 root 3240:
3241: .data
3242: .even
3243: workarea: .ds.b 24
1.1.1.3 root 3244: buf: .ds.b 64
1.1 root 3245:
3246: .end start
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.