--- nono/exp/fmovemc.has 2026/04/29 17:04:33 1.1.1.2 +++ nono/exp/fmovemc.has 2026/04/29 17:05:36 1.1.1.4 @@ -24,11 +24,12 @@ ; SUCH DAMAGE. ; How to compile: -; > has fmovem.has -; > hlk fmovem.o si_util.o +; > has fmovemc.has +; > hlk fmovemc.o si_util.o .xref hexstr_long .include doscall.mac + .include iocscall.mac .list .cpu 68030 @@ -38,30 +39,23 @@ PRINT .macro msg addq.l #4,sp .endm -SET_FLINE_TRAP .macro - move.l (a5),a4 - lea.l fline_handler(pc),a1 - move.l a1,(a5) - .endm - -RESTORE_FLINE_TRAP .macro - move.l a4,(a5) - .endm - .text .even +start: + bra start2 + test_fmovem_dn_to____: PRINT msg_fmovem_dn_to____ fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar move.l #$55555555,d0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $8000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -109,12 +103,12 @@ test_fmovem_an_to____: fmove.l #0,fpsr fmove.l #0,fpiar move.l #$55555555,a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $8000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -163,12 +157,12 @@ test_fmovem_anin_to____: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f210, $8000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -226,12 +220,12 @@ test_fmovem_anpi_to____: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f218, $8000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -289,12 +283,12 @@ test_fmovem_anpd_to____: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f220, $8000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -350,13 +344,13 @@ test_fmovem_imm_to____: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $8000 .dc.l $55555555 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -404,12 +398,12 @@ test_fmovem_dn_to___I: fmove.l #0,fpsr fmove.l #0,fpiar move.l #$55555555,d0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l d0,fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -457,12 +451,12 @@ test_fmovem_an_to___I: fmove.l #0,fpsr fmove.l #0,fpiar move.l #$55555555,a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l a0,fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -511,12 +505,12 @@ test_fmovem_anin_to___I: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -574,12 +568,12 @@ test_fmovem_anpi_to___I: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -637,12 +631,12 @@ test_fmovem_anpd_to___I: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -698,12 +692,12 @@ test_fmovem_imm_to___I: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -751,12 +745,12 @@ test_fmovem_dn_to__S_: fmove.l #0,fpsr fmove.l #0,fpiar move.l #$55555555,d0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l d0,fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -783,7 +777,7 @@ test_fmovem_dn_to__S_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -799,13 +793,17 @@ test_fmovem_dn_to__S_: rts test_fmovem_an_to__S_: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_an_to__S_ - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $8800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -821,12 +819,12 @@ test_fmovem_anin_to__S_: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -862,7 +860,7 @@ test_fmovem_anin_to__S_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -884,12 +882,12 @@ test_fmovem_anpi_to__S_: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -925,7 +923,7 @@ test_fmovem_anpi_to__S_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -947,12 +945,12 @@ test_fmovem_anpd_to__S_: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -988,7 +986,7 @@ test_fmovem_anpd_to__S_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1008,12 +1006,12 @@ test_fmovem_imm_to__S_: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1040,7 +1038,7 @@ test_fmovem_imm_to__S_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1056,13 +1054,17 @@ test_fmovem_imm_to__S_: rts test_fmovem_dn_to__SI: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_dn_to__SI - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $8c00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1072,13 +1074,17 @@ test_fmovem_dn_to__SI: rts test_fmovem_an_to__SI: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_an_to__SI - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $8c00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1095,12 +1101,12 @@ test_fmovem_anin_to__SI: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1159,12 +1165,12 @@ test_fmovem_anpi_to__SI: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1223,12 +1229,12 @@ test_fmovem_anpd_to__SI: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea+8(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1284,12 +1290,12 @@ test_fmovem_imm_to__SI: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,#$aaaaaaaa,fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1337,12 +1343,12 @@ test_fmovem_dn_to_C__: fmove.l #0,fpsr fmove.l #0,fpiar move.l #$55555555,d0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l d0,fpcr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1369,7 +1375,7 @@ test_fmovem_dn_to_C__: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1385,13 +1391,17 @@ test_fmovem_dn_to_C__: rts test_fmovem_an_to_C__: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_an_to_C__ - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $9000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1407,12 +1417,12 @@ test_fmovem_anin_to_C__: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpcr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1448,7 +1458,7 @@ test_fmovem_anin_to_C__: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1470,12 +1480,12 @@ test_fmovem_anpi_to_C__: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpcr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1511,7 +1521,7 @@ test_fmovem_anpi_to_C__: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1533,12 +1543,12 @@ test_fmovem_anpd_to_C__: fmove.l #0,fpiar move.l #$55555555,workarea lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpcr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1574,7 +1584,7 @@ test_fmovem_anpd_to_C__: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1594,12 +1604,12 @@ test_fmovem_imm_to_C__: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,fpcr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1626,7 +1636,7 @@ test_fmovem_imm_to_C__: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -1642,13 +1652,17 @@ test_fmovem_imm_to_C__: rts test_fmovem_dn_to_C_I: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_dn_to_C_I - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $9400 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1658,13 +1672,17 @@ test_fmovem_dn_to_C_I: rts test_fmovem_an_to_C_I: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_an_to_C_I - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $9400 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1681,12 +1699,12 @@ test_fmovem_anin_to_C_I: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpcr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1745,12 +1763,12 @@ test_fmovem_anpi_to_C_I: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpcr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1809,12 +1827,12 @@ test_fmovem_anpd_to_C_I: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea+8(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpcr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1870,12 +1888,12 @@ test_fmovem_imm_to_C_I: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,#$aaaaaaaa,fpcr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1918,13 +1936,17 @@ test_fmovem_imm_to_C_I: rts test_fmovem_dn_to_CS_: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_dn_to_CS_ - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $9800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1934,13 +1956,17 @@ test_fmovem_dn_to_CS_: rts test_fmovem_an_to_CS_: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_an_to_CS_ - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $9800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -1957,12 +1983,12 @@ test_fmovem_anin_to_CS_: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpcr/fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -1998,7 +2024,7 @@ test_fmovem_anin_to_CS_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -2021,12 +2047,12 @@ test_fmovem_anpi_to_CS_: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpcr/fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2062,7 +2088,7 @@ test_fmovem_anpi_to_CS_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -2085,12 +2111,12 @@ test_fmovem_anpd_to_CS_: move.l #$55555555,workarea move.l #$aaaaaaaa,workarea+4 lea.l workarea+8(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpcr/fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2126,7 +2152,7 @@ test_fmovem_anpd_to_CS_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -2146,12 +2172,12 @@ test_fmovem_imm_to_CS_: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,#$aaaaaaaa,fpcr/fpsr @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2178,7 +2204,7 @@ test_fmovem_imm_to_CS_: lea.l 12(sp),sp @@: fmove.l fpiar,a0 - move.l d7,a1 ; d7=0 + suba.l a1,a1 cmpa.l a1,a0 beq @f pea.l msg_fail_ir(pc) @@ -2194,13 +2220,17 @@ test_fmovem_imm_to_CS_: rts test_fmovem_dn_to_CSI: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_dn_to_CSI - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $9c00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -2210,13 +2240,17 @@ test_fmovem_dn_to_CSI: rts test_fmovem_an_to_CSI: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_an_to_CSI - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $9c00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -2234,12 +2268,12 @@ test_fmovem_anin_to_CSI: move.l #$aaaaaaaa,workarea+4 move.l #$33333333,workarea+8 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0),fpcr/fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2299,12 +2333,12 @@ test_fmovem_anpi_to_CSI: move.l #$aaaaaaaa,workarea+4 move.l #$33333333,workarea+8 lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l (a0)+,fpcr/fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2364,12 +2398,12 @@ test_fmovem_anpd_to_CSI: move.l #$aaaaaaaa,workarea+4 move.l #$33333333,workarea+8 lea.l workarea+12(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l -(a0),fpcr/fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2425,12 +2459,12 @@ test_fmovem_imm_to_CSI: fmove.l #0,fpcr fmove.l #0,fpsr fmove.l #0,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l #$55555555,#$aaaaaaaa,#$33333333,fpcr/fpsr/fpiar @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2477,12 +2511,12 @@ test_fmovem_____to_dn: fmove.l #$00000000,fpcr fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $a000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2491,7 +2525,7 @@ test_fmovem_____to_dn: move.l #$55555555,d1 cmp.l d1,d0 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l d0,-(sp) bsr result @@ -2508,12 +2542,12 @@ test_fmovem_____to_an: fmove.l #$00000000,fpcr fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $a000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2522,7 +2556,7 @@ test_fmovem_____to_an: movea.l #$55555555,a1 cmp.l a1,a0 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l a1,-(sp) move.l a0,-(sp) bsr result @@ -2540,12 +2574,12 @@ test_fmovem_____to_anin: fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f210, $a000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2563,7 +2597,7 @@ test_fmovem_____to_anin: move.l #$55555555,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2581,12 +2615,12 @@ test_fmovem_____to_anpi: fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f218, $a000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2604,7 +2638,7 @@ test_fmovem_____to_anpi: move.l #$55555555,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2622,12 +2656,12 @@ test_fmovem_____to_anpd: fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f220, $a000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2645,7 +2679,7 @@ test_fmovem_____to_anpd: move.l #$55555555,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2658,13 +2692,17 @@ test_fmovem_____to_anpd: rts test_fmovem_____to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_____to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $a000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -2678,12 +2716,12 @@ test_fmovem___I_to_dn: fmove.l #$00000000,fpcr fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpiar,d0 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2692,7 +2730,7 @@ test_fmovem___I_to_dn: move.l #$55555555,d1 cmp.l d1,d0 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l d0,-(sp) bsr result @@ -2709,12 +2747,12 @@ test_fmovem___I_to_an: fmove.l #$00000000,fpcr fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpiar,a0 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2723,7 +2761,7 @@ test_fmovem___I_to_an: movea.l #$55555555,a1 cmp.l a1,a0 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l a1,-(sp) move.l a0,-(sp) bsr result @@ -2741,12 +2779,12 @@ test_fmovem___I_to_anin: fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpiar,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2764,7 +2802,7 @@ test_fmovem___I_to_anin: move.l #$55555555,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2782,12 +2820,12 @@ test_fmovem___I_to_anpi: fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpiar,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2805,7 +2843,7 @@ test_fmovem___I_to_anpi: move.l #$55555555,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2823,12 +2861,12 @@ test_fmovem___I_to_anpd: fmove.l #$00000000,fpsr fmove.l #$55555555,fpiar lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpiar,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2846,7 +2884,7 @@ test_fmovem___I_to_anpd: move.l #$55555555,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2859,13 +2897,17 @@ test_fmovem___I_to_anpd: rts test_fmovem___I_to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem___I_to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $a400 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -2879,12 +2921,12 @@ test_fmovem__S__to_dn: fmove.l #$00000000,fpcr fmove.l #$55555555,fpsr fmove.l #$00000000,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr,d0 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2893,7 +2935,7 @@ test_fmovem__S__to_dn: move.l #$05555550,d1 cmp.l d1,d0 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l d0,-(sp) bsr result @@ -2906,13 +2948,17 @@ test_fmovem__S__to_dn: rts test_fmovem__S__to_an: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem__S__to_an - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $a800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -2927,12 +2973,12 @@ test_fmovem__S__to_anin: fmove.l #$55555555,fpsr fmove.l #$00000000,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2950,7 +2996,7 @@ test_fmovem__S__to_anin: move.l #$05555550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -2968,12 +3014,12 @@ test_fmovem__S__to_anpi: fmove.l #$55555555,fpsr fmove.l #$00000000,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -2991,7 +3037,7 @@ test_fmovem__S__to_anpi: move.l #$05555550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3009,12 +3055,12 @@ test_fmovem__S__to_anpd: fmove.l #$55555555,fpsr fmove.l #$00000000,fpiar lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3032,7 +3078,7 @@ test_fmovem__S__to_anpd: move.l #$05555550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3045,13 +3091,17 @@ test_fmovem__S__to_anpd: rts test_fmovem__S__to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem__S__to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $a800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3061,13 +3111,17 @@ test_fmovem__S__to_imm: rts test_fmovem__SI_to_dn: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem__SI_to_dn - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $ac00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3077,13 +3131,17 @@ test_fmovem__SI_to_dn: rts test_fmovem__SI_to_an: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem__SI_to_an - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $ac00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3098,12 +3156,12 @@ test_fmovem__SI_to_anin: fmove.l #$55555555,fpsr fmove.l #$aaaaaaaa,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr/fpiar,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3121,7 +3179,7 @@ test_fmovem__SI_to_anin: move.l #$05555550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3130,7 +3188,7 @@ test_fmovem__SI_to_anin: move.l #$aaaaaaaa,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3148,12 +3206,12 @@ test_fmovem__SI_to_anpi: fmove.l #$55555555,fpsr fmove.l #$aaaaaaaa,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr/fpiar,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3171,7 +3229,7 @@ test_fmovem__SI_to_anpi: move.l #$05555550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3180,7 +3238,7 @@ test_fmovem__SI_to_anpi: move.l #$aaaaaaaa,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3198,12 +3256,12 @@ test_fmovem__SI_to_anpd: fmove.l #$55555555,fpsr fmove.l #$aaaaaaaa,fpiar lea.l workarea+8(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpsr/fpiar,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3221,7 +3279,7 @@ test_fmovem__SI_to_anpd: move.l #$05555550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3230,7 +3288,7 @@ test_fmovem__SI_to_anpd: move.l #$aaaaaaaa,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3243,13 +3301,17 @@ test_fmovem__SI_to_anpd: rts test_fmovem__SI_to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem__SI_to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $ac00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3263,12 +3325,12 @@ test_fmovem_C___to_dn: fmove.l #$55555555,fpcr fmove.l #$00000000,fpsr fmove.l #$00000000,fpiar - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr,d0 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3277,7 +3339,7 @@ test_fmovem_C___to_dn: move.l #$00005550,d1 cmp.l d1,d0 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l d0,-(sp) bsr result @@ -3290,13 +3352,17 @@ test_fmovem_C___to_dn: rts test_fmovem_C___to_an: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_C___to_an - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $b000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3311,12 +3377,12 @@ test_fmovem_C___to_anin: fmove.l #$00000000,fpsr fmove.l #$00000000,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3334,7 +3400,7 @@ test_fmovem_C___to_anin: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3352,12 +3418,12 @@ test_fmovem_C___to_anpi: fmove.l #$00000000,fpsr fmove.l #$00000000,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3375,7 +3441,7 @@ test_fmovem_C___to_anpi: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3393,12 +3459,12 @@ test_fmovem_C___to_anpd: fmove.l #$00000000,fpsr fmove.l #$00000000,fpiar lea.l workarea+4(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3416,7 +3482,7 @@ test_fmovem_C___to_anpd: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3429,13 +3495,17 @@ test_fmovem_C___to_anpd: rts test_fmovem_C___to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_C___to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $b000 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3445,13 +3515,17 @@ test_fmovem_C___to_imm: rts test_fmovem_C_I_to_dn: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_C_I_to_dn - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $b400 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3461,13 +3535,17 @@ test_fmovem_C_I_to_dn: rts test_fmovem_C_I_to_an: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_C_I_to_an - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $b400 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3482,12 +3560,12 @@ test_fmovem_C_I_to_anin: fmove.l #$00000000,fpsr fmove.l #$aaaaaaaa,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpiar,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3505,7 +3583,7 @@ test_fmovem_C_I_to_anin: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3514,7 +3592,7 @@ test_fmovem_C_I_to_anin: move.l #$aaaaaaaa,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3532,12 +3610,12 @@ test_fmovem_C_I_to_anpi: fmove.l #$00000000,fpsr fmove.l #$aaaaaaaa,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpiar,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3555,7 +3633,7 @@ test_fmovem_C_I_to_anpi: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3564,7 +3642,7 @@ test_fmovem_C_I_to_anpi: move.l #$aaaaaaaa,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3582,12 +3660,12 @@ test_fmovem_C_I_to_anpd: fmove.l #$00000000,fpsr fmove.l #$aaaaaaaa,fpiar lea.l workarea+8(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpiar,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3605,7 +3683,7 @@ test_fmovem_C_I_to_anpd: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3614,7 +3692,7 @@ test_fmovem_C_I_to_anpd: move.l #$aaaaaaaa,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3627,13 +3705,17 @@ test_fmovem_C_I_to_anpd: rts test_fmovem_C_I_to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_C_I_to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $b400 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3643,13 +3725,17 @@ test_fmovem_C_I_to_imm: rts test_fmovem_CS__to_dn: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_CS__to_dn - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $b800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3659,13 +3745,17 @@ test_fmovem_CS__to_dn: rts test_fmovem_CS__to_an: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_CS__to_an - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $b800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3680,12 +3770,12 @@ test_fmovem_CS__to_anin: fmove.l #$aaaaaaaa,fpsr fmove.l #$00000000,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpsr,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3703,7 +3793,7 @@ test_fmovem_CS__to_anin: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3712,7 +3802,7 @@ test_fmovem_CS__to_anin: move.l #$0aaaaaa8,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3730,12 +3820,12 @@ test_fmovem_CS__to_anpi: fmove.l #$aaaaaaaa,fpsr fmove.l #$00000000,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpsr,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3753,7 +3843,7 @@ test_fmovem_CS__to_anpi: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3762,7 +3852,7 @@ test_fmovem_CS__to_anpi: move.l #$0aaaaaa8,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3780,12 +3870,12 @@ test_fmovem_CS__to_anpd: fmove.l #$aaaaaaaa,fpsr fmove.l #$00000000,fpiar lea.l workarea+8(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpsr,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3803,7 +3893,7 @@ test_fmovem_CS__to_anpd: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3812,7 +3902,7 @@ test_fmovem_CS__to_anpd: move.l #$0aaaaaa8,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3825,13 +3915,17 @@ test_fmovem_CS__to_anpd: rts test_fmovem_CS__to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_CS__to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $b800 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3841,13 +3935,17 @@ test_fmovem_CS__to_imm: rts test_fmovem_CSI_to_dn: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_CSI_to_dn - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f200, $bc00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3857,13 +3955,17 @@ test_fmovem_CSI_to_dn: rts test_fmovem_CSI_to_an: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_CSI_to_an - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f208, $bc00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -3878,12 +3980,12 @@ test_fmovem_CSI_to_anin: fmove.l #$aaaaaaaa,fpsr fmove.l #$33333333,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpsr/fpiar,(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3901,7 +4003,7 @@ test_fmovem_CSI_to_anin: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3910,7 +4012,7 @@ test_fmovem_CSI_to_anin: move.l #$0aaaaaa8,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3919,7 +4021,7 @@ test_fmovem_CSI_to_anin: move.l #$33333333,d1 cmp.l workarea+8,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+12,-(sp) bsr result @@ -3937,12 +4039,12 @@ test_fmovem_CSI_to_anpi: fmove.l #$aaaaaaaa,fpsr fmove.l #$33333333,fpiar lea.l workarea(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpsr/fpiar,(a0)+ @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -3960,7 +4062,7 @@ test_fmovem_CSI_to_anpi: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -3969,7 +4071,7 @@ test_fmovem_CSI_to_anpi: move.l #$0aaaaaa8,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -3978,7 +4080,7 @@ test_fmovem_CSI_to_anpi: move.l #$33333333,d1 cmp.l workarea+8,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+12,-(sp) bsr result @@ -3996,12 +4098,12 @@ test_fmovem_CSI_to_anpd: fmove.l #$aaaaaaaa,fpsr fmove.l #$33333333,fpiar lea.l workarea+12(pc),a0 - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 fmovem.l fpcr/fpsr/fpiar,-(a0) @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 beq @f PRINT msg_fail_trap @@ -4019,7 +4121,7 @@ test_fmovem_CSI_to_anpd: move.l #$00005550,d1 cmp.l workarea+0,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+4,-(sp) bsr result @@ -4028,7 +4130,7 @@ test_fmovem_CSI_to_anpd: move.l #$0aaaaaa8,d1 cmp.l workarea+4,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+8,-(sp) bsr result @@ -4037,7 +4139,7 @@ test_fmovem_CSI_to_anpd: move.l #$33333333,d1 cmp.l workarea+8,d1 beq @f - pea.l msg_fail(pc) + pea.l msg_fail_dst(pc) move.l d1,-(sp) move.l workarea+12,-(sp) bsr result @@ -4050,13 +4152,17 @@ test_fmovem_CSI_to_anpd: rts test_fmovem_CSI_to_imm: + tst.b is_hard(pc) + bne @f + rts +@@: PRINT msg_fmovem_CSI_to_imm - SET_FLINE_TRAP + bsr set_fline moveq.l #0,d7 lea.l @f,a3 .dc.w $f23c, $bc00 @@: - RESTORE_FLINE_TRAP + bsr restore_fline tst.l d7 bne @f PRINT msg_fail_notrap @@ -4065,18 +4171,48 @@ test_fmovem_CSI_to_imm: PRINT msg_oktrap rts -start: +start2: clr.l -(sp) DOS _SUPER - movem.l d7/a3-a5,-(sp) - moveq.l #$2c,d0 ; alternate of "lea.l $2c,a5" - move.l d0,a5 ; + movem.l d7/a3-a4,-(sp) + ; rough argument check + cmpi.b #4,(a2)+ ; strlen(arg)>=4 ? + bcs @f + cmpi.l #$68617264,(a2) ; "hard" + seq.b is_hard +@@: + tst.b is_hard(pc) + beq disp_easy +disp_hard: + PRINT msg_hard + bra @f +disp_easy: + PRINT msg_easy +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_dn_to____ +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_an_to____ +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_anin_to____ +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_anpi_to____ +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_anpd_to____ +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_imm_to____ +@@: bsr test_fmovem_dn_to___I bsr test_fmovem_an_to___I bsr test_fmovem_anin_to___I @@ -4119,12 +4255,30 @@ start: bsr test_fmovem_anpi_to_CSI bsr test_fmovem_anpd_to_CSI bsr test_fmovem_imm_to_CSI + tst.b is_hard(pc) + beq @f bsr test_fmovem_____to_dn +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_____to_an +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_____to_anin +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_____to_anpi +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_____to_anpd +@@: + tst.b is_hard(pc) + beq @f bsr test_fmovem_____to_imm +@@: bsr test_fmovem___I_to_dn bsr test_fmovem___I_to_an bsr test_fmovem___I_to_anin @@ -4167,7 +4321,7 @@ start: bsr test_fmovem_CSI_to_anpi bsr test_fmovem_CSI_to_anpd bsr test_fmovem_CSI_to_imm - movem.l (sp)+,d7/a3-a5 + movem.l (sp)+,d7/a3-a4 DOS _EXIT ; 結果表示 @@ -4186,7 +4340,7 @@ result: PRINT buf PRINT msg_but - move.l 8+0(a6),a0 + move.l 8+0(a6),d0 lea.l buf(pc),a0 bsr hexstr_long PRINT buf @@ -4197,6 +4351,28 @@ result: unlk a6 rts +; Fライン例外をテスト用のものに差し替える。 +; 変更前のアドレスを a4 に格納する。 +; a1 は破壊する。 +set_fline: + movem.l d0-d1,-(sp) + moveq.l #$b,d1 + lea.l fline_handler(pc),a1 + IOCS _B_INTVCS + movea.l d0,a4 + movem.l (sp)+,d0-d1 + rts + +; Fライン例外を元に戻す。 +; a1 は破壊する。 +restore_fline: + movem.l d0-d1,-(sp) + moveq.l #$b,d1 + movea.l a4,a1 + IOCS _B_INTVCS + movem.l (sp)+,d0-d1 + rts + ; Fライン例外ハンドラ ; a3 に戻りアドレスをセットしてあること ; d7 を 1 にして帰る @@ -4205,120 +4381,123 @@ fline_handler: move.l a3,2(sp) rte +msg_hard: .dc.b "hard mode",$d,$a,0 +msg_easy: .dc.b "easy mode",$d,$a,0 msg_oktrap: .dc.b $9,"ok(trap)",$d,$a,0, 0,0 msg_fail_notrap: .dc.b $9,"FAIL: trap expected but not occured",$d,$a,0 msg_fail_trap: .dc.b $9,"FAIL: unexpected trap occured",$d,$a,0 msg_ok: .dc.b $9,"ok",$d,$a,0 -msg_fail: .dc.b $9,"fail",$d,$a,0 msg_fail_cr: .dc.b $9,"FAIL: fpcr expects ",0 msg_fail_sr: .dc.b $9,"FAIL: fpsr expects ",0 msg_fail_ir: .dc.b $9,"FAIL: fpiar expects ",0 msg_fail_addr: .dc.b $9,"FAIL: an expects ",0 +msg_fail_dst: .dc.b $9,"FAIL: dst expects ",0 msg_but: .dc.b " but ",0 msg_crlf: .dc.b $d,$a,0 -msg_fmovem_dn_to____: .dc.b "fmovem_dn_to____",0 -msg_fmovem_an_to____: .dc.b "fmovem_an_to____",0 -msg_fmovem_anin_to____: .dc.b "fmovem_anin_to____",0 -msg_fmovem_anpi_to____: .dc.b "fmovem_anpi_to____",0 -msg_fmovem_anpd_to____: .dc.b "fmovem_anpd_to____",0 -msg_fmovem_imm_to____: .dc.b "fmovem_imm_to____",0 -msg_fmovem_dn_to___I: .dc.b "fmovem_dn_to___I",0 -msg_fmovem_an_to___I: .dc.b "fmovem_an_to___I",0 -msg_fmovem_anin_to___I: .dc.b "fmovem_anin_to___I",0 -msg_fmovem_anpi_to___I: .dc.b "fmovem_anpi_to___I",0 -msg_fmovem_anpd_to___I: .dc.b "fmovem_anpd_to___I",0 -msg_fmovem_imm_to___I: .dc.b "fmovem_imm_to___I",0 -msg_fmovem_dn_to__S_: .dc.b "fmovem_dn_to__S_",0 -msg_fmovem_an_to__S_: .dc.b "fmovem_an_to__S_",0 -msg_fmovem_anin_to__S_: .dc.b "fmovem_anin_to__S_",0 -msg_fmovem_anpi_to__S_: .dc.b "fmovem_anpi_to__S_",0 -msg_fmovem_anpd_to__S_: .dc.b "fmovem_anpd_to__S_",0 -msg_fmovem_imm_to__S_: .dc.b "fmovem_imm_to__S_",0 -msg_fmovem_dn_to__SI: .dc.b "fmovem_dn_to__SI",0 -msg_fmovem_an_to__SI: .dc.b "fmovem_an_to__SI",0 -msg_fmovem_anin_to__SI: .dc.b "fmovem_anin_to__SI",0 -msg_fmovem_anpi_to__SI: .dc.b "fmovem_anpi_to__SI",0 -msg_fmovem_anpd_to__SI: .dc.b "fmovem_anpd_to__SI",0 -msg_fmovem_imm_to__SI: .dc.b "fmovem_imm_to__SI",0 -msg_fmovem_dn_to_C__: .dc.b "fmovem_dn_to_C__",0 -msg_fmovem_an_to_C__: .dc.b "fmovem_an_to_C__",0 -msg_fmovem_anin_to_C__: .dc.b "fmovem_anin_to_C__",0 -msg_fmovem_anpi_to_C__: .dc.b "fmovem_anpi_to_C__",0 -msg_fmovem_anpd_to_C__: .dc.b "fmovem_anpd_to_C__",0 -msg_fmovem_imm_to_C__: .dc.b "fmovem_imm_to_C__",0 -msg_fmovem_dn_to_C_I: .dc.b "fmovem_dn_to_C_I",0 -msg_fmovem_an_to_C_I: .dc.b "fmovem_an_to_C_I",0 -msg_fmovem_anin_to_C_I: .dc.b "fmovem_anin_to_C_I",0 -msg_fmovem_anpi_to_C_I: .dc.b "fmovem_anpi_to_C_I",0 -msg_fmovem_anpd_to_C_I: .dc.b "fmovem_anpd_to_C_I",0 -msg_fmovem_imm_to_C_I: .dc.b "fmovem_imm_to_C_I",0 -msg_fmovem_dn_to_CS_: .dc.b "fmovem_dn_to_CS_",0 -msg_fmovem_an_to_CS_: .dc.b "fmovem_an_to_CS_",0 -msg_fmovem_anin_to_CS_: .dc.b "fmovem_anin_to_CS_",0 -msg_fmovem_anpi_to_CS_: .dc.b "fmovem_anpi_to_CS_",0 -msg_fmovem_anpd_to_CS_: .dc.b "fmovem_anpd_to_CS_",0 -msg_fmovem_imm_to_CS_: .dc.b "fmovem_imm_to_CS_",0 -msg_fmovem_dn_to_CSI: .dc.b "fmovem_dn_to_CSI",0 -msg_fmovem_an_to_CSI: .dc.b "fmovem_an_to_CSI",0 -msg_fmovem_anin_to_CSI: .dc.b "fmovem_anin_to_CSI",0 -msg_fmovem_anpi_to_CSI: .dc.b "fmovem_anpi_to_CSI",0 -msg_fmovem_anpd_to_CSI: .dc.b "fmovem_anpd_to_CSI",0 -msg_fmovem_imm_to_CSI: .dc.b "fmovem_imm_to_CSI",0 -msg_fmovem_____to_dn: .dc.b "fmovem_____to_dn",0 -msg_fmovem_____to_an: .dc.b "fmovem_____to_an",0 -msg_fmovem_____to_anin: .dc.b "fmovem_____to_anin",0 -msg_fmovem_____to_anpi: .dc.b "fmovem_____to_anpi",0 -msg_fmovem_____to_anpd: .dc.b "fmovem_____to_anpd",0 -msg_fmovem_____to_imm: .dc.b "fmovem_____to_imm",0 -msg_fmovem___I_to_dn: .dc.b "fmovem___I_to_dn",0 -msg_fmovem___I_to_an: .dc.b "fmovem___I_to_an",0 -msg_fmovem___I_to_anin: .dc.b "fmovem___I_to_anin",0 -msg_fmovem___I_to_anpi: .dc.b "fmovem___I_to_anpi",0 -msg_fmovem___I_to_anpd: .dc.b "fmovem___I_to_anpd",0 -msg_fmovem___I_to_imm: .dc.b "fmovem___I_to_imm",0 -msg_fmovem__S__to_dn: .dc.b "fmovem__S__to_dn",0 -msg_fmovem__S__to_an: .dc.b "fmovem__S__to_an",0 -msg_fmovem__S__to_anin: .dc.b "fmovem__S__to_anin",0 -msg_fmovem__S__to_anpi: .dc.b "fmovem__S__to_anpi",0 -msg_fmovem__S__to_anpd: .dc.b "fmovem__S__to_anpd",0 -msg_fmovem__S__to_imm: .dc.b "fmovem__S__to_imm",0 -msg_fmovem__SI_to_dn: .dc.b "fmovem__SI_to_dn",0 -msg_fmovem__SI_to_an: .dc.b "fmovem__SI_to_an",0 -msg_fmovem__SI_to_anin: .dc.b "fmovem__SI_to_anin",0 -msg_fmovem__SI_to_anpi: .dc.b "fmovem__SI_to_anpi",0 -msg_fmovem__SI_to_anpd: .dc.b "fmovem__SI_to_anpd",0 -msg_fmovem__SI_to_imm: .dc.b "fmovem__SI_to_imm",0 -msg_fmovem_C___to_dn: .dc.b "fmovem_C___to_dn",0 -msg_fmovem_C___to_an: .dc.b "fmovem_C___to_an",0 -msg_fmovem_C___to_anin: .dc.b "fmovem_C___to_anin",0 -msg_fmovem_C___to_anpi: .dc.b "fmovem_C___to_anpi",0 -msg_fmovem_C___to_anpd: .dc.b "fmovem_C___to_anpd",0 -msg_fmovem_C___to_imm: .dc.b "fmovem_C___to_imm",0 -msg_fmovem_C_I_to_dn: .dc.b "fmovem_C_I_to_dn",0 -msg_fmovem_C_I_to_an: .dc.b "fmovem_C_I_to_an",0 -msg_fmovem_C_I_to_anin: .dc.b "fmovem_C_I_to_anin",0 -msg_fmovem_C_I_to_anpi: .dc.b "fmovem_C_I_to_anpi",0 -msg_fmovem_C_I_to_anpd: .dc.b "fmovem_C_I_to_anpd",0 -msg_fmovem_C_I_to_imm: .dc.b "fmovem_C_I_to_imm",0 -msg_fmovem_CS__to_dn: .dc.b "fmovem_CS__to_dn",0 -msg_fmovem_CS__to_an: .dc.b "fmovem_CS__to_an",0 -msg_fmovem_CS__to_anin: .dc.b "fmovem_CS__to_anin",0 -msg_fmovem_CS__to_anpi: .dc.b "fmovem_CS__to_anpi",0 -msg_fmovem_CS__to_anpd: .dc.b "fmovem_CS__to_anpd",0 -msg_fmovem_CS__to_imm: .dc.b "fmovem_CS__to_imm",0 -msg_fmovem_CSI_to_dn: .dc.b "fmovem_CSI_to_dn",0 -msg_fmovem_CSI_to_an: .dc.b "fmovem_CSI_to_an",0 -msg_fmovem_CSI_to_anin: .dc.b "fmovem_CSI_to_anin",0 -msg_fmovem_CSI_to_anpi: .dc.b "fmovem_CSI_to_anpi",0 -msg_fmovem_CSI_to_anpd: .dc.b "fmovem_CSI_to_anpd",0 -msg_fmovem_CSI_to_imm: .dc.b "fmovem_CSI_to_imm",0 +msg_fmovem_dn_to____: .dc.b "fmovem.l d0,nofpc",0 +msg_fmovem_an_to____: .dc.b "fmovem.l a0,nofpc",0 +msg_fmovem_anin_to____: .dc.b "fmovem.l (a0),nofpc",0 +msg_fmovem_anpi_to____: .dc.b "fmovem.l (a0)+,nofpc",0 +msg_fmovem_anpd_to____: .dc.b "fmovem.l -(a0),nofpc",0 +msg_fmovem_imm_to____: .dc.b "fmovem.l #imm,nofpc",0 +msg_fmovem_dn_to___I: .dc.b "fmovem.l d0,fpiar",0 +msg_fmovem_an_to___I: .dc.b "fmovem.l a0,fpiar",0 +msg_fmovem_anin_to___I: .dc.b "fmovem.l (a0),fpiar",0 +msg_fmovem_anpi_to___I: .dc.b "fmovem.l (a0)+,fpiar",0 +msg_fmovem_anpd_to___I: .dc.b "fmovem.l -(a0),fpiar",0 +msg_fmovem_imm_to___I: .dc.b "fmovem.l #imm,fpiar",0 +msg_fmovem_dn_to__S_: .dc.b "fmovem.l d0,fpsr",0 +msg_fmovem_an_to__S_: .dc.b "fmovem.l a0,fpsr",0 +msg_fmovem_anin_to__S_: .dc.b "fmovem.l (a0),fpsr",0 +msg_fmovem_anpi_to__S_: .dc.b "fmovem.l (a0)+,fpsr",0 +msg_fmovem_anpd_to__S_: .dc.b "fmovem.l -(a0),fpsr",0 +msg_fmovem_imm_to__S_: .dc.b "fmovem.l #imm,fpsr",0 +msg_fmovem_dn_to__SI: .dc.b "fmovem.l d0,fpsr/fpiar",0 +msg_fmovem_an_to__SI: .dc.b "fmovem.l a0,fpsr/fpiar",0 +msg_fmovem_anin_to__SI: .dc.b "fmovem.l (a0),fpsr/fpiar",0 +msg_fmovem_anpi_to__SI: .dc.b "fmovem.l (a0)+,fpsr/fpiar",0 +msg_fmovem_anpd_to__SI: .dc.b "fmovem.l -(a0),fpsr/fpiar",0 +msg_fmovem_imm_to__SI: .dc.b "fmovem.l #imm/#imm,fpsr/fpiar",0 +msg_fmovem_dn_to_C__: .dc.b "fmovem.l d0,fpcr",0 +msg_fmovem_an_to_C__: .dc.b "fmovem.l a0,fpcr",0 +msg_fmovem_anin_to_C__: .dc.b "fmovem.l (a0),fpcr",0 +msg_fmovem_anpi_to_C__: .dc.b "fmovem.l (a0)+,fpcr",0 +msg_fmovem_anpd_to_C__: .dc.b "fmovem.l -(a0),fpcr",0 +msg_fmovem_imm_to_C__: .dc.b "fmovem.l #imm,fpcr",0 +msg_fmovem_dn_to_C_I: .dc.b "fmovem.l d0,fpcr/fpiar",0 +msg_fmovem_an_to_C_I: .dc.b "fmovem.l a0,fpcr/fpiar",0 +msg_fmovem_anin_to_C_I: .dc.b "fmovem.l (a0),fpcr/fpiar",0 +msg_fmovem_anpi_to_C_I: .dc.b "fmovem.l (a0)+,fpcr/fpiar",0 +msg_fmovem_anpd_to_C_I: .dc.b "fmovem.l -(a0),fpcr/fpiar",0 +msg_fmovem_imm_to_C_I: .dc.b "fmovem.l #imm/#imm,fpcr/fpiar",0 +msg_fmovem_dn_to_CS_: .dc.b "fmovem.l d0,fpcr/fpsr",0 +msg_fmovem_an_to_CS_: .dc.b "fmovem.l a0,fpcr/fpsr",0 +msg_fmovem_anin_to_CS_: .dc.b "fmovem.l (a0),fpcr/fpsr",0 +msg_fmovem_anpi_to_CS_: .dc.b "fmovem.l (a0)+,fpcr/fpsr",0 +msg_fmovem_anpd_to_CS_: .dc.b "fmovem.l -(a0),fpcr/fpsr",0 +msg_fmovem_imm_to_CS_: .dc.b "fmovem.l #imm/#imm,fpcr/fpsr",0 +msg_fmovem_dn_to_CSI: .dc.b "fmovem.l d0,fpcr/fpsr/fpiar",0 +msg_fmovem_an_to_CSI: .dc.b "fmovem.l a0,fpcr/fpsr/fpiar",0 +msg_fmovem_anin_to_CSI: .dc.b "fmovem.l (a0),fpcr/fpsr/fpiar",0 +msg_fmovem_anpi_to_CSI: .dc.b "fmovem.l (a0)+,fpcr/fpsr/fpiar",0 +msg_fmovem_anpd_to_CSI: .dc.b "fmovem.l -(a0),fpcr/fpsr/fpiar",0 +msg_fmovem_imm_to_CSI: .dc.b "fmovem.l #imm/#imm/#imm,fpcr/fpsr/fpiar",0 +msg_fmovem_____to_dn: .dc.b "fmovem.l nofpc,d0",0 +msg_fmovem_____to_an: .dc.b "fmovem.l nofpc,a0",0 +msg_fmovem_____to_anin: .dc.b "fmovem.l nofpc,(a0)",0 +msg_fmovem_____to_anpi: .dc.b "fmovem.l nofpc,(a0)+",0 +msg_fmovem_____to_anpd: .dc.b "fmovem.l nofpc,-(a0)",0 +msg_fmovem_____to_imm: .dc.b "fmovem.l nofpc,#imm",0 +msg_fmovem___I_to_dn: .dc.b "fmovem.l fpiar,d0",0 +msg_fmovem___I_to_an: .dc.b "fmovem.l fpiar,a0",0 +msg_fmovem___I_to_anin: .dc.b "fmovem.l fpiar,(a0)",0 +msg_fmovem___I_to_anpi: .dc.b "fmovem.l fpiar,(a0)+",0 +msg_fmovem___I_to_anpd: .dc.b "fmovem.l fpiar,-(a0)",0 +msg_fmovem___I_to_imm: .dc.b "fmovem.l fpiar,#imm",0 +msg_fmovem__S__to_dn: .dc.b "fmovem.l fpsr,d0",0 +msg_fmovem__S__to_an: .dc.b "fmovem.l fpsr,a0",0 +msg_fmovem__S__to_anin: .dc.b "fmovem.l fpsr,(a0)",0 +msg_fmovem__S__to_anpi: .dc.b "fmovem.l fpsr,(a0)+",0 +msg_fmovem__S__to_anpd: .dc.b "fmovem.l fpsr,-(a0)",0 +msg_fmovem__S__to_imm: .dc.b "fmovem.l fpsr,#imm",0 +msg_fmovem__SI_to_dn: .dc.b "fmovem.l fpsr/fpiar,d0",0 +msg_fmovem__SI_to_an: .dc.b "fmovem.l fpsr/fpiar,a0",0 +msg_fmovem__SI_to_anin: .dc.b "fmovem.l fpsr/fpiar,(a0)",0 +msg_fmovem__SI_to_anpi: .dc.b "fmovem.l fpsr/fpiar,(a0)+",0 +msg_fmovem__SI_to_anpd: .dc.b "fmovem.l fpsr/fpiar,-(a0)",0 +msg_fmovem__SI_to_imm: .dc.b "fmovem.l fpsr/fpiar,#imm/#imm",0 +msg_fmovem_C___to_dn: .dc.b "fmovem.l fpcr,d0",0 +msg_fmovem_C___to_an: .dc.b "fmovem.l fpcr,a0",0 +msg_fmovem_C___to_anin: .dc.b "fmovem.l fpcr,(a0)",0 +msg_fmovem_C___to_anpi: .dc.b "fmovem.l fpcr,(a0)+",0 +msg_fmovem_C___to_anpd: .dc.b "fmovem.l fpcr,-(a0)",0 +msg_fmovem_C___to_imm: .dc.b "fmovem.l fpcr,#imm",0 +msg_fmovem_C_I_to_dn: .dc.b "fmovem.l fpcr/fpiar,d0",0 +msg_fmovem_C_I_to_an: .dc.b "fmovem.l fpcr/fpiar,a0",0 +msg_fmovem_C_I_to_anin: .dc.b "fmovem.l fpcr/fpiar,(a0)",0 +msg_fmovem_C_I_to_anpi: .dc.b "fmovem.l fpcr/fpiar,(a0)+",0 +msg_fmovem_C_I_to_anpd: .dc.b "fmovem.l fpcr/fpiar,-(a0)",0 +msg_fmovem_C_I_to_imm: .dc.b "fmovem.l fpcr/fpiar,#imm/#imm",0 +msg_fmovem_CS__to_dn: .dc.b "fmovem.l fpcr/fpsr,d0",0 +msg_fmovem_CS__to_an: .dc.b "fmovem.l fpcr/fpsr,a0",0 +msg_fmovem_CS__to_anin: .dc.b "fmovem.l fpcr/fpsr,(a0)",0 +msg_fmovem_CS__to_anpi: .dc.b "fmovem.l fpcr/fpsr,(a0)+",0 +msg_fmovem_CS__to_anpd: .dc.b "fmovem.l fpcr/fpsr,-(a0)",0 +msg_fmovem_CS__to_imm: .dc.b "fmovem.l fpcr/fpsr,#imm/#imm",0 +msg_fmovem_CSI_to_dn: .dc.b "fmovem.l fpcr/fpsr/fpiar,d0",0 +msg_fmovem_CSI_to_an: .dc.b "fmovem.l fpcr/fpsr/fpiar,a0",0 +msg_fmovem_CSI_to_anin: .dc.b "fmovem.l fpcr/fpsr/fpiar,(a0)",0 +msg_fmovem_CSI_to_anpi: .dc.b "fmovem.l fpcr/fpsr/fpiar,(a0)+",0 +msg_fmovem_CSI_to_anpd: .dc.b "fmovem.l fpcr/fpsr/fpiar,-(a0)",0 +msg_fmovem_CSI_to_imm: .dc.b "fmovem.l fpcr/fpsr/fpiar,#imm/#imm/#imm",0 .data .even workarea: .ds.b 24 -buf: .dc.b 20 +buf: .ds.b 20 +is_hard: .ds.b 1 .end start