blob: beca47e7d514891ed31bee07c649d4a6e79d8eec [file] [log] [blame]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
M68000 Hi-Performance Microprocessor Division
M68060 Software Package
Production Release P1.00 -- October 10, 1994
M68060 Software Package Copyright © 1993, 1994 Motorola Inc. All rights reserved.
THE SOFTWARE is provided on an "AS IS" basis and without warranty.
To the maximum extent permitted by applicable law,
MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
and any warranty against infringement with regard to the SOFTWARE
(INCLUDING ANY MODIFIED VERSIONS THEREOF) and any accompanying written materials.
To the maximum extent permitted by applicable law,
IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
(INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS)
ARISING OF THE USE OR INABILITY TO USE THE SOFTWARE.
Motorola assumes no responsibility for the maintenance and support of the SOFTWARE.
You are hereby granted a copyright license to use, modify, and distribute the SOFTWARE
so long as this entire notice is retained without alteration in any modified and/or
redistributed versions, and that such modified versions are clearly identified as such.
No licenses are granted by implication, estoppel or otherwise under any patents
or trademarks of Motorola, Inc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#############################################
set SREGS, -64
set IREGS, -128
set SCCR, -130
set ICCR, -132
set TESTCTR, -136
set EAMEM, -140
set EASTORE, -144
set DATA, -160
#############################################
TESTTOP:
bra.l _060TESTS_
start_str:
string "Testing 68060 ISP started:\n"
pass_str:
string "passed\n"
fail_str:
string " failed\n"
align 0x4
chk_test:
tst.l %d0
bne.b test_fail
test_pass:
pea pass_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
rts
test_fail:
mov.l %d1,-(%sp)
bsr.l _print_num
addq.l &0x4,%sp
pea fail_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
rts
#############################################
_060TESTS_:
link %a6,&-160
movm.l &0x3f3c,-(%sp)
pea start_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
### mul
clr.l TESTCTR(%a6)
pea mulul_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
bsr.l mulul_0
bsr.l chk_test
### div
clr.l TESTCTR(%a6)
pea divul_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
bsr.l divul_0
bsr.l chk_test
### cmp2
clr.l TESTCTR(%a6)
pea cmp2_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
bsr.l cmp2_1
bsr.l chk_test
### movp
clr.l TESTCTR(%a6)
pea movp_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
bsr.l movp_0
bsr.l chk_test
### ea
clr.l TESTCTR(%a6)
pea ea_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
mov.l &0x2,EAMEM(%a6)
bsr.l ea_0
bsr.l chk_test
### cas
clr.l TESTCTR(%a6)
pea cas_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
bsr.l cas0
bsr.l chk_test
### cas2
clr.l TESTCTR(%a6)
pea cas2_str(%pc)
bsr.l _print_str
addq.l &0x4,%sp
bsr.l cas20
bsr.l chk_test
###
movm.l (%sp)+,&0x3cfc
unlk %a6
rts
#############################################
#############################################
mulul_str:
string "\t64-bit multiply..."
align 0x4
mulul_0:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d1
mov.l &0x99999999,%d2
mov.l &0x88888888,%d3
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
mulu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
clr.l IREGS+0x8(%a6)
clr.l IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_1:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x77777777,%d1
mov.l &0x99999999,%d2
mov.l &0x00000000,%d3
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
mulu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
clr.l IREGS+0x8(%a6)
clr.l IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_2:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x00000010,%d1
mov.l &0x66666666,%d2
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
mulu.l %d1,%d2:%d2
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x00000006,IREGS+0x8(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_3:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x55555555,%d1
mov.l &0x00000000,%d2
mov.l &0x00000003,%d3
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
mulu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x00000000,IREGS+0x8(%a6)
mov.l &0xffffffff,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_4:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x40000000,%d1
mov.l &0x00000000,%d2
mov.l &0x00000004,%d3
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
mulu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x00000001,IREGS+0x8(%a6)
mov.l &0x00000000,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_5:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xffffffff,%d1
mov.l &0x00000000,%d2
mov.l &0xffffffff,%d3
mov.w &0x0008,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
mulu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xfffffffe,IREGS+0x8(%a6)
mov.l &0x00000001,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_6:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x80000000,%d1
mov.l &0x00000000,%d2
mov.l &0xffffffff,%d3
mov.w &0x00000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
muls.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x00000000,IREGS+0x8(%a6)
mov.l &0x80000000,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_7:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x80000000,%d1
mov.l &0x00000000,%d2
mov.l &0x00000001,%d3
mov.w &0x0008,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
muls.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xffffffff,IREGS+0x8(%a6)
mov.l &0x80000000,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mulul_8:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x00000001,%d1
mov.l &0x00000000,%d2
mov.l &0x80000000,%d3
mov.w &0x0008,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
muls.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xffffffff,IREGS+0x8(%a6)
mov.l &0x80000000,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mov.l TESTCTR(%a6),%d1
clr.l %d0
rts
#############################################
movp_str:
string "\tmovep..."
align 0x4
###############################
# movep.w %d0,(0x0,%a0) #
###############################
movp_0:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.w &0xaaaa,%d0
clr.b 0x0(%a0)
clr.b 0x2(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d0,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x2(%a0),%d1
lsl.w &0x8,%d1
mov.b 0x0(%a0),%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w %d0,(0x0,%a0) #
###############################
movp_1:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x4(%a6),%a0
mov.w &0xaaaa,%d0
clr.l -0x4(%a0)
clr.l (%a0)
clr.l 0x4(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d0,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
tst.l -0x4(%a0)
bne.l error
tst.l 0x4(%a0)
bne.l error
cmpi.l (%a0),&0xaa00aa00
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
#####################################################
# movep.w %d0,(0x0,%a0) #
# - this test has %cc initially equal to zero #
#####################################################
movp_2:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.w &0xaaaa,%d0
clr.b 0x0(%a0)
clr.b 0x2(%a0)
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d0,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x2(%a0),%d1
lsl.w &0x8,%d1
mov.b 0x0(%a0),%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w (0x0,%a0),%d0 #
###############################
movp_3:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.b &0xaa,0x0(%a0)
mov.b &0xaa,0x2(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w (0x0,%a0),%d0
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.w &0xaaaa,IREGS+0x2(%a6)
mov.w &0xaaaa,%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.l %d0,(0x0,%a0) #
###############################
movp_4:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.l &0xaaaaaaaa,%d0
clr.b 0x0(%a0)
clr.b 0x2(%a0)
clr.b 0x4(%a0)
clr.b 0x6(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l %d0,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x6(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x4(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x2(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x0(%a0),%d1
cmp.l %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.l %d0,(0x0,%a0) #
###############################
movp_5:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x4(%a6),%a0
mov.l &0xaaaaaaaa,%d0
clr.l -0x4(%a0)
clr.l (%a0)
clr.l 0x4(%a0)
clr.l 0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l %d0,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
tst.l -0x4(%a0)
bne.l error
tst.l 0x8(%a0)
bne.l error
cmpi.l (%a0),&0xaa00aa00
bne.l error
cmpi.l 0x4(%a0),&0xaa00aa00
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.l (0x0,%a0),%d0 #
###############################
movp_6:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.b &0xaa,0x0(%a0)
mov.b &0xaa,0x2(%a0)
mov.b &0xaa,0x4(%a0)
mov.b &0xaa,0x6(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l (0x0,%a0),%d0
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xaaaaaaaa,IREGS(%a6)
mov.l &0xaaaaaaaa,%d1
cmp.l %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w %d7,(0x0,%a0) #
###############################
movp_7:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.w &0xaaaa,%d7
clr.b 0x0(%a0)
clr.b 0x2(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d7,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x2(%a0),%d1
lsl.w &0x8,%d1
mov.b 0x0(%a0),%d1
cmp.w %d7,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w (0x0,%a0),%d7 #
###############################
movp_8:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.b &0xaa,0x0(%a0)
mov.b &0xaa,0x2(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w (0x0,%a0),%d7
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.w &0xaaaa,IREGS+30(%a6)
mov.w &0xaaaa,%d1
cmp.w %d7,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w %d0,(0x0,%a0) #
###############################
movp_9:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.w &0xaaaa,%d0
clr.b 0x0(%a0)
clr.b 0x2(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d0,(0x0,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x2(%a0),%d1
lsl.w &0x8,%d1
mov.b 0x0(%a0),%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w %d0,(0x8,%a0) #
###############################
movp_10:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.w &0xaaaa,%d0
clr.b 0x0+0x8(%a0)
clr.b 0x2+0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d0,(0x8,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x2+0x8(%a0),%d1
lsl.w &0x8,%d1
mov.b 0x0+0x8(%a0),%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.w (0x8,%a0),%d0 #
###############################
movp_11:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.b &0xaa,0x0+0x8(%a0)
mov.b &0xaa,0x2+0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w (0x8,%a0),%d0
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.w &0xaaaa,IREGS+0x2(%a6)
mov.w &0xaaaa,%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.l %d0,(0x8,%a0) #
###############################
movp_12:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.l &0xaaaaaaaa,%d0
clr.b 0x0+0x8(%a0)
clr.b 0x2+0x8(%a0)
clr.b 0x4+0x8(%a0)
clr.b 0x6+0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l %d0,(0x8,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x6+0x8(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x4+0x8(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x2+0x8(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x0+0x8(%a0),%d1
cmp.l %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
###############################
# movep.l (0x8,%a0),%d0 #
###############################
movp_13:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA(%a6),%a0
mov.b &0xaa,0x0+0x8(%a0)
mov.b &0xaa,0x2+0x8(%a0)
mov.b &0xaa,0x4+0x8(%a0)
mov.b &0xaa,0x6+0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l (0x8,%a0),%d0
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xaaaaaaaa,IREGS(%a6)
mov.l &0xaaaaaaaa,%d1
cmp.l %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
################################
# movep.w %d0,(-0x8,%a0) #
################################
movp_14:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x8(%a6),%a0
mov.w &0xaaaa,%d0
clr.b 0x0-0x8(%a0)
clr.b 0x2-0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w %d0,(-0x8,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x2-0x8(%a0),%d1
lsl.w &0x8,%d1
mov.b 0x0-0x8(%a0),%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
################################
# movep.w (-0x8,%a0),%d0 #
################################
movp_15:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x8(%a6),%a0
mov.b &0xaa,0x0-0x8(%a0)
mov.b &0xaa,0x2-0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.w (-0x8,%a0),%d0
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.w &0xaaaa,IREGS+0x2(%a6)
mov.w &0xaaaa,%d1
cmp.w %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
################################
# movep.l %d0,(-0x8,%a0) #
################################
movp_16:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x8(%a6),%a0
mov.l &0xaaaaaaaa,%d0
clr.b 0x0-0x8(%a0)
clr.b 0x2-0x8(%a0)
clr.b 0x4-0x8(%a0)
clr.b 0x8-0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l %d0,(-0x8,%a0)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.b 0x6-0x8(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x4-0x8(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x2-0x8(%a0),%d1
lsl.l &0x8,%d1
mov.b 0x0-0x8(%a0),%d1
cmp.l %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
################################
# movep.l (-0x8,%a0),%d0 #
################################
movp_17:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x8(%a6),%a0
mov.b &0xaa,0x0-0x8(%a0)
mov.b &0xaa,0x2-0x8(%a0)
mov.b &0xaa,0x4-0x8(%a0)
mov.b &0xaa,0x8-0x8(%a0)
mov.w &0x001f,ICCR(%a6)
mov.w &0x1f,%cc
movm.l &0x7fff,IREGS(%a6)
movp.l (-0x8,%a0),%d0
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xaaaaaaaa,IREGS(%a6)
mov.l &0xaaaaaaaa,%d1
cmp.l %d0,%d1
bne.l error
bsr.l chkregs
tst.b %d0
bne.l error
mov.l TESTCTR(%a6),%d1
clr.l %d0
rts
###########################################################
divul_str:
string "\t64-bit divide..."
align 0x4
divul_0:
addq.l &0x1,TESTCTR(%a6)
# movm.l DEF_REGS(%pc),&0x3fff
# clr.l %d1
# mov.l &0x99999999,%d2
# mov.l &0x88888888,%d3
# mov.w &0x001e,ICCR(%a6)
# mov.w &0x001f,%cc
# movm.l &0x7fff,IREGS(%a6)
# divu.l %d1,%d2:%d3
# mov.w %cc,SCCR(%a6)
# movm.l &0x7fff,SREGS(%a6)
# bsr.l chkregs
# tst.b %d0
# bne.l error
divul_1:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x00000001,%d1
mov.l &0x00000000,%d2
mov.l &0x00000000,%d3
mov.w &0x0014,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_2:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x44444444,%d1
mov.l &0x00000000,%d2
mov.l &0x55555555,%d3
mov.w &0x0010,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x11111111,IREGS+0x8(%a6)
mov.l &0x00000001,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_3:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x55555555,%d1
mov.l &0x00000000,%d2
mov.l &0x44444444,%d3
mov.w &0x0014,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x44444444,IREGS+0x8(%a6)
mov.l &0x00000000,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_4:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x11111111,%d1
mov.l &0x44444444,%d2
mov.l &0x44444444,%d3
mov.w &0x001e,ICCR(%a6)
mov.w &0x001d,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_5:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xfffffffe,%d1
mov.l &0x00000001,%d2
mov.l &0x00000002,%d3
mov.w &0x001e,ICCR(%a6)
mov.w &0x001d,%cc
movm.l &0x7fff,IREGS(%a6)
divs.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_6:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xfffffffe,%d1
mov.l &0x00000001,%d2
mov.l &0x00000000,%d3
mov.w &0x0018,ICCR(%a6)
mov.w &0x001d,%cc
movm.l &0x7fff,IREGS(%a6)
divs.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x00000000,IREGS+0x8(%a6)
mov.l &0x80000000,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_7:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x00000002,%d1
mov.l &0x00000001,%d2
mov.l &0x00000000,%d3
mov.w &0x001e,ICCR(%a6)
mov.w &0x001d,%cc
movm.l &0x7fff,IREGS(%a6)
divs.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_8:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xffffffff,%d1
mov.l &0xfffffffe,%d2
mov.l &0xffffffff,%d3
mov.w &0x0008,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_9:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xffffffff,%d1
mov.l &0xfffffffe,%d2
mov.l &0xffffffff,%d3
mov.w &0x0008,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l &0xffffffff,%d2:%d2
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0xffffffff,IREGS+0x8(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
divul_10:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x0000ffff,%d1
mov.l &0x00000001,%d2
mov.l &0x55555555,%d3
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
divu.l %d1,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
mov.l &0x0000aaab,IREGS+0x8(%a6)
mov.l &0x00015556,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mov.l TESTCTR(%a6),%d1
clr.l %d0
rts
###########################################################
cas_str:
string "\tcas..."
align 0x4
cas0:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
mov.w &0xaaaa,(%a0)
mov.w &0xaaaa,%d1
mov.w &0xbbbb,%d2
mov.w &0x0014,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas.w %d1,%d2,(%a0) # Dc,Du,<ea>
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d3
mov.w &0xbbbb,IREGS+0xc+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas1:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
mov.w &0xeeee,(%a0)
mov.w &0x0000aaaa,%d1
mov.w &0x0000bbbb,%d2
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas.w %d1,%d2,(%a0) # Dc,Du,<ea>
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d3
mov.w &0xeeee,IREGS+0x4+0x2(%a6)
mov.w &0xeeee,IREGS+0xc+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas2:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x2(%a6),%a0
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas.l %d1,%d2,(%a0) # Dc,Du,<ea>
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d3
mov.l &0xbbbbbbbb,IREGS+0xc(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas3:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x2(%a6),%a0
mov.l &0xeeeeeeee,(%a0)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas.l %d1,%d2,(%a0) # Dc,Du,<ea>
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d3
mov.l &0xeeeeeeee,IREGS+0x4(%a6)
mov.l &0xeeeeeeee,IREGS+0xc(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas4:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas.l %d1,%d2,(%a0) # Dc,Du,<ea>
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d3
mov.l &0xbbbbbbbb,IREGS+0xc(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas5:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
mov.l &0x7fffffff,(%a0)
mov.l &0x80000000,%d1
mov.l &0xbbbbbbbb,%d2
mov.w &0x001b,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas.l %d1,%d2,(%a0) # Dc,Du,<ea>
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d3
mov.l &0x7fffffff,IREGS+0x4(%a6)
mov.l &0x7fffffff,IREGS+0xc(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mov.l TESTCTR(%a6),%d1
clr.l %d0
rts
###########################################################
cas2_str:
string "\tcas2..."
align 0x4
cas20:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x0(%a6),%a0
lea DATA+0x4(%a6),%a1
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xbbbbbbbb,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0014,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xcccccccc,IREGS+0x14(%a6)
mov.l &0xdddddddd,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas21:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
lea DATA+0x5(%a6),%a1
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xbbbbbbbb,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0014,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xcccccccc,IREGS+0x14(%a6)
mov.l &0xdddddddd,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas22:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x2(%a6),%a0
lea DATA+0x6(%a6),%a1
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xbbbbbbbb,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0014,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xcccccccc,IREGS+0x14(%a6)
mov.l &0xdddddddd,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas23:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x0(%a6),%a0
lea DATA+0x4(%a6),%a1
mov.l &0xeeeeeeee,(%a0)
mov.l &0xbbbbbbbb,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xeeeeeeee,IREGS+0x4(%a6)
mov.l &0xbbbbbbbb,IREGS+0x8(%a6)
mov.l &0xeeeeeeee,IREGS+0x14(%a6)
mov.l &0xbbbbbbbb,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas24:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
lea DATA+0x5(%a6),%a1
mov.l &0xeeeeeeee,(%a0)
mov.l &0xbbbbbbbb,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xeeeeeeee,IREGS+0x4(%a6)
mov.l &0xbbbbbbbb,IREGS+0x8(%a6)
mov.l &0xeeeeeeee,IREGS+0x14(%a6)
mov.l &0xbbbbbbbb,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas25:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x2(%a6),%a0
lea DATA+0x6(%a6),%a1
mov.l &0xeeeeeeee,(%a0)
mov.l &0xbbbbbbbb,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xeeeeeeee,IREGS+0x4(%a6)
mov.l &0xbbbbbbbb,IREGS+0x8(%a6)
mov.l &0xeeeeeeee,IREGS+0x14(%a6)
mov.l &0xbbbbbbbb,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas26:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x0(%a6),%a0
lea DATA+0x4(%a6),%a1
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xeeeeeeee,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xaaaaaaaa,IREGS+0x4(%a6)
mov.l &0xeeeeeeee,IREGS+0x8(%a6)
mov.l &0xaaaaaaaa,IREGS+0x14(%a6)
mov.l &0xeeeeeeee,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas27:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
lea DATA+0x5(%a6),%a1
mov.l &0xaaaaaaaa,(%a0)
mov.l &0xeeeeeeee,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0xbbbbbbbb,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xaaaaaaaa,IREGS+0x4(%a6)
mov.l &0xeeeeeeee,IREGS+0x8(%a6)
mov.l &0xaaaaaaaa,IREGS+0x14(%a6)
mov.l &0xeeeeeeee,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas28:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x2(%a6),%a0
lea DATA+0x6(%a6),%a1
mov.l &0xaaaaaaaa,(%a0)
mov.l &0x7fffffff,(%a1)
mov.l &0xaaaaaaaa,%d1
mov.l &0x80000000,%d2
mov.l &0xcccccccc,%d3
mov.l &0xdddddddd,%d4
mov.w &0x000b,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.l %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.l (%a0),%d5
mov.l (%a1),%d6
mov.l &0xaaaaaaaa,IREGS+0x4(%a6)
mov.l &0x7fffffff,IREGS+0x8(%a6)
mov.l &0xaaaaaaaa,IREGS+0x14(%a6)
mov.l &0x7fffffff,IREGS+0x18(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
##################################
cas29:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x0(%a6),%a0
lea DATA+0x4(%a6),%a1
mov.w &0xaaaa,(%a0)
mov.w &0xbbbb,(%a1)
mov.w &0xaaaa,%d1
mov.w &0xbbbb,%d2
mov.w &0xcccc,%d3
mov.w &0xdddd,%d4
mov.w &0x0014,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.w %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d5
mov.w (%a1),%d6
mov.w &0xcccc,IREGS+0x14+0x2(%a6)
mov.w &0xdddd,IREGS+0x18+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas210:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
lea DATA+0x5(%a6),%a1
mov.w &0xaaaa,(%a0)
mov.w &0xbbbb,(%a1)
mov.w &0xaaaa,%d1
mov.w &0xbbbb,%d2
mov.w &0xcccc,%d3
mov.w &0xdddd,%d4
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.w %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d5
mov.w (%a1),%d6
mov.w &0xcccc,IREGS+0x14+0x2(%a6)
mov.w &0xdddd,IREGS+0x18+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas211:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x0(%a6),%a0
lea DATA+0x4(%a6),%a1
mov.w &0xeeee,(%a0)
mov.w &0xbbbb,(%a1)
mov.w &0xaaaa,%d1
mov.w &0xbbbb,%d2
mov.w &0xcccc,%d3
mov.w &0xdddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.w %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d5
mov.w (%a1),%d6
mov.w &0xeeee,IREGS+0x4+0x2(%a6)
mov.w &0xbbbb,IREGS+0x8+0x2(%a6)
mov.w &0xeeee,IREGS+0x14+0x2(%a6)
mov.w &0xbbbb,IREGS+0x18+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas212:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
lea DATA+0x5(%a6),%a1
mov.w &0xeeee,(%a0)
mov.w &0xbbbb,(%a1)
mov.w &0xaaaa,%d1
mov.w &0xbbbb,%d2
mov.w &0xcccc,%d3
mov.w &0xdddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.w %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d5
mov.w (%a1),%d6
mov.w &0xeeee,IREGS+0x4+0x2(%a6)
mov.w &0xbbbb,IREGS+0x8+0x2(%a6)
mov.w &0xeeee,IREGS+0x14+0x2(%a6)
mov.w &0xbbbb,IREGS+0x18+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas213:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x0(%a6),%a0
lea DATA+0x4(%a6),%a1
mov.w &0xaaaa,(%a0)
mov.w &0xeeee,(%a1)
mov.w &0xaaaa,%d1
mov.w &0xbbbb,%d2
mov.w &0xcccc,%d3
mov.w &0xdddd,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.w %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d5
mov.w (%a1),%d6
mov.w &0xaaaa,IREGS+0x4+0x2(%a6)
mov.w &0xeeee,IREGS+0x8+0x2(%a6)
mov.w &0xaaaa,IREGS+0x14+0x2(%a6)
mov.w &0xeeee,IREGS+0x18+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cas214:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
lea DATA+0x1(%a6),%a0
lea DATA+0x5(%a6),%a1
mov.w &0xaaaa,(%a0)
mov.w &0x7fff,(%a1)
mov.w &0xaaaa,%d1
mov.w &0x8000,%d2
mov.w &0xcccc,%d3
mov.w &0xdddd,%d4
mov.w &0x001b,ICCR(%a6)
mov.w &0x0010,%cc
movm.l &0x7fff,IREGS(%a6)
cas2.w %d1:%d2,%d3:%d4,(%a0):(%a1) # Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)
mov.w %cc,SCCR(%a6)
mov.w (%a0),%d5
mov.w (%a1),%d6
mov.w &0xaaaa,IREGS+0x4+0x2(%a6)
mov.w &0x7fff,IREGS+0x8+0x2(%a6)
mov.w &0xaaaa,IREGS+0x14+0x2(%a6)
mov.w &0x7fff,IREGS+0x18+0x2(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mov.l TESTCTR(%a6),%d1
clr.l %d0
rts
###########################################################
cmp2_str:
string "\tcmp2,chk2..."
align 0x4
# unsigned - small,small
cmp2_1:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0x2040,DATA(%a6)
mov.l &0x11111120,%d1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_2:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0x2040,DATA(%a6)
mov.l &0x00000040,%a1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_3:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0x2040,DATA(%a6)
mov.l &0x11111130,%d1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
chk2.b DATA(%a6),%d1
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_4:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0x2040,DATA(%a6)
mov.l &0x00000010,%a1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_5:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0x2040,DATA(%a6)
mov.l &0x11111150,%d1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_6:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0x2040,DATA(%a6)
mov.l &0x00000090,%a1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
# unsigned - small,large
cmp2_7:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x2000a000,DATA(%a6)
mov.l &0x11112000,%d1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.w %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_8:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x2000a000,DATA(%a6)
mov.l &0xffffa000,%a1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.w %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_9:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x2000a000,DATA(%a6)
mov.l &0x11113000,%d1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
chk2.w DATA(%a6),%d1
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_10:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x2000a000,DATA(%a6)
mov.l &0xffff9000,%a1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.w %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_11:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x2000a000,DATA(%a6)
mov.l &0x11111000,%d1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.w %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_12:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0x2000a000,DATA(%a6)
mov.l &0xffffb000,%a1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.w %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
# unsigned - large,large
cmp2_13:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xa0000000,DATA(%a6)
mov.l &0xc0000000,DATA+0x4(%a6)
mov.l &0xa0000000,%d1
mov.w &0x000c,ICCR(%a6)
mov.w &0x0008,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.l %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_14:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xa0000000,DATA(%a6)
mov.l &0xc0000000,DATA+0x4(%a6)
mov.l &0xc0000000,%a1
mov.w &0x000c,ICCR(%a6)
mov.w &0x0008,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.l %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_15:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xa0000000,DATA(%a6)
mov.l &0xc0000000,DATA+0x4(%a6)
mov.l &0xb0000000,%d1
mov.w &0x0008,ICCR(%a6)
mov.w &0x0008,%cc
movm.l &0x7fff,IREGS(%a6)
chk2.l DATA(%a6),%d1
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_16:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xa0000000,DATA(%a6)
mov.l &0xc0000000,DATA+0x4(%a6)
mov.l &0x10000000,%a1
mov.w &0x0009,ICCR(%a6)
mov.w &0x0008,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.l %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_17:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xa0000000,DATA(%a6)
mov.l &0xc0000000,DATA+0x4(%a6)
mov.l &0x90000000,%d1
mov.w &0x0009,ICCR(%a6)
mov.w &0x0008,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.l %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_18:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l &0xa0000000,DATA(%a6)
mov.l &0xc0000000,DATA+0x4(%a6)
mov.l &0xd0000000,%a1
mov.w &0x0009,ICCR(%a6)
mov.w &0x0008,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.l %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
# signed - negative,positive
cmp2_19:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa040,DATA(%a6)
mov.l &0x111111a0,%d1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_20:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa040,DATA(%a6)
mov.l &0x00000040,%a1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
chk2.b DATA(%a6),%a1
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_21:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa040,DATA(%a6)
mov.l &0x111111b0,%d1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_22:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa040,DATA(%a6)
mov.l &0x00000010,%a1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_23:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa040,DATA(%a6)
mov.l &0x11111190,%d1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_24:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa040,DATA(%a6)
mov.l &0x00000050,%a1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
# signed - negative,negative
cmp2_25:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa0c0,DATA(%a6)
mov.l &0x111111a0,%d1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_26:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa0c0,DATA(%a6)
mov.l &0xffffffc0,%a1
mov.w &0x0004,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_27:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa0c0,DATA(%a6)
mov.l &0x111111b0,%d1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
chk2.b DATA(%a6),%d1
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_28:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa0c0,DATA(%a6)
mov.l &0x11111190,%a1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_29:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa0c0,DATA(%a6)
mov.l &0x111111d0,%d1
mov.w &0x0001,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %d1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
cmp2_30:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.w &0xa0c0,DATA(%a6)
mov.l &0x00000050,%a1
mov.w &0x001b,ICCR(%a6)
mov.w &0x001f,%cc
movm.l &0x7fff,IREGS(%a6)
cmp2.b %a1,DATA(%a6)
mov.w %cc,SCCR(%a6)
movm.l &0x7fff,SREGS(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
mov.l TESTCTR(%a6),%d1
clr.l %d0
rts
###########################################################
ea_str:
string "\tEffective addresses..."
align 0x4
ea_0:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (%a0),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_1:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (%a0)+,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM+0x4(%a6),%a0
mov.l %a0,IREGS+0x20(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_2:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a6),%a0
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a0),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a0
mov.l %a0,IREGS+0x20(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_3:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x1000(%a6),%a0
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (-0x1000,%a0),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_4:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM-0x1000(%a6),%a0
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x1000,%a0),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_5:
addq.l &0x1,TESTCTR(%a6)
# movm.l DEF_REGS(%pc),&0x3fff
# clr.l %d2
# mov.l &0x00000002,%d3
# mov.w &0x0000,ICCR(%a6)
# mov.w &0x0000,%cc
# movm.l &0xffff,IREGS(%a6)
# mulu.l EAMEM.w,%d2:%d3
# mov.w %cc,SCCR(%a6)
# movm.l &0xffff,SREGS(%a6)
# mov.l &0x00000004,IREGS+0xc(%a6)
# bsr.l chkregs
# tst.b %d0
# bne.l error
ea_6:
addq.l &0x1,TESTCTR(%a6)
# movm.l DEF_REGS(%pc),&0x3fff
# clr.l %d2
# mov.l &0x00000002,%d3
# mov.w &0x0000,ICCR(%a6)
# mov.w &0x0000,%cc
# movm.l &0xffff,IREGS(%a6)
# mulu.l EAMEM.l,%d2:%d3
# mov.w %cc,SCCR(%a6)
# movm.l &0xffff,SREGS(%a6)
# mov.l &0x00000004,IREGS+0xc(%a6)
# bsr.l chkregs
# tst.b %d0
# bne.l error
ea_7:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l &0x00000002,%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_8:
addq.l &0x1,TESTCTR(%a6)
bra.b ea_8_next
ea_8_mem:
long 0x00000002
ea_8_next:
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (ea_8_mem.w,%pc),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_9:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a6),%a1
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a1),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a0
mov.l %a0,IREGS+0x24(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_10:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a6),%a2
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a2),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a0
mov.l %a0,IREGS+0x28(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_11:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a6),%a3
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a3),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a0
mov.l %a0,IREGS+0x2c(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_12:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a6),%a4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a4),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a0
mov.l %a0,IREGS+0x30(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_13:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a6),%a5
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a5),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a0
mov.l %a0,IREGS+0x34(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_14:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
mov.l %a6,%a1
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM+0x4(%a1),%a6
mov.w &0x0000,ICCR(%a1)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a1)
mulu.l -(%a6),%d2:%d3
mov.w %cc,SCCR(%a1)
movm.l &0xffff,SREGS(%a1)
mov.l &0x00000004,IREGS+0xc(%a1)
lea EAMEM(%a1),%a0
mov.l %a0,IREGS+0x38(%a1)
mov.l %a1,%a6
bsr.l chkregs
tst.b %d0
bne.l error
ea_15:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
mov.l %a7,%a0
lea EAMEM+0x4(%a6),%a7
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l -(%a7),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
lea EAMEM(%a6),%a1
mov.l %a1,IREGS+0x3c(%a6)
mov.l %a0,%a7
bsr.l chkregs
tst.b %d0
bne.l error
ea_16:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x10,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.w*1),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_17:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x8,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.w*2),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_18:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x4,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.w*4),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_19:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x2,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.w*8),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_20:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x10,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.l*1),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_21:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x8,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.l*2),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_22:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x4,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.l*4),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0xc(%a6)
bsr.l chkregs
tst.b %d0
bne.l error
ea_23:
addq.l &0x1,TESTCTR(%a6)
movm.l DEF_REGS(%pc),&0x3fff
clr.l %d2
mov.l &0x00000002,%d3
lea EAMEM(%a6),%a0
mov.l &-0x2,%d4
mov.w &0x0000,ICCR(%a6)
mov.w &0x0000,%cc
movm.l &0xffff,IREGS(%a6)
mulu.l (0x10.b,%a0,%d4.l*8),%d2:%d3
mov.w %cc,SCCR(%a6)
movm.l &0xffff,SREGS(%a6)
mov.l &0x00000004,IREGS+0