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);