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