$ od -c -N 50000 [Indigo]<AltoSource>BLDRSOURCES.DM!2 0000000 377 \0 \0 B L D R S O U R C E S . C 0000020 M \0 373 224 336 377 002 \0 \0 376 \0 240 h 6 B L 0000040 D R S O U R C E S . C M L O A 0000060 D B L D R . C M C O M P I L E 0000100 B L D R . C M B L D R T O M A 0000120 X C . C M B L D R B R S . C M 0000140 B L D R . D E C L B L D R S 0000160 T A T I C S . B C P L B L D R 0000200 . B C P L B L D R B R . B C P 0000220 L B L D R F I N I S H . B C P 0000240 L B L D R U T I L . B C P L 0000260 B L D R I N I T . B C P L 377 \0 0000300 \0 L O A D B L D R . C M \0 373 230 034 0000320 ^ j \0 \0 376 \0 374 % 002 / / B E S 0000340 U R E Y O U H A V E L A T 0000360 E S T M D I . B R , G P . B 0000400 R , T E M P L A T E . B R , 0000420 A L T O Q U E U E . B R \r B L D 0000440 R / F 3 0 0 / W N E W B L D 0000460 R / S B L D R B L D R B R 0000500 B L D R F I N I S H B L D R U 0000520 T I L B L D R S T A T I C S 0000540 T E M P L A T E A L T O Q U E 0000560 U E ^ \r B L D R I N 0000600 I T / I M D I G P \r / / N 0000620 O W C O P Y N E W B L D R 0000640 T O B L D R I F Y O U A 0000660 R E H A P P Y \r C o p y B l 0000700 d r . r u n _ N e w B l d r 0000720 . r u n ' 377 \0 \0 C O M P I L E B 0000740 L D R . C M \0 373 230 034 T 006 \0 \0 376 \0 0000760 \ 304 230 \r B c p l / f B l d r S 0001000 t a t i c s . b c p l B l d r 0001020 . b c p l B l d r B R . b c p 0001040 l B l d r F i n i s h . b c p 0001060 l B l d r U t i l . b c p l 0001100 B l d r I n i t . b c p l \r \r 377 0001120 \0 \0 B L D R T O M A X C . C M \0 0001140 373 224 336 377 002 \0 \0 376 \0 222 272 327 F t p 0001160 M a x c c o n n e c t / c a 0001200 l t o s o u r c e d u m p / c 0001220 b l d r s o u r c e s . d m 0001240 @ B L D R S O U R C E S . C M @ 0001260 ^ \r c o n n e c t / c A l t 0001300 o S t o r e / s N e w B l d 0001320 r . r u n B l d r . r u n S 0001340 t o r e / s N e w B l d r . s 0001360 y m s B l d r . s y m s \r 377 \0 0001400 \0 B L D R B R S . C M \0 373 224 336 377 0001420 002 \0 \0 376 \0 X P 377 B L D R B L D 0001440 R B R B L D R F I N I S H B 0001460 L D R U T I L B L D R S T A T 0001500 I C S T E M P L A T E A L T 0001520 O Q U E U E ^ \r B L 0001540 D R I N I T / I M D I G P \r 0001560 377 \0 \0 B L D R . D E C L \0 373 230 034 0001600 \ 322 \0 \0 376 001 \0 " 352 / / B L D R 0001620 . D E C L - - l o a d e r 0001640 d e f i n i t i o n s \r / / C 0001660 o p y r i g h t X e r o x C 0001700 o r p o r a t i o n 1 9 7 9 , 0001720 1 9 8 0 , 1 9 8 1 \r / / L 0001740 a s t m o d i f i e d N o v 0001760 e m b e r 1 3 , 1 9 8 1 0002000 2 : 5 4 P M b y T a f t \r 0002020 \r g e t " s y s d e f s . d " 0002040 \r g e t " a l t o f i l e s y 0002060 s . d " \r g e t " s t r e a m 0002100 s . d " \r g e t " B c p l F i 0002120 l e s . d " \r g e t " A l t o 0002140 D e f s . d " \r \r \n / / C o 0002160 n s t a n t s \r \n \r \n m a n i f 0002200 e s t [ \r \r U S 376 001 \0 322 026 E R 0002220 B O T T O M = # 1 0 0 0 / 0002240 / * * * O p e r a t i n g 0002260 S y s t e m d e p e n d e n t 0002300 ! ! \r C O R E M A X = # 1 7 0002320 7 7 7 7 / / * * * S i n c 0002340 e w e d o n ' t k n o w 0002360 w h e r e t h e O S i s \r 0002400 s t a c k L i m = # 3 3 5 \r 0002420 S T A R T M E M I M A G E = 0002440 # 3 5 6 / / l S V + C O 0002460 M M O N M A X , f i l e A d d 0002500 r o f n o n - @ s t a t i 0002520 c s \r \r \n F I L E N A M E L E N 0002540 G T H = 4 0 \r \n N A M E L E 0002560 N G T H = 2 4 \r \n \r \n I S T 0002600 A T I C M A X = # 4 0 0 376 001 0002620 \0 \b 225 \r \n I S Y M M A X = # 0002640 7 0 0 \r \n I C O D E M A X = 0002660 # 5 0 0 0 \r \n \r A L L F I L E M 0002700 A X = 5 0 0 \r \n \r \n D I C T 0002720 H E A D L E N G T H = 5 3 \r 0002740 \n \r R F I L E C O D E = 1 \t 0002760 / / U s e C o d e s i n 0003000 e v e n t ( R F i l e , B F 0003020 i l e ) e n t r i e s ; \r B F 0003040 I L E C O D E = 2 \t / / 0003060 c o r r e s p o n d t o , b 0003100 u t n e v e r e q u a l , 0003120 P C s a v e l e t t e r V b l 0003140 e n t r i e s \r \r v e r S y m 0003160 s = 1 0 0 6 B \t / / F o r 0003200 m a t v e r s i o n f o r 0003220 S y m 376 001 \0 243 \r s f i l e s 0003240 - - c h a n g e w h e n i 0003260 n c o m p a t i b l e \r \t \t / / 0003300 c h a n g e s a r e m a d 0003320 e i n S y m s f i l e f 0003340 o r m a t . \r / / ( N o t e : 0003360 t h i s i s i n t e n d e 0003400 d t o b e m a j o r , , m 0003420 i n o r v e r s i o n n u m 0003440 b e r , b u t S w a t \r / / 0003460 i m p r o p e r l y c h e c 0003500 k s b o t h p a r t s . ) \r 0003520 \n ] \r \n \r \n e x t e r n a l [ 0003540 \t \r \n \r \n / / S t a t i c 0003560 v a r i a b l e s \r \n \r \n V E R 0003600 S I O N \r \n \r \n @ N A M E \r \n @ 0003620 S W \r \n P A R A 376 001 \0 G 3 M L I 0003640 S T \r \r \n @ S F I L E N A M E \r 0003660 \n @ R F I L E N A M E \r @ L F I 0003700 L E N A M E \r \r \n @ S F I L E N 0003720 U M \r \n @ M F I L E N U M \r \n @ 0003740 T F I L E N U M \r \n @ B F I L E 0003760 N U M \r \n @ R F I L E N U M \r \r 0004000 @ b F i l e C o u n t \r @ r F i 0004020 l e C o u n t \r \r @ P R E A M B 0004040 L E V E C \r @ f i l e N a m e 0004060 V e c \r @ f i l e C o u n t \r \n 0004100 \r \n @ S S T R E A M \r \n @ T S T 0004120 R E A M \r \n @ L S T R E A M \r \n 0004140 @ B S T R E A M \r \n @ R S T R E 0004160 A M \r E S T R E A M / / 0004200 f o r f a t a l e r r o r s 0004220 \r \n \r \n D E B U G S W \r \n 376 001 \0 0004240 340 \f M A P S W \r \n C A S E S W \r 0004260 \n T F I L E S W \r \n T T Y P E S 0004300 W \r \n L I S T S W \r \n L I S T N 0004320 U M S W \r \n L I S T L A B S W \r 0004340 \n L I S T V A R S W \r \n D U P S 0004360 W \r I N I T S W A P S W \r B B I 0004400 N S A V E S W \r O S B K S W 0004420 \r n o D i s p l a y S w \r \n \r S 0004440 W A P P E D O U T S Y M \r \n 0004460 @ D E B G S T A R T A D D R \r J 0004500 S T A T I C M I N \r J S T A 0004520 T I C M A X \r J C O M M O N 0004540 M I N \r J C O M M O N M A X 0004560 \r K S T A T I C C O U N T 0004600 \r \n @ S T A T I C S T A R T \r 0004620 \n @ S T A T I C M A X \r \n @ S T 0004640 A T 376 001 \0 020 Z I C L O C \r \n S T 0004660 A T I C S P A C E S I Z E \r \n @ 0004700 C O M M O N S T A R T \r \n @ C O 0004720 M M O N M A X \r \n @ C O M M O N 0004740 L O C \r \n @ C O D E S T A R T \r 0004760 \n @ C O D E M A X \t \r \n @ C O D 0005000 E L O C \t \r \n S T A R T C O D E 0005020 I M A G E \r \n S R E L P A I R L 0005040 O C \r \r \n @ C O D E L E N G 0005060 T H \r \n \r \n @ S Y M M A X \r \n \r 0005100 \n @ N E W R F I L E \r \n @ B F I 0005120 L E M O D E \r \n R E L P A I R S 0005140 W \r \n \r L A B L I S T B A S 0005160 E \r \r \n @ L A B L I S T \r \n 0005200 @ S Y M L I S T \r \n @ S Y M T A 0005220 B \r \n \r \n @ B F I L E \r \n @ R F 0005240 I L E \r \n @ S 376 001 \0 375 250 F I L E 0005260 \r @ e v e n t L i s t / / Q 0005300 o f B F i l e , R F i l e 0005320 , S F i l e , P C s a v e 0005340 s t r u c t u r e s , i n c 0005360 o m m a n d o r d e r \r \n \r \n 0005400 @ B H E A D \r \n @ R H E A D \r \n 0005420 @ M H E A D \r \n \r \n @ Z C O D E 0005440 \r \n @ C O D E \r \n \r \n @ D I C T 0005460 \t \r \n \r \n @ F I R S T S Y M \r \n 0005500 @ L A S T S Y M \r s t a r t O v 0005520 e r l a y F a / / f i l e 0005540 a d d r e s s e s , f o r r 0005560 a p i d r e t u r n t o s 0005600 e l e c t e d l o c a l e s \r 0005620 s t a t i c L i n k s F a \r \n \r 0005640 \n @ W A R N I N G S W \r 376 001 \0 237 0005660 c \n @ W A R N I N G C O U N T \r 0005700 \n @ E R R O R C O U N T \r s a v 0005720 e d U s e r F i n i s h P r o c 0005740 \r m a l F o r m e d R o u t i n 0005760 e / / 0 f o r n o n e , 0006000 - 1 f o r S y s E r r , 0006020 e l s e a r o u t i n e a 0006040 d d r e s s \r f r e e B e g i n 0006060 / / F o r u s e a f t e 0006100 r i n i t i n r e l e a s 0006120 i n g s p a c e \r r e l P a i 0006140 r L i s t / / F o r c l e 0006160 a r i n g s t a t i c s a f 0006200 t e r r e l e a s i n g s p 0006220 a c e \r e S t r e a m / / i 0006240 n t e r n a l t o e r r o r 0006260 376 001 \0 353 310 r e p o r t c o d 0006300 e \r e B u f / / d i t t o \r 0006320 \n \r \n / / P r o c e d u r e 0006340 s \n \r \r \n M a i n \r \n I N I T S 0006360 A V E F I L E \r \n I N I T B I N 0006400 F I L E \r \n R E A D R E L F I L 0006420 E \r \n E N D B I N F I L E \r S T 0006440 O P S A V E F I L E \r \n E N D S 0006460 A V E F I L E \r \n W R I T E R E 0006500 L P A I R S \r \n R E A D J K F I 0006520 L E \t \r \r \n R E A D S T A T I 0006540 C S \r \n R E A D L A B E L S \r \n 0006560 R E A D C O D E \r \n R E A D C H 0006600 A I N S \r \n R E A D Z C H A I N 0006620 S \r \n S Y M E N T R Y \r \n N E W 0006640 S Y M E N T R Y \r \n C O M M O N 0006660 E R R O R \r 376 001 \0 032 7 \n M U L T 0006700 D E F E R R O R \r \n D I C T E N 0006720 T R Y \r \n P R I N T L I S T I N 0006740 G S \r \n P R I N T U N D E F I N 0006760 E D \r \n P R I N T V A R S \r \n P 0007000 R I N T N U M E R I C \r \n P R I 0007020 N T S Y M \r \n \r \n @ B A D S W I 0007040 T C H \r \n @ E R R O R \r B e g i 0007060 n R e p o r t \r E n d R e p o r 0007100 t \r \n @ W A R N I N G \r \n @ C O 0007120 D E W A R N I N G \r \n @ B E T W 0007140 E E N \r \n @ F i x F i l e N a m 0007160 e \r \n @ Z m e m \r \n @ O p e n f 0007200 i l e \r \n @ C U R B O P O S \r \n 0007220 \n C U R B O P A G E \r \n @ S 0007240 E T B O P O S \r \n @ C U R P O S 0007260 \t \r \n @ S E T P O S \t 376 001 \0 ) 255 0007300 \r F o r m F i l e N a m e \r O P 0007320 E N B L D R F I L E S \r P R E A 0007340 M O F \r C H K F I L E \r C A P I 0007360 T A L I Z E \r W s s \r W s \r 0007400 \r S K I P T O \r \n R E A D J K S 0007420 T A T I C S \r P R O C E S S J S 0007440 T A T I C \r P R O C E S S K S T 0007460 A T I C \r B l d r F i n i s h P 0007500 r o c \r B e f o r e J u n t a I 0007520 n i t \r A f t e r J u n t a I n 0007540 i t \r I n c r e a s e S t o r a 0007560 g e \r F i n i s h B l d r \r O U 0007600 T W A R N I N G \r S w a p p e d 0007620 O u t \r N a m e O f R f i l e \r 0007640 D i s p l a y I n C u r s o r \r 0007660 \n ] \r \r / / I N G P . C \r \r 0007700 376 001 \0 303 320 e x t e r n a l \r [ \r 0007720 S e t u p R e a d P a r a m \r R 0007740 e a d P a r a m \r R e a d P a r 0007760 a m S t r e a m \r E v a l P a r 0010000 a m \r ] \r \r / / I N M D I . 0010020 C \r \r e x t e r n a l \r [ \r L o 0010040 o k u p E n t r i e s \r ] \r \r / 0010060 / I N T E M P L A T E \r \r e 0010100 x t e r n a l P u t T e m p l 0010120 a t e \r \r / / I N Q U E U E 0010140 \r \r e x t e r n a l [ E n q 0010160 u e u e ; I n s e r t A f t e 0010200 r ] \r \r / / I N O S \r \r e 0010220 x t e r n a l \r [ \r A d d T o Z 0010240 o n e \r A l l o c a t e \r B i t 0010260 B l t \r C a l l S w a t \r C l o 0010300 s e s \r C 376 001 \0 310 344 r e a t e D 0010320 i s p l a y S t r e a m \r d s p 0010340 \r E n d o f s \r F i l e L e n g 0010360 t h \r F i l e P o s \r f p R e m 0010400 C m \r f p S y s D i r \r f p S y 0010420 s F o n t \r F r e e \r G e t C u 0010440 r r e n t F a \r G e t s \r I n i 0010460 t i a l i z e Z o n e \r J u m p 0010500 T o F a \r J u n t a \r l v S y s 0010520 Z o n e \r l v U s e r F i n i s 0010540 h P r o c \r M o v e B l o c k \r 0010560 M y F r a m e \r N o o p \r O p e 0010600 n F i l e \r O p e n F i l e F r 0010620 o m F p \r P o s i t i o n P a g 0010640 e \r P o s i t i o n P t r \r P u 0010660 t s \r R e a d B l o c k \r R e s 0010700 e t s \r S e t B l o 376 001 \0 P 237 c 0010720 k \r S e t F i l e P o s \r S h o 0010740 w D i s p l a y S t r e a m \r \n 0010760 S y s E r r \r s y s F o n t \r s 0011000 y s Z o n e \r U m a x \r U m i n 0011020 \r U s c \r W o \r W r i t e B l o 0011040 c k \r Z e r o \r ] \r \n \r \f \r / / 0011060 S t r u c t u r e s \r \r s t r 0011100 u c t u r e S Y m : \r \t [ \r \t 0011120 l i n k w o r d / / o t h 0011140 e r s w / s a m e n a m e 0011160 \r \t d i c t E n t r y w o r d 0011200 / / n a m e o f s y m \r 0011220 \t r F i l e w o r d / / R 0011240 F i l e d e s c r i p t i o n 0011260 o f d e f i n i n g . B R 0011300 \r \t f l a g s w o r d = \r 376 0011320 001 \0 1 247 \t \t [ \r \t \t b l a n k 0011340 b i t 8 \r \t \t j O n l y b i 0011360 t / / 1 = o n l y m e n t 0011400 i o n e d i n a B J , n 0011420 o t i n a n y B R \r \t \t t 0011440 y p e b i t 2 / / 0 = u 0011460 n d , 1 = s t a t i c , 2 = 0011500 l e t , 3 = l a b e l \r \t \t z 0011520 b i t / / p a g e 0 s 0011540 t a t i c = 1 \r \t \t l o c a 0011560 l b i t / / 0 = e x t e r 0011600 n a l ( c o m e s f r o m 0011620 c o m p i l e r a s 4 b i 0011640 t s ) \r \t \t r e l o c a t a b l 0011660 e b i t / / 1 = l e t 0011700 % l a b e l d e f i n / B 0011720 o v ' 376 001 \0 251 ( l a y o r 0011740 i n / I \r \t \t i n i t S w a p 0011760 p e d O u t b i t / / 1 = 0012000 l e t % l a b e l o n l y d 0012020 e f i n / B o v e r l a y 0012040 s \r \t \t d u p D e f b i t = 0012060 / / 1 = l e t % l a b e l 0012100 d e f t w i c e o r m o r 0012120 e l e g a l l y \r \t \t ] \r \t i 0012140 n i t i a l V a l u e w o r d 0012160 / / 0 d e f a u l t \r \t s 0012200 t a t i c A d d r e s s w o r 0012220 d / / - 1 i f u n a l l 0012240 o c a t e d \r \t ] \r m a n i f e 0012260 s t l S Y m = s i z e S 0012300 Y m / 1 6 \r \r s t r u c t u r e 0012320 D I c t : \r \t [ 376 001 \0 377 = \r \t 0012340 l i n k w o r d / / m o r 0012360 e i n b u c k e t \r \t s y m 0012400 w o r d = m F i l e O f f 0012420 s e t w o r d \r \t n a m e : 0012440 @ S T R I N G \r \t ] \r m a n i f 0012460 e s t o f f s e t D I c t N a 0012500 m e = o f f s e t D I c t 0012520 . n a m e / 1 6 \r \r / / T h e 0012540 s e d e s c r i b e i n s t 0012560 a n c e s o f f i l e o c 0012600 c u r r e n c e s ; t h e y 0012620 a r e l i n k e d i n t h 0012640 e \r / / o r d e r o f t h 0012660 e c o m m a n d f i l e . 0012700 T h e y s h o u l d b e k 0012720 e p t a p p r o x i m a t 376 001 0012740 \0 c 343 e l y t h e \r / / s a 0012760 m e l e n g t h \r \r s t r u c 0013000 t u r e B F i l e : \r \t [ \r \t 0013020 l i n k w o r d / / n e x 0013040 t f i l e i n l o a d s 0013060 e q u e n c e \r \t c m d b y t 0013100 e ; u s e C o d e b y t e \r 0013120 \t f i l e N u m w o r d / / 0013140 i n d e x i n t o f i l e 0013160 N a m e V e c \r \t b F i l e I d 0013200 w o r d / / t h i s i s 0013220 t h e I d ' t h . R U N 0013240 o r . B B f i l e ( 1 s t 0013260 i s 1 ) \r \t n R e l P a i r 0013300 s w o r d / / n u m b e r 0013320 o f r e l o c a t a b l e 0013340 s t a 376 001 \0 300 023 t i c s i n 0013360 t h i s . R U N o r . B B 0013400 f i l e \r \t c o d e L o c w 0013420 o r d / / P C o f f i r 0013440 s t . B R f i l e \r \t m a x 0013460 C o d e L o c w o r d / / 0013500 m a x c o d e L o c e n c o 0013520 u n t e r e d ? \r \t r F i l e C 0013540 o d e L o c w o r d / / c 0013560 o d e L o c o f t h i s . 0013600 B R f i l e \r \t p a g e L e n 0013620 g t h w o r d / / S F i l 0013640 e o n l y ? \r \t ] \r m a n i f 0013660 e s t l B F i l e = s i z 0013700 e B F i l e / 1 6 \r \r s t r u 0013720 c t u r e R F i l e : \r \t [ \r 0013740 \t l i n k w o 376 001 \0 { 245 r d 0013760 / / n e x t f i l e i n 0014000 l o a d s e q u e n c e \r \t c 0014020 m d b y t e ; u s e C o d e 0014040 b y t e \r \t f i l e N u m w 0014060 o r d / / i n d e x i n t 0014100 o f i l e N a m e V e c , l 0014120 o c a t e s f i l e n a m e 0014140 , p o i n t e r \r \t r F i l e 0014160 I d w o r d / / t h i s 0014200 i s t h e I d ' t h . B R 0014220 f i l e ( 1 s t i s 1 ) 0014240 \r \t b F i l e I d w o r d / 0014260 / i t b e l o n g s t o 0014300 t h e I d ' t h . R U N o 0014320 r . B B " f i l e " \r \t c o 0014340 d e L o c w o r d / / 376 001 \0 0014360 h 243 P C a t s t a r t o 0014400 f . B R f i l e l o a d \r 0014420 \t c o d e L e n g t h w o r d 0014440 / / i n c l u d e s a l l 0014460 c o n c a t e n a t e d . B 0014500 R f i l e s \r \t f i l e C o d 0014520 e w o r d / / c o d e l 0014540 o c a t i o n w i t h i n . 0014560 R U N o r . B B " f i l e 0014600 " \r \t ] \r m a n i f e s t l R 0014620 F i l e = s i z e R F i l 0014640 e / 1 6 \r \r m a n i f e s t l 0014660 F i l e = l B F i l e g e 0014700 l R F i l e ? l B F i l e , 0014720 l R f i l e \r \f \r s t r u c t 0014740 u r e P C s a v e : \r \t [ \r \t 0014760 l i 376 001 \0 p ; n k w o r d \r \t 0015000 c m d b y t e / / f r o m 0015020 l o a d e r s w i t c h \r \t 0015040 l e t t e r V b l b y t e / 0015060 / A - Z , o n e - c h a r 0015100 l e t t e r v b l s f o r 0015120 m u l t i - P C s ( o r $ 0015140 f r o m $ n / P ) \r \t ] \r m a 0015160 n i f e s t l P C s a v e = 0015200 s i z e P C s a v e / 1 6 \r 0015220 \r s t r u c t u r e P C m o d 0015240 : \r \t [ \r \t @ P C s a v e \r \t n 0015260 e w V a l u e w o r d / / 0015300 n a r g u m e n t t o n / 0015320 P o r $ n / P \r \t ] \r m a n 0015340 i f e s t l P C m o d = s 0015360 i z e P C m 376 001 \0 374 % o d / 1 0015400 6 \r \r s t r u c t u r e Z O n 0015420 e : \r \t [ / / * * * * d e 0015440 p e n d e n t o n A L L O C 0015460 i m p l e m e n t a t i o n 0015500 ! ! ! S e e . r o v e r c 0015520 o d e i n b l d r 1 \r \t A l 0015540 l o c a t e \t w o r d \r \t F r e 0015560 e \t \t w o r d \r \t O u t O f S p 0015600 a c e R t n \t w o r d \r \t M a l 0015620 F o r m e d R t n \t w o r d \r \t 0015640 a n c h o r : \r \t \t [ \r \t \t l e 0015660 n g t h w o r d \r \t \t d a t a 0015700 w o r d 2 = \r \t \t [ \r 0015720 \t \t p S b N e x t w o r d 0015740 / / n e x t f r e e b l 0015760 o c k \r \t \t p S b P 376 001 \0 p 0016000 273 r e v i o u s w o r d / / 0016020 p r e v i o u s f r e e b 0016040 l o c k \r \t \t ] \r \t \t ] \r \t 0016060 r o v e r \t \t w o r d \r \t m i n 0016100 A d r \t w o r d \r \t m a x A d r 0016120 \t w o r d \r \t ] \r \r s t r u c t 0016140 u r e B R H e a d e r : / / 0016160 h e a d e r o f . B R f 0016200 i l e \r \t [ \r \t v e r s i o n 0016220 w o r d \r \t f i l e L e n g t h 0016240 w o r d ; b l a n k w o r 0016260 d \r \t n a m e s A d d r w o r 0016300 d ; b l a n k w o r d \r \t l 0016320 a b e l s A d d r w o r d ; 0016340 b l a n k w o r d \r \t c o d e 0016360 A d d r w o r d ; b l a n k 0016400 376 001 \0 \a 003 w o r d \r \t c h a i 0016420 n s A d d r w o r d ; b l a 0016440 n k w o r d \r \t z C h a i n s 0016460 A d d r w o r d ; b l a n k 0016500 w o r d \r \t b l a n k ^ # 1 5 0016520 , # 1 6 w o r d \r \t ] \r m a n 0016540 i f e s t [ l B R H e a d e 0016560 r = s i z e B R H e a d e 0016600 r / 1 6 ; R H E A D L E N G T 0016620 H = l B R H e a d e r ] \r 0016640 \r / / D e f i n e d i n B 0016660 c p l F i l e s . d \r / / s t r 0016700 u c t u r e B B H e a d e r : 0016720 / / h e a d e r o f . B 0016740 B o v e r l a y f i l e o 0016760 r f i l e s e g m e n t \r / 0017000 / \t [ \r / / 376 001 \0 353 224 \t c o d e 0017020 L o c w o r d \t \t / / P C 0017040 o f f i r s t c o d e w o 0017060 r d , a s c o n t r o l l e 0017100 d b y / P \r / / \t c o d e L 0017120 e n g t h w o r d \t / / # 0017140 c o d e w o r d s i n o v 0017160 e r l a y \r / / \t t y p e w o 0017200 r d \t \t / / 0 f o r / A , 0017220 1 f o r / B \r / / \t r e l 0017240 P a i r T a b l e w o r d \t / 0017260 / F I L E w o r d l o c a 0017300 t i o n o f r e l o c a t i 0017320 o n t a b l e \r / / \t f i l e 0017340 L e n g t h w o r d \t / / f 0017360 i l e o r s e g m e n t l 0017400 e n g t h , i n w 376 001 \0 270 351 0017420 o r d s \r / / \t o v e r l a y P 0017440 a g e w o r d \t / / ( a l t 0017460 o p a g e # ) - 1 o f t 0017500 h i s d i s k p a g e \r / / 0017520 \t b l a n k ^ # 6 , # 1 7 0017540 w o r d \t / / r e s e r v e 0017560 d \r / / \t ] \r / / m a n i f e s 0017600 t l B B H e a d e r = s i 0017620 z e B B H e a d e r / 1 6 \r m 0017640 a n i f e s t B H E A D L E N 0017660 G T H = l B B H e a d e r \r 0017700 \r / / s t r u c t u r e S Y m 0017720 s H e a d e r : / / h e a d 0017740 e r o f . S Y M S f i l e 0017760 \r / / \t [ \r / / \t v e r s i o n 0020000 w o r d 1 \t \t / / v e r s 0020020 376 001 \0 357 236 i o n o f B L D R 0020040 t h a t l o a d e d \r / / \t 0020060 f i l e L e n g t h w o r d 0020100 1 \t / / i n w o r d s \r / / 0020120 \t n a m e s A d d r w o r d \t 0020140 / / f i l e w o r d l o c 0020160 a t i o n o f n a m e s t 0020200 r i n g s \r / / \t s y m s A d d 0020220 r w o r d \t / / l o c a t i 0020240 o n o f s t a t i c s y m 0020260 b o l d e s c r i p t i o n s 0020300 \r / / \t b r F i l e s A d d r 0020320 w o r d \t / / l o c a t i o n 0020340 o f . B R f i l e d e s 0020360 c r i p t i o n s \r / / \t b i n 0020400 F i l e s A d d r w o r d \t / 0020420 / l o c 376 \0 235 017 335 a t i o n 0020440 o f . R U N a n d . B B 0020460 f i l e d e s c r i p t i o n 0020500 s \r / / \t b l a n k ^ # 6 , # 1 0020520 7 w o r d \t / / r e s e r v 0020540 e d \r / / \t ] \r / / m a n i f e 0020560 s t l S Y m s H e a d e r = 0020600 s i z e S Y m s H e a d e r 0020620 / 1 6 \r m a n i f e s t M H E 0020640 A D L E N G T H = l S Y m s 0020660 H e a d e r \r 377 \0 \0 B L D R S T 0020700 A T I C S . B C P L \0 373 224 336 377 002 0020720 \0 \0 376 001 \0 \ 225 / / B L D R S T 0020740 A T I C S . B C P L \r / / C o 0020760 p y r i g h t X e r o x C o 0021000 r p o r a t i o n 1 9 7 9 \r \n 0021020 / / S w i n e h a r t , M 0021040 a y 2 3 , 1 9 7 7 5 : 1 0021060 5 P M \r \n / / T a f t , 0021100 F e b r u a r y 2 2 , 1 9 8 0021120 0 2 : 0 3 P M \r \n \r g e t 0021140 " B L D R . D E C L " \r \r \n s 0021160 t a t i c [ \t / / D E F I N E 0021200 A L L S T A T I C V A R I 0021220 A B L E S \r \n N A M E \t = n i l 0021240 \r \n S W \t = n i l \r \n \r \n V E R 0021260 S I O N \t = n i l \r \r \n P A R A 0021300 M L I S T \t = n i l \r \n \r \n S F 0021320 I L E N A M E 376 001 \0 215 a \t = n i 0021340 l \r \n R F I L E N A M E \t = n i 0021360 l \r L F I L E N A M E \t = n i l 0021400 \r \n \r S F I L E N U M \t = - 1 \r 0021420 \n M F I L E N U M \t = - 1 \r \n T 0021440 F I L E N U M \t = - 1 \r \n B F I 0021460 L E N U M \t = - 1 \r \n R F I L E 0021500 N U M \t = - 1 \r \r \n S S T R E A 0021520 M \t = n i l \r \n T S T R E A M \t 0021540 = n i l \r \n L S T R E A M \t = n 0021560 i l \r \n B S T R E A M \t = n i l 0021600 \r \n R S T R E A M \t = n i l \r E 0021620 S T R E A M \t = 0 \r \n \r \n D E B 0021640 U G S W \t = n i l \r \n M A P S W 0021660 \t = n i l \r \n C A S E S W \t = n 0021700 i l \r \n T T Y P E S W \t = n i l 0021720 \r \n T F I L E S W \t = n 376 001 \0 J 0021740 H i l \r \n L I S T S W \t = n i l 0021760 \r \n L I S T N U M S W \t = n i l 0022000 \r \n L I S T L A B S W \t = n i l 0022020 \r \n L I S T V A R S W \t = n i l 0022040 \r \n D U P S W \t \t = n i l \r I N 0022060 I T S W A P S W \t = n i l \r B B 0022100 I N S A V E S W \t = n i l \r O S 0022120 B K S W \t \t = n i l \r n o D i s 0022140 p l a y S w \t = n i l \r \r S W A 0022160 P P E D O U T S Y M \t = 0 \r \n D 0022200 E B G S T A R T A D D R \t = n i 0022220 l \r \n \r J S T A T I C M I N \t = 0022240 - 1 \r J S T A T I C M A X \t = 0 0022260 \r J C O M M O N M I N \t = - 1 \r 0022300 J C O M M O N M A X \t = 0 \r K 0022320 S T A T I C C O U N T = 0 \r 0022340 \n 376 001 \0 002 215 S T A T I C S T A R 0022360 T \t = n i l \r \n S T A T I C M A 0022400 X \t = n i l \r \n S T A T I C L O 0022420 C \t = n i l \r \n S T A T I C S P 0022440 A C E S I Z E \t = n i l \r \n C O 0022460 M M O N S T A R T \t = n i l \r \n 0022500 C O M M O N M A X \t = n i l \r \n 0022520 C O M M O N L O C \t = n i l \r \n 0022540 C O D E S T A R T \t = n i l \r \n 0022560 C O D E M A X \t \t = n i l \r \n C 0022600 O D E L O C \t \t = n i l \r \n S T 0022620 A R T C O D E I M A G E \t = n i 0022640 l \r S R E L P A I R L O C \t = 0022660 n i l \t / / * * * \r \n \r \n C O 0022700 D E L E N G T H \t = n i l \r \n \r 0022720 \n S Y M M A X \t = n i l \r \n \r \n 0022740 N E W R F I 376 001 \0 267 F L E \t = n 0022760 i l \r \n B F I L E M O D E \t = n 0023000 i l \r R E L P A I R S W \t = 0 \r 0023020 \n \r L A B L I S T B A S E \t = n 0023040 i l \r \n L A B L I S T \t = n i l 0023060 \r \n S Y M L I S T \t = n i l \r \n 0023100 S Y M T A B \t = n i l \r \n \r \n B 0023120 F I L E \t = n i l \r \n R F I L E 0023140 \t = n i l \r \n S F I L E \t = 0 \r 0023160 \r f i l e N a m e V e c = n 0023200 i l \r f i l e C o u n t = 0 0023220 \r e v e n t L i s t = n i l 0023240 \r b F i l e C o u n t = 0 \r 0023260 r F i l e C o u n t = 0 \r P 0023300 R E A M B L E V E C = n i l 0023320 \r \n \r \n B H E A D \t = n i l \r \n 0023340 R H E A D \t = n i l \r 376 001 \0 035 z 0023360 \n M H E A D \t = n i l \r \n \r \n Z 0023400 C O D E \t = n i l \r \n C O D E \t 0023420 = n i l \r \n \r \n D I C T \t \t = n 0023440 i l \r \n \r \n F I R S T S Y M \t = 0023460 n i l \r \n L A S T S Y M \t = n 0023500 i l \r \n \r \n W A R N I N G S W \t 0023520 = n i l \r \n W A R N I N G C O U 0023540 N T \t = n i l \r \n E R R O R C O 0023560 U N T = n i l \r s a v e d U 0023600 s e r F i n i s h P r o c = 0023620 n i l \r m a l F o r m e d R o u 0023640 t i n e = 0 / / 0 : n 0023660 o a u t o c h e c k i n g , 0023700 - 1 : r e q u e s t s S 0023720 y s E r r \r f r e e B e g i n 0023740 = n i l / / i n i t t e d 0023760 376 \0 ~ 002 342 b y I n i t B l d 0024000 r ; u s e d b y i n i t 0024020 c o d e r e l e a s e r \r r e 0024040 l P a i r L i s t = n i l \r 0024060 e S t r e a m = 0 \r e B u f 0024100 = 0 \r s t a r t O v e r l a 0024120 y F a = n i l \r s t a t i c 0024140 L i n k s F a = n i l \r \n \n 0024160 ] \t \r 377 \0 \0 B L D R . B C P L \0 0024200 373 230 034 U * \0 \0 376 001 \0 w 9 / / B 0024220 L D R . B C P L \r / / C o p y 0024240 r i g h t X e r o x C o r p 0024260 o r a t i o n 1 9 7 9 , 1 9 0024300 8 1 \r \n / / T a f t , N o 0024320 v e m b e r 1 3 , 1 9 8 1 0024340 3 : 0 5 P M \r \n / / S w 0024360 i n e h a r t , J u n e 2 0 0024400 , 1 9 7 7 8 : 4 4 A M , 0024420 a c c e p t $ H s w i t c 0024440 h \r \n \r g e t " b l d r . d e 0024460 c l " \r \n \r / / S y s t e m 0024500 I n i t i a l i z a t i o n \r \n 0024520 \r l e t B l d r ( b l v , u 0024540 p e , c f a ) b e \r [ \r 0024560 \n V E R S I O N = ( 2 0024600 l s h i f t 8 ) + 376 001 \0 g 0024620 324 8 \r B e f o r e J u n t a 0024640 I n i t ( b l v ) \r ] \r \r \n 0024660 a n d M a i n ( ) b e \r \n 0024700 [ \r A f t e r J u n t a I 0024720 n i t ( ) \r I n c r e a s e 0024740 S t o r a g e ( ) / / t o s 0024760 s o u t i n i t i a l i z a 0025000 t i o n c o d e \r / / M a i 0025020 n l o a d i n g l o o p - 0025040 - p r o c e s s e v e n t L 0025060 i s t \r \r l e t e v e n t = 0025100 @ e v e n t L i s t \r l e t 0025120 e v e n t C o u n t = 0 \r w 0025140 h i l e e v e n t d o \r 0025160 [ \r l e t c m d 0025200 = e v e n t > > R F i l e . c 0025220 m 376 001 \0 366 306 d \r s w i t 0025240 c h o n c m d i n t o \r \t [ 0025260 \r \t c a s e $ S : I N I T S 0025300 A V E F I L E ( e v e n t ) ; 0025320 e n d c a s e \r \t c a s e $ A 0025340 : c a s e $ B : I N I T B 0025360 I N F I L E ( e v e n t , c m 0025400 d ) ; e n d c a s e \r \t c a s 0025420 e $ R : c a s e $ I : R 0025440 E A D R E L F I L E ( e v e n t 0025460 , c m d ) ; e n d c a s e \r 0025500 \t c a s e $ H : c a s e $ 0025520 J : c a s e $ K : R E A D 0025540 J K F I L E ( e v e n t , c m d 0025560 ) ; e n d c a s e \r \t c a s e 0025600 $ P : c a s e $ Q : c a 0025620 s e $ X : 376 001 \0 307 333 c a s e 0025640 $ Y : P r o c e s s P C ( e 0025660 v e n t , c m d ) ; e n d c 0025700 a s e \r \t d e f a u l t : E R 0025720 R O R ( " I n v a l i d i n t 0025740 e r n a l s t r u c t u r e " 0025760 ) \r \t ] \r e v e n t = 0026000 @ e v e n t \r e v e n 0026020 t C o u n t = e v e n t C o 0026040 u n t + 1 \r D i s p l a 0026060 y I n C u r s o r ( e v e n t C 0026100 o u n t ) \r ] \r \r F i n 0026120 i s h B l d r ( ) \r \n f i n i s 0026140 h \r \n ] \r \f \r a n d P r o c e 0026160 s s P C ( e v e n t , c m d ) 0026200 b e \r [ \r l e 0026220 t l e t t e r V b l 376 001 \0 I 365 0026240 = e v e n t > > P C s a v e 0026260 . l e t t e r V b l \r l 0026300 e t n e w V a l = C O D E 0026320 L O C \r l e t P , o 0026340 l d V a l = n i l , n i l 0026360 \r i f l e t t e r V b 0026400 l g e $ A t h e n \r 0026420 \t [ P = l v P A R A M 0026440 L I S T ! ( l e t t e r V b l - 0026460 $ A ) ; o l d V a l = @ P 0026500 ] \r s w i t c h o n 0026520 c m d i n t o \r \t [ \r 0026540 \t c a s e $ P : \r 0026560 \t [ \r \t u n 0026600 l e s s l e t t e r V b l e 0026620 q $ $ d o n e w V a l = 0026640 376 001 \0 305 o 0 \r \t t 0026660 e s t l e t t e r V b l < 0026700 $ A t h e n [ / / n o t 0026720 a l e t t e r , s o i t 0026740 ' s 0 o r $ $ \r \t \t o l d 0026760 V a l = n e w V a l + e 0027000 v e n t > > P C m o d . n e w V 0027020 a l u e \r \t \t i f B F 0027040 I L E e q S F I L E & U 0027060 s c ( o l d V a l , S F I L E 0027100 > > B F i l e . c o d e L o c ) 0027120 < 0 t h e n E R R O R ( \r \t 0027140 \t " $ U O / P : C a n ' 0027160 t l o a d b e l o w C o d 0027200 e s t a r t - - c h a n g e 0027220 i t w i t h / O " , o l 0027240 d V a l ) 376 001 \0 326 275 \r \t \t ] \r \t 0027260 o r i f o l d V a l 0027300 e q - 1 t h e n E R R O R 0027320 ( " / P : $ C v a l u e n 0027340 o t i n i t i a l i z e d " , 0027360 l e t t e r V b l ) \r \t C O 0027400 D E L O C = o l d V a l \r \t 0027420 e n d c a s e \r \t ] \r \t 0027440 c a s e $ X : i f U s c ( 0027460 o l d V a l , n e w V a l ) 0027500 > 0 t h e n n e w V a l 0027520 = o l d V a l ; d o c a s e 0027540 $ Q \r \t c a s e $ Y : i f 0027560 U s c ( o l d V a l , n e w 0027600 V a l ) < 0 t h e n n e 0027620 w V a l = o l d V a l ; / 0027640 / d o c a s e $ 376 001 \0 251 - Q 0027660 \r \t c a s e $ Q : @ P = 0027700 o l d V a l e q - 1 ? C O 0027720 D E L O C , n e w V a l ; e 0027740 n d c a s e \r \t d e f a u l t : 0027760 E R R O R ( " I n t e r n a l 0030000 s t r u c t u r e d a m a g 0030020 e d " ) \r \t ] \r ] \r \f \r 0030040 a n d I N I T S A V E F I L E 0030060 ( e v e n t ) b e \r [ \r 0030100 W s ( S F I L E N A M E ) 0030120 \r i f T F I L E N U M 0030140 n e - 1 d o [ W s ( " 0030160 , " ) ; W s ( f i l e N a m 0030200 e V e c ! T F I L E N U M ) ] 0030220 \r P u t s ( d s p , $ * N 0030240 ) \r \r i f C O M 376 0030260 001 \0 X 373 M O N S T A R T e q 0030300 - 1 t h e n C O M M O N S T 0030320 A R T = # 5 0 \r C O M M O 0030340 N M A X = # 3 0 0 \r D E B 0030360 G S T A R T A D D R = - 1 \r 0030400 i f S T A T I C M A X e q 0030420 - 1 d o S T A T I C M A X 0030440 = I S T A T I C M A X \r 0030460 i f S T A T I C S T A R T 0030500 e q - 1 t h e n S T A T I 0030520 C S T A R T = U S E R B O T 0030540 T O M \r i f C O D E S T 0030560 A R T e q - 1 t h e n C 0030600 O D E S T A R T = S T A T I 0030620 C S T A R T + S T A T I C M A 0030640 X \r S T A T I C S P A C E 0030660 S I Z E 376 001 \0 g 233 = S T A T I C 0030700 M A X \r S T A T I C M A X 0030720 = S T A T I C S T A R T + 0030740 S T A T I C S P A C E S I Z E 0030760 \r C O M M O N L O C = 0031000 C O M M O N S T A R T \r S 0031020 T A T I C L O C = S T A T I 0031040 C S T A R T \r C O D E L O 0031060 C = C O D E S T A R T \r 0031100 S T A R T C O D E I M A G E = 0031120 S T A R T M E M I M A G E + S T 0031140 A T I C S P A C E S I Z E \r \r 0031160 i f I N I T S W A P S W 0031200 e q 1 t h e n \r \t [ / / 0031220 m a k e " e x t e r n a l S 0031240 w a p p e d O u t " b e f i 0031260 r s t s y m b o 376 001 \0 375 U l \r 0031300 \t l e t s y m , s y m s t r 0031320 i n g = v e c l S Y m , 0031340 " S w a p p e d O u t " \r \t s y 0031360 m > > S Y m . r F i l e = @ 0031400 e v e n t L i s t / / . R U 0031420 N f i l e d e s c r i p t o 0031440 r \r \t s y m > > S Y m . f l a g 0031460 s = 0 ; s y m > > S Y m . 0031500 s t a t i c A d d r e s s = 0031520 - 1 \r \t s y m > > S Y m . d i c 0031540 t E n t r y = D I C T E N T 0031560 R Y ( s y m s t r i n g ) \r \t S 0031600 W A P P E D O U T S Y M = N 0031620 E W S Y M E N T R Y ( s y m ) 0031640 ] \r \r i f ( L I S T S W 0031660 % T F I L E S W ) d o 376 001 0031700 \0 340 256 \r \t [ L S T R E A M 0031720 = O p e n f i l e ( T F I L E 0031740 N U M , k s T y p e W r i t e O 0031760 n l y , c h a r I t e m ) \r \t 0032000 i f T F I L E S W d o T S 0032020 T R E A M = L S T R E A M 0032040 ] \r S S T R E A M = O 0032060 p e n f i l e ( S F I L E N U M 0032100 , k s T y p e W r i t e O n l 0032120 y , w o r d I t e m ) \r I 0032140 N I T B I N F I L E ( e v e n t 0032160 , 0 ) \r S F I L E = 0032200 B F I L E \r \r i f 0032220 U s c ( S T A T I C S T A R T 0032240 , U S E R B O T T O M ) l s 0032260 0 d o \r \t W A R N I N G ( 0032300 " s t 376 001 \0 320 354 a t i c s s t 0032320 a r t b e l o w U S E R B O 0032340 T T O M " ) \r i f U s c 0032360 ( S T A T I C M A X , C O R 0032400 E M A X ) g r 0 d o \r \t 0032420 W A R N I N G ( " s t a t i c 0032440 a r e a o v e r l a p s O S 0032460 " ) \r \r P u t T e m 0032500 p l a t e ( L S T R E A M , " 0032520 C O M M O N * T * T * T $ 6 0032540 U O * T $ 6 U O * N " , \r \t C 0032560 O M M O N S T A R T , C O M M 0032600 O N M A X - 1 ) \r u n l e 0032620 s s D E B G S T A R T A D D R 0032640 e q - 1 d o \r \t P u t T 0032660 e m p l a t e ( L S T R E A M , 0032700 " D E B U 376 001 \0 377 262 G * 0032720 T * T * T $ 6 U O * N " , D E 0032740 B G S T A R T A D D R ) \r 0032760 P u t T e m p l a t e ( L S T R 0033000 E A M , " S T A T I C S * 0033020 T * T * T $ 6 U O * T $ 6 U O * 0033040 N " , \r \t S T A T I C S T A R 0033060 T , S T A T I C M A X - 1 ) \r 0033100 ] \r \r a n d I N I T B I 0033120 N F I L E ( e v e n t , k i n 0033140 d ) b e \r [ \r i f 0033160 S F I L E t h e n E N D B 0033200 I N F I L E ( ) / / s u s p 0033220 e n d . R U N f i l e o r 0033240 e n d . B B o v e r l a y 0033260 \r \r B F I L E = e v e 0033300 n t \r B F I L E N U 376 001 \0 0033320 240 264 M = B F I L E > > B F i 0033340 l e . f i l e N u m \r B F 0033360 I L E M O D E = k i n d e 0033400 q $ B ? 1 , 0 \r R E 0033420 L P A I R S W = B F I L E M 0033440 O D E e q 1 \r \r b F i 0033460 l e C o u n t = b F i l e C 0033500 o u n t + 1 \r B F I L E > 0033520 > B F i l e . b F i l e I d = 0033540 b F i l e C o u n t \r B 0033560 F I L E > > B F i l e . c o d e 0033600 L o c = - 1 \r B F I L 0033620 E > > B F i l e . m a x C o d e 0033640 L o c = - 1 \r \r 0033660 W s s ( L S T R E A M , f i l e 0033700 N a m e V e c ! B F I L E N U M 0033720 ) ; 376 001 \0 $ B \r i f B B 0033740 I N S A V E S W & B F I L E 0033760 N U M n e S F I L E N U M 0034000 t h e n \r \t P u t T e m p 0034020 l a t e ( L S T R E A M , " ( 0034040 I N $ S ) " , S F I L E N A M 0034060 E ) \r P u t s ( L S T R E 0034100 A M , $ * N ) \r \r L 0034120 A B L I S T ! 0 = 0 ; L A 0034140 B L I S T B A S E = 0 \r 0034160 \r t e s t B F I L E N 0034200 U M e q S F I L E N U M \t / 0034220 / I F S O , T H I S I S 0034240 T H E S A V E F I L E \r 0034260 \t t h e n B S T R E A M = 0034300 S S T R E A M \r \t o r 0034320 [ t e s 376 001 \0 332 240 t B B 0034340 I N S A V E S W \r \t \t 0034360 i f s o \t [ / / p a d l 0034400 a s t p a g e o f s a v e 0034420 f i l e & a p p e n d \r 0034440 \t \t \t B S T R E A M = S 0034460 S T R E A M \r \t \t \t l e t 0034500 N = C U R B O P O S ( B S 0034520 T R E A M ) & # 3 7 7 \r 0034540 \t \t \t i f N t h e n W r 0034560 i t e B l o c k ( B S T R E A M 0034600 , C O D E , 2 5 6 - N ) \r 0034620 \t \t \t ] \r \t \t i f 0034640 n o t B S T R E A M = O p 0034660 e n f i l e ( B F I L E N U M , 0034700 k s T y p e W r i t e O n l y 0034720 , w o r d I t e m ) \r 376 001 \0 372 0034740 G \t \t G e t C u r r e n t F a ( 0034760 B S T R E A M , s t a r t O v e 0035000 r l a y F a ) \r \t \t Z e r 0035020 o ( B H E A D , B H E A D L E N 0035040 G T H ) \r \t \t W r i t e B l o c 0035060 k ( B S T R E A M , B H E A D , 0035100 B H E A D L E N G T H ) \r 0035120 \t \t B H E A D > > B B H e a d e 0035140 r . o v e r l a y P a g e = 0035160 C U R B O P A G E ( B S T R E A 0035200 M ) \r \t \t ] \r ] \r a 0035220 n d S T O P S A V E F I L E ( 0035240 ) b e \r \t [ \r \t S F I L E > > 0035260 B F i l e . r F i l e C o d e L 0035300 o c = C O D E L O C \r \t S E 0035320 T B O P O S ( S S T R E A M , 0035340 S 376 001 \0 300 037 F I L E > > B F i l 0035360 e . m a x C o d e L o c - C O D 0035400 E S T A R T + S T A R T C O D E 0035420 I M A G E - 1 ) \r \t i f L A B 0035440 L I S T B A S E t h e n \r \t 0035460 S R E L P A I R L O C = 0035500 W R I T E R E L P A I R S ( 0 ) 0035520 + C O D E S T A R T - S T A R T 0035540 C O D E I M A G E + 1 \r \t l e t 0035560 S A V E E N D P A G E = C 0035600 U R B O P A G E ( S S T R E A M 0035620 ) \r \t G e t C u r r e n t F a ( 0035640 S S T R E A M , s t a t i c L 0035660 i n k s F a ) \r \t i f B B I N 0035700 S A V E S W t h e n / / * 0035720 * * * l e a v e r o o m f 0035740 o r s t a 376 001 \0 _ 312 t i c l 0035760 i n k s ( t o o m u c h ) \r 0036000 \t \t W r i t e B l o c k ( S S T 0036020 R E A M , C O D E , S T A T 0036040 I C S P A C E S I Z E ) \r \t S 0036060 F I L E > > B F i l e . p a g e 0036100 L e n g t h = \r \t ( C U 0036120 R B O P O S ( S S T R E A M , 0036140 S A V E E N D P A G E ) + 2 5 5 0036160 ) r s h i f t 8 + S A 0036200 V E E N D P A G E \r \t i f I N 0036220 I T S W A P S W e q 1 t h 0036240 e n \r \t t e s t S W A P P 0036260 E D O U T S Y M > > S Y m . t y 0036300 p e > 1 t h e n I N I T 0036320 S W A P S W = 2 \r \t \t o r 0036340 [ \r \t \t W s s ( L S T 376 001 \0 204 C 0036360 R E A M , " * N / I s w i t c 0036400 h r e q u i r e s S w a p p 0036420 e d O u t p r o c e d u r e * 0036440 N * N " ) \r \t \t E R R O R C O U 0036460 N T = E R R O R C O U N T 0036500 + 1 ; I N I T S W A P S W 0036520 = 3 ] \r \t ] \r \r a n d E N 0036540 D B I N F I L E ( ) b e \r \t [ 0036560 \r \t i f B F I L E e q S F 0036600 I L E t h e n [ S T O P S 0036620 A V E F I L E ( ) ; r e t u r 0036640 n ] \r \t B H E A D > > B B H e 0036660 a d e r . c o d e L o c = B 0036700 F I L E > > B F i l e . c o d e 0036720 L o c \r \t B H E A D > > B B H e 0036740 a d e r . c o d e L e n g t h 0036760 376 001 \0 \f 350 = B F I L E > > B F 0037000 i l e . m a x C o d e L o c - 0037020 B F I L E > > B F i l e . c o 0037040 d e L o c \r \t B H E A D > > B B 0037060 H e a d e r . t y p e = B F 0037100 I L E M O D E \r \t l e t o P a 0037120 g e = B H E A D > > B B H e 0037140 a d e r . o v e r l a y P a g e 0037160 \r \t B H E A D > > B B H e a d e 0037200 r . r e l P a i r T a b l e = 0037220 C U R B O P O S ( B S T R E A 0037240 M , o P a g e ) \r \t i f B F 0037260 I L E M O D E e q 1 % L 0037300 A B L I S T B A S E d o W R 0037320 I T E R E L P A I R S ( o P a g 0037340 e ) \r \t B H E A D > > B B H e a 0037360 d e r . f 376 001 \0 Q ~ i l e L e n 0037400 g t h = C U R B O P O S ( B 0037420 S T R E A M , o P a g e ) \r \t 0037440 l e t e n d F a = v e c 0037460 l F A \r \t G e t C u r r e n t F 0037500 a ( B S T R E A M , e n d F a 0037520 ) \r \t J u m p T o F a ( B S T R 0037540 E A M , s t a r t O v e r l a y 0037560 F a ) \r \t W r i t e B l o c k ( 0037600 B S T R E A M , B H E A D , B H 0037620 E A D L E N G T H ) \r \t J u m p 0037640 T o F a ( B S T R E A M , e n d 0037660 F a ) \r \t u n l e s s B B I N 0037700 S A V E S W d o C l o s e s 0037720 ( B S T R E A M ) \r \t ] \r \r / / 0037740 E N D S A V E F I L E l o g 0037760 i c a l l y g o e 376 001 \0 273 4 s 0040000 h e r e \r \r a n d W R I T E 0040020 R E L P A I R S ( P A G E O F F 0040040 S E T ) = v a l o f / / 0040060 * * * \r \t [ \r \t l e t P = 0040100 C U R B O P O S ( B S T R E A M 0040120 , P A G E O F F S E T ) \r \t l 0040140 e t n R e l P a i r s = L 0040160 A B L I S T ! 0 - L A B L I 0040200 S T B A S E / 2 \r \t B F I L E > 0040220 > B F i l e . n R e l P a i r s 0040240 = n R e l P a i r s / / 0040260 k e e p f o r S Y M S f i 0040300 l e \r \t P u t s ( B S T R E A M 0040320 , n R e l P a i r s ) \r \t W r i 0040340 t e B l o c k ( B S T R E A M , 0040360 l v L A B L I S T ! ( L A B 376 0040400 \0 345 372 360 L I S T B A S E + 1 ) , 0040420 n R e l P a i r s l s h i f t 0040440 1 ) \r \t i f B F I L E N U M 0040460 e q S F I L E N U M t h e 0040500 n \r \t [ \r \t S F I L E > 0040520 > B F i l e . m a x C o d e L o 0040540 c = \r \t S F I L E > > B 0040560 F i l e . m a x C o d e L o c 0040600 + L A B L I S T ! 0 * 2 - 0040620 L A B L I S T B A S E + 1 \r 0040640 \t S F I L E > > B F i l e . 0040660 r F i l e C o d e L o c = S F I 0040700 L E > > B F i l e . m a x C o d 0040720 e L o c \r \t ] \r \t r e s u l 0040740 t i s P \r \t ] \r 377 \0 \0 B L D R 0040760 B R . B C P L \0 373 230 034 R 221 \0 \0 376 0041000 001 \0 B 217 / / B L D R - B R . B 0041020 C P L \r / / C o p y r i g h t 0041040 X e r o x C o r p o r a t i 0041060 o n 1 9 7 9 , 1 9 8 1 \r \n / 0041100 / S w i n e h a r t , N o 0041120 v e m b e r 1 3 , 1 9 8 1 0041140 2 : 5 5 P M \r \n / / S w 0041160 i n e h a r t , J u n e 2 0 0041200 , 1 9 7 7 1 0 : 0 0 P M 0041220 \r \n \r g e t " b l d r . d e c 0041240 l " \r \n \r s t r u c t u r e A 0041260 D d r W o r d : [ i n d b 0041300 i t 1 ; a d d r b i t 1 0041320 5 ] \r s t r u c t u r e I N 0041340 s t W o r d : [ b l a n k 0041360 b i t 8 ; a d d r b i t 0041400 8 ] \r \r 376 001 \0 237 , l e t R E A 0041420 D R E L F I L E ( e v e n t , 0041440 k i n d ) b e \r [ \t / / P 0041460 R O C E S S A N E W R E L 0041500 F I L E \r i f K S T A T I 0041520 C C O U N T t h e n [ C O 0041540 D E W A R N I N G ( " I g n o r 0041560 i n g . B R f i l e a f t 0041600 e r . B K f i l e " ) ; r 0041620 e t u r n ] \r i f k i n 0041640 d e q $ I t h e n [ R 0041660 E L P A I R S W = t r u e ; 0041700 L A B L I S T B A S E = L 0041720 A B L I S T ! 0 * 2 ] \r l 0041740 e t R B A S E = 0 \r l e t 0041760 R F I L E = F I N D N E X 0042000 T I N P U T F I L 376 001 \0 033 341 E ( 0042020 e v e n t ) \r \r i f B 0042040 F I L E > > B F i l e . c o d e 0042060 L o c e q - 1 t h e n \r \t 0042100 [ B F I L E > > B F i l e . c 0042120 o d e L o c = C O D E L O C 0042140 \r \t B F I L E > > B F i l e . m 0042160 a x C o d e L o c = C O D E 0042200 L O C \r \t ] \r B F I L E > > 0042220 B F i l e . r F i l e C o d e L 0042240 o c = C O D E L O C \r \r 0042260 P u t T e m p l a t e ( L S 0042300 T R E A M , " * T * T * T $ 6 U 0042320 O * N " , C O D E L O C ) \r 0042340 l e t C O D E L O C S A V E D 0042360 = C O D E L O C \r \r 0042400 l e t W A R N = f a l 376 001 0042420 \0 324 Y s e \r i f B F I L E 0042440 M O D E e q 0 d o \r \t [ 0042460 i f U s c ( C O D E L O C , 0042500 U S E R B O T T O M ) l s 0042520 0 d o \r \t [ W A R N = 0042540 t r u e ; C O D E W A R N I 0042560 N G ( " I S B E L O W U S 0042600 E R B O T T O M " ) ] \r \t i f 0042620 B E T W E E N ( C O D E L O C 0042640 , S T A T I C S T A R T , S 0042660 T A T I C M A X ) d o \r \t 0042700 [ W A R N = t r u e ; C 0042720 O D E W A R N I N G ( " O V E 0042740 R L A P S S T A T I C A R E 0042760 A " ) ] \r \t ] \r \r R S 0043000 T R E A M = O p e n f i l e 0043020 ( R F 376 001 \0 J P I L E N U M , k 0043040 s T y p e R e a d O n l y , w o 0043060 r d I t e m ) \r \r [ 0043100 \r R F I L E > > R F i l 0043120 e . c o d e L o c = B F I L 0043140 E > > B F i l e . r F i l e C o 0043160 d e L o c \r R F I L E > 0043200 > R F i l e . f i l e C o d e 0043220 = B F I L E > > B F i l e . r 0043240 F i l e C o d e L o c - B F 0043260 I L E > > B F i l e . c o d e L 0043300 o c \r R e a d B l o c k 0043320 ( R S T R E A M , R H E A D , R 0043340 H E A D L E N G T H ) \r 0043360 \r u n l e s s ( R H E 0043400 A D > > B R H e a d e r . v e r 0043420 s i o n r s h 376 001 \0 ~ 016 i f t 0043440 8 ) e q ( V E R S I O N 0043460 r s h i f t 8 ) d o \r 0043500 \t E R R O R ( " $ S i s i n 0043520 c o m p a t i b l e w i t h 0043540 t h i s v e r s i o n o f 0043560 B L D R * N " , R F I L E N A 0043600 M E ) \r \r S E T 0043620 B I P O S ( R B A S E + R H E A 0043640 D > > B R H e a d e r . n a m e 0043660 s A d d r ) ; R E A D S T A T 0043700 I C S ( ) \r S E T B I P 0043720 O S ( R B A S E + R H E A D > > 0043740 B R H e a d e r . l a b e l s A 0043760 d d r ) ; R E A D L A B E L S 0044000 ( ) \r S E T B I P O S ( 0044020 R B A S E + R H E A D > > 376 001 \0 0044040 352 l B R H e a d e r . c o d e A 0044060 d d r ) ; R E A D C O D E ( ) 0044100 \r S E T B I P O S ( R B 0044120 A S E + R H E A D > > B R H e a 0044140 d e r . c h a i n s A d d r ) ; 0044160 R E A D C H A I N S ( ) \r 0044200 i f R H E A D > > B R H e 0044220 a d e r . z C h a i n s A d d r 0044240 t h e n \r \t [ S E T B I P O 0044260 S ( R B A S E + R H E A D > > B 0044300 R H e a d e r . z C h a i n s A 0044320 d d r ) ; R E A D Z C H A I N 0044340 S ( ) ] \r \r R 0044360 F I L E > > R F i l e . c o d e 0044400 L e n g t h = R F I L E > > 0044420 R F i l e . c o d e L e n g t h 0044440 + C 376 001 \0 \n 323 O D E L E N G T H 0044460 \r \r l e t F I 0044500 R S T K L U D G E = 0 \r \r 0044520 i f B F I L E e q S F I 0044540 L E t h e n [ \r \t i f B F 0044560 I L E > > B F i l e . r F i l e 0044600 C o d e L o c e q C O D E S 0044620 T A R T t h e n F I R S T K 0044640 L U D G E = 1 \r \t S E T B O 0044660 P O S ( B S T R E A M , \r \t 0044700 B F I L E > > B F i l e . r F i 0044720 l e C o d e L o c - C O D E S T 0044740 A R T + S T A R T C O D E I M A 0044760 G E - 1 + F I R S T K L U D G E 0045000 ) ] \r \r W r i 0045020 t e B l o c k ( B S T R E A M , 0045040 C O D E + F 376 001 \0 322 L I R S T 0045060 K L U D G E , C O D E L E N G 0045100 T H - F I R S T K L U D G E ) \r 0045120 \r B F I L E > > 0045140 B F i l e . r F i l e C o d e L 0045160 o c = B F I L E > > B F i l 0045200 e . r F i l e C o d e L o c + 0045220 C O D E L E N G T H \r 0045240 i f B F I L E > > B F i l e . 0045260 r F i l e C o d e L o c g r 0045300 B F I L E > > B F i l e . m a x 0045320 C o d e L o c t h e n \r \t B F 0045340 I L E > > B F i l e . m a x C o 0045360 d e L o c = B F I L E > > B 0045400 F i l e . r F i l e C o d e L o 0045420 c \r C O D E L O C = 0045440 B F I L E > > B F i l e 376 001 \0 a 0045460 323 . r F i l e C o d e L o c \r 0045500 R B A S E = R B A S E + R 0045520 H E A D > > B R H e a d e r . f 0045540 i l e L e n g t h \r S e 0045560 t F i l e P o s ( R S T R E A M 0045600 , 0 , R B A S E * 2 ) \r 0045620 i f E n d o f s ( R S T R E A 0045640 M ) b r e a k \r ] r 0045660 e p e a t \r \r C l o s e 0045700 s ( R S T R E A M ) \r \r 0045720 P u t T e m p l a t e ( L S T R 0045740 E A M , " * T * T * T * T $ 6 U 0045760 O * T * T $ 6 U O ( $ D ) * N 0046000 " , \r \t C O D E L O C - 1 , C 0046020 O D E L O C - C O D E L O C S A 0046040 V E D , C O D E L O C - C O D 0046060 E 376 001 \0 \f 276 L O C S A V E D ) \r 0046100 \r i f B F I L E M O D 0046120 E e q 0 t h e n \r \t [ \r \t 0046140 i f U s c ( C O D E L O C , 0046160 C O R E M A X ) g r 0 0046200 t h e n C O D E W A R N I N G 0046220 ( " o v e r l a p s O S " ) 0046240 \r \t i f W A R N e q 0 & 0046260 B E T W E E N ( C O D E L O C 0046300 - 1 , S T A T I C S T A R T , 0046320 S T A T I C M A X ) t h e n 0046340 \r \t C O D E W A R N I N G ( 0046360 " o v e r l a p s s t a t i 0046400 c a r e a " ) \r \t ] \r ] \r 0046420 \r a n d S E T B I P O S ( i d 0046440 x ) b e S e t F i l e P o s 0046460 ( R S T R E 376 001 \0 E V A M , 0 , 0046500 i d x l s h i f t 1 ) \r \r 0046520 a n d F I N D N E X T I N P U 0046540 T F I L E ( e v e n t ) = v 0046560 a l o f \r \t [ \r \t R F I L E = 0046600 e v e n t \r \t R F I L E N U M 0046620 = R F I L E > > R F i l e . 0046640 f i l e N u m \r \t R F I L E N A 0046660 M E = f i l e N a m e V e c 0046700 ! R F I L E N U M \r \r \t r F i l 0046720 e C o u n t = r F i l e C o 0046740 u n t + 1 \r \t R F I L E > > R F 0046760 i l e . r F i l e I d = r F 0047000 i l e C o u n t \r \t R F I L E > 0047020 > R F i l e . b F i l e I d = 0047040 B F I L E > > B F i l e . b F 0047060 i l e I d \r \t P u t T 376 001 \0 I 235 0047100 e m p l a t e ( L S T R E A M , 0047120 " $ S $ S " , \r \t \t R F I 0047140 L E N A M E , ( R F I L E N A M 0047160 E ! 0 r s h i f t 8 ) + 3 0047200 < 8 ? " * T " , " " ) \r \t r 0047220 e s u l t i s R F I L E \r \t ] 0047240 \r \r a n d R E A D S T A T I C 0047260 S ( ) b e \r [ \t / / P R O 0047300 C E S S T H E S T A T I C S 0047320 I N T H E C U R R E N T 0047340 R E L F I L E \r l e t s y 0047360 m = v e c l S Y m \r l 0047400 e t S Y M S T R I N G = v 0047420 e c N A M E L E N G T H / 2 \r 0047440 S Y M L I S T ! 0 = 0 \r 0047460 \r l e t N = G e t s ( 0047500 376 001 \0 < Y R S T R E A M ) \r 0047520 f o r I = 1 t o N d 0047540 o [ / / s t a t i c e n 0047560 t r y \r \t s y m > > S Y m . r F 0047600 i l e = R F I L E \r \t l e t 0047620 f l a g s = G e t s ( R S 0047640 T R E A M ) \r \t s y m > > S Y m 0047660 . f l a g s = ( f l a g s & 0047700 # 1 7 7 7 6 0 ) / / l a s t 0047720 4 b i t s r e c o r d " 0047740 l o c a l " \r \t i f ( f l a g 0047760 s & # 1 7 ) n e 0 t h e n 0050000 s y m > > S Y m . l o c a l 0050020 = 1 \r \t s y m > > S Y m . i n 0050040 i t i a l V a l u e = G e t 0050060 s ( R S T R E A M ) \r \t s y m > 0050100 > S Y m . 376 001 \0 \f g s t a t i c 0050120 A d d r e s s = - 1 \r \t S Y 0050140 M S T R I N G ! 0 = G e t s 0050160 ( R S T R E A M ) \r \t R e a d B 0050200 l o c k ( R S T R E A M , l v 0050220 S Y M S T R I N G ! 1 , ( S Y M 0050240 S T R I N G ! 0 r s h i f t 0050260 8 ) / 2 ) \r \t s y m > > S Y m . 0050300 d i c t E n t r y = D I C T 0050320 E N T R Y ( S Y M S T R I N G ) 0050340 \r \r \t l e t e n t r y , s y 0050360 m T y p e = S Y M E N T R Y 0050400 ( s y m , f a l s e ) , s y 0050420 m > > S Y m . t y p e \r \t t e s 0050440 t e n t r y t h e n [ \r \t 0050460 e n t r y > > S Y m . j 0050500 O n l y = f a l 376 001 \0 B 351 s 0050520 e \r \t i f s y m > > S 0050540 Y m . z n e e n t r y > > S 0050560 Y m . z t h e n \r \t \t [ C O 0050600 M M O N E R R O R ( s y m , e 0050620 n t r y ) ; e n t r y > > S Y 0050640 m . z = 1 ] \r \t i 0050660 f s y m T y p e > 0 & 0050700 e n t r y > > S Y m . t y p e 0050720 > 0 t h e n \r \t \t [ M U L 0050740 T D E F E R R O R ( s y m , e 0050760 n t r y ) ; e n t r y > > S Y 0051000 m . d u p D e f = t r u e 0051020 ] \r \t ] \r \t o r e 0051040 n t r y = N E W S Y M E N T 0051060 R Y ( s y m ) \r \t i f s y m T 0051100 y p e > 0 t h e n [ 376 0051120 001 \0 # 202 / / d e f i n i n g 0051140 s y m b o l \r \t i f R E 0051160 L P A I R S W & s y m T y p e 0051200 > 1 t h e n e n t r y > 0051220 > S Y m . r e l o c a t a b l e 0051240 = t r u e \r \t u n l e 0051260 s s e n t r y > > S Y m . d u 0051300 p D e f d o [ \r \t 0051320 i f B F I L E M O D E e q 0051340 1 & s y m T y p e > 1 0051360 t h e n e n t r y > > S Y m 0051400 . i n i t S w a p p e d O u t 0051420 = t r u e \r \t e n 0051440 t r y > > S Y m . i n i t i a l 0051460 V a l u e = s y m > > S Y m 0051500 . i n i t i a l V a l u e \r \t 0051520 376 001 \0 o 200 e n t r y > 0051540 > S Y m . r F i l e = s y m 0051560 > > S Y m . r F i l e \r \t 0051600 e n t r y > > S Y m . t y 0051620 p e = s y m T y p e ] \r \t 0051640 ] \r \t l e t P = S Y 0051660 M L I S T ! 0 + 1 \r \t S Y M 0051700 L I S T ! 0 = P \r \t S Y M L 0051720 I S T ! P = e n t r y \r 0051740 ] / / s t a t i c 0051760 e n t r y \r ] \r \r a n d R E 0052000 A D L A B E L S ( ) b e \r [ \t 0052020 / / P R O C E S S T H E L A 0052040 B E L S I N T H E C U R R 0052060 E N T R E L F I L E \r l e 0052100 t L F I R S T = L A B L I 0052120 S T ! 0 * 2 + 376 001 \0 265 323 1 \r 0052140 l e t N = G e t s ( R 0052160 S T R E A M ) \r f o r I 0052200 = 1 t o N d o \r 0052220 [ \t l e t E N T R Y = S Y 0052240 M L I S T ! ( G e t s ( R S T R 0052260 E A M ) ) \r \t l e t P C = 0052300 G e t s ( R S T R E A M ) \r \t l 0052320 e t P = L A B L I S T ! 0 0052340 * 2 + 1 \r \t L A B L I S T ! 0052360 0 = L A B L I S T ! 0 + 0052400 1 \r \t L A B L I S T ! ( P + 0 ) 0052420 = E N T R Y \r \t L A B L I S 0052440 T ! ( P + 1 ) = P C \r \t i f 0052460 E N T R Y > > S Y m . d u p D 0052500 e f e q 0 t h e n \r \t \t E 0052520 N T R Y > > S Y m . i n i t 376 001 0052540 \0 367 350 i a l V a l u e = P C 0052560 + R F I L E > > R F i l e . 0052600 c o d e L o c \r ] \r 0052620 l e t L L A S T = L A 0052640 B L I S T ! 0 * 2 - 1 \r 0052660 i f L I S T L A B S W d o \r 0052700 [ \r [ \t l e t P M I N 0052720 = - 1 \r \t l e t P C M I N 0052740 = C O D E M A X \r \t f o r 0052760 P = L F I R S T t o L L 0053000 A S T b y 2 d o \r \t [ 0053020 l e t P C = L A B L I S 0053040 T ! ( P + 1 ) \r \t i f 0053060 ( P C & # 1 0 0 0 0 0 ) e 0053100 q 0 d o \r \t \t i f P C l 0053120 s P C M I N d o P M I N , 0053140 P C 376 001 \0 D 304 M I N = P , 0053160 P C \r \t ] \r \t i f P M I 0053200 N e q - 1 b r e a k \r \t P 0053220 R I N T S Y M ( L A B L I S T ! 0053240 P M I N ) \r \t L A B L I S T ! ( 0053260 P M I N + 1 ) = L A B L I S 0053300 T ! ( P M I N + 1 ) + # 1 0 0053320 0 0 0 0 \r ] r e p e 0053340 a t \r ] \r f o r P = 0053360 L F I R S T t o L L A S T 0053400 b y 2 d o \r [ \t L 0053420 A B L I S T ! P = ( L A B L 0053440 I S T ! P ) > > S Y m . s t a t 0053460 i c A d d r e s s \r \t L A B L I 0053500 S T ! ( P + 1 ) = ( L A B L 0053520 I S T ! ( P + 1 ) & # 7 7 7 0053540 7 7 ) + R F 376 001 \0 356 266 I L E 0053560 > > R F i l e . f i l e C o d e 0053600 \r ] \r ] \r \r a n d 0053620 R E A D C O D E ( ) b e \r [ \t 0053640 / / R E A D T H E C O D E 0053660 I M A G E I N T H E C U R 0053700 R E N T R E L F I L E \r C 0053720 O D E L E N G T H = G e t s 0053740 ( R S T R E A M ) \r i f C 0053760 O D E L E N G T H g r C O D 0054000 E M A X d o E R R O R ( " R 0054020 E L F I L E T O O B I G " ) 0054040 \r \r i f R e a d B l o c k ( R 0054060 S T R E A M , C O D E , C O D E 0054100 L E N G T H ) n e C O D E L 0054120 E N G T H t h e n \r E R R 0054140 O R ( " P R E M A T U R E 376 001 \0 0054160 + 321 E N D O F F I L E " ) 0054200 \r ] \r \r a n d R E A D C H A 0054220 I N S ( ) b e \r [ \t / / P R O 0054240 C E S S T H E S T A T I C 0054260 C H A I N S I N T H E C U 0054300 R R E N T R E L F I L E \r 0054320 l e t N , T = G e t s ( 0054340 R S T R E A M ) , n i l \r 0054360 f o r I = 1 t o N d 0054400 o \r [ \t l e t P C = 0054420 G e t s ( R S T R E A M ) \r \t 0054440 l e t P = ( I - 1 ) * 1 0054460 + 1 \r \t l e t E N T R Y = 0054500 S Y M L I S T ! P \r \r \t t e s 0054520 t n o t P C < < A D d r W o 0054540 r d . i n d \r \t t h e n w 0054560 h i 376 001 \0 200 347 l e P C d o \r 0054600 \t [ \t T = C O D 0054620 E ! P C \r \t \t C O D E ! P C = 0054640 E N T R Y > > S Y m . s t a t 0054660 i c A d d r e s s \r \t \t P C = 0054700 T \r \t ] \r \t o r 0054720 [ \t u n l e s s E N T R Y > 0054740 > S Y m . z d o E R R O R ( 0054760 " B U G # 1 " ) \r \t \t P C = 0055000 P C < < A D d r W o r d . a d 0055020 d r \r \t \t [ T = ( C O 0055040 D E ! P C ) < < I N s t W o r d 0055060 . a d d r \r \t \t ( C O D E ! 0055100 P C ) < < I N s t W o r d . a d 0055120 d r = E N T R Y > > S Y m . 0055140 s t a t i c A d d r e s s \r \t \t 0055160 P C = 376 001 \0 213 216 P C - 0055200 T \r \t \t ] r e p e a t u n t 0055220 i l T e q 0 \r \t 0055240 ] \r ] \r ] \r \r \r a 0055260 n d R E A D Z C H A I N S ( ) 0055300 b e \r [ l e t N , T = 0055320 G e t s ( R S T R E A M ) , 0055340 n i l \r f o r I = 1 0055360 t o N d o \r [ \t l e 0055400 t E N T R Y = S Y M L I S 0055420 T ! ( G e t s ( R S T R E A M ) 0055440 ) \r \t l e t P C = G e t s 0055460 ( R S T R E A M ) < < A D d r W 0055500 o r d . a d d r \r \t u n l e s s 0055520 E N T R Y > > S Y m . z d o 0055540 E R R O R ( " B U G # 2 " ) 0055560 \r \t [ T = ( C 376 001 \0 235 0055600 L O D E ! P C ) < < I N s t W o 0055620 r d . a d d r \r \t ( C O D E 0055640 ! P C ) < < I N s t W o r d . a 0055660 d d r = E N T R Y > > S Y m 0055700 . s t a t i c A d d r e s s \r \t 0055720 P C = P C - T \r \t ] 0055740 r e p e a t u n t i l T e 0055760 q 0 \r ] \r ] \r \r a 0056000 n d D I C T E N T R Y ( n a m 0056020 e , e n t e r N e w ; n u m 0056040 a r g s n a ) = v a l o f 0056060 \r [ \t / / f i n d n a m 0056100 e i n D I C T o r e n t 0056120 e r i t , o r r e t u r n 0056140 f a l s e ( d e p e n d s 0056160 o n e n t e r N e w ) \r i 0056200 f 376 001 \0 304 8 n a e q 1 t 0056220 h e n e n t e r N e w = t 0056240 r u e \r l e t l N = n 0056260 a m e > > S T R I N G . l e n g 0056300 t h \r i f C A S E S W t 0056320 h e n f o r i = 1 t o 0056340 l N d o \r \t n a m e > > S T 0056360 R I N G . c h a r ^ i = C A 0056400 P I T A L I Z E ( n a m e > > S 0056420 T R I N G . c h a r ^ i ) \r 0056440 l N = l N r s h i f t 1 0056460 / / # w o r d s - 1 \r 0056500 l e t c = n a m e > > 0056520 S T R I N G . c h a r ^ 1 / / 0056540 h a s h c h a r a c t e r \r 0056560 l e t b u c k e t = C 0056600 A P I T A L 376 001 \0 x O I Z E ( c 0056620 ) \r b u c k e t = ( b u 0056640 c k e t - $ A ) * 2 + ( c e q 0056660 b u c k e t ? 1 , 2 ) \r 0056700 i f c e q $ . t h e n 0056720 b u c k e t = 1 \r u n 0056740 l e s s 0 l e b u c k e t 0056760 & b u c k e t l e 2 6 * 0057000 2 d o E R R O R ( " S y m b 0057020 o l $ S i n v a l i d * N " 0057040 , n a m e ) \r l e t p r e 0057060 v E n t , d i c t E n t = 0057100 l v D I C T ! b u c k e t , 0057120 n i l \r / / c o m p a r i 0057140 s o n l o o p \r \t [ \r \t d i c 0057160 t E n t = @ p r e v E n t \r 0057200 \t u n l e s s d i c 376 001 \0 275 X 0057220 t E n t b r e a k / / l o 0057240 o p c o n t r o l \r \t l e t 0057260 d i c t N a m e = l v d i 0057300 c t E n t > > D I c t . n a m e 0057320 \r \t i f v a l o f [ \r \t \t f 0057340 o r i = 0 t o l N d 0057360 o i f d i c t N a m e ! i 0057400 n e n a m e ! i r e s u l t 0057420 i s f a l s e \r \t \t r e s u l 0057440 t i s t r u e ] r e s u l 0057460 t i s d i c t E n t \r \t p r e 0057500 v E n t = d i c t E n t \r \t 0057520 ] r e p e a t \r u n l e s 0057540 s e n t e r N e w r e s u l 0057560 t i s f a l s e \r d i c t 0057600 E n t = Z m e m ( o f f s e 0057620 376 001 \0 ; 032 t D I c t N a m e + l 0057640 N + 1 ) \r p r e v E n t > > 0057660 D I c t . l i n k = d i c t 0057700 E n t / / j o i n n a m e 0057720 t o t a i l o f b u c k 0057740 e t \r M o v e B l o c k ( l 0057760 v d i c t E n t > > D I c t . 0060000 n a m e , n a m e , l N + 1 ) \r 0060020 r e s u l t i s d i c t E 0060040 n t \r ] \r \r a n d S Y M E 0060060 N T R Y ( s y m ) = v a l o 0060100 f \r \t [ \r \t l e t n a m e = 0060120 s y m > > S Y m . d i c t E n 0060140 t r y \r \t l e t n e x t E n t 0060160 r y = n a m e > > D I c t . 0060200 s y m \r \t l e t i s S y m L o 0060220 c a l = 376 001 \0 211 N s y m > > 0060240 S Y m . l o c a l \r \t w h i l e 0060260 n e x t E n t r y d o \r \t 0060300 [ \r \t l e t e n 0060320 t r y = n e x t E n t r y ; 0060340 n e x t E n t r y = @ n e 0060360 x t E n t r y \r \t i f 0060400 i s S y m L o c a l n e e n 0060420 t r y > > S Y m . l o c a l l 0060440 o o p \r \t u n l e s s 0060460 i s S y m L o c a l r e s u l 0060500 t i s e n t r y \r \t / 0060520 / l o c a l , m u s t a p 0060540 p e a r i n s a m e . B R 0060560 f i l e \r \t l e t s 0060600 y m F i l e , e n t F i l e 0060620 = s y m > > S Y m 376 001 \0 260 373 . 0060640 r F i l e , e n t r y > > S Y 0060660 m . r F i l e \r \t i f 0060700 s y m F i l e e q e n t F i 0060720 l e % ( D U P S W & \r \t 0060740 \t f i l e N a m e V e c ! ( s 0060760 y m F i l e > > R F i l e . f i 0061000 l e N u m ) e q \r \t \t f i 0061020 l e N a m e V e c ! ( e n t F i 0061040 l e > > R F i l e . f i l e N u 0061060 m ) ) r e s u l t i s e n 0061100 t r y \r \t ] \r \t r e s 0061120 u l t i s 0 \r \t ] \r \r a n d 0061140 N E W S Y M E N T R Y ( s y m 0061160 ) = v a l o f \r \t [ \r \t l e 0061200 t e n t r y = Z m e m ( l 0061220 S Y m ) / / n e x t t h 376 0061240 001 \0 272 326 r e e l i n e s o b 0061260 s o l e t e \r \t S Y M T A B ! 0061300 0 = S Y M T A B ! 0 + 1 0061320 \r \t i f S Y M T A B ! 0 > 0061340 S Y M M A X t h e n E R R 0061360 O R ( " T o o m a n y s y m 0061400 b o l s " ) \r \t S Y M T A B ! 0061420 ( S Y M T A B ! 0 ) = e n t 0061440 r y \r \t M o v e B l o c k ( e n 0061460 t r y , s y m , l S Y m ) \r \t l 0061500 e t d i c t = e n t r y > 0061520 > S Y m . d i c t E n t r y \r \t 0061540 / / j o i n n e w s y m 0061560 t o h e a d o f s y m s 0061600 w i t h s a m e n a m e \r \t 0061620 e n t r y > > S Y m . l i n k 0061640 = d i 376 001 \0 214 d c t > > D I c 0061660 t . s y m \r \t d i c t > > D I c 0061700 t . s y m = e n t r y \r \t 0061720 i f e n t r y > > S Y m . s t 0061740 a t i c A d d r e s s n e - 0061760 1 r e s u l t i s e n t r y 0062000 \r \t t e s t e n t r y > > S Y 0062020 m . z t h e n [ / / p a 0062040 g e 0 \r \t \t i f C O M M O N 0062060 L O C e q J C O M M O N M I 0062100 N t h e n \r \t \t \t C O M M O N 0062120 L O C = J C O M M O N M A X 0062140 + 1 \r \t \t e n t r y > > S Y m . 0062160 s t a t i c A d d r e s s = 0062200 C O M M O N L O C \r \t \t C O M M 0062220 O N L O C = C O M M O N L O 0062240 C + 1 \r \t \t ] 376 001 \0 221 p \r \t 0062260 o r \t [ / / n o r m a l s 0062300 t a t i c \r \t \t i f S T A T I 0062320 C L O C e q J S T A T I C M 0062340 I N t h e n \r \t \t \t S T A T I 0062360 C L O C = J S T A T I C M A 0062400 X + 1 \r \t \t e n t r y > > S Y m 0062420 . s t a t i c A d d r e s s = 0062440 S T A T I C L O C \r \t \t S T A 0062460 T I C L O C = S T A T I C L 0062500 O C + 1 \r \t \t ] \r 0062520 \t r e s u l t i s e n t r y \r 0062540 \t ] \r \f \r a n d R E A D J K F 0062560 I L E ( e v e n t , k i n d ) 0062600 b e \r \t [ \r \t l e t R F I L 0062620 E = F I N D N E X T I N P U 0062640 T F I L E ( e v e n t ) \r \t 376 001 0062660 \0 216 214 P u t s ( L S T R E A M , 0062700 $ * N ) \r \t C l o s e s ( R E A 0062720 D J K S T A T I C S ( O p e n f 0062740 i l e ( R F I L E N U M , k s T 0062760 y p e R e a d O n l y , c h a r 0063000 I t e m ) , k i n d ) ) \r \t ] 0063020 \r \r a n d S K I P T O ( S T R 0063040 E A M , C H A R ) = v a l 0063060 o f / / * * * * \r \t [ \r \t l 0063100 e t K C H A R = n i l \r \t 0063120 K C H A R = E n d o f s ( S 0063140 T R E A M ) ? 1 0 0 0 , G e 0063160 t s ( S T R E A M ) \r \t \t r e p 0063200 e a t u n t i l K C H A R e 0063220 q C H A R % K C H A R e 0063240 q 1 0 0 0 \r \t r e s u l t i s 0063260 K C 376 001 \0 K 177 H A R \r \t ] \r \r 0063300 a n d R E A D J K S T A T I C 0063320 S ( S T R E A M , k i n d ) 0063340 = v a l o f / / r e t u r 0063360 n s S T R E A M \r [ \t / / P R 0063400 O C E S S T H E S T A T I C 0063420 S I N T H E C U R R E N T 0063440 . B J o r . B K F I L E 0063460 \r l e t s y m , e n t r y 0063500 = v e c l S Y m , n i l \r 0063520 l e t S Y M S T R I N G = 0063540 v e c N A M E L E N G T H / 2 0063560 \r l e t G O T N A M E , G O 0063600 T O C T A L = 0 , 0 \r l e 0063620 t T Y P E , R E L O C = 0063640 n i l , n i l \r l e t B A S 0063660 E = 0 \r l e 376 001 \0 M 266 t K 0063700 C H A R = $ * C \r [ C L 0063720 O O P \r s w i t c h o n K 0063740 C H A R i n t o \r \t [ 0063760 C A S E S \r c a s e $ * S 0064000 : c a s e $ * L : c a s e 0064020 $ * T : e n d c a s e \r 0064040 c a s e $ / : K C H A R = 0064060 S K I P T O ( S T R E A M , 0064100 $ * C ) \r c a s e 1 0 0 0 0064120 : \r c a s e $ * C : \r 0064140 \t i f G O T N A M E & G O 0064160 T O C T A L t h e n \r \t \t 0064200 [ \r \t \t l e t d i c t = 0064220 D I C T E N T R Y ( S Y M S T 0064240 R I N G , k i n d n e $ K 0064260 ) \r \t \t s y m > > S Y 376 001 \0 0064300 354 023 m . d i c t E n t r y = 0064320 d i c t \r \t \t s y m > > S Y 0064340 m . f l a g s = 0 \r \t \t i f 0064360 k i n d e q $ H t h e n 0064400 T Y P E = 0 / / f o r 0064420 / H \r \t \t s y m > > S Y m 0064440 . t y p e = T Y P E \r \t 0064460 \t s y m > > S Y m . r e l o c a 0064500 t a b l e = T Y P E g r 0064520 1 ? R E L O C , 0 \r \t \t 0064540 s y m > > S Y m . r F i l e = 0064560 R F I L E \r \t \t t e s t 0064600 k i n d e q $ K \r \t \t \t 0064620 i f s o i f d i c t t h e 0064640 n P R O C E S S K S T A T I C 0064660 ( s y m ) \r \t \t \t i f n o t 0064700 P 376 001 \0 243 \n R O C E S S J S T 0064720 A T I C ( s y m ) \r \t \t ] \r 0064740 \t i f K C H A R e q 1 0 0 0064760 0 t h e n b r e a k \r \t 0065000 s y m > > S Y m . i n i t i a l 0065020 V a l u e , s y m > > S Y m . 0065040 s t a t i c A d d r e s s = 0065060 0 , - 1 \r \t G O T N A M E 0065100 , G O T O C T A L = f a l 0065120 s e , f a l s e \r \t T Y P 0065140 E = k i n d e q $ K ? 0065160 2 , 0 \r \t R E L O C = 0065200 0 \r \t e n d c a s e \r c 0065220 a s e $ 0 t o $ 7 : \r 0065240 \t [ \r \t l e t I = 0 \r 0065260 \t w h i l e B E T W E E N 0065300 ( K C H A R , 376 001 \0 & U $ 0 , $ 0065320 7 + 1 ) d o \r \t \t [ \r 0065340 \t \t I = I l s h i f t 3 0065360 + ( K C H A R - $ 0 ) \r 0065400 \t \t K C H A R = E n d o f s 0065420 ( S T R E A M ) ? 1 0 0 0 , 0065440 G e t s ( S T R E A M ) \r \t 0065460 \t ] \r \t t e s t G O T N A 0065500 M E \r \t i f s o \t [ \r \t 0065520 \t t e s t k i n d n e $ K 0065540 \r \t \t i f s o u n l e s s 0065560 G O T O C T A L t h e n \r \t 0065600 \t \t s y m > > S Y m . s t a t i 0065620 c A d d r e s s = I + B A S 0065640 E \r \t \t i f n o t s y m > 0065660 > S Y m . i n i t i a l V a l u 0065700 e = I + B A S E \r 376 001 \0 003 0065720 321 \t \t G O T O C T A L = t 0065740 r u e \r \t \t ] \r \t i f n 0065760 o t \t [ \r \t \t B A S E = 0066000 I \r \t \t i f K C H A R n 0066020 e $ * C d o K C H A R = 0066040 S K I P T O ( S T R E A M , 0066060 $ * C ) \r \t \t e n d c a s e \r 0066100 \t \t ] \r \t l o o p \r \t 0066120 ] \r d e f a u l t : \r \t [ \r 0066140 \t i f G O T N A M E t h 0066160 e n \r \t \t [ \r \t \t s w i 0066200 t c h o n K C H A R i n t o 0066220 \r \t \t \t [ \r \t \t c a s e 0066240 $ V : \t T Y P E = 1 ; 0066260 e n d c a s e \r \t \t c a s e 0066300 $ P : T Y P E = 2 ; 0066320 e 376 001 \0 250 255 n d c a s e \r \t 0066340 \t c a s e $ L : T Y P E = 0066360 3 ; e n d c a s e \r \t 0066400 \t c a s e $ R : R E L O C 0066420 = 1 ; e n d c a s e \r 0066440 \t \t d e f a u l t : \t e n d c a 0066460 s e \r \t \t \t ] \r \t \t e n 0066500 d c a s e \r \t \t ] \r \t l 0066520 e t I = 0 \r \t w h i l 0066540 e B E T W E E N ( K C H A R , 0066560 $ a , $ z + 1 ) % B E T W E 0066600 E N ( K C H A R , $ A , $ Z + 1 0066620 ) % \r \t \t \t B E T W E E N ( K 0066640 C H A R , $ 0 , $ 9 + 1 ) d o 0066660 \r \t \t [ \r \t \t I = I 0066700 + 1 \r \t \t S Y M S T R I 0066720 N G > > S T 376 001 \0 K 225 R I N G . 0066740 c h a r ^ I = K C H A R \r 0066760 \t \t K C H A R = E n d o f 0067000 s ( S T R E A M ) ? 1 0 0 0 , 0067020 G e t s ( S T R E A M ) \r 0067040 \t \t ] \r \t i f I e q 0 0067060 t h e n e n d c a s e \r 0067100 \t S Y M S T R I N G > > S T R I 0067120 N G . c h a r ^ ( I + 1 ) = 0067140 0 \r \t S Y M S T R I N G > > 0067160 S T R I N G . l e n g t h = 0067200 I \r \t G O T N A M E = t 0067220 r u e \r \t l o o p \r \t ] 0067240 \r ] C A S E S \r 0067260 K C H A R = E n d o f s ( S 0067300 T R E A M ) ? 1 0 0 0 , G e 0067320 t s ( S T R E A M ) \r 376 001 \0 004 K 0067340 ] C L O O P r e p e a t \r 0067360 r e s u l t i s S T R E A M 0067400 \r ] \r \r a n d P R O C E S S 0067420 J S T A T I C ( s y m ) b e 0067440 / / * * * * \r \t [ \r \t l e t 0067460 e n t r y = S Y M E N T R Y 0067500 ( s y m ) \r \t l e t A D D R 0067520 = s y m > > S Y m . s t a t i 0067540 c A d d r e s s \r \t s y m > 0067560 > S Y m . z = B E T W E E N 0067600 ( A D D R , 1 , # 4 0 0 ) \r \t t 0067620 e s t e n t r y \r \t i f s o \t 0067640 [ \r \t \t l e t O L D A D D R 0067660 = e n t r y > > S Y m . s t a 0067700 t i c A d d r e s s \r \t \t i f 0067720 O L D A D D R n e - 1 & 0067740 376 001 \0 ! 307 O L D A D D R n e 0067760 A D D R % \r \t \t \t s y m > > S 0070000 Y m . t y p e > 0 & e n 0070020 t r y > > S Y m . t y p e > 0070040 0 t h e n \r \t \t \t M U L T D 0070060 E F E R R O R ( s y m , e n t 0070100 r y , t r u e ) \r \t \t e n t r 0070120 y > > S Y m . s t a t i c A d d 0070140 r e s s = A D D R \r \t \t i f 0070160 s y m > > S Y m . t y p e > 0070200 0 t h e n \r \t \t \t e n t r y 0070220 > > S Y m . r F i l e = R F 0070240 I L E / / e . g . , s y m 0070260 > > S Y m . r F i l e \r \t \t ] \r 0070300 \t i f n o t e n t r y = N 0070320 E W S Y M E N T R Y ( s y m ) \r 0070340 \t e n t r 376 001 \0 373 033 y > > S Y m 0070360 . j O n l y = 1 \r \t t e s t 0070400 B E T W E E N ( A D D R , C 0070420 O M M O N S T A R T , C O M M 0070440 O N M A X ) \r \t i f s o \t [ \r \t 0070460 \t J C O M M O N M I N = U m 0070500 i n ( J C O M M O N M I N , A 0070520 D D R ) \r \t \t J C O M M O N M A 0070540 X = U m a x ( J C O M M O N 0070560 M A X , A D D R ) \r \t \t ] \r \t 0070600 i f n o t i f B E T W E E N 0070620 ( A D D R , S T A T I C S T A 0070640 R T , S T A T I C M A X ) t 0070660 h e n \r \t \t [ \r \t \t J S T A T I 0070700 C M I N = U m i n ( J S T A 0070720 T I C M I N , A D D R ) \r \t \t 0070740 J S T A T I C M A X 376 001 \0 P 275 0070760 = U m a x ( J S T A T I C M A 0071000 X , A D D R ) \r \t \t ] \r \t ] \r 0071020 \r a n d P R O C E S S K S T A 0071040 T I C ( s y m ) b e / / * 0071060 * * * \r \t [ \r \t l e t e n t r 0071100 y = S Y M E N T R Y ( s y m 0071120 ) \r \t i f e n t r y & n o 0071140 t e n t r y > > S Y m . t y p 0071160 e & n o t e n t r y > > S 0071200 Y m . j O n l y t h e n \r \t \t 0071220 [ \r \t \t e n t r y > > S Y m . i 0071240 n i t i a l V a l u e = s y 0071260 m > > S Y m . i n i t i a l V a 0071300 l u e \r \t \t s y m > > S Y m . z 0071320 = e n t r y > > S Y m . z \r 0071340 \t \t e n t r y > > S Y m . f l 376 0071360 \0 313 \ 030 a g s = s y m > > S 0071400 Y m . f l a g s \r \t \t C O D E 0071420 ! K S T A T I C C O U N T = 0071440 e n t r y \r \t \t K S T A T I C 0071460 C O U N T = K S T A T I C C 0071500 O U N T + 1 \r \t \t e n t r y 0071520 > > S Y m . r F i l e = R F 0071540 I L E / / e . g . , s y m 0071560 > > S Y m . r F i l e \r \t \t i f 0071600 L I S T L A B S W & s y m 0071620 > > S Y m . t y p e g r 1 0071640 t h e n \r \t \t \t P R I N T S Y M 0071660 ( e n t r y ) \r \t \t ] \r \t ] \r 377 0071700 \0 \0 B L D R F I N I S H . B C P 0071720 L \0 373 230 034 R 245 \0 \0 376 001 \0 3 \v / / 0071740 B L D R F I N I S H . B C P L 0071760 \r / / T a f t , N o v e m 0072000 b e r 1 3 , 1 9 8 1 2 : 0072020 5 6 P M \r / / S w i n e h 0072040 a r t , M a y 2 3 , 1 9 7 0072060 7 5 : 5 3 P M \r / / C o 0072100 p y r i g h t X e r o x C o 0072120 r p o r a t i o n 1 9 7 9 , 0072140 1 9 8 1 \r \r g e t " B L D R . 0072160 D E C L " \r \r l e t F i n i 0072200 s h B l d r ( ) b e \r [ \r 0072220 E N D B I N F I L E ( ) \r \n E 0072240 N D S A V E F I L E ( ) \r \n \r \n 0072260 i f M A P S W d o W r 0072300 i t e S y m s ( ) \r \n \r / / \n 0072320 F O O . R U N 4 5 3 2 1 b 376 001 0072340 \0 246 371 w d s o f c o d e - 0072360 - 2 4 u n d e f s - - 5 6 w 0072400 a r n i n g s - - 3 4 e r r o 0072420 r s \r B e g i n R e p o r t ( 0072440 f a l s e ) \r P u t T e m p l 0072460 a t e ( E S T R E A M , " $ S 0072500 $ 6 U O b w d s o f c o d 0072520 e " , \r \t S F I L E N A M E , S 0072540 F I L E > > B F i l e . m a x C 0072560 o d e L o c - C O D E S T A R T 0072600 ) \r \r \n P R I N T L I S T I 0072620 N G S ( ) \r \n \r \n i f W A 0072640 R N I N G S W & ( W A R N I 0072660 N G C O U N T n e 0 ) t h 0072700 e n \r \n P u t T e m p l 0072720 a t e ( E S T R E A M , " - - $ 0072740 D w 376 001 \0 4 v a r n i n g $ S 0072760 " , W A R N I N G C O U N T , \r 0073000 \t W A R N I N G C O U N T e 0073020 q 1 ? " " , " s " ) \r \n 0073040 i f E R R O R C O U N T t h 0073060 e n \r \n P u t T e m p l 0073100 a t e ( E S T R E A M , " - - $ 0073120 D e r r o r $ S " , E R R O R 0073140 C O U N T , \r \t E R R O R C O 0073160 U N T e q 1 ? " " , " s " 0073200 ) \r P u t s ( E S T R E A M , 0073220 $ * N ) \r E n d R e p o r t ( 0073240 ) \r \n i f L S T R E A M n 0073260 e d s p d o C l o s e s ( 0073300 L S T R E A M ) / / w i l l 0073320 t r u n c a t e \r ] \r \f \t \r 0073340 a n d E N D S 376 001 \0 r 257 A V E 0073360 F I L E ( ) b e \r [ / 0073400 / w r i t e t h e c o m m 0073420 o n a n d s t a t i c i m 0073440 a g e s \r \r l e t 0073460 e n d F a = v e c l F A \r 0073500 G e t C u r r e n t F a ( 0073520 S S T R E A M , e n d F a ) \r 0073540 \r / / W r i t e s 0073560 t a t i c l i n k s \r J 0073600 u m p T o F a ( S S T R E A M , 0073620 s t a t i c L i n k s F a ) \r 0073640 f o r i = 0 t o K 0073660 S T A T I C C O U N T - 1 d o 0073700 P u t s ( S S T R E A M , C O 0073720 D E ! i > > S Y m . s t a t i c 0073740 A d d r e s s ) \r \r 376 001 \0 0073760 # 374 i f n o t B B I N 0074000 S A V E S W t h e n G e t C 0074020 u r r e n t F a ( S S T R E A M 0074040 , e n d F a ) \r \t \r Z e 0074060 r o ( C O D E , S T A T I C M A 0074100 X - S T A T I C S T A R T ) / 0074120 / M A K E S U R E I T F 0074140 I T S ! ! ! ! \r f o r I 0074160 = 1 t o S Y M T A B ! 0 0074200 d o \r \t [ \r \t l e t s y m 0074220 = S Y M T A B ! I \r \t i f s 0074240 y m > > S Y m . j O n l y l o 0074260 o p \r \t l e t A D D R = s 0074300 y m > > S Y m . s t a t i c A d 0074320 d r e s s \r \t i f I N I T S W 0074340 A P S W e q 2 & s y m > 0074360 > S 376 001 \0 316 374 Y m . i n i t S w 0074400 a p p e d O u t t h e n \r \t \t 0074420 s y m > > S Y m . i n i t i a l 0074440 V a l u e = S W A P P E D O 0074460 U T S Y M > > S Y m . i n i t i 0074500 a l V a l u e \r \t l e t V A L 0074520 U E = s y m > > S Y m . i n 0074540 i t i a l V a l u e \r \t t e s t 0074560 s y m > > S Y m . z \r \t \t t h 0074600 e n t e s t V A L U E & 0074620 n o t B E T W E E N ( A D D R 0074640 , # 5 0 , # 4 0 0 ) \r \t \t \t i f 0074660 s o O U T W A R N I N G ( s y 0074700 m ) \r \t \t \t i f n o t Z C O D 0074720 E ! A D D R = V A L U E \r \t 0074740 \t o r t e s t V A L U E & 0074760 n o t B E 376 001 \0 217 341 T W E E 0075000 N ( A D D R , S T A T I C S T A 0075020 R T , S T A T I C M A X ) \r \t \t 0075040 \t i f s o O U T W A R N I N G 0075060 ( s y m ) \r \t \t \t i f n o t C 0075100 O D E ! ( A D D R - S T A T 0075120 I C S T A R T ) = V A L U E 0075140 \r \t ] \r \r S T A T I 0075160 C L O C = U m a x ( S T A T 0075200 I C L O C , J S T A T I C M A 0075220 X ) / / * * * * \r \r 0075240 i f U s c ( S T A T I C L 0075260 O C , S T A T I C M A X ) 0075300 g e 0 d o \r \t W A R N 0075320 I N G ( " N o t e n o u g h 0075340 s t a t i c s p a c e w a s 0075360 r e s e r v e d " ) \r 376 001 \0 215 0075400 K \r / / K l u d g 0075420 e t o m a i n t a i n c o 0075440 m p a t i b i l i t y w i t h 0075460 s i f t e d f o r m a t , 0075500 w h i c h r e q u i r e s t 0075520 h e \r / / s t a t i 0075540 c s t o c o m e f i r s t 0075560 , h e n c e r e q u i r i n 0075600 g B L D R t o a s s u m e 0075620 t h e a c t u a l l e n g 0075640 t h \r / / o f t h 0075660 e s t a t i c s b e f o r e 0075700 i t c a n w r i t e o u 0075720 t a n y c o d e \r l e 0075740 t r e a l S t a t i c L o c 0075760 = S T A T I C L O C \r S 0076000 T 376 001 \0 347 247 A T I C L O C = S T 0076020 A T I C M A X - 1 \r \r 0076040 P A R A M L I S T > > B L V . 0076060 s t a r t O f S t a t i c s = 0076100 S T A T I C S T A R T \r 0076120 P A R A M L I S T > > B L V . e 0076140 n d O f S t a t i c s = S T 0076160 A T I C L O C \r P A R A M 0076200 L I S T > > B L V . s t a r t O 0076220 f C o d e = S F I L E > > B 0076240 F i l e . c o d e L o c + 1 0076260 \r P A R A M L I S T > > B 0076300 L V . a f t e r L a s t C o d e 0076320 W o r d = S F I L E > > B F 0076340 i l e . m a x C o d e L o c \r 0076360 P A R A M L I S T > > B L V 0076400 . e n d C o 376 001 \0 246 : d e = 0076420 S F I L E > > B F i l e . r F i 0076440 l e C o d e L o c \r P A R 0076460 A M L I S T > > B L V . r e l P 0076500 a i r T a b l e = S R E L P 0076520 A I R L O C \r \r \r 0076540 i f C O M M O N L O C g 0076560 e C O M M O N M A X d o W 0076600 A R N I N G ( " N o t e n o u 0076620 g h c o m m o n s p a c e " 0076640 ) \r R e s e t s ( S S T R 0076660 E A M ) / / b a c k t o 0076700 w o r d 0 \r P u t s ( S 0076720 S T R E A M , P A R A M L I S T 0076740 > > B L V . s t a r t O f C o d 0076760 e ) / / i n i t i a l v a 0077000 l u e f o r P C \r 376 001 \0 l 236 0077020 P u t s ( S S T R E A M , 0077040 S F I L E > > B F i l e . p a g 0077060 e L e n g t h ) / / L e n g 0077100 t h o f . R U N F i l e 0077120 i n p a g e s ( l e s s B 0077140 B s ) \r P u t s ( S S T R 0077160 E A M , 0 ) / / t y p e \r 0077200 P u t s ( S S T R E A M , 0077220 K S T A T I C C O U N T ) \r 0077240 Z e r o ( B H E A D , # 1 5 - 0077260 # 4 + 1 ) \r W r i t e B l 0077300 o c k ( S S T R E A M , B H E A 0077320 D , # 1 5 - # 4 + 1 ) \r W 0077340 r i t e B l o c k ( S S T R E A 0077360 M , P A R A M L I S T , # 4 0 ) 0077400 \r W r i t e B l o c k ( S 0077420 376 001 \0 302 032 S T R E A M , Z C O D 0077440 E , # 3 0 0 ) \r W r i t e 0077460 B l o c k ( S S T R E A M , C O 0077500 D E , S T A T I C L O C - S T A 0077520 T I C S T A R T + 1 ) \r J 0077540 u m p T o F a ( S S T R E A M , 0077560 e n d F a ) \r \r C 0077600 l o s e s ( S S T R E A M ) \r 0077620 \r f o r I = # 3 0 0 0077640 t o # 3 7 7 d o i f Z 0077660 C O D E ! I n e 0 t h e n 0077700 \r \t [ \r \t l e t x c N u m = 0077720 S F I L E N U M + 1 / / t 0077740 h e y a r e c r e a t e d 0077760 c o n t i g u o u s \r \t l e t 0100000 x c S t r e a m = O p e n f 0100020 i l e ( x 376 001 \0 r 232 c N u m , 0100040 k s T y p e W r i t e O n l y , 0100060 w o r d I t e m ) \r \t P u t T 0100100 e m p l a t e ( L S T R E A M , 0100120 \r \t " * N W r i t i n g 0100140 l o c a t i o n s # 3 0 0 - 0100160 # 3 7 7 o n $ S " , f i l 0100200 e N a m e V e c ! x c N u m ) \r 0100220 \t W r i t e B l o c k ( x c S t 0100240 r e a m , Z C O D E + # 3 0 0 0100260 , # 1 0 0 ) / / * * * * * 0100300 \r \t C l o s e s ( x c S t r e a 0100320 m ) \r \t b r e a k \r \t ] \r 0100340 \r P u t T e m p l a t e ( 0100360 L S T R E A M , " * N C O M M O 0100400 N * T $ 6 U O * T $ 6 U O * N 0100420 S T A T I C S * T $ 376 001 \0 K 023 6 0100440 U O * T $ 6 U O * N * N " , \r \t 0100460 C O M M O N S T A R T , C O M 0100500 M O N L O C , S T A T I C S T 0100520 A R T , r e a l S t a t i c L 0100540 o c ) \r ] \r \r \f \r a n d 0100560 W r i t e S y m s ( ) b e \r \n 0100600 [ \r \n M H E A D ! 0 = v 0100620 e r S y m s \r \n \r \n l e t 0100640 s y m S t r e a m = O p e n 0100660 f i l e ( M F I L E N U M , k s 0100700 T y p e W r i t e O n l y , w o 0100720 r d I t e m ) \r \n W r i t e 0100740 B l o c k ( s y m S t r e a m , 0100760 M H E A D , M H E A D L E N G T 0101000 H ) \r \n \r \n M H E A D ! 2 0101020 = M H E A D L E N G T H \r \n 376 0101040 001 \0 325 354 P u t s ( s y m S t 0101060 r e a m , 0 ) \r \n \r \n l e t 0101100 S L E N G T H = 1 \r \n 0101120 f o r i = 0 t o D I C 0101140 T H E A D L E N G T H - 1 d o 0101160 \r [ / / n o t t h e 0101200 s a m e o r d e r a s b 0101220 e f o r e ! \r l e t d 0101240 = D I C T ! i \r w h i l 0101260 e d d o \r \t [ \r \t l e t n 0101300 a m e = l v d > > D I c t 0101320 . n a m e \r \t l e t l N = 0101340 n a m e > > S T R I N G . l e n 0101360 g t h / 2 + 1 \r \t d > > D I c t 0101400 . m F i l e O f f s e t = S 0101420 L E N G T H \r \t W r i t e B l o 0101440 c k ( s 376 001 \0 270 335 y m S t r e a 0101460 m , n a m e , l N ) \r \t S L E N 0101500 G T H = S L E N G T H + 0101520 l N \r \t d = @ d \r \t ] \r 0101540 ] \r \n \r \n M H E A D ! 3 0101560 = C U R B O P O S ( s y m S t 0101600 r e a m ) \r \n P u t s ( s y 0101620 m S t r e a m , S Y M T A B ! 0 0101640 ) \r \n f o r i = 1 t 0101660 o S Y M T A B ! 0 d o \r \n \t 0101700 [ l e t s y m = S Y M T 0101720 A B ! i \r \t i f s y m > > S Y 0101740 m . j O n l y l o o p \r \t P u 0101760 t s ( s y m S t r e a m , s y m 0102000 > > S Y m . d i c t E n t r y > 0102020 > D I c t . m F i l e O f f s e 0102040 t ) \r \n \t l e t 376 001 \0 + 277 T 0102060 = s y m > > S Y m . t y p e 0102100 l s h i f t 1 1 \r \n \t i f s 0102120 y m > > S Y m . l o c a l t h 0102140 e n T = T + # 2 0 0 0 0102160 \r \n \t i f s y m > > S Y m . r 0102200 e l o c a t a b l e t h e n 0102220 T = T + # 1 0 0 0 \r \n \t 0102240 T = T + s y m > > S Y m 0102260 . r F i l e > > R F i l e . r F 0102300 i l e I d \r \n \t P u t s ( s y m 0102320 S t r e a m , T ) \r \n \t P u t s 0102340 ( s y m S t r e a m , s y m > > 0102360 S Y m . s t a t i c A d d r e s 0102400 s ) \r \n \t P u t s ( s y m S t r 0102420 e a m , s y m > > S Y m . i n i 0102440 t i a l V a l u e ) \r \n \t ] 376 001 0102460 \0 # 002 \r \n \r \n f o r c o d 0102500 e = R F I L E C O D E t o 0102520 B F I L E C O D E d o \r \t [ 0102540 / / r e c o r d R F i l e 0102560 , B F i l e i n f o r m a t 0102600 i o n i n s y m b o l f i 0102620 l e \r \t M H E A D ! ( 4 + ( c o 0102640 d e - R F I L E C O D E ) ) = 0102660 C U R B O P O S ( s y m S t r 0102700 e a m ) \r \t P u t s ( s y m S t 0102720 r e a m , c o d e e q R F 0102740 I L E C O D E ? r F i l e C o 0102760 u n t , b F i l e C o u n t ) 0103000 \r \t l e t n e x t F i l e = 0103020 @ e v e n t L i s t \r \t w h i 0103040 l e n e x t F i l e d o \r \t 0103060 \t [ 376 001 \0 Y n l e t f i l e 0103100 = n e x t F i l e ; n e x 0103120 t F i l e = @ n e x t F i l 0103140 e \r \t \t u n l e s s f i l e > 0103160 > R F i l e . u s e C o d e e 0103200 q c o d e l o o p \r \t \t l e 0103220 t d = f i l e N a m e V e 0103240 c ! ( f i l e > > R F i l e . f 0103260 i l e N u m ) - o f f s e t 0103300 D I c t N a m e \r \t \t P u t s ( 0103320 s y m S t r e a m , d > > D I c 0103340 t . m F i l e O f f s e t ) \r \t 0103360 \t W r i t e B l o c k ( s y m S 0103400 t r e a m , l v f i l e > > R 0103420 F i l e . b F i l e I d , 3 ) 0103440 \r \t \t ] \r \t ] \r \n \r \n M H E 0103460 A D ! 1 = C 376 001 \0 J 312 U R B 0103500 O P O S ( s y m S t r e a m ) \r 0103520 l e t e n d F a = v e 0103540 c l F A ; G e t C u r r e n 0103560 t F a ( s y m S t r e a m , e n 0103600 d F a ) \r \n R e s e t s ( s 0103620 y m S t r e a m ) \r \n W r i 0103640 t e B l o c k ( s y m S t r e a 0103660 m , M H E A D , M H E A D L E N 0103700 G T H ) \r \n P u t s ( s y m 0103720 S t r e a m , S L E N G T H ) \r 0103740 \n \r \n J u m p T o F a ( s y 0103760 m S t r e a m , e n d F a ) \r \n 0104000 C l o s e s ( s y m S t r e 0104020 a m ) \r \n ] \r \f \r a n d P R I 0104040 N T L I S T I N G S ( ) b e \r 0104060 \t [ \r \t F I R S T S Y M 376 001 \0 0104100 243 214 = 1 \r \t L A S T S Y M 0104120 = S Y M T A B ! 0 \r \t l e t 0104140 U N D E F C O U N T = P R I 0104160 N T U N D E F I N E D ( ) \r \t i 0104200 f U N D E F C O U N T t h e 0104220 n \r \t P u t T e m p l a 0104240 t e ( E S T R E A M , " - - $ D 0104260 u n d e f $ S " , U N D E F C 0104300 O U N T , U N D E F C O U N T 0104320 e q 1 ? " " , " s " ) \r \t i f 0104340 L I S T V A R S W d o [ 0104360 P u t s ( L S T R E A M , # 1 4 0104400 ) ; P R I N T V A R S ( ) ] 0104420 \r \t i f L I S T N U M S W d 0104440 o [ P u t s ( L S T R E A M 0104460 , # 1 4 ) ; P R I N T N U M E 0104500 R I 376 001 \0 276 242 C ( ) ] \r \t ] \r 0104520 \r a n d P R I N T U N D E F I 0104540 N E D ( ) = v a l o f \r 0104560 [ \r l e t u n d e f C t 0104600 = 0 \r l e t f i r s t 0104620 R e f S y m = - 1 \r f o 0104640 r i = F I R S T S Y M t 0104660 o L A S T S Y M d o [ \r 0104700 l e t s y m = S Y M 0104720 T A B ! i \r i f s y m 0104740 > > S Y m . t y p e e q 0 0104760 & s y m > > S Y m . j O n l y 0105000 e q 0 t h e n [ \r \t i f 0105020 u n d e f C t e q 0 d o 0105040 W s s ( L S T R E A M , " * 0105060 N U n d e f i n e d n a m e s 0105100 * N " ) \r \t i 376 001 \0 033 H f s y 0105120 m n e f i r s t R e f S y m 0105140 t h e n \r \t P u t T e m 0105160 p l a t e ( L S T R E A M , " 0105200 f i r s t r e f e r e n 0105220 c e d i n $ S : * N " , N a 0105240 m e O f R f i l e ( s y m ) ) \r 0105260 \t f i r s t R e f S y m = s 0105300 y m \r \t P R I N T S Y M ( s y m 0105320 ) \r \t u n d e f C t = u n d 0105340 e f C t + 1 \r \t ] \r 0105360 ] \r r e s u l t i s u n d 0105400 e f C t \r ] \r \r a n d P R 0105420 I N T V A R S ( ) b e \r [ \r l 0105440 e t r F i l e = @ e v e n 0105460 t L i s t \r w h i l e r F i l 0105500 e d o \r [ \r 376 001 \0 267 0105520 f i f r F i l e > > R F 0105540 i l e . u s e C o d e e q R 0105560 F I L E C O D E t h e n \r 0105600 [ \r W s s ( 0105620 L S T R E A M , f i l e N a m e 0105640 V e c ! ( r F i l e > > R F i l 0105660 e . f i l e N u m ) ) ; P u t 0105700 s ( L S T R E A M , $ * N ) \r 0105720 f o r i = F I R 0105740 S T S Y M t o L A S T S Y M 0105760 d o \r \t [ \r \t l e t s y m 0106000 = S Y M T A B ! i \r \t u n l e 0106020 s s s y m > > S Y m . j O n l 0106040 y % s y m > > S Y m . r F 0106060 i l e n e r F i l e % s 0106100 y m > > S Y m . t y p e n e 0106120 1 376 001 \0 u 302 d o \r \t \t P R I N 0106140 T S Y M ( s y m ) \r \t ] \r 0106160 ] \r r F i l e 0106200 = @ r F i l e \r ] \r ] 0106220 \r \r a n d P R I N T N U M E R 0106240 I C ( ) b e \r [ \r l e t s y 0106260 m = n i l \r f o r i = 0106300 F I R S T S Y M t o L A S T 0106320 S Y M d o \r [ s y m 0106340 = S Y M T A B ! i \r i 0106360 f ( n o t s y m > > S Y m . 0106400 j O n l y ) & s y m > > S Y 0106420 m . z t h e n P R I N T S Y 0106440 M ( s y m ) \r ] \r f o r 0106460 i = F I R S T S Y M t o 0106500 L A S T S Y M d o \r [ 0106520 s y m = 376 \0 S B 372 S Y M T A 0106540 B ! i \r i f ( n o t 0106560 s y m > > S Y m . j O n l y ) 0106600 & ( n o t s y m > > S Y m . 0106620 z ) t h e n P R I N T S Y M 0106640 ( s y m ) \r ] \r ] \r \r 377 \0 0106660 \0 B L D R U T I L . B C P L \0 373 0106700 230 034 ] 323 \0 \0 376 001 \0 373 ? / / B L 0106720 D R U T I L . B C P L \r / / 0106740 T a f t , N o v e m b e r 1 0106760 3 , 1 9 8 1 3 : 3 9 P M 0107000 \r / / S w i n e h a r t , 0107020 M a y 2 3 , 1 9 7 7 5 : 0107040 4 6 P M \r / / C o p y r i g 0107060 h t X e r o x C o r p o r a 0107100 t i o n 1 9 7 9 , 1 9 8 0 , 0107120 1 9 8 1 \r \r g e t " B L D R 0107140 . D E C L " \r \r l e t P R E 0107160 A M O F ( f i l e N u m ) = 0107200 l v P R E A M B L E V E C ! ( 0107220 f i l e N u m * l D V ) \r \r a n 0107240 d B e g i n R e p o r t ( e r 0107260 r o r F l a g ) b e \r [ 0107300 \r i f D E B U 376 001 \0 032 l 0107320 G S W & e r r o r F l a g 0107340 t h e n [ E S T R E A M = 0107360 d s p ; r e t u r n ] \r 0107400 E S T R E A M = Z m e m 0107420 ( l S T ) \r E S T R E A M 0107440 > > S T . p u t s = T w o P 0107460 u t s \r e S t r e a m = 0107500 O p e n F i l e ( 0 , 0 , c h 0107520 a r I t e m , 0 , f p R e m C m 0107540 ) \r u n l e s s e r r o 0107560 r F l a g d o \r \t [ \r \t 0107600 l e t f L = F i l e L e n 0107620 g t h ( e S t r e a m ) ; R e 0107640 s e t s ( e S t r e a m ) \r \t i 0107660 f C O D E t h e n F r e e 0107700 ( s y s Z o n e , C O D E ) \r 0107720 376 001 \0 ' 035 \t e B u f = Z m e 0107740 m ( f L + 1 ) \r \t f o r i = 0107760 1 t o f L d o e B u f 0110000 ! i = G e t s ( e S t r e a 0110020 m ) \r \t e B u f ! 0 = f L \r 0110040 \t ] \r R e s e t s ( e S t 0110060 r e a m ) \r W s s ( e S t 0110100 r e a m , " / / " ) \r ] 0110120 \r \r a n d E n d R e p o r t ( 0110140 ) b e \r [ \r u n l 0110160 e s s e S t r e a m d o C 0110200 a l l S w a t ( " F a t a l E 0110220 r r o r " ) / / e r r o r 0110240 a n d D E B U G S W \r P 0110260 u t s ( e S t r e a m , $ * N ) 0110300 \r i f e B u f t h e n 0110320 f o r 376 001 \0 b 324 i = 1 0110340 t o e B u f ! 0 d o P u t 0110360 s ( e S t r e a m , e B u f ! i 0110400 ) \r C l o s e s ( e S t r 0110420 e a m ) \r u n l e s s e 0110440 B u f f i n i s h / / w a 0110460 s e r r o r , d o n ' t c 0110500 o n t i n u e \r ] \r \r a n 0110520 d T w o P u t s ( s t r , c h 0110540 a r ) b e \r \t [ \r \t P u t s ( 0110560 d s p , c h a r ) \r \t P u t s ( 0110600 e S t r e a m , c h a r ) \r \t i 0110620 f c h a r e q $ * N t h 0110640 e n W s s ( e S t r e a m , " 0110660 / / " ) \r \t ] \r \r a n d B A 0110700 D S W I T C H ( N ) b e \r \t [ 0110720 / / i l l e g a 376 001 \0 246 023 l 0110740 s w i t c h d e t e c t e d 0110760 \r \t B e g i n R e p o r t ( t r 0111000 u e ) \r \t P u t T e m p l a t e 0111020 ( E S T R E A M , " * N B a d 0111040 s w i t c h $ C i n " , S 0111060 W ! N ) \r \t f o r I = 1 0111100 t o N A M E ! 0 d o P u t 0111120 s ( E S T R E A M , N A M E ! I 0111140 ) \r \t f o r I = 1 t o 0111160 S W ! 0 d o [ P u t s ( E 0111200 S T R E A M , $ / ) ; P u t s 0111220 ( E S T R E A M , S W ! I ) ] 0111240 \r \t E n d R e p o r t ( ) \r \t 0111260 ] \r \r a n d E R R O R ( m e s 0111300 s a g e , v a l ; n u m a r 0111320 g s n a ) b e \r \t [ / / 376 0111340 001 \0 325 7 f a t a l e r r o r 0111360 d e t e c t e d \r \t B e g i n 0111400 R e p o r t ( t r u e ) \r \t W s 0111420 s ( E S T R E A M , " F a t a l 0111440 E R R O R - - " ) \r \t t e 0111460 s t n a < 2 t h e n W s s 0111500 ( E S T R E A M , m e s s a g e 0111520 ) o r P u t T e m p l a t e 0111540 ( E S T R E A M , m e s s a g e 0111560 , v a l ) \r \t E n d R e p o r 0111600 t ( ) \r \t ] \r \r a n d O U T W 0111620 A R N I N G ( s y m ) b e \r 0111640 [ \r u n l e s s W A 0111660 R N I N G S W t h e n r e t 0111700 u r n \r P u t T e m p l a 0111720 t e ( L S T R E A M , \r " 0111740 W A R N 376 001 \0 357 006 I N G - - 0111760 t h e s t a t i c $ S a t 0112000 $ 6 U O i s o u t s i d e 0112020 a s t a t i c a r e a * N 0112040 " , \r \t l v ( s y m > > S 0112060 Y m . d i c t E n t r y ) > > D 0112100 I c t . n a m e , s y m > > S Y 0112120 m . s t a t i c A d d r e s s ) 0112140 \r W A R N I N G C O U N T 0112160 = W A R N I N G C O U N T 0112200 + 1 \r ] \r \r a n d C O 0112220 M M O N E R R O R ( s y m , e 0112240 n t r y ) b e \r [ \t / / o n e 0112260 c o m m o n , o n e n o t 0112300 \r P u t T e m p l a t e ( L S T 0112320 R E A M , \r " T h e C 0112340 O M M O N n a m 376 001 \0 M j e 0112360 $ S w a s n o t d e c l a 0112400 r e d C O M M O N i n $ S 0112420 , o r v i c e v e r s a * 0112440 N " , \r l v ( s y m > 0112460 > S Y m . d i c t E n t r y ) > 0112500 > D I c t . n a m e , N a m e 0112520 O f R f i l e ( s y m ) ) \r E 0112540 R R O R C O U N T = E R R O 0112560 R C O U N T + 1 \r ] \r \r a 0112600 n d M U L T D E F E R R O R ( 0112620 s y m , e n t r y , R E G A 0112640 R D L E S S ; n u m a r g s 0112660 n a ) = v a l o f \r [ / / S 0112700 Y M I S A L R E A D Y D E 0112720 F I N E D A S E N T R Y \r u 0112740 n l e s s n a e q 3 376 001 0112760 \0 266 h & R E G A R D L E S S 0113000 d o \r \t i f D U P S W & ( 0113020 N a m e O f R f i l e ( s y m ) 0113040 e q N a m e O f R f i l e ( 0113060 e n t r y ) ) r e s u l t i s 0113100 f a l s e \r P u t T e m p l a 0113120 t e ( L S T R E A M , " T h e 0113140 E X T E R N A L n a m e $ S 0113160 w a s a l s o d e f i n e 0113200 d i n $ S * N " , \r l 0113220 v ( s y m > > S Y m . d i c t 0113240 E n t r y ) > > D I c t . n a m 0113260 e , N a m e O f R f i l e ( e 0113300 n t r y ) ) \r E R R O R C O U 0113320 N T = E R R O R C O U N T 0113340 + 1 \r r e s u l t i s t r u 0113360 e \r ] 376 001 \0 # 301 \r \r a n d N a 0113400 m e O f R f i l e ( s y m ) = 0113420 f i l e N a m e V e c ! ( s y 0113440 m > > S Y m . r F i l e > > R F 0113460 i l e . f i l e N u m ) \r \r a n 0113500 d W A R N I N G ( M E S S A G 0113520 E ) b e \r [ u n l e s s W 0113540 A R N I N G S W r e t u r n \r 0113560 W A R N I N G C O U N T = 0113600 W A R N I N G C O U N T + 0113620 1 \r P u t T e m p l a t e ( 0113640 T S T R E A M , " W A R N I N G 0113660 - - $ S * N " , M E S S A 0113700 G E ) \r ] \r \r a n d C O D E W 0113720 A R N I N G ( M E S S A G E ) 0113740 b e \r [ u n l e s s W A R N 0113760 I N G S W r e 376 001 \0 9 350 t u r 0114000 n \r W A R N I N G C O U N T 0114020 = W A R N I N G C O U N T 0114040 + 1 \r P u t T e m p l a t 0114060 e ( T S T R E A M , " W A R N I 0114100 N G - - $ S $ S * N " , R 0114120 F I L E N A M E , M E S S A G 0114140 E ) \r ] \r \r a n d P R I N T S 0114160 Y M ( s y m ) b e \r [ \r 0114200 l e t n a m e = l v ( 0114220 s y m > > S Y m . d i c t E n t 0114240 r y ) > > D I c t . n a m e \r 0114260 l e t l N a m e = n a m 0114300 e > > S T R I N G . l e n g t h 0114320 \r l e t t y p e = s y 0114340 m > > S Y m . t y p e \r P u 0114360 t T e m p l a t e ( L S T 376 001 \0 0114400 222 322 R E A M , " * T $ S $ S * T 0114420 $ 6 U O * T $ 6 U O * T $ S $ S 0114440 $ S * N " , \r n a m e , 0114460 ( l N a m e < 8 ? " * T " , " " 0114500 ) , s y m > > S Y m . s t a t 0114520 i c A d d r e s s , s y m > > 0114540 S Y m . i n i t i a l V a l u e 0114560 , \r ( s e l e c t o n 0114600 t y p e i n t o \r 0114620 [ c a s e 0 : " U N D E F 0114640 " ; \r c a s e 1 : 0114660 " V " ; \r 0114700 c a s e 2 : " P " ; 0114720 \r c a s e 3 : " 0114740 L " ; \r d e 0114760 f a u l t : " " \r 0115000 ] 376 001 \0 225 | ) , \r s y 0115020 m > > S Y m . l o c a l ? " 0115040 " , " X " , \r ( t y 0115060 p e > 1 & s y m > > S Y m . 0115100 r e l o c a t a b l e ? " R 0115120 " , " " ) ) \r ] \r \r 0115140 a n d B E T W E E N ( N , L 0115160 O W , H I G H ) = U s c ( 0115200 L O W , N ) l e 0 & U s 0115220 c ( N , H I G H ) l s 0 \r \r 0115240 / / M e m o r y a l l o c a 0115260 t e d b y Z m e m i s u 0115300 n f r e e a b l e ! \r a n d Z 0115320 m e m ( n , v a l ; n u m a 0115340 r g s n a ) = v a l o f \r 0115360 [ \r s t a t i c [ 0115400 z m e m T h 376 001 \0 002 232 r e s h 0115420 o l d = 1 6 ; z m e m W o 0115440 r d s L e f t = 0 ; z m e 0115460 m B l o c k = 0 ] \r 0115500 m a n i f e s t [ z m e m I 0115520 n c r e m e n t = 2 5 6 ] 0115540 \r / / z m e m T h r e s 0115560 h o l d s h o u l d b e e 0115600 q u a l t o t h e s q u a 0115620 r e r o o t o f z m e m I 0115640 n c r e m e n t \r / / t 0115660 o m a k e t h e s p a c e 0115700 l o s t d u e t o b r e 0115720 a k a g e b a l a n c e t h 0115740 e s p a c e g a i n e d \r 0115760 / / d u e t o n o t 0116000 r e q u i r i n g o n 376 001 \0 364 0116020 367 e w o r d o f o v e r h 0116040 e a d f o r e a c h a l l 0116060 o c a t e d b l o c k . \r \r 0116100 l e t r e s = 0 \r 0116120 i f n l e z m e m T h r 0116140 e s h o l d t h e n \r 0116160 [ \r i f n g 0116200 r z m e m W o r d s L e f t 0116220 t h e n \r [ \r 0116240 z m e m B l o 0116260 c k = A l l o c a t e ( s y 0116300 s Z o n e , z m e m I n c r e 0116320 m e n t , t r u e ) \r 0116340 i f z m e m B l o c 0116360 k e q 0 t h e n z m e m 0116400 T h r e s h o l d = 0 \r 0116420 376 001 \0 2 353 z m e m 0116440 W o r d s L e f t = z m e m 0116460 I n c r e m e n t \r 0116500 ] \r i f n 0116520 l e z m e m W o r d s L e f t 0116540 t h e n \r [ 0116560 \r r e s = 0116600 z m e m B l o c k \r 0116620 z m e m B l o c k = z 0116640 m e m B l o c k + n \r 0116660 z m e m W o r d s L e f 0116700 t = z m e m W o r d s L e f 0116720 t - n \r ] \r 0116740 ] \r i f r e s 0116760 e q 0 t h e n r e s = 0117000 A l l o c a t e ( s y s Z o n 0117020 e , n ) \r 376 001 \0 331 022 S e 0117040 t B l o c k ( r e s , ( n a < 0117060 2 ? 0 , v a l ) , n ) \r 0117100 r e s u l t i s r e s \r 0117120 ] \r \r a n d O p e n f i l 0117140 e ( f i l e N u m , d i r e c 0117160 t i o n , i t e m T y p e ) 0117200 = v a l o f \r [ \r 0117220 l e t n a m e = f i l e N 0117240 a m e V e c ! f i l e N u m \r 0117260 l e t p r e a m = P R 0117300 E A M O F ( f i l e N u m ) \r 0117320 i f @ p r e a m e q - 0117340 1 & ( d i r e c t i o n n 0117360 e k s T y p e R e a d O n l y 0117400 % D U P S W e q 0 ) t 0117420 h e n \r E 376 001 \0 020 \b 0117440 R R O R ( " $ S a p p e a r s 0117460 t w i c e o n o u t p u t 0117500 o r w i t h o u t / R " , 0117520 n a m e ) \r / / * * * 0117540 i m p l . d e p e n d e n t : 0117560 f o r c e r e - u s e o f 0117600 p r e v i o u s s t r e a m 0117620 s t r u c t u r e , b u f f 0117640 e r b l o c k s \r s y s 0117660 Z o n e > > Z O n e . r o v e r 0117700 = s y s Z o n e > > Z O n e 0117720 . a n c h o r . p S b N e x t 0117740 / / * * * * * * * \r l e 0117760 t s t r e a m = O p e n F 0120000 i l e ( n a m e , d i r e c t i 0120020 o n , i t e m T y p e , 0 , l v 0120040 376 001 \0 257 336 p r e a m > > D V . 0120060 f p ) \r C H K F I L E ( n 0120100 a m e , s t r e a m ) \r 0120120 r e s u l t i s s t r e a m \r 0120140 ] \r \r a n d C U R B O P 0120160 O S ( S T R E A M , P A G E O 0120200 F F S E T ; n u m a r g s 0120220 N ) = v a l o f \r \t [ / / 0120240 w o r d p o s i t i o n , 0120260 r e l a t i v e t o p a g e 0120300 o f f s e t \r \t i f N l s 0120320 2 t h e n P A G E O F F S E 0120340 T = 0 \r \t l e t v = v 0120360 e c 2 \r \t F i l e P o s ( S T 0120400 R E A M , v ) \r \t r e s u l t 0120420 i s v ! 0 l s h i f t 1 5 0120440 + v ! 376 001 \0 ^ 347 1 r s h i 0120460 f t 1 - P A G E O F F S E 0120500 T l s h i f t 8 \r \t ] \r \r a 0120520 n d C U R B O P A G E ( S T R 0120540 E A M ) = v a l o f \r \t [ \r 0120560 \t l e t v = v e c 2 \r \t 0120600 F i l e P o s ( S T R E A M , 0120620 v ) \r \t r e s u l t i s v ! 0 0120640 l s h i f t 7 + v ! 1 0120660 r s h i f t 9 \r \t ] \r \r a n d 0120700 S E T B O P O S ( S T R E A M 0120720 , P O S , P A G E O F F S E T 0120740 ; n u m a r g s N ) b e 0120760 \r \t [ \r \t P o s i t i o n P a g 0121000 e ( S T R E A M , ( P O S r 0121020 s h i f t 8 ) + ( N e q 0121040 3 ? P A G E O F 376 001 \0 \0 $ F 0121060 S E T , 0 ) + 1 ) \r \t P o s 0121100 i t i o n P t r ( S T R E A M , 0121120 ( P O S l s h i f t 1 ) 0121140 & # 7 7 7 ) \r \t ] \r \r a n d 0121160 S E T P O S ( S , N ) b e \r 0121200 \t [ P o s i t i o n P a g e ( 0121220 S , ( N r s h i f t 9 ) 0121240 + 1 ) \r \t P o s i t i o n P t 0121260 r ( S , N & # 7 7 7 ) \r \t 0121300 ] \r \r a n d C H K F I L E ( N 0121320 A M E , S T R E A M ) b e u 0121340 n l e s s S T R E A M d o \r 0121360 \t E R R O R ( " C a n ' t o p 0121400 e n t h e f i l e n a m e 0121420 d ' $ S ' " , N A M E ) \r \r 0121440 a n d C A P I T A L I Z E ( 376 0121460 001 \0 242 373 C ) = $ a l e C 0121500 & C l e $ z ? ( C - ( 0121520 $ a - $ A ) ) , C \r \r a n d 0121540 E Q U A L N A M E ( A , B ) 0121560 = v a l o f \r \t [ \r \t s t r u 0121600 c t u r e S T R I N G : \r \t \t 0121620 [ \r \t \t l e n g t h b y t e \r 0121640 \t \t c h a r ^ 1 , 2 5 5 b 0121660 y t e \r \t \t ] \r \t l e t L = 0121700 A > > S T R I N G . l e n g t 0121720 h \r \t i f A > > S T R I N G 0121740 . c h a r ^ L e q $ . t h 0121760 e n L = L - 1 \r \t l e t M 0122000 = B > > S T R I N G . l e n g 0122020 t h \r \t i f B > > S T R I N 0122040 G . c h a r ^ M e q $ . t 0122060 h e n 376 001 \0 ( 347 M = M - 1 \r \t 0122100 i f L n e M r e s u l t 0122120 i s f a l s e \r \t f o r I 0122140 = 1 t o L d o i f C 0122160 A P I T A L I Z E ( A > > S T R 0122200 I N G . c h a r ^ I ) n e \r \t 0122220 \t \t C A P I T A L I Z E ( B > > 0122240 S T R I N G . c h a r ^ I ) r 0122260 e s u l t i s f a l s e \r \t r 0122300 e s u l t i s t r u e \r \t ] \r 0122320 \r a n d W s s ( s t r e a m , 0122340 s t r i n g ) b e f o r i 0122360 = 1 t o s t r i n g > > 0122400 S T R I N G . l e n g t h d o 0122420 \r \t P u t s ( s t r e a m , s t 0122440 r i n g > > S T R I N G . c h a 0122460 r ^ i ) \r \r a n d 376 001 \0 355 331 W 0122500 s ( s t r i n g ) b e W s s 0122520 ( d s p , s t r i n g ) \r \r a n 0122540 d B l d r F i n i s h P r o c 0122560 ( ) b e \r \t [ \r \t @ # 4 2 0 0122600 = 0 \r \t f o r i = 0 t 0122620 o 3 2 0 0 0 l o o p \r \t ] \r 0122640 \r a n d I n c r e a s e S t o 0122660 r a g e ( ) b e \r \t [ \r \t l e 0122700 t n e w F r e e = B e f o 0122720 r e J u n t a I n i t \r \t f o r 0122740 i = 1 b y 2 t o @ 0122760 r e l P a i r L i s t * 2 - 1 0123000 d o @ ( r e l P a i r L i s t 0123020 ! i ) = S w a p p e d O u t 0123040 \r \t A d d T o Z o n e ( s y s Z 0123060 o n e , n e w F r e e , f r 376 001 0123100 \0 R 024 e e B e g i n - n e w F r 0123120 e e ) \r \t f r e e B e g i n = 0123140 n e w F r e e \r \t ] \r \r a n d 0123160 S w a p p e d O u t ( ) b e 0123200 E R R O R ( " C a l l i n g 0123220 S w a p p e d O u t P r o c 0123240 e d u r e " ) \r \r a n d D i s 0123260 p l a y I n C u r s o r ( n u m 0123300 b e r ) b e \r [ \r 0123320 Z e r o ( c u r s o r B i t M a 0123340 p , 1 6 ) \r l e t f o 0123360 n t = t a b l e \r 0123400 [ / / S t r i k e - f o r 0123420 m a t f o n t , d e n s e l 0123440 y p a c k e d , c h a r a c 0123460 t e r s 6 h i g h , 5 w 0123500 i d e 376 001 \0 - M \r 0123520 3 0 6 1 4 B ; 6 1 4 7 4 B ; 0123540 1 6 7 4 6 1 B ; 1 1 7 0 0 0 0123560 B ; \r 4 5 2 2 2 B 0123600 ; 1 1 2 4 4 1 B ; 5 1 0123620 2 B ; 5 7 0 0 0 B ; \r 0123640 5 4 2 0 2 B ; 2 2 4 0123660 7 1 B ; 1 4 1 0 6 2 B ; 5 0123700 7 0 0 0 B ; \r 6 4 0123720 2 1 4 B ; 1 4 4 0 5 B ; 0123740 2 1 1 1 1 B ; 1 5 7 0 0 0 B ; 0123760 \r 4 4 2 2 0 B ; 0124000 1 1 7 6 4 5 B ; 2 2 1 1 0 B 0124020 ; 5 7 0 0 0 B ; \r 0124040 3 1 7 3 6 B ; 6 0 4 3 0 0124060 B ; 1 4 2 0 6 3 B ; 1 1 7 0 0124100 0 0 B ; \r 376 001 \0 4 207 0124120 ] \r l e t b b t = v 0124140 e c l B B T + 1 ; b b t = 0124160 ( b b t + 1 ) & - 2 \r M 0124200 o v e B l o c k ( b b t , t a 0124220 b l e [ 1 ; 0 ; c u r s 0124240 o r B i t M a p ; 1 ; 0 ; 0124260 4 ; 5 ; 6 ; 0 ; 4 ; 0 0124300 ; 0 ] , l B B T ) \r 0124320 b b t > > B B T . s b c a = 0124340 f o n t \r f o r d e s t 0124360 O f f s e t = 1 0 t o 0 0124400 b y - 5 d o \r 0124420 [ \r l e t d i g i 0124440 t = n u m b e r r e m 1 0124460 0 ; n u m b e r = n u m b 0124500 e r / 1 0 \r b 376 \0 T 0124520 370 335 b t > > B B T . d l x = 0124540 d e s t O f f s e t \r 0124560 b b t > > B B T . s l x = 0124600 5 * d i g i t \r B i 0124620 t B l t ( b b t ) \r 0124640 ] \r ] \r 377 \0 \0 B L D R I N I 0124660 T . B C P L \0 373 224 336 377 002 \0 \0 376 001 0124700 \0 251 207 / / B L D R I N I T . B 0124720 C P L \r / / C o p y r i g h t 0124740 X e r o x C o r p o r a t i 0124760 o n 1 9 7 9 \r \n / / T a f 0125000 t , F e b r u a r y 2 2 , 0125020 1 9 8 0 2 : 0 2 P M , / 0125040 D g l o b a l s w i t c h , 0125060 r e a r r a n g e d i n i t 0125100 \r \n / / S w i n e h a r t , 0125120 J u n e 2 0 , 1 9 7 7 0125140 8 : 3 5 P M \r \n \r g e t " B 0125160 L D R . D E C L " \r \r l e t B 0125200 e f o r e J u n t a I n i t ( b 0125220 l v ) b e \r [ \r s a v 0125240 e d U s e r F i n i s h P r o c 0125260 = @ l v U s e r F i n i s h 0125300 P r o 376 001 \0 262 270 c \r @ l v U 0125320 s e r F i n i s h P r o c = 0125340 B l d r F i n i s h P r o c \r 0125360 r e l P a i r L i s t = b 0125400 l v ! # 3 7 \r i f m a l F 0125420 o r m e d R o u t i n e e q 0125440 - 1 t h e n m a l F o r m e 0125460 d R o u t i n e = S y s E r 0125500 r \r l e t f r e e E n d 0125520 = M y F r a m e ( ) - 1 5 0125540 0 0 \r f r e e B e g i n = 0125560 @ s t a c k L i m \r @ s t 0125600 a c k L i m = f r e e E n d 0125620 \r t e s t f r e e E n d 0125640 - f r e e B e g i n < 0 \r 0125660 i f n o t s y s Z o n 0125700 e = I n i t 376 001 \0 Y 222 i a l 0125720 i z e Z o n e ( f r e e B e g i 0125740 n , f r e e E n d - f r e e B 0125760 e g i n , S y s E r r , m a l F 0126000 o r m e d R o u t i n e ) \r 0126020 i f s o \t [ \r \t s y s 0126040 Z o n e = I n i t i a l i z 0126060 e Z o n e ( f r e e E n d - 3 2 0126100 7 6 7 , 3 2 7 6 7 , S y s E r 0126120 r , m a l F o r m e d R o u t i 0126140 n e ) \r \t f r e e E n d = 0126160 f r e e E n d - 3 2 7 6 7 \r 0126200 \t i f f r e e E n d - 0126220 f r e e B e g i n > 1 0 0 0126240 t h e n \r \t \t A d d T o Z o 0126260 n e ( s y s Z o n e , f r e e 0126300 B e g i n , f r e e E n 376 001 \0 0126320 8 303 d - f r e e B e g i n ) 0126340 \r \t ] \r @ l v S y s Z o 0126360 n e = s y s Z o n e \r \r 0126400 @ 4 2 4 B = 3 0 0 ; @ 4 2 0126420 5 B = 1 5 0 / / t w e 0126440 a k m o u s e p o s i t i o 0126460 n \r D i s p l a y I n C u r 0126500 s o r ( 0 ) \r P a r s e G l 0126520 o b a l S w i t c h e s ( ) \r 0126540 J u n t a ( ( n o D i s p l a 0126560 y S w ? l e v D i r e c t o r 0126600 y , l e v D i s p l a y ) , 0126620 M a i n ) \r ] \r \n \r a n d 0126640 A f t e r J u n t a I n i t ( ) 0126660 b e \r [ \r @ l v S y s 0126700 Z o n e = s y s Z o n e \r 0126720 l 376 001 \0 202 r e t f r e e E n 0126740 d = M y F r a m e ( ) - 0126760 1 5 0 0 / / a d d i t i o 0127000 n a l s p a c e g a i n e d 0127020 b y J u n t a \r l e t 0127040 f r e e B e g i n = @ s t a 0127060 c k L i m \r @ s t a c k L i 0127100 m = f r e e E n d \r A d 0127120 d T o Z o n e ( s y s Z o n e , 0127140 f r e e B e g i n , f r e e 0127160 E n d - f r e e B e g i n ) 0127200 \r \r d s p = l v N o o 0127220 p - o f f s e t S T . p u 0127240 t s / 1 6 / / N o o p d 0127260 i s p l a y s t r e a m \r 0127300 u n l e s s n o D i s p l a y 0127320 S w d o \r 376 001 \0 { 232 [ 0127340 \r l e t f o n t = 0127360 O p e n F i l e ( " S y s F o n 0127400 t . a l " , k s T y p e R e a 0127420 d O n l y , w o r d I t e m , 0127440 0 , f p S y s F o n t ) \r 0127460 u n l e s s f o n t d 0127500 o C a l l S w a t ( " C a n ' 0127520 t o p e n S y s F o n t . a 0127540 l " ) \r l e t l e n F 0127560 o n t = ( F i l e L e n g t 0127600 h ( f o n t ) + 1 ) / 2 \r 0127620 s y s F o n t = A l l o c 0127640 a t e ( s y s Z o n e , l e n 0127660 F o n t ) \r R e s e t s 0127700 ( f o n t ) ; R e a d B l o c 0127720 k ( f o n t , s y s F 376 001 \0 005 0127740 251 o n t , l e n F o n t ) ; 0127760 C l o s e s ( f o n t ) \r 0130000 s y s F o n t = s y s F o 0130020 n t + 2 \r / / l i n e 0130040 W o r d s = l D C B + 3 8 * 0130060 2 * ( ( s y s F o n t ! - 2 + 1 0130100 ) / 2 ) + 1 \r d s p = 0130120 C r e a t e D i s p l a y S t 0130140 r e a m ( 5 , A l l o c a t e 0130160 ( s y s Z o n e , 1 5 0 0 ) , 0130200 1 5 0 0 , s y s F o n t ) \r 0130220 S h o w D i s p l a y S 0130240 t r e a m ( d s p , D S a l o n 0130260 e ) \r ] \r \r P a r s 0130300 e C o m m a n d s ( ) / / a 0130320 l l i n i t i a l i z a t i o 0130340 n 376 001 \0 _ 366 \r ] \r \r \f \r a n 0130360 d P a r s e G l o b a l S w i 0130400 t c h e s ( ) b e \r [ \r \n 0130420 T S T R E A M = d s p ; 0130440 L S T R E A M = T S T R E 0130460 A M \r \r / / G l o b a l 0130500 s w i t c h e s \r \r \n N A M 0130520 E = Z m e m ( F I L E N A M 0130540 E L E N G T H + 1 ) \r \n S W 0130560 = Z m e m ( 3 2 ) \r L F 0130600 I L E N A M E = Z m e m ( F 0130620 I L E N A M E L E N G T H / 2 + 0130640 1 ) \r \r \n M A P S W = t 0130660 r u e \r \n W A R N I N G S W 0130700 = t r u e \r O S B K S W 0130720 = t r u e \r \n S e t u p 0130740 R e a d P a 376 001 \0 021 n r a m ( N 0130760 A M E , S W ) \r \n E v a l 0131000 P a r a m ( N A M E , $ P , 0 , 0131020 L F I L E N A M E ) / / S a 0131040 v e l o a d e r n a m e \r \n 0131060 f o r I = 1 t o S 0131100 W ! 0 s w i t c h o n C A P 0131120 I T A L I Z E ( S W ! I ) i n 0131140 t o \r \n [ \t c a s e $ M 0131160 : \t M A P S W = f a l s e ; 0131200 l o o p \r \n \t c a s e $ U : 0131220 \t C A S E S W = t r u e ; 0131240 l o o p \r \n \t c a s e $ N : \t 0131260 L I S T N U M S W = t r u e 0131300 ; l o o p \r \n \t c a s e $ L 0131320 : \t L I S T L A B S W = t r 0131340 u e ; l o o p \r \n \t 376 001 \0 M 356 0131360 c a s e $ V : \t L I S T V A R 0131400 S W = t r u e ; l o o p \r 0131420 \n \t c a s e $ T : \t T T Y P E 0131440 S W = t r u e ; l o o p \r 0131460 \n \t c a s e $ F : \t T F I L E 0131500 S W = t r u e ; l o o p \r 0131520 \n \t c a s e $ W : \t W A R N I 0131540 N G S W = f a l s e ; l o 0131560 o p \r \n \t c a s e $ R : \t D U 0131600 P S W = t r u e ; l o o p 0131620 \r \n \t c a s e $ I : \t I N I T 0131640 S W A P S W = 1 ; l o o p 0131660 \r \n \t c a s e $ B : \t B B I N 0131700 S A V E S W = t r u e ; l 0131720 o o p \r \n \t c a s e $ K : \t O 0131740 S B K S W = f a l s e ; l 0131760 376 001 \0 006 257 o o p \r \t c a s e $ 0132000 D : \t n o D i s p l a y S w = 0132020 t r u e ; l o o p \r \t c a s 0132040 e $ $ : \t D E B U G S W = 0132060 t r u e ; l o o p \r \n \t d e f 0132100 a u l t : \t B A D S W I T C H ( 0132120 I ) \r \n ] \r L I S 0132140 T S W = n o t T T Y P E S 0132160 W & ( L I S T N U M S W % L I S 0132200 T L A B S W % L I S T V A R S W 0132220 ) \r ] \r \n \f \r a n d P a r 0132240 s e C o m m a n d s ( ) b e \r 0132260 [ \r \n T S T R E A M = 0132300 d s p ; L S T R E A M = 0132320 T S T R E A M \r P u t T e m 0132340 p l a t e ( d s p , " * N * N $ 0132360 S $ O . 376 001 \0 p u $ O - - 0132400 " , L F I L E N A M E , V E R S 0132420 I O N r s h i f t 8 , V E 0132440 R S I O N & # 3 7 7 ) \r \r \n 0132460 / / g l o b a l l o c a l 0132500 s w i t c h e s \r S Y M M A 0132520 X = I S Y M M A X ; C O D 0132540 E M A X = I C O D E M A X \r 0132560 \n C O M M O N S T A R T , 0132600 C O M M O N M A X = - 1 , 0132620 - 1 \r \n S T A T I C S T A R 0132640 T , S T A T I C M A X = - 0132660 1 , - 1 \r \n C O D E S T A 0132700 R T = - 1 \r \n \r f i l e 0132720 N a m e V e c = Z m e m ( A 0132740 L L F I L E M A X ) \r e v e 0132760 n t L i s t = Z 376 001 \0 | ! m 0133000 e m ( 2 ) \r D I C T = Z 0133020 m e m ( D I C T H E A D L E N G 0133040 T H ) \r \r \n l e t M O R E 0133060 G L O B A L S = t r u e \r \n 0133100 w h i l e M O R E G L O B 0133120 A L S d o \r \n [ G L O B \r \n 0133140 \r / / u n p a c k e d t o 0133160 N A M E , s w i t c h e s t 0133200 o S W , q u i t o n n u 0133220 l l \r \n i f R e a d P a 0133240 r a m ( 0 , - 1 ) e q - 1 0133260 % \n N A M E ! 0 e q 0 0133300 t h e n E R R O R ( " N o . 0133320 B R n a m e " ) \r l e t 0133340 o V = n i l \r i f B E 0133360 T W E E N ( N A M E ! 1 , $ 0 376 0133400 001 \0 024 206 , $ 7 + 1 ) t h e n 0133420 o V = E v a l P a r a m ( N 0133440 A M E , $ B , - 1 ) \r \n t e 0133460 s t S W ! 0 e q 0 t h 0133500 e n M O R E G L O B A L S = 0133520 f a l s e \r \n o r f o r 0133540 I = 1 t o S W ! 0 s 0133560 w i t c h o n C A P I T A L I 0133600 Z E ( S W ! I ) i n t o \r \n 0133620 [ \t c a s e $ S : \t S F 0133640 I L E N U M = F o r m F i l 0133660 e N a m e ( $ S ) \r \n \t \t \t i f 0133700 M A P S W & M F I L E N U 0133720 M e q - 1 d o \r \n \t \t \t 0133740 M F I L E N U M = F o r 0133760 m F i l e N a m e ( $ M ) \r \n \t 0134000 \t \t i f 376 001 \0 332 V ( T F I L E 0134020 S W % L I S T S W ) & T 0134040 F I L E N U M e q - 1 d o 0134060 \r \n \t \t \t T F I L E N U M 0134100 = F o r m F i l e N a m e ( 0134120 $ T ) \r \n \t \t \t l o o p \r \n \t c 0134140 a s e $ M : \t M F I L E N U M 0134160 = F o r m F i l e N a m e ( 0134200 $ M ) ; l o o p \r \n \t c a s e 0134220 $ F : \t T F I L E S W = t 0134240 r u e \r \n \t \t \t T F I L E N U M 0134260 = F o r m F i l e N a m e ( 0134300 $ T ) ; l o o p \r \n \t c a s e 0134320 $ V : \t S T A T I C S T A R T 0134340 = o V ; l o o p \r \n \t c a 0134360 s e $ W : \t S T A T I C M A X 0134400 = o V ; l o 376 001 \0 320 261 o p 0134420 \r \n \t c a s e $ Z : \t C O M M 0134440 O N S T A R T = o V ; l o 0134460 o p \r \n \t c a s e $ N : \t S Y 0134500 M M A X = o V ; l o o p \r 0134520 \n \t c a s e $ C : \t C O D E M 0134540 A X = o V ; l o o p \r \n \t 0134560 c a s e $ O : \t C O D E S T A 0134600 R T = o V ; l o o p \r \r \n \t 0134620 d e f a u l t : \t t e s t I 0134640 e q 1 t h e n [ M O R E 0134660 G L O B A L S = f a l s e ; 0134700 b r e a k ] \r \n \t \t \t o r 0134720 B A D S W I T C H ( I ) \r \n 0134740 ] \r \n \r \n ] G L O B 0134760 \r \f \r / / f i l e n a m 0135000 e s a n d l o c a l s 376 001 0135020 \0 O \f w i t c h e s \r \r \n \n 0135040 l e t M O R E F I L E S = 0135060 t r u e \r \n w h i l e M O 0135100 R E F I L E S d o \r \n 0135120 [ F I L E S \r N E W R F 0135140 I L E = 0 \r \n t e s 0135160 t S W ! 0 e q 0 t h e n 0135200 N E W R F I L E = $ R \r \n 0135220 o r f o r I = 0135240 1 t o S W ! 0 d o \r \t [ 0135260 \r \t l e t s w = C A P I T 0135300 A L I Z E ( S W ! I ) \r \t s w i 0135320 t c h o n s w i n t o \r \n \t 0135340 [ \r \t c a s e $ A 0135360 : c a s e $ B : \r \t \t u n l 0135400 e s s S F I L E N U M g e 0135420 0 d 376 001 \0 V - o E R R O R ( 0135440 " N o . R U N f i l e n a 0135460 m e " ) \r \t \t F o r m F i l e N 0135500 a m e ( s w ) ; l o o p \r \t 0135520 c a s e $ R : c a s e 0135540 $ I : c a s e $ H : c a s 0135560 e $ J : c a s e $ K : N 0135600 E W R F I L E = s w ; l o 0135620 o p \r \n \t c a s e $ X : 0135640 c a s e $ Y : c a s e $ 0135660 Q : c a s e $ P : P a r s 0135700 e P C ( s w ) ; l o o p \r \n \t 0135720 d e f a u l t : B A D S 0135740 W I T C H ( I ) \r \n \t ] \r 0135760 \t ] \r \n i f N E W R F I L 0136000 E e q $ R & S F I L E N 0136020 U M e q - 1 376 001 \0 031 374 t h 0136040 e n \r \t [ \r \n \t S F I L E N U M 0136060 = F o r m F i l e N a m e ( 0136100 $ S ) \n \r \t i f M A P S W & 0136120 M F I L E N U M e q - 1 0136140 d o M F I L E N U M = F o 0136160 r m F i l e N a m e ( $ M ) \r \n 0136200 \t i f ( T F I L E S W % L I S 0136220 T S W ) & T F I L E N U M 0136240 e q - 1 t h e n \n T F I L 0136260 E N U M = F o r m F i l e N 0136300 a m e ( $ T ) \r \n \t ] \r \n 0136320 i f N E W R F I L E t h e n 0136340 F o r m F i l e N a m e ( N E 0136360 W R F I L E ) \r \n \r \n i f 0136400 R e a d P a r a m ( 0 , - 1 ) 0136420 e q - 1 t h e n M O 376 001 \0 0136440 033 212 R E F I L E S = f a l s 0136460 e \r \n ] F I L E S \r C l o s 0136500 e s ( R e a d P a r a m S t r e 0136520 a m ) \r \n \r i f O S B K S W 0136540 t h e n / / l o o k u p 0136560 S Y S . B K u n l e s s i n 0136600 h i b i t e d \r \t [ l e t 0136620 t = t a b l e [ 3 ; $ 0136640 S ; $ Y ; $ S ] ; M o v e 0136660 B l o c k ( N A M E , t , 4 0136700 ) ; F o r m F i l e N a m e ( 0136720 $ K ) ] \r \r / / P r e p a r 0136740 e t o l o a d \r \r \n i f T 0136760 F I L E S W d o T T Y P E S 0137000 W = f a l s e \r \n \r \n M H E 0137020 A D = Z m e m ( M H E A D L 0137040 E N 376 001 \0 363 \0 G T H ) \r \n B H E 0137060 A D = Z m e m ( B H E A D L 0137100 E N G T H ) \r \n R H E A D = 0137120 Z m e m ( R H E A D L E N G T H 0137140 ) \r \n Z C O D E = Z m e m ( 0137160 # 4 0 0 ) \t / / I N T H E O 0137200 R Y , O N L Y 4 0 0 A R E 0137220 U S E D \r \n \r \n L A B L I S T 0137240 = Z m e m ( S Y M M A X * 2 0137260 + 1 ) \r \n S Y M L I S T = Z 0137300 m e m ( S Y M M A X + 1 ) \r \n S 0137320 Y M T A B = Z m e m ( S Y 0137340 M M A X + 1 ) \r \n C O D E = 0137360 Z m e m ( C O D E M A X ) \r \n P 0137400 A R A M L I S T = Z m e m ( 0137420 # 4 0 , - 1 ) \r s t a r t O v 0137440 e r l a y F a 376 001 \0 Z = = Z 0137460 m e m ( l F A ) \r s t a t i c L 0137500 i n k s F a = Z m e m ( l F 0137520 A ) \r \n \r \n u n l e s s S F I 0137540 L E N U M g e 0 d o E R 0137560 R O R ( " N o . R U N f i l 0137600 e n a m e " ) \r \n S F I L E N 0137620 A M E = f i l e N a m e V e 0137640 c ! S F I L E N U M \r \r O P E N 0137660 B L D R F I L E S ( ) \r ] \r \n \f 0137700 \r \n a n d P a r s e P C ( s w 0137720 ) b e \r \t [ \r \t l e t l e 0137740 t t e r V b l = C A P I T A 0137760 L I Z E ( N A M E ! 1 ) \r \t l e 0140000 t n a m e L e n , l N = 0140020 N A M E ! 0 , l P C s a v e \r 0140040 \t u n l e s s n a m e 376 001 \0 322 0140060 310 L e n e q 1 & B E T W 0140100 E E N ( l e t t e r V b l , $ 0140120 A , $ Z + 1 ) d o \r \t 0140140 t e s t s w e q $ P i 0140160 f n o t B A D S W I T C H ( 1 0140200 ) \r \t i f s o [ \r \t \t 0140220 t e s t l e t t e r V b l e 0140240 q $ $ t h e n \r \t \t 0140260 [ n a m e L e n = n a m e 0140300 L e n - 1 ; N A M E ! 0 = 0140320 n a m e L e n ; \r \t \t 0140340 M o v e B l o c k ( l v N A 0140360 M E ! 1 , l v N A M E ! 2 , 0140400 n a m e L e n ) ] \r \t \t o r 0140420 l e t t e r V b l = 0 \r \t 0140440 \t l N = l P C m o d \r \t \t ] 0140460 \r 376 001 \0 ; 302 \t l e t e v e n t 0140500 = Z m e m ( l N ) \r \t E n q 0140520 u e u e ( e v e n t L i s t , 0140540 e v e n t ) \r \t e v e n t > > P 0140560 C s a v e . c m d = s w \r \t 0140600 e v e n t > > P C s a v e . l e 0140620 t t e r V b l = l e t t e r 0140640 V b l \r \t i f l N e q l P 0140660 C m o d t h e n e v e n t > 0140700 > P C m o d . n e w V a l u e 0140720 = E v a l P a r a m ( N A M E 0140740 , $ B , - 1 ) \r \t ] \r \f \r a n d 0140760 F o r m F i l e N a m e ( c o 0141000 d e , r e g a r d l e s s ; 0141020 n u m a r g s n a ) = v a 0141040 l o f \r \t [ \r \t i f n a < 0141060 2 t h e n 376 001 \0 035 250 r e g a 0141100 r d l e s s = f a l s e \r / 0141120 / s e l e c t e x t e n s i 0141140 o n \r \t l e t e x t = s e 0141160 l e c t o n c o d e i n t o 0141200 \r \t [ \r \t c a s e $ S 0141220 : " . R U N " \r \t c a s e 0141240 $ A : c a s e $ B : " . 0141260 B B " \r \t c a s e $ R : 0141300 c a s e $ I : " . B R " \r \t 0141320 c a s e $ H : c a s e 0141340 $ J : " . B J " \r \t c a s 0141360 e $ K : " . B K " \r \t c 0141400 a s e $ M : " . S Y M S " \r 0141420 \t c a s e $ T : " . B S 0141440 " \r \t c a s e $ X : " . 0141460 X C " \r \t ] \r \t l 376 001 \0 037 2 0141500 e t d i c t = F i x F i l 0141520