Вы находитесь на странице: 1из 63

AFROP

IDNT
1,0
NOPAGE
NOFORMAT
NOLIST

*
INCLUDE MACROS.INC
*
NOFORMAT
LIST
ADDRMASK SET
$0FFFFFE
ADRMASK EQU
*
ADRMSK DC.L
ADDRMASK
*
DS.W
4
WS
DS.W
524
*
*
IFXIMG EQU
*
XDEF
IFXIMG
MOVEA.L 8(A7),A0
MOVE.L (A0),D0
BRA.S INSQZ2T
FIXIMG EQU
*
XDEF
FIXIMG
MOVE.L 8(A7),D0
INFIXIMG EQU
*
AND.L ADRMSK(PC),D0
BEQ.S FXMG0DST
MOVEA.L D0,A0
MOVEA.L 4(A7),A1
MOVE.L (A1),D1
ANDI.B #$FE,D1
SUBQ.L #2,D1
MOVE.L D1,D2
ASR.L #1,D2
EOR.L D0,D0
FXMGLOOP EQU
*
MOVE.B 0(A0,D2.L),D0
MOVE.W D0,0(A0,D1.L)
SUBQ.L #2,D1
DBRA
D2,FXMGLOOP
FXMG0DST EQU
*
FNRET 2
*
*
ISQZ2T EQU
*
XDEF
ISQZ2T
MOVEA.L 8(A7),A0
MOVE.L (A0),D0
BRA.S INSQZ2T
SQZ2T EQU
*
XDEF
SQZ2T
MOVE.L 8(A7),D0
INSQZ2T EQU
*
AND.L ADRMSK(PC),D0
BEQ.S SQZNO0DST
MOVEA.L D0,A0
MOVEA.L 4(A7),A1
MOVE.L (A1),D1
ANDI.B #$FC,D1

SUBQ.L #4,D1
BPL.S SQZOVER
MOVEQ.L #4,D1
LSR.L #1,D1
SQZOVER EQU
*
EOR.L D2,D2
FOR.L D0 = #0 TO D1 BY #2
DO.S
LEA.L 0(A0,D0.L),A1
MOVE.W 0(A1,D0.L),D2
ADD.W 2(A1,D0.L),D2
MOVE.W D2,(A1)
ENDF
SQZNO0DST EQU *
FNRET 2
*
*
ISQ32T EQU
*
XDEF
ISQ32T
MOVEA.L 8(A7),A0
MOVE.L (A0),D0
BRA.S INSQ32T
SQ32T EQU
*
XDEF
SQ32T
MOVE.L 8(A7),D0
INSQ32T EQU
*
AND.L ADRMSK(PC),D0
BEQ.S SQ3NO0DST
MOVEA.L D0,A0
MOVEA.L 4(A7),A1
MOVE.L (A1),D1
ANDI.B #$FC,D1
SUBQ.L #4,D1
BPL.S SQ3OVER
MOVEQ.L #4,D1
DIVU
#3,D1
AND.L #$FFFF,D1
SQ3OVER EQU
*
EOR.L D2,D2
PUSH.L A2
FOR.L D0 = #0 TO D1 BY #2
DO.S
LEA.L 0(A0,D0.L),A1
LEA.L 0(A1,D0.L),A2
MOVE.W 0(A2,D0.L),D2
ADD.W 2(A2,D0.L),D2
ADD.W 4(A2,D0.L),D2
MOVE.W D2,(A1)
ENDF
POP.L A2
SQ3NO0DST EQU *
FNRET 2
*
*
ISQ52T EQU
*
XDEF
ISQ52T
MOVEA.L 8(A7),A0
MOVE.L (A0),D0
BRA.S INSQ52T
SQ52T EQU
*

XDEF
SQ52T
MOVE.L 8(A7),D0
INSQ52T EQU
*
AND.L ADRMSK(PC),D0
BEQ.S SQ5NO0DST
MOVEA.L D0,A0
MOVEA.L 4(A7),A1
MOVE.L (A1),D1
ANDI.B #$FC,D1
SUBQ.L #4,D1
BPL.S SQ5OVER
MOVEQ.L #4,D1
DIVU
#5,D1
AND.L #$FFFF,D1
SQ5OVER EQU
*
PUSH.L A2
FOR.L D0 = #0 TO D1 BY #2
DO.S
LEA.L 0(A0,D0.L),A1
MOVE.L D0,D2
ADD.L D0,D2
ADD.L D2,D2
LEA.L 0(A0,D2.L),A2
EOR.L D2,D2
MOVE.W 0(A2,D0.L),D2
ADD.W 2(A2,D0.L),D2
ADD.W 4(A2,D0.L),D2
ADD.W 6(A2,D0.L),D2
ADD.W 8(A2,D0.L),D2
MOVE.W D2,(A1)
ENDF
POP.L A2
SQ5NO0DST EQU *
FNRET 2
*
*
ISQ72T EQU
*
XDEF
ISQ72T
MOVEA.L 8(A7),A0
MOVE.L (A0),D0
BRA.S INSQ72T
SQ72T EQU
*
XDEF
SQ72T
MOVE.L 8(A7),D0
INSQ72T EQU
*
AND.L ADRMSK(PC),D0
BEQ.S SQ7NO0DST
MOVEA.L D0,A0
MOVEA.L 4(A7),A1
MOVE.L (A1),D1
ANDI.B #$FC,D1
SUBQ.L #4,D1
BPL.S SQ7OVER
MOVEQ.L #4,D1
DIVU
#5,D1
AND.L #$FFFF,D1
SQ7OVER EQU
*
PUSH.L A2
FOR.L D0 = #0 TO D1 BY #2
DO.S

LEA.L 0(A0,D0.L),A1
MOVE.L D0,D2
ADD.L D0,D2
LEA.L 0(A0,D2.L),A2
ADD.L D2,D2
LEA.L 0(A2,D2.L),A2
EOR.L D2,D2
MOVE.W 0(A2,D0.L),D2
ADD.W 2(A2,D0.L),D2
ADD.W 4(A2,D0.L),D2
ADD.W 6(A2,D0.L),D2
ADD.W 8(A2,D0.L),D2
ADD.W 10(A2,D0.L),D2
ADD.W 12(A2,D0.L),D2
MOVE.W D2,(A1)
ENDF
POP.L A2
SQ7NO0DST EQU *
FNRET 2
*
*
IXSM2T EQU
*
XDEF
IXSM2T
MOVEA.L 16(A7),A0
MOVE.L (A0),D0
BRA.S INXSM2T
XSM2T EQU
*
XSM2TH EQU
*
XDEF
XSM2T,XSM2TH
MOVE.L 16(A7),D0
INXSM2T EQU
*
AND.L ADRMSK(PC),D0
BEQ.L XSMNO0DST
MOVEA.L D0,A0
MOVEA.L 8(A7),A1
MOVE.L (A1),D1
ANDI.B #$FC,D1
SUBQ.L #4,D1
BPL.S XSMOVER
MOVEQ.L #4,D1
LSR.L #1,D1
XSMOVER EQU
*
SAVREG
MOVE.L D1,D7
MOVEA.L 8(A5),A6
MOVE.L (A6),D6
MOVEA.L 4(A5),A5
MOVE.L (A5),D5
MOVE.L D6,D4
ADD.L D5,D4
MOVE.L D4,D3
ADD.L D5,D4
MOVE.W (A0),D0
MOVE.W 2(A0),D1
MULU
D3,D0
MULU
D5,D1
ADD.L D1,D0
DIVU
D4,D0
MOVE.W D0,BTEMP
MOVE.W (A0,D7.L),D0

MOVE.W -2(A0,D7.L),D1
MULU
D3,D0
MULU
D5,D1
ADD.L D1,D0
DIVU
D4,D0
MOVE.W D0,ETEMP
MOVE.W (A0),TEMP
SUBQ.L #2,D7
FOR.L D0 = #2 TO D7 BY #2
DO.S
MOVE.W TEMP,D3
MOVE.W 0(A0,D0.L),D1
MOVE.W D1,TEMP
MOVE.W 2(A0,D0.L),D2
MULU
D6,D1
MULU
D5,D2
MULU
D5,D3
ADD.L D3,D1
ADD.L D2,D1
DIVU
D4,D1
MOVE.W D1,0(A0,D0.L)
ENDF
MOVE.W BTEMP,(A0)
MOVE.W ETEMP,2(A0,D7.L)
RSTREG
XSMNO0DST EQU *
FNRET 4
*
*
MED3RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLT.S MED3RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CMED3LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CMED3LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #3,D5
BLT.S MED3RCX
LEA.L $2,A3
MOVEA.L D6,A4
MOVE.W (A1),D1
MOVE.W 2(A1),D2
MED3LOOP EQU
*
MOVE.W D1,D0
MOVE.W D2,D1
MOVE.W 2(A1,A3.L),D2
CMP.W D0,D1
BGT.S GT01
BLT.S LT01
QMED3LOOP EQU
*
ADDA.L D6,A4

ADDQ.L #2,A3
DBRA
D5,MED3LOOP
MED3RCX RTS
GT01
EQU
*
CMP.W D1,D2
BLT.S GT01LT12
BRA.S QMED3LOOP
LT01
EQU
*
CMP.W D1,D2
BGT.S LT01GT12
BRA.S QMED3LOOP
GT01LT12 EQU
*
CMP.W D0,D2
BGT.S DOD2
DOD0
EQU
*
MOVE.W D0,0(A0,A4.L)
BRA.S QMED3LOOP
LT01GT12 EQU
*
CMP.W D0,D2
BGT.S DOD0
DOD2
EQU
*
MOVE.W D2,0(A0,A4.L)
BRA.S QMED3LOOP
*
IMED3X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED3X EQU
*
XDEF
MED3X,IMED3X
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S MED3XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
MED3XLOOP EQU
*
JSR
MED3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MED3XLOOP
MED3XRET EQU
*
RSTREG
FNRET 3
*
IMED3Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)

MED3Y

EQU
*
XDEF
MED3Y,IMED3Y
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MED3XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
MED3YLOOP EQU
*
JSR
MED3RC(PC)
ADDA.L #2,A0
DBRA
D3,MED3YLOOP
MED3YX BRA.S MED3XRET
*
IMED3 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED3
EQU
*
XDEF
MED3,IMED3
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MED3X(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MED3Y(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
*
IMED3R EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED3R EQU
*
XDEF
MED3R,IMED3R
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED3YX
MOVEA.L 8(A5),A0

MOVE.L
BEQ.S
ANDI.L
MOVE.L
AND.L
BEQ.S
MOVEA.L
PUSH.L
LEA.L
MOVE.L
ADD.L
ADDQ.L
CMP.L
BGT.S

(A0),D3
MED3YX
#$01FF,D3
12(A5),D0
ADRMASK(PC),D0
MED3RX
D0,A0
A0
WS(PC),A1
D3,D6
D3,D6
#2,D6
D3,D4
MED3R2

*
MOVE.L D4,D7
PUSH.L D4
PUSH.L D6
SUBQ.L #2,D4
BLE.S MED3R0S
MED3RL0OP EQU
*
JSR
MED3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
SUBQ.L #1,D7
DBLE
D4,MED3RL0OP
*
MED3R0S EQU
*
POP.L D6
POP.L D4
POP.L A0
ADDA.L #2,A0
PUSH.L D4
PUSH.L D6
MOVE.L D4,D7
MOVE.L D3,D4
SUB.L D7,D4
SUBQ.L #2,D4
BLE.S MED3R1S
MED3RL1OP EQU
*
JSR
MED3RC(PC)
ADDA.L #2,A0
DBRA
D4,MED3RL1OP
*
MED3R1S EQU
*
POP.L D6
POP.L D4
SUBQ.L #2,D4
BLE.S MED3R2S
MED3RL2OP EQU
*
JSR
MED3RC(PC)
ADDA.L #2,A0
SUBQ.L #1,D7
DBLE
D4,MED3RL2OP
*
MED3R2S EQU
*
MED3RX EQU
*
JMP
MED3XRET(PC)
*
MED3R2 EQU
*

MOVE.L D3,D7
PUSH.L D6
SUB.L D3,D4
BLE.S MED3R3S
MED3RL3OP EQU
*
JSR
MED3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MED3RL3OP
*
MED3R3S EQU
*
POP.L D6
PUSH.L D6
MOVE.L D3,D4
SUBQ.L #2,D4
BLE.S MED3R4S
MED3RL4OP EQU
*
JSR
MED3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
SUBQ.L #1,D7
DBLE
D4,MED3RL4OP
*
MED3R4S EQU
*
POP.L D6
POP.L A0
ADDA.L #2,A0
MOVE.L D3,D4
SUBQ.L #2,D4
BLE.S MED3R5S
MOVE.L D3,D7
MED3RL5OP EQU
*
JSR
MED3RC(PC)
ADDA.L #2,A0
SUBQ.L #1,D7
DBLE
D4,MED3RL5OP
*
MED3R5S EQU
*
JMP
MED3XRET(PC)
*
IMED3L EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED3L EQU
*
XDEF
MED3L,IMED3L
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED3R5S
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MED3R5S
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED3R5S
MOVEA.L D0,A0
ADDA.L #2,A0

LEA.L WS(PC),A1
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #2,D6
PUSH.L D4
PUSH.L D6
CMP.W D3,D4
BLE.S MED3LOK
MOVE.L D3,D4
MED3LOK EQU
*
SUBQ.L #2,D4
BLE.S MED3L0S
MOVE.L #2,D7
MED3LL0OP EQU
*
JSR
MED3RC(PC)
ADDA.L #2,A0
ADDQ.L #1,D7
DBRA
D4,MED3LL0OP
*
MED3L0S EQU
*
POP.L D6
POP.L D4
CMP.L D3,D4
BGT.S MED3L2
MOVE.L D4,D7
PUSH.L D7
PUSH.L D6
MOVE.L D3,D4
SUB.L D7,D4
BLE.S MED3L1S
MED3LL1OP EQU
*
JSR
MED3RC(PC)
ADDA.L #2,A0
DBRA
D4,MED3LL1OP
*
SUBA.L #2,A0
MED3L1S EQU
*
POP.L D6
POP.L D4
MED3LUC EQU
*
SUBQ.L #2,D4
BLE.S MED3L2S
MED3LL2OP EQU
*
JSR
MED3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
SUBQ.L #1,D7
DBLE
D4,MED3LL2OP
*
MED3L2S EQU
*
MED3LX EQU
*
JMP
MED3XRET(PC)
*
MED3L2 EQU
*
PUSH.L D6
MOVE.L D3,D7
SUB.L D3,D4
SUBQ.L #1,D4
BLE.S MED3L4S
MED3LL4OP EQU
*

JSR
MED3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MED3LL4OP
*
MED3L4S EQU
*
POP.L D6
MOVE.L D3,D4
BRA.S MED3LUC
*
IMED3D EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED3D EQU
*
XDEF
MED3D,IMED3D
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MED3R(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MED3L(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
MED5RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L MED5RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CMED5LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CMED5LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #5,D5
BLE.L MED5RCX
LEA.L $4,A3
MOVEA.L D6,A4
MOVEM.L D0-D4/D7,-(A7)
MOVE.W 2(A1),D2
MOVE.W (A1),D1
MOVE.W #0,D0
CMP.W D0,D1
BCC.S MBD5D0D1
EXG
D0,D1
MBD5D0D1 CMP.W D0,D2
BCC.S MBD5D0D2

EXG
D0,D2
MBD5D0D2 CMP.W D1,D2
BCC.S MBD5D1D2
EXG
D1,D2
MBD5D1D2 MOVE.W D1,0(A0,A4.L)
ADDA.L D6,A4
MED5LOOP EQU
*
MOVE.W -4(A1,A3.L),D0
MOVE.W -2(A1,A3.L),D1
MOVE.W 0(A1,A3.L),D2
MOVE.W 2(A1,A3.L),D3
MOVE.W 4(A1,A3.L),D4
CMP.W D0,D1
BCC.S MED5D0D1
EXG
D0,D1
MED5D0D1 CMP.W D0,D2
BCC.S MED5D0D2
EXG
D0,D2
MED5D0D2 CMP.W D0,D3
BCC.S MED5D0D3
EXG
D0,D3
MED5D0D3 CMP.W D0,D4
BCC.S MED5D0D4
EXG
D0,D4
MED5D0D4 CMP.W D1,D2
BCC.S MED5D1D2
EXG
D1,D2
MED5D1D2 CMP.W D1,D3
BCC.S MED5D1D3
EXG
D1,D3
MED5D1D3 CMP.W D1,D4
BCC.S MED5D1D4
EXG
D1,D4
MED5D1D4 CMP.W D2,D3
BCC.S MED5D2D3
EXG
D2,D3
MED5D2D3 CMP.W D2,D4
BCC.S MED5D2D4
EXG
D2,D4
MED5D2D4 MOVE.W D2,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,MED5LOOP
MOVE.W 0(A1,A3.L),D1
MOVE.W -2(A1,A3.L),D0
MOVE.W #0,D2
CMP.W D0,D1
BCC.S MAD5D0D1
EXG
D0,D1
MAD5D0D1 CMP.W D0,D2
BCC.S MAD5D0D2
EXG
D0,D2
MAD5D0D2 CMP.W D1,D2
BCC.S MAD5D1D2
EXG
D1,D2
MAD5D1D2 MOVE.W D1,0(A0,A4.L)
MOVEM.L (A7)+,D0-D4/D7
MED5RCX RTS
*
IMED5X EQU
*

MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED5X EQU
*
XDEF
MED5X,IMED5X
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S MED5XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
MED5XLOOP EQU
*
JSR
MED5RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MED5XLOOP
MED5XRET EQU
*
RSTREG
BRA.L TRIMX
*
IMED5Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED5Y EQU
*
XDEF
MED5Y,IMED5Y
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MED5XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
MED5YLOOP EQU
*
JSR
MED5RC(PC)
ADDA.L #2,A0
DBRA
D3,MED5YLOOP
MED5YX RSTREG

*
IMED5

MED5

BRA.L

TRIMY

EQU
MOVEA.L
MOVEA.L
MOVE.L
EQU
XDEF
MOVE.L
POP.L
POP.L
POP.L
PUSH.L
PUSH.L
PUSH.L
JSR
PUSH.L
PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

*
12(A7),A1
(A1),A1
A1,12(A7)
*
MED5,IMED5
(A7)+,VVSAV7
ARG1
ARG2
ARG3
ARG3(PC)
ARG2(PC)
ARG1(PC)
MED5X(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
MED5Y(PC)
VVSAV7(PC),A0
(A0)

*
MED7RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L MED7RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CMED7LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CMED7LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #7,D5
BLE.L MED7RCX
LEA.L $2,A3
MOVEA.L D6,A4
MOVEM.L D0-D4/D7,-(A7) NEXT DO A BY3 @ BEGIN
MOVE.W (A1),D1
MOVE.W 2(A1),D2
MOVE.W #0,D0
CMP.W D0,D1
BCC.S MBD7D0D1
EXG
D0,D1
MBD7D0D1 CMP.W D0,D2
BCC.S MBD7D0D2
EXG
D0,D2
MBD7D0D2 CMP.W D1,D2
BCC.S MBD7D1D2
EXG
D1,D2
MBD7D1D2 MOVE.W D1,0(A0,A4.L)
ADDA.L D6,A4
NEXT DO A BY5 @ BEGIN
ADDQ.L #2,A3
MOVE.W #0,D0

MEB7D0D1
MEB7D0D2
MEB7D0D3
MEB7D0D4
MEB7D1D2
MEB7D1D3
MEB7D1D4
MEB7D2D3
MEB7D2D4
MED7LOOP

MED7D0D1
MED7D0D2
MED7D0D3
MED7D0D4
MED7D0D5

MOVE.W -2(A1,A3.L),D1
MOVE.W 0(A1,A3.L),D2
MOVE.W 2(A1,A3.L),D3
MOVE.W 4(A1,A3.L),D4
MOVE.W D2,0(A0,A4.L)
CMP.W D0,D1
BCC.S MEB7D0D1
EXG
D0,D1
CMP.W D0,D2
BCC.S MEB7D0D2
EXG
D0,D2
CMP.W D0,D3
BCC.S MEB7D0D3
EXG
D0,D3
CMP.W D0,D4
BCC.S MEB7D0D4
EXG
D0,D4
CMP.W D1,D2
BCC.S MEB7D1D2
EXG
D1,D2
CMP.W D1,D3
BCC.S MEB7D1D3
EXG
D1,D3
CMP.W D1,D4
BCC.S MEB7D1D4
EXG
D1,D4
CMP.W D2,D3
BCC.S MEB7D2D3
EXG
D2,D3
CMP.W D2,D4
BCC.S MEB7D2D4
EXG
D2,D4
MOVE.W D2,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
EQU
*
MOVEM.L D5/D6,-(A7)
MOVE.W -6(A1,A3.L),D0
MOVE.W -4(A1,A3.L),D1
MOVE.W -2(A1,A3.L),D2
MOVE.W 0(A1,A3.L),D3
MOVE.W 2(A1,A3.L),D4
MOVE.W 4(A1,A3.L),D5
MOVE.W 6(A1,A3.L),D6
CMP.W D0,D1
BCC.S MED7D0D1
EXG
D0,D1
CMP.W D0,D2
BCC.S MED7D0D2
EXG
D0,D2
CMP.W D0,D3
BCC.S MED7D0D3
EXG
D0,D3
CMP.W D0,D4
BCC.S MED7D0D4
EXG
D0,D4
CMP.W D0,D5
BCC.S MED7D0D5
EXG
D0,D5
CMP.W D0,D6

BCC.S MED7D0D6
EXG
D0,D6
MED7D0D6 CMP.W D1,D2
BCC.S MED7D1D2
EXG
D1,D2
MED7D1D2 CMP.W D1,D3
BCC.S MED7D1D3
EXG
D1,D3
MED7D1D3 CMP.W D1,D4
BCC.S MED7D1D4
EXG
D1,D4
MED7D1D4 CMP.W D1,D5
BCC.S MED7D1D5
EXG
D1,D5
MED7D1D5 CMP.W D1,D6
BCC.S MED7D1D6
EXG
D1,D6
MED7D1D6 CMP.W D2,D3
BCC.S MED7D2D3
EXG
D2,D3
MED7D2D3 CMP.W D2,D4
BCC.S MED7D2D4
EXG
D2,D4
MED7D2D4 CMP.W D2,D5
BCC.S MED7D2D5
EXG
D2,D5
MED7D2D5 CMP.W D2,D6
BCC.S MED7D2D6
EXG
D2,D6
MED7D2D6 CMP.W D3,D4
BCC.S MED7D3D4
EXG
D3,D4
MED7D3D4 CMP.W D3,D5
BCC.S MED7D3D5
EXG
D3,D5
MED7D3D5 CMP.W D3,D6
BCC.S MED7D3D6
EXG
D3,D6
MED7D3D6 MOVE.W D3,0(A0,A4.L)
MOVEM.L (A7)+,D5/D6
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,MED7LOOP NEXT DO A BY5 @ END
MOVE.W #0,D4
MOVE.W 2(A1,A3.L),D3
MOVE.W 0(A1,A3.L),D2
MOVE.W -2(A1,A3.L),D1
MOVE.W -4(A1,A3.L),D0
CMP.W D0,D1
BCC.S MEA7D0D1
EXG
D0,D1
MEA7D0D1 CMP.W D0,D2
BCC.S MEA7D0D2
EXG
D0,D2
MEA7D0D2 CMP.W D0,D3
BCC.S MEA7D0D3
EXG
D0,D3
MEA7D0D3 CMP.W D0,D4
BCC.S MEA7D0D4
EXG
D0,D4

MEA7D0D4 CMP.W D1,D2


BCC.S MEA7D1D2
EXG
D1,D2
MEA7D1D2 CMP.W D1,D3
BCC.S MEA7D1D3
EXG
D1,D3
MEA7D1D3 CMP.W D1,D4
BCC.S MEA7D1D4
EXG
D1,D4
MEA7D1D4 CMP.W D2,D3
BCC.S MEA7D2D3
EXG
D2,D3
MEA7D2D3 CMP.W D2,D4
BCC.S MEA7D2D4
EXG
D2,D4
MEA7D2D4 MOVE.W D2,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
NEXT DO A BY3 @ END
MOVE.W 0(A1,A3.L),D1
MOVE.W -2(A1,A3.L),D0
MOVE.W #0,D2
CMP.W D0,D1
BCC.S MAD7D0D1
EXG
D0,D1
MAD7D0D1 CMP.W D0,D2
BCC.S MAD7D0D2
EXG
D0,D2
MAD7D0D2 CMP.W D1,D2
BCC.S MAD7D1D2
EXG
D1,D2
MAD7D1D2 MOVE.W D1,0(A0,A4.L)
MOVEM.L (A7)+,D0-D4/D7
MED7RCX RTS
*
IMED7X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED7X EQU
*
XDEF
MED7X,IMED7X
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S MED7XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
MED7XLOOP EQU
*
JSR
MED7RC(PC)
ADDA.L D3,A0

ADDA.L D3,A0
DBRA
D4,MED7XLOOP
MED7XRET EQU
*
RSTREG
BRA.L TRIMX
*
IMED7Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED7Y EQU
*
XDEF
MED7Y,IMED7Y
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MED7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MED7XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MED7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
MED7YLOOP EQU
*
JSR
MED7RC(PC)
ADDA.L #2,A0
DBRA
D3,MED7YLOOP
MED7YX RSTREG
BRA.L TRIMY
*
IMED7 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MED7
EQU
*
XDEF
MED7,IMED7
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MED7X(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MED7Y(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
*
MEN3RC EQU
*

MOVE.L D7,D5
SUBQ.L #1,D5
BLE.S MEN3RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CMEN3LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CMEN3LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #3,D5
BLE.S MEN3RCX
LEA.L $2,A3
MOVEA.L D6,A4
MOVEQ.L #0,D0
MOVEQ.L #0,D1
MOVEQ.L #0,D2
MOVE.W (A1),D1
MOVE.W 2(A1),D2
PUSH.L D7
MOVEQ.L #0,D7
MEN3LOOP EQU
*
MOVE.W D1,D0
MOVE.W D2,D1
MOVE.W 2(A1,A3.L),D2
MOVE.L D1,D7
LSL.L #1,D7
ADD.L D0,D7
ADD.L D2,D7
ADDQ.L #2,D7
ASR.L #2,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,MEN3LOOP
POP.L D7
MEN3RCX RTS
*
IMEN3X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN3X EQU
*
XDEF
MEN3X,IMEN3X
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S MEN3XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0

BEQ.S MEN3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
MEN3XLOOP EQU
*
JSR
MEN3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MEN3XLOOP
MEN3XRET EQU
*
RSTREG
FNRET 3
*
IMEN3Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN3Y EQU
*
XDEF
MEN3Y,IMEN3Y
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MEN3XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
MEN3YLOOP EQU
*
JSR
MEN3RC(PC)
ADDA.L #2,A0
DBRA
D3,MEN3YLOOP
MEN3YX BRA.S MEN3XRET
*
IMEN3 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN3
EQU
*
XDEF
MEN3,IMEN3
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MEN3X(PC)
PUSH.L ARG3(PC)

PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

ARG2(PC)
ARG1(PC)
MEN3Y(PC)
VVSAV7(PC),A0
(A0)

*
IMEN3R EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN3R EQU
*
XDEF
MEN3R,IMEN3R
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN3YX
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MEN3YX
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN3RX
MOVEA.L D0,A0
PUSH.L A0
LEA.L WS(PC),A1
MOVE.L D3,D6
ADD.L D3,D6
ADDQ.L #2,D6
CMP.L D3,D4
BGT.S MEN3R2
*
MOVE.L D4,D7
PUSH.L D4
PUSH.L D6
SUBQ.L #2,D4
BLE.S MEN3R0S
MEN3RL0OP EQU
*
JSR
MEN3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
SUBQ.L #1,D7
DBLE
D4,MEN3RL0OP
*
MEN3R0S EQU
*
POP.L D6
POP.L D4
POP.L A0
ADDA.L #2,A0
PUSH.L D4
PUSH.L D6
MOVE.L D4,D7
MOVE.L D3,D4
SUB.L D7,D4
SUBQ.L #2,D4
BLE.S MEN3R1S
MEN3RL1OP EQU
*
JSR
MEN3RC(PC)
ADDA.L #2,A0

DBRA
D4,MEN3RL1OP
*
MEN3R1S EQU
*
POP.L D6
POP.L D4
SUBQ.L #2,D4
BLE.S MEN3R2S
MEN3RL2OP EQU
*
JSR
MEN3RC(PC)
ADDA.L #2,A0
SUBQ.L #1,D7
DBLE
D4,MEN3RL2OP
*
MEN3R2S EQU
*
MEN3RX EQU
*
JMP
MEN3XRET(PC)
*
MEN3R2 EQU
*
MOVE.L D3,D7
PUSH.L D6
SUB.L D3,D4
BLE.S MEN3R3S
MEN3RL3OP EQU
*
JSR
MEN3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MEN3RL3OP
*
MEN3R3S EQU
*
POP.L D6
PUSH.L D6
MOVE.L D3,D4
SUBQ.L #2,D4
BLE.S MEN3R4S
MEN3RL4OP EQU
*
JSR
MEN3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
SUBQ.L #1,D7
DBLE
D4,MEN3RL4OP
*
MEN3R4S EQU
*
POP.L D6
POP.L A0
ADDA.L #2,A0
MOVE.L D3,D4
SUBQ.L #2,D4
BLE.S MEN3R5S
MOVE.L D3,D7
MEN3RL5OP EQU
*
JSR
MEN3RC(PC)
ADDA.L #2,A0
SUBQ.L #1,D7
DBLE
D4,MEN3RL5OP
*
MEN3R5S EQU
*
JMP
MEN3XRET(PC)
*
*
IMEN3L EQU
*

MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN3L EQU
*
XDEF
MEN3L,IMEN3L
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN3R5S
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MEN3R5S
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN3R5S
MOVEA.L D0,A0
ADDA.L #2,A0
LEA.L WS(PC),A1
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #2,D6
PUSH.L D4
PUSH.L D6
CMP.W D3,D4
BLE.S MEN3LOK
MOVE.L D3,D4
MEN3LOK EQU
*
SUBQ.L #2,D4
BLE.S MEN3L0S
MOVE.L #2,D7
MEN3LL0OP EQU
*
JSR
MEN3RC(PC)
ADDA.L #2,A0
ADDQ.L #1,D7
DBRA
D4,MEN3LL0OP
*
MEN3L0S EQU
*
POP.L D6
POP.L D4
CMP.L D3,D4
BGT.S MEN3L2
MOVE.L D4,D7
PUSH.L D7
PUSH.L D6
MOVE.L D3,D4
SUB.L D7,D4
BLE.S MEN3L1S
MEN3LL1OP EQU
*
JSR
MEN3RC(PC)
ADDA.L #2,A0
DBRA
D4,MEN3LL1OP
*
SUBA.L #2,A0
MEN3L1S EQU
*
POP.L D6
POP.L D4
MEN3LUC EQU
*
SUBQ.L #2,D4

BLE.S MEN3L2S
MEN3LL2OP EQU
*
JSR
MEN3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
SUBQ.L #1,D7
DBLE
D4,MEN3LL2OP
*
MEN3L2S EQU
*
MEN3LX EQU
*
JMP
MEN3XRET(PC)
*
MEN3L2 EQU
*
PUSH.L D6
MOVE.L D3,D7
SUB.L D3,D4
SUBQ.L #1,D4
BLE.S MEN3L4S
MEN3LL4OP EQU
*
JSR
MEN3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MEN3LL4OP
*
MEN3L4S EQU
*
POP.L D6
MOVE.L D3,D4
BRA.S MEN3LUC
*
SUBQ.L #2,D4
*
BLE.S MEN3L5S
*MEN3LL5OP EQU
*
*
JSR
MEN3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7
*
DBLE
D4,MEN3LL5OP
**
*MEN3L5S EQU
*
*
JMP
MEN3XRET(PC)
*
IMEN3D EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN3D EQU
*
XDEF
MEN3D,IMEN3D
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MEN3R(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MEN3L(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)

*
*
MEN5RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L MEN5RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CMEN5LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CMEN5LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #5,D5
BLE.L MEN5RCX
LEA.L $4,A3
MOVEA.L D6,A4
MOVEQ.L #0,D0
PUSH.L D7
MOVEQ #0,D0
MOVE.W (A1),D0
MOVE.L D0,D7
ADD.L D0,D7
MOVE.W 2(A1),D0
ADD.L D0,D7
MOVE.W 4(A1),D0
ADD.L D0,D7
ADDQ.L #2,D7
LSR.L #2,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
MEN5LOOP EQU
*
MOVEQ.L #0,D1
MOVEQ.L #0,D7
MOVE.W 0(A1,A3.L),D7
MOVE.W D7,D1
LSL.L #1,D7
ADD.L D1,D7
LSL.L #1,D7
MOVE.W 2(A1,A3.L),D1
ADD.W -2(A1,A3.L),D1
LSL.L #2,D1
ADD.L D1,D7
MOVE.W 4(A1,A3.L),D0
ADD.W -4(A1,A3.L),D0
ADD.L D0,D7
ADDQ.L #7,D7
MOVEQ.L #0,D0
MOVE.W A3,D0
LSR.B #1,D0
ANDI.W #01,D0
ADD.L D0,D7
LSR.L #4,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4

ADDQ.L #2,A3
DBRA
D5,MEN5LOOP
MOVEQ #0,D0
MOVE.W 0(A1,A3.L),D0
MOVE.L D0,D7
ADD.L D0,D7
MOVE.W -2(A1,A3.L),D0
ADD.L D0,D7
MOVE.W -4(A1,A3.L),D0
ADD.L D0,D7
ADDQ.L #2,D7
LSR.L #2,D7
MOVE.W D7,0(A0,A4.L)
POP.L D7
MEN5RCX RTS
*
IMEN5X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN5X EQU
*
XDEF
MEN5X,IMEN5X
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S MEN5XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
MEN5XLOOP EQU
*
JSR
MEN5RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MEN5XLOOP
MEN5XRET EQU
*
RSTREG
BRA.L TRIMX
*
IMEN5Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN5Y EQU
*
XDEF
MEN5Y,IMEN5Y
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN5XRET
MOVEA.L 8(A5),A0

MOVE.L (A0),D3
BEQ.S MEN5XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
MEN5YLOOP EQU
*
JSR
MEN5RC(PC)
ADDA.L #2,A0
DBRA
D3,MEN5YLOOP
MEN5YX RSTREG
BRA.L TRIMY
*
IMEN5 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN5
EQU
*
XDEF
MEN5,IMEN5
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MEN5X(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MEN5Y(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
*
MEN7RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L MEN7RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CMEN7LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CMEN7LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #7,D5
BLE.L MEN7RCX
LEA.L $4,A3

MOVEA.L D6,A4
MOVEQ.L #0,D0
PUSH.L D7
MOVE.W 2(A1),D0
MOVE.L D0,D7
ADD.L D0,D7
MOVE.W (A1),D0
ADD.L D0,D7
MOVE.W 4(A1),D0
ADD.L D0,D7
ADDQ.L #2,D7
LSR.L #2,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
MOVEQ.L #0,D1
MOVEQ.L #0,D7
MOVE.W 0(A1,A3.L),D7
MOVE.W D7,D1
LSL.L #1,D7
ADD.L D1,D7
LSL.L #1,D7
MOVE.W 2(A1,A3.L),D1
ADD.W -2(A1,A3.L),D1
LSL.L #2,D1
ADD.L D1,D7
MOVE.W 4(A1,A3.L),D0
ADD.W -4(A1,A3.L),D0
ADD.L D0,D7
ADDQ.L #8,D7
LSR.L #4,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
MEN7LOOP EQU
*
MOVEQ.L #0,D1
MOVEQ.L #0,D7
MOVE.W 0(A1,A3.L),D7
MOVE.W D7,D1
LSL.L #2,D7
ADD.L D1,D7
LSL.L #2,D7
MOVE.W 2(A1,A3.L),D1
ADD.W -2(A1,A3.L),D1
MOVE.L D1,D0
LSL.L #4,D1
SUB.L D0,D1
ADD.L D1,D7
MOVEQ.L #0,D0
MOVE.W 4(A1,A3.L),D0
ADD.W -4(A1,A3.L),D0
MOVE.L D0,D1
LSL.L #1,D1
ADD.L D0,D1
LSL.L #1,D1
ADD.L D1,D7
MOVEQ.L #0,D0
MOVE.W 6(A1,A3.L),D0
ADD.W -6(A1,A3.L),D0
ADD.L D0,D7
ADDI.L #31,D7

MOVE.W A3,D0
LSR.B #1,D0
ANDI.W #01,D0
ADD.L D0,D7
LSR.L #6,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,MEN7LOOP
MOVEQ.L #0,D1
MOVEQ.L #0,D7
MOVE.W 0(A1,A3.L),D7
MOVE.W D7,D1
LSL.L #1,D7
ADD.L D1,D7
LSL.L #1,D7
MOVE.W 2(A1,A3.L),D1
ADD.W -2(A1,A3.L),D1
LSL.L #2,D1
ADD.L D1,D7
MOVE.W 4(A1,A3.L),D0
ADD.W -4(A1,A3.L),D0
ADD.L D0,D7
ADDQ.L #8,D7
LSR.L #4,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
MOVE.W 0(A1,A3.L),D0
MOVE.L D0,D7
ADD.L D0,D7
MOVE.W -2(A1,A3.L),D7
ADD.L D0,D7
MOVE.W 2(A1,A3.L),D7
ADD.L D0,D7
ADDQ.L #2,D7
LSR.L #2,D7
MOVE.W D7,0(A0,A4.L)
POP.L D7
MEN7RCX RTS
*
IMEN7X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN7X EQU
*
XDEF
MEN7X,IMEN7X
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S MEN7XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN7XRET
MOVEA.L D0,A0

LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
MEN7XLOOP EQU
*
JSR
MEN7RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,MEN7XLOOP
MEN7XRET EQU
*
RSTREG
BRA.L TRIMX
*
IMEN7Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN7Y EQU
*
XDEF
MEN7Y,IMEN7Y
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S MEN7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S MEN7XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S MEN7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
MEN7YLOOP EQU
*
JSR
MEN7RC(PC)
ADDA.L #2,A0
DBRA
D3,MEN7YLOOP
MEN7YX RSTREG
BRA.L TRIMY
*
IMEN7 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
MEN7
EQU
*
XDEF
MEN7,IMEN7
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
MEN7X(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)

PUSH.L
JSR
MOVEA.L
JMP

ARG1(PC)
MEN7Y(PC)
VVSAV7(PC),A0
(A0)

*
*
CNV3RC EQU
*
MOVEM.L D3/D4,-(A7)
MOVE.L D7,D5
SUBQ.L #1,D5
BLE
CNV3RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CCNV3LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CCNV3LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #3,D5
BLE.S CNV3RCX
LEA.L $2,A3
MOVEA.L D6,A4
CNV3LOOP EQU
*
MOVE.W -2(A1,A3.L),D0
MOVE.W 0(A1,A3.L),D1
MOVE.W 2(A1,A3.L),D2
* ACTUAL CALCULATION (3 BY) BEGIN
MULS
COEFF(PC),D0
MULS
COEFF+2(PC),D1
MULS
COEFF+4(PC),D2
ADD.L D2,D0
ADD.L D1,D0
CMP.L #0,D0
BPL.S CNV3OK
MOVEQ #0,D0
BRA.S CNV3BAD
CNV3OK
CMPI.W #1,NORM
BEQ.S CNV3NDV
DIVU
NORM(PC),D0
CNV3NDV CMP.W #$03FFF,D0
BCS.S CNV3BAD
MOVE.W #$03FFF,D0
* ACTUAL CALCULATION (3 BY) END
CNV3BAD MOVE.W D0,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CNV3LOOP
MOVEM.L (A7)+,D3/D4
CNV3RCX RTS
*
ICNV3X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV3X EQU
*

XDEF
CNV3X,ICNV3X
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S CNV3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S CNV3XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S CNV3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
CNV3XLOOP EQU
*
JSR
CNV3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,CNV3XLOOP
CNV3XRET EQU
*
RSTREG
FNRET 4
*
ICNV3Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV3Y EQU
*
XDEF
CNV3Y,ICNV3Y
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S CNV3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S CNV3XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S CNV3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
CNV3YLOOP EQU
*
JSR
CNV3RC(PC)
ADDA.L #2,A0
DBRA
D3,CNV3YLOOP
CNV3YX BRA.S CNV3XRET
*
ICNV3 EQU
*

CNV3

MOVEA.L
MOVEA.L
MOVE.L
EQU
XDEF
MOVE.L
POP.L
POP.L
POP.L
POP.L
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

12(A7),A1
(A1),A1
A1,12(A7)
*
CNV3,ICNV3
(A7)+,VVSAV7
ARG1
ARG2
ARG3
ARG4
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
CNV3X(PC)
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
CNV3Y(PC)
VVSAV7(PC),A0
(A0)

**
*ICNV3R EQU
*
*
MOVEA.L 12(A7),A1
*
MOVEA.L (A1),A1
*
MOVE.L A1,12(A7)
*CNV3R EQU
*
*
XDEF
CNV3R,ICNV3R
*
SAVREG
*
JSR
GETCOEFF(PC)
*
MOVEA.L 4(A5),A0
*
MOVE.L (A0),D4
*
ANDI.L #$01FF,D4
*
BEQ
CNV3YX
*
MOVEA.L 8(A5),A0
*
MOVE.L (A0),D3
*
BEQ
CNV3YX
*
ANDI.L #$01FF,D3
*
MOVE.L 12(A5),D0
*
AND.L ADRMASK(PC),D0
*
BEQ.S CNV3RX
*
MOVEA.L D0,A0
*
PUSH.L A0
*
LEA.L WS(PC),A1
*
MOVE.L D3,D6
*
ADD.L D3,D6
*
ADDQ.L #2,D6
*
CMP.L D3,D4
*
BGT.S CNV3R2
**
*
MOVE.L D4,D7
*
MOVEM.L D4/D6,-(A7)
*
SUBQ.L #2,D4
*
BLE.S CNV3R0S
*CNV3RL0OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7

*
DBLE
D4,CNV3RL0OP
**
*CNV3R0S EQU
*
*
MOVEM.L (A7)+,D4/D6
*
POP.L A0
*
ADDA.L #2,A0
*
MOVEM.L D4/D6,-(A7)
*
MOVE.L D4,D7
*
MOVE.L D3,D4
*
SUB.L D7,D4
*
SUBQ.L #2,D4
*
BLE.S CNV3R1S
*CNV3RL1OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L #2,A0
*
DBRA
D4,CNV3RL1OP
**
*CNV3R1S EQU
*
*
MOVEM.L (A7)+,D4/D6
*
SUBQ.L #2,D4
*
BLE.S CNV3R2S
*CNV3RL2OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L #2,A0
*
SUBQ.L #1,D7
*
DBLE
D4,CNV3RL2OP
**
*CNV3R2S EQU
*
*CNV3RX EQU
*
*
JMP
CNV3XRET(PC)
**
*CNV3R2 EQU
*
*
MOVE.L D3,D7
*
PUSH.L D6
*
SUB.L D3,D4
*
BLE.S CNV3R3S
*CNV3RL3OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
DBRA
D4,CNV3RL3OP
**
*CNV3R3S EQU
*
*
MOVE.L (A7),D6
*
MOVE.L D3,D4
*
SUBQ.L #2,D4
*
BLE.S CNV3R4S
*CNV3RL4OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7
*
DBLE
D4,CNV3RL4OP
**
*CNV3R4S EQU
*
*
POP.L D6
*
POP.L A0
*
ADDA.L #2,A0
*
MOVE.L D3,D4
*
SUBQ.L #2,D4

*
BLE.S CNV3R5S
*
MOVE.L D3,D7
*CNV3RL5OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L #2,A0
*
SUBQ.L #1,D7
*
DBLE
D4,CNV3RL5OP
**
*CNV3R5S EQU
*
*
JMP
CNV3XRET(PC)
**
**
*ICNV3L EQU
*
*
MOVEA.L 12(A7),A1
*
MOVEA.L (A1),A1
*
MOVE.L A1,12(A7)
*CNV3L EQU
*
*
XDEF
CNV3L,ICNV3L
*
SAVREG
*
JSR
GETCOEFF(PC)
*
MOVEA.L 4(A5),A0
*
MOVE.L (A0),D4
*
ANDI.L #$01FF,D4
*
BEQ.S CNV3R5S
*
MOVEA.L 8(A5),A0
*
MOVE.L (A0),D3
*
BEQ.S CNV3R5S
*
ANDI.L #$01FF,D3
*
MOVE.L 12(A5),D0
*
AND.L ADRMASK(PC),D0
*
BEQ.S CNV3R5S
*
MOVEA.L D0,A0
*
ADDA.L #2,A0
*
LEA.L WS(PC),A1
*
MOVE.L D3,D6
*
ADD.L D3,D6
*
SUBQ.L #2,D6
*
MOVEM.L D4/D6,-(A7)
*
CMP.W D3,D4
*
BLE.S CNV3LOK
*
MOVE.L D3,D4
*CNV3LOK EQU
*
*
SUBQ.L #2,D4
*
BLE.S CNV3L0S
*
MOVE.L #2,D7
*CNV3LL0OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L #2,A0
*
ADDQ.L #1,D7
*
DBRA
D4,CNV3LL0OP
**
*CNV3L0S EQU
*
*
MOVEM.L (A7)+,D4/D6
*
CMP.L D3,D4
*
BGT.S CNV3L2
*
MOVE.L D4,D7
*
MOVEM.L D4/D6,-(A7)
*
MOVE.L D3,D4
*
SUB.L D7,D4
*
BLE.S CNV3L1S

*CNV3LL1OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L #2,A0
*
DBRA
D4,CNV3LL1OP
**
*
SUBA.L #2,A0
*CNV3L1S EQU
*
*
MOVEM.L (A7)+,D4/D6
*CNV3LUC EQU
*
*
SUBQ.L #2,D4
*
BLE.S CNV3L2S
*CNV3LL2OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7
*
DBLE
D4,CNV3LL2OP
**
*CNV3L2S EQU
*
*CNV3LX EQU
*
*
JMP
CNV3XRET(PC)
**
*CNV3L2 EQU
*
*
PUSH.L D6
*
MOVE.L D3,D7
*
SUB.L D3,D4
*
SUBQ.L #1,D4
*
BLE.S CNV3L4S
*CNV3LL4OP EQU
*
*
JSR
CNV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
DBRA
D4,CNV3LL4OP
**
*CNV3L4S EQU
*
*
POP.L D6
*
MOVE.L D3,D4
*
BRA.S CNV3LUC
**
SUBQ.L #2,D4
**
BLE.S CNV3L5S
**CNV3LL5OP EQU
*
**
JSR
CNV3RC(PC)
**
ADDA.L D3,A0
**
ADDA.L D3,A0
**
SUBQ.L #1,D7
**
DBLE
D4,CNV3LL5OP
***
**CNV3L5S EQU
*
**
JMP
CNV3XRET(PC)
**
*ICNV3D EQU
*
*
MOVEA.L 12(A7),A1
*
MOVEA.L (A1),A1
*
MOVE.L A1,12(A7)
*CNV3D EQU
*
*
XDEF
CNV3D,ICNV3D
*
MOVE.L (A7)+,VVSAV7
*
POP.L ARG1
*
POP.L ARG2
*
POP.L ARG3

*
POP.L ARG4
*
PUSH.L ARG4(PC)
*
PUSH.L ARG3(PC)
*
PUSH.L ARG2(PC)
*
PUSH.L ARG1(PC)
*
JSR
CNV3R(PC)
*
PUSH.L ARG4(PC)
*
PUSH.L ARG3(PC)
*
PUSH.L ARG2(PC)
*
PUSH.L ARG1(PC)
*
JSR
CNV3L(PC)
*
MOVEA.L VVSAV7(PC),A0
*
JMP
(A0)
**
*
ANV3RC EQU
*
MOVEM.L D3/D4,-(A7)
MOVE.L D7,D5
SUBQ.L #1,D5
BLE
ANV3RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CANV3LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CANV3LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #3,D5
BLE.S ANV3RCX
LEA.L $2,A3
MOVEA.L D6,A4
ANV3LOOP EQU
*
MOVE.W -2(A1,A3.L),D0
MOVE.W 0(A1,A3.L),D1
MOVE.W 2(A1,A3.L),D2
* ACTUAL CALCULATION (3 BY) BEGIN
MULS
COEFF(PC),D0
MULS
COEFF+2(PC),D1
MULS
COEFF+4(PC),D2
ADD.L D2,D0
ADD.L D1,D0
CMP.L #0,D0
BPL.S ANV3OK
MOVEQ #0,D0
BRA.S ANV3BAD
ANV3OK
CMPI.W #1,NORM
BEQ.S ANV3NDV
DIVU
NORM(PC),D0
ANV3NDV CMP.W #0,D0
BGE.S ANV3POS
NEG.W D0
ANV3POS CMP.W #$03FFF,D0
BCS.S ANV3BAD
MOVE.W #$03FFF,D0
* ACTUAL CALCULATION (3 BY) END

ANV3BAD

MOVE.W D0,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,ANV3LOOP
MOVEM.L (A7)+,D3/D4
ANV3RCX RTS
*
IANV3X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV3X EQU
*
XDEF
ANV3X,IANV3X
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S ANV3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S ANV3XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S ANV3XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
ANV3XLOOP EQU
*
JSR
ANV3RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,ANV3XLOOP
ANV3XRET EQU
*
RSTREG
FNRET 4
*
IANV3Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV3Y EQU
*
XDEF
ANV3Y,IANV3Y
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S ANV3XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S ANV3XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S ANV3XRET
MOVEA.L D0,A0

LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
ANV3YLOOP EQU
*
JSR
ANV3RC(PC)
ADDA.L #2,A0
DBRA
D3,ANV3YLOOP
ANV3YX BRA.S ANV3XRET
*
IANV3 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV3
EQU
*
XDEF
ANV3,IANV3
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
POP.L ARG4
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
ANV3X(PC)
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
ANV3Y(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
**
*IANV3R EQU
*
*
MOVEA.L 12(A7),A1
*
MOVEA.L (A1),A1
*
MOVE.L A1,12(A7)
*ANV3R EQU
*
*
XDEF
ANV3R,IANV3R
*
SAVREG
*
JSR
GETCOEFF(PC)
*
MOVEA.L 4(A5),A0
*
MOVE.L (A0),D4
*
ANDI.L #$01FF,D4
*
BEQ
ANV3YX
*
MOVEA.L 8(A5),A0
*
MOVE.L (A0),D3
*
BEQ
ANV3YX
*
ANDI.L #$01FF,D3
*
MOVE.L 12(A5),D0
*
AND.L ADRMASK(PC),D0
*
BEQ.S ANV3RX
*
MOVEA.L D0,A0
*
PUSH.L A0
*
LEA.L WS(PC),A1
*
MOVE.L D3,D6
*
ADD.L D3,D6
*
ADDQ.L #2,D6

*
CMP.L D3,D4
*
BGT.S ANV3R2
**
*
MOVE.L D4,D7
*
MOVEM.L D4/D6,-(A7)
*
SUBQ.L #2,D4
*
BLE.S ANV3R0S
*ANV3RL0OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7
*
DBLE
D4,ANV3RL0OP
**
*ANV3R0S EQU
*
*
MOVEM.L (A7)+,D4/D6
*
POP.L A0
*
ADDA.L #2,A0
*
MOVEM.L D4/D6,-(A7)
*
MOVE.L D4,D7
*
MOVE.L D3,D4
*
SUB.L D7,D4
*
SUBQ.L #2,D4
*
BLE.S ANV3R1S
*ANV3RL1OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L #2,A0
*
DBRA
D4,ANV3RL1OP
**
*ANV3R1S EQU
*
*
MOVEM.L (A7)+,D4/D6
*
SUBQ.L #2,D4
*
BLE.S ANV3R2S
*ANV3RL2OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L #2,A0
*
SUBQ.L #1,D7
*
DBLE
D4,ANV3RL2OP
**
*ANV3R2S EQU
*
*ANV3RX EQU
*
*
JMP
ANV3XRET(PC)
**
*ANV3R2 EQU
*
*
MOVE.L D3,D7
*
PUSH.L D6
*
SUB.L D3,D4
*
BLE.S ANV3R3S
*ANV3RL3OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
DBRA
D4,ANV3RL3OP
**
*ANV3R3S EQU
*
*
MOVE.L (A7),D6
*
MOVE.L D3,D4
*
SUBQ.L #2,D4
*
BLE.S ANV3R4S
*ANV3RL4OP EQU
*

*
JSR
ANV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7
*
DBLE
D4,ANV3RL4OP
**
*ANV3R4S EQU
*
*
POP.L D6
*
POP.L A0
*
ADDA.L #2,A0
*
MOVE.L D3,D4
*
SUBQ.L #2,D4
*
BLE.S ANV3R5S
*
MOVE.L D3,D7
*ANV3RL5OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L #2,A0
*
SUBQ.L #1,D7
*
DBLE
D4,ANV3RL5OP
**
*ANV3R5S EQU
*
*
JMP
ANV3XRET(PC)
**
**
*IANV3L EQU
*
*
MOVEA.L 12(A7),A1
*
MOVEA.L (A1),A1
*
MOVE.L A1,12(A7)
*ANV3L EQU
*
*
XDEF
ANV3L,IANV3L
*
SAVREG
*
JSR
GETCOEFF(PC)
*
MOVEA.L 4(A5),A0
*
MOVE.L (A0),D4
*
ANDI.L #$01FF,D4
*
BEQ.S ANV3R5S
*
MOVEA.L 8(A5),A0
*
MOVE.L (A0),D3
*
BEQ.S ANV3R5S
*
ANDI.L #$01FF,D3
*
MOVE.L 12(A5),D0
*
AND.L ADRMASK(PC),D0
*
BEQ.S ANV3R5S
*
MOVEA.L D0,A0
*
ADDA.L #2,A0
*
LEA.L WS(PC),A1
*
MOVE.L D3,D6
*
ADD.L D3,D6
*
SUBQ.L #2,D6
*
MOVEM.L D4/D6,-(A7)
*
CMP.W D3,D4
*
BLE.S ANV3LOK
*
MOVE.L D3,D4
*ANV3LOK EQU
*
*
SUBQ.L #2,D4
*
BLE.S ANV3L0S
*
MOVE.L #2,D7
*ANV3LL0OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L #2,A0

*
ADDQ.L #1,D7
*
DBRA
D4,ANV3LL0OP
**
*ANV3L0S EQU
*
*
MOVEM.L (A7)+,D4/D6
*
CMP.L D3,D4
*
BGT.S ANV3L2
*
MOVE.L D4,D7
*
MOVEM.L D4/D6,-(A7)
*
MOVE.L D3,D4
*
SUB.L D7,D4
*
BLE.S ANV3L1S
*ANV3LL1OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L #2,A0
*
DBRA
D4,ANV3LL1OP
**
*
SUBA.L #2,A0
*ANV3L1S EQU
*
*
MOVEM.L (A7)+,D4/D6
*ANV3LUC EQU
*
*
SUBQ.L #2,D4
*
BLE.S ANV3L2S
*ANV3LL2OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
SUBQ.L #1,D7
*
DBLE
D4,ANV3LL2OP
**
*ANV3L2S EQU
*
*ANV3LX EQU
*
*
JMP
ANV3XRET(PC)
**
*ANV3L2 EQU
*
*
PUSH.L D6
*
MOVE.L D3,D7
*
SUB.L D3,D4
*
SUBQ.L #1,D4
*
BLE.S ANV3L4S
*ANV3LL4OP EQU
*
*
JSR
ANV3RC(PC)
*
ADDA.L D3,A0
*
ADDA.L D3,A0
*
DBRA
D4,ANV3LL4OP
**
*ANV3L4S EQU
*
*
POP.L D6
*
MOVE.L D3,D4
*
BRA.S ANV3LUC
**
SUBQ.L #2,D4
**
BLE.S ANV3L5S
**ANV3LL5OP EQU
*
**
JSR
ANV3RC(PC)
**
ADDA.L D3,A0
**
ADDA.L D3,A0
**
SUBQ.L #1,D7
**
DBLE
D4,ANV3LL5OP
***
**ANV3L5S EQU
*

**
**
*IANV3D
*
*
*
*ANV3D
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
**
*
CNV5RC

JMP
EQU
MOVEA.L
MOVEA.L
MOVE.L
EQU
XDEF
MOVE.L
POP.L
POP.L
POP.L
POP.L
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

ANV3XRET(PC)
*
12(A7),A1
(A1),A1
A1,12(A7)
*
ANV3D,IANV3D
(A7)+,VVSAV7
ARG1
ARG2
ARG3
ARG4
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
ANV3R(PC)
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
ANV3L(PC)
VVSAV7(PC),A0
(A0)

EQU
*
MOVEM.L D3/D4,-(A7)
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L CNV5RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CCNV5LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CCNV5LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #5,D5
BLE.L CNV5RCX
LEA.L $4,A3
MOVEA.L D6,A4
MOVEQ.L #0,D0
PUSH.L D7
MOVEQ #0,D1
MOVE.W (A1),D7
DO A BY3 AT BEGIN
MOVE.W COEFF+4(PC),D1
MULS
D1,D7
MOVE.W 2(A1),D0
MULS
COEFF+6(PC),D0
ADD.W COEFF+6(PC),D1
ADD.L D0,D7
MOVE.W 4(A1),D0
MULS
COEFF+8(PC),D0

CBV5OK

CBV5NDV
CBV50K
CNV5LOOP
* ACTUAL

CNV5OK
CNV5NDV
* ACTUAL
CNV50K

ADD.W COEFF+8(PC),D1
ADD.L D0,D7
CMP.L #0,D7
BPL.S CBV5OK
MOVEQ #0,D7
BRA.S CBV50K
CMPI.W #1,D1
BEQ.S CBV5NDV
CMPI.W #0,D1
BLE.S CBV5NDV
DIVU
D1,D7
CMP.W #$03FFF,D7
BCS.S CBV50K
MOVE.W #$03FFF,D7
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
EQU
*
CALCULATION (5 BY) BEGIN
MOVE.W -4(A1,A3.L),D7
MULS
COEFF(PC),D7
MOVE.W -2(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.L D0,D7
MOVE.W 0(A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.L D0,D7
MOVE.W 4(A1,A3.L),D0
MULS
COEFF+6(PC),D0
ADD.L D0,D7
MOVE.W 6(A1,A3.L),D0
MULS
COEFF+8(PC),D0
ADD.L D0,D7
CMP.L #0,D7
BPL.S CNV5OK
MOVEQ #0,D7
BRA.S CNV50K
CMPI.W #1,NORM
BEQ.S CNV5NDV
DIVU
NORM(PC),D7
CMP.W #$03FFF,D7
BCS.S CNV50K
MOVE.W #$03FFF,D7
CALCULATION (5 BY) END
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CNV5LOOP
MOVEQ #0,D1
MOVE.W -2(A1,A3.L),D7
MOVE.W COEFF(PC),D1
MULS
D1,D7
MOVE.W 0(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.W COEFF+2(PC),D1
ADD.L D0,D7
MOVE.W 2(A1,A3.L),D7
MULS
COEFF+4(PC),D0
ADD.W COEFF+4(PC),D1
ADD.L D0,D7
CMP.L #0,D7

DO A BY3 AT END

CAV5OK

CAV5NDV
CAV50K

BPL.S
MOVEQ
BRA.S
CMPI.W
BEQ.S
CMPI.W
BLE.S
DIVU
CMP.W
BCS.S
MOVE.W
MOVE.W
POP.L
MOVEM.L
RTS

CAV5OK
#0,D7
CAV50K
#1,D1
CAV5NDV
#0,D1
CAV5NDV
D1,D7
#$03FFF,D7
CAV50K
#$03FFF,D7
D7,0(A0,A4.L)
D7
(A7)+,D3/D4

CNV5RCX
*
ICNV5X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV5X EQU
*
XDEF
CNV5X,ICNV5X
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S CNV5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S CNV5XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S CNV5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
CNV5XLOOP EQU
*
JSR
CNV5RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,CNV5XLOOP
CNV5XRET EQU
*
RSTREG
FNRET 4
*
ICNV5Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV5Y EQU
*
XDEF
CNV5Y,ICNV5Y
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4

BEQ.S CNV5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S CNV5XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S CNV5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
CNV5YLOOP EQU
*
JSR
CNV5RC(PC)
ADDA.L #2,A0
DBRA
D3,CNV5YLOOP
CNV5YX BRA.S CNV5XRET
*
ICNV5 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV5
EQU
*
XDEF
CNV5,ICNV5
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
POP.L ARG4
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
CNV5X(PC)
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
CNV5Y(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
*
ANV5RC EQU
*
MOVEM.L D3/D4,-(A7)
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L ANV5RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CANV5LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CANV5LOOP
MOVE.L #0,0(A1,A3.L)

MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #5,D5
BLE.L ANV5RCX
LEA.L $4,A3
MOVEA.L D6,A4
MOVEQ.L #0,D0
PUSH.L D7
MOVEQ #0,D1
MOVE.W (A1),D7
DO A BY3 AT BEGIN
MOVE.W COEFF+4(PC),D1
MULS
D1,D7
MOVE.W 2(A1),D0
MULS
COEFF+6(PC),D0
ADD.W COEFF+6(PC),D1
ADD.L D0,D7
MOVE.W 4(A1),D0
MULS
COEFF+8(PC),D0
ADD.W COEFF+8(PC),D1
ADD.L D0,D7
CMP.L #0,D7
BPL.S ABV5OK
MOVEQ #0,D7
BRA.S ABV50K
ABV5OK CMPI.W #1,D1
BEQ.S ABV5NDV
CMPI.W #0,D1
BEQ.S ABV5NDV
DIVU
D1,D7
ABV5NDV CMP.W #0,D7
BGE.S ABV5POS
NEG.W D7
ABV5POS CMP.W #$03FFF,D7
BCS.S ABV50K
MOVE.W #$03FFF,D7
ABV50K MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ANV5LOOP EQU
*
* ACTUAL CALCULATION (5 BY) BEGIN
MOVE.W -4(A1,A3.L),D7
MULS
COEFF(PC),D7
MOVE.W -2(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.L D0,D7
MOVE.W 0(A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.L D0,D7
MOVE.W 4(A1,A3.L),D0
MULS
COEFF+6(PC),D0
ADD.L D0,D7
MOVE.W 6(A1,A3.L),D0
MULS
COEFF+8(PC),D0
ADD.L D0,D7
CMP.L #0,D7
BPL.S ANV5OK
MOVEQ #0,D7
BRA.S ANV50K
ANV5OK
CMPI.W #1,NORM
BEQ.S ANV5NDV
DIVU
NORM(PC),D7

ANV5NDV

CMP.W #0,D7
BGE.S ANV5POS
NEG.W D7
ANV5POS CMP.W #$03FFF,D7
BCS.S ANV50K
MOVE.W #$03FFF,D7
* ACTUAL CALCULATION (5 BY) END
ANV50K
MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,ANV5LOOP
MOVEQ #0,D1
MOVE.W -2(A1,A3.L),D7
MOVE.W COEFF(PC),D1
MULS
D1,D7
MOVE.W 0(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.W COEFF+2(PC),D1
ADD.L D0,D7
MOVE.W 2(A1,A3.L),D7
MULS
COEFF+4(PC),D0
ADD.W COEFF+4(PC),D1
ADD.L D0,D7
CMP.L #0,D7
BPL.S AAV5OK
MOVEQ #0,D7
BRA.S AAV50K
AAV5OK CMPI.W #1,D1
BEQ.S AAV5NDV
CMPI.W #0,D1
BLE.S AAV5NDV
DIVU
D1,D7
AAV5NDV CMP.W #0,D7
BGE.S AAV5POS
NEG.W D7
AAV5POS CMP.W #$03FFF,D7
BCS.S AAV50K
MOVE.W #$03FFF,D7
AAV50K MOVE.W D7,0(A0,A4.L)
POP.L D7
MOVEM.L (A7)+,D3/D4
ANV5RCX RTS
*
IANV5X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV5X EQU
*
XDEF
ANV5X,IANV5X
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S ANV5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S ANV5XRET
MOVE.L 12(A5),D0

DO A BY3 AT END

AND.L ADRMASK(PC),D0
BEQ.S ANV5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
ANV5XLOOP EQU
*
JSR
ANV5RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,ANV5XLOOP
ANV5XRET EQU
*
RSTREG
FNRET 4
*
IANV5Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV5Y EQU
*
XDEF
ANV5Y,IANV5Y
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S ANV5XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S ANV5XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S ANV5XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
ANV5YLOOP EQU
*
JSR
ANV5RC(PC)
ADDA.L #2,A0
DBRA
D3,ANV5YLOOP
ANV5YX BRA.S ANV5XRET
*
IANV5 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV5
EQU
*
XDEF
ANV5,IANV5
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
POP.L ARG4
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)

PUSH.L
PUSH.L
JSR
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

ARG2(PC)
ARG1(PC)
ANV5X(PC)
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
ANV5Y(PC)
VVSAV7(PC),A0
(A0)

*
*
CNV7RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L CNV7RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CCNV7LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CCNV7LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #7,D5
BLE.L CNV7RCX
LEA.L $4,A3
MOVEA.L D6,A4
MOVEQ.L #0,D0
MOVEM.L D3/D4/A0,-(A7)
PUSH.L D7
MOVEQ #0,D1
MOVE.W (A1),D7 DO A BY3 AT BEGIN
MOVE.W COEFF+8(PC),D1
MULS
D1,D7
MOVE.W 2(A1),D0
MULS
COEFF+10(PC),D0
ADD.W COEFF+10(PC),D1
ADD.L D0,D7
MOVE.W 4(A1),D0
MULS
COEFF+12(PC),D0
ADD.W COEFF+12(PC),D1
ADD.L D0,D7
CMP.L #0,D7
BPL.S CBV7OK
MOVEQ #0,D7
BRA.S CBV70K
CBV7OK CMPI.W #1,D1
BEQ.S CBV7NDV
CMPI.L #0,D1
BLE.S CBV7NDV
DIVU
D1,D7
CBV7NDV CMP.W #$03FFF,D7
BCS.S CBV70K
MOVE.W #$03FFF,D7
CBV70K MOVE.W D7,0(A0,A4.L)

ADDA.L D6,A4
MOVE.W (A1),D7 DO A BY5 AT BEGIN
MULS
COEFF+4(PC),D7
ADD.W COEFF+4(PC),D1
MOVE.W 2(A1),D0
MULS
COEFF+6(PC),D0
ADD.W COEFF+6(PC),D1
ADD.L D0,D7
MOVE.W 4(A1),D0
MULS
COEFF+8(PC),D0
ADD.L D0,D7
MOVE.W 6(A1),D0
MULS
COEFF+10(PC),D0
ADD.L D0,D7
MOVE.W 8(A1),D0
MULS
COEFF+12(PC),D0
ADD.L D0,D7
CMP.L #0,D7
BPL.S CNB7OK
MOVEQ #0,D7
BRA.S CNB70K
CNB7OK CMPI.W #1,D1
BEQ.S CNB7NDV
CMPI.L #0,D1
BLE.S CNB7NDV
DIVU
D1,D7
CNB7NDV CMP.W #$03FFF,D7
BCS.S CNB70K
MOVE.W #$03FFF,D7
CNB70K MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
CNV7LOOP EQU
*
* ACTUAL CALCULATION (7 BY) BEGIN
MOVE.W (A1,A3.L),D7
MULS
COEFF(PC),D7
MOVE.W 2(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.L D0,D7
MOVE.W 4(A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.L D0,D7
MOVE.W 6(A1,A3.L),D0
MULS
COEFF+6(PC),D0
ADD.L D0,D7
MOVE.W 8(A1,A3.L),D0
MULS
COEFF+8(PC),D0
ADD.L D0,D7
MOVE.W 10(A1,A3.L),D0
MULS
COEFF+10(PC),D0
ADD.L D0,D7
MOVE.W 12(A1,A3.L),D0
MULS
COEFF+12(PC),D0
ADD.L D0,D7
CMP.L #0,D7
BPL.S CNV7OK
MOVEQ #0,D7
BRA.S CNV70K
CNV7OK CMPI.W #1,NORM
BEQ.S CNV7NDV

DIVU
NORM(PC),D7
CNV7NDV CMP.W #$03FFF,D7
BCS.S CNV70K
MOVE.W #$03FFF,D7
CNV70K MOVE.W D7,0(A0,A4.L)
* ACTUAL CALCULATION (7 BY) END
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CNV7LOOP
MOVEQ #0,D1
MOVE.W -4(A1,A3.L),D7 DO A BY5 AT END
MOVE.W COEFF(PC),D1
MULS
D1,D7
MOVE.W -2(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.W COEFF+2(PC),D1
ADD.L D0,D7
MOVE.W (A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.W COEFF+4(PC),D1
MOVE.L D1,D2
ADD.L D0,D7
MOVE.W 2(A1,A3.L),D0
MULS
COEFF+6(PC),D0
ADD.W COEFF+6(PC),D1
ADD.L D0,D7
MOVE.W 4(A1,A3.L),D0
MULS
COEFF+8(PC),D0
ADD.W COEFF+8(PC),D1
ADD.L D0,D7
CMP.L #0,D7
BPL.S CNA7OK
MOVEQ #0,D7
BRA.S CNA70K
CNA7OK CMPI.W #1,D1
BEQ.S CNA7NDV
CMPI.W #0,D1
BLE.S CNA7NDV
DIVU
D1,D7
CNA7NDV CMP.W #$03FFF,D7
BCS.S CNA70K
MOVE.W #$03FFF,D7
CNA70K MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
MOVE.W -2(A1,A3.L),D7 DO A BY3 AT END
MULS
COEFF(PC),D7
MOVE.W (A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.L D0,D7
MOVE.W 2(A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.L D0,D7
CMP.L #0,D7
BPL.S CAV7OK
MOVEQ #0,D7
BRA.S CAV70K
CAV7OK CMPI.W #1,D2
BEQ.S CAV7NDV
CMPI.W #0,D2

BLE.S CAV7NDV
DIVU
D2,D7
CAV7NDV CMP.W #$03FFF,D7
BCS.S CAV70K
MOVE.W #$03FFF,D7
CAV70K MOVE.W D7,0(A0,A4.L)
POP.L D7
MOVEM.L (A7)+,D3/D4/A0
CNV7RCX RTS
ICNV7X EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV7X EQU
*
XDEF
CNV7X,ICNV7X
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S CNV7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S CNV7XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S CNV7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
CNV7XLOOP EQU
*
JSR
CNV7RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,CNV7XLOOP
CNV7XRET EQU
*
RSTREG
FNRET 4
*
ICNV7Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV7Y EQU
*
XDEF
CNV7Y,ICNV7Y
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S CNV7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S CNV7XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0

BEQ.S CNV7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
CNV7YLOOP EQU
*
JSR
CNV7RC(PC)
ADDA.L #2,A0
DBRA
D3,CNV7YLOOP
CNV7YX BRA.S CNV7XRET
*
ICNV7 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
CNV7
EQU
*
XDEF
CNV7,ICNV7
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
POP.L ARG4
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
CNV7X(PC)
PUSH.L ARG4(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
CNV7Y(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
ANV7RC EQU
*
MOVE.L D7,D5
SUBQ.L #1,D5
BLE.L ANV7RCX
LEA.L $0,A3
MOVEA.L A3,A4
MOVE.L #0,-8(A1,A3.L)
MOVE.L #0,-4(A1,A3.L)
CANV7LOOP EQU
*
MOVE.W 0(A0,A4.L),0(A1,A3.L)
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,CANV7LOOP
MOVE.L #0,0(A1,A3.L)
MOVE.L #0,4(A1,A3.L)
MOVE.L D7,D5
SUBQ.L #7,D5
BLE.L ANV7RCX
LEA.L $4,A3
MOVEA.L D6,A4
MOVEQ.L #0,D0
MOVEM.L D3/D4/A0,-(A7)
PUSH.L D7

ABV7OK

ABV7NDV
ABV7POS
ABV70K

ANB7OK

ANB7NDV
ANB7POS

MOVEQ
MOVE.W
MOVE.W
MULS
MOVE.W
MULS
ADD.W
ADD.L
MOVE.W
MULS
ADD.W
ADD.L
CMP.L
BPL.S
MOVEQ
BRA.S
CMPI.W
BEQ.S
CMPI.L
BEQ.S
DIVU
CMP.W
BGE.S
NEG.W
CMP.W
BCS.S
MOVE.W
MOVE.W
ADDA.L
MOVE.W
MULS
ADD.W
MOVE.W
MULS
ADD.W
ADD.L
MOVE.W
MULS
ADD.L
MOVE.W
MULS
ADD.L
MOVE.W
MULS
ADD.L
CMP.L
BPL.S
MOVEQ
BRA.S
CMPI.W
BEQ.S
CMPI.L
BEQ.S
DIVU
CMP.W
BGE.S
NEG.W
CMP.W
BCS.S
MOVE.W

#0,D1
(A1),D7 DO A BY3 AT BEGIN
COEFF+8(PC),D1
D1,D7
2(A1),D0
COEFF+10(PC),D0
COEFF+10(PC),D1
D0,D7
4(A1),D0
COEFF+12(PC),D0
COEFF+12(PC),D1
D0,D7
#0,D7
ABV7OK
#0,D7
ABV70K
#1,D1
ABV7NDV
#0,D1
ABV7NDV
D1,D7
#0,D7
ABV7POS
D7
#$03FFF,D7
ABV70K
#$03FFF,D7
D7,0(A0,A4.L)
D6,A4
(A1),D7 DO A BY5 AT BEGIN
COEFF+4(PC),D7
COEFF+4(PC),D1
2(A1),D0
COEFF+6(PC),D0
COEFF+6(PC),D1
D0,D7
4(A1),D0
COEFF+8(PC),D0
D0,D7
6(A1),D0
COEFF+10(PC),D0
D0,D7
8(A1),D0
COEFF+12(PC),D0
D0,D7
#0,D7
ANB7OK
#0,D7
ANB70K
#1,D1
ANB7NDV
#0,D1
ANB7NDV
D1,D7
#0,D7
ANB7POS
D7
#$03FFF,D7
ANB70K
#$03FFF,D7

ANB70K

MOVE.W D7,0(A0,A4.L)
ADDA.L D6,A4
ADDQ.L #2,A3
ANV7LOOP EQU
*
* ACTUAL AALCULATION (7 BY) BEGIN
MOVE.W (A1,A3.L),D7
MULS
COEFF(PC),D7
MOVE.W 2(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.L D0,D7
MOVE.W 4(A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.L D0,D7
MOVE.W 6(A1,A3.L),D0
MULS
COEFF+6(PC),D0
ADD.L D0,D7
MOVE.W 8(A1,A3.L),D0
MULS
COEFF+8(PC),D0
ADD.L D0,D7
MOVE.W 10(A1,A3.L),D0
MULS
COEFF+10(PC),D0
ADD.L D0,D7
MOVE.W 12(A1,A3.L),D0
MULS
COEFF+12(PC),D0
ADD.L D0,D7
CMP.L #0,D7
BPL.S ANV7OK
MOVEQ #0,D7
BRA.S ANV70K
ANV7OK CMPI.W #1,NORM
BEQ.S ANV7NDV
DIVU
NORM(PC),D7
ANV7NDV CMP.W #0,D7
BGE.S ANV7POS
NEG.W D7
ANV7POS CMP.W #$03FFF,D7
BCS.S ANV70K
MOVE.W #$03FFF,D7
ANV70K MOVE.W D7,0(A0,A4.L)
* ACTUAL AALCULATION (7 BY) END
ADDA.L D6,A4
ADDQ.L #2,A3
DBRA
D5,ANV7LOOP
MOVEQ #0,D1
MOVE.W -4(A1,A3.L),D7 DO A BY5 AT END
MOVE.W COEFF(PC),D1
MULS
D1,D7
MOVE.W -2(A1,A3.L),D0
MULS
COEFF+2(PC),D0
ADD.W COEFF+2(PC),D1
ADD.L D0,D7
MOVE.W (A1,A3.L),D0
MULS
COEFF+4(PC),D0
ADD.W COEFF+4(PC),D1
MOVE.L D1,D2
ADD.L D0,D7
MOVE.W 2(A1,A3.L),D0
MULS
COEFF+6(PC),D0
ADD.W COEFF+6(PC),D1
ADD.L D0,D7

ANA7OK

ANA7NDV
ANA7POS
ANA70K

AAV7OK

AAV7NDV
AAV7POS
AAV70K

MOVE.W
MULS
ADD.W
ADD.L
CMP.L
BPL.S
MOVEQ
BRA.S
CMPI.W
BEQ.S
CMPI.W
BEQ.S
DIVU
CMP.W
BGE.S
NEG.W
CMP.W
BCS.S
MOVE.W
MOVE.W
ADDA.L
ADDQ.L
MOVE.W
MULS
MOVE.W
MULS
ADD.L
MOVE.W
MULS
ADD.L
CMP.L
BPL.S
MOVEQ
BRA.S
CMPI.W
BEQ.S
CMPI.W
BEQ.S
DIVU
CMP.W
BGE.S
NEG.W
CMP.W
BCS.S
MOVE.W
MOVE.W
POP.L
MOVEM.L
RTS

ANV7RCX
*
IANV7X EQU
MOVEA.L
MOVEA.L
MOVE.L
ANV7X EQU
XDEF
SAVREG
JSR
MOVEA.L
MOVE.L

4(A1,A3.L),D0
COEFF+8(PC),D0
COEFF+8(PC),D1
D0,D7
#0,D7
ANA7OK
#0,D7
ANA70K
#1,D1
ANA7NDV
#0,D1
ANA7NDV
D1,D7
#$03FFF,D7
ANA7POS
D7
#$03FFF,D7
ANA70K
#$03FFF,D7
D7,0(A0,A4.L)
D6,A4
#2,A3
-2(A1,A3.L),D7 DO A BY3 AT END
COEFF(PC),D7
(A1,A3.L),D0
COEFF+2(PC),D0
D0,D7
2(A1,A3.L),D0
COEFF+4(PC),D0
D0,D7
#0,D7
AAV7OK
#0,D7
AAV70K
#1,D2
AAV7NDV
#0,D2
AAV7NDV
D2,D7
#0,D7
AAV7POS
D7
#$03FFF,D7
AAV70K
#$03FFF,D7
D7,0(A0,A4.L)
D7
(A7)+,D3/D4/A0
*
12(A7),A1
(A1),A1
A1,12(A7)
*
ANV7X,IANV7X
GETCOEFF(PC)
4(A5),A0
(A0),D4

ANDI.L #$01FF,D4
BEQ.S ANV7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S ANV7XRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S ANV7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D3,D7
MOVEQ.L #2,D6
SUBQ.L #1,D4
ANV7XLOOP EQU
*
JSR
ANV7RC(PC)
ADDA.L D3,A0
ADDA.L D3,A0
DBRA
D4,ANV7XLOOP
ANV7XRET EQU
*
RSTREG
FNRET 4
*
IANV7Y EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV7Y EQU
*
XDEF
ANV7Y,IANV7Y
SAVREG
JSR
GETCOEFF(PC)
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S ANV7XRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
BEQ.S ANV7XRET
ANDI.L #$01FF,D3
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S ANV7XRET
MOVEA.L D0,A0
LEA.L WS(PC),A1
MOVE.L D4,D7
MOVE.L D3,D6
ADD.L D3,D6
SUBQ.L #1,D3
ANV7YLOOP EQU
*
JSR
ANV7RC(PC)
ADDA.L #2,A0
DBRA
D3,ANV7YLOOP
ANV7YX BRA.S ANV7XRET
*
IANV7 EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
ANV7
EQU
*
XDEF
ANV7,IANV7

MOVE.L
POP.L
POP.L
POP.L
POP.L
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
PUSH.L
PUSH.L
PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

(A7)+,VVSAV7
ARG1
ARG2
ARG3
ARG4
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
ANV7X(PC)
ARG4(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
ANV7Y(PC)
VVSAV7(PC),A0
(A0)

*
*
ITRIMX EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
TRIMX EQU
*
XDEF
TRIMX,ITRIMX
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S TRIMXRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S TRIMXRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S TRIMXRET
MOVEA.L D0,A0
MOVE.L D3,D5
ADD.L D3,D5
MOVE.L D5,D6
MULU
D4,D6
SUB.L D5,D6
MOVEQ #0,D0
SUBQ.L #1,D3
TRIMXLOOP MOVE.W D0,0(A0,D6.L)
MOVE.W D0,(A0)+
DBRA
D3,TRIMXLOOP
TRIMXRET EQU
*
RSTREG
FNRET 3
*
ITRIMY EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
TRIMY EQU
*
XDEF
TRIMY,ITRIMY
SAVREG
MOVEA.L 4(A5),A0

MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S TRIMYRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S TRIMYRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S TRIMYRET
MOVEA.L D0,A0
MOVE.L D3,D5
ADD.L D3,D5
MOVE.L D5,D6
SUBQ.L #2,D6
SUBQ.L #1,D4
MOVEQ #0,D0
TRIMYLOOP MOVE.W D0,0(A0,D6.L)
MOVE.W D0,(A0)
ADDA.L D5,A0
DBRA
D4,TRIMYLOOP
TRIMYRET EQU
*
RSTREG
FNRET 3
*
ITRIM EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
TRIM
EQU
*
XDEF
TRIM,ITRIM
MOVE.L (A7)+,VVSAV7
POP.L ARG1
POP.L ARG2
POP.L ARG3
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
TRIMX(PC)
PUSH.L ARG3(PC)
PUSH.L ARG2(PC)
PUSH.L ARG1(PC)
JSR
TRIMY(PC)
MOVEA.L VVSAV7(PC),A0
JMP
(A0)
*
ITWIMX EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
TWIMX EQU
*
XDEF
TWIMX,ITWIMX
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S TWIMXRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3

BEQ.S TWIMXRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S TWIMXRET
MOVEA.L D0,A0
MOVE.L D3,D5
ADD.L D3,D5
MOVE.L D5,D6
MULU
D4,D6
SUB.L D5,D6
MOVE.L D6,D7
SUB.L D5,D7
MOVEQ #0,D0
SUBQ.L #1,D3
TWIMXLOOP MOVE.W D0,0(A0,D6.L)
MOVE.W D0,0(A0,D7.L)
MOVE.W D0,0(A0,D5.L)
MOVE.W D0,(A0)+
DBRA
D3,TWIMXLOOP
TWIMXRET EQU
*
RSTREG
FNRET 3
*
ITWIMY EQU
*
MOVEA.L 12(A7),A1
MOVEA.L (A1),A1
MOVE.L A1,12(A7)
TWIMY EQU
*
XDEF
TWIMY,ITWIMY
SAVREG
MOVEA.L 4(A5),A0
MOVE.L (A0),D4
ANDI.L #$01FF,D4
BEQ.S TWIMYRET
MOVEA.L 8(A5),A0
MOVE.L (A0),D3
ANDI.L #$01FF,D3
BEQ.S TWIMYRET
MOVE.L 12(A5),D0
AND.L ADRMASK(PC),D0
BEQ.S TWIMYRET
MOVEA.L D0,A0
MOVE.L D3,D5
ADD.L D3,D5
MOVE.L D5,D6
SUBQ.L #2,D6
MOVE.L D6,D7
SUBQ.L #2,D7
SUBQ.L #1,D4
MOVEQ #0,D0
TWIMYLOOP MOVE.W D0,0(A0,D6.L)
MOVE.W D0,0(A0,D7.L)
MOVE.W D0,2(A0)
MOVE.W D0,(A0)
ADDA.L D5,A0
DBRA
D4,TWIMYLOOP
TWIMYRET EQU
*
RSTREG
FNRET 3
*

ITWIM

TWIM

EQU
MOVEA.L
MOVEA.L
MOVE.L
EQU
XDEF
MOVE.L
POP.L
POP.L
POP.L
PUSH.L
PUSH.L
PUSH.L
JSR
PUSH.L
PUSH.L
PUSH.L
JSR
MOVEA.L
JMP

*
12(A7),A1
(A1),A1
A1,12(A7)
*
TWIM,ITWIM
(A7)+,VVSAV7
ARG1
ARG2
ARG3
ARG3(PC)
ARG2(PC)
ARG1(PC)
TWIMX(PC)
ARG3(PC)
ARG2(PC)
ARG1(PC)
TWIMY(PC)
VVSAV7(PC),A0
(A0)

*
*
*
GETCOEFF EQU
*
MOVEM.L D0/A0/A4,-(A7)
LEA.L
NORM(PC),A4
MOVEA.L 16(A5),A0
MOVE.W 6(A0),2(A4)
MOVE.W 10(A0),4(A4)
MOVE.W 14(A0),6(A4)
MOVE.W 18(A0),8(A4)
MOVE.W 22(A0),10(A4)
MOVE.W 2(A0),D0
CMP.W
#0,D0
BGT.S
GC_OK
MOVEQ
#1,D0
GC_OK MOVE.W D0,(A4)
MOVEM.L (A7)+,D0/A0/A4
RTS
NORM
DS.W
1
COEFF EQU
*
COEFFS DS.W
7
*
*
TEMP
DS.L
1
BTEMP DS.L
1
ETEMP DS.L
1
*
VVSA7 DS.L
1
ARG1
DS.L
1
ARG2
DS.L
1
ARG3
DS.L
1
ARG4
DS.L
1
VVSAV7 DS.L
1
*
DS.W
1
BASE
DS.L
1
DS.W
1
Q1STORAGE
*

*
ENDAFROP EQU
ZZZZZ EQU
END

*
*