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