SCR # 33 0 ( [& ,& ]& ) 1 ( JMR-93MAR20 ) 2 BIF DEFINITIONS HEX 3 4 : [& ( START ARRAY INDEX LIST ) 5 0 0 4152 ; 6 7 : ,& ( ACCUMULATE INDEX LIST ) 8 ROT 4152 - 35 ?ERROR ( SPAN?) 9 OVER - DUP F000 AND 33 ?ERROR 10 1+ SWAP >R ( SAVE LO ) 11 DUP ROT * R> + ( NEW RELOC ) 12 ROT 1+ DUP 7 > 34 ?ERROR 13 SWAP 4152 ; 14 15 : ]& ( COMPLETE THE ARRAY DEF ) 16 DUP 1- FF00 AND 33 ?ERROR 17 R ,& DROP ( AR FLAG) 18 R * ( NEW REL ) R> SWAP >R 19 SWAP DUP , ( STORE COUNT ) 20 0 DO DUP , * LOOP ( SIZES ) 21 DUP , ( ARR SZ ) R> , ( REL ) 22 ALLOT ?STACK DOES> 23 0 ( SUM ) SWAP 24 DUP 2+ SWAP @ ( COUNT ) 25 2* OVER + DUP >R ( SAVE END ) 26 SWAP DO ( SUM OF PRODUCTS ) 27 SWAP I @ * + 2 +LOOP 28 R 2+ @ ( RELOCATE ) - DUP 0< 29 OVER R @ < 0= ( BOUNDS? ) 30 OR 0C ?ERROR 31 R> 4 + + ;