|
|
nono 1.2.0
;
; nono
; Copyright (C) 2025 nono project
;
; Redistribution and use in source and binary forms, with or without
; modification, are permitted provided that the following conditions
; are met:
; 1. Redistributions of source code must retain the above copyright
; notice, this list of conditions and the following disclaimer.
; 2. Redistributions in binary form must reproduce the above copyright
; notice, this list of conditions and the following disclaimer in the
; documentation and/or other materials provided with the distribution.
;
; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
; OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
; IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
; INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
; BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
; AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
; OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
; SUCH DAMAGE.
; FMOVE.? FPn,<ea> で例外の起きる <ea> を確認する。
; あと不当命令のところで命令を処理してしまわないことを確認する。
; How to compile
; > has fmoveto.has
; > hlk fmoveto.o
.include doscall.mac
.include iocscall.mac
.list
.cpu 68030
PRINT .macro msg
pea.l msg
DOS _PRINT
addq.l #4,sp
.endm
.text
.even
start:
bsr parse_arg
clr.l -(sp)
DOS _SUPER
fmovem.x fp0-fp7,-(sp)
fmovem.l fpcr/fpsr/fpiar,-(sp)
moveq.l #0,d0
fmove.s d0,fp0 ; FP0 = +0.0
fmove.l d0,fpcr ; Init round prec, round mode.
move.l d0,failed ; Init failed count.
@@:
tst.b is_fmove(pc)
beq @f
PRINT msg_head_fmove(pc)
PRINT msg_head_guide7(pc)
bsr test_fmove_d
bsr test_fmove_a
bsr test_fmove_m
bsr test_fmove_mi
bsr test_fmove_md
bsr test_fmove_r
bsr test_fmove_x
bsr test_fmove_p
bsr test_fmove_i
bsr test_fmove_o
@@:
tst.b is_fgen(pc)
beq @f
PRINT msg_head_fgen(pc)
PRINT msg_head_guide7(pc)
bsr test_fgen_d
bsr test_fgen_a
bsr test_fgen_m
bsr test_fgen_mi
bsr test_fgen_md
bsr test_fgen_r
bsr test_fgen_x
bsr test_fgen_p
bsr test_fgen_i
bsr test_fgen_o
@@:
tst.b is_fscale(pc)
beq @f
PRINT msg_head_fscale(pc)
PRINT msg_head_guide7(pc)
bsr test_fscale_d
bsr test_fscale_a
bsr test_fscale_m
bsr test_fscale_mi
bsr test_fscale_md
bsr test_fscale_r
bsr test_fscale_x
bsr test_fscale_p
bsr test_fscale_i
bsr test_fscale_o
@@:
tst.b is_fscc(pc)
beq @f
PRINT msg_head_fscc(pc)
bsr test_fscc_d
bsr test_fscc_m
bsr test_fscc_mi
bsr test_fscc_md
bsr test_fscc_r
bsr test_fscc_x
bsr test_fscc_o
@@:
tst.b is_fmovem_rm(pc)
beq @f
PRINT msg_head_fmovem_rm(pc)
bsr test_fmovem_rm_d
bsr test_fmovem_rm_a
bsr test_fmovem_rm_m
bsr test_fmovem_rm_mi
bsr test_fmovem_rm_md
bsr test_fmovem_rm_r
bsr test_fmovem_rm_x
bsr test_fmovem_rm_p
bsr test_fmovem_rm_i
bsr test_fmovem_rm_o
@@:
tst.b is_fmovem_mr(pc)
beq @f
PRINT msg_head_fmovem_mr(pc)
bsr test_fmovem_mr_d
bsr test_fmovem_mr_a
bsr test_fmovem_mr_m
bsr test_fmovem_mr_mi
bsr test_fmovem_mr_md
bsr test_fmovem_mr_r
bsr test_fmovem_mr_x
bsr test_fmovem_mr_p
bsr test_fmovem_mr_i
bsr test_fmovem_mr_o
@@:
tst.b is_fmovem_cm(pc)
beq @f
PRINT msg_head_fmovem_cm(pc)
PRINT msg_head_guide4(pc)
bsr test_fmovem_cm_d
bsr test_fmovem_cm_a
bsr test_fmovem_cm_m
bsr test_fmovem_cm_mi
bsr test_fmovem_cm_md
bsr test_fmovem_cm_r
bsr test_fmovem_cm_x
bsr test_fmovem_cm_p
bsr test_fmovem_cm_i
bsr test_fmovem_cm_o
@@:
tst.b is_fmovem_mc(pc)
beq @f
PRINT msg_head_fmovem_mc(pc)
PRINT msg_head_guide4(pc)
bsr test_fmovem_mc_d
bsr test_fmovem_mc_a
bsr test_fmovem_mc_m
bsr test_fmovem_mc_mi
bsr test_fmovem_mc_md
bsr test_fmovem_mc_r
bsr test_fmovem_mc_x
bsr test_fmovem_mc_p
bsr test_fmovem_mc_i
bsr test_fmovem_mc_o
@@:
tst.l failed(pc)
beq @f
PRINT msg_failed(pc)
@@:
fmovem.l (sp)+,fpcr/fpsr/fpiar
fmovem.x (sp)+,fp0-fp7
DOS _EXIT
test_fmove_d:
lea.l result(pc),a2
; FMOVE.B FPn,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2067800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2067000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2066000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2066400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,Dn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2067400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,Dn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2066800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,Dn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2066c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_a:
lea.l result(pc),a2
; FMOVE.B FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2087800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2087000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2086000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2086400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2087400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2086800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2086c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_m:
lea.l result(pc),a2
; FMOVE.B FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2107800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2107000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2106000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2106400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2107400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2106800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2106c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_mi:
lea.l result(pc),a2
; FMOVE.B FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2187800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2187000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2186000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2186400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2187400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2186800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2186c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_md:
lea.l result(pc),a2
; FMOVE.B FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2207800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2207000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2206000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2206400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2207400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2206800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2206c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_r:
lea.l result(pc),a2
; FMOVE.B FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2287800
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2287000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2286000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2286400
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2287400
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2286800
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2286c00
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_x:
lea.l result(pc),a2
; FMOVE.B FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2307800
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2307000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2306000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2306400
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2307400
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2306800
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2306c00
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_p:
lea.l result(pc),a2
; FMOVE.B FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a7800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a7000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a6000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a6400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a7400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a6800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23a6c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_i:
lea.l result(pc),a2
; FMOVE.B FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c7800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c7000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c6000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c6400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c7400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c6800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c6c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fmove_o:
lea.l result(pc),a2
; FMOVE.B FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d7800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.W FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d7000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.L FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d6000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.S FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d6400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.D FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d7400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.X FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d6800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVE.P FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d6c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_d:
lea.l result(pc),a2
; Fgen.B Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2065800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2065000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2065400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_a:
lea.l result(pc),a2
; Fgen.B An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2085800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2085000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2085400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_m:
lea.l result(pc),a2
; Fgen.B (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2105800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2105000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2105400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_mi:
lea.l result(pc),a2
; Fgen.B (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2185800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2185000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2185400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_md:
lea.l result(pc),a2
; Fgen.B -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2205800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2205000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2205400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_r:
lea.l result(pc),a2
; Fgen.B d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2285800
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2285000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284400
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2285400
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284800
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284c00
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_x:
lea.l result(pc),a2
; Fgen.B d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2305800
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2305000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304400
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2305400
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304800
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304c00
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_p:
lea.l result(pc),a2
; Fgen.B (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a5800
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a5000
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4000
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4400
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a5400
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4800
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4c00
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_i:
lea.l result(pc),a2
; Fgen.B #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c5800
.dc.w 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c5000
.dc.w 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4000
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4400
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c5400
.dc.l 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4800
.dc.l 0, 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4c00
.dc.l 0, 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fgen_o:
lea.l result(pc),a2
; Fgen.B 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d5800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.W 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d5000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.L 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.S 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.D 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d5400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.X 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; Fgen.P 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_d:
lea.l result(pc),a2
; FSCALE.B Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2065826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2065026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S Dn,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2065426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2064c26
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_a:
lea.l result(pc),a2
; FSCALE.B An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2085826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2085026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2085426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2084c26
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_m:
lea.l result(pc),a2
; FSCALE.B (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2105826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2105026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2105426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P (An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2104c26
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_mi:
lea.l result(pc),a2
; FSCALE.B (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2185826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2185026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2185426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P (An)+,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2184c26
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_md:
lea.l result(pc),a2
; FSCALE.B -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2205826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2205026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2205426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P -(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2204c26
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_r:
lea.l result(pc),a2
; FSCALE.B d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2285826
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2285026
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284026
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284426
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2285426
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284826
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P d16(An),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2284c26
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_x:
lea.l result(pc),a2
; FSCALE.B d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2305826
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2305026
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304026
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304426
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2305426
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304826
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P d8(An,IX),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2304c26
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_p:
lea.l result(pc),a2
; FSCALE.B (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a5826
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a5026
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4026
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4426
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a5426
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4826
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P (PC),FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a4c26
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_i:
lea.l result(pc),a2
; FSCALE.B #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c5826
.dc.w 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c5026
.dc.w 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4026
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4426
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c5426
.dc.l 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4826
.dc.l 0, 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P #imm,FPn
move.b #$04,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c4c26
.dc.l 0, 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscale_o:
lea.l result(pc),a2
; FSCALE.B 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d5826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.W 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d5026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.L 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4026
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.S 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.D 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d5426
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.X 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4826
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FSCALE.P 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d4c26
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #7-1,d0
bsr print_result
rts
test_fscc_d:
lea.l result(pc),a2
; FScc.B Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2460000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fscc_m:
lea.l result(pc),a2
; FScc.B (An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2500000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fscc_mi:
lea.l result(pc),a2
; FScc.B (An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2580000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fscc_md:
lea.l result(pc),a2
; FScc.B -(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f2600000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fscc_r:
lea.l result(pc),a2
; FScc.B d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2680000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fscc_x:
lea.l result(pc),a2
; FScc.B d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f2700000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fscc_o:
lea.l result(pc),a2
; FScc.B 075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f27d0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_d:
lea.l result(pc),a2
; FMOVEM.X FPn,Dn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f206f001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_a:
lea.l result(pc),a2
; FMOVEM.X FPn,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f208f001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_m:
lea.l result(pc),a2
; FMOVEM.X FPn,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f210f001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_mi:
lea.l result(pc),a2
; FMOVEM.X FPn,(An)+
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f218f001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_md:
lea.l result(pc),a2
; FMOVEM.X FPn,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f220e001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_r:
lea.l result(pc),a2
; FMOVEM.X FPn,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f228f001
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_x:
lea.l result(pc),a2
; FMOVEM.X FPn,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f230f001
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_p:
lea.l result(pc),a2
; FMOVEM.X FPn,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23af001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_i:
lea.l result(pc),a2
; FMOVEM.X FPn,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23cf001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_rm_o:
lea.l result(pc),a2
; FMOVEM.X FPn,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23df001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_d:
lea.l result(pc),a2
; FMOVEM.X Dn,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f206d001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_a:
lea.l result(pc),a2
; FMOVEM.X An,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f208d001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_m:
lea.l result(pc),a2
; FMOVEM.X (An),FPn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f210d001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_mi:
lea.l result(pc),a2
; FMOVEM.X (An)+,FPn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f218d001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_md:
lea.l result(pc),a2
; FMOVEM.X -(An),FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f220c001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_r:
lea.l result(pc),a2
; FMOVEM.X d16(An),FPn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f228d001
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_x:
lea.l result(pc),a2
; FMOVEM.X d8(An,IX),FPn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f230d001
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_p:
lea.l result(pc),a2
; FMOVEM.X (PC),FPn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23ad001
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_i:
lea.l result(pc),a2
; FMOVEM.X #imm,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23cd001
.dc.l 0, 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_mr_o:
lea.l result(pc),a2
; FMOVEM.X 075,FPn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23dd001
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #1-1,d0
bsr print_result
rts
test_fmovem_cm_d:
lea.l result(pc),a2
; FMOVEM.L FPCR,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f206b000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f206a800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,Dn
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f206a400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,Dn
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f206ac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_a:
lea.l result(pc),a2
; FMOVEM.L FPCR,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f208b000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f208a800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,An
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f208a400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,An
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f208ac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_m:
lea.l result(pc),a2
; FMOVEM.L FPCR,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f210b000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f210a800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f210a400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f210ac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_mi:
lea.l result(pc),a2
; FMOVEM.L FPCR,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f218b000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f218a800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f218a400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,(An)+
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f218ac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_md:
lea.l result(pc),a2
; FMOVEM.L FPCR,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f220b000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f220a800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f220a400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,-(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
lea.l @f,a3
.dc.l $f220ac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_r:
lea.l result(pc),a2
; FMOVEM.L FPCR,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f228b000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f228a800
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f228a400
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,d16(An)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f228ac00
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_x:
lea.l result(pc),a2
; FMOVEM.L FPCR,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f230b000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f230a800
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f230a400
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,d8(An,IX)
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea(pc),a0
lea.l @f,a3
.dc.l $f230ac00
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_p:
lea.l result(pc),a2
; FMOVEM.L FPCR,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23ab000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23aa800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23aa400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,(PC)
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23aac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_i:
lea.l result(pc),a2
; FMOVEM.L FPCR,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23cb000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23ca800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23ca400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,#imm
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23cac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_cm_o:
lea.l result(pc),a2
; FMOVEM.L FPCR,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23db000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23da800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPIAR,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23da400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L FPSR/FPIAR,075
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23dac00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_d:
lea.l result(pc),a2
; FMOVEM.L Dn,FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2069000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L Dn,FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2068800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L Dn,FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2068400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L Dn,FPSR/FPIAR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d6
lea.l @f,a3
.dc.l $f2068c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_d,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_a:
lea.l result(pc),a2
; FMOVEM.L An,FPCR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2089000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L An,FPSR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2088800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L An,FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2088400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L An,FPSR/FPIAR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f2088c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_a,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_m:
lea.l result(pc),a2
; FMOVEM.L (An),FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2109000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (An),FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2108800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (An),FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2108400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (An),FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2108c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_m,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_mi:
lea.l result(pc),a2
; FMOVEM.L (An)+,FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2189000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (An)+,FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2188800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (An)+,FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2188400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (An)+,FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2188c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_mi,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_md:
lea.l result(pc),a2
; FMOVEM.L -(An),FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2209000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L -(An),FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2208800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L -(An),FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2208400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L -(An),FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea(pc),a0
move.l d7,(a0)+
move.l d7,(a0)+
move.l d7,(a0)+
lea.l @f,a3
.dc.l $f2208c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_md,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_r:
lea.l result(pc),a2
; FMOVEM.L d16(An),FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2289000
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L d16(An),FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2288800
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L d16(An),FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2288400
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L d16(An),FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2288c00
.dc.w $0000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_r,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_x:
lea.l result(pc),a2
; FMOVEM.L d8(An,IX),FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2309000
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L d8(An,IX),FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2308800
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L d8(An,IX),FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2308400
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L d8(An,IX),FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
moveq.l #0,d4
lea.l workarea+12(pc),a0
move.l d7,-(a0)
move.l d7,-(a0)
move.l d7,-(a0)
lea.l @f,a3
.dc.l $f2308c00
.dc.w $4000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_x,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_p:
lea.l result(pc),a2
; FMOVEM.L (PC),FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a9000
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (PC),FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a8800
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (PC),FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a8400
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L (PC),FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
bra @f
.dc.l 0, 0, 0
@@:
lea.l @f,a3
.dc.l $f23a8c00
.dc.w -4-6-12
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_p,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_i:
lea.l result(pc),a2
; FMOVEM.L #imm,FPCR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c9000
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L #imm,FPSR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c8800
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L #imm,FPIAR
move.b #$0b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c8400
.dc.l 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L #imm,FPSR/FPIAR
move.b #$00,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23c8c00
.dc.l 0, 0
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_i,a0
moveq.l #4-1,d0
bsr print_result
rts
test_fmovem_mc_o:
lea.l result(pc),a2
; FMOVEM.L 075,FPCR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d9000
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L 075,FPSR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d8800
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L 075,FPIAR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d8400
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
; FMOVEM.L 075,FPSR/FPIAR
move.b #$1b,(a2)+
fmovem.l #$0b000000,fpsr
bsr set_fline
moveq.l #0,d7
lea.l @f,a3
.dc.l $f23d8c00
@@:
bsr restore_fline
fmovem.l fpsr,d0
rol.l #8,d0
or.l d7,d0
move.b d0,(a2)+
lea.l msg_test_o,a0
moveq.l #4-1,d0
bsr print_result
rts
; 引数を処理する。
; 引数がなければヘルプを表示。
; 引数... があれば列挙されたテストを実行。
; "all" ならすべて実行。
parse_arg:
movem.l d0-d2/a0,-(sp)
tst.b (a2)
beq parse_done
parse_loop:
adda.l #1,a2
move.b (a2),d0 ; '\0' なら終了
beq parse_done
cmpi.b #' ',d0
beq parse_loop
cmpi.b #$09,d0
beq parse_loop
; "help"
lea.l cmd_help(pc),a0
bsr match
beq print_help
; "all"
lea.l cmd_all(pc),a0
bsr match
bne @f
st.b is_fmove
st.b is_fgen
st.b is_fscale
st.b is_fscc
st.b is_fmovem_rm
st.b is_fmovem_mr
st.b is_fmovem_cm
st.b is_fmovem_mc
; 後は無視していいだろう。
bra parse_done
@@:
; "fmove"
lea.l cmd_fmove(pc),a0
bsr match
bne @f
st.b is_fmove
bra parse_loop
@@:
; "fgen"
lea.l cmd_fgen(pc),a0
bsr match
bne @f
st.b is_fgen
bra parse_loop
@@:
; "fscale"
lea.l cmd_fscale(pc),a0
bsr match
bne @f
st.b is_fscale
bra parse_loop
@@:
; "fscc"
lea.l cmd_fscc(pc),a0
bsr match
bne @f
st.b is_fscc
bra parse_loop
@@:
; "fmovem_rm"
lea.l cmd_fmovem_rm(pc),a0
bsr match
bne @f
st.b is_fmovem_rm
bra parse_loop
@@:
; "fmovem_mr"
lea.l cmd_fmovem_mr(pc),a0
bsr match
bne @f
st.b is_fmovem_mr
bra parse_loop
@@:
; "fmovem_cm"
lea.l cmd_fmovem_cm(pc),a0
bsr match
bne @f
st.b is_fmovem_cm
bra parse_loop
@@:
; "fmovem_mc"
lea.l cmd_fmovem_mc(pc),a0
bsr match
bne @f
st.b is_fmovem_mc
bra parse_loop
@@:
parse_done:
; どのコマンドも実行になってなければヘルプを表示。
moveq.l #0,d0
lea.l is_tests(pc),a0
moveq.l #8-1,d1
@@:
or.b (a0)+,d0
dbra d1,@b
beq print_help
movem.l (sp)+,d0-d2/a0
rts
; ヘルプを表示して終了。
print_help:
PRINT msg_help(pc)
DOS _EXIT
; (a2) からの単語が (a0) からのゼロ終端文字列と一致するか。
; 一致すれば d0 = 0 を返して (a2) は単語の最後の1文字を指すようにする。
; 一致しなければ d0 != 0 を返して (a2) は元の位置のまま。
match:
movem.l a1,-(sp)
movea.l a2,a1 ; 戻り値用
match_loop:
move.b (a2)+,d0
cmpi.b #' ',d0 ; d0 が ' ' なら '\0' に
bne @f
moveq.l #0,d0
bra match_main
@@:
cmpi.b #$09,d0 ; d0 が TAB なら '\0' に
bne match_main
moveq.l #0,d0
match_main:
; この状態で比較
cmp.b (a0)+,d0
bne not_match
; '\0' 以外で一致したら次の文字へ。
tst.b d0
bne match_loop
; '\0' で一致したので完了。
suba.l #1,a2
moveq.l #0,d0
movem.l (sp)+,a1
rts
not_match:
; 不一致なので a2 を元に戻す。
movea.l a1,a2
moveq.l #1,d0
movem.l (sp)+,a1
rts
; 結果を1行表示する。
; A0 にテスト名、D0 に(テスト数-1)を入れて呼ぶこと。
;
; A2 からの result バッファは 2バイト1組で、
; +0 バイト目が期待値、bit4 がトラップの有無、bit3-0 が ConditionByte。
; +1 バイト目が結果値、構造は同じ。
;
; 期待値 結果
; (0<<4)|(x) (0<<4)|(x) pass:OK
; (0<<4)|(x) (0<<4)|(y) flag:FAIL
; (0<<4)|(x) (1<<4)|(x) trap:FAIL
; (0<<4)|(x) (1<<4)|(y) trap:FAIL
; (1<<4)|(x) (0<<4)|(x) pass:FAIL
; (1<<4)|(x) (0<<4)|(y) pass:FAIL
; (1<<4)|(x) (1<<4)|(x) trap:OK
; (1<<4)|(x) (1<<4)|(y) flag:FAIL
print_result:
movem.l d0-d4/a2,-(sp)
move.l d0,d4
PRINT (a0)
lea.l result(pc),a2
moveq.l #0,d0
moveq.l #0,d1
prloop:
move.b (a2)+,d0 ; 期待値
move.b (a2)+,d1 ; 結果
; 先に failed のカウント
cmp.b d1,d0
beq @f
addi.l #1,failed
@@:
bfextu d0{#27:#1},d2 ; 期待値のトラップビット
bfextu d1{#27:#1},d3 ; 結果のトラップビット
andi.b #$0f,d0
andi.b #$0f,d1
cmp.b d1,d0
sne.b d0
neg.b d0 ; d0 は一致なら $0、そうでなければ $1
lsl.l #1,d3 ; d3 は結果がトラップなら $2、通過なら $0
or.b d3,d0
lsl.l #2,d2 ; d2 は期待値がトラップなら $4、通過なら $0
or.b d2,d0
add.b d0,d0 ; d0 *= 2
PRINT msg_result(pc,d0.w*8)
dbra d4,prloop
PRINT msg_crlf(pc)
movem.l (sp)+,d0-d4/a2
rts
; Fライン例外をテスト用のものに差し替える。
; 変更前のアドレスを a4 に格納する。
set_fline:
movem.l d0-d1/a1,-(sp)
moveq.l #$b,d1
lea.l fline_handler(pc),a1
IOCS _B_INTVCS
movea.l d0,a4
movem.l (sp)+,d0-d1/a1
rts
; Fライン例外を元に戻す。
restore_fline:
movem.l d0-d1/a1,-(sp)
moveq.l #$b,d1
movea.l a4,a1
IOCS _B_INTVCS
movem.l (sp)+,d0-d1/a1
rts
; Fライン例外ハンドラ
; a3 に戻りアドレスをセットしてあること
; d7 を $10 にして帰る
fline_handler:
moveq.l #$10,d7
move.l a3,2(sp)
rte
msg_test_d: .dc.b " Dn ",0
msg_test_a: .dc.b " An ",0
msg_test_m: .dc.b " (An) ",0
msg_test_mi: .dc.b " (An)+ ",0
msg_test_md: .dc.b " -(An) ",0
msg_test_r: .dc.b " d16(An) ",0
msg_test_x: .dc.b " d8(An,IX)",0
msg_test_p: .dc.b " (PC) ",0
msg_test_i: .dc.b " #imm ",0
msg_test_o: .dc.b " 075 ",0
msg_head_fmove:
.dc.b "FMOVEtomem ",0
msg_head_fgen:
.dc.b "Fgen ",0
msg_head_fscale:
.dc.b "FSCALE ",0
msg_head_fmovem_cm:
.dc.b "FMOVEM_cm ",0
msg_head_fmovem_mc:
.dc.b "FMOVEM_mc ",0
msg_head_fscc:
.dc.b "FScc .B",$d,$a,0
msg_head_fmovem_rm:
.dc.b "FMOVEM_rm .X",$d,$a,0
msg_head_fmovem_mr:
.dc.b "FMOVEM_mr .X",$d,$a,0
msg_head_guide4:
.dc.b "FPCR "
.dc.b "FPSR "
.dc.b "FPIAR "
.dc.b "FPSR/FPIAR",$d,$a,0
msg_head_guide7:
.dc.b ".B "
.dc.b ".W "
.dc.b ".L "
.dc.b ".S "
.dc.b ".D "
.dc.b ".X "
.dc.b ".P",$d,$a,0
msg_result:
.dc.b " pass:OK ",0,0,0,0,0,0
.dc.b " flag:FAIL",0,0,0,0,0,0
.dc.b " trap:FAIL",0,0,0,0,0,0
.dc.b " trap:FAIL",0,0,0,0,0,0
.dc.b " pass:FAIL",0,0,0,0,0,0
.dc.b " pass:FAIL",0,0,0,0,0,0
.dc.b " trap:OK ",0,0,0,0,0,0
.dc.b " flag:FAIL",0
msg_failed:
.dc.b "FAILED" ; ,$d,$a,0
msg_crlf:
.dc.b $d,$a,0
msg_help:
.dc.b "usage: { 'all' | 'help' | testnames... }",$d,$a
.dc.b " testnames:"
.dc.b " fmove"
.dc.b " fgen"
.dc.b " fscale"
.dc.b " fscc"
.dc.b " fmovem_rm"
.dc.b " fmovem_mr"
.dc.b " fmovem_cm"
.dc.b " fmovem_mc"
.dc.b $d,$a,0
cmd_help:
.dc.b "help",0
cmd_all:
.dc.b "all",0
cmd_fmove:
.dc.b "fmove",0
cmd_fgen:
.dc.b "fgen",0
cmd_fscale:
.dc.b "fscale",0
cmd_fscc:
.dc.b "fscc",0
cmd_fmovem_rm:
.dc.b "fmovem_rm",0
cmd_fmovem_mr:
.dc.b "fmovem_mr",0
cmd_fmovem_cm:
.dc.b "fmovem_cm",0
cmd_fmovem_mc:
.dc.b "fmovem_mc",0
.bss
.even
result:
.ds.w 7
.align 4
workarea:
.ds.l 3
failed:
.ds.l 1
; テストを実行する場合は !0
is_tests:
is_fmove:
.ds.b 1
is_fgen:
.ds.b 1
is_fscale:
.ds.b 1
is_fscc:
.ds.b 1
is_fmovem_rm:
.ds.b 1
is_fmovem_mr:
.ds.b 1
is_fmovem_cm:
.ds.b 1
is_fmovem_mc:
.ds.b 1
.end start
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.