Annotation of nono/exp/fmovemc.has, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.