1 dcl result fixed bin(1); /* result of compare procedure (Sort's or user's) */ 2 3 dcl I (255*1024) fixed bin(30) based, /* an array, which when based upon sip (presort) 4 contain entries which are indexes to rows in R table */ 5 /* when based upon mip (merge) each row contains the 6 number of records in each merge string */ 7 1 R (85*1024) based, /* 85 = 255/3 */ 8 2 pt fixed bin(30), /* references the first character in the S string 9 of each record */ 10 2 ln fixed bin(30); /* references the number of characters in each 11 record of the S string */ 12 dcl S char(255*4096) based, /* string of presort records */ 13 S1(255*4096) char(1) based; /* used in adjusting pointers */ 14 dcl ec fixed bin(35) parameter, 15 pt1 ptr, 16 pt2 ptr, 17 w_p ptr int static, 18 fb fixed bin(21) based(w_p);