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