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