Directly after the "WILD CSECT" statement, the -20 version is missing the following 6 lines between lines 8 and 9 (all instructions must be in upper case): WILD CSECT USING WILD,15 ADDRESSABILITY STM 14,12,12(13) SAVE REGS LR 14,13 SAVE REG 14 L 13,=V(WILDA) DATA AREA USING WILDA,13 POINT TO DATA AREA ST 14,4(13) BACKCHAIN After the comment "* FIRST SOME INITIALIZATION", the -20 version is missing the following 2 lines (between lines 24 and 25): * FIRST SOME INITIALIZATION SR 5,5 SR 7,7 The whole section between the labels "GOTLEN1" and "GOTARB" should be changed. Delete lines 72/78 and insert instead to read: GOTLEN1 EQU * LA 4,1(4) INCREMENT PATTEN ADDR BCTR 5,0 DECREMENT PATTERN LEN LA 6,1(6) INCREMENT SOURCE ADDR BCTR 7,0 DECREMENT SOURCE LEN LA 0,0(,7) GET LENGTH W/O PAD CHAR LTR 0,0 ANY MORE SOURCE LEFT? BNZ COMPRE AND KEEP TRYING LTR 5,5 NO DATA LEFT HERE EITHER? BZ SUCCESS SAME LENGTH - A MATCH CLC 0(1,4),ARB IS IT THE WILD CHAR? BE COMPRE IT'S OK B BOMB ELSE, WE FAIL GOTARB EQU * After "GOTARB" follows two comments. There should be 7 lines of code after that before the label "SUCCESS". Replace lines 81 (starting with the "MVI" instruction) through 86 with the following: * IF PATTERN....... * GOTARB SHOULD........ MVI STARFLG,X'FF' REMEMBER WE SAW ONE LA 4,1(4) PASS THE START BCTR 5,0 DECREMENT ITS LENGTH LTR 5,5 BZ SUCCESS WE HAVE A MATCH STM 4,7,PATADDR SAVE WHERE THEY WERE B COMPRE SUCCESS EQU *