Annotation of nono/exp/fmoveto.has, revision 1.1.1.1

1.1       root        1: ;
                      2: ; nono
                      3: ; Copyright (C) 2025 nono project
                      4: ;
                      5: ; Redistribution and use in source and binary forms, with or without
                      6: ; modification, are permitted provided that the following conditions
                      7: ; are met:
                      8: ; 1. Redistributions of source code must retain the above copyright
                      9: ;    notice, this list of conditions and the following disclaimer.
                     10: ; 2. Redistributions in binary form must reproduce the above copyright
                     11: ;    notice, this list of conditions and the following disclaimer in the
                     12: ;    documentation and/or other materials provided with the distribution.
                     13: ;
                     14: ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     15: ; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     16: ; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     17: ; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     18: ; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
                     19: ; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
                     20: ; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
                     21: ; AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
                     22: ; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     23: ; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     24: ; SUCH DAMAGE.
                     25: 
                     26: ; FMOVE.? FPn,<ea> で例外の起きる <ea> を確認する。
                     27: ; あと不当命令のところで命令を処理してしまわないことを確認する。
                     28: 
                     29: ; How to compile
                     30: ;  > has fmoveto.has
                     31: ;  > hlk fmoveto.o
                     32: 
                     33:        .include doscall.mac
                     34:        .include iocscall.mac
                     35:        .list
                     36:        .cpu    68030
                     37: 
                     38: PRINT  .macro  msg
                     39:        pea.l   msg
                     40:        DOS     _PRINT
                     41:        addq.l  #4,sp
                     42:        .endm
                     43: 
                     44:        .text
                     45:        .even
                     46: 
                     47: 
                     48: start:
                     49:        bsr     parse_arg
                     50:        clr.l   -(sp)
                     51:        DOS     _SUPER
                     52: 
                     53:        fmovem.x        fp0-fp7,-(sp)
                     54:        fmovem.l        fpcr/fpsr/fpiar,-(sp)
                     55: 
                     56:        moveq.l #0,d0
                     57:        fmove.s d0,fp0          ; FP0 = +0.0
                     58:        fmove.l d0,fpcr         ; Init round prec, round mode.
                     59:        move.l  d0,failed       ; Init failed count.
                     60: 
                     61: @@:
                     62: tst.b  is_fmove(pc)
                     63: beq    @f
                     64: PRINT  msg_head_fmove(pc)
                     65: PRINT  msg_head_guide7(pc)
                     66:        bsr     test_fmove_d
                     67:        bsr     test_fmove_a
                     68:        bsr     test_fmove_m
                     69:        bsr     test_fmove_mi
                     70:        bsr     test_fmove_md
                     71:        bsr     test_fmove_r
                     72:        bsr     test_fmove_x
                     73:        bsr     test_fmove_p
                     74:        bsr     test_fmove_i
                     75:        bsr     test_fmove_o
                     76: @@:
                     77: tst.b  is_fgen(pc)
                     78: beq    @f
                     79: PRINT  msg_head_fgen(pc)
                     80: PRINT  msg_head_guide7(pc)
                     81:        bsr     test_fgen_d
                     82:        bsr     test_fgen_a
                     83:        bsr     test_fgen_m
                     84:        bsr     test_fgen_mi
                     85:        bsr     test_fgen_md
                     86:        bsr     test_fgen_r
                     87:        bsr     test_fgen_x
                     88:        bsr     test_fgen_p
                     89:        bsr     test_fgen_i
                     90:        bsr     test_fgen_o
                     91: @@:
                     92: tst.b  is_fscale(pc)
                     93: beq    @f
                     94: PRINT  msg_head_fscale(pc)
                     95: PRINT  msg_head_guide7(pc)
                     96:        bsr     test_fscale_d
                     97:        bsr     test_fscale_a
                     98:        bsr     test_fscale_m
                     99:        bsr     test_fscale_mi
                    100:        bsr     test_fscale_md
                    101:        bsr     test_fscale_r
                    102:        bsr     test_fscale_x
                    103:        bsr     test_fscale_p
                    104:        bsr     test_fscale_i
                    105:        bsr     test_fscale_o
                    106: @@:
                    107: tst.b  is_fscc(pc)
                    108: beq    @f
                    109: PRINT  msg_head_fscc(pc)
                    110:        bsr     test_fscc_d
                    111:        bsr     test_fscc_m
                    112:        bsr     test_fscc_mi
                    113:        bsr     test_fscc_md
                    114:        bsr     test_fscc_r
                    115:        bsr     test_fscc_x
                    116:        bsr     test_fscc_o
                    117: @@:
                    118: tst.b  is_fmovem_rm(pc)
                    119: beq    @f
                    120: PRINT  msg_head_fmovem_rm(pc)
                    121:        bsr     test_fmovem_rm_d
                    122:        bsr     test_fmovem_rm_a
                    123:        bsr     test_fmovem_rm_m
                    124:        bsr     test_fmovem_rm_mi
                    125:        bsr     test_fmovem_rm_md
                    126:        bsr     test_fmovem_rm_r
                    127:        bsr     test_fmovem_rm_x
                    128:        bsr     test_fmovem_rm_p
                    129:        bsr     test_fmovem_rm_i
                    130:        bsr     test_fmovem_rm_o
                    131: @@:
                    132: tst.b  is_fmovem_mr(pc)
                    133: beq    @f
                    134: PRINT  msg_head_fmovem_mr(pc)
                    135:        bsr     test_fmovem_mr_d
                    136:        bsr     test_fmovem_mr_a
                    137:        bsr     test_fmovem_mr_m
                    138:        bsr     test_fmovem_mr_mi
                    139:        bsr     test_fmovem_mr_md
                    140:        bsr     test_fmovem_mr_r
                    141:        bsr     test_fmovem_mr_x
                    142:        bsr     test_fmovem_mr_p
                    143:        bsr     test_fmovem_mr_i
                    144:        bsr     test_fmovem_mr_o
                    145: @@:
                    146: tst.b  is_fmovem_cm(pc)
                    147: beq    @f
                    148: PRINT  msg_head_fmovem_cm(pc)
                    149: PRINT  msg_head_guide4(pc)
                    150:        bsr     test_fmovem_cm_d
                    151:        bsr     test_fmovem_cm_a
                    152:        bsr     test_fmovem_cm_m
                    153:        bsr     test_fmovem_cm_mi
                    154:        bsr     test_fmovem_cm_md
                    155:        bsr     test_fmovem_cm_r
                    156:        bsr     test_fmovem_cm_x
                    157:        bsr     test_fmovem_cm_p
                    158:        bsr     test_fmovem_cm_i
                    159:        bsr     test_fmovem_cm_o
                    160: @@:
                    161: tst.b  is_fmovem_mc(pc)
                    162: beq    @f
                    163: PRINT  msg_head_fmovem_mc(pc)
                    164: PRINT  msg_head_guide4(pc)
                    165:        bsr     test_fmovem_mc_d
                    166:        bsr     test_fmovem_mc_a
                    167:        bsr     test_fmovem_mc_m
                    168:        bsr     test_fmovem_mc_mi
                    169:        bsr     test_fmovem_mc_md
                    170:        bsr     test_fmovem_mc_r
                    171:        bsr     test_fmovem_mc_x
                    172:        bsr     test_fmovem_mc_p
                    173:        bsr     test_fmovem_mc_i
                    174:        bsr     test_fmovem_mc_o
                    175: @@:
                    176:        tst.l   failed(pc)
                    177:        beq     @f
                    178:        PRINT   msg_failed(pc)
                    179: @@:
                    180:        fmovem.l        (sp)+,fpcr/fpsr/fpiar
                    181:        fmovem.x        (sp)+,fp0-fp7
                    182:        DOS     _EXIT
                    183: 
                    184: test_fmove_d:
                    185:        lea.l   result(pc),a2
                    186:        ; FMOVE.B FPn,Dn
                    187:        move.b  #$0b,(a2)+
                    188:        fmovem.l        #$0b000000,fpsr
                    189:        bsr     set_fline
                    190:        moveq.l #0,d7
                    191:        lea.l   @f,a3
                    192:        .dc.l   $f2067800
                    193: @@:
                    194:        bsr     restore_fline
                    195:        fmovem.l        fpsr,d0
                    196:        rol.l   #8,d0
                    197:        or.l    d7,d0
                    198:        move.b  d0,(a2)+
                    199: 
                    200:        ; FMOVE.W FPn,Dn
                    201:        move.b  #$0b,(a2)+
                    202:        fmovem.l        #$0b000000,fpsr
                    203:        bsr     set_fline
                    204:        moveq.l #0,d7
                    205:        lea.l   @f,a3
                    206:        .dc.l   $f2067000
                    207: @@:
                    208:        bsr     restore_fline
                    209:        fmovem.l        fpsr,d0
                    210:        rol.l   #8,d0
                    211:        or.l    d7,d0
                    212:        move.b  d0,(a2)+
                    213: 
                    214:        ; FMOVE.L FPn,Dn
                    215:        move.b  #$0b,(a2)+
                    216:        fmovem.l        #$0b000000,fpsr
                    217:        bsr     set_fline
                    218:        moveq.l #0,d7
                    219:        lea.l   @f,a3
                    220:        .dc.l   $f2066000
                    221: @@:
                    222:        bsr     restore_fline
                    223:        fmovem.l        fpsr,d0
                    224:        rol.l   #8,d0
                    225:        or.l    d7,d0
                    226:        move.b  d0,(a2)+
                    227: 
                    228:        ; FMOVE.S FPn,Dn
                    229:        move.b  #$0b,(a2)+
                    230:        fmovem.l        #$0b000000,fpsr
                    231:        bsr     set_fline
                    232:        moveq.l #0,d7
                    233:        lea.l   @f,a3
                    234:        .dc.l   $f2066400
                    235: @@:
                    236:        bsr     restore_fline
                    237:        fmovem.l        fpsr,d0
                    238:        rol.l   #8,d0
                    239:        or.l    d7,d0
                    240:        move.b  d0,(a2)+
                    241: 
                    242:        ; FMOVE.D FPn,Dn
                    243:        move.b  #$1b,(a2)+
                    244:        fmovem.l        #$0b000000,fpsr
                    245:        bsr     set_fline
                    246:        moveq.l #0,d7
                    247:        lea.l   @f,a3
                    248:        .dc.l   $f2067400
                    249: @@:
                    250:        bsr     restore_fline
                    251:        fmovem.l        fpsr,d0
                    252:        rol.l   #8,d0
                    253:        or.l    d7,d0
                    254:        move.b  d0,(a2)+
                    255: 
                    256:        ; FMOVE.X FPn,Dn
                    257:        move.b  #$1b,(a2)+
                    258:        fmovem.l        #$0b000000,fpsr
                    259:        bsr     set_fline
                    260:        moveq.l #0,d7
                    261:        lea.l   @f,a3
                    262:        .dc.l   $f2066800
                    263: @@:
                    264:        bsr     restore_fline
                    265:        fmovem.l        fpsr,d0
                    266:        rol.l   #8,d0
                    267:        or.l    d7,d0
                    268:        move.b  d0,(a2)+
                    269: 
                    270:        ; FMOVE.P FPn,Dn
                    271:        move.b  #$1b,(a2)+
                    272:        fmovem.l        #$0b000000,fpsr
                    273:        bsr     set_fline
                    274:        moveq.l #0,d7
                    275:        lea.l   @f,a3
                    276:        .dc.l   $f2066c00
                    277: @@:
                    278:        bsr     restore_fline
                    279:        fmovem.l        fpsr,d0
                    280:        rol.l   #8,d0
                    281:        or.l    d7,d0
                    282:        move.b  d0,(a2)+
                    283: 
                    284:        lea.l   msg_test_d,a0
                    285:        moveq.l #7-1,d0
                    286:        bsr     print_result
                    287:        rts
                    288: 
                    289: test_fmove_a:
                    290:        lea.l   result(pc),a2
                    291:        ; FMOVE.B FPn,An
                    292:        move.b  #$1b,(a2)+
                    293:        fmovem.l        #$0b000000,fpsr
                    294:        bsr     set_fline
                    295:        moveq.l #0,d7
                    296:        lea.l   @f,a3
                    297:        .dc.l   $f2087800
                    298: @@:
                    299:        bsr     restore_fline
                    300:        fmovem.l        fpsr,d0
                    301:        rol.l   #8,d0
                    302:        or.l    d7,d0
                    303:        move.b  d0,(a2)+
                    304: 
                    305:        ; FMOVE.W FPn,An
                    306:        move.b  #$1b,(a2)+
                    307:        fmovem.l        #$0b000000,fpsr
                    308:        bsr     set_fline
                    309:        moveq.l #0,d7
                    310:        lea.l   @f,a3
                    311:        .dc.l   $f2087000
                    312: @@:
                    313:        bsr     restore_fline
                    314:        fmovem.l        fpsr,d0
                    315:        rol.l   #8,d0
                    316:        or.l    d7,d0
                    317:        move.b  d0,(a2)+
                    318: 
                    319:        ; FMOVE.L FPn,An
                    320:        move.b  #$1b,(a2)+
                    321:        fmovem.l        #$0b000000,fpsr
                    322:        bsr     set_fline
                    323:        moveq.l #0,d7
                    324:        lea.l   @f,a3
                    325:        .dc.l   $f2086000
                    326: @@:
                    327:        bsr     restore_fline
                    328:        fmovem.l        fpsr,d0
                    329:        rol.l   #8,d0
                    330:        or.l    d7,d0
                    331:        move.b  d0,(a2)+
                    332: 
                    333:        ; FMOVE.S FPn,An
                    334:        move.b  #$1b,(a2)+
                    335:        fmovem.l        #$0b000000,fpsr
                    336:        bsr     set_fline
                    337:        moveq.l #0,d7
                    338:        lea.l   @f,a3
                    339:        .dc.l   $f2086400
                    340: @@:
                    341:        bsr     restore_fline
                    342:        fmovem.l        fpsr,d0
                    343:        rol.l   #8,d0
                    344:        or.l    d7,d0
                    345:        move.b  d0,(a2)+
                    346: 
                    347:        ; FMOVE.D FPn,An
                    348:        move.b  #$1b,(a2)+
                    349:        fmovem.l        #$0b000000,fpsr
                    350:        bsr     set_fline
                    351:        moveq.l #0,d7
                    352:        lea.l   @f,a3
                    353:        .dc.l   $f2087400
                    354: @@:
                    355:        bsr     restore_fline
                    356:        fmovem.l        fpsr,d0
                    357:        rol.l   #8,d0
                    358:        or.l    d7,d0
                    359:        move.b  d0,(a2)+
                    360: 
                    361:        ; FMOVE.X FPn,An
                    362:        move.b  #$1b,(a2)+
                    363:        fmovem.l        #$0b000000,fpsr
                    364:        bsr     set_fline
                    365:        moveq.l #0,d7
                    366:        lea.l   @f,a3
                    367:        .dc.l   $f2086800
                    368: @@:
                    369:        bsr     restore_fline
                    370:        fmovem.l        fpsr,d0
                    371:        rol.l   #8,d0
                    372:        or.l    d7,d0
                    373:        move.b  d0,(a2)+
                    374: 
                    375:        ; FMOVE.P FPn,An
                    376:        move.b  #$1b,(a2)+
                    377:        fmovem.l        #$0b000000,fpsr
                    378:        bsr     set_fline
                    379:        moveq.l #0,d7
                    380:        lea.l   @f,a3
                    381:        .dc.l   $f2086c00
                    382: @@:
                    383:        bsr     restore_fline
                    384:        fmovem.l        fpsr,d0
                    385:        rol.l   #8,d0
                    386:        or.l    d7,d0
                    387:        move.b  d0,(a2)+
                    388: 
                    389:        lea.l   msg_test_a,a0
                    390:        moveq.l #7-1,d0
                    391:        bsr     print_result
                    392:        rts
                    393: 
                    394: test_fmove_m:
                    395:        lea.l   result(pc),a2
                    396:        ; FMOVE.B FPn,(An)
                    397:        move.b  #$0b,(a2)+
                    398:        fmovem.l        #$0b000000,fpsr
                    399:        bsr     set_fline
                    400:        moveq.l #0,d7
                    401:        lea.l   workarea(pc),a0
                    402:        lea.l   @f,a3
                    403:        .dc.l   $f2107800
                    404: @@:
                    405:        bsr     restore_fline
                    406:        fmovem.l        fpsr,d0
                    407:        rol.l   #8,d0
                    408:        or.l    d7,d0
                    409:        move.b  d0,(a2)+
                    410: 
                    411:        ; FMOVE.W FPn,(An)
                    412:        move.b  #$0b,(a2)+
                    413:        fmovem.l        #$0b000000,fpsr
                    414:        bsr     set_fline
                    415:        moveq.l #0,d7
                    416:        lea.l   workarea(pc),a0
                    417:        lea.l   @f,a3
                    418:        .dc.l   $f2107000
                    419: @@:
                    420:        bsr     restore_fline
                    421:        fmovem.l        fpsr,d0
                    422:        rol.l   #8,d0
                    423:        or.l    d7,d0
                    424:        move.b  d0,(a2)+
                    425: 
                    426:        ; FMOVE.L FPn,(An)
                    427:        move.b  #$0b,(a2)+
                    428:        fmovem.l        #$0b000000,fpsr
                    429:        bsr     set_fline
                    430:        moveq.l #0,d7
                    431:        lea.l   workarea(pc),a0
                    432:        lea.l   @f,a3
                    433:        .dc.l   $f2106000
                    434: @@:
                    435:        bsr     restore_fline
                    436:        fmovem.l        fpsr,d0
                    437:        rol.l   #8,d0
                    438:        or.l    d7,d0
                    439:        move.b  d0,(a2)+
                    440: 
                    441:        ; FMOVE.S FPn,(An)
                    442:        move.b  #$0b,(a2)+
                    443:        fmovem.l        #$0b000000,fpsr
                    444:        bsr     set_fline
                    445:        moveq.l #0,d7
                    446:        lea.l   workarea(pc),a0
                    447:        lea.l   @f,a3
                    448:        .dc.l   $f2106400
                    449: @@:
                    450:        bsr     restore_fline
                    451:        fmovem.l        fpsr,d0
                    452:        rol.l   #8,d0
                    453:        or.l    d7,d0
                    454:        move.b  d0,(a2)+
                    455: 
                    456:        ; FMOVE.D FPn,(An)
                    457:        move.b  #$0b,(a2)+
                    458:        fmovem.l        #$0b000000,fpsr
                    459:        bsr     set_fline
                    460:        moveq.l #0,d7
                    461:        lea.l   workarea(pc),a0
                    462:        lea.l   @f,a3
                    463:        .dc.l   $f2107400
                    464: @@:
                    465:        bsr     restore_fline
                    466:        fmovem.l        fpsr,d0
                    467:        rol.l   #8,d0
                    468:        or.l    d7,d0
                    469:        move.b  d0,(a2)+
                    470: 
                    471:        ; FMOVE.X FPn,(An)
                    472:        move.b  #$0b,(a2)+
                    473:        fmovem.l        #$0b000000,fpsr
                    474:        bsr     set_fline
                    475:        moveq.l #0,d7
                    476:        lea.l   workarea(pc),a0
                    477:        lea.l   @f,a3
                    478:        .dc.l   $f2106800
                    479: @@:
                    480:        bsr     restore_fline
                    481:        fmovem.l        fpsr,d0
                    482:        rol.l   #8,d0
                    483:        or.l    d7,d0
                    484:        move.b  d0,(a2)+
                    485: 
                    486:        ; FMOVE.P FPn,(An)
                    487:        move.b  #$0b,(a2)+
                    488:        fmovem.l        #$0b000000,fpsr
                    489:        bsr     set_fline
                    490:        moveq.l #0,d7
                    491:        lea.l   workarea(pc),a0
                    492:        lea.l   @f,a3
                    493:        .dc.l   $f2106c00
                    494: @@:
                    495:        bsr     restore_fline
                    496:        fmovem.l        fpsr,d0
                    497:        rol.l   #8,d0
                    498:        or.l    d7,d0
                    499:        move.b  d0,(a2)+
                    500: 
                    501:        lea.l   msg_test_m,a0
                    502:        moveq.l #7-1,d0
                    503:        bsr     print_result
                    504:        rts
                    505: 
                    506: test_fmove_mi:
                    507:        lea.l   result(pc),a2
                    508:        ; FMOVE.B FPn,(An)+
                    509:        move.b  #$0b,(a2)+
                    510:        fmovem.l        #$0b000000,fpsr
                    511:        bsr     set_fline
                    512:        moveq.l #0,d7
                    513:        lea.l   workarea(pc),a0
                    514:        lea.l   @f,a3
                    515:        .dc.l   $f2187800
                    516: @@:
                    517:        bsr     restore_fline
                    518:        fmovem.l        fpsr,d0
                    519:        rol.l   #8,d0
                    520:        or.l    d7,d0
                    521:        move.b  d0,(a2)+
                    522: 
                    523:        ; FMOVE.W FPn,(An)+
                    524:        move.b  #$0b,(a2)+
                    525:        fmovem.l        #$0b000000,fpsr
                    526:        bsr     set_fline
                    527:        moveq.l #0,d7
                    528:        lea.l   workarea(pc),a0
                    529:        lea.l   @f,a3
                    530:        .dc.l   $f2187000
                    531: @@:
                    532:        bsr     restore_fline
                    533:        fmovem.l        fpsr,d0
                    534:        rol.l   #8,d0
                    535:        or.l    d7,d0
                    536:        move.b  d0,(a2)+
                    537: 
                    538:        ; FMOVE.L FPn,(An)+
                    539:        move.b  #$0b,(a2)+
                    540:        fmovem.l        #$0b000000,fpsr
                    541:        bsr     set_fline
                    542:        moveq.l #0,d7
                    543:        lea.l   workarea(pc),a0
                    544:        lea.l   @f,a3
                    545:        .dc.l   $f2186000
                    546: @@:
                    547:        bsr     restore_fline
                    548:        fmovem.l        fpsr,d0
                    549:        rol.l   #8,d0
                    550:        or.l    d7,d0
                    551:        move.b  d0,(a2)+
                    552: 
                    553:        ; FMOVE.S FPn,(An)+
                    554:        move.b  #$0b,(a2)+
                    555:        fmovem.l        #$0b000000,fpsr
                    556:        bsr     set_fline
                    557:        moveq.l #0,d7
                    558:        lea.l   workarea(pc),a0
                    559:        lea.l   @f,a3
                    560:        .dc.l   $f2186400
                    561: @@:
                    562:        bsr     restore_fline
                    563:        fmovem.l        fpsr,d0
                    564:        rol.l   #8,d0
                    565:        or.l    d7,d0
                    566:        move.b  d0,(a2)+
                    567: 
                    568:        ; FMOVE.D FPn,(An)+
                    569:        move.b  #$0b,(a2)+
                    570:        fmovem.l        #$0b000000,fpsr
                    571:        bsr     set_fline
                    572:        moveq.l #0,d7
                    573:        lea.l   workarea(pc),a0
                    574:        lea.l   @f,a3
                    575:        .dc.l   $f2187400
                    576: @@:
                    577:        bsr     restore_fline
                    578:        fmovem.l        fpsr,d0
                    579:        rol.l   #8,d0
                    580:        or.l    d7,d0
                    581:        move.b  d0,(a2)+
                    582: 
                    583:        ; FMOVE.X FPn,(An)+
                    584:        move.b  #$0b,(a2)+
                    585:        fmovem.l        #$0b000000,fpsr
                    586:        bsr     set_fline
                    587:        moveq.l #0,d7
                    588:        lea.l   workarea(pc),a0
                    589:        lea.l   @f,a3
                    590:        .dc.l   $f2186800
                    591: @@:
                    592:        bsr     restore_fline
                    593:        fmovem.l        fpsr,d0
                    594:        rol.l   #8,d0
                    595:        or.l    d7,d0
                    596:        move.b  d0,(a2)+
                    597: 
                    598:        ; FMOVE.P FPn,(An)+
                    599:        move.b  #$0b,(a2)+
                    600:        fmovem.l        #$0b000000,fpsr
                    601:        bsr     set_fline
                    602:        moveq.l #0,d7
                    603:        lea.l   workarea(pc),a0
                    604:        lea.l   @f,a3
                    605:        .dc.l   $f2186c00
                    606: @@:
                    607:        bsr     restore_fline
                    608:        fmovem.l        fpsr,d0
                    609:        rol.l   #8,d0
                    610:        or.l    d7,d0
                    611:        move.b  d0,(a2)+
                    612: 
                    613:        lea.l   msg_test_mi,a0
                    614:        moveq.l #7-1,d0
                    615:        bsr     print_result
                    616:        rts
                    617: 
                    618: test_fmove_md:
                    619:        lea.l   result(pc),a2
                    620:        ; FMOVE.B FPn,-(An)
                    621:        move.b  #$0b,(a2)+
                    622:        fmovem.l        #$0b000000,fpsr
                    623:        bsr     set_fline
                    624:        moveq.l #0,d7
                    625:        lea.l   workarea+12(pc),a0
                    626:        lea.l   @f,a3
                    627:        .dc.l   $f2207800
                    628: @@:
                    629:        bsr     restore_fline
                    630:        fmovem.l        fpsr,d0
                    631:        rol.l   #8,d0
                    632:        or.l    d7,d0
                    633:        move.b  d0,(a2)+
                    634: 
                    635:        ; FMOVE.W FPn,-(An)
                    636:        move.b  #$0b,(a2)+
                    637:        fmovem.l        #$0b000000,fpsr
                    638:        bsr     set_fline
                    639:        moveq.l #0,d7
                    640:        lea.l   workarea+12(pc),a0
                    641:        lea.l   @f,a3
                    642:        .dc.l   $f2207000
                    643: @@:
                    644:        bsr     restore_fline
                    645:        fmovem.l        fpsr,d0
                    646:        rol.l   #8,d0
                    647:        or.l    d7,d0
                    648:        move.b  d0,(a2)+
                    649: 
                    650:        ; FMOVE.L FPn,-(An)
                    651:        move.b  #$0b,(a2)+
                    652:        fmovem.l        #$0b000000,fpsr
                    653:        bsr     set_fline
                    654:        moveq.l #0,d7
                    655:        lea.l   workarea+12(pc),a0
                    656:        lea.l   @f,a3
                    657:        .dc.l   $f2206000
                    658: @@:
                    659:        bsr     restore_fline
                    660:        fmovem.l        fpsr,d0
                    661:        rol.l   #8,d0
                    662:        or.l    d7,d0
                    663:        move.b  d0,(a2)+
                    664: 
                    665:        ; FMOVE.S FPn,-(An)
                    666:        move.b  #$0b,(a2)+
                    667:        fmovem.l        #$0b000000,fpsr
                    668:        bsr     set_fline
                    669:        moveq.l #0,d7
                    670:        lea.l   workarea+12(pc),a0
                    671:        lea.l   @f,a3
                    672:        .dc.l   $f2206400
                    673: @@:
                    674:        bsr     restore_fline
                    675:        fmovem.l        fpsr,d0
                    676:        rol.l   #8,d0
                    677:        or.l    d7,d0
                    678:        move.b  d0,(a2)+
                    679: 
                    680:        ; FMOVE.D FPn,-(An)
                    681:        move.b  #$0b,(a2)+
                    682:        fmovem.l        #$0b000000,fpsr
                    683:        bsr     set_fline
                    684:        moveq.l #0,d7
                    685:        lea.l   workarea+12(pc),a0
                    686:        lea.l   @f,a3
                    687:        .dc.l   $f2207400
                    688: @@:
                    689:        bsr     restore_fline
                    690:        fmovem.l        fpsr,d0
                    691:        rol.l   #8,d0
                    692:        or.l    d7,d0
                    693:        move.b  d0,(a2)+
                    694: 
                    695:        ; FMOVE.X FPn,-(An)
                    696:        move.b  #$0b,(a2)+
                    697:        fmovem.l        #$0b000000,fpsr
                    698:        bsr     set_fline
                    699:        moveq.l #0,d7
                    700:        lea.l   workarea+12(pc),a0
                    701:        lea.l   @f,a3
                    702:        .dc.l   $f2206800
                    703: @@:
                    704:        bsr     restore_fline
                    705:        fmovem.l        fpsr,d0
                    706:        rol.l   #8,d0
                    707:        or.l    d7,d0
                    708:        move.b  d0,(a2)+
                    709: 
                    710:        ; FMOVE.P FPn,-(An)
                    711:        move.b  #$0b,(a2)+
                    712:        fmovem.l        #$0b000000,fpsr
                    713:        bsr     set_fline
                    714:        moveq.l #0,d7
                    715:        lea.l   workarea+12(pc),a0
                    716:        lea.l   @f,a3
                    717:        .dc.l   $f2206c00
                    718: @@:
                    719:        bsr     restore_fline
                    720:        fmovem.l        fpsr,d0
                    721:        rol.l   #8,d0
                    722:        or.l    d7,d0
                    723:        move.b  d0,(a2)+
                    724: 
                    725:        lea.l   msg_test_md,a0
                    726:        moveq.l #7-1,d0
                    727:        bsr     print_result
                    728:        rts
                    729: 
                    730: test_fmove_r:
                    731:        lea.l   result(pc),a2
                    732:        ; FMOVE.B FPn,d16(An)
                    733:        move.b  #$0b,(a2)+
                    734:        fmovem.l        #$0b000000,fpsr
                    735:        bsr     set_fline
                    736:        moveq.l #0,d7
                    737:        lea.l   workarea(pc),a0
                    738:        lea.l   @f,a3
                    739:        .dc.l   $f2287800
                    740:        .dc.w   $0000
                    741: @@:
                    742:        bsr     restore_fline
                    743:        fmovem.l        fpsr,d0
                    744:        rol.l   #8,d0
                    745:        or.l    d7,d0
                    746:        move.b  d0,(a2)+
                    747: 
                    748:        ; FMOVE.W FPn,d16(An)
                    749:        move.b  #$0b,(a2)+
                    750:        fmovem.l        #$0b000000,fpsr
                    751:        bsr     set_fline
                    752:        moveq.l #0,d7
                    753:        lea.l   workarea(pc),a0
                    754:        lea.l   @f,a3
                    755:        .dc.l   $f2287000
                    756:        .dc.w   $0000
                    757: @@:
                    758:        bsr     restore_fline
                    759:        fmovem.l        fpsr,d0
                    760:        rol.l   #8,d0
                    761:        or.l    d7,d0
                    762:        move.b  d0,(a2)+
                    763: 
                    764:        ; FMOVE.L FPn,d16(An)
                    765:        move.b  #$0b,(a2)+
                    766:        fmovem.l        #$0b000000,fpsr
                    767:        bsr     set_fline
                    768:        moveq.l #0,d7
                    769:        lea.l   workarea(pc),a0
                    770:        lea.l   @f,a3
                    771:        .dc.l   $f2286000
                    772:        .dc.w   $0000
                    773: @@:
                    774:        bsr     restore_fline
                    775:        fmovem.l        fpsr,d0
                    776:        rol.l   #8,d0
                    777:        or.l    d7,d0
                    778:        move.b  d0,(a2)+
                    779: 
                    780:        ; FMOVE.S FPn,d16(An)
                    781:        move.b  #$0b,(a2)+
                    782:        fmovem.l        #$0b000000,fpsr
                    783:        bsr     set_fline
                    784:        moveq.l #0,d7
                    785:        lea.l   workarea(pc),a0
                    786:        lea.l   @f,a3
                    787:        .dc.l   $f2286400
                    788:        .dc.w   $0000
                    789: @@:
                    790:        bsr     restore_fline
                    791:        fmovem.l        fpsr,d0
                    792:        rol.l   #8,d0
                    793:        or.l    d7,d0
                    794:        move.b  d0,(a2)+
                    795: 
                    796:        ; FMOVE.D FPn,d16(An)
                    797:        move.b  #$0b,(a2)+
                    798:        fmovem.l        #$0b000000,fpsr
                    799:        bsr     set_fline
                    800:        moveq.l #0,d7
                    801:        lea.l   workarea(pc),a0
                    802:        lea.l   @f,a3
                    803:        .dc.l   $f2287400
                    804:        .dc.w   $0000
                    805: @@:
                    806:        bsr     restore_fline
                    807:        fmovem.l        fpsr,d0
                    808:        rol.l   #8,d0
                    809:        or.l    d7,d0
                    810:        move.b  d0,(a2)+
                    811: 
                    812:        ; FMOVE.X FPn,d16(An)
                    813:        move.b  #$0b,(a2)+
                    814:        fmovem.l        #$0b000000,fpsr
                    815:        bsr     set_fline
                    816:        moveq.l #0,d7
                    817:        lea.l   workarea(pc),a0
                    818:        lea.l   @f,a3
                    819:        .dc.l   $f2286800
                    820:        .dc.w   $0000
                    821: @@:
                    822:        bsr     restore_fline
                    823:        fmovem.l        fpsr,d0
                    824:        rol.l   #8,d0
                    825:        or.l    d7,d0
                    826:        move.b  d0,(a2)+
                    827: 
                    828:        ; FMOVE.P FPn,d16(An)
                    829:        move.b  #$0b,(a2)+
                    830:        fmovem.l        #$0b000000,fpsr
                    831:        bsr     set_fline
                    832:        moveq.l #0,d7
                    833:        lea.l   workarea(pc),a0
                    834:        lea.l   @f,a3
                    835:        .dc.l   $f2286c00
                    836:        .dc.w   $0000
                    837: @@:
                    838:        bsr     restore_fline
                    839:        fmovem.l        fpsr,d0
                    840:        rol.l   #8,d0
                    841:        or.l    d7,d0
                    842:        move.b  d0,(a2)+
                    843: 
                    844:        lea.l   msg_test_r,a0
                    845:        moveq.l #7-1,d0
                    846:        bsr     print_result
                    847:        rts
                    848: 
                    849: test_fmove_x:
                    850:        lea.l   result(pc),a2
                    851:        ; FMOVE.B FPn,d8(An,IX)
                    852:        move.b  #$0b,(a2)+
                    853:        fmovem.l        #$0b000000,fpsr
                    854:        bsr     set_fline
                    855:        moveq.l #0,d7
                    856:        moveq.l #0,d4
                    857:        lea.l   workarea(pc),a0
                    858:        lea.l   @f,a3
                    859:        .dc.l   $f2307800
                    860:        .dc.w   $4000
                    861: @@:
                    862:        bsr     restore_fline
                    863:        fmovem.l        fpsr,d0
                    864:        rol.l   #8,d0
                    865:        or.l    d7,d0
                    866:        move.b  d0,(a2)+
                    867: 
                    868:        ; FMOVE.W FPn,d8(An,IX)
                    869:        move.b  #$0b,(a2)+
                    870:        fmovem.l        #$0b000000,fpsr
                    871:        bsr     set_fline
                    872:        moveq.l #0,d7
                    873:        moveq.l #0,d4
                    874:        lea.l   workarea(pc),a0
                    875:        lea.l   @f,a3
                    876:        .dc.l   $f2307000
                    877:        .dc.w   $4000
                    878: @@:
                    879:        bsr     restore_fline
                    880:        fmovem.l        fpsr,d0
                    881:        rol.l   #8,d0
                    882:        or.l    d7,d0
                    883:        move.b  d0,(a2)+
                    884: 
                    885:        ; FMOVE.L FPn,d8(An,IX)
                    886:        move.b  #$0b,(a2)+
                    887:        fmovem.l        #$0b000000,fpsr
                    888:        bsr     set_fline
                    889:        moveq.l #0,d7
                    890:        moveq.l #0,d4
                    891:        lea.l   workarea(pc),a0
                    892:        lea.l   @f,a3
                    893:        .dc.l   $f2306000
                    894:        .dc.w   $4000
                    895: @@:
                    896:        bsr     restore_fline
                    897:        fmovem.l        fpsr,d0
                    898:        rol.l   #8,d0
                    899:        or.l    d7,d0
                    900:        move.b  d0,(a2)+
                    901: 
                    902:        ; FMOVE.S FPn,d8(An,IX)
                    903:        move.b  #$0b,(a2)+
                    904:        fmovem.l        #$0b000000,fpsr
                    905:        bsr     set_fline
                    906:        moveq.l #0,d7
                    907:        moveq.l #0,d4
                    908:        lea.l   workarea(pc),a0
                    909:        lea.l   @f,a3
                    910:        .dc.l   $f2306400
                    911:        .dc.w   $4000
                    912: @@:
                    913:        bsr     restore_fline
                    914:        fmovem.l        fpsr,d0
                    915:        rol.l   #8,d0
                    916:        or.l    d7,d0
                    917:        move.b  d0,(a2)+
                    918: 
                    919:        ; FMOVE.D FPn,d8(An,IX)
                    920:        move.b  #$0b,(a2)+
                    921:        fmovem.l        #$0b000000,fpsr
                    922:        bsr     set_fline
                    923:        moveq.l #0,d7
                    924:        moveq.l #0,d4
                    925:        lea.l   workarea(pc),a0
                    926:        lea.l   @f,a3
                    927:        .dc.l   $f2307400
                    928:        .dc.w   $4000
                    929: @@:
                    930:        bsr     restore_fline
                    931:        fmovem.l        fpsr,d0
                    932:        rol.l   #8,d0
                    933:        or.l    d7,d0
                    934:        move.b  d0,(a2)+
                    935: 
                    936:        ; FMOVE.X FPn,d8(An,IX)
                    937:        move.b  #$0b,(a2)+
                    938:        fmovem.l        #$0b000000,fpsr
                    939:        bsr     set_fline
                    940:        moveq.l #0,d7
                    941:        moveq.l #0,d4
                    942:        lea.l   workarea(pc),a0
                    943:        lea.l   @f,a3
                    944:        .dc.l   $f2306800
                    945:        .dc.w   $4000
                    946: @@:
                    947:        bsr     restore_fline
                    948:        fmovem.l        fpsr,d0
                    949:        rol.l   #8,d0
                    950:        or.l    d7,d0
                    951:        move.b  d0,(a2)+
                    952: 
                    953:        ; FMOVE.P FPn,d8(An,IX)
                    954:        move.b  #$0b,(a2)+
                    955:        fmovem.l        #$0b000000,fpsr
                    956:        bsr     set_fline
                    957:        moveq.l #0,d7
                    958:        moveq.l #0,d4
                    959:        lea.l   workarea(pc),a0
                    960:        lea.l   @f,a3
                    961:        .dc.l   $f2306c00
                    962:        .dc.w   $4000
                    963: @@:
                    964:        bsr     restore_fline
                    965:        fmovem.l        fpsr,d0
                    966:        rol.l   #8,d0
                    967:        or.l    d7,d0
                    968:        move.b  d0,(a2)+
                    969: 
                    970:        lea.l   msg_test_x,a0
                    971:        moveq.l #7-1,d0
                    972:        bsr     print_result
                    973:        rts
                    974: 
                    975: test_fmove_p:
                    976:        lea.l   result(pc),a2
                    977:        ; FMOVE.B FPn,(PC)
                    978:        move.b  #$1b,(a2)+
                    979:        fmovem.l        #$0b000000,fpsr
                    980:        bsr     set_fline
                    981:        moveq.l #0,d7
                    982:        lea.l   @f,a3
                    983:        .dc.l   $f23a7800
                    984: @@:
                    985:        bsr     restore_fline
                    986:        fmovem.l        fpsr,d0
                    987:        rol.l   #8,d0
                    988:        or.l    d7,d0
                    989:        move.b  d0,(a2)+
                    990: 
                    991:        ; FMOVE.W FPn,(PC)
                    992:        move.b  #$1b,(a2)+
                    993:        fmovem.l        #$0b000000,fpsr
                    994:        bsr     set_fline
                    995:        moveq.l #0,d7
                    996:        lea.l   @f,a3
                    997:        .dc.l   $f23a7000
                    998: @@:
                    999:        bsr     restore_fline
                   1000:        fmovem.l        fpsr,d0
                   1001:        rol.l   #8,d0
                   1002:        or.l    d7,d0
                   1003:        move.b  d0,(a2)+
                   1004: 
                   1005:        ; FMOVE.L FPn,(PC)
                   1006:        move.b  #$1b,(a2)+
                   1007:        fmovem.l        #$0b000000,fpsr
                   1008:        bsr     set_fline
                   1009:        moveq.l #0,d7
                   1010:        lea.l   @f,a3
                   1011:        .dc.l   $f23a6000
                   1012: @@:
                   1013:        bsr     restore_fline
                   1014:        fmovem.l        fpsr,d0
                   1015:        rol.l   #8,d0
                   1016:        or.l    d7,d0
                   1017:        move.b  d0,(a2)+
                   1018: 
                   1019:        ; FMOVE.S FPn,(PC)
                   1020:        move.b  #$1b,(a2)+
                   1021:        fmovem.l        #$0b000000,fpsr
                   1022:        bsr     set_fline
                   1023:        moveq.l #0,d7
                   1024:        lea.l   @f,a3
                   1025:        .dc.l   $f23a6400
                   1026: @@:
                   1027:        bsr     restore_fline
                   1028:        fmovem.l        fpsr,d0
                   1029:        rol.l   #8,d0
                   1030:        or.l    d7,d0
                   1031:        move.b  d0,(a2)+
                   1032: 
                   1033:        ; FMOVE.D FPn,(PC)
                   1034:        move.b  #$1b,(a2)+
                   1035:        fmovem.l        #$0b000000,fpsr
                   1036:        bsr     set_fline
                   1037:        moveq.l #0,d7
                   1038:        lea.l   @f,a3
                   1039:        .dc.l   $f23a7400
                   1040: @@:
                   1041:        bsr     restore_fline
                   1042:        fmovem.l        fpsr,d0
                   1043:        rol.l   #8,d0
                   1044:        or.l    d7,d0
                   1045:        move.b  d0,(a2)+
                   1046: 
                   1047:        ; FMOVE.X FPn,(PC)
                   1048:        move.b  #$1b,(a2)+
                   1049:        fmovem.l        #$0b000000,fpsr
                   1050:        bsr     set_fline
                   1051:        moveq.l #0,d7
                   1052:        lea.l   @f,a3
                   1053:        .dc.l   $f23a6800
                   1054: @@:
                   1055:        bsr     restore_fline
                   1056:        fmovem.l        fpsr,d0
                   1057:        rol.l   #8,d0
                   1058:        or.l    d7,d0
                   1059:        move.b  d0,(a2)+
                   1060: 
                   1061:        ; FMOVE.P FPn,(PC)
                   1062:        move.b  #$1b,(a2)+
                   1063:        fmovem.l        #$0b000000,fpsr
                   1064:        bsr     set_fline
                   1065:        moveq.l #0,d7
                   1066:        lea.l   @f,a3
                   1067:        .dc.l   $f23a6c00
                   1068: @@:
                   1069:        bsr     restore_fline
                   1070:        fmovem.l        fpsr,d0
                   1071:        rol.l   #8,d0
                   1072:        or.l    d7,d0
                   1073:        move.b  d0,(a2)+
                   1074: 
                   1075:        lea.l   msg_test_p,a0
                   1076:        moveq.l #7-1,d0
                   1077:        bsr     print_result
                   1078:        rts
                   1079: 
                   1080: test_fmove_i:
                   1081:        lea.l   result(pc),a2
                   1082:        ; FMOVE.B FPn,#imm
                   1083:        move.b  #$1b,(a2)+
                   1084:        fmovem.l        #$0b000000,fpsr
                   1085:        bsr     set_fline
                   1086:        moveq.l #0,d7
                   1087:        lea.l   @f,a3
                   1088:        .dc.l   $f23c7800
                   1089: @@:
                   1090:        bsr     restore_fline
                   1091:        fmovem.l        fpsr,d0
                   1092:        rol.l   #8,d0
                   1093:        or.l    d7,d0
                   1094:        move.b  d0,(a2)+
                   1095: 
                   1096:        ; FMOVE.W FPn,#imm
                   1097:        move.b  #$1b,(a2)+
                   1098:        fmovem.l        #$0b000000,fpsr
                   1099:        bsr     set_fline
                   1100:        moveq.l #0,d7
                   1101:        lea.l   @f,a3
                   1102:        .dc.l   $f23c7000
                   1103: @@:
                   1104:        bsr     restore_fline
                   1105:        fmovem.l        fpsr,d0
                   1106:        rol.l   #8,d0
                   1107:        or.l    d7,d0
                   1108:        move.b  d0,(a2)+
                   1109: 
                   1110:        ; FMOVE.L FPn,#imm
                   1111:        move.b  #$1b,(a2)+
                   1112:        fmovem.l        #$0b000000,fpsr
                   1113:        bsr     set_fline
                   1114:        moveq.l #0,d7
                   1115:        lea.l   @f,a3
                   1116:        .dc.l   $f23c6000
                   1117: @@:
                   1118:        bsr     restore_fline
                   1119:        fmovem.l        fpsr,d0
                   1120:        rol.l   #8,d0
                   1121:        or.l    d7,d0
                   1122:        move.b  d0,(a2)+
                   1123: 
                   1124:        ; FMOVE.S FPn,#imm
                   1125:        move.b  #$1b,(a2)+
                   1126:        fmovem.l        #$0b000000,fpsr
                   1127:        bsr     set_fline
                   1128:        moveq.l #0,d7
                   1129:        lea.l   @f,a3
                   1130:        .dc.l   $f23c6400
                   1131: @@:
                   1132:        bsr     restore_fline
                   1133:        fmovem.l        fpsr,d0
                   1134:        rol.l   #8,d0
                   1135:        or.l    d7,d0
                   1136:        move.b  d0,(a2)+
                   1137: 
                   1138:        ; FMOVE.D FPn,#imm
                   1139:        move.b  #$1b,(a2)+
                   1140:        fmovem.l        #$0b000000,fpsr
                   1141:        bsr     set_fline
                   1142:        moveq.l #0,d7
                   1143:        lea.l   @f,a3
                   1144:        .dc.l   $f23c7400
                   1145: @@:
                   1146:        bsr     restore_fline
                   1147:        fmovem.l        fpsr,d0
                   1148:        rol.l   #8,d0
                   1149:        or.l    d7,d0
                   1150:        move.b  d0,(a2)+
                   1151: 
                   1152:        ; FMOVE.X FPn,#imm
                   1153:        move.b  #$1b,(a2)+
                   1154:        fmovem.l        #$0b000000,fpsr
                   1155:        bsr     set_fline
                   1156:        moveq.l #0,d7
                   1157:        lea.l   @f,a3
                   1158:        .dc.l   $f23c6800
                   1159: @@:
                   1160:        bsr     restore_fline
                   1161:        fmovem.l        fpsr,d0
                   1162:        rol.l   #8,d0
                   1163:        or.l    d7,d0
                   1164:        move.b  d0,(a2)+
                   1165: 
                   1166:        ; FMOVE.P FPn,#imm
                   1167:        move.b  #$1b,(a2)+
                   1168:        fmovem.l        #$0b000000,fpsr
                   1169:        bsr     set_fline
                   1170:        moveq.l #0,d7
                   1171:        lea.l   @f,a3
                   1172:        .dc.l   $f23c6c00
                   1173: @@:
                   1174:        bsr     restore_fline
                   1175:        fmovem.l        fpsr,d0
                   1176:        rol.l   #8,d0
                   1177:        or.l    d7,d0
                   1178:        move.b  d0,(a2)+
                   1179: 
                   1180:        lea.l   msg_test_i,a0
                   1181:        moveq.l #7-1,d0
                   1182:        bsr     print_result
                   1183:        rts
                   1184: 
                   1185: test_fmove_o:
                   1186:        lea.l   result(pc),a2
                   1187:        ; FMOVE.B FPn,075
                   1188:        move.b  #$1b,(a2)+
                   1189:        fmovem.l        #$0b000000,fpsr
                   1190:        bsr     set_fline
                   1191:        moveq.l #0,d7
                   1192:        lea.l   @f,a3
                   1193:        .dc.l   $f23d7800
                   1194: @@:
                   1195:        bsr     restore_fline
                   1196:        fmovem.l        fpsr,d0
                   1197:        rol.l   #8,d0
                   1198:        or.l    d7,d0
                   1199:        move.b  d0,(a2)+
                   1200: 
                   1201:        ; FMOVE.W FPn,075
                   1202:        move.b  #$1b,(a2)+
                   1203:        fmovem.l        #$0b000000,fpsr
                   1204:        bsr     set_fline
                   1205:        moveq.l #0,d7
                   1206:        lea.l   @f,a3
                   1207:        .dc.l   $f23d7000
                   1208: @@:
                   1209:        bsr     restore_fline
                   1210:        fmovem.l        fpsr,d0
                   1211:        rol.l   #8,d0
                   1212:        or.l    d7,d0
                   1213:        move.b  d0,(a2)+
                   1214: 
                   1215:        ; FMOVE.L FPn,075
                   1216:        move.b  #$1b,(a2)+
                   1217:        fmovem.l        #$0b000000,fpsr
                   1218:        bsr     set_fline
                   1219:        moveq.l #0,d7
                   1220:        lea.l   @f,a3
                   1221:        .dc.l   $f23d6000
                   1222: @@:
                   1223:        bsr     restore_fline
                   1224:        fmovem.l        fpsr,d0
                   1225:        rol.l   #8,d0
                   1226:        or.l    d7,d0
                   1227:        move.b  d0,(a2)+
                   1228: 
                   1229:        ; FMOVE.S FPn,075
                   1230:        move.b  #$1b,(a2)+
                   1231:        fmovem.l        #$0b000000,fpsr
                   1232:        bsr     set_fline
                   1233:        moveq.l #0,d7
                   1234:        lea.l   @f,a3
                   1235:        .dc.l   $f23d6400
                   1236: @@:
                   1237:        bsr     restore_fline
                   1238:        fmovem.l        fpsr,d0
                   1239:        rol.l   #8,d0
                   1240:        or.l    d7,d0
                   1241:        move.b  d0,(a2)+
                   1242: 
                   1243:        ; FMOVE.D FPn,075
                   1244:        move.b  #$1b,(a2)+
                   1245:        fmovem.l        #$0b000000,fpsr
                   1246:        bsr     set_fline
                   1247:        moveq.l #0,d7
                   1248:        lea.l   @f,a3
                   1249:        .dc.l   $f23d7400
                   1250: @@:
                   1251:        bsr     restore_fline
                   1252:        fmovem.l        fpsr,d0
                   1253:        rol.l   #8,d0
                   1254:        or.l    d7,d0
                   1255:        move.b  d0,(a2)+
                   1256: 
                   1257:        ; FMOVE.X FPn,075
                   1258:        move.b  #$1b,(a2)+
                   1259:        fmovem.l        #$0b000000,fpsr
                   1260:        bsr     set_fline
                   1261:        moveq.l #0,d7
                   1262:        lea.l   @f,a3
                   1263:        .dc.l   $f23d6800
                   1264: @@:
                   1265:        bsr     restore_fline
                   1266:        fmovem.l        fpsr,d0
                   1267:        rol.l   #8,d0
                   1268:        or.l    d7,d0
                   1269:        move.b  d0,(a2)+
                   1270: 
                   1271:        ; FMOVE.P FPn,075
                   1272:        move.b  #$1b,(a2)+
                   1273:        fmovem.l        #$0b000000,fpsr
                   1274:        bsr     set_fline
                   1275:        moveq.l #0,d7
                   1276:        lea.l   @f,a3
                   1277:        .dc.l   $f23d6c00
                   1278: @@:
                   1279:        bsr     restore_fline
                   1280:        fmovem.l        fpsr,d0
                   1281:        rol.l   #8,d0
                   1282:        or.l    d7,d0
                   1283:        move.b  d0,(a2)+
                   1284: 
                   1285:        lea.l   msg_test_o,a0
                   1286:        moveq.l #7-1,d0
                   1287:        bsr     print_result
                   1288:        rts
                   1289: 
                   1290: test_fgen_d:
                   1291:        lea.l   result(pc),a2
                   1292:        ; Fgen.B Dn,FPn
                   1293:        move.b  #$04,(a2)+
                   1294:        fmovem.l        #$0b000000,fpsr
                   1295:        bsr     set_fline
                   1296:        moveq.l #0,d7
                   1297:        moveq.l #0,d6
                   1298:        lea.l   @f,a3
                   1299:        .dc.l   $f2065800
                   1300: @@:
                   1301:        bsr     restore_fline
                   1302:        fmovem.l        fpsr,d0
                   1303:        rol.l   #8,d0
                   1304:        or.l    d7,d0
                   1305:        move.b  d0,(a2)+
                   1306: 
                   1307:        ; Fgen.W Dn,FPn
                   1308:        move.b  #$04,(a2)+
                   1309:        fmovem.l        #$0b000000,fpsr
                   1310:        bsr     set_fline
                   1311:        moveq.l #0,d7
                   1312:        moveq.l #0,d6
                   1313:        lea.l   @f,a3
                   1314:        .dc.l   $f2065000
                   1315: @@:
                   1316:        bsr     restore_fline
                   1317:        fmovem.l        fpsr,d0
                   1318:        rol.l   #8,d0
                   1319:        or.l    d7,d0
                   1320:        move.b  d0,(a2)+
                   1321: 
                   1322:        ; Fgen.L Dn,FPn
                   1323:        move.b  #$04,(a2)+
                   1324:        fmovem.l        #$0b000000,fpsr
                   1325:        bsr     set_fline
                   1326:        moveq.l #0,d7
                   1327:        moveq.l #0,d6
                   1328:        lea.l   @f,a3
                   1329:        .dc.l   $f2064000
                   1330: @@:
                   1331:        bsr     restore_fline
                   1332:        fmovem.l        fpsr,d0
                   1333:        rol.l   #8,d0
                   1334:        or.l    d7,d0
                   1335:        move.b  d0,(a2)+
                   1336: 
                   1337:        ; Fgen.S Dn,FPn
                   1338:        move.b  #$04,(a2)+
                   1339:        fmovem.l        #$0b000000,fpsr
                   1340:        bsr     set_fline
                   1341:        moveq.l #0,d7
                   1342:        moveq.l #0,d6
                   1343:        lea.l   @f,a3
                   1344:        .dc.l   $f2064400
                   1345: @@:
                   1346:        bsr     restore_fline
                   1347:        fmovem.l        fpsr,d0
                   1348:        rol.l   #8,d0
                   1349:        or.l    d7,d0
                   1350:        move.b  d0,(a2)+
                   1351: 
                   1352:        ; Fgen.D Dn,FPn
                   1353:        move.b  #$1b,(a2)+
                   1354:        fmovem.l        #$0b000000,fpsr
                   1355:        bsr     set_fline
                   1356:        moveq.l #0,d7
                   1357:        moveq.l #0,d6
                   1358:        lea.l   @f,a3
                   1359:        .dc.l   $f2065400
                   1360: @@:
                   1361:        bsr     restore_fline
                   1362:        fmovem.l        fpsr,d0
                   1363:        rol.l   #8,d0
                   1364:        or.l    d7,d0
                   1365:        move.b  d0,(a2)+
                   1366: 
                   1367:        ; Fgen.X Dn,FPn
                   1368:        move.b  #$1b,(a2)+
                   1369:        fmovem.l        #$0b000000,fpsr
                   1370:        bsr     set_fline
                   1371:        moveq.l #0,d7
                   1372:        moveq.l #0,d6
                   1373:        lea.l   @f,a3
                   1374:        .dc.l   $f2064800
                   1375: @@:
                   1376:        bsr     restore_fline
                   1377:        fmovem.l        fpsr,d0
                   1378:        rol.l   #8,d0
                   1379:        or.l    d7,d0
                   1380:        move.b  d0,(a2)+
                   1381: 
                   1382:        ; Fgen.P Dn,FPn
                   1383:        move.b  #$1b,(a2)+
                   1384:        fmovem.l        #$0b000000,fpsr
                   1385:        bsr     set_fline
                   1386:        moveq.l #0,d7
                   1387:        moveq.l #0,d6
                   1388:        lea.l   @f,a3
                   1389:        .dc.l   $f2064c00
                   1390: @@:
                   1391:        bsr     restore_fline
                   1392:        fmovem.l        fpsr,d0
                   1393:        rol.l   #8,d0
                   1394:        or.l    d7,d0
                   1395:        move.b  d0,(a2)+
                   1396: 
                   1397:        lea.l   msg_test_d,a0
                   1398:        moveq.l #7-1,d0
                   1399:        bsr     print_result
                   1400:        rts
                   1401: 
                   1402: test_fgen_a:
                   1403:        lea.l   result(pc),a2
                   1404:        ; Fgen.B An,FPn
                   1405:        move.b  #$1b,(a2)+
                   1406:        fmovem.l        #$0b000000,fpsr
                   1407:        bsr     set_fline
                   1408:        moveq.l #0,d7
                   1409:        lea.l   @f,a3
                   1410:        .dc.l   $f2085800
                   1411: @@:
                   1412:        bsr     restore_fline
                   1413:        fmovem.l        fpsr,d0
                   1414:        rol.l   #8,d0
                   1415:        or.l    d7,d0
                   1416:        move.b  d0,(a2)+
                   1417: 
                   1418:        ; Fgen.W An,FPn
                   1419:        move.b  #$1b,(a2)+
                   1420:        fmovem.l        #$0b000000,fpsr
                   1421:        bsr     set_fline
                   1422:        moveq.l #0,d7
                   1423:        lea.l   @f,a3
                   1424:        .dc.l   $f2085000
                   1425: @@:
                   1426:        bsr     restore_fline
                   1427:        fmovem.l        fpsr,d0
                   1428:        rol.l   #8,d0
                   1429:        or.l    d7,d0
                   1430:        move.b  d0,(a2)+
                   1431: 
                   1432:        ; Fgen.L An,FPn
                   1433:        move.b  #$1b,(a2)+
                   1434:        fmovem.l        #$0b000000,fpsr
                   1435:        bsr     set_fline
                   1436:        moveq.l #0,d7
                   1437:        lea.l   @f,a3
                   1438:        .dc.l   $f2084000
                   1439: @@:
                   1440:        bsr     restore_fline
                   1441:        fmovem.l        fpsr,d0
                   1442:        rol.l   #8,d0
                   1443:        or.l    d7,d0
                   1444:        move.b  d0,(a2)+
                   1445: 
                   1446:        ; Fgen.S An,FPn
                   1447:        move.b  #$1b,(a2)+
                   1448:        fmovem.l        #$0b000000,fpsr
                   1449:        bsr     set_fline
                   1450:        moveq.l #0,d7
                   1451:        lea.l   @f,a3
                   1452:        .dc.l   $f2084400
                   1453: @@:
                   1454:        bsr     restore_fline
                   1455:        fmovem.l        fpsr,d0
                   1456:        rol.l   #8,d0
                   1457:        or.l    d7,d0
                   1458:        move.b  d0,(a2)+
                   1459: 
                   1460:        ; Fgen.D An,FPn
                   1461:        move.b  #$1b,(a2)+
                   1462:        fmovem.l        #$0b000000,fpsr
                   1463:        bsr     set_fline
                   1464:        moveq.l #0,d7
                   1465:        lea.l   @f,a3
                   1466:        .dc.l   $f2085400
                   1467: @@:
                   1468:        bsr     restore_fline
                   1469:        fmovem.l        fpsr,d0
                   1470:        rol.l   #8,d0
                   1471:        or.l    d7,d0
                   1472:        move.b  d0,(a2)+
                   1473: 
                   1474:        ; Fgen.X An,FPn
                   1475:        move.b  #$1b,(a2)+
                   1476:        fmovem.l        #$0b000000,fpsr
                   1477:        bsr     set_fline
                   1478:        moveq.l #0,d7
                   1479:        lea.l   @f,a3
                   1480:        .dc.l   $f2084800
                   1481: @@:
                   1482:        bsr     restore_fline
                   1483:        fmovem.l        fpsr,d0
                   1484:        rol.l   #8,d0
                   1485:        or.l    d7,d0
                   1486:        move.b  d0,(a2)+
                   1487: 
                   1488:        ; Fgen.P An,FPn
                   1489:        move.b  #$1b,(a2)+
                   1490:        fmovem.l        #$0b000000,fpsr
                   1491:        bsr     set_fline
                   1492:        moveq.l #0,d7
                   1493:        lea.l   @f,a3
                   1494:        .dc.l   $f2084c00
                   1495: @@:
                   1496:        bsr     restore_fline
                   1497:        fmovem.l        fpsr,d0
                   1498:        rol.l   #8,d0
                   1499:        or.l    d7,d0
                   1500:        move.b  d0,(a2)+
                   1501: 
                   1502:        lea.l   msg_test_a,a0
                   1503:        moveq.l #7-1,d0
                   1504:        bsr     print_result
                   1505:        rts
                   1506: 
                   1507: test_fgen_m:
                   1508:        lea.l   result(pc),a2
                   1509:        ; Fgen.B (An),FPn
                   1510:        move.b  #$04,(a2)+
                   1511:        fmovem.l        #$0b000000,fpsr
                   1512:        bsr     set_fline
                   1513:        moveq.l #0,d7
                   1514:        lea.l   workarea+12(pc),a0
                   1515:        move.l  d7,-(a0)
                   1516:        move.l  d7,-(a0)
                   1517:        move.l  d7,-(a0)
                   1518:        lea.l   @f,a3
                   1519:        .dc.l   $f2105800
                   1520: @@:
                   1521:        bsr     restore_fline
                   1522:        fmovem.l        fpsr,d0
                   1523:        rol.l   #8,d0
                   1524:        or.l    d7,d0
                   1525:        move.b  d0,(a2)+
                   1526: 
                   1527:        ; Fgen.W (An),FPn
                   1528:        move.b  #$04,(a2)+
                   1529:        fmovem.l        #$0b000000,fpsr
                   1530:        bsr     set_fline
                   1531:        moveq.l #0,d7
                   1532:        lea.l   workarea+12(pc),a0
                   1533:        move.l  d7,-(a0)
                   1534:        move.l  d7,-(a0)
                   1535:        move.l  d7,-(a0)
                   1536:        lea.l   @f,a3
                   1537:        .dc.l   $f2105000
                   1538: @@:
                   1539:        bsr     restore_fline
                   1540:        fmovem.l        fpsr,d0
                   1541:        rol.l   #8,d0
                   1542:        or.l    d7,d0
                   1543:        move.b  d0,(a2)+
                   1544: 
                   1545:        ; Fgen.L (An),FPn
                   1546:        move.b  #$04,(a2)+
                   1547:        fmovem.l        #$0b000000,fpsr
                   1548:        bsr     set_fline
                   1549:        moveq.l #0,d7
                   1550:        lea.l   workarea+12(pc),a0
                   1551:        move.l  d7,-(a0)
                   1552:        move.l  d7,-(a0)
                   1553:        move.l  d7,-(a0)
                   1554:        lea.l   @f,a3
                   1555:        .dc.l   $f2104000
                   1556: @@:
                   1557:        bsr     restore_fline
                   1558:        fmovem.l        fpsr,d0
                   1559:        rol.l   #8,d0
                   1560:        or.l    d7,d0
                   1561:        move.b  d0,(a2)+
                   1562: 
                   1563:        ; Fgen.S (An),FPn
                   1564:        move.b  #$04,(a2)+
                   1565:        fmovem.l        #$0b000000,fpsr
                   1566:        bsr     set_fline
                   1567:        moveq.l #0,d7
                   1568:        lea.l   workarea+12(pc),a0
                   1569:        move.l  d7,-(a0)
                   1570:        move.l  d7,-(a0)
                   1571:        move.l  d7,-(a0)
                   1572:        lea.l   @f,a3
                   1573:        .dc.l   $f2104400
                   1574: @@:
                   1575:        bsr     restore_fline
                   1576:        fmovem.l        fpsr,d0
                   1577:        rol.l   #8,d0
                   1578:        or.l    d7,d0
                   1579:        move.b  d0,(a2)+
                   1580: 
                   1581:        ; Fgen.D (An),FPn
                   1582:        move.b  #$04,(a2)+
                   1583:        fmovem.l        #$0b000000,fpsr
                   1584:        bsr     set_fline
                   1585:        moveq.l #0,d7
                   1586:        lea.l   workarea+12(pc),a0
                   1587:        move.l  d7,-(a0)
                   1588:        move.l  d7,-(a0)
                   1589:        move.l  d7,-(a0)
                   1590:        lea.l   @f,a3
                   1591:        .dc.l   $f2105400
                   1592: @@:
                   1593:        bsr     restore_fline
                   1594:        fmovem.l        fpsr,d0
                   1595:        rol.l   #8,d0
                   1596:        or.l    d7,d0
                   1597:        move.b  d0,(a2)+
                   1598: 
                   1599:        ; Fgen.X (An),FPn
                   1600:        move.b  #$04,(a2)+
                   1601:        fmovem.l        #$0b000000,fpsr
                   1602:        bsr     set_fline
                   1603:        moveq.l #0,d7
                   1604:        lea.l   workarea+12(pc),a0
                   1605:        move.l  d7,-(a0)
                   1606:        move.l  d7,-(a0)
                   1607:        move.l  d7,-(a0)
                   1608:        lea.l   @f,a3
                   1609:        .dc.l   $f2104800
                   1610: @@:
                   1611:        bsr     restore_fline
                   1612:        fmovem.l        fpsr,d0
                   1613:        rol.l   #8,d0
                   1614:        or.l    d7,d0
                   1615:        move.b  d0,(a2)+
                   1616: 
                   1617:        ; Fgen.P (An),FPn
                   1618:        move.b  #$04,(a2)+
                   1619:        fmovem.l        #$0b000000,fpsr
                   1620:        bsr     set_fline
                   1621:        moveq.l #0,d7
                   1622:        lea.l   workarea+12(pc),a0
                   1623:        move.l  d7,-(a0)
                   1624:        move.l  d7,-(a0)
                   1625:        move.l  d7,-(a0)
                   1626:        lea.l   @f,a3
                   1627:        .dc.l   $f2104c00
                   1628: @@:
                   1629:        bsr     restore_fline
                   1630:        fmovem.l        fpsr,d0
                   1631:        rol.l   #8,d0
                   1632:        or.l    d7,d0
                   1633:        move.b  d0,(a2)+
                   1634: 
                   1635:        lea.l   msg_test_m,a0
                   1636:        moveq.l #7-1,d0
                   1637:        bsr     print_result
                   1638:        rts
                   1639: 
                   1640: test_fgen_mi:
                   1641:        lea.l   result(pc),a2
                   1642:        ; Fgen.B (An)+,FPn
                   1643:        move.b  #$04,(a2)+
                   1644:        fmovem.l        #$0b000000,fpsr
                   1645:        bsr     set_fline
                   1646:        moveq.l #0,d7
                   1647:        lea.l   workarea+12(pc),a0
                   1648:        move.l  d7,-(a0)
                   1649:        move.l  d7,-(a0)
                   1650:        move.l  d7,-(a0)
                   1651:        lea.l   @f,a3
                   1652:        .dc.l   $f2185800
                   1653: @@:
                   1654:        bsr     restore_fline
                   1655:        fmovem.l        fpsr,d0
                   1656:        rol.l   #8,d0
                   1657:        or.l    d7,d0
                   1658:        move.b  d0,(a2)+
                   1659: 
                   1660:        ; Fgen.W (An)+,FPn
                   1661:        move.b  #$04,(a2)+
                   1662:        fmovem.l        #$0b000000,fpsr
                   1663:        bsr     set_fline
                   1664:        moveq.l #0,d7
                   1665:        lea.l   workarea+12(pc),a0
                   1666:        move.l  d7,-(a0)
                   1667:        move.l  d7,-(a0)
                   1668:        move.l  d7,-(a0)
                   1669:        lea.l   @f,a3
                   1670:        .dc.l   $f2185000
                   1671: @@:
                   1672:        bsr     restore_fline
                   1673:        fmovem.l        fpsr,d0
                   1674:        rol.l   #8,d0
                   1675:        or.l    d7,d0
                   1676:        move.b  d0,(a2)+
                   1677: 
                   1678:        ; Fgen.L (An)+,FPn
                   1679:        move.b  #$04,(a2)+
                   1680:        fmovem.l        #$0b000000,fpsr
                   1681:        bsr     set_fline
                   1682:        moveq.l #0,d7
                   1683:        lea.l   workarea+12(pc),a0
                   1684:        move.l  d7,-(a0)
                   1685:        move.l  d7,-(a0)
                   1686:        move.l  d7,-(a0)
                   1687:        lea.l   @f,a3
                   1688:        .dc.l   $f2184000
                   1689: @@:
                   1690:        bsr     restore_fline
                   1691:        fmovem.l        fpsr,d0
                   1692:        rol.l   #8,d0
                   1693:        or.l    d7,d0
                   1694:        move.b  d0,(a2)+
                   1695: 
                   1696:        ; Fgen.S (An)+,FPn
                   1697:        move.b  #$04,(a2)+
                   1698:        fmovem.l        #$0b000000,fpsr
                   1699:        bsr     set_fline
                   1700:        moveq.l #0,d7
                   1701:        lea.l   workarea+12(pc),a0
                   1702:        move.l  d7,-(a0)
                   1703:        move.l  d7,-(a0)
                   1704:        move.l  d7,-(a0)
                   1705:        lea.l   @f,a3
                   1706:        .dc.l   $f2184400
                   1707: @@:
                   1708:        bsr     restore_fline
                   1709:        fmovem.l        fpsr,d0
                   1710:        rol.l   #8,d0
                   1711:        or.l    d7,d0
                   1712:        move.b  d0,(a2)+
                   1713: 
                   1714:        ; Fgen.D (An)+,FPn
                   1715:        move.b  #$04,(a2)+
                   1716:        fmovem.l        #$0b000000,fpsr
                   1717:        bsr     set_fline
                   1718:        moveq.l #0,d7
                   1719:        lea.l   workarea+12(pc),a0
                   1720:        move.l  d7,-(a0)
                   1721:        move.l  d7,-(a0)
                   1722:        move.l  d7,-(a0)
                   1723:        lea.l   @f,a3
                   1724:        .dc.l   $f2185400
                   1725: @@:
                   1726:        bsr     restore_fline
                   1727:        fmovem.l        fpsr,d0
                   1728:        rol.l   #8,d0
                   1729:        or.l    d7,d0
                   1730:        move.b  d0,(a2)+
                   1731: 
                   1732:        ; Fgen.X (An)+,FPn
                   1733:        move.b  #$04,(a2)+
                   1734:        fmovem.l        #$0b000000,fpsr
                   1735:        bsr     set_fline
                   1736:        moveq.l #0,d7
                   1737:        lea.l   workarea+12(pc),a0
                   1738:        move.l  d7,-(a0)
                   1739:        move.l  d7,-(a0)
                   1740:        move.l  d7,-(a0)
                   1741:        lea.l   @f,a3
                   1742:        .dc.l   $f2184800
                   1743: @@:
                   1744:        bsr     restore_fline
                   1745:        fmovem.l        fpsr,d0
                   1746:        rol.l   #8,d0
                   1747:        or.l    d7,d0
                   1748:        move.b  d0,(a2)+
                   1749: 
                   1750:        ; Fgen.P (An)+,FPn
                   1751:        move.b  #$04,(a2)+
                   1752:        fmovem.l        #$0b000000,fpsr
                   1753:        bsr     set_fline
                   1754:        moveq.l #0,d7
                   1755:        lea.l   workarea+12(pc),a0
                   1756:        move.l  d7,-(a0)
                   1757:        move.l  d7,-(a0)
                   1758:        move.l  d7,-(a0)
                   1759:        lea.l   @f,a3
                   1760:        .dc.l   $f2184c00
                   1761: @@:
                   1762:        bsr     restore_fline
                   1763:        fmovem.l        fpsr,d0
                   1764:        rol.l   #8,d0
                   1765:        or.l    d7,d0
                   1766:        move.b  d0,(a2)+
                   1767: 
                   1768:        lea.l   msg_test_mi,a0
                   1769:        moveq.l #7-1,d0
                   1770:        bsr     print_result
                   1771:        rts
                   1772: 
                   1773: test_fgen_md:
                   1774:        lea.l   result(pc),a2
                   1775:        ; Fgen.B -(An),FPn
                   1776:        move.b  #$04,(a2)+
                   1777:        fmovem.l        #$0b000000,fpsr
                   1778:        bsr     set_fline
                   1779:        moveq.l #0,d7
                   1780:        lea.l   workarea(pc),a0
                   1781:        move.l  d7,(a0)+
                   1782:        move.l  d7,(a0)+
                   1783:        move.l  d7,(a0)+
                   1784:        lea.l   @f,a3
                   1785:        .dc.l   $f2205800
                   1786: @@:
                   1787:        bsr     restore_fline
                   1788:        fmovem.l        fpsr,d0
                   1789:        rol.l   #8,d0
                   1790:        or.l    d7,d0
                   1791:        move.b  d0,(a2)+
                   1792: 
                   1793:        ; Fgen.W -(An),FPn
                   1794:        move.b  #$04,(a2)+
                   1795:        fmovem.l        #$0b000000,fpsr
                   1796:        bsr     set_fline
                   1797:        moveq.l #0,d7
                   1798:        lea.l   workarea(pc),a0
                   1799:        move.l  d7,(a0)+
                   1800:        move.l  d7,(a0)+
                   1801:        move.l  d7,(a0)+
                   1802:        lea.l   @f,a3
                   1803:        .dc.l   $f2205000
                   1804: @@:
                   1805:        bsr     restore_fline
                   1806:        fmovem.l        fpsr,d0
                   1807:        rol.l   #8,d0
                   1808:        or.l    d7,d0
                   1809:        move.b  d0,(a2)+
                   1810: 
                   1811:        ; Fgen.L -(An),FPn
                   1812:        move.b  #$04,(a2)+
                   1813:        fmovem.l        #$0b000000,fpsr
                   1814:        bsr     set_fline
                   1815:        moveq.l #0,d7
                   1816:        lea.l   workarea(pc),a0
                   1817:        move.l  d7,(a0)+
                   1818:        move.l  d7,(a0)+
                   1819:        move.l  d7,(a0)+
                   1820:        lea.l   @f,a3
                   1821:        .dc.l   $f2204000
                   1822: @@:
                   1823:        bsr     restore_fline
                   1824:        fmovem.l        fpsr,d0
                   1825:        rol.l   #8,d0
                   1826:        or.l    d7,d0
                   1827:        move.b  d0,(a2)+
                   1828: 
                   1829:        ; Fgen.S -(An),FPn
                   1830:        move.b  #$04,(a2)+
                   1831:        fmovem.l        #$0b000000,fpsr
                   1832:        bsr     set_fline
                   1833:        moveq.l #0,d7
                   1834:        lea.l   workarea(pc),a0
                   1835:        move.l  d7,(a0)+
                   1836:        move.l  d7,(a0)+
                   1837:        move.l  d7,(a0)+
                   1838:        lea.l   @f,a3
                   1839:        .dc.l   $f2204400
                   1840: @@:
                   1841:        bsr     restore_fline
                   1842:        fmovem.l        fpsr,d0
                   1843:        rol.l   #8,d0
                   1844:        or.l    d7,d0
                   1845:        move.b  d0,(a2)+
                   1846: 
                   1847:        ; Fgen.D -(An),FPn
                   1848:        move.b  #$04,(a2)+
                   1849:        fmovem.l        #$0b000000,fpsr
                   1850:        bsr     set_fline
                   1851:        moveq.l #0,d7
                   1852:        lea.l   workarea(pc),a0
                   1853:        move.l  d7,(a0)+
                   1854:        move.l  d7,(a0)+
                   1855:        move.l  d7,(a0)+
                   1856:        lea.l   @f,a3
                   1857:        .dc.l   $f2205400
                   1858: @@:
                   1859:        bsr     restore_fline
                   1860:        fmovem.l        fpsr,d0
                   1861:        rol.l   #8,d0
                   1862:        or.l    d7,d0
                   1863:        move.b  d0,(a2)+
                   1864: 
                   1865:        ; Fgen.X -(An),FPn
                   1866:        move.b  #$04,(a2)+
                   1867:        fmovem.l        #$0b000000,fpsr
                   1868:        bsr     set_fline
                   1869:        moveq.l #0,d7
                   1870:        lea.l   workarea(pc),a0
                   1871:        move.l  d7,(a0)+
                   1872:        move.l  d7,(a0)+
                   1873:        move.l  d7,(a0)+
                   1874:        lea.l   @f,a3
                   1875:        .dc.l   $f2204800
                   1876: @@:
                   1877:        bsr     restore_fline
                   1878:        fmovem.l        fpsr,d0
                   1879:        rol.l   #8,d0
                   1880:        or.l    d7,d0
                   1881:        move.b  d0,(a2)+
                   1882: 
                   1883:        ; Fgen.P -(An),FPn
                   1884:        move.b  #$04,(a2)+
                   1885:        fmovem.l        #$0b000000,fpsr
                   1886:        bsr     set_fline
                   1887:        moveq.l #0,d7
                   1888:        lea.l   workarea(pc),a0
                   1889:        move.l  d7,(a0)+
                   1890:        move.l  d7,(a0)+
                   1891:        move.l  d7,(a0)+
                   1892:        lea.l   @f,a3
                   1893:        .dc.l   $f2204c00
                   1894: @@:
                   1895:        bsr     restore_fline
                   1896:        fmovem.l        fpsr,d0
                   1897:        rol.l   #8,d0
                   1898:        or.l    d7,d0
                   1899:        move.b  d0,(a2)+
                   1900: 
                   1901:        lea.l   msg_test_md,a0
                   1902:        moveq.l #7-1,d0
                   1903:        bsr     print_result
                   1904:        rts
                   1905: 
                   1906: test_fgen_r:
                   1907:        lea.l   result(pc),a2
                   1908:        ; Fgen.B d16(An),FPn
                   1909:        move.b  #$04,(a2)+
                   1910:        fmovem.l        #$0b000000,fpsr
                   1911:        bsr     set_fline
                   1912:        moveq.l #0,d7
                   1913:        lea.l   workarea+12(pc),a0
                   1914:        move.l  d7,-(a0)
                   1915:        move.l  d7,-(a0)
                   1916:        move.l  d7,-(a0)
                   1917:        lea.l   @f,a3
                   1918:        .dc.l   $f2285800
                   1919:        .dc.w   $0000
                   1920: @@:
                   1921:        bsr     restore_fline
                   1922:        fmovem.l        fpsr,d0
                   1923:        rol.l   #8,d0
                   1924:        or.l    d7,d0
                   1925:        move.b  d0,(a2)+
                   1926: 
                   1927:        ; Fgen.W d16(An),FPn
                   1928:        move.b  #$04,(a2)+
                   1929:        fmovem.l        #$0b000000,fpsr
                   1930:        bsr     set_fline
                   1931:        moveq.l #0,d7
                   1932:        lea.l   workarea+12(pc),a0
                   1933:        move.l  d7,-(a0)
                   1934:        move.l  d7,-(a0)
                   1935:        move.l  d7,-(a0)
                   1936:        lea.l   @f,a3
                   1937:        .dc.l   $f2285000
                   1938:        .dc.w   $0000
                   1939: @@:
                   1940:        bsr     restore_fline
                   1941:        fmovem.l        fpsr,d0
                   1942:        rol.l   #8,d0
                   1943:        or.l    d7,d0
                   1944:        move.b  d0,(a2)+
                   1945: 
                   1946:        ; Fgen.L d16(An),FPn
                   1947:        move.b  #$04,(a2)+
                   1948:        fmovem.l        #$0b000000,fpsr
                   1949:        bsr     set_fline
                   1950:        moveq.l #0,d7
                   1951:        lea.l   workarea+12(pc),a0
                   1952:        move.l  d7,-(a0)
                   1953:        move.l  d7,-(a0)
                   1954:        move.l  d7,-(a0)
                   1955:        lea.l   @f,a3
                   1956:        .dc.l   $f2284000
                   1957:        .dc.w   $0000
                   1958: @@:
                   1959:        bsr     restore_fline
                   1960:        fmovem.l        fpsr,d0
                   1961:        rol.l   #8,d0
                   1962:        or.l    d7,d0
                   1963:        move.b  d0,(a2)+
                   1964: 
                   1965:        ; Fgen.S d16(An),FPn
                   1966:        move.b  #$04,(a2)+
                   1967:        fmovem.l        #$0b000000,fpsr
                   1968:        bsr     set_fline
                   1969:        moveq.l #0,d7
                   1970:        lea.l   workarea+12(pc),a0
                   1971:        move.l  d7,-(a0)
                   1972:        move.l  d7,-(a0)
                   1973:        move.l  d7,-(a0)
                   1974:        lea.l   @f,a3
                   1975:        .dc.l   $f2284400
                   1976:        .dc.w   $0000
                   1977: @@:
                   1978:        bsr     restore_fline
                   1979:        fmovem.l        fpsr,d0
                   1980:        rol.l   #8,d0
                   1981:        or.l    d7,d0
                   1982:        move.b  d0,(a2)+
                   1983: 
                   1984:        ; Fgen.D d16(An),FPn
                   1985:        move.b  #$04,(a2)+
                   1986:        fmovem.l        #$0b000000,fpsr
                   1987:        bsr     set_fline
                   1988:        moveq.l #0,d7
                   1989:        lea.l   workarea+12(pc),a0
                   1990:        move.l  d7,-(a0)
                   1991:        move.l  d7,-(a0)
                   1992:        move.l  d7,-(a0)
                   1993:        lea.l   @f,a3
                   1994:        .dc.l   $f2285400
                   1995:        .dc.w   $0000
                   1996: @@:
                   1997:        bsr     restore_fline
                   1998:        fmovem.l        fpsr,d0
                   1999:        rol.l   #8,d0
                   2000:        or.l    d7,d0
                   2001:        move.b  d0,(a2)+
                   2002: 
                   2003:        ; Fgen.X d16(An),FPn
                   2004:        move.b  #$04,(a2)+
                   2005:        fmovem.l        #$0b000000,fpsr
                   2006:        bsr     set_fline
                   2007:        moveq.l #0,d7
                   2008:        lea.l   workarea+12(pc),a0
                   2009:        move.l  d7,-(a0)
                   2010:        move.l  d7,-(a0)
                   2011:        move.l  d7,-(a0)
                   2012:        lea.l   @f,a3
                   2013:        .dc.l   $f2284800
                   2014:        .dc.w   $0000
                   2015: @@:
                   2016:        bsr     restore_fline
                   2017:        fmovem.l        fpsr,d0
                   2018:        rol.l   #8,d0
                   2019:        or.l    d7,d0
                   2020:        move.b  d0,(a2)+
                   2021: 
                   2022:        ; Fgen.P d16(An),FPn
                   2023:        move.b  #$04,(a2)+
                   2024:        fmovem.l        #$0b000000,fpsr
                   2025:        bsr     set_fline
                   2026:        moveq.l #0,d7
                   2027:        lea.l   workarea+12(pc),a0
                   2028:        move.l  d7,-(a0)
                   2029:        move.l  d7,-(a0)
                   2030:        move.l  d7,-(a0)
                   2031:        lea.l   @f,a3
                   2032:        .dc.l   $f2284c00
                   2033:        .dc.w   $0000
                   2034: @@:
                   2035:        bsr     restore_fline
                   2036:        fmovem.l        fpsr,d0
                   2037:        rol.l   #8,d0
                   2038:        or.l    d7,d0
                   2039:        move.b  d0,(a2)+
                   2040: 
                   2041:        lea.l   msg_test_r,a0
                   2042:        moveq.l #7-1,d0
                   2043:        bsr     print_result
                   2044:        rts
                   2045: 
                   2046: test_fgen_x:
                   2047:        lea.l   result(pc),a2
                   2048:        ; Fgen.B d8(An,IX),FPn
                   2049:        move.b  #$04,(a2)+
                   2050:        fmovem.l        #$0b000000,fpsr
                   2051:        bsr     set_fline
                   2052:        moveq.l #0,d7
                   2053:        moveq.l #0,d4
                   2054:        lea.l   workarea+12(pc),a0
                   2055:        move.l  d7,-(a0)
                   2056:        move.l  d7,-(a0)
                   2057:        move.l  d7,-(a0)
                   2058:        lea.l   @f,a3
                   2059:        .dc.l   $f2305800
                   2060:        .dc.w   $4000
                   2061: @@:
                   2062:        bsr     restore_fline
                   2063:        fmovem.l        fpsr,d0
                   2064:        rol.l   #8,d0
                   2065:        or.l    d7,d0
                   2066:        move.b  d0,(a2)+
                   2067: 
                   2068:        ; Fgen.W d8(An,IX),FPn
                   2069:        move.b  #$04,(a2)+
                   2070:        fmovem.l        #$0b000000,fpsr
                   2071:        bsr     set_fline
                   2072:        moveq.l #0,d7
                   2073:        moveq.l #0,d4
                   2074:        lea.l   workarea+12(pc),a0
                   2075:        move.l  d7,-(a0)
                   2076:        move.l  d7,-(a0)
                   2077:        move.l  d7,-(a0)
                   2078:        lea.l   @f,a3
                   2079:        .dc.l   $f2305000
                   2080:        .dc.w   $4000
                   2081: @@:
                   2082:        bsr     restore_fline
                   2083:        fmovem.l        fpsr,d0
                   2084:        rol.l   #8,d0
                   2085:        or.l    d7,d0
                   2086:        move.b  d0,(a2)+
                   2087: 
                   2088:        ; Fgen.L d8(An,IX),FPn
                   2089:        move.b  #$04,(a2)+
                   2090:        fmovem.l        #$0b000000,fpsr
                   2091:        bsr     set_fline
                   2092:        moveq.l #0,d7
                   2093:        moveq.l #0,d4
                   2094:        lea.l   workarea+12(pc),a0
                   2095:        move.l  d7,-(a0)
                   2096:        move.l  d7,-(a0)
                   2097:        move.l  d7,-(a0)
                   2098:        lea.l   @f,a3
                   2099:        .dc.l   $f2304000
                   2100:        .dc.w   $4000
                   2101: @@:
                   2102:        bsr     restore_fline
                   2103:        fmovem.l        fpsr,d0
                   2104:        rol.l   #8,d0
                   2105:        or.l    d7,d0
                   2106:        move.b  d0,(a2)+
                   2107: 
                   2108:        ; Fgen.S d8(An,IX),FPn
                   2109:        move.b  #$04,(a2)+
                   2110:        fmovem.l        #$0b000000,fpsr
                   2111:        bsr     set_fline
                   2112:        moveq.l #0,d7
                   2113:        moveq.l #0,d4
                   2114:        lea.l   workarea+12(pc),a0
                   2115:        move.l  d7,-(a0)
                   2116:        move.l  d7,-(a0)
                   2117:        move.l  d7,-(a0)
                   2118:        lea.l   @f,a3
                   2119:        .dc.l   $f2304400
                   2120:        .dc.w   $4000
                   2121: @@:
                   2122:        bsr     restore_fline
                   2123:        fmovem.l        fpsr,d0
                   2124:        rol.l   #8,d0
                   2125:        or.l    d7,d0
                   2126:        move.b  d0,(a2)+
                   2127: 
                   2128:        ; Fgen.D d8(An,IX),FPn
                   2129:        move.b  #$04,(a2)+
                   2130:        fmovem.l        #$0b000000,fpsr
                   2131:        bsr     set_fline
                   2132:        moveq.l #0,d7
                   2133:        moveq.l #0,d4
                   2134:        lea.l   workarea+12(pc),a0
                   2135:        move.l  d7,-(a0)
                   2136:        move.l  d7,-(a0)
                   2137:        move.l  d7,-(a0)
                   2138:        lea.l   @f,a3
                   2139:        .dc.l   $f2305400
                   2140:        .dc.w   $4000
                   2141: @@:
                   2142:        bsr     restore_fline
                   2143:        fmovem.l        fpsr,d0
                   2144:        rol.l   #8,d0
                   2145:        or.l    d7,d0
                   2146:        move.b  d0,(a2)+
                   2147: 
                   2148:        ; Fgen.X d8(An,IX),FPn
                   2149:        move.b  #$04,(a2)+
                   2150:        fmovem.l        #$0b000000,fpsr
                   2151:        bsr     set_fline
                   2152:        moveq.l #0,d7
                   2153:        moveq.l #0,d4
                   2154:        lea.l   workarea+12(pc),a0
                   2155:        move.l  d7,-(a0)
                   2156:        move.l  d7,-(a0)
                   2157:        move.l  d7,-(a0)
                   2158:        lea.l   @f,a3
                   2159:        .dc.l   $f2304800
                   2160:        .dc.w   $4000
                   2161: @@:
                   2162:        bsr     restore_fline
                   2163:        fmovem.l        fpsr,d0
                   2164:        rol.l   #8,d0
                   2165:        or.l    d7,d0
                   2166:        move.b  d0,(a2)+
                   2167: 
                   2168:        ; Fgen.P d8(An,IX),FPn
                   2169:        move.b  #$04,(a2)+
                   2170:        fmovem.l        #$0b000000,fpsr
                   2171:        bsr     set_fline
                   2172:        moveq.l #0,d7
                   2173:        moveq.l #0,d4
                   2174:        lea.l   workarea+12(pc),a0
                   2175:        move.l  d7,-(a0)
                   2176:        move.l  d7,-(a0)
                   2177:        move.l  d7,-(a0)
                   2178:        lea.l   @f,a3
                   2179:        .dc.l   $f2304c00
                   2180:        .dc.w   $4000
                   2181: @@:
                   2182:        bsr     restore_fline
                   2183:        fmovem.l        fpsr,d0
                   2184:        rol.l   #8,d0
                   2185:        or.l    d7,d0
                   2186:        move.b  d0,(a2)+
                   2187: 
                   2188:        lea.l   msg_test_x,a0
                   2189:        moveq.l #7-1,d0
                   2190:        bsr     print_result
                   2191:        rts
                   2192: 
                   2193: test_fgen_p:
                   2194:        lea.l   result(pc),a2
                   2195:        ; Fgen.B (PC),FPn
                   2196:        move.b  #$04,(a2)+
                   2197:        fmovem.l        #$0b000000,fpsr
                   2198:        bsr     set_fline
                   2199:        moveq.l #0,d7
                   2200:        bra     @f
                   2201:        .dc.l   0, 0, 0
                   2202: @@:
                   2203:        lea.l   @f,a3
                   2204:        .dc.l   $f23a5800
                   2205:        .dc.w   -4-6-12
                   2206: @@:
                   2207:        bsr     restore_fline
                   2208:        fmovem.l        fpsr,d0
                   2209:        rol.l   #8,d0
                   2210:        or.l    d7,d0
                   2211:        move.b  d0,(a2)+
                   2212: 
                   2213:        ; Fgen.W (PC),FPn
                   2214:        move.b  #$04,(a2)+
                   2215:        fmovem.l        #$0b000000,fpsr
                   2216:        bsr     set_fline
                   2217:        moveq.l #0,d7
                   2218:        bra     @f
                   2219:        .dc.l   0, 0, 0
                   2220: @@:
                   2221:        lea.l   @f,a3
                   2222:        .dc.l   $f23a5000
                   2223:        .dc.w   -4-6-12
                   2224: @@:
                   2225:        bsr     restore_fline
                   2226:        fmovem.l        fpsr,d0
                   2227:        rol.l   #8,d0
                   2228:        or.l    d7,d0
                   2229:        move.b  d0,(a2)+
                   2230: 
                   2231:        ; Fgen.L (PC),FPn
                   2232:        move.b  #$04,(a2)+
                   2233:        fmovem.l        #$0b000000,fpsr
                   2234:        bsr     set_fline
                   2235:        moveq.l #0,d7
                   2236:        bra     @f
                   2237:        .dc.l   0, 0, 0
                   2238: @@:
                   2239:        lea.l   @f,a3
                   2240:        .dc.l   $f23a4000
                   2241:        .dc.w   -4-6-12
                   2242: @@:
                   2243:        bsr     restore_fline
                   2244:        fmovem.l        fpsr,d0
                   2245:        rol.l   #8,d0
                   2246:        or.l    d7,d0
                   2247:        move.b  d0,(a2)+
                   2248: 
                   2249:        ; Fgen.S (PC),FPn
                   2250:        move.b  #$04,(a2)+
                   2251:        fmovem.l        #$0b000000,fpsr
                   2252:        bsr     set_fline
                   2253:        moveq.l #0,d7
                   2254:        bra     @f
                   2255:        .dc.l   0, 0, 0
                   2256: @@:
                   2257:        lea.l   @f,a3
                   2258:        .dc.l   $f23a4400
                   2259:        .dc.w   -4-6-12
                   2260: @@:
                   2261:        bsr     restore_fline
                   2262:        fmovem.l        fpsr,d0
                   2263:        rol.l   #8,d0
                   2264:        or.l    d7,d0
                   2265:        move.b  d0,(a2)+
                   2266: 
                   2267:        ; Fgen.D (PC),FPn
                   2268:        move.b  #$04,(a2)+
                   2269:        fmovem.l        #$0b000000,fpsr
                   2270:        bsr     set_fline
                   2271:        moveq.l #0,d7
                   2272:        bra     @f
                   2273:        .dc.l   0, 0, 0
                   2274: @@:
                   2275:        lea.l   @f,a3
                   2276:        .dc.l   $f23a5400
                   2277:        .dc.w   -4-6-12
                   2278: @@:
                   2279:        bsr     restore_fline
                   2280:        fmovem.l        fpsr,d0
                   2281:        rol.l   #8,d0
                   2282:        or.l    d7,d0
                   2283:        move.b  d0,(a2)+
                   2284: 
                   2285:        ; Fgen.X (PC),FPn
                   2286:        move.b  #$04,(a2)+
                   2287:        fmovem.l        #$0b000000,fpsr
                   2288:        bsr     set_fline
                   2289:        moveq.l #0,d7
                   2290:        bra     @f
                   2291:        .dc.l   0, 0, 0
                   2292: @@:
                   2293:        lea.l   @f,a3
                   2294:        .dc.l   $f23a4800
                   2295:        .dc.w   -4-6-12
                   2296: @@:
                   2297:        bsr     restore_fline
                   2298:        fmovem.l        fpsr,d0
                   2299:        rol.l   #8,d0
                   2300:        or.l    d7,d0
                   2301:        move.b  d0,(a2)+
                   2302: 
                   2303:        ; Fgen.P (PC),FPn
                   2304:        move.b  #$04,(a2)+
                   2305:        fmovem.l        #$0b000000,fpsr
                   2306:        bsr     set_fline
                   2307:        moveq.l #0,d7
                   2308:        bra     @f
                   2309:        .dc.l   0, 0, 0
                   2310: @@:
                   2311:        lea.l   @f,a3
                   2312:        .dc.l   $f23a4c00
                   2313:        .dc.w   -4-6-12
                   2314: @@:
                   2315:        bsr     restore_fline
                   2316:        fmovem.l        fpsr,d0
                   2317:        rol.l   #8,d0
                   2318:        or.l    d7,d0
                   2319:        move.b  d0,(a2)+
                   2320: 
                   2321:        lea.l   msg_test_p,a0
                   2322:        moveq.l #7-1,d0
                   2323:        bsr     print_result
                   2324:        rts
                   2325: 
                   2326: test_fgen_i:
                   2327:        lea.l   result(pc),a2
                   2328:        ; Fgen.B #imm,FPn
                   2329:        move.b  #$04,(a2)+
                   2330:        fmovem.l        #$0b000000,fpsr
                   2331:        bsr     set_fline
                   2332:        moveq.l #0,d7
                   2333:        lea.l   @f,a3
                   2334:        .dc.l   $f23c5800
                   2335:        .dc.w   0
                   2336: @@:
                   2337:        bsr     restore_fline
                   2338:        fmovem.l        fpsr,d0
                   2339:        rol.l   #8,d0
                   2340:        or.l    d7,d0
                   2341:        move.b  d0,(a2)+
                   2342: 
                   2343:        ; Fgen.W #imm,FPn
                   2344:        move.b  #$04,(a2)+
                   2345:        fmovem.l        #$0b000000,fpsr
                   2346:        bsr     set_fline
                   2347:        moveq.l #0,d7
                   2348:        lea.l   @f,a3
                   2349:        .dc.l   $f23c5000
                   2350:        .dc.w   0
                   2351: @@:
                   2352:        bsr     restore_fline
                   2353:        fmovem.l        fpsr,d0
                   2354:        rol.l   #8,d0
                   2355:        or.l    d7,d0
                   2356:        move.b  d0,(a2)+
                   2357: 
                   2358:        ; Fgen.L #imm,FPn
                   2359:        move.b  #$04,(a2)+
                   2360:        fmovem.l        #$0b000000,fpsr
                   2361:        bsr     set_fline
                   2362:        moveq.l #0,d7
                   2363:        lea.l   @f,a3
                   2364:        .dc.l   $f23c4000
                   2365:        .dc.l   0
                   2366: @@:
                   2367:        bsr     restore_fline
                   2368:        fmovem.l        fpsr,d0
                   2369:        rol.l   #8,d0
                   2370:        or.l    d7,d0
                   2371:        move.b  d0,(a2)+
                   2372: 
                   2373:        ; Fgen.S #imm,FPn
                   2374:        move.b  #$04,(a2)+
                   2375:        fmovem.l        #$0b000000,fpsr
                   2376:        bsr     set_fline
                   2377:        moveq.l #0,d7
                   2378:        lea.l   @f,a3
                   2379:        .dc.l   $f23c4400
                   2380:        .dc.l   0
                   2381: @@:
                   2382:        bsr     restore_fline
                   2383:        fmovem.l        fpsr,d0
                   2384:        rol.l   #8,d0
                   2385:        or.l    d7,d0
                   2386:        move.b  d0,(a2)+
                   2387: 
                   2388:        ; Fgen.D #imm,FPn
                   2389:        move.b  #$04,(a2)+
                   2390:        fmovem.l        #$0b000000,fpsr
                   2391:        bsr     set_fline
                   2392:        moveq.l #0,d7
                   2393:        lea.l   @f,a3
                   2394:        .dc.l   $f23c5400
                   2395:        .dc.l   0, 0
                   2396: @@:
                   2397:        bsr     restore_fline
                   2398:        fmovem.l        fpsr,d0
                   2399:        rol.l   #8,d0
                   2400:        or.l    d7,d0
                   2401:        move.b  d0,(a2)+
                   2402: 
                   2403:        ; Fgen.X #imm,FPn
                   2404:        move.b  #$04,(a2)+
                   2405:        fmovem.l        #$0b000000,fpsr
                   2406:        bsr     set_fline
                   2407:        moveq.l #0,d7
                   2408:        lea.l   @f,a3
                   2409:        .dc.l   $f23c4800
                   2410:        .dc.l   0, 0, 0
                   2411: @@:
                   2412:        bsr     restore_fline
                   2413:        fmovem.l        fpsr,d0
                   2414:        rol.l   #8,d0
                   2415:        or.l    d7,d0
                   2416:        move.b  d0,(a2)+
                   2417: 
                   2418:        ; Fgen.P #imm,FPn
                   2419:        move.b  #$04,(a2)+
                   2420:        fmovem.l        #$0b000000,fpsr
                   2421:        bsr     set_fline
                   2422:        moveq.l #0,d7
                   2423:        lea.l   @f,a3
                   2424:        .dc.l   $f23c4c00
                   2425:        .dc.l   0, 0, 0
                   2426: @@:
                   2427:        bsr     restore_fline
                   2428:        fmovem.l        fpsr,d0
                   2429:        rol.l   #8,d0
                   2430:        or.l    d7,d0
                   2431:        move.b  d0,(a2)+
                   2432: 
                   2433:        lea.l   msg_test_i,a0
                   2434:        moveq.l #7-1,d0
                   2435:        bsr     print_result
                   2436:        rts
                   2437: 
                   2438: test_fgen_o:
                   2439:        lea.l   result(pc),a2
                   2440:        ; Fgen.B 075,FPn
                   2441:        move.b  #$1b,(a2)+
                   2442:        fmovem.l        #$0b000000,fpsr
                   2443:        bsr     set_fline
                   2444:        moveq.l #0,d7
                   2445:        lea.l   @f,a3
                   2446:        .dc.l   $f23d5800
                   2447: @@:
                   2448:        bsr     restore_fline
                   2449:        fmovem.l        fpsr,d0
                   2450:        rol.l   #8,d0
                   2451:        or.l    d7,d0
                   2452:        move.b  d0,(a2)+
                   2453: 
                   2454:        ; Fgen.W 075,FPn
                   2455:        move.b  #$1b,(a2)+
                   2456:        fmovem.l        #$0b000000,fpsr
                   2457:        bsr     set_fline
                   2458:        moveq.l #0,d7
                   2459:        lea.l   @f,a3
                   2460:        .dc.l   $f23d5000
                   2461: @@:
                   2462:        bsr     restore_fline
                   2463:        fmovem.l        fpsr,d0
                   2464:        rol.l   #8,d0
                   2465:        or.l    d7,d0
                   2466:        move.b  d0,(a2)+
                   2467: 
                   2468:        ; Fgen.L 075,FPn
                   2469:        move.b  #$1b,(a2)+
                   2470:        fmovem.l        #$0b000000,fpsr
                   2471:        bsr     set_fline
                   2472:        moveq.l #0,d7
                   2473:        lea.l   @f,a3
                   2474:        .dc.l   $f23d4000
                   2475: @@:
                   2476:        bsr     restore_fline
                   2477:        fmovem.l        fpsr,d0
                   2478:        rol.l   #8,d0
                   2479:        or.l    d7,d0
                   2480:        move.b  d0,(a2)+
                   2481: 
                   2482:        ; Fgen.S 075,FPn
                   2483:        move.b  #$1b,(a2)+
                   2484:        fmovem.l        #$0b000000,fpsr
                   2485:        bsr     set_fline
                   2486:        moveq.l #0,d7
                   2487:        lea.l   @f,a3
                   2488:        .dc.l   $f23d4400
                   2489: @@:
                   2490:        bsr     restore_fline
                   2491:        fmovem.l        fpsr,d0
                   2492:        rol.l   #8,d0
                   2493:        or.l    d7,d0
                   2494:        move.b  d0,(a2)+
                   2495: 
                   2496:        ; Fgen.D 075,FPn
                   2497:        move.b  #$1b,(a2)+
                   2498:        fmovem.l        #$0b000000,fpsr
                   2499:        bsr     set_fline
                   2500:        moveq.l #0,d7
                   2501:        lea.l   @f,a3
                   2502:        .dc.l   $f23d5400
                   2503: @@:
                   2504:        bsr     restore_fline
                   2505:        fmovem.l        fpsr,d0
                   2506:        rol.l   #8,d0
                   2507:        or.l    d7,d0
                   2508:        move.b  d0,(a2)+
                   2509: 
                   2510:        ; Fgen.X 075,FPn
                   2511:        move.b  #$1b,(a2)+
                   2512:        fmovem.l        #$0b000000,fpsr
                   2513:        bsr     set_fline
                   2514:        moveq.l #0,d7
                   2515:        lea.l   @f,a3
                   2516:        .dc.l   $f23d4800
                   2517: @@:
                   2518:        bsr     restore_fline
                   2519:        fmovem.l        fpsr,d0
                   2520:        rol.l   #8,d0
                   2521:        or.l    d7,d0
                   2522:        move.b  d0,(a2)+
                   2523: 
                   2524:        ; Fgen.P 075,FPn
                   2525:        move.b  #$1b,(a2)+
                   2526:        fmovem.l        #$0b000000,fpsr
                   2527:        bsr     set_fline
                   2528:        moveq.l #0,d7
                   2529:        lea.l   @f,a3
                   2530:        .dc.l   $f23d4c00
                   2531: @@:
                   2532:        bsr     restore_fline
                   2533:        fmovem.l        fpsr,d0
                   2534:        rol.l   #8,d0
                   2535:        or.l    d7,d0
                   2536:        move.b  d0,(a2)+
                   2537: 
                   2538:        lea.l   msg_test_o,a0
                   2539:        moveq.l #7-1,d0
                   2540:        bsr     print_result
                   2541:        rts
                   2542: 
                   2543: test_fscale_d:
                   2544:        lea.l   result(pc),a2
                   2545:        ; FSCALE.B Dn,FPn
                   2546:        move.b  #$04,(a2)+
                   2547:        fmovem.l        #$0b000000,fpsr
                   2548:        bsr     set_fline
                   2549:        moveq.l #0,d7
                   2550:        moveq.l #0,d6
                   2551:        lea.l   @f,a3
                   2552:        .dc.l   $f2065826
                   2553: @@:
                   2554:        bsr     restore_fline
                   2555:        fmovem.l        fpsr,d0
                   2556:        rol.l   #8,d0
                   2557:        or.l    d7,d0
                   2558:        move.b  d0,(a2)+
                   2559: 
                   2560:        ; FSCALE.W Dn,FPn
                   2561:        move.b  #$04,(a2)+
                   2562:        fmovem.l        #$0b000000,fpsr
                   2563:        bsr     set_fline
                   2564:        moveq.l #0,d7
                   2565:        moveq.l #0,d6
                   2566:        lea.l   @f,a3
                   2567:        .dc.l   $f2065026
                   2568: @@:
                   2569:        bsr     restore_fline
                   2570:        fmovem.l        fpsr,d0
                   2571:        rol.l   #8,d0
                   2572:        or.l    d7,d0
                   2573:        move.b  d0,(a2)+
                   2574: 
                   2575:        ; FSCALE.L Dn,FPn
                   2576:        move.b  #$04,(a2)+
                   2577:        fmovem.l        #$0b000000,fpsr
                   2578:        bsr     set_fline
                   2579:        moveq.l #0,d7
                   2580:        moveq.l #0,d6
                   2581:        lea.l   @f,a3
                   2582:        .dc.l   $f2064026
                   2583: @@:
                   2584:        bsr     restore_fline
                   2585:        fmovem.l        fpsr,d0
                   2586:        rol.l   #8,d0
                   2587:        or.l    d7,d0
                   2588:        move.b  d0,(a2)+
                   2589: 
                   2590:        ; FSCALE.S Dn,FPn
                   2591:        move.b  #$04,(a2)+
                   2592:        fmovem.l        #$0b000000,fpsr
                   2593:        bsr     set_fline
                   2594:        moveq.l #0,d7
                   2595:        moveq.l #0,d6
                   2596:        lea.l   @f,a3
                   2597:        .dc.l   $f2064426
                   2598: @@:
                   2599:        bsr     restore_fline
                   2600:        fmovem.l        fpsr,d0
                   2601:        rol.l   #8,d0
                   2602:        or.l    d7,d0
                   2603:        move.b  d0,(a2)+
                   2604: 
                   2605:        ; FSCALE.D Dn,FPn
                   2606:        move.b  #$1b,(a2)+
                   2607:        fmovem.l        #$0b000000,fpsr
                   2608:        bsr     set_fline
                   2609:        moveq.l #0,d7
                   2610:        moveq.l #0,d6
                   2611:        lea.l   @f,a3
                   2612:        .dc.l   $f2065426
                   2613: @@:
                   2614:        bsr     restore_fline
                   2615:        fmovem.l        fpsr,d0
                   2616:        rol.l   #8,d0
                   2617:        or.l    d7,d0
                   2618:        move.b  d0,(a2)+
                   2619: 
                   2620:        ; FSCALE.X Dn,FPn
                   2621:        move.b  #$1b,(a2)+
                   2622:        fmovem.l        #$0b000000,fpsr
                   2623:        bsr     set_fline
                   2624:        moveq.l #0,d7
                   2625:        moveq.l #0,d6
                   2626:        lea.l   @f,a3
                   2627:        .dc.l   $f2064826
                   2628: @@:
                   2629:        bsr     restore_fline
                   2630:        fmovem.l        fpsr,d0
                   2631:        rol.l   #8,d0
                   2632:        or.l    d7,d0
                   2633:        move.b  d0,(a2)+
                   2634: 
                   2635:        ; FSCALE.P Dn,FPn
                   2636:        move.b  #$1b,(a2)+
                   2637:        fmovem.l        #$0b000000,fpsr
                   2638:        bsr     set_fline
                   2639:        moveq.l #0,d7
                   2640:        moveq.l #0,d6
                   2641:        lea.l   @f,a3
                   2642:        .dc.l   $f2064c26
                   2643: @@:
                   2644:        bsr     restore_fline
                   2645:        fmovem.l        fpsr,d0
                   2646:        rol.l   #8,d0
                   2647:        or.l    d7,d0
                   2648:        move.b  d0,(a2)+
                   2649: 
                   2650:        lea.l   msg_test_d,a0
                   2651:        moveq.l #7-1,d0
                   2652:        bsr     print_result
                   2653:        rts
                   2654: 
                   2655: test_fscale_a:
                   2656:        lea.l   result(pc),a2
                   2657:        ; FSCALE.B An,FPn
                   2658:        move.b  #$1b,(a2)+
                   2659:        fmovem.l        #$0b000000,fpsr
                   2660:        bsr     set_fline
                   2661:        moveq.l #0,d7
                   2662:        lea.l   @f,a3
                   2663:        .dc.l   $f2085826
                   2664: @@:
                   2665:        bsr     restore_fline
                   2666:        fmovem.l        fpsr,d0
                   2667:        rol.l   #8,d0
                   2668:        or.l    d7,d0
                   2669:        move.b  d0,(a2)+
                   2670: 
                   2671:        ; FSCALE.W An,FPn
                   2672:        move.b  #$1b,(a2)+
                   2673:        fmovem.l        #$0b000000,fpsr
                   2674:        bsr     set_fline
                   2675:        moveq.l #0,d7
                   2676:        lea.l   @f,a3
                   2677:        .dc.l   $f2085026
                   2678: @@:
                   2679:        bsr     restore_fline
                   2680:        fmovem.l        fpsr,d0
                   2681:        rol.l   #8,d0
                   2682:        or.l    d7,d0
                   2683:        move.b  d0,(a2)+
                   2684: 
                   2685:        ; FSCALE.L An,FPn
                   2686:        move.b  #$1b,(a2)+
                   2687:        fmovem.l        #$0b000000,fpsr
                   2688:        bsr     set_fline
                   2689:        moveq.l #0,d7
                   2690:        lea.l   @f,a3
                   2691:        .dc.l   $f2084026
                   2692: @@:
                   2693:        bsr     restore_fline
                   2694:        fmovem.l        fpsr,d0
                   2695:        rol.l   #8,d0
                   2696:        or.l    d7,d0
                   2697:        move.b  d0,(a2)+
                   2698: 
                   2699:        ; FSCALE.S An,FPn
                   2700:        move.b  #$1b,(a2)+
                   2701:        fmovem.l        #$0b000000,fpsr
                   2702:        bsr     set_fline
                   2703:        moveq.l #0,d7
                   2704:        lea.l   @f,a3
                   2705:        .dc.l   $f2084426
                   2706: @@:
                   2707:        bsr     restore_fline
                   2708:        fmovem.l        fpsr,d0
                   2709:        rol.l   #8,d0
                   2710:        or.l    d7,d0
                   2711:        move.b  d0,(a2)+
                   2712: 
                   2713:        ; FSCALE.D An,FPn
                   2714:        move.b  #$1b,(a2)+
                   2715:        fmovem.l        #$0b000000,fpsr
                   2716:        bsr     set_fline
                   2717:        moveq.l #0,d7
                   2718:        lea.l   @f,a3
                   2719:        .dc.l   $f2085426
                   2720: @@:
                   2721:        bsr     restore_fline
                   2722:        fmovem.l        fpsr,d0
                   2723:        rol.l   #8,d0
                   2724:        or.l    d7,d0
                   2725:        move.b  d0,(a2)+
                   2726: 
                   2727:        ; FSCALE.X An,FPn
                   2728:        move.b  #$1b,(a2)+
                   2729:        fmovem.l        #$0b000000,fpsr
                   2730:        bsr     set_fline
                   2731:        moveq.l #0,d7
                   2732:        lea.l   @f,a3
                   2733:        .dc.l   $f2084826
                   2734: @@:
                   2735:        bsr     restore_fline
                   2736:        fmovem.l        fpsr,d0
                   2737:        rol.l   #8,d0
                   2738:        or.l    d7,d0
                   2739:        move.b  d0,(a2)+
                   2740: 
                   2741:        ; FSCALE.P An,FPn
                   2742:        move.b  #$1b,(a2)+
                   2743:        fmovem.l        #$0b000000,fpsr
                   2744:        bsr     set_fline
                   2745:        moveq.l #0,d7
                   2746:        lea.l   @f,a3
                   2747:        .dc.l   $f2084c26
                   2748: @@:
                   2749:        bsr     restore_fline
                   2750:        fmovem.l        fpsr,d0
                   2751:        rol.l   #8,d0
                   2752:        or.l    d7,d0
                   2753:        move.b  d0,(a2)+
                   2754: 
                   2755:        lea.l   msg_test_a,a0
                   2756:        moveq.l #7-1,d0
                   2757:        bsr     print_result
                   2758:        rts
                   2759: 
                   2760: test_fscale_m:
                   2761:        lea.l   result(pc),a2
                   2762:        ; FSCALE.B (An),FPn
                   2763:        move.b  #$04,(a2)+
                   2764:        fmovem.l        #$0b000000,fpsr
                   2765:        bsr     set_fline
                   2766:        moveq.l #0,d7
                   2767:        lea.l   workarea+12(pc),a0
                   2768:        move.l  d7,-(a0)
                   2769:        move.l  d7,-(a0)
                   2770:        move.l  d7,-(a0)
                   2771:        lea.l   @f,a3
                   2772:        .dc.l   $f2105826
                   2773: @@:
                   2774:        bsr     restore_fline
                   2775:        fmovem.l        fpsr,d0
                   2776:        rol.l   #8,d0
                   2777:        or.l    d7,d0
                   2778:        move.b  d0,(a2)+
                   2779: 
                   2780:        ; FSCALE.W (An),FPn
                   2781:        move.b  #$04,(a2)+
                   2782:        fmovem.l        #$0b000000,fpsr
                   2783:        bsr     set_fline
                   2784:        moveq.l #0,d7
                   2785:        lea.l   workarea+12(pc),a0
                   2786:        move.l  d7,-(a0)
                   2787:        move.l  d7,-(a0)
                   2788:        move.l  d7,-(a0)
                   2789:        lea.l   @f,a3
                   2790:        .dc.l   $f2105026
                   2791: @@:
                   2792:        bsr     restore_fline
                   2793:        fmovem.l        fpsr,d0
                   2794:        rol.l   #8,d0
                   2795:        or.l    d7,d0
                   2796:        move.b  d0,(a2)+
                   2797: 
                   2798:        ; FSCALE.L (An),FPn
                   2799:        move.b  #$04,(a2)+
                   2800:        fmovem.l        #$0b000000,fpsr
                   2801:        bsr     set_fline
                   2802:        moveq.l #0,d7
                   2803:        lea.l   workarea+12(pc),a0
                   2804:        move.l  d7,-(a0)
                   2805:        move.l  d7,-(a0)
                   2806:        move.l  d7,-(a0)
                   2807:        lea.l   @f,a3
                   2808:        .dc.l   $f2104026
                   2809: @@:
                   2810:        bsr     restore_fline
                   2811:        fmovem.l        fpsr,d0
                   2812:        rol.l   #8,d0
                   2813:        or.l    d7,d0
                   2814:        move.b  d0,(a2)+
                   2815: 
                   2816:        ; FSCALE.S (An),FPn
                   2817:        move.b  #$04,(a2)+
                   2818:        fmovem.l        #$0b000000,fpsr
                   2819:        bsr     set_fline
                   2820:        moveq.l #0,d7
                   2821:        lea.l   workarea+12(pc),a0
                   2822:        move.l  d7,-(a0)
                   2823:        move.l  d7,-(a0)
                   2824:        move.l  d7,-(a0)
                   2825:        lea.l   @f,a3
                   2826:        .dc.l   $f2104426
                   2827: @@:
                   2828:        bsr     restore_fline
                   2829:        fmovem.l        fpsr,d0
                   2830:        rol.l   #8,d0
                   2831:        or.l    d7,d0
                   2832:        move.b  d0,(a2)+
                   2833: 
                   2834:        ; FSCALE.D (An),FPn
                   2835:        move.b  #$04,(a2)+
                   2836:        fmovem.l        #$0b000000,fpsr
                   2837:        bsr     set_fline
                   2838:        moveq.l #0,d7
                   2839:        lea.l   workarea+12(pc),a0
                   2840:        move.l  d7,-(a0)
                   2841:        move.l  d7,-(a0)
                   2842:        move.l  d7,-(a0)
                   2843:        lea.l   @f,a3
                   2844:        .dc.l   $f2105426
                   2845: @@:
                   2846:        bsr     restore_fline
                   2847:        fmovem.l        fpsr,d0
                   2848:        rol.l   #8,d0
                   2849:        or.l    d7,d0
                   2850:        move.b  d0,(a2)+
                   2851: 
                   2852:        ; FSCALE.X (An),FPn
                   2853:        move.b  #$04,(a2)+
                   2854:        fmovem.l        #$0b000000,fpsr
                   2855:        bsr     set_fline
                   2856:        moveq.l #0,d7
                   2857:        lea.l   workarea+12(pc),a0
                   2858:        move.l  d7,-(a0)
                   2859:        move.l  d7,-(a0)
                   2860:        move.l  d7,-(a0)
                   2861:        lea.l   @f,a3
                   2862:        .dc.l   $f2104826
                   2863: @@:
                   2864:        bsr     restore_fline
                   2865:        fmovem.l        fpsr,d0
                   2866:        rol.l   #8,d0
                   2867:        or.l    d7,d0
                   2868:        move.b  d0,(a2)+
                   2869: 
                   2870:        ; FSCALE.P (An),FPn
                   2871:        move.b  #$04,(a2)+
                   2872:        fmovem.l        #$0b000000,fpsr
                   2873:        bsr     set_fline
                   2874:        moveq.l #0,d7
                   2875:        lea.l   workarea+12(pc),a0
                   2876:        move.l  d7,-(a0)
                   2877:        move.l  d7,-(a0)
                   2878:        move.l  d7,-(a0)
                   2879:        lea.l   @f,a3
                   2880:        .dc.l   $f2104c26
                   2881: @@:
                   2882:        bsr     restore_fline
                   2883:        fmovem.l        fpsr,d0
                   2884:        rol.l   #8,d0
                   2885:        or.l    d7,d0
                   2886:        move.b  d0,(a2)+
                   2887: 
                   2888:        lea.l   msg_test_m,a0
                   2889:        moveq.l #7-1,d0
                   2890:        bsr     print_result
                   2891:        rts
                   2892: 
                   2893: test_fscale_mi:
                   2894:        lea.l   result(pc),a2
                   2895:        ; FSCALE.B (An)+,FPn
                   2896:        move.b  #$04,(a2)+
                   2897:        fmovem.l        #$0b000000,fpsr
                   2898:        bsr     set_fline
                   2899:        moveq.l #0,d7
                   2900:        lea.l   workarea+12(pc),a0
                   2901:        move.l  d7,-(a0)
                   2902:        move.l  d7,-(a0)
                   2903:        move.l  d7,-(a0)
                   2904:        lea.l   @f,a3
                   2905:        .dc.l   $f2185826
                   2906: @@:
                   2907:        bsr     restore_fline
                   2908:        fmovem.l        fpsr,d0
                   2909:        rol.l   #8,d0
                   2910:        or.l    d7,d0
                   2911:        move.b  d0,(a2)+
                   2912: 
                   2913:        ; FSCALE.W (An)+,FPn
                   2914:        move.b  #$04,(a2)+
                   2915:        fmovem.l        #$0b000000,fpsr
                   2916:        bsr     set_fline
                   2917:        moveq.l #0,d7
                   2918:        lea.l   workarea+12(pc),a0
                   2919:        move.l  d7,-(a0)
                   2920:        move.l  d7,-(a0)
                   2921:        move.l  d7,-(a0)
                   2922:        lea.l   @f,a3
                   2923:        .dc.l   $f2185026
                   2924: @@:
                   2925:        bsr     restore_fline
                   2926:        fmovem.l        fpsr,d0
                   2927:        rol.l   #8,d0
                   2928:        or.l    d7,d0
                   2929:        move.b  d0,(a2)+
                   2930: 
                   2931:        ; FSCALE.L (An)+,FPn
                   2932:        move.b  #$04,(a2)+
                   2933:        fmovem.l        #$0b000000,fpsr
                   2934:        bsr     set_fline
                   2935:        moveq.l #0,d7
                   2936:        lea.l   workarea+12(pc),a0
                   2937:        move.l  d7,-(a0)
                   2938:        move.l  d7,-(a0)
                   2939:        move.l  d7,-(a0)
                   2940:        lea.l   @f,a3
                   2941:        .dc.l   $f2184026
                   2942: @@:
                   2943:        bsr     restore_fline
                   2944:        fmovem.l        fpsr,d0
                   2945:        rol.l   #8,d0
                   2946:        or.l    d7,d0
                   2947:        move.b  d0,(a2)+
                   2948: 
                   2949:        ; FSCALE.S (An)+,FPn
                   2950:        move.b  #$04,(a2)+
                   2951:        fmovem.l        #$0b000000,fpsr
                   2952:        bsr     set_fline
                   2953:        moveq.l #0,d7
                   2954:        lea.l   workarea+12(pc),a0
                   2955:        move.l  d7,-(a0)
                   2956:        move.l  d7,-(a0)
                   2957:        move.l  d7,-(a0)
                   2958:        lea.l   @f,a3
                   2959:        .dc.l   $f2184426
                   2960: @@:
                   2961:        bsr     restore_fline
                   2962:        fmovem.l        fpsr,d0
                   2963:        rol.l   #8,d0
                   2964:        or.l    d7,d0
                   2965:        move.b  d0,(a2)+
                   2966: 
                   2967:        ; FSCALE.D (An)+,FPn
                   2968:        move.b  #$04,(a2)+
                   2969:        fmovem.l        #$0b000000,fpsr
                   2970:        bsr     set_fline
                   2971:        moveq.l #0,d7
                   2972:        lea.l   workarea+12(pc),a0
                   2973:        move.l  d7,-(a0)
                   2974:        move.l  d7,-(a0)
                   2975:        move.l  d7,-(a0)
                   2976:        lea.l   @f,a3
                   2977:        .dc.l   $f2185426
                   2978: @@:
                   2979:        bsr     restore_fline
                   2980:        fmovem.l        fpsr,d0
                   2981:        rol.l   #8,d0
                   2982:        or.l    d7,d0
                   2983:        move.b  d0,(a2)+
                   2984: 
                   2985:        ; FSCALE.X (An)+,FPn
                   2986:        move.b  #$04,(a2)+
                   2987:        fmovem.l        #$0b000000,fpsr
                   2988:        bsr     set_fline
                   2989:        moveq.l #0,d7
                   2990:        lea.l   workarea+12(pc),a0
                   2991:        move.l  d7,-(a0)
                   2992:        move.l  d7,-(a0)
                   2993:        move.l  d7,-(a0)
                   2994:        lea.l   @f,a3
                   2995:        .dc.l   $f2184826
                   2996: @@:
                   2997:        bsr     restore_fline
                   2998:        fmovem.l        fpsr,d0
                   2999:        rol.l   #8,d0
                   3000:        or.l    d7,d0
                   3001:        move.b  d0,(a2)+
                   3002: 
                   3003:        ; FSCALE.P (An)+,FPn
                   3004:        move.b  #$04,(a2)+
                   3005:        fmovem.l        #$0b000000,fpsr
                   3006:        bsr     set_fline
                   3007:        moveq.l #0,d7
                   3008:        lea.l   workarea+12(pc),a0
                   3009:        move.l  d7,-(a0)
                   3010:        move.l  d7,-(a0)
                   3011:        move.l  d7,-(a0)
                   3012:        lea.l   @f,a3
                   3013:        .dc.l   $f2184c26
                   3014: @@:
                   3015:        bsr     restore_fline
                   3016:        fmovem.l        fpsr,d0
                   3017:        rol.l   #8,d0
                   3018:        or.l    d7,d0
                   3019:        move.b  d0,(a2)+
                   3020: 
                   3021:        lea.l   msg_test_mi,a0
                   3022:        moveq.l #7-1,d0
                   3023:        bsr     print_result
                   3024:        rts
                   3025: 
                   3026: test_fscale_md:
                   3027:        lea.l   result(pc),a2
                   3028:        ; FSCALE.B -(An),FPn
                   3029:        move.b  #$04,(a2)+
                   3030:        fmovem.l        #$0b000000,fpsr
                   3031:        bsr     set_fline
                   3032:        moveq.l #0,d7
                   3033:        lea.l   workarea(pc),a0
                   3034:        move.l  d7,(a0)+
                   3035:        move.l  d7,(a0)+
                   3036:        move.l  d7,(a0)+
                   3037:        lea.l   @f,a3
                   3038:        .dc.l   $f2205826
                   3039: @@:
                   3040:        bsr     restore_fline
                   3041:        fmovem.l        fpsr,d0
                   3042:        rol.l   #8,d0
                   3043:        or.l    d7,d0
                   3044:        move.b  d0,(a2)+
                   3045: 
                   3046:        ; FSCALE.W -(An),FPn
                   3047:        move.b  #$04,(a2)+
                   3048:        fmovem.l        #$0b000000,fpsr
                   3049:        bsr     set_fline
                   3050:        moveq.l #0,d7
                   3051:        lea.l   workarea(pc),a0
                   3052:        move.l  d7,(a0)+
                   3053:        move.l  d7,(a0)+
                   3054:        move.l  d7,(a0)+
                   3055:        lea.l   @f,a3
                   3056:        .dc.l   $f2205026
                   3057: @@:
                   3058:        bsr     restore_fline
                   3059:        fmovem.l        fpsr,d0
                   3060:        rol.l   #8,d0
                   3061:        or.l    d7,d0
                   3062:        move.b  d0,(a2)+
                   3063: 
                   3064:        ; FSCALE.L -(An),FPn
                   3065:        move.b  #$04,(a2)+
                   3066:        fmovem.l        #$0b000000,fpsr
                   3067:        bsr     set_fline
                   3068:        moveq.l #0,d7
                   3069:        lea.l   workarea(pc),a0
                   3070:        move.l  d7,(a0)+
                   3071:        move.l  d7,(a0)+
                   3072:        move.l  d7,(a0)+
                   3073:        lea.l   @f,a3
                   3074:        .dc.l   $f2204026
                   3075: @@:
                   3076:        bsr     restore_fline
                   3077:        fmovem.l        fpsr,d0
                   3078:        rol.l   #8,d0
                   3079:        or.l    d7,d0
                   3080:        move.b  d0,(a2)+
                   3081: 
                   3082:        ; FSCALE.S -(An),FPn
                   3083:        move.b  #$04,(a2)+
                   3084:        fmovem.l        #$0b000000,fpsr
                   3085:        bsr     set_fline
                   3086:        moveq.l #0,d7
                   3087:        lea.l   workarea(pc),a0
                   3088:        move.l  d7,(a0)+
                   3089:        move.l  d7,(a0)+
                   3090:        move.l  d7,(a0)+
                   3091:        lea.l   @f,a3
                   3092:        .dc.l   $f2204426
                   3093: @@:
                   3094:        bsr     restore_fline
                   3095:        fmovem.l        fpsr,d0
                   3096:        rol.l   #8,d0
                   3097:        or.l    d7,d0
                   3098:        move.b  d0,(a2)+
                   3099: 
                   3100:        ; FSCALE.D -(An),FPn
                   3101:        move.b  #$04,(a2)+
                   3102:        fmovem.l        #$0b000000,fpsr
                   3103:        bsr     set_fline
                   3104:        moveq.l #0,d7
                   3105:        lea.l   workarea(pc),a0
                   3106:        move.l  d7,(a0)+
                   3107:        move.l  d7,(a0)+
                   3108:        move.l  d7,(a0)+
                   3109:        lea.l   @f,a3
                   3110:        .dc.l   $f2205426
                   3111: @@:
                   3112:        bsr     restore_fline
                   3113:        fmovem.l        fpsr,d0
                   3114:        rol.l   #8,d0
                   3115:        or.l    d7,d0
                   3116:        move.b  d0,(a2)+
                   3117: 
                   3118:        ; FSCALE.X -(An),FPn
                   3119:        move.b  #$04,(a2)+
                   3120:        fmovem.l        #$0b000000,fpsr
                   3121:        bsr     set_fline
                   3122:        moveq.l #0,d7
                   3123:        lea.l   workarea(pc),a0
                   3124:        move.l  d7,(a0)+
                   3125:        move.l  d7,(a0)+
                   3126:        move.l  d7,(a0)+
                   3127:        lea.l   @f,a3
                   3128:        .dc.l   $f2204826
                   3129: @@:
                   3130:        bsr     restore_fline
                   3131:        fmovem.l        fpsr,d0
                   3132:        rol.l   #8,d0
                   3133:        or.l    d7,d0
                   3134:        move.b  d0,(a2)+
                   3135: 
                   3136:        ; FSCALE.P -(An),FPn
                   3137:        move.b  #$04,(a2)+
                   3138:        fmovem.l        #$0b000000,fpsr
                   3139:        bsr     set_fline
                   3140:        moveq.l #0,d7
                   3141:        lea.l   workarea(pc),a0
                   3142:        move.l  d7,(a0)+
                   3143:        move.l  d7,(a0)+
                   3144:        move.l  d7,(a0)+
                   3145:        lea.l   @f,a3
                   3146:        .dc.l   $f2204c26
                   3147: @@:
                   3148:        bsr     restore_fline
                   3149:        fmovem.l        fpsr,d0
                   3150:        rol.l   #8,d0
                   3151:        or.l    d7,d0
                   3152:        move.b  d0,(a2)+
                   3153: 
                   3154:        lea.l   msg_test_md,a0
                   3155:        moveq.l #7-1,d0
                   3156:        bsr     print_result
                   3157:        rts
                   3158: 
                   3159: test_fscale_r:
                   3160:        lea.l   result(pc),a2
                   3161:        ; FSCALE.B d16(An),FPn
                   3162:        move.b  #$04,(a2)+
                   3163:        fmovem.l        #$0b000000,fpsr
                   3164:        bsr     set_fline
                   3165:        moveq.l #0,d7
                   3166:        lea.l   workarea+12(pc),a0
                   3167:        move.l  d7,-(a0)
                   3168:        move.l  d7,-(a0)
                   3169:        move.l  d7,-(a0)
                   3170:        lea.l   @f,a3
                   3171:        .dc.l   $f2285826
                   3172:        .dc.w   $0000
                   3173: @@:
                   3174:        bsr     restore_fline
                   3175:        fmovem.l        fpsr,d0
                   3176:        rol.l   #8,d0
                   3177:        or.l    d7,d0
                   3178:        move.b  d0,(a2)+
                   3179: 
                   3180:        ; FSCALE.W d16(An),FPn
                   3181:        move.b  #$04,(a2)+
                   3182:        fmovem.l        #$0b000000,fpsr
                   3183:        bsr     set_fline
                   3184:        moveq.l #0,d7
                   3185:        lea.l   workarea+12(pc),a0
                   3186:        move.l  d7,-(a0)
                   3187:        move.l  d7,-(a0)
                   3188:        move.l  d7,-(a0)
                   3189:        lea.l   @f,a3
                   3190:        .dc.l   $f2285026
                   3191:        .dc.w   $0000
                   3192: @@:
                   3193:        bsr     restore_fline
                   3194:        fmovem.l        fpsr,d0
                   3195:        rol.l   #8,d0
                   3196:        or.l    d7,d0
                   3197:        move.b  d0,(a2)+
                   3198: 
                   3199:        ; FSCALE.L d16(An),FPn
                   3200:        move.b  #$04,(a2)+
                   3201:        fmovem.l        #$0b000000,fpsr
                   3202:        bsr     set_fline
                   3203:        moveq.l #0,d7
                   3204:        lea.l   workarea+12(pc),a0
                   3205:        move.l  d7,-(a0)
                   3206:        move.l  d7,-(a0)
                   3207:        move.l  d7,-(a0)
                   3208:        lea.l   @f,a3
                   3209:        .dc.l   $f2284026
                   3210:        .dc.w   $0000
                   3211: @@:
                   3212:        bsr     restore_fline
                   3213:        fmovem.l        fpsr,d0
                   3214:        rol.l   #8,d0
                   3215:        or.l    d7,d0
                   3216:        move.b  d0,(a2)+
                   3217: 
                   3218:        ; FSCALE.S d16(An),FPn
                   3219:        move.b  #$04,(a2)+
                   3220:        fmovem.l        #$0b000000,fpsr
                   3221:        bsr     set_fline
                   3222:        moveq.l #0,d7
                   3223:        lea.l   workarea+12(pc),a0
                   3224:        move.l  d7,-(a0)
                   3225:        move.l  d7,-(a0)
                   3226:        move.l  d7,-(a0)
                   3227:        lea.l   @f,a3
                   3228:        .dc.l   $f2284426
                   3229:        .dc.w   $0000
                   3230: @@:
                   3231:        bsr     restore_fline
                   3232:        fmovem.l        fpsr,d0
                   3233:        rol.l   #8,d0
                   3234:        or.l    d7,d0
                   3235:        move.b  d0,(a2)+
                   3236: 
                   3237:        ; FSCALE.D d16(An),FPn
                   3238:        move.b  #$04,(a2)+
                   3239:        fmovem.l        #$0b000000,fpsr
                   3240:        bsr     set_fline
                   3241:        moveq.l #0,d7
                   3242:        lea.l   workarea+12(pc),a0
                   3243:        move.l  d7,-(a0)
                   3244:        move.l  d7,-(a0)
                   3245:        move.l  d7,-(a0)
                   3246:        lea.l   @f,a3
                   3247:        .dc.l   $f2285426
                   3248:        .dc.w   $0000
                   3249: @@:
                   3250:        bsr     restore_fline
                   3251:        fmovem.l        fpsr,d0
                   3252:        rol.l   #8,d0
                   3253:        or.l    d7,d0
                   3254:        move.b  d0,(a2)+
                   3255: 
                   3256:        ; FSCALE.X d16(An),FPn
                   3257:        move.b  #$04,(a2)+
                   3258:        fmovem.l        #$0b000000,fpsr
                   3259:        bsr     set_fline
                   3260:        moveq.l #0,d7
                   3261:        lea.l   workarea+12(pc),a0
                   3262:        move.l  d7,-(a0)
                   3263:        move.l  d7,-(a0)
                   3264:        move.l  d7,-(a0)
                   3265:        lea.l   @f,a3
                   3266:        .dc.l   $f2284826
                   3267:        .dc.w   $0000
                   3268: @@:
                   3269:        bsr     restore_fline
                   3270:        fmovem.l        fpsr,d0
                   3271:        rol.l   #8,d0
                   3272:        or.l    d7,d0
                   3273:        move.b  d0,(a2)+
                   3274: 
                   3275:        ; FSCALE.P d16(An),FPn
                   3276:        move.b  #$04,(a2)+
                   3277:        fmovem.l        #$0b000000,fpsr
                   3278:        bsr     set_fline
                   3279:        moveq.l #0,d7
                   3280:        lea.l   workarea+12(pc),a0
                   3281:        move.l  d7,-(a0)
                   3282:        move.l  d7,-(a0)
                   3283:        move.l  d7,-(a0)
                   3284:        lea.l   @f,a3
                   3285:        .dc.l   $f2284c26
                   3286:        .dc.w   $0000
                   3287: @@:
                   3288:        bsr     restore_fline
                   3289:        fmovem.l        fpsr,d0
                   3290:        rol.l   #8,d0
                   3291:        or.l    d7,d0
                   3292:        move.b  d0,(a2)+
                   3293: 
                   3294:        lea.l   msg_test_r,a0
                   3295:        moveq.l #7-1,d0
                   3296:        bsr     print_result
                   3297:        rts
                   3298: 
                   3299: test_fscale_x:
                   3300:        lea.l   result(pc),a2
                   3301:        ; FSCALE.B d8(An,IX),FPn
                   3302:        move.b  #$04,(a2)+
                   3303:        fmovem.l        #$0b000000,fpsr
                   3304:        bsr     set_fline
                   3305:        moveq.l #0,d7
                   3306:        moveq.l #0,d4
                   3307:        lea.l   workarea+12(pc),a0
                   3308:        move.l  d7,-(a0)
                   3309:        move.l  d7,-(a0)
                   3310:        move.l  d7,-(a0)
                   3311:        lea.l   @f,a3
                   3312:        .dc.l   $f2305826
                   3313:        .dc.w   $4000
                   3314: @@:
                   3315:        bsr     restore_fline
                   3316:        fmovem.l        fpsr,d0
                   3317:        rol.l   #8,d0
                   3318:        or.l    d7,d0
                   3319:        move.b  d0,(a2)+
                   3320: 
                   3321:        ; FSCALE.W d8(An,IX),FPn
                   3322:        move.b  #$04,(a2)+
                   3323:        fmovem.l        #$0b000000,fpsr
                   3324:        bsr     set_fline
                   3325:        moveq.l #0,d7
                   3326:        moveq.l #0,d4
                   3327:        lea.l   workarea+12(pc),a0
                   3328:        move.l  d7,-(a0)
                   3329:        move.l  d7,-(a0)
                   3330:        move.l  d7,-(a0)
                   3331:        lea.l   @f,a3
                   3332:        .dc.l   $f2305026
                   3333:        .dc.w   $4000
                   3334: @@:
                   3335:        bsr     restore_fline
                   3336:        fmovem.l        fpsr,d0
                   3337:        rol.l   #8,d0
                   3338:        or.l    d7,d0
                   3339:        move.b  d0,(a2)+
                   3340: 
                   3341:        ; FSCALE.L d8(An,IX),FPn
                   3342:        move.b  #$04,(a2)+
                   3343:        fmovem.l        #$0b000000,fpsr
                   3344:        bsr     set_fline
                   3345:        moveq.l #0,d7
                   3346:        moveq.l #0,d4
                   3347:        lea.l   workarea+12(pc),a0
                   3348:        move.l  d7,-(a0)
                   3349:        move.l  d7,-(a0)
                   3350:        move.l  d7,-(a0)
                   3351:        lea.l   @f,a3
                   3352:        .dc.l   $f2304026
                   3353:        .dc.w   $4000
                   3354: @@:
                   3355:        bsr     restore_fline
                   3356:        fmovem.l        fpsr,d0
                   3357:        rol.l   #8,d0
                   3358:        or.l    d7,d0
                   3359:        move.b  d0,(a2)+
                   3360: 
                   3361:        ; FSCALE.S d8(An,IX),FPn
                   3362:        move.b  #$04,(a2)+
                   3363:        fmovem.l        #$0b000000,fpsr
                   3364:        bsr     set_fline
                   3365:        moveq.l #0,d7
                   3366:        moveq.l #0,d4
                   3367:        lea.l   workarea+12(pc),a0
                   3368:        move.l  d7,-(a0)
                   3369:        move.l  d7,-(a0)
                   3370:        move.l  d7,-(a0)
                   3371:        lea.l   @f,a3
                   3372:        .dc.l   $f2304426
                   3373:        .dc.w   $4000
                   3374: @@:
                   3375:        bsr     restore_fline
                   3376:        fmovem.l        fpsr,d0
                   3377:        rol.l   #8,d0
                   3378:        or.l    d7,d0
                   3379:        move.b  d0,(a2)+
                   3380: 
                   3381:        ; FSCALE.D d8(An,IX),FPn
                   3382:        move.b  #$04,(a2)+
                   3383:        fmovem.l        #$0b000000,fpsr
                   3384:        bsr     set_fline
                   3385:        moveq.l #0,d7
                   3386:        moveq.l #0,d4
                   3387:        lea.l   workarea+12(pc),a0
                   3388:        move.l  d7,-(a0)
                   3389:        move.l  d7,-(a0)
                   3390:        move.l  d7,-(a0)
                   3391:        lea.l   @f,a3
                   3392:        .dc.l   $f2305426
                   3393:        .dc.w   $4000
                   3394: @@:
                   3395:        bsr     restore_fline
                   3396:        fmovem.l        fpsr,d0
                   3397:        rol.l   #8,d0
                   3398:        or.l    d7,d0
                   3399:        move.b  d0,(a2)+
                   3400: 
                   3401:        ; FSCALE.X d8(An,IX),FPn
                   3402:        move.b  #$04,(a2)+
                   3403:        fmovem.l        #$0b000000,fpsr
                   3404:        bsr     set_fline
                   3405:        moveq.l #0,d7
                   3406:        moveq.l #0,d4
                   3407:        lea.l   workarea+12(pc),a0
                   3408:        move.l  d7,-(a0)
                   3409:        move.l  d7,-(a0)
                   3410:        move.l  d7,-(a0)
                   3411:        lea.l   @f,a3
                   3412:        .dc.l   $f2304826
                   3413:        .dc.w   $4000
                   3414: @@:
                   3415:        bsr     restore_fline
                   3416:        fmovem.l        fpsr,d0
                   3417:        rol.l   #8,d0
                   3418:        or.l    d7,d0
                   3419:        move.b  d0,(a2)+
                   3420: 
                   3421:        ; FSCALE.P d8(An,IX),FPn
                   3422:        move.b  #$04,(a2)+
                   3423:        fmovem.l        #$0b000000,fpsr
                   3424:        bsr     set_fline
                   3425:        moveq.l #0,d7
                   3426:        moveq.l #0,d4
                   3427:        lea.l   workarea+12(pc),a0
                   3428:        move.l  d7,-(a0)
                   3429:        move.l  d7,-(a0)
                   3430:        move.l  d7,-(a0)
                   3431:        lea.l   @f,a3
                   3432:        .dc.l   $f2304c26
                   3433:        .dc.w   $4000
                   3434: @@:
                   3435:        bsr     restore_fline
                   3436:        fmovem.l        fpsr,d0
                   3437:        rol.l   #8,d0
                   3438:        or.l    d7,d0
                   3439:        move.b  d0,(a2)+
                   3440: 
                   3441:        lea.l   msg_test_x,a0
                   3442:        moveq.l #7-1,d0
                   3443:        bsr     print_result
                   3444:        rts
                   3445: 
                   3446: test_fscale_p:
                   3447:        lea.l   result(pc),a2
                   3448:        ; FSCALE.B (PC),FPn
                   3449:        move.b  #$04,(a2)+
                   3450:        fmovem.l        #$0b000000,fpsr
                   3451:        bsr     set_fline
                   3452:        moveq.l #0,d7
                   3453:        bra     @f
                   3454:        .dc.l   0, 0, 0
                   3455: @@:
                   3456:        lea.l   @f,a3
                   3457:        .dc.l   $f23a5826
                   3458:        .dc.w   -4-6-12
                   3459: @@:
                   3460:        bsr     restore_fline
                   3461:        fmovem.l        fpsr,d0
                   3462:        rol.l   #8,d0
                   3463:        or.l    d7,d0
                   3464:        move.b  d0,(a2)+
                   3465: 
                   3466:        ; FSCALE.W (PC),FPn
                   3467:        move.b  #$04,(a2)+
                   3468:        fmovem.l        #$0b000000,fpsr
                   3469:        bsr     set_fline
                   3470:        moveq.l #0,d7
                   3471:        bra     @f
                   3472:        .dc.l   0, 0, 0
                   3473: @@:
                   3474:        lea.l   @f,a3
                   3475:        .dc.l   $f23a5026
                   3476:        .dc.w   -4-6-12
                   3477: @@:
                   3478:        bsr     restore_fline
                   3479:        fmovem.l        fpsr,d0
                   3480:        rol.l   #8,d0
                   3481:        or.l    d7,d0
                   3482:        move.b  d0,(a2)+
                   3483: 
                   3484:        ; FSCALE.L (PC),FPn
                   3485:        move.b  #$04,(a2)+
                   3486:        fmovem.l        #$0b000000,fpsr
                   3487:        bsr     set_fline
                   3488:        moveq.l #0,d7
                   3489:        bra     @f
                   3490:        .dc.l   0, 0, 0
                   3491: @@:
                   3492:        lea.l   @f,a3
                   3493:        .dc.l   $f23a4026
                   3494:        .dc.w   -4-6-12
                   3495: @@:
                   3496:        bsr     restore_fline
                   3497:        fmovem.l        fpsr,d0
                   3498:        rol.l   #8,d0
                   3499:        or.l    d7,d0
                   3500:        move.b  d0,(a2)+
                   3501: 
                   3502:        ; FSCALE.S (PC),FPn
                   3503:        move.b  #$04,(a2)+
                   3504:        fmovem.l        #$0b000000,fpsr
                   3505:        bsr     set_fline
                   3506:        moveq.l #0,d7
                   3507:        bra     @f
                   3508:        .dc.l   0, 0, 0
                   3509: @@:
                   3510:        lea.l   @f,a3
                   3511:        .dc.l   $f23a4426
                   3512:        .dc.w   -4-6-12
                   3513: @@:
                   3514:        bsr     restore_fline
                   3515:        fmovem.l        fpsr,d0
                   3516:        rol.l   #8,d0
                   3517:        or.l    d7,d0
                   3518:        move.b  d0,(a2)+
                   3519: 
                   3520:        ; FSCALE.D (PC),FPn
                   3521:        move.b  #$04,(a2)+
                   3522:        fmovem.l        #$0b000000,fpsr
                   3523:        bsr     set_fline
                   3524:        moveq.l #0,d7
                   3525:        bra     @f
                   3526:        .dc.l   0, 0, 0
                   3527: @@:
                   3528:        lea.l   @f,a3
                   3529:        .dc.l   $f23a5426
                   3530:        .dc.w   -4-6-12
                   3531: @@:
                   3532:        bsr     restore_fline
                   3533:        fmovem.l        fpsr,d0
                   3534:        rol.l   #8,d0
                   3535:        or.l    d7,d0
                   3536:        move.b  d0,(a2)+
                   3537: 
                   3538:        ; FSCALE.X (PC),FPn
                   3539:        move.b  #$04,(a2)+
                   3540:        fmovem.l        #$0b000000,fpsr
                   3541:        bsr     set_fline
                   3542:        moveq.l #0,d7
                   3543:        bra     @f
                   3544:        .dc.l   0, 0, 0
                   3545: @@:
                   3546:        lea.l   @f,a3
                   3547:        .dc.l   $f23a4826
                   3548:        .dc.w   -4-6-12
                   3549: @@:
                   3550:        bsr     restore_fline
                   3551:        fmovem.l        fpsr,d0
                   3552:        rol.l   #8,d0
                   3553:        or.l    d7,d0
                   3554:        move.b  d0,(a2)+
                   3555: 
                   3556:        ; FSCALE.P (PC),FPn
                   3557:        move.b  #$04,(a2)+
                   3558:        fmovem.l        #$0b000000,fpsr
                   3559:        bsr     set_fline
                   3560:        moveq.l #0,d7
                   3561:        bra     @f
                   3562:        .dc.l   0, 0, 0
                   3563: @@:
                   3564:        lea.l   @f,a3
                   3565:        .dc.l   $f23a4c26
                   3566:        .dc.w   -4-6-12
                   3567: @@:
                   3568:        bsr     restore_fline
                   3569:        fmovem.l        fpsr,d0
                   3570:        rol.l   #8,d0
                   3571:        or.l    d7,d0
                   3572:        move.b  d0,(a2)+
                   3573: 
                   3574:        lea.l   msg_test_p,a0
                   3575:        moveq.l #7-1,d0
                   3576:        bsr     print_result
                   3577:        rts
                   3578: 
                   3579: test_fscale_i:
                   3580:        lea.l   result(pc),a2
                   3581:        ; FSCALE.B #imm,FPn
                   3582:        move.b  #$04,(a2)+
                   3583:        fmovem.l        #$0b000000,fpsr
                   3584:        bsr     set_fline
                   3585:        moveq.l #0,d7
                   3586:        lea.l   @f,a3
                   3587:        .dc.l   $f23c5826
                   3588:        .dc.w   0
                   3589: @@:
                   3590:        bsr     restore_fline
                   3591:        fmovem.l        fpsr,d0
                   3592:        rol.l   #8,d0
                   3593:        or.l    d7,d0
                   3594:        move.b  d0,(a2)+
                   3595: 
                   3596:        ; FSCALE.W #imm,FPn
                   3597:        move.b  #$04,(a2)+
                   3598:        fmovem.l        #$0b000000,fpsr
                   3599:        bsr     set_fline
                   3600:        moveq.l #0,d7
                   3601:        lea.l   @f,a3
                   3602:        .dc.l   $f23c5026
                   3603:        .dc.w   0
                   3604: @@:
                   3605:        bsr     restore_fline
                   3606:        fmovem.l        fpsr,d0
                   3607:        rol.l   #8,d0
                   3608:        or.l    d7,d0
                   3609:        move.b  d0,(a2)+
                   3610: 
                   3611:        ; FSCALE.L #imm,FPn
                   3612:        move.b  #$04,(a2)+
                   3613:        fmovem.l        #$0b000000,fpsr
                   3614:        bsr     set_fline
                   3615:        moveq.l #0,d7
                   3616:        lea.l   @f,a3
                   3617:        .dc.l   $f23c4026
                   3618:        .dc.l   0
                   3619: @@:
                   3620:        bsr     restore_fline
                   3621:        fmovem.l        fpsr,d0
                   3622:        rol.l   #8,d0
                   3623:        or.l    d7,d0
                   3624:        move.b  d0,(a2)+
                   3625: 
                   3626:        ; FSCALE.S #imm,FPn
                   3627:        move.b  #$04,(a2)+
                   3628:        fmovem.l        #$0b000000,fpsr
                   3629:        bsr     set_fline
                   3630:        moveq.l #0,d7
                   3631:        lea.l   @f,a3
                   3632:        .dc.l   $f23c4426
                   3633:        .dc.l   0
                   3634: @@:
                   3635:        bsr     restore_fline
                   3636:        fmovem.l        fpsr,d0
                   3637:        rol.l   #8,d0
                   3638:        or.l    d7,d0
                   3639:        move.b  d0,(a2)+
                   3640: 
                   3641:        ; FSCALE.D #imm,FPn
                   3642:        move.b  #$04,(a2)+
                   3643:        fmovem.l        #$0b000000,fpsr
                   3644:        bsr     set_fline
                   3645:        moveq.l #0,d7
                   3646:        lea.l   @f,a3
                   3647:        .dc.l   $f23c5426
                   3648:        .dc.l   0, 0
                   3649: @@:
                   3650:        bsr     restore_fline
                   3651:        fmovem.l        fpsr,d0
                   3652:        rol.l   #8,d0
                   3653:        or.l    d7,d0
                   3654:        move.b  d0,(a2)+
                   3655: 
                   3656:        ; FSCALE.X #imm,FPn
                   3657:        move.b  #$04,(a2)+
                   3658:        fmovem.l        #$0b000000,fpsr
                   3659:        bsr     set_fline
                   3660:        moveq.l #0,d7
                   3661:        lea.l   @f,a3
                   3662:        .dc.l   $f23c4826
                   3663:        .dc.l   0, 0, 0
                   3664: @@:
                   3665:        bsr     restore_fline
                   3666:        fmovem.l        fpsr,d0
                   3667:        rol.l   #8,d0
                   3668:        or.l    d7,d0
                   3669:        move.b  d0,(a2)+
                   3670: 
                   3671:        ; FSCALE.P #imm,FPn
                   3672:        move.b  #$04,(a2)+
                   3673:        fmovem.l        #$0b000000,fpsr
                   3674:        bsr     set_fline
                   3675:        moveq.l #0,d7
                   3676:        lea.l   @f,a3
                   3677:        .dc.l   $f23c4c26
                   3678:        .dc.l   0, 0, 0
                   3679: @@:
                   3680:        bsr     restore_fline
                   3681:        fmovem.l        fpsr,d0
                   3682:        rol.l   #8,d0
                   3683:        or.l    d7,d0
                   3684:        move.b  d0,(a2)+
                   3685: 
                   3686:        lea.l   msg_test_i,a0
                   3687:        moveq.l #7-1,d0
                   3688:        bsr     print_result
                   3689:        rts
                   3690: 
                   3691: test_fscale_o:
                   3692:        lea.l   result(pc),a2
                   3693:        ; FSCALE.B 075,FPn
                   3694:        move.b  #$1b,(a2)+
                   3695:        fmovem.l        #$0b000000,fpsr
                   3696:        bsr     set_fline
                   3697:        moveq.l #0,d7
                   3698:        lea.l   @f,a3
                   3699:        .dc.l   $f23d5826
                   3700: @@:
                   3701:        bsr     restore_fline
                   3702:        fmovem.l        fpsr,d0
                   3703:        rol.l   #8,d0
                   3704:        or.l    d7,d0
                   3705:        move.b  d0,(a2)+
                   3706: 
                   3707:        ; FSCALE.W 075,FPn
                   3708:        move.b  #$1b,(a2)+
                   3709:        fmovem.l        #$0b000000,fpsr
                   3710:        bsr     set_fline
                   3711:        moveq.l #0,d7
                   3712:        lea.l   @f,a3
                   3713:        .dc.l   $f23d5026
                   3714: @@:
                   3715:        bsr     restore_fline
                   3716:        fmovem.l        fpsr,d0
                   3717:        rol.l   #8,d0
                   3718:        or.l    d7,d0
                   3719:        move.b  d0,(a2)+
                   3720: 
                   3721:        ; FSCALE.L 075,FPn
                   3722:        move.b  #$1b,(a2)+
                   3723:        fmovem.l        #$0b000000,fpsr
                   3724:        bsr     set_fline
                   3725:        moveq.l #0,d7
                   3726:        lea.l   @f,a3
                   3727:        .dc.l   $f23d4026
                   3728: @@:
                   3729:        bsr     restore_fline
                   3730:        fmovem.l        fpsr,d0
                   3731:        rol.l   #8,d0
                   3732:        or.l    d7,d0
                   3733:        move.b  d0,(a2)+
                   3734: 
                   3735:        ; FSCALE.S 075,FPn
                   3736:        move.b  #$1b,(a2)+
                   3737:        fmovem.l        #$0b000000,fpsr
                   3738:        bsr     set_fline
                   3739:        moveq.l #0,d7
                   3740:        lea.l   @f,a3
                   3741:        .dc.l   $f23d4426
                   3742: @@:
                   3743:        bsr     restore_fline
                   3744:        fmovem.l        fpsr,d0
                   3745:        rol.l   #8,d0
                   3746:        or.l    d7,d0
                   3747:        move.b  d0,(a2)+
                   3748: 
                   3749:        ; FSCALE.D 075,FPn
                   3750:        move.b  #$1b,(a2)+
                   3751:        fmovem.l        #$0b000000,fpsr
                   3752:        bsr     set_fline
                   3753:        moveq.l #0,d7
                   3754:        lea.l   @f,a3
                   3755:        .dc.l   $f23d5426
                   3756: @@:
                   3757:        bsr     restore_fline
                   3758:        fmovem.l        fpsr,d0
                   3759:        rol.l   #8,d0
                   3760:        or.l    d7,d0
                   3761:        move.b  d0,(a2)+
                   3762: 
                   3763:        ; FSCALE.X 075,FPn
                   3764:        move.b  #$1b,(a2)+
                   3765:        fmovem.l        #$0b000000,fpsr
                   3766:        bsr     set_fline
                   3767:        moveq.l #0,d7
                   3768:        lea.l   @f,a3
                   3769:        .dc.l   $f23d4826
                   3770: @@:
                   3771:        bsr     restore_fline
                   3772:        fmovem.l        fpsr,d0
                   3773:        rol.l   #8,d0
                   3774:        or.l    d7,d0
                   3775:        move.b  d0,(a2)+
                   3776: 
                   3777:        ; FSCALE.P 075,FPn
                   3778:        move.b  #$1b,(a2)+
                   3779:        fmovem.l        #$0b000000,fpsr
                   3780:        bsr     set_fline
                   3781:        moveq.l #0,d7
                   3782:        lea.l   @f,a3
                   3783:        .dc.l   $f23d4c26
                   3784: @@:
                   3785:        bsr     restore_fline
                   3786:        fmovem.l        fpsr,d0
                   3787:        rol.l   #8,d0
                   3788:        or.l    d7,d0
                   3789:        move.b  d0,(a2)+
                   3790: 
                   3791:        lea.l   msg_test_o,a0
                   3792:        moveq.l #7-1,d0
                   3793:        bsr     print_result
                   3794:        rts
                   3795: 
                   3796: test_fscc_d:
                   3797:        lea.l   result(pc),a2
                   3798:        ; FScc.B Dn
                   3799:        move.b  #$0b,(a2)+
                   3800:        fmovem.l        #$0b000000,fpsr
                   3801:        bsr     set_fline
                   3802:        moveq.l #0,d7
                   3803:        lea.l   @f,a3
                   3804:        .dc.l   $f2460000
                   3805: @@:
                   3806:        bsr     restore_fline
                   3807:        fmovem.l        fpsr,d0
                   3808:        rol.l   #8,d0
                   3809:        or.l    d7,d0
                   3810:        move.b  d0,(a2)+
                   3811: 
                   3812:        lea.l   msg_test_d,a0
                   3813:        moveq.l #1-1,d0
                   3814:        bsr     print_result
                   3815:        rts
                   3816: 
                   3817: test_fscc_m:
                   3818:        lea.l   result(pc),a2
                   3819:        ; FScc.B (An)
                   3820:        move.b  #$0b,(a2)+
                   3821:        fmovem.l        #$0b000000,fpsr
                   3822:        bsr     set_fline
                   3823:        moveq.l #0,d7
                   3824:        lea.l   workarea(pc),a0
                   3825:        lea.l   @f,a3
                   3826:        .dc.l   $f2500000
                   3827: @@:
                   3828:        bsr     restore_fline
                   3829:        fmovem.l        fpsr,d0
                   3830:        rol.l   #8,d0
                   3831:        or.l    d7,d0
                   3832:        move.b  d0,(a2)+
                   3833: 
                   3834:        lea.l   msg_test_m,a0
                   3835:        moveq.l #1-1,d0
                   3836:        bsr     print_result
                   3837:        rts
                   3838: 
                   3839: test_fscc_mi:
                   3840:        lea.l   result(pc),a2
                   3841:        ; FScc.B (An)+
                   3842:        move.b  #$0b,(a2)+
                   3843:        fmovem.l        #$0b000000,fpsr
                   3844:        bsr     set_fline
                   3845:        moveq.l #0,d7
                   3846:        lea.l   workarea(pc),a0
                   3847:        lea.l   @f,a3
                   3848:        .dc.l   $f2580000
                   3849: @@:
                   3850:        bsr     restore_fline
                   3851:        fmovem.l        fpsr,d0
                   3852:        rol.l   #8,d0
                   3853:        or.l    d7,d0
                   3854:        move.b  d0,(a2)+
                   3855: 
                   3856:        lea.l   msg_test_mi,a0
                   3857:        moveq.l #1-1,d0
                   3858:        bsr     print_result
                   3859:        rts
                   3860: 
                   3861: test_fscc_md:
                   3862:        lea.l   result(pc),a2
                   3863:        ; FScc.B -(An)
                   3864:        move.b  #$0b,(a2)+
                   3865:        fmovem.l        #$0b000000,fpsr
                   3866:        bsr     set_fline
                   3867:        moveq.l #0,d7
                   3868:        lea.l   workarea+12(pc),a0
                   3869:        lea.l   @f,a3
                   3870:        .dc.l   $f2600000
                   3871: @@:
                   3872:        bsr     restore_fline
                   3873:        fmovem.l        fpsr,d0
                   3874:        rol.l   #8,d0
                   3875:        or.l    d7,d0
                   3876:        move.b  d0,(a2)+
                   3877: 
                   3878:        lea.l   msg_test_md,a0
                   3879:        moveq.l #1-1,d0
                   3880:        bsr     print_result
                   3881:        rts
                   3882: 
                   3883: test_fscc_r:
                   3884:        lea.l   result(pc),a2
                   3885:        ; FScc.B d16(An)
                   3886:        move.b  #$0b,(a2)+
                   3887:        fmovem.l        #$0b000000,fpsr
                   3888:        bsr     set_fline
                   3889:        moveq.l #0,d7
                   3890:        lea.l   workarea(pc),a0
                   3891:        lea.l   @f,a3
                   3892:        .dc.l   $f2680000
                   3893:        .dc.w   $0000
                   3894: @@:
                   3895:        bsr     restore_fline
                   3896:        fmovem.l        fpsr,d0
                   3897:        rol.l   #8,d0
                   3898:        or.l    d7,d0
                   3899:        move.b  d0,(a2)+
                   3900: 
                   3901:        lea.l   msg_test_r,a0
                   3902:        moveq.l #1-1,d0
                   3903:        bsr     print_result
                   3904:        rts
                   3905: 
                   3906: test_fscc_x:
                   3907:        lea.l   result(pc),a2
                   3908:        ; FScc.B d8(An,IX)
                   3909:        move.b  #$0b,(a2)+
                   3910:        fmovem.l        #$0b000000,fpsr
                   3911:        bsr     set_fline
                   3912:        moveq.l #0,d7
                   3913:        moveq.l #0,d4
                   3914:        lea.l   workarea(pc),a0
                   3915:        lea.l   @f,a3
                   3916:        .dc.l   $f2700000
                   3917:        .dc.w   $4000
                   3918: @@:
                   3919:        bsr     restore_fline
                   3920:        fmovem.l        fpsr,d0
                   3921:        rol.l   #8,d0
                   3922:        or.l    d7,d0
                   3923:        move.b  d0,(a2)+
                   3924: 
                   3925:        lea.l   msg_test_x,a0
                   3926:        moveq.l #1-1,d0
                   3927:        bsr     print_result
                   3928:        rts
                   3929: 
                   3930: test_fscc_o:
                   3931:        lea.l   result(pc),a2
                   3932:        ; FScc.B 075
                   3933:        move.b  #$1b,(a2)+
                   3934:        fmovem.l        #$0b000000,fpsr
                   3935:        bsr     set_fline
                   3936:        moveq.l #0,d7
                   3937:        lea.l   @f,a3
                   3938:        .dc.l   $f27d0000
                   3939: @@:
                   3940:        bsr     restore_fline
                   3941:        fmovem.l        fpsr,d0
                   3942:        rol.l   #8,d0
                   3943:        or.l    d7,d0
                   3944:        move.b  d0,(a2)+
                   3945: 
                   3946:        lea.l   msg_test_o,a0
                   3947:        moveq.l #1-1,d0
                   3948:        bsr     print_result
                   3949:        rts
                   3950: 
                   3951: test_fmovem_rm_d:
                   3952:        lea.l   result(pc),a2
                   3953:        ; FMOVEM.X FPn,Dn
                   3954:        move.b  #$1b,(a2)+
                   3955:        fmovem.l        #$0b000000,fpsr
                   3956:        bsr     set_fline
                   3957:        moveq.l #0,d7
                   3958:        lea.l   @f,a3
                   3959:        .dc.l   $f206f001
                   3960: @@:
                   3961:        bsr     restore_fline
                   3962:        fmovem.l        fpsr,d0
                   3963:        rol.l   #8,d0
                   3964:        or.l    d7,d0
                   3965:        move.b  d0,(a2)+
                   3966: 
                   3967:        lea.l   msg_test_d,a0
                   3968:        moveq.l #1-1,d0
                   3969:        bsr     print_result
                   3970:        rts
                   3971: 
                   3972: test_fmovem_rm_a:
                   3973:        lea.l   result(pc),a2
                   3974:        ; FMOVEM.X FPn,An
                   3975:        move.b  #$1b,(a2)+
                   3976:        fmovem.l        #$0b000000,fpsr
                   3977:        bsr     set_fline
                   3978:        moveq.l #0,d7
                   3979:        lea.l   @f,a3
                   3980:        .dc.l   $f208f001
                   3981: @@:
                   3982:        bsr     restore_fline
                   3983:        fmovem.l        fpsr,d0
                   3984:        rol.l   #8,d0
                   3985:        or.l    d7,d0
                   3986:        move.b  d0,(a2)+
                   3987: 
                   3988:        lea.l   msg_test_a,a0
                   3989:        moveq.l #1-1,d0
                   3990:        bsr     print_result
                   3991:        rts
                   3992: 
                   3993: test_fmovem_rm_m:
                   3994:        lea.l   result(pc),a2
                   3995:        ; FMOVEM.X FPn,(An)
                   3996:        move.b  #$0b,(a2)+
                   3997:        fmovem.l        #$0b000000,fpsr
                   3998:        bsr     set_fline
                   3999:        moveq.l #0,d7
                   4000:        lea.l   workarea(pc),a0
                   4001:        lea.l   @f,a3
                   4002:        .dc.l   $f210f001
                   4003: @@:
                   4004:        bsr     restore_fline
                   4005:        fmovem.l        fpsr,d0
                   4006:        rol.l   #8,d0
                   4007:        or.l    d7,d0
                   4008:        move.b  d0,(a2)+
                   4009: 
                   4010:        lea.l   msg_test_m,a0
                   4011:        moveq.l #1-1,d0
                   4012:        bsr     print_result
                   4013:        rts
                   4014: 
                   4015: test_fmovem_rm_mi:
                   4016:        lea.l   result(pc),a2
                   4017:        ; FMOVEM.X FPn,(An)+
                   4018:        move.b  #$1b,(a2)+
                   4019:        fmovem.l        #$0b000000,fpsr
                   4020:        bsr     set_fline
                   4021:        moveq.l #0,d7
                   4022:        lea.l   workarea(pc),a0
                   4023:        lea.l   @f,a3
                   4024:        .dc.l   $f218f001
                   4025: @@:
                   4026:        bsr     restore_fline
                   4027:        fmovem.l        fpsr,d0
                   4028:        rol.l   #8,d0
                   4029:        or.l    d7,d0
                   4030:        move.b  d0,(a2)+
                   4031: 
                   4032:        lea.l   msg_test_mi,a0
                   4033:        moveq.l #1-1,d0
                   4034:        bsr     print_result
                   4035:        rts
                   4036: 
                   4037: test_fmovem_rm_md:
                   4038:        lea.l   result(pc),a2
                   4039:        ; FMOVEM.X FPn,-(An)
                   4040:        move.b  #$0b,(a2)+
                   4041:        fmovem.l        #$0b000000,fpsr
                   4042:        bsr     set_fline
                   4043:        moveq.l #0,d7
                   4044:        lea.l   workarea+12(pc),a0
                   4045:        lea.l   @f,a3
                   4046:        .dc.l   $f220e001
                   4047: @@:
                   4048:        bsr     restore_fline
                   4049:        fmovem.l        fpsr,d0
                   4050:        rol.l   #8,d0
                   4051:        or.l    d7,d0
                   4052:        move.b  d0,(a2)+
                   4053: 
                   4054:        lea.l   msg_test_md,a0
                   4055:        moveq.l #1-1,d0
                   4056:        bsr     print_result
                   4057:        rts
                   4058: 
                   4059: test_fmovem_rm_r:
                   4060:        lea.l   result(pc),a2
                   4061:        ; FMOVEM.X FPn,d16(An)
                   4062:        move.b  #$0b,(a2)+
                   4063:        fmovem.l        #$0b000000,fpsr
                   4064:        bsr     set_fline
                   4065:        moveq.l #0,d7
                   4066:        lea.l   workarea(pc),a0
                   4067:        lea.l   @f,a3
                   4068:        .dc.l   $f228f001
                   4069:        .dc.w   $0000
                   4070: @@:
                   4071:        bsr     restore_fline
                   4072:        fmovem.l        fpsr,d0
                   4073:        rol.l   #8,d0
                   4074:        or.l    d7,d0
                   4075:        move.b  d0,(a2)+
                   4076: 
                   4077:        lea.l   msg_test_r,a0
                   4078:        moveq.l #1-1,d0
                   4079:        bsr     print_result
                   4080:        rts
                   4081: 
                   4082: test_fmovem_rm_x:
                   4083:        lea.l   result(pc),a2
                   4084:        ; FMOVEM.X FPn,d8(An,IX)
                   4085:        move.b  #$0b,(a2)+
                   4086:        fmovem.l        #$0b000000,fpsr
                   4087:        bsr     set_fline
                   4088:        moveq.l #0,d7
                   4089:        moveq.l #0,d4
                   4090:        lea.l   workarea(pc),a0
                   4091:        lea.l   @f,a3
                   4092:        .dc.l   $f230f001
                   4093:        .dc.w   $4000
                   4094: @@:
                   4095:        bsr     restore_fline
                   4096:        fmovem.l        fpsr,d0
                   4097:        rol.l   #8,d0
                   4098:        or.l    d7,d0
                   4099:        move.b  d0,(a2)+
                   4100: 
                   4101:        lea.l   msg_test_x,a0
                   4102:        moveq.l #1-1,d0
                   4103:        bsr     print_result
                   4104:        rts
                   4105: 
                   4106: test_fmovem_rm_p:
                   4107:        lea.l   result(pc),a2
                   4108:        ; FMOVEM.X FPn,(PC)
                   4109:        move.b  #$1b,(a2)+
                   4110:        fmovem.l        #$0b000000,fpsr
                   4111:        bsr     set_fline
                   4112:        moveq.l #0,d7
                   4113:        lea.l   @f,a3
                   4114:        .dc.l   $f23af001
                   4115: @@:
                   4116:        bsr     restore_fline
                   4117:        fmovem.l        fpsr,d0
                   4118:        rol.l   #8,d0
                   4119:        or.l    d7,d0
                   4120:        move.b  d0,(a2)+
                   4121: 
                   4122:        lea.l   msg_test_p,a0
                   4123:        moveq.l #1-1,d0
                   4124:        bsr     print_result
                   4125:        rts
                   4126: 
                   4127: test_fmovem_rm_i:
                   4128:        lea.l   result(pc),a2
                   4129:        ; FMOVEM.X FPn,#imm
                   4130:        move.b  #$1b,(a2)+
                   4131:        fmovem.l        #$0b000000,fpsr
                   4132:        bsr     set_fline
                   4133:        moveq.l #0,d7
                   4134:        lea.l   @f,a3
                   4135:        .dc.l   $f23cf001
                   4136: @@:
                   4137:        bsr     restore_fline
                   4138:        fmovem.l        fpsr,d0
                   4139:        rol.l   #8,d0
                   4140:        or.l    d7,d0
                   4141:        move.b  d0,(a2)+
                   4142: 
                   4143:        lea.l   msg_test_i,a0
                   4144:        moveq.l #1-1,d0
                   4145:        bsr     print_result
                   4146:        rts
                   4147: 
                   4148: test_fmovem_rm_o:
                   4149:        lea.l   result(pc),a2
                   4150:        ; FMOVEM.X FPn,075
                   4151:        move.b  #$1b,(a2)+
                   4152:        fmovem.l        #$0b000000,fpsr
                   4153:        bsr     set_fline
                   4154:        moveq.l #0,d7
                   4155:        lea.l   @f,a3
                   4156:        .dc.l   $f23df001
                   4157: @@:
                   4158:        bsr     restore_fline
                   4159:        fmovem.l        fpsr,d0
                   4160:        rol.l   #8,d0
                   4161:        or.l    d7,d0
                   4162:        move.b  d0,(a2)+
                   4163: 
                   4164:        lea.l   msg_test_o,a0
                   4165:        moveq.l #1-1,d0
                   4166:        bsr     print_result
                   4167:        rts
                   4168: 
                   4169: test_fmovem_mr_d:
                   4170:        lea.l   result(pc),a2
                   4171:        ; FMOVEM.X Dn,FPn
                   4172:        move.b  #$1b,(a2)+
                   4173:        fmovem.l        #$0b000000,fpsr
                   4174:        bsr     set_fline
                   4175:        moveq.l #0,d7
                   4176:        moveq.l #0,d6
                   4177:        lea.l   @f,a3
                   4178:        .dc.l   $f206d001
                   4179: @@:
                   4180:        bsr     restore_fline
                   4181:        fmovem.l        fpsr,d0
                   4182:        rol.l   #8,d0
                   4183:        or.l    d7,d0
                   4184:        move.b  d0,(a2)+
                   4185: 
                   4186:        lea.l   msg_test_d,a0
                   4187:        moveq.l #1-1,d0
                   4188:        bsr     print_result
                   4189:        rts
                   4190: 
                   4191: test_fmovem_mr_a:
                   4192:        lea.l   result(pc),a2
                   4193:        ; FMOVEM.X An,FPn
                   4194:        move.b  #$1b,(a2)+
                   4195:        fmovem.l        #$0b000000,fpsr
                   4196:        bsr     set_fline
                   4197:        moveq.l #0,d7
                   4198:        lea.l   @f,a3
                   4199:        .dc.l   $f208d001
                   4200: @@:
                   4201:        bsr     restore_fline
                   4202:        fmovem.l        fpsr,d0
                   4203:        rol.l   #8,d0
                   4204:        or.l    d7,d0
                   4205:        move.b  d0,(a2)+
                   4206: 
                   4207:        lea.l   msg_test_a,a0
                   4208:        moveq.l #1-1,d0
                   4209:        bsr     print_result
                   4210:        rts
                   4211: 
                   4212: test_fmovem_mr_m:
                   4213:        lea.l   result(pc),a2
                   4214:        ; FMOVEM.X (An),FPn
                   4215:        move.b  #$0b,(a2)+
                   4216:        fmovem.l        #$0b000000,fpsr
                   4217:        bsr     set_fline
                   4218:        moveq.l #0,d7
                   4219:        lea.l   workarea+12(pc),a0
                   4220:        move.l  d7,-(a0)
                   4221:        move.l  d7,-(a0)
                   4222:        move.l  d7,-(a0)
                   4223:        lea.l   @f,a3
                   4224:        .dc.l   $f210d001
                   4225: @@:
                   4226:        bsr     restore_fline
                   4227:        fmovem.l        fpsr,d0
                   4228:        rol.l   #8,d0
                   4229:        or.l    d7,d0
                   4230:        move.b  d0,(a2)+
                   4231: 
                   4232:        lea.l   msg_test_m,a0
                   4233:        moveq.l #1-1,d0
                   4234:        bsr     print_result
                   4235:        rts
                   4236: 
                   4237: test_fmovem_mr_mi:
                   4238:        lea.l   result(pc),a2
                   4239:        ; FMOVEM.X (An)+,FPn
                   4240:        move.b  #$0b,(a2)+
                   4241:        fmovem.l        #$0b000000,fpsr
                   4242:        bsr     set_fline
                   4243:        moveq.l #0,d7
                   4244:        lea.l   workarea+12(pc),a0
                   4245:        move.l  d7,-(a0)
                   4246:        move.l  d7,-(a0)
                   4247:        move.l  d7,-(a0)
                   4248:        lea.l   @f,a3
                   4249:        .dc.l   $f218d001
                   4250: @@:
                   4251:        bsr     restore_fline
                   4252:        fmovem.l        fpsr,d0
                   4253:        rol.l   #8,d0
                   4254:        or.l    d7,d0
                   4255:        move.b  d0,(a2)+
                   4256: 
                   4257:        lea.l   msg_test_mi,a0
                   4258:        moveq.l #1-1,d0
                   4259:        bsr     print_result
                   4260:        rts
                   4261: 
                   4262: test_fmovem_mr_md:
                   4263:        lea.l   result(pc),a2
                   4264:        ; FMOVEM.X -(An),FPn
                   4265:        move.b  #$1b,(a2)+
                   4266:        fmovem.l        #$0b000000,fpsr
                   4267:        bsr     set_fline
                   4268:        moveq.l #0,d7
                   4269:        lea.l   workarea(pc),a0
                   4270:        move.l  d7,(a0)+
                   4271:        move.l  d7,(a0)+
                   4272:        move.l  d7,(a0)+
                   4273:        lea.l   @f,a3
                   4274:        .dc.l   $f220c001
                   4275: @@:
                   4276:        bsr     restore_fline
                   4277:        fmovem.l        fpsr,d0
                   4278:        rol.l   #8,d0
                   4279:        or.l    d7,d0
                   4280:        move.b  d0,(a2)+
                   4281: 
                   4282:        lea.l   msg_test_md,a0
                   4283:        moveq.l #1-1,d0
                   4284:        bsr     print_result
                   4285:        rts
                   4286: 
                   4287: test_fmovem_mr_r:
                   4288:        lea.l   result(pc),a2
                   4289:        ; FMOVEM.X d16(An),FPn
                   4290:        move.b  #$0b,(a2)+
                   4291:        fmovem.l        #$0b000000,fpsr
                   4292:        bsr     set_fline
                   4293:        moveq.l #0,d7
                   4294:        lea.l   workarea+12(pc),a0
                   4295:        move.l  d7,-(a0)
                   4296:        move.l  d7,-(a0)
                   4297:        move.l  d7,-(a0)
                   4298:        lea.l   @f,a3
                   4299:        .dc.l   $f228d001
                   4300:        .dc.w   $0000
                   4301: @@:
                   4302:        bsr     restore_fline
                   4303:        fmovem.l        fpsr,d0
                   4304:        rol.l   #8,d0
                   4305:        or.l    d7,d0
                   4306:        move.b  d0,(a2)+
                   4307: 
                   4308:        lea.l   msg_test_r,a0
                   4309:        moveq.l #1-1,d0
                   4310:        bsr     print_result
                   4311:        rts
                   4312: 
                   4313: test_fmovem_mr_x:
                   4314:        lea.l   result(pc),a2
                   4315:        ; FMOVEM.X d8(An,IX),FPn
                   4316:        move.b  #$0b,(a2)+
                   4317:        fmovem.l        #$0b000000,fpsr
                   4318:        bsr     set_fline
                   4319:        moveq.l #0,d7
                   4320:        moveq.l #0,d4
                   4321:        lea.l   workarea+12(pc),a0
                   4322:        move.l  d7,-(a0)
                   4323:        move.l  d7,-(a0)
                   4324:        move.l  d7,-(a0)
                   4325:        lea.l   @f,a3
                   4326:        .dc.l   $f230d001
                   4327:        .dc.w   $4000
                   4328: @@:
                   4329:        bsr     restore_fline
                   4330:        fmovem.l        fpsr,d0
                   4331:        rol.l   #8,d0
                   4332:        or.l    d7,d0
                   4333:        move.b  d0,(a2)+
                   4334: 
                   4335:        lea.l   msg_test_x,a0
                   4336:        moveq.l #1-1,d0
                   4337:        bsr     print_result
                   4338:        rts
                   4339: 
                   4340: test_fmovem_mr_p:
                   4341:        lea.l   result(pc),a2
                   4342:        ; FMOVEM.X (PC),FPn
                   4343:        move.b  #$0b,(a2)+
                   4344:        fmovem.l        #$0b000000,fpsr
                   4345:        bsr     set_fline
                   4346:        moveq.l #0,d7
                   4347:        bra     @f
                   4348:        .dc.l   0, 0, 0
                   4349: @@:
                   4350:        lea.l   @f,a3
                   4351:        .dc.l   $f23ad001
                   4352:        .dc.w   -4-6-12
                   4353: @@:
                   4354:        bsr     restore_fline
                   4355:        fmovem.l        fpsr,d0
                   4356:        rol.l   #8,d0
                   4357:        or.l    d7,d0
                   4358:        move.b  d0,(a2)+
                   4359: 
                   4360:        lea.l   msg_test_p,a0
                   4361:        moveq.l #1-1,d0
                   4362:        bsr     print_result
                   4363:        rts
                   4364: 
                   4365: test_fmovem_mr_i:
                   4366:        lea.l   result(pc),a2
                   4367:        ; FMOVEM.X #imm,FPn
                   4368:        move.b  #$1b,(a2)+
                   4369:        fmovem.l        #$0b000000,fpsr
                   4370:        bsr     set_fline
                   4371:        moveq.l #0,d7
                   4372:        lea.l   @f,a3
                   4373:        .dc.l   $f23cd001
                   4374:        .dc.l   0, 0, 0
                   4375: @@:
                   4376:        bsr     restore_fline
                   4377:        fmovem.l        fpsr,d0
                   4378:        rol.l   #8,d0
                   4379:        or.l    d7,d0
                   4380:        move.b  d0,(a2)+
                   4381: 
                   4382:        lea.l   msg_test_i,a0
                   4383:        moveq.l #1-1,d0
                   4384:        bsr     print_result
                   4385:        rts
                   4386: 
                   4387: test_fmovem_mr_o:
                   4388:        lea.l   result(pc),a2
                   4389:        ; FMOVEM.X 075,FPn
                   4390:        move.b  #$1b,(a2)+
                   4391:        fmovem.l        #$0b000000,fpsr
                   4392:        bsr     set_fline
                   4393:        moveq.l #0,d7
                   4394:        lea.l   @f,a3
                   4395:        .dc.l   $f23dd001
                   4396: @@:
                   4397:        bsr     restore_fline
                   4398:        fmovem.l        fpsr,d0
                   4399:        rol.l   #8,d0
                   4400:        or.l    d7,d0
                   4401:        move.b  d0,(a2)+
                   4402: 
                   4403:        lea.l   msg_test_o,a0
                   4404:        moveq.l #1-1,d0
                   4405:        bsr     print_result
                   4406:        rts
                   4407: 
                   4408: test_fmovem_cm_d:
                   4409:        lea.l   result(pc),a2
                   4410:        ; FMOVEM.L FPCR,Dn
                   4411:        move.b  #$0b,(a2)+
                   4412:        fmovem.l        #$0b000000,fpsr
                   4413:        bsr     set_fline
                   4414:        moveq.l #0,d7
                   4415:        lea.l   @f,a3
                   4416:        .dc.l   $f206b000
                   4417: @@:
                   4418:        bsr     restore_fline
                   4419:        fmovem.l        fpsr,d0
                   4420:        rol.l   #8,d0
                   4421:        or.l    d7,d0
                   4422:        move.b  d0,(a2)+
                   4423: 
                   4424:        ; FMOVEM.L FPSR,Dn
                   4425:        move.b  #$0b,(a2)+
                   4426:        fmovem.l        #$0b000000,fpsr
                   4427:        bsr     set_fline
                   4428:        moveq.l #0,d7
                   4429:        lea.l   @f,a3
                   4430:        .dc.l   $f206a800
                   4431: @@:
                   4432:        bsr     restore_fline
                   4433:        fmovem.l        fpsr,d0
                   4434:        rol.l   #8,d0
                   4435:        or.l    d7,d0
                   4436:        move.b  d0,(a2)+
                   4437: 
                   4438:        ; FMOVEM.L FPIAR,Dn
                   4439:        move.b  #$0b,(a2)+
                   4440:        fmovem.l        #$0b000000,fpsr
                   4441:        bsr     set_fline
                   4442:        moveq.l #0,d7
                   4443:        lea.l   @f,a3
                   4444:        .dc.l   $f206a400
                   4445: @@:
                   4446:        bsr     restore_fline
                   4447:        fmovem.l        fpsr,d0
                   4448:        rol.l   #8,d0
                   4449:        or.l    d7,d0
                   4450:        move.b  d0,(a2)+
                   4451: 
                   4452:        ; FMOVEM.L FPSR/FPIAR,Dn
                   4453:        move.b  #$1b,(a2)+
                   4454:        fmovem.l        #$0b000000,fpsr
                   4455:        bsr     set_fline
                   4456:        moveq.l #0,d7
                   4457:        lea.l   @f,a3
                   4458:        .dc.l   $f206ac00
                   4459: @@:
                   4460:        bsr     restore_fline
                   4461:        fmovem.l        fpsr,d0
                   4462:        rol.l   #8,d0
                   4463:        or.l    d7,d0
                   4464:        move.b  d0,(a2)+
                   4465: 
                   4466:        lea.l   msg_test_d,a0
                   4467:        moveq.l #4-1,d0
                   4468:        bsr     print_result
                   4469:        rts
                   4470: 
                   4471: test_fmovem_cm_a:
                   4472:        lea.l   result(pc),a2
                   4473:        ; FMOVEM.L FPCR,An
                   4474:        move.b  #$1b,(a2)+
                   4475:        fmovem.l        #$0b000000,fpsr
                   4476:        bsr     set_fline
                   4477:        moveq.l #0,d7
                   4478:        lea.l   @f,a3
                   4479:        .dc.l   $f208b000
                   4480: @@:
                   4481:        bsr     restore_fline
                   4482:        fmovem.l        fpsr,d0
                   4483:        rol.l   #8,d0
                   4484:        or.l    d7,d0
                   4485:        move.b  d0,(a2)+
                   4486: 
                   4487:        ; FMOVEM.L FPSR,An
                   4488:        move.b  #$1b,(a2)+
                   4489:        fmovem.l        #$0b000000,fpsr
                   4490:        bsr     set_fline
                   4491:        moveq.l #0,d7
                   4492:        lea.l   @f,a3
                   4493:        .dc.l   $f208a800
                   4494: @@:
                   4495:        bsr     restore_fline
                   4496:        fmovem.l        fpsr,d0
                   4497:        rol.l   #8,d0
                   4498:        or.l    d7,d0
                   4499:        move.b  d0,(a2)+
                   4500: 
                   4501:        ; FMOVEM.L FPIAR,An
                   4502:        move.b  #$0b,(a2)+
                   4503:        fmovem.l        #$0b000000,fpsr
                   4504:        bsr     set_fline
                   4505:        moveq.l #0,d7
                   4506:        lea.l   @f,a3
                   4507:        .dc.l   $f208a400
                   4508: @@:
                   4509:        bsr     restore_fline
                   4510:        fmovem.l        fpsr,d0
                   4511:        rol.l   #8,d0
                   4512:        or.l    d7,d0
                   4513:        move.b  d0,(a2)+
                   4514: 
                   4515:        ; FMOVEM.L FPSR/FPIAR,An
                   4516:        move.b  #$1b,(a2)+
                   4517:        fmovem.l        #$0b000000,fpsr
                   4518:        bsr     set_fline
                   4519:        moveq.l #0,d7
                   4520:        lea.l   @f,a3
                   4521:        .dc.l   $f208ac00
                   4522: @@:
                   4523:        bsr     restore_fline
                   4524:        fmovem.l        fpsr,d0
                   4525:        rol.l   #8,d0
                   4526:        or.l    d7,d0
                   4527:        move.b  d0,(a2)+
                   4528: 
                   4529:        lea.l   msg_test_a,a0
                   4530:        moveq.l #4-1,d0
                   4531:        bsr     print_result
                   4532:        rts
                   4533: 
                   4534: test_fmovem_cm_m:
                   4535:        lea.l   result(pc),a2
                   4536:        ; FMOVEM.L FPCR,(An)
                   4537:        move.b  #$0b,(a2)+
                   4538:        fmovem.l        #$0b000000,fpsr
                   4539:        bsr     set_fline
                   4540:        moveq.l #0,d7
                   4541:        lea.l   workarea(pc),a0
                   4542:        lea.l   @f,a3
                   4543:        .dc.l   $f210b000
                   4544: @@:
                   4545:        bsr     restore_fline
                   4546:        fmovem.l        fpsr,d0
                   4547:        rol.l   #8,d0
                   4548:        or.l    d7,d0
                   4549:        move.b  d0,(a2)+
                   4550: 
                   4551:        ; FMOVEM.L FPSR,(An)
                   4552:        move.b  #$0b,(a2)+
                   4553:        fmovem.l        #$0b000000,fpsr
                   4554:        bsr     set_fline
                   4555:        moveq.l #0,d7
                   4556:        lea.l   workarea(pc),a0
                   4557:        lea.l   @f,a3
                   4558:        .dc.l   $f210a800
                   4559: @@:
                   4560:        bsr     restore_fline
                   4561:        fmovem.l        fpsr,d0
                   4562:        rol.l   #8,d0
                   4563:        or.l    d7,d0
                   4564:        move.b  d0,(a2)+
                   4565: 
                   4566:        ; FMOVEM.L FPIAR,(An)
                   4567:        move.b  #$0b,(a2)+
                   4568:        fmovem.l        #$0b000000,fpsr
                   4569:        bsr     set_fline
                   4570:        moveq.l #0,d7
                   4571:        lea.l   workarea(pc),a0
                   4572:        lea.l   @f,a3
                   4573:        .dc.l   $f210a400
                   4574: @@:
                   4575:        bsr     restore_fline
                   4576:        fmovem.l        fpsr,d0
                   4577:        rol.l   #8,d0
                   4578:        or.l    d7,d0
                   4579:        move.b  d0,(a2)+
                   4580: 
                   4581:        ; FMOVEM.L FPSR/FPIAR,(An)
                   4582:        move.b  #$0b,(a2)+
                   4583:        fmovem.l        #$0b000000,fpsr
                   4584:        bsr     set_fline
                   4585:        moveq.l #0,d7
                   4586:        lea.l   workarea(pc),a0
                   4587:        lea.l   @f,a3
                   4588:        .dc.l   $f210ac00
                   4589: @@:
                   4590:        bsr     restore_fline
                   4591:        fmovem.l        fpsr,d0
                   4592:        rol.l   #8,d0
                   4593:        or.l    d7,d0
                   4594:        move.b  d0,(a2)+
                   4595: 
                   4596:        lea.l   msg_test_m,a0
                   4597:        moveq.l #4-1,d0
                   4598:        bsr     print_result
                   4599:        rts
                   4600: 
                   4601: test_fmovem_cm_mi:
                   4602:        lea.l   result(pc),a2
                   4603:        ; FMOVEM.L FPCR,(An)+
                   4604:        move.b  #$0b,(a2)+
                   4605:        fmovem.l        #$0b000000,fpsr
                   4606:        bsr     set_fline
                   4607:        moveq.l #0,d7
                   4608:        lea.l   workarea(pc),a0
                   4609:        lea.l   @f,a3
                   4610:        .dc.l   $f218b000
                   4611: @@:
                   4612:        bsr     restore_fline
                   4613:        fmovem.l        fpsr,d0
                   4614:        rol.l   #8,d0
                   4615:        or.l    d7,d0
                   4616:        move.b  d0,(a2)+
                   4617: 
                   4618:        ; FMOVEM.L FPSR,(An)+
                   4619:        move.b  #$0b,(a2)+
                   4620:        fmovem.l        #$0b000000,fpsr
                   4621:        bsr     set_fline
                   4622:        moveq.l #0,d7
                   4623:        lea.l   workarea(pc),a0
                   4624:        lea.l   @f,a3
                   4625:        .dc.l   $f218a800
                   4626: @@:
                   4627:        bsr     restore_fline
                   4628:        fmovem.l        fpsr,d0
                   4629:        rol.l   #8,d0
                   4630:        or.l    d7,d0
                   4631:        move.b  d0,(a2)+
                   4632: 
                   4633:        ; FMOVEM.L FPIAR,(An)+
                   4634:        move.b  #$0b,(a2)+
                   4635:        fmovem.l        #$0b000000,fpsr
                   4636:        bsr     set_fline
                   4637:        moveq.l #0,d7
                   4638:        lea.l   workarea(pc),a0
                   4639:        lea.l   @f,a3
                   4640:        .dc.l   $f218a400
                   4641: @@:
                   4642:        bsr     restore_fline
                   4643:        fmovem.l        fpsr,d0
                   4644:        rol.l   #8,d0
                   4645:        or.l    d7,d0
                   4646:        move.b  d0,(a2)+
                   4647: 
                   4648:        ; FMOVEM.L FPSR/FPIAR,(An)+
                   4649:        move.b  #$0b,(a2)+
                   4650:        fmovem.l        #$0b000000,fpsr
                   4651:        bsr     set_fline
                   4652:        moveq.l #0,d7
                   4653:        lea.l   workarea(pc),a0
                   4654:        lea.l   @f,a3
                   4655:        .dc.l   $f218ac00
                   4656: @@:
                   4657:        bsr     restore_fline
                   4658:        fmovem.l        fpsr,d0
                   4659:        rol.l   #8,d0
                   4660:        or.l    d7,d0
                   4661:        move.b  d0,(a2)+
                   4662: 
                   4663:        lea.l   msg_test_mi,a0
                   4664:        moveq.l #4-1,d0
                   4665:        bsr     print_result
                   4666:        rts
                   4667: 
                   4668: test_fmovem_cm_md:
                   4669:        lea.l   result(pc),a2
                   4670:        ; FMOVEM.L FPCR,-(An)
                   4671:        move.b  #$0b,(a2)+
                   4672:        fmovem.l        #$0b000000,fpsr
                   4673:        bsr     set_fline
                   4674:        moveq.l #0,d7
                   4675:        lea.l   workarea+12(pc),a0
                   4676:        lea.l   @f,a3
                   4677:        .dc.l   $f220b000
                   4678: @@:
                   4679:        bsr     restore_fline
                   4680:        fmovem.l        fpsr,d0
                   4681:        rol.l   #8,d0
                   4682:        or.l    d7,d0
                   4683:        move.b  d0,(a2)+
                   4684: 
                   4685:        ; FMOVEM.L FPSR,-(An)
                   4686:        move.b  #$0b,(a2)+
                   4687:        fmovem.l        #$0b000000,fpsr
                   4688:        bsr     set_fline
                   4689:        moveq.l #0,d7
                   4690:        lea.l   workarea+12(pc),a0
                   4691:        lea.l   @f,a3
                   4692:        .dc.l   $f220a800
                   4693: @@:
                   4694:        bsr     restore_fline
                   4695:        fmovem.l        fpsr,d0
                   4696:        rol.l   #8,d0
                   4697:        or.l    d7,d0
                   4698:        move.b  d0,(a2)+
                   4699: 
                   4700:        ; FMOVEM.L FPIAR,-(An)
                   4701:        move.b  #$0b,(a2)+
                   4702:        fmovem.l        #$0b000000,fpsr
                   4703:        bsr     set_fline
                   4704:        moveq.l #0,d7
                   4705:        lea.l   workarea+12(pc),a0
                   4706:        lea.l   @f,a3
                   4707:        .dc.l   $f220a400
                   4708: @@:
                   4709:        bsr     restore_fline
                   4710:        fmovem.l        fpsr,d0
                   4711:        rol.l   #8,d0
                   4712:        or.l    d7,d0
                   4713:        move.b  d0,(a2)+
                   4714: 
                   4715:        ; FMOVEM.L FPSR/FPIAR,-(An)
                   4716:        move.b  #$0b,(a2)+
                   4717:        fmovem.l        #$0b000000,fpsr
                   4718:        bsr     set_fline
                   4719:        moveq.l #0,d7
                   4720:        lea.l   workarea+12(pc),a0
                   4721:        lea.l   @f,a3
                   4722:        .dc.l   $f220ac00
                   4723: @@:
                   4724:        bsr     restore_fline
                   4725:        fmovem.l        fpsr,d0
                   4726:        rol.l   #8,d0
                   4727:        or.l    d7,d0
                   4728:        move.b  d0,(a2)+
                   4729: 
                   4730:        lea.l   msg_test_md,a0
                   4731:        moveq.l #4-1,d0
                   4732:        bsr     print_result
                   4733:        rts
                   4734: 
                   4735: test_fmovem_cm_r:
                   4736:        lea.l   result(pc),a2
                   4737:        ; FMOVEM.L FPCR,d16(An)
                   4738:        move.b  #$0b,(a2)+
                   4739:        fmovem.l        #$0b000000,fpsr
                   4740:        bsr     set_fline
                   4741:        moveq.l #0,d7
                   4742:        lea.l   workarea(pc),a0
                   4743:        lea.l   @f,a3
                   4744:        .dc.l   $f228b000
                   4745:        .dc.w   $0000
                   4746: @@:
                   4747:        bsr     restore_fline
                   4748:        fmovem.l        fpsr,d0
                   4749:        rol.l   #8,d0
                   4750:        or.l    d7,d0
                   4751:        move.b  d0,(a2)+
                   4752: 
                   4753:        ; FMOVEM.L FPSR,d16(An)
                   4754:        move.b  #$0b,(a2)+
                   4755:        fmovem.l        #$0b000000,fpsr
                   4756:        bsr     set_fline
                   4757:        moveq.l #0,d7
                   4758:        lea.l   workarea(pc),a0
                   4759:        lea.l   @f,a3
                   4760:        .dc.l   $f228a800
                   4761:        .dc.w   $0000
                   4762: @@:
                   4763:        bsr     restore_fline
                   4764:        fmovem.l        fpsr,d0
                   4765:        rol.l   #8,d0
                   4766:        or.l    d7,d0
                   4767:        move.b  d0,(a2)+
                   4768: 
                   4769:        ; FMOVEM.L FPIAR,d16(An)
                   4770:        move.b  #$0b,(a2)+
                   4771:        fmovem.l        #$0b000000,fpsr
                   4772:        bsr     set_fline
                   4773:        moveq.l #0,d7
                   4774:        lea.l   workarea(pc),a0
                   4775:        lea.l   @f,a3
                   4776:        .dc.l   $f228a400
                   4777:        .dc.w   $0000
                   4778: @@:
                   4779:        bsr     restore_fline
                   4780:        fmovem.l        fpsr,d0
                   4781:        rol.l   #8,d0
                   4782:        or.l    d7,d0
                   4783:        move.b  d0,(a2)+
                   4784: 
                   4785:        ; FMOVEM.L FPSR/FPIAR,d16(An)
                   4786:        move.b  #$0b,(a2)+
                   4787:        fmovem.l        #$0b000000,fpsr
                   4788:        bsr     set_fline
                   4789:        moveq.l #0,d7
                   4790:        lea.l   workarea(pc),a0
                   4791:        lea.l   @f,a3
                   4792:        .dc.l   $f228ac00
                   4793:        .dc.w   $0000
                   4794: @@:
                   4795:        bsr     restore_fline
                   4796:        fmovem.l        fpsr,d0
                   4797:        rol.l   #8,d0
                   4798:        or.l    d7,d0
                   4799:        move.b  d0,(a2)+
                   4800: 
                   4801:        lea.l   msg_test_r,a0
                   4802:        moveq.l #4-1,d0
                   4803:        bsr     print_result
                   4804:        rts
                   4805: 
                   4806: test_fmovem_cm_x:
                   4807:        lea.l   result(pc),a2
                   4808:        ; FMOVEM.L FPCR,d8(An,IX)
                   4809:        move.b  #$0b,(a2)+
                   4810:        fmovem.l        #$0b000000,fpsr
                   4811:        bsr     set_fline
                   4812:        moveq.l #0,d7
                   4813:        moveq.l #0,d4
                   4814:        lea.l   workarea(pc),a0
                   4815:        lea.l   @f,a3
                   4816:        .dc.l   $f230b000
                   4817:        .dc.w   $4000
                   4818: @@:
                   4819:        bsr     restore_fline
                   4820:        fmovem.l        fpsr,d0
                   4821:        rol.l   #8,d0
                   4822:        or.l    d7,d0
                   4823:        move.b  d0,(a2)+
                   4824: 
                   4825:        ; FMOVEM.L FPSR,d8(An,IX)
                   4826:        move.b  #$0b,(a2)+
                   4827:        fmovem.l        #$0b000000,fpsr
                   4828:        bsr     set_fline
                   4829:        moveq.l #0,d7
                   4830:        moveq.l #0,d4
                   4831:        lea.l   workarea(pc),a0
                   4832:        lea.l   @f,a3
                   4833:        .dc.l   $f230a800
                   4834:        .dc.w   $4000
                   4835: @@:
                   4836:        bsr     restore_fline
                   4837:        fmovem.l        fpsr,d0
                   4838:        rol.l   #8,d0
                   4839:        or.l    d7,d0
                   4840:        move.b  d0,(a2)+
                   4841: 
                   4842:        ; FMOVEM.L FPIAR,d8(An,IX)
                   4843:        move.b  #$0b,(a2)+
                   4844:        fmovem.l        #$0b000000,fpsr
                   4845:        bsr     set_fline
                   4846:        moveq.l #0,d7
                   4847:        moveq.l #0,d4
                   4848:        lea.l   workarea(pc),a0
                   4849:        lea.l   @f,a3
                   4850:        .dc.l   $f230a400
                   4851:        .dc.w   $4000
                   4852: @@:
                   4853:        bsr     restore_fline
                   4854:        fmovem.l        fpsr,d0
                   4855:        rol.l   #8,d0
                   4856:        or.l    d7,d0
                   4857:        move.b  d0,(a2)+
                   4858: 
                   4859:        ; FMOVEM.L FPSR/FPIAR,d8(An,IX)
                   4860:        move.b  #$0b,(a2)+
                   4861:        fmovem.l        #$0b000000,fpsr
                   4862:        bsr     set_fline
                   4863:        moveq.l #0,d7
                   4864:        moveq.l #0,d4
                   4865:        lea.l   workarea(pc),a0
                   4866:        lea.l   @f,a3
                   4867:        .dc.l   $f230ac00
                   4868:        .dc.w   $4000
                   4869: @@:
                   4870:        bsr     restore_fline
                   4871:        fmovem.l        fpsr,d0
                   4872:        rol.l   #8,d0
                   4873:        or.l    d7,d0
                   4874:        move.b  d0,(a2)+
                   4875: 
                   4876:        lea.l   msg_test_x,a0
                   4877:        moveq.l #4-1,d0
                   4878:        bsr     print_result
                   4879:        rts
                   4880: 
                   4881: test_fmovem_cm_p:
                   4882:        lea.l   result(pc),a2
                   4883:        ; FMOVEM.L FPCR,(PC)
                   4884:        move.b  #$1b,(a2)+
                   4885:        fmovem.l        #$0b000000,fpsr
                   4886:        bsr     set_fline
                   4887:        moveq.l #0,d7
                   4888:        lea.l   @f,a3
                   4889:        .dc.l   $f23ab000
                   4890: @@:
                   4891:        bsr     restore_fline
                   4892:        fmovem.l        fpsr,d0
                   4893:        rol.l   #8,d0
                   4894:        or.l    d7,d0
                   4895:        move.b  d0,(a2)+
                   4896: 
                   4897:        ; FMOVEM.L FPSR,(PC)
                   4898:        move.b  #$1b,(a2)+
                   4899:        fmovem.l        #$0b000000,fpsr
                   4900:        bsr     set_fline
                   4901:        moveq.l #0,d7
                   4902:        lea.l   @f,a3
                   4903:        .dc.l   $f23aa800
                   4904: @@:
                   4905:        bsr     restore_fline
                   4906:        fmovem.l        fpsr,d0
                   4907:        rol.l   #8,d0
                   4908:        or.l    d7,d0
                   4909:        move.b  d0,(a2)+
                   4910: 
                   4911:        ; FMOVEM.L FPIAR,(PC)
                   4912:        move.b  #$1b,(a2)+
                   4913:        fmovem.l        #$0b000000,fpsr
                   4914:        bsr     set_fline
                   4915:        moveq.l #0,d7
                   4916:        lea.l   @f,a3
                   4917:        .dc.l   $f23aa400
                   4918: @@:
                   4919:        bsr     restore_fline
                   4920:        fmovem.l        fpsr,d0
                   4921:        rol.l   #8,d0
                   4922:        or.l    d7,d0
                   4923:        move.b  d0,(a2)+
                   4924: 
                   4925:        ; FMOVEM.L FPSR/FPIAR,(PC)
                   4926:        move.b  #$1b,(a2)+
                   4927:        fmovem.l        #$0b000000,fpsr
                   4928:        bsr     set_fline
                   4929:        moveq.l #0,d7
                   4930:        lea.l   @f,a3
                   4931:        .dc.l   $f23aac00
                   4932: @@:
                   4933:        bsr     restore_fline
                   4934:        fmovem.l        fpsr,d0
                   4935:        rol.l   #8,d0
                   4936:        or.l    d7,d0
                   4937:        move.b  d0,(a2)+
                   4938: 
                   4939:        lea.l   msg_test_p,a0
                   4940:        moveq.l #4-1,d0
                   4941:        bsr     print_result
                   4942:        rts
                   4943: 
                   4944: test_fmovem_cm_i:
                   4945:        lea.l   result(pc),a2
                   4946:        ; FMOVEM.L FPCR,#imm
                   4947:        move.b  #$1b,(a2)+
                   4948:        fmovem.l        #$0b000000,fpsr
                   4949:        bsr     set_fline
                   4950:        moveq.l #0,d7
                   4951:        lea.l   @f,a3
                   4952:        .dc.l   $f23cb000
                   4953: @@:
                   4954:        bsr     restore_fline
                   4955:        fmovem.l        fpsr,d0
                   4956:        rol.l   #8,d0
                   4957:        or.l    d7,d0
                   4958:        move.b  d0,(a2)+
                   4959: 
                   4960:        ; FMOVEM.L FPSR,#imm
                   4961:        move.b  #$1b,(a2)+
                   4962:        fmovem.l        #$0b000000,fpsr
                   4963:        bsr     set_fline
                   4964:        moveq.l #0,d7
                   4965:        lea.l   @f,a3
                   4966:        .dc.l   $f23ca800
                   4967: @@:
                   4968:        bsr     restore_fline
                   4969:        fmovem.l        fpsr,d0
                   4970:        rol.l   #8,d0
                   4971:        or.l    d7,d0
                   4972:        move.b  d0,(a2)+
                   4973: 
                   4974:        ; FMOVEM.L FPIAR,#imm
                   4975:        move.b  #$1b,(a2)+
                   4976:        fmovem.l        #$0b000000,fpsr
                   4977:        bsr     set_fline
                   4978:        moveq.l #0,d7
                   4979:        lea.l   @f,a3
                   4980:        .dc.l   $f23ca400
                   4981: @@:
                   4982:        bsr     restore_fline
                   4983:        fmovem.l        fpsr,d0
                   4984:        rol.l   #8,d0
                   4985:        or.l    d7,d0
                   4986:        move.b  d0,(a2)+
                   4987: 
                   4988:        ; FMOVEM.L FPSR/FPIAR,#imm
                   4989:        move.b  #$1b,(a2)+
                   4990:        fmovem.l        #$0b000000,fpsr
                   4991:        bsr     set_fline
                   4992:        moveq.l #0,d7
                   4993:        lea.l   @f,a3
                   4994:        .dc.l   $f23cac00
                   4995: @@:
                   4996:        bsr     restore_fline
                   4997:        fmovem.l        fpsr,d0
                   4998:        rol.l   #8,d0
                   4999:        or.l    d7,d0
                   5000:        move.b  d0,(a2)+
                   5001: 
                   5002:        lea.l   msg_test_i,a0
                   5003:        moveq.l #4-1,d0
                   5004:        bsr     print_result
                   5005:        rts
                   5006: 
                   5007: test_fmovem_cm_o:
                   5008:        lea.l   result(pc),a2
                   5009:        ; FMOVEM.L FPCR,075
                   5010:        move.b  #$1b,(a2)+
                   5011:        fmovem.l        #$0b000000,fpsr
                   5012:        bsr     set_fline
                   5013:        moveq.l #0,d7
                   5014:        lea.l   @f,a3
                   5015:        .dc.l   $f23db000
                   5016: @@:
                   5017:        bsr     restore_fline
                   5018:        fmovem.l        fpsr,d0
                   5019:        rol.l   #8,d0
                   5020:        or.l    d7,d0
                   5021:        move.b  d0,(a2)+
                   5022: 
                   5023:        ; FMOVEM.L FPSR,075
                   5024:        move.b  #$1b,(a2)+
                   5025:        fmovem.l        #$0b000000,fpsr
                   5026:        bsr     set_fline
                   5027:        moveq.l #0,d7
                   5028:        lea.l   @f,a3
                   5029:        .dc.l   $f23da800
                   5030: @@:
                   5031:        bsr     restore_fline
                   5032:        fmovem.l        fpsr,d0
                   5033:        rol.l   #8,d0
                   5034:        or.l    d7,d0
                   5035:        move.b  d0,(a2)+
                   5036: 
                   5037:        ; FMOVEM.L FPIAR,075
                   5038:        move.b  #$1b,(a2)+
                   5039:        fmovem.l        #$0b000000,fpsr
                   5040:        bsr     set_fline
                   5041:        moveq.l #0,d7
                   5042:        lea.l   @f,a3
                   5043:        .dc.l   $f23da400
                   5044: @@:
                   5045:        bsr     restore_fline
                   5046:        fmovem.l        fpsr,d0
                   5047:        rol.l   #8,d0
                   5048:        or.l    d7,d0
                   5049:        move.b  d0,(a2)+
                   5050: 
                   5051:        ; FMOVEM.L FPSR/FPIAR,075
                   5052:        move.b  #$1b,(a2)+
                   5053:        fmovem.l        #$0b000000,fpsr
                   5054:        bsr     set_fline
                   5055:        moveq.l #0,d7
                   5056:        lea.l   @f,a3
                   5057:        .dc.l   $f23dac00
                   5058: @@:
                   5059:        bsr     restore_fline
                   5060:        fmovem.l        fpsr,d0
                   5061:        rol.l   #8,d0
                   5062:        or.l    d7,d0
                   5063:        move.b  d0,(a2)+
                   5064: 
                   5065:        lea.l   msg_test_o,a0
                   5066:        moveq.l #4-1,d0
                   5067:        bsr     print_result
                   5068:        rts
                   5069: 
                   5070: test_fmovem_mc_d:
                   5071:        lea.l   result(pc),a2
                   5072:        ; FMOVEM.L Dn,FPCR
                   5073:        move.b  #$0b,(a2)+
                   5074:        fmovem.l        #$0b000000,fpsr
                   5075:        bsr     set_fline
                   5076:        moveq.l #0,d7
                   5077:        moveq.l #0,d6
                   5078:        lea.l   @f,a3
                   5079:        .dc.l   $f2069000
                   5080: @@:
                   5081:        bsr     restore_fline
                   5082:        fmovem.l        fpsr,d0
                   5083:        rol.l   #8,d0
                   5084:        or.l    d7,d0
                   5085:        move.b  d0,(a2)+
                   5086: 
                   5087:        ; FMOVEM.L Dn,FPSR
                   5088:        move.b  #$00,(a2)+
                   5089:        fmovem.l        #$0b000000,fpsr
                   5090:        bsr     set_fline
                   5091:        moveq.l #0,d7
                   5092:        moveq.l #0,d6
                   5093:        lea.l   @f,a3
                   5094:        .dc.l   $f2068800
                   5095: @@:
                   5096:        bsr     restore_fline
                   5097:        fmovem.l        fpsr,d0
                   5098:        rol.l   #8,d0
                   5099:        or.l    d7,d0
                   5100:        move.b  d0,(a2)+
                   5101: 
                   5102:        ; FMOVEM.L Dn,FPIAR
                   5103:        move.b  #$0b,(a2)+
                   5104:        fmovem.l        #$0b000000,fpsr
                   5105:        bsr     set_fline
                   5106:        moveq.l #0,d7
                   5107:        moveq.l #0,d6
                   5108:        lea.l   @f,a3
                   5109:        .dc.l   $f2068400
                   5110: @@:
                   5111:        bsr     restore_fline
                   5112:        fmovem.l        fpsr,d0
                   5113:        rol.l   #8,d0
                   5114:        or.l    d7,d0
                   5115:        move.b  d0,(a2)+
                   5116: 
                   5117:        ; FMOVEM.L Dn,FPSR/FPIAR
                   5118:        move.b  #$1b,(a2)+
                   5119:        fmovem.l        #$0b000000,fpsr
                   5120:        bsr     set_fline
                   5121:        moveq.l #0,d7
                   5122:        moveq.l #0,d6
                   5123:        lea.l   @f,a3
                   5124:        .dc.l   $f2068c00
                   5125: @@:
                   5126:        bsr     restore_fline
                   5127:        fmovem.l        fpsr,d0
                   5128:        rol.l   #8,d0
                   5129:        or.l    d7,d0
                   5130:        move.b  d0,(a2)+
                   5131: 
                   5132:        lea.l   msg_test_d,a0
                   5133:        moveq.l #4-1,d0
                   5134:        bsr     print_result
                   5135:        rts
                   5136: 
                   5137: test_fmovem_mc_a:
                   5138:        lea.l   result(pc),a2
                   5139:        ; FMOVEM.L An,FPCR
                   5140:        move.b  #$1b,(a2)+
                   5141:        fmovem.l        #$0b000000,fpsr
                   5142:        bsr     set_fline
                   5143:        moveq.l #0,d7
                   5144:        lea.l   @f,a3
                   5145:        .dc.l   $f2089000
                   5146: @@:
                   5147:        bsr     restore_fline
                   5148:        fmovem.l        fpsr,d0
                   5149:        rol.l   #8,d0
                   5150:        or.l    d7,d0
                   5151:        move.b  d0,(a2)+
                   5152: 
                   5153:        ; FMOVEM.L An,FPSR
                   5154:        move.b  #$1b,(a2)+
                   5155:        fmovem.l        #$0b000000,fpsr
                   5156:        bsr     set_fline
                   5157:        moveq.l #0,d7
                   5158:        lea.l   @f,a3
                   5159:        .dc.l   $f2088800
                   5160: @@:
                   5161:        bsr     restore_fline
                   5162:        fmovem.l        fpsr,d0
                   5163:        rol.l   #8,d0
                   5164:        or.l    d7,d0
                   5165:        move.b  d0,(a2)+
                   5166: 
                   5167:        ; FMOVEM.L An,FPIAR
                   5168:        move.b  #$0b,(a2)+
                   5169:        fmovem.l        #$0b000000,fpsr
                   5170:        bsr     set_fline
                   5171:        moveq.l #0,d7
                   5172:        lea.l   @f,a3
                   5173:        .dc.l   $f2088400
                   5174: @@:
                   5175:        bsr     restore_fline
                   5176:        fmovem.l        fpsr,d0
                   5177:        rol.l   #8,d0
                   5178:        or.l    d7,d0
                   5179:        move.b  d0,(a2)+
                   5180: 
                   5181:        ; FMOVEM.L An,FPSR/FPIAR
                   5182:        move.b  #$1b,(a2)+
                   5183:        fmovem.l        #$0b000000,fpsr
                   5184:        bsr     set_fline
                   5185:        moveq.l #0,d7
                   5186:        lea.l   @f,a3
                   5187:        .dc.l   $f2088c00
                   5188: @@:
                   5189:        bsr     restore_fline
                   5190:        fmovem.l        fpsr,d0
                   5191:        rol.l   #8,d0
                   5192:        or.l    d7,d0
                   5193:        move.b  d0,(a2)+
                   5194: 
                   5195:        lea.l   msg_test_a,a0
                   5196:        moveq.l #4-1,d0
                   5197:        bsr     print_result
                   5198:        rts
                   5199: 
                   5200: test_fmovem_mc_m:
                   5201:        lea.l   result(pc),a2
                   5202:        ; FMOVEM.L (An),FPCR
                   5203:        move.b  #$0b,(a2)+
                   5204:        fmovem.l        #$0b000000,fpsr
                   5205:        bsr     set_fline
                   5206:        moveq.l #0,d7
                   5207:        lea.l   workarea+12(pc),a0
                   5208:        move.l  d7,-(a0)
                   5209:        move.l  d7,-(a0)
                   5210:        move.l  d7,-(a0)
                   5211:        lea.l   @f,a3
                   5212:        .dc.l   $f2109000
                   5213: @@:
                   5214:        bsr     restore_fline
                   5215:        fmovem.l        fpsr,d0
                   5216:        rol.l   #8,d0
                   5217:        or.l    d7,d0
                   5218:        move.b  d0,(a2)+
                   5219: 
                   5220:        ; FMOVEM.L (An),FPSR
                   5221:        move.b  #$00,(a2)+
                   5222:        fmovem.l        #$0b000000,fpsr
                   5223:        bsr     set_fline
                   5224:        moveq.l #0,d7
                   5225:        lea.l   workarea+12(pc),a0
                   5226:        move.l  d7,-(a0)
                   5227:        move.l  d7,-(a0)
                   5228:        move.l  d7,-(a0)
                   5229:        lea.l   @f,a3
                   5230:        .dc.l   $f2108800
                   5231: @@:
                   5232:        bsr     restore_fline
                   5233:        fmovem.l        fpsr,d0
                   5234:        rol.l   #8,d0
                   5235:        or.l    d7,d0
                   5236:        move.b  d0,(a2)+
                   5237: 
                   5238:        ; FMOVEM.L (An),FPIAR
                   5239:        move.b  #$0b,(a2)+
                   5240:        fmovem.l        #$0b000000,fpsr
                   5241:        bsr     set_fline
                   5242:        moveq.l #0,d7
                   5243:        lea.l   workarea+12(pc),a0
                   5244:        move.l  d7,-(a0)
                   5245:        move.l  d7,-(a0)
                   5246:        move.l  d7,-(a0)
                   5247:        lea.l   @f,a3
                   5248:        .dc.l   $f2108400
                   5249: @@:
                   5250:        bsr     restore_fline
                   5251:        fmovem.l        fpsr,d0
                   5252:        rol.l   #8,d0
                   5253:        or.l    d7,d0
                   5254:        move.b  d0,(a2)+
                   5255: 
                   5256:        ; FMOVEM.L (An),FPSR/FPIAR
                   5257:        move.b  #$00,(a2)+
                   5258:        fmovem.l        #$0b000000,fpsr
                   5259:        bsr     set_fline
                   5260:        moveq.l #0,d7
                   5261:        lea.l   workarea+12(pc),a0
                   5262:        move.l  d7,-(a0)
                   5263:        move.l  d7,-(a0)
                   5264:        move.l  d7,-(a0)
                   5265:        lea.l   @f,a3
                   5266:        .dc.l   $f2108c00
                   5267: @@:
                   5268:        bsr     restore_fline
                   5269:        fmovem.l        fpsr,d0
                   5270:        rol.l   #8,d0
                   5271:        or.l    d7,d0
                   5272:        move.b  d0,(a2)+
                   5273: 
                   5274:        lea.l   msg_test_m,a0
                   5275:        moveq.l #4-1,d0
                   5276:        bsr     print_result
                   5277:        rts
                   5278: 
                   5279: test_fmovem_mc_mi:
                   5280:        lea.l   result(pc),a2
                   5281:        ; FMOVEM.L (An)+,FPCR
                   5282:        move.b  #$0b,(a2)+
                   5283:        fmovem.l        #$0b000000,fpsr
                   5284:        bsr     set_fline
                   5285:        moveq.l #0,d7
                   5286:        lea.l   workarea+12(pc),a0
                   5287:        move.l  d7,-(a0)
                   5288:        move.l  d7,-(a0)
                   5289:        move.l  d7,-(a0)
                   5290:        lea.l   @f,a3
                   5291:        .dc.l   $f2189000
                   5292: @@:
                   5293:        bsr     restore_fline
                   5294:        fmovem.l        fpsr,d0
                   5295:        rol.l   #8,d0
                   5296:        or.l    d7,d0
                   5297:        move.b  d0,(a2)+
                   5298: 
                   5299:        ; FMOVEM.L (An)+,FPSR
                   5300:        move.b  #$00,(a2)+
                   5301:        fmovem.l        #$0b000000,fpsr
                   5302:        bsr     set_fline
                   5303:        moveq.l #0,d7
                   5304:        lea.l   workarea+12(pc),a0
                   5305:        move.l  d7,-(a0)
                   5306:        move.l  d7,-(a0)
                   5307:        move.l  d7,-(a0)
                   5308:        lea.l   @f,a3
                   5309:        .dc.l   $f2188800
                   5310: @@:
                   5311:        bsr     restore_fline
                   5312:        fmovem.l        fpsr,d0
                   5313:        rol.l   #8,d0
                   5314:        or.l    d7,d0
                   5315:        move.b  d0,(a2)+
                   5316: 
                   5317:        ; FMOVEM.L (An)+,FPIAR
                   5318:        move.b  #$0b,(a2)+
                   5319:        fmovem.l        #$0b000000,fpsr
                   5320:        bsr     set_fline
                   5321:        moveq.l #0,d7
                   5322:        lea.l   workarea+12(pc),a0
                   5323:        move.l  d7,-(a0)
                   5324:        move.l  d7,-(a0)
                   5325:        move.l  d7,-(a0)
                   5326:        lea.l   @f,a3
                   5327:        .dc.l   $f2188400
                   5328: @@:
                   5329:        bsr     restore_fline
                   5330:        fmovem.l        fpsr,d0
                   5331:        rol.l   #8,d0
                   5332:        or.l    d7,d0
                   5333:        move.b  d0,(a2)+
                   5334: 
                   5335:        ; FMOVEM.L (An)+,FPSR/FPIAR
                   5336:        move.b  #$00,(a2)+
                   5337:        fmovem.l        #$0b000000,fpsr
                   5338:        bsr     set_fline
                   5339:        moveq.l #0,d7
                   5340:        lea.l   workarea+12(pc),a0
                   5341:        move.l  d7,-(a0)
                   5342:        move.l  d7,-(a0)
                   5343:        move.l  d7,-(a0)
                   5344:        lea.l   @f,a3
                   5345:        .dc.l   $f2188c00
                   5346: @@:
                   5347:        bsr     restore_fline
                   5348:        fmovem.l        fpsr,d0
                   5349:        rol.l   #8,d0
                   5350:        or.l    d7,d0
                   5351:        move.b  d0,(a2)+
                   5352: 
                   5353:        lea.l   msg_test_mi,a0
                   5354:        moveq.l #4-1,d0
                   5355:        bsr     print_result
                   5356:        rts
                   5357: 
                   5358: test_fmovem_mc_md:
                   5359:        lea.l   result(pc),a2
                   5360:        ; FMOVEM.L -(An),FPCR
                   5361:        move.b  #$0b,(a2)+
                   5362:        fmovem.l        #$0b000000,fpsr
                   5363:        bsr     set_fline
                   5364:        moveq.l #0,d7
                   5365:        lea.l   workarea(pc),a0
                   5366:        move.l  d7,(a0)+
                   5367:        move.l  d7,(a0)+
                   5368:        move.l  d7,(a0)+
                   5369:        lea.l   @f,a3
                   5370:        .dc.l   $f2209000
                   5371: @@:
                   5372:        bsr     restore_fline
                   5373:        fmovem.l        fpsr,d0
                   5374:        rol.l   #8,d0
                   5375:        or.l    d7,d0
                   5376:        move.b  d0,(a2)+
                   5377: 
                   5378:        ; FMOVEM.L -(An),FPSR
                   5379:        move.b  #$00,(a2)+
                   5380:        fmovem.l        #$0b000000,fpsr
                   5381:        bsr     set_fline
                   5382:        moveq.l #0,d7
                   5383:        lea.l   workarea(pc),a0
                   5384:        move.l  d7,(a0)+
                   5385:        move.l  d7,(a0)+
                   5386:        move.l  d7,(a0)+
                   5387:        lea.l   @f,a3
                   5388:        .dc.l   $f2208800
                   5389: @@:
                   5390:        bsr     restore_fline
                   5391:        fmovem.l        fpsr,d0
                   5392:        rol.l   #8,d0
                   5393:        or.l    d7,d0
                   5394:        move.b  d0,(a2)+
                   5395: 
                   5396:        ; FMOVEM.L -(An),FPIAR
                   5397:        move.b  #$0b,(a2)+
                   5398:        fmovem.l        #$0b000000,fpsr
                   5399:        bsr     set_fline
                   5400:        moveq.l #0,d7
                   5401:        lea.l   workarea(pc),a0
                   5402:        move.l  d7,(a0)+
                   5403:        move.l  d7,(a0)+
                   5404:        move.l  d7,(a0)+
                   5405:        lea.l   @f,a3
                   5406:        .dc.l   $f2208400
                   5407: @@:
                   5408:        bsr     restore_fline
                   5409:        fmovem.l        fpsr,d0
                   5410:        rol.l   #8,d0
                   5411:        or.l    d7,d0
                   5412:        move.b  d0,(a2)+
                   5413: 
                   5414:        ; FMOVEM.L -(An),FPSR/FPIAR
                   5415:        move.b  #$00,(a2)+
                   5416:        fmovem.l        #$0b000000,fpsr
                   5417:        bsr     set_fline
                   5418:        moveq.l #0,d7
                   5419:        lea.l   workarea(pc),a0
                   5420:        move.l  d7,(a0)+
                   5421:        move.l  d7,(a0)+
                   5422:        move.l  d7,(a0)+
                   5423:        lea.l   @f,a3
                   5424:        .dc.l   $f2208c00
                   5425: @@:
                   5426:        bsr     restore_fline
                   5427:        fmovem.l        fpsr,d0
                   5428:        rol.l   #8,d0
                   5429:        or.l    d7,d0
                   5430:        move.b  d0,(a2)+
                   5431: 
                   5432:        lea.l   msg_test_md,a0
                   5433:        moveq.l #4-1,d0
                   5434:        bsr     print_result
                   5435:        rts
                   5436: 
                   5437: test_fmovem_mc_r:
                   5438:        lea.l   result(pc),a2
                   5439:        ; FMOVEM.L d16(An),FPCR
                   5440:        move.b  #$0b,(a2)+
                   5441:        fmovem.l        #$0b000000,fpsr
                   5442:        bsr     set_fline
                   5443:        moveq.l #0,d7
                   5444:        lea.l   workarea+12(pc),a0
                   5445:        move.l  d7,-(a0)
                   5446:        move.l  d7,-(a0)
                   5447:        move.l  d7,-(a0)
                   5448:        lea.l   @f,a3
                   5449:        .dc.l   $f2289000
                   5450:        .dc.w   $0000
                   5451: @@:
                   5452:        bsr     restore_fline
                   5453:        fmovem.l        fpsr,d0
                   5454:        rol.l   #8,d0
                   5455:        or.l    d7,d0
                   5456:        move.b  d0,(a2)+
                   5457: 
                   5458:        ; FMOVEM.L d16(An),FPSR
                   5459:        move.b  #$00,(a2)+
                   5460:        fmovem.l        #$0b000000,fpsr
                   5461:        bsr     set_fline
                   5462:        moveq.l #0,d7
                   5463:        lea.l   workarea+12(pc),a0
                   5464:        move.l  d7,-(a0)
                   5465:        move.l  d7,-(a0)
                   5466:        move.l  d7,-(a0)
                   5467:        lea.l   @f,a3
                   5468:        .dc.l   $f2288800
                   5469:        .dc.w   $0000
                   5470: @@:
                   5471:        bsr     restore_fline
                   5472:        fmovem.l        fpsr,d0
                   5473:        rol.l   #8,d0
                   5474:        or.l    d7,d0
                   5475:        move.b  d0,(a2)+
                   5476: 
                   5477:        ; FMOVEM.L d16(An),FPIAR
                   5478:        move.b  #$0b,(a2)+
                   5479:        fmovem.l        #$0b000000,fpsr
                   5480:        bsr     set_fline
                   5481:        moveq.l #0,d7
                   5482:        lea.l   workarea+12(pc),a0
                   5483:        move.l  d7,-(a0)
                   5484:        move.l  d7,-(a0)
                   5485:        move.l  d7,-(a0)
                   5486:        lea.l   @f,a3
                   5487:        .dc.l   $f2288400
                   5488:        .dc.w   $0000
                   5489: @@:
                   5490:        bsr     restore_fline
                   5491:        fmovem.l        fpsr,d0
                   5492:        rol.l   #8,d0
                   5493:        or.l    d7,d0
                   5494:        move.b  d0,(a2)+
                   5495: 
                   5496:        ; FMOVEM.L d16(An),FPSR/FPIAR
                   5497:        move.b  #$00,(a2)+
                   5498:        fmovem.l        #$0b000000,fpsr
                   5499:        bsr     set_fline
                   5500:        moveq.l #0,d7
                   5501:        lea.l   workarea+12(pc),a0
                   5502:        move.l  d7,-(a0)
                   5503:        move.l  d7,-(a0)
                   5504:        move.l  d7,-(a0)
                   5505:        lea.l   @f,a3
                   5506:        .dc.l   $f2288c00
                   5507:        .dc.w   $0000
                   5508: @@:
                   5509:        bsr     restore_fline
                   5510:        fmovem.l        fpsr,d0
                   5511:        rol.l   #8,d0
                   5512:        or.l    d7,d0
                   5513:        move.b  d0,(a2)+
                   5514: 
                   5515:        lea.l   msg_test_r,a0
                   5516:        moveq.l #4-1,d0
                   5517:        bsr     print_result
                   5518:        rts
                   5519: 
                   5520: test_fmovem_mc_x:
                   5521:        lea.l   result(pc),a2
                   5522:        ; FMOVEM.L d8(An,IX),FPCR
                   5523:        move.b  #$0b,(a2)+
                   5524:        fmovem.l        #$0b000000,fpsr
                   5525:        bsr     set_fline
                   5526:        moveq.l #0,d7
                   5527:        moveq.l #0,d4
                   5528:        lea.l   workarea+12(pc),a0
                   5529:        move.l  d7,-(a0)
                   5530:        move.l  d7,-(a0)
                   5531:        move.l  d7,-(a0)
                   5532:        lea.l   @f,a3
                   5533:        .dc.l   $f2309000
                   5534:        .dc.w   $4000
                   5535: @@:
                   5536:        bsr     restore_fline
                   5537:        fmovem.l        fpsr,d0
                   5538:        rol.l   #8,d0
                   5539:        or.l    d7,d0
                   5540:        move.b  d0,(a2)+
                   5541: 
                   5542:        ; FMOVEM.L d8(An,IX),FPSR
                   5543:        move.b  #$00,(a2)+
                   5544:        fmovem.l        #$0b000000,fpsr
                   5545:        bsr     set_fline
                   5546:        moveq.l #0,d7
                   5547:        moveq.l #0,d4
                   5548:        lea.l   workarea+12(pc),a0
                   5549:        move.l  d7,-(a0)
                   5550:        move.l  d7,-(a0)
                   5551:        move.l  d7,-(a0)
                   5552:        lea.l   @f,a3
                   5553:        .dc.l   $f2308800
                   5554:        .dc.w   $4000
                   5555: @@:
                   5556:        bsr     restore_fline
                   5557:        fmovem.l        fpsr,d0
                   5558:        rol.l   #8,d0
                   5559:        or.l    d7,d0
                   5560:        move.b  d0,(a2)+
                   5561: 
                   5562:        ; FMOVEM.L d8(An,IX),FPIAR
                   5563:        move.b  #$0b,(a2)+
                   5564:        fmovem.l        #$0b000000,fpsr
                   5565:        bsr     set_fline
                   5566:        moveq.l #0,d7
                   5567:        moveq.l #0,d4
                   5568:        lea.l   workarea+12(pc),a0
                   5569:        move.l  d7,-(a0)
                   5570:        move.l  d7,-(a0)
                   5571:        move.l  d7,-(a0)
                   5572:        lea.l   @f,a3
                   5573:        .dc.l   $f2308400
                   5574:        .dc.w   $4000
                   5575: @@:
                   5576:        bsr     restore_fline
                   5577:        fmovem.l        fpsr,d0
                   5578:        rol.l   #8,d0
                   5579:        or.l    d7,d0
                   5580:        move.b  d0,(a2)+
                   5581: 
                   5582:        ; FMOVEM.L d8(An,IX),FPSR/FPIAR
                   5583:        move.b  #$00,(a2)+
                   5584:        fmovem.l        #$0b000000,fpsr
                   5585:        bsr     set_fline
                   5586:        moveq.l #0,d7
                   5587:        moveq.l #0,d4
                   5588:        lea.l   workarea+12(pc),a0
                   5589:        move.l  d7,-(a0)
                   5590:        move.l  d7,-(a0)
                   5591:        move.l  d7,-(a0)
                   5592:        lea.l   @f,a3
                   5593:        .dc.l   $f2308c00
                   5594:        .dc.w   $4000
                   5595: @@:
                   5596:        bsr     restore_fline
                   5597:        fmovem.l        fpsr,d0
                   5598:        rol.l   #8,d0
                   5599:        or.l    d7,d0
                   5600:        move.b  d0,(a2)+
                   5601: 
                   5602:        lea.l   msg_test_x,a0
                   5603:        moveq.l #4-1,d0
                   5604:        bsr     print_result
                   5605:        rts
                   5606: 
                   5607: test_fmovem_mc_p:
                   5608:        lea.l   result(pc),a2
                   5609:        ; FMOVEM.L (PC),FPCR
                   5610:        move.b  #$0b,(a2)+
                   5611:        fmovem.l        #$0b000000,fpsr
                   5612:        bsr     set_fline
                   5613:        moveq.l #0,d7
                   5614:        bra     @f
                   5615:        .dc.l   0, 0, 0
                   5616: @@:
                   5617:        lea.l   @f,a3
                   5618:        .dc.l   $f23a9000
                   5619:        .dc.w   -4-6-12
                   5620: @@:
                   5621:        bsr     restore_fline
                   5622:        fmovem.l        fpsr,d0
                   5623:        rol.l   #8,d0
                   5624:        or.l    d7,d0
                   5625:        move.b  d0,(a2)+
                   5626: 
                   5627:        ; FMOVEM.L (PC),FPSR
                   5628:        move.b  #$00,(a2)+
                   5629:        fmovem.l        #$0b000000,fpsr
                   5630:        bsr     set_fline
                   5631:        moveq.l #0,d7
                   5632:        bra     @f
                   5633:        .dc.l   0, 0, 0
                   5634: @@:
                   5635:        lea.l   @f,a3
                   5636:        .dc.l   $f23a8800
                   5637:        .dc.w   -4-6-12
                   5638: @@:
                   5639:        bsr     restore_fline
                   5640:        fmovem.l        fpsr,d0
                   5641:        rol.l   #8,d0
                   5642:        or.l    d7,d0
                   5643:        move.b  d0,(a2)+
                   5644: 
                   5645:        ; FMOVEM.L (PC),FPIAR
                   5646:        move.b  #$0b,(a2)+
                   5647:        fmovem.l        #$0b000000,fpsr
                   5648:        bsr     set_fline
                   5649:        moveq.l #0,d7
                   5650:        bra     @f
                   5651:        .dc.l   0, 0, 0
                   5652: @@:
                   5653:        lea.l   @f,a3
                   5654:        .dc.l   $f23a8400
                   5655:        .dc.w   -4-6-12
                   5656: @@:
                   5657:        bsr     restore_fline
                   5658:        fmovem.l        fpsr,d0
                   5659:        rol.l   #8,d0
                   5660:        or.l    d7,d0
                   5661:        move.b  d0,(a2)+
                   5662: 
                   5663:        ; FMOVEM.L (PC),FPSR/FPIAR
                   5664:        move.b  #$00,(a2)+
                   5665:        fmovem.l        #$0b000000,fpsr
                   5666:        bsr     set_fline
                   5667:        moveq.l #0,d7
                   5668:        bra     @f
                   5669:        .dc.l   0, 0, 0
                   5670: @@:
                   5671:        lea.l   @f,a3
                   5672:        .dc.l   $f23a8c00
                   5673:        .dc.w   -4-6-12
                   5674: @@:
                   5675:        bsr     restore_fline
                   5676:        fmovem.l        fpsr,d0
                   5677:        rol.l   #8,d0
                   5678:        or.l    d7,d0
                   5679:        move.b  d0,(a2)+
                   5680: 
                   5681:        lea.l   msg_test_p,a0
                   5682:        moveq.l #4-1,d0
                   5683:        bsr     print_result
                   5684:        rts
                   5685: 
                   5686: test_fmovem_mc_i:
                   5687:        lea.l   result(pc),a2
                   5688:        ; FMOVEM.L #imm,FPCR
                   5689:        move.b  #$0b,(a2)+
                   5690:        fmovem.l        #$0b000000,fpsr
                   5691:        bsr     set_fline
                   5692:        moveq.l #0,d7
                   5693:        lea.l   @f,a3
                   5694:        .dc.l   $f23c9000
                   5695:        .dc.l   0
                   5696: @@:
                   5697:        bsr     restore_fline
                   5698:        fmovem.l        fpsr,d0
                   5699:        rol.l   #8,d0
                   5700:        or.l    d7,d0
                   5701:        move.b  d0,(a2)+
                   5702: 
                   5703:        ; FMOVEM.L #imm,FPSR
                   5704:        move.b  #$00,(a2)+
                   5705:        fmovem.l        #$0b000000,fpsr
                   5706:        bsr     set_fline
                   5707:        moveq.l #0,d7
                   5708:        lea.l   @f,a3
                   5709:        .dc.l   $f23c8800
                   5710:        .dc.l   0
                   5711: @@:
                   5712:        bsr     restore_fline
                   5713:        fmovem.l        fpsr,d0
                   5714:        rol.l   #8,d0
                   5715:        or.l    d7,d0
                   5716:        move.b  d0,(a2)+
                   5717: 
                   5718:        ; FMOVEM.L #imm,FPIAR
                   5719:        move.b  #$0b,(a2)+
                   5720:        fmovem.l        #$0b000000,fpsr
                   5721:        bsr     set_fline
                   5722:        moveq.l #0,d7
                   5723:        lea.l   @f,a3
                   5724:        .dc.l   $f23c8400
                   5725:        .dc.l   0
                   5726: @@:
                   5727:        bsr     restore_fline
                   5728:        fmovem.l        fpsr,d0
                   5729:        rol.l   #8,d0
                   5730:        or.l    d7,d0
                   5731:        move.b  d0,(a2)+
                   5732: 
                   5733:        ; FMOVEM.L #imm,FPSR/FPIAR
                   5734:        move.b  #$00,(a2)+
                   5735:        fmovem.l        #$0b000000,fpsr
                   5736:        bsr     set_fline
                   5737:        moveq.l #0,d7
                   5738:        lea.l   @f,a3
                   5739:        .dc.l   $f23c8c00
                   5740:        .dc.l   0, 0
                   5741: @@:
                   5742:        bsr     restore_fline
                   5743:        fmovem.l        fpsr,d0
                   5744:        rol.l   #8,d0
                   5745:        or.l    d7,d0
                   5746:        move.b  d0,(a2)+
                   5747: 
                   5748:        lea.l   msg_test_i,a0
                   5749:        moveq.l #4-1,d0
                   5750:        bsr     print_result
                   5751:        rts
                   5752: 
                   5753: test_fmovem_mc_o:
                   5754:        lea.l   result(pc),a2
                   5755:        ; FMOVEM.L 075,FPCR
                   5756:        move.b  #$1b,(a2)+
                   5757:        fmovem.l        #$0b000000,fpsr
                   5758:        bsr     set_fline
                   5759:        moveq.l #0,d7
                   5760:        lea.l   @f,a3
                   5761:        .dc.l   $f23d9000
                   5762: @@:
                   5763:        bsr     restore_fline
                   5764:        fmovem.l        fpsr,d0
                   5765:        rol.l   #8,d0
                   5766:        or.l    d7,d0
                   5767:        move.b  d0,(a2)+
                   5768: 
                   5769:        ; FMOVEM.L 075,FPSR
                   5770:        move.b  #$1b,(a2)+
                   5771:        fmovem.l        #$0b000000,fpsr
                   5772:        bsr     set_fline
                   5773:        moveq.l #0,d7
                   5774:        lea.l   @f,a3
                   5775:        .dc.l   $f23d8800
                   5776: @@:
                   5777:        bsr     restore_fline
                   5778:        fmovem.l        fpsr,d0
                   5779:        rol.l   #8,d0
                   5780:        or.l    d7,d0
                   5781:        move.b  d0,(a2)+
                   5782: 
                   5783:        ; FMOVEM.L 075,FPIAR
                   5784:        move.b  #$1b,(a2)+
                   5785:        fmovem.l        #$0b000000,fpsr
                   5786:        bsr     set_fline
                   5787:        moveq.l #0,d7
                   5788:        lea.l   @f,a3
                   5789:        .dc.l   $f23d8400
                   5790: @@:
                   5791:        bsr     restore_fline
                   5792:        fmovem.l        fpsr,d0
                   5793:        rol.l   #8,d0
                   5794:        or.l    d7,d0
                   5795:        move.b  d0,(a2)+
                   5796: 
                   5797:        ; FMOVEM.L 075,FPSR/FPIAR
                   5798:        move.b  #$1b,(a2)+
                   5799:        fmovem.l        #$0b000000,fpsr
                   5800:        bsr     set_fline
                   5801:        moveq.l #0,d7
                   5802:        lea.l   @f,a3
                   5803:        .dc.l   $f23d8c00
                   5804: @@:
                   5805:        bsr     restore_fline
                   5806:        fmovem.l        fpsr,d0
                   5807:        rol.l   #8,d0
                   5808:        or.l    d7,d0
                   5809:        move.b  d0,(a2)+
                   5810: 
                   5811:        lea.l   msg_test_o,a0
                   5812:        moveq.l #4-1,d0
                   5813:        bsr     print_result
                   5814:        rts
                   5815: 
                   5816: 
                   5817: ; 引数を処理する。
                   5818: ; 引数がなければヘルプを表示。
                   5819: ; 引数... があれば列挙されたテストを実行。
                   5820: ; "all" ならすべて実行。
                   5821: parse_arg:
                   5822:        movem.l d0-d2/a0,-(sp)
                   5823:        tst.b   (a2)
                   5824:        beq     parse_done
                   5825: parse_loop:
                   5826:        adda.l  #1,a2
                   5827:        move.b  (a2),d0                 ; '\0' なら終了
                   5828:        beq     parse_done
                   5829: 
                   5830:        cmpi.b  #' ',d0
                   5831:        beq     parse_loop
                   5832:        cmpi.b  #$09,d0
                   5833:        beq     parse_loop
                   5834: 
                   5835:        ; "help"
                   5836:        lea.l   cmd_help(pc),a0
                   5837:        bsr match
                   5838:        beq     print_help
                   5839: 
                   5840:        ; "all"
                   5841:        lea.l   cmd_all(pc),a0
                   5842:        bsr     match
                   5843:        bne     @f
                   5844:        st.b    is_fmove
                   5845:        st.b    is_fgen
                   5846:        st.b    is_fscale
                   5847:        st.b    is_fscc
                   5848:        st.b    is_fmovem_rm
                   5849:        st.b    is_fmovem_mr
                   5850:        st.b    is_fmovem_cm
                   5851:        st.b    is_fmovem_mc
                   5852:        ; 後は無視していいだろう。
                   5853:        bra     parse_done
                   5854: @@:
                   5855:        ; "fmove"
                   5856:        lea.l   cmd_fmove(pc),a0
                   5857:        bsr     match
                   5858:        bne     @f
                   5859:        st.b    is_fmove
                   5860:        bra     parse_loop
                   5861: @@:
                   5862:        ; "fgen"
                   5863:        lea.l   cmd_fgen(pc),a0
                   5864:        bsr     match
                   5865:        bne     @f
                   5866:        st.b    is_fgen
                   5867:        bra     parse_loop
                   5868: @@:
                   5869:        ; "fscale"
                   5870:        lea.l   cmd_fscale(pc),a0
                   5871:        bsr     match
                   5872:        bne     @f
                   5873:        st.b    is_fscale
                   5874:        bra     parse_loop
                   5875: @@:
                   5876:        ; "fscc"
                   5877:        lea.l   cmd_fscc(pc),a0
                   5878:        bsr     match
                   5879:        bne     @f
                   5880:        st.b    is_fscc
                   5881:        bra     parse_loop
                   5882: @@:
                   5883:        ; "fmovem_rm"
                   5884:        lea.l   cmd_fmovem_rm(pc),a0
                   5885:        bsr     match
                   5886:        bne     @f
                   5887:        st.b    is_fmovem_rm
                   5888:        bra     parse_loop
                   5889: @@:
                   5890:        ; "fmovem_mr"
                   5891:        lea.l   cmd_fmovem_mr(pc),a0
                   5892:        bsr     match
                   5893:        bne     @f
                   5894:        st.b    is_fmovem_mr
                   5895:        bra     parse_loop
                   5896: @@:
                   5897:        ; "fmovem_cm"
                   5898:        lea.l   cmd_fmovem_cm(pc),a0
                   5899:        bsr     match
                   5900:        bne     @f
                   5901:        st.b    is_fmovem_cm
                   5902:        bra     parse_loop
                   5903: @@:
                   5904:        ; "fmovem_mc"
                   5905:        lea.l   cmd_fmovem_mc(pc),a0
                   5906:        bsr     match
                   5907:        bne     @f
                   5908:        st.b    is_fmovem_mc
                   5909:        bra     parse_loop
                   5910: @@:
                   5911: 
                   5912: parse_done:
                   5913:        ; どのコマンドも実行になってなければヘルプを表示。
                   5914:        moveq.l #0,d0
                   5915:        lea.l   is_tests(pc),a0
                   5916:        moveq.l #8-1,d1
                   5917: @@:
                   5918:        or.b    (a0)+,d0
                   5919:        dbra    d1,@b
                   5920:        beq     print_help
                   5921: 
                   5922:        movem.l (sp)+,d0-d2/a0
                   5923:        rts
                   5924: 
                   5925: ; ヘルプを表示して終了。
                   5926: print_help:
                   5927:        PRINT   msg_help(pc)
                   5928:        DOS     _EXIT
                   5929: 
                   5930: ; (a2) からの単語が (a0) からのゼロ終端文字列と一致するか。
                   5931: ; 一致すれば d0 = 0 を返して (a2) は単語の最後の1文字を指すようにする。
                   5932: ; 一致しなければ d0 != 0 を返して (a2) は元の位置のまま。
                   5933: match:
                   5934:        movem.l a1,-(sp)
                   5935:        movea.l a2,a1           ; 戻り値用
                   5936: match_loop:
                   5937:        move.b  (a2)+,d0
                   5938:        cmpi.b  #' ',d0         ; d0 が ' ' なら '\0' に
                   5939:        bne     @f
                   5940:        moveq.l #0,d0
                   5941:        bra     match_main
                   5942: @@:
                   5943:        cmpi.b  #$09,d0         ; d0 が TAB なら '\0' に
                   5944:        bne     match_main
                   5945:        moveq.l #0,d0
                   5946: match_main:
                   5947:        ; この状態で比較
                   5948:        cmp.b   (a0)+,d0
                   5949:        bne     not_match
                   5950:        ; '\0' 以外で一致したら次の文字へ。
                   5951:        tst.b   d0
                   5952:        bne     match_loop
                   5953:        ; '\0' で一致したので完了。
                   5954:        suba.l  #1,a2
                   5955:        moveq.l #0,d0
                   5956:        movem.l (sp)+,a1
                   5957:        rts
                   5958: 
                   5959: not_match:
                   5960:        ; 不一致なので a2 を元に戻す。
                   5961:        movea.l a1,a2
                   5962:        moveq.l #1,d0
                   5963:        movem.l (sp)+,a1
                   5964:        rts
                   5965: 
                   5966: ; 結果を1行表示する。
                   5967: ; A0 にテスト名、D0 に(テスト数-1)を入れて呼ぶこと。
                   5968: ;
                   5969: ; A2 からの result バッファは 2バイト1組で、
                   5970: ; +0 バイト目が期待値、bit4 がトラップの有無、bit3-0 が ConditionByte。
                   5971: ; +1 バイト目が結果値、構造は同じ。
                   5972: ;
                   5973: ; 期待値            結果
                   5974: ; (0<<4)|(x)   (0<<4)|(x)      pass:OK
                   5975: ; (0<<4)|(x)   (0<<4)|(y)      flag:FAIL
                   5976: ; (0<<4)|(x)   (1<<4)|(x)      trap:FAIL
                   5977: ; (0<<4)|(x)   (1<<4)|(y)      trap:FAIL
                   5978: ; (1<<4)|(x)   (0<<4)|(x)      pass:FAIL
                   5979: ; (1<<4)|(x)   (0<<4)|(y)      pass:FAIL
                   5980: ; (1<<4)|(x)   (1<<4)|(x)      trap:OK
                   5981: ; (1<<4)|(x)   (1<<4)|(y)      flag:FAIL
                   5982: print_result:
                   5983:        movem.l d0-d4/a2,-(sp)
                   5984:        move.l  d0,d4
                   5985:        PRINT   (a0)
                   5986:        lea.l   result(pc),a2
                   5987:        moveq.l #0,d0
                   5988:        moveq.l #0,d1
                   5989: prloop:
                   5990:        move.b  (a2)+,d0                ; 期待値
                   5991:        move.b  (a2)+,d1                ; 結果
                   5992:        ; 先に failed のカウント
                   5993:        cmp.b   d1,d0
                   5994:        beq     @f
                   5995:        addi.l  #1,failed
                   5996: @@:
                   5997:        bfextu  d0{#27:#1},d2   ; 期待値のトラップビット
                   5998:        bfextu  d1{#27:#1},d3   ; 結果のトラップビット
                   5999:        andi.b  #$0f,d0
                   6000:        andi.b  #$0f,d1
                   6001:        cmp.b   d1,d0
                   6002:        sne.b   d0
                   6003:        neg.b   d0                              ; d0 は一致なら $0、そうでなければ $1
                   6004:        lsl.l   #1,d3                   ; d3 は結果がトラップなら $2、通過なら $0
                   6005:        or.b    d3,d0
                   6006:        lsl.l   #2,d2                   ; d2 は期待値がトラップなら $4、通過なら $0
                   6007:        or.b    d2,d0
                   6008:        add.b   d0,d0                   ; d0 *= 2
                   6009:        PRINT   msg_result(pc,d0.w*8)
                   6010:        dbra    d4,prloop
                   6011:        PRINT   msg_crlf(pc)
                   6012:        movem.l (sp)+,d0-d4/a2
                   6013:        rts
                   6014: 
                   6015: ; Fライン例外をテスト用のものに差し替える。
                   6016: ; 変更前のアドレスを a4 に格納する。
                   6017: set_fline:
                   6018:        movem.l d0-d1/a1,-(sp)
                   6019:        moveq.l #$b,d1
                   6020:        lea.l   fline_handler(pc),a1
                   6021:        IOCS    _B_INTVCS
                   6022:        movea.l d0,a4
                   6023:        movem.l (sp)+,d0-d1/a1
                   6024:        rts
                   6025: 
                   6026: ; Fライン例外を元に戻す。
                   6027: restore_fline:
                   6028:        movem.l d0-d1/a1,-(sp)
                   6029:        moveq.l #$b,d1
                   6030:        movea.l a4,a1
                   6031:        IOCS    _B_INTVCS
                   6032:        movem.l (sp)+,d0-d1/a1
                   6033:        rts
                   6034: 
                   6035: ; Fライン例外ハンドラ
                   6036: ; a3 に戻りアドレスをセットしてあること
                   6037: ; d7 を $10 にして帰る
                   6038: fline_handler:
                   6039:        moveq.l #$10,d7
                   6040:        move.l  a3,2(sp)
                   6041:        rte
                   6042: 
                   6043: msg_test_d:    .dc.b   " Dn       ",0
                   6044: msg_test_a:    .dc.b   " An       ",0
                   6045: msg_test_m:    .dc.b   " (An)     ",0
                   6046: msg_test_mi:   .dc.b   " (An)+    ",0
                   6047: msg_test_md:   .dc.b   " -(An)    ",0
                   6048: msg_test_r:    .dc.b   " d16(An)  ",0
                   6049: msg_test_x:    .dc.b   " d8(An,IX)",0
                   6050: msg_test_p:    .dc.b   " (PC)     ",0
                   6051: msg_test_i:    .dc.b   " #imm     ",0
                   6052: msg_test_o:    .dc.b   " 075      ",0
                   6053: 
                   6054: msg_head_fmove:
                   6055:        .dc.b   "FMOVEtomem ",0
                   6056: msg_head_fgen:
                   6057:        .dc.b   "Fgen       ",0
                   6058: msg_head_fscale:
                   6059:        .dc.b   "FSCALE     ",0
                   6060: msg_head_fmovem_cm:
                   6061:        .dc.b   "FMOVEM_cm  ",0
                   6062: msg_head_fmovem_mc:
                   6063:        .dc.b   "FMOVEM_mc  ",0
                   6064: msg_head_fscc:
                   6065:        .dc.b   "FScc       .B",$d,$a,0
                   6066: msg_head_fmovem_rm:
                   6067:        .dc.b   "FMOVEM_rm  .X",$d,$a,0
                   6068: msg_head_fmovem_mr:
                   6069:        .dc.b   "FMOVEM_mr  .X",$d,$a,0
                   6070: 
                   6071: msg_head_guide4:
                   6072:        .dc.b   "FPCR      "
                   6073:        .dc.b   "FPSR      "
                   6074:        .dc.b   "FPIAR     "
                   6075:        .dc.b   "FPSR/FPIAR",$d,$a,0
                   6076: 
                   6077: msg_head_guide7:
                   6078:        .dc.b   ".B        "
                   6079:        .dc.b   ".W        "
                   6080:        .dc.b   ".L        "
                   6081:        .dc.b   ".S        "
                   6082:        .dc.b   ".D        "
                   6083:        .dc.b   ".X        "
                   6084:        .dc.b   ".P",$d,$a,0
                   6085: 
                   6086: msg_result:
                   6087:        .dc.b   " pass:OK  ",0,0,0,0,0,0
                   6088:        .dc.b   " flag:FAIL",0,0,0,0,0,0
                   6089:        .dc.b   " trap:FAIL",0,0,0,0,0,0
                   6090:        .dc.b   " trap:FAIL",0,0,0,0,0,0
                   6091:        .dc.b   " pass:FAIL",0,0,0,0,0,0
                   6092:        .dc.b   " pass:FAIL",0,0,0,0,0,0
                   6093:        .dc.b   " trap:OK  ",0,0,0,0,0,0
                   6094:        .dc.b   " flag:FAIL",0
                   6095: 
                   6096: msg_failed:
                   6097:        .dc.b   "FAILED"        ; ,$d,$a,0
                   6098: msg_crlf:
                   6099:        .dc.b   $d,$a,0
                   6100: 
                   6101: msg_help:
                   6102:        .dc.b   "usage: { 'all' | 'help' | testnames... }",$d,$a
                   6103:        .dc.b   " testnames:"
                   6104:        .dc.b   " fmove"
                   6105:        .dc.b   " fgen"
                   6106:        .dc.b   " fscale"
                   6107:        .dc.b   " fscc"
                   6108:        .dc.b   " fmovem_rm"
                   6109:        .dc.b   " fmovem_mr"
                   6110:        .dc.b   " fmovem_cm"
                   6111:        .dc.b   " fmovem_mc"
                   6112:        .dc.b   $d,$a,0
                   6113: 
                   6114: cmd_help:
                   6115:        .dc.b   "help",0
                   6116: cmd_all:
                   6117:        .dc.b   "all",0
                   6118: cmd_fmove:
                   6119:        .dc.b   "fmove",0
                   6120: cmd_fgen:
                   6121:        .dc.b   "fgen",0
                   6122: cmd_fscale:
                   6123:        .dc.b   "fscale",0
                   6124: cmd_fscc:
                   6125:        .dc.b   "fscc",0
                   6126: cmd_fmovem_rm:
                   6127:        .dc.b   "fmovem_rm",0
                   6128: cmd_fmovem_mr:
                   6129:        .dc.b   "fmovem_mr",0
                   6130: cmd_fmovem_cm:
                   6131:        .dc.b   "fmovem_cm",0
                   6132: cmd_fmovem_mc:
                   6133:        .dc.b   "fmovem_mc",0
                   6134: 
                   6135:        .bss
                   6136:        .even
                   6137: result:
                   6138:        .ds.w   7
                   6139:        .align  4
                   6140: workarea:
                   6141:        .ds.l   3
                   6142: failed:
                   6143:        .ds.l   1
                   6144: 
                   6145:        ; テストを実行する場合は !0
                   6146: is_tests:
                   6147: is_fmove:
                   6148:        .ds.b   1
                   6149: is_fgen:
                   6150:        .ds.b   1
                   6151: is_fscale:
                   6152:        .ds.b   1
                   6153: is_fscc:
                   6154:        .ds.b   1
                   6155: is_fmovem_rm:
                   6156:        .ds.b   1
                   6157: is_fmovem_mr:
                   6158:        .ds.b   1
                   6159: is_fmovem_cm:
                   6160:        .ds.b   1
                   6161: is_fmovem_mc:
                   6162:        .ds.b   1
                   6163: 
                   6164:        .end    start

unix.superglobalmegacorp.com

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