Vous êtes sur la page 1sur 16

CONDLONG IDNT NOLIST INCLUDE LIST ADDRMASK SET ADRMSK DC.L * INCLUDE * * ISHIH4 EQU XDEF MOVEA.L MOVE.

L BRA.S SHIH4 EQU SHIH4P EQU XDEF MOVE.L INSHIH4 EQU AND.L BEQ.S MOVEA.L MOVEA.L MOVE.L ANDI.B SUBQ.L BPL.S MOVEQ.L HI5OVER EQU LSL.L MOVEA.L MOVE.L PUSH.L MOVEA.L MOVE.L BRA.S * ISHIZ4 EQU XDEF MOVEA.L MOVE.L BRA.S SHIZ4 EQU SHIZ4P EQU XDEF MOVE.L INSHIZ4 EQU AND.L BEQ.S MOVEA.L MOVEA.L MOVE.L ANDI.B SUBQ.L BPL.S MOVEQ.L HI4OVER EQU LSL.L MOVEA.L MOVE.L

1,0 MACROS.INC $0FFFFFE ADDRMASK MACROS2.INC * ISHIH4 16(A7),A0 (A0),D0 INSHIH4 * * SHIH4,SHIH4P 16(A7),D0 * ADRMSK(PC),D0 HI4NO0DST D0,A0 12(A7),A1 (A1),D1 #$FE,D1 #1,D1 HI5OVER #1,D1 * #2,D1 8(A7),A1 (A1),D2 D3 8(A7),A1 (A1),D3 HI4LOOP * ISHIZ4 12(A7),A0 (A0),D0 INSHIZ4 * * SHIZ4,SHIZ4P 12(A7),D0 * ADRMSK(PC),D0 HI4NO0DST D0,A0 8(A7),A1 (A1),D1 #$FE,D1 #1,D1 HI4OVER #1,D1 * #2,D1 4(A7),A1 (A1),D2

PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 HI4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BLS.S HI4OK MOVE.L D3,0(A0,D0.L) HI4OK EQU * ENDF POP.L D3 HI4NO0DST EQU * FNRET 4 * * ISLSH4 EQU * XDEF ISLSH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSLSH4 SLSH4 EQU * SLSH4P EQU * XDEF SLSH4,SLSH4P MOVE.L 16(A7),D0 INSLSH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S LS4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S LS5OVER MOVEQ.L #1,D1 LS5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S LS4LOOP * ISLSZ4 EQU * XDEF ISLSZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSLSZ4 SLSZ4 EQU * SLSZ4P EQU * XDEF SLSZ4,SLSZ4P MOVE.L 12(A7),D0 INSLSZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S LS4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1

SUBQ.L #1,D1 BPL.S LS4OVER MOVEQ.L #1,D1 LS4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 LS4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BHI.S LS4OK MOVE.L D3,0(A0,D0.L) LS4OK EQU * ENDF POP.L D3 LS4NO0DST EQU * FNRET 4 * ISGEH4 EQU * XDEF ISGEH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSGEH4 SGEH4 EQU * SGEH4P EQU * XDEF SGEH4,SGEH4P MOVE.L 16(A7),D0 INSGEH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S GE4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S GE5OVER MOVEQ.L #1,D1 GE5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S GE4LOOP * ISGEZ4 EQU * XDEF ISGEZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSGEZ4 SGEZ4 EQU * SGEZ4P EQU * XDEF SGEZ4,SGEZ4P MOVE.L 12(A7),D0 INSGEZ4 EQU *

AND.L ADRMSK(PC),D0 BEQ.S GE4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S GE4OVER MOVEQ.L #1,D1 GE4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 GE4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BLT.S GE4OK MOVE.L D3,0(A0,D0.L) GE4OK EQU * ENDF POP.L D3 GE4NO0DST EQU * FNRET 4 * ISLTH4 EQU * XDEF ISLTH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSLTH4 SLTH4 EQU * SLTH4P EQU * XDEF SLTH4,SLTH4P MOVE.L 16(A7),D0 INSLTH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S LT4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S LT5OVER MOVEQ.L #1,D1 LT5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S LT4LOOP * ISLTZ4 EQU * XDEF ISLTZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0

BRA.S INSLTZ4 SLTZ4 EQU * SLTZ4P EQU * XDEF SLTZ4,SLTZ4P MOVE.L 12(A7),D0 INSLTZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S LT4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S LT4OVER MOVEQ.L #1,D1 LT4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 LT4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BGE.S LT4OK MOVE.L D3,0(A0,D0.L) LT4OK EQU * ENDF POP.L D3 LT4NO0DST EQU * FNRET 4 * ISGTH4 EQU * XDEF ISGTH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSGTH4 SGTH4 EQU * SGTH4P EQU * XDEF SGTH4,SGTH4P MOVE.L 16(A7),D0 INSGTH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S GT4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S GT5OVER MOVEQ.L #1,D1 GT5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3

BRA.S GT4LOOP * ISGTZ4 EQU * XDEF ISGTZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSGTZ4 SGTZ4 EQU * SGTZ4P EQU * XDEF SGTZ4,SGTZ4P MOVE.L 12(A7),D0 INSGTZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S GT4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S GT4OVER MOVEQ.L #1,D1 GT4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 GT4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BLE.S GT4OK MOVE.L D3,0(A0,D0.L) GT4OK EQU * ENDF POP.L D3 GT4NO0DST EQU * FNRET 4 * ISLEH4 EQU * XDEF ISLEH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSLEH4 SLEH4 EQU * SLEH4P EQU * XDEF SLEH4,SLEH4P MOVE.L 16(A7),D0 INSLEH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S LE4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S LE5OVER MOVEQ.L #1,D1 LE5OVER EQU *

LSL.L MOVEA.L MOVE.L PUSH.L MOVEA.L MOVE.L BRA.S

#2,D1 8(A7),A1 (A1),D2 D3 8(A7),A1 (A1),D3 LE4LOOP

* ISLEZ4 EQU * XDEF ISLEZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSLEZ4 SLEZ4 EQU * SLEZ4P EQU * XDEF SLEZ4,SLEZ4P MOVE.L 12(A7),D0 INSLEZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S LE4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S LE4OVER MOVEQ.L #1,D1 LE4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 LE4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BGT.S LE4OK MOVE.L D3,0(A0,D0.L) LE4OK EQU * ENDF POP.L D3 LE4NO0DST EQU * FNRET 4 * ISPLH4 EQU * XDEF ISPLH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSPLH4 SPLH4 EQU * SPLH4P EQU * XDEF SPLH4,SPLH4P MOVE.L 16(A7),D0 INSPLH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S PL4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1

MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S PL5OVER MOVEQ.L #1,D1 PL5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S PL4LOOP * ISPLZ4 EQU * XDEF ISPLZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSPLZ4 SPLZ4 EQU * SPLZ4P EQU * XDEF SPLZ4,SPLZ4P MOVE.L 12(A7),D0 INSPLZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S PL4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S PL4OVER MOVEQ.L #1,D1 PL4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 PL4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BMI.S PL4OK MOVE.L D3,0(A0,D0.L) PL4OK EQU * ENDF POP.L D3 PL4NO0DST EQU * FNRET 4 * ISMIH4 EQU * XDEF ISMIH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSMIH4 SMIH4 EQU * SMIH4P EQU * XDEF SMIH4,SMIH4P

MOVE.L 16(A7),D0 INSMIH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S MI4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S MI5OVER MOVEQ.L #1,D1 MI5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S MI4LOOP * ISMIZ4 EQU * XDEF ISMIZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSMIZ4 SMIZ4 EQU * SMIZ4P EQU * XDEF SMIZ4,SMIZ4P MOVE.L 12(A7),D0 INSMIZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S MI4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S MI4OVER MOVEQ.L #1,D1 MI4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 MI4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BPL.S MI4OK MOVE.L D3,0(A0,D0.L) MI4OK EQU * ENDF POP.L D3 MI4NO0DST EQU * FNRET 4 * ISCCH4 EQU * XDEF ISCCH4

MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSCCH4 SCCH4 EQU * SCCH4P EQU * XDEF SCCH4,SCCH4P MOVE.L 16(A7),D0 INSCCH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S CC4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S CC5OVER MOVEQ.L #1,D1 CC5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S CC4LOOP * ISCCZ4 EQU * XDEF ISCCZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSCCZ4 SCCZ4 EQU * SCCZ4P EQU * XDEF SCCZ4,SCCZ4P MOVE.L 12(A7),D0 INSCCZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S CC4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S CC4OVER MOVEQ.L #1,D1 CC4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 CC4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BCS.S CC4OK MOVE.L D3,0(A0,D0.L) CC4OK EQU * ENDF

POP.L CC4NO0DST EQU FNRET * ISCSH4 EQU XDEF MOVEA.L MOVE.L BRA.S SCSH4 EQU SCSH4P EQU XDEF MOVE.L INSCSH4 EQU AND.L BEQ.S MOVEA.L MOVEA.L MOVE.L ANDI.B SUBQ.L BPL.S MOVEQ.L CS5OVER EQU LSL.L MOVEA.L MOVE.L PUSH.L MOVEA.L MOVE.L BRA.S * ISCSZ4 EQU XDEF MOVEA.L MOVE.L BRA.S SCSZ4 EQU SCSZ4P EQU XDEF MOVE.L INSCSZ4 EQU AND.L BEQ.S MOVEA.L MOVEA.L MOVE.L ANDI.B SUBQ.L BPL.S MOVEQ.L CS4OVER EQU LSL.L MOVEA.L MOVE.L PUSH.L PUSH.L MOVEQ.L CS4LOOP EQU FOR.L

D3 * 4 * ISCSH4 16(A7),A0 (A0),D0 INSCSH4 * * SCSH4,SCSH4P 16(A7),D0 * ADRMSK(PC),D0 CS4NO0DST D0,A0 12(A7),A1 (A1),D1 #$FE,D1 #1,D1 CS5OVER #1,D1 * #2,D1 8(A7),A1 (A1),D2 D3 8(A7),A1 (A1),D3 CS4LOOP * ISCSZ4 12(A7),A0 (A0),D0 INSCSZ4 * * SCSZ4,SCSZ4P 12(A7),D0 * ADRMSK(PC),D0 CS4NO0DST D0,A0 8(A7),A1 (A1),D1 #$FE,D1 #1,D1 CS4OVER #1,D1 * #2,D1 4(A7),A1 (A1),D2 (A7) D3 #0,D3 * D0 = #0 TO D1 BY #4

DO.S CMP.L 0(A0,D0.L),D2 BCC.S CS4OK MOVE.L D3,0(A0,D0.L) CS4OK EQU * ENDF POP.L D3 CS4NO0DST EQU * FNRET 4 * ISVCH4 EQU * XDEF ISVCH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSVCH4 SVCH4 EQU * SVCH4P EQU * XDEF SVCH4,SVCH4P MOVE.L 16(A7),D0 INSVCH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S VC4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S VC5OVER MOVEQ.L #1,D1 VC5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S VC4LOOP * ISVCZ4 EQU * XDEF ISVCZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSVCZ4 SVCZ4 EQU * SVCZ4P EQU * XDEF SVCZ4,SVCZ4P MOVE.L 12(A7),D0 INSVCZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S VC4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S VC4OVER MOVEQ.L #1,D1 VC4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1

MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 VC4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BVS.S VC4OK MOVE.L D3,0(A0,D0.L) VC4OK EQU * ENDF POP.L D3 VC4NO0DST EQU * FNRET 4 * ISVSH4 EQU * XDEF ISVSH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSVSH4 SVSH4 EQU * SVSH4P EQU * XDEF SVSH4,SVSH4P MOVE.L 16(A7),D0 INSVSH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S VS4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S VS5OVER MOVEQ.L #1,D1 VS5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S VS4LOOP * ISVSZ4 EQU * XDEF ISVSZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSVSZ4 SVSZ4 EQU * SVSZ4P EQU * XDEF SVSZ4,SVSZ4P MOVE.L 12(A7),D0 INSVSZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S VS4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1

SUBQ.L #1,D1 BPL.S VS4OVER MOVEQ.L #1,D1 VS4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 VS4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BVC.S VS4OK MOVE.L D3,0(A0,D0.L) VS4OK EQU * ENDF POP.L D3 VS4NO0DST EQU * FNRET 4 * * ISEQH4 EQU * XDEF ISEQH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSEQH4 SEQH4 EQU * SEQH4P EQU * XDEF SEQH4,SEQH4P MOVE.L 16(A7),D0 INSEQH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S EQ4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S EQ5OVER MOVEQ.L #1,D1 EQ5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S EQ4LOOP * ISEQZ4 EQU * XDEF ISEQZ4 MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSEQZ4 SEQZ4 EQU * SEQZ4P EQU * XDEF SEQZ4,SEQZ4P MOVE.L 12(A7),D0

INSEQZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S EQ4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S EQ4OVER MOVEQ.L #1,D1 EQ4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 EQ4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BNE.S EQ4OK MOVE.L D3,0(A0,D0.L) EQ4OK EQU * ENDF POP.L D3 EQ4NO0DST EQU * FNRET 4 * * ISNEH4 EQU * XDEF ISNEH4 MOVEA.L 16(A7),A0 MOVE.L (A0),D0 BRA.S INSNEH4 SNEH4 EQU * SNEH4P EQU * XDEF SNEH4,SNEH4P MOVE.L 16(A7),D0 INSNEH4 EQU * AND.L ADRMSK(PC),D0 BEQ.S NE4NO0DST MOVEA.L D0,A0 MOVEA.L 12(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S NE5OVER MOVEQ.L #1,D1 NE5OVER EQU * LSL.L #2,D1 MOVEA.L 8(A7),A1 MOVE.L (A1),D2 PUSH.L D3 MOVEA.L 8(A7),A1 MOVE.L (A1),D3 BRA.S NE4LOOP * ISNEZ4 EQU * XDEF ISNEZ4

MOVEA.L 12(A7),A0 MOVE.L (A0),D0 BRA.S INSNEZ4 SNEZ4 EQU * SNEZ4P EQU * XDEF SNEZ4,SNEZ4P MOVE.L 12(A7),D0 INSNEZ4 EQU * AND.L ADRMSK(PC),D0 BEQ.S NE4NO0DST MOVEA.L D0,A0 MOVEA.L 8(A7),A1 MOVE.L (A1),D1 ANDI.B #$FE,D1 SUBQ.L #1,D1 BPL.S NE4OVER MOVEQ.L #1,D1 NE4OVER EQU * LSL.L #2,D1 MOVEA.L 4(A7),A1 MOVE.L (A1),D2 PUSH.L (A7) PUSH.L D3 MOVEQ.L #0,D3 NE4LOOP EQU * FOR.L D0 = #0 TO D1 BY #4 DO.S CMP.L 0(A0,D0.L),D2 BEQ.S NE4OK MOVE.L D3,0(A0,D0.L) NE4OK EQU * ENDF POP.L D3 NE4NO0DST EQU * FNRET 4 * * BASE DS.L 1 Q1STORAGE ZZZZZ EQU * END

Vous aimerez peut-être aussi