.globl _searchstr_maketbl .globl _searchstr .text .even _eq: link a6,#0 moveml #0x3020,sp@- movel a6@(8),a1 movel a6@(12),a0 movel a6@(16),d0 movel a6@(20),a2 jle L7 clrl d2 clrl d1 L6: moveb a1@+,d2 moveb a0@+,d1 moveb a2@(d2:l),d3 cmpb a2@(d1:l),d3 jeq L4 clrl d0 jra L1 L4: subql #1,d0 tstl d0 jgt L6 L7: moveq #1,d0 L1: moveml a6@(-12),#0x40c unlk a6 rts .even _searchstr_maketbl: link a6,#0 moveml #0x3f3c,sp@- movel a6@(12),d7 movel a6@(20),a5 tstl a6@(16) jle L8 movel d7,a4 addqw #1,a4 movel a6@(16),d4 jra L34 L30: movel d4,d0 addql #1,d0 movel a6@(16),d5 subl d0,d5 movew #255,a2 movel d4,d0 asll #8,d0 movel a6@(8),a3 addl d0,a3 moveb d4,d6 L29: movel d4,d2 jlt L17 clrl d3 L21: movel d7,a1 moveb a1@(d2:l),d3 moveb a5@(d3:l),d1 cmpb a2@(a5:l),d1 jne L18 tstl d5 jeq L20 cmpl d2,d4 jeq L20 movel a5,sp@- movel d5,sp@- pea a4@(d4:l) pea a4@(d2:l) jbsr _eq addw #16,sp tstl d0 jeq L18 L20: moveb d6,d1 subb d2,d1 moveb d1,a2@(a3:l) jra L17 L18: subql #1,d2 jpl L21 L17: tstl d2 jge L15 clrl d2 cmpl d2,d5 jle L24 moveb d6,d3 addqb #1,d3 L27: movel a5,sp@- movel d5,d1 subl d2,d1 movel d1,sp@- lea a4@(0,d4:l),a0 pea a0@(d2:l) movel d7,sp@- jbsr _eq addw #16,sp tstl d0 jeq L25 addb d2,d3 moveb d3,a2@(a3:l) jra L24 L25: addql #1,d2 cmpl d2,d5 jgt L27 L24: cmpl d2,d5 jgt L15 moveb a6@(19),a2@(a3:l) L15: subqw #1,a2 tstl a2 jge L29 L34: subql #1,d4 jpl L30 L8: moveml a6@(-40),#0x3cfc unlk a6 rts .even _searchstr: link a6,#0 moveml #0x3f20,sp@- movel a6@(8),a1 movel a6@(12),a2 movel a6@(16),d6 movel a6@(20),d7 clrl d5 L36: movel d7,d2 subql #1,d2 movel d5,d1 addl d2,d1 cmpl d1,a2 jgt L38 moveq #-1,d0 jra L35 L38: clrl d4 clrl d3 L39: moveb a1@(d1:l),d4 movel d2,d0 asll #8,d0 movel d6,a0 addl d0,a0 moveb a0@(d4:l),d3 movel d3,d0 jne L41 tstl d2 jne L42 movel d1,d0 jra L35 L42: subql #1,d2 subql #1,d1 jra L39 L41: addl d0,d5 jra L36 L35: moveml a6@(-28),#0x4fc unlk a6 rts