$ od -c -N 50000 [_CD8_]<doradosource>ReadMB.dm!1
0000000 377 \0 \0 R e a d M B . b c p l \0 373
0000020 236 351 351 350 \0 \0 376 001 \0 025 201 / / R e
0000040 a d M B . b c p l - - R e a
0000060 d M B f i l e \r / / L a s
0000100 t m o d i f i e d J u n e
0000120 2 6 , 1 9 8 5 3 : 3 8 P
0000140 M b y R u m p h \r / /
0000160 t a k e n f r o m L o a d M
0000200 B . b c p l \r / / L a s t
0000220 m o d i f i e d J u n e 2
0000240 5 , 1 9 8 2 6 : 1 8 P M
0000260 b y T a f t \r \r g e t " S
0000300 t r e a m s . d " \r g e t " A
0000320 l t o F i l e S y s . d " \r \r e
0000340 x t e r n a l \r [ \r / / i n c
0000360 o m i n g p r o c e d u r e s
0000400 \r S e t u p R e a d P a r a m ;
0000420 R e a d P a r a m ; 376 001 \0 257 351
0000440 E v a l P a r a m \r O p e n F
0000460 i l e ; C l o s e s ; R e a
0000500 d B l o c k ; W r i t e B l o
0000520 c k ; F i l e P o s ; S e t
0000540 F i l e P o s ; G e t C o m p
0000560 l e t e F a \r W s ; G e t s ;
0000600 P u t s ; R e s e t s ; R
0000620 e a d L e a d e r P a g e ; T
0000640 r u n c a t e D i s k S t r e a
0000660 m \r P u t T e m p l a t e ; E
0000700 n q u e u e \r Z e r o ; M o v
0000720 e B l o c k ; U s c ; C a l
0000740 l S w a t ; R e a d C a l e n
0000760 d a r ; A l l o c a t e \r \r /
0001000 / i n c o m i n g s t a t i
0001020 c s \r k e y s ; d s p ; s y
0001040 376 001 \0 302 { s Z o n e \r ] \r \r \r s
0001060 t r u c t u r e M B N a m e
0001100 ^ 0 , 0 b y t e / / t e
0001120 r m i n a t e s o n n u l l
0001140 b y t e \r s t r u c t u r e
0001160 S t r i n g [ l e n g t h
0001200 b y t e ; c h a r ^ 1 , 1
0001220 b y t e ] \r \r / / - - - - - -
0001240 - - - - - - - - - - - - - - - -
*
0001340 - - - - - - \r s t r u c t u r e
0001360 M B : \t \t / / b l o c k f
0001400 o r m a t i n M B f i l e
0001420 \r / / - - - - - - - - - - - - -
0001440 - - - - - 376 001 \0 237 264 - - - - - -
0001460 - - - - - - - - - - - - - - - -
*
0001540 - - - - \r [ \r w o r d 0 w o r
0001560 d = \r [ \r b l a n
0001600 k b y t e \t \t / / u s e d
0001620 i n M i d a s M B f i l e
0001640 s , b u t n o t i n n o
0001660 r m a l o n e s \r t y p
0001700 e b y t e \t \t / / b l o c k
0001720 t y p e \r ] \r d a t a :
0001740 \r [ \r s o u r c e L
0001760 i n e w o r d \t / / s o u r
0002000 c e l i n e n u m b e r \r
0002020 v a l u e ^ 0 , 0 w o r
0002040 d \t / / l e f t - 376 001 \0 224 371 a
0002060 d j u s t e d d a t a \r
0002100 ] = \r m e m o r y : \r [
0002120 \r m e m o r y N u m w o
0002140 r d \t / / m e m o r y n u m
0002160 b e r \r l o c a t i o n
0002200 w o r d \t / / f i r s t l o
0002220 c a t i o n i n m e m o r y
0002240 \r ] = \r f i x u p : \r
0002260 [ \r m e m o r y N u m
0002300 w o r d \t / / m e m o r y
0002320 n u m b e r \r l o c a t i
0002340 o n w o r d \t / / l o c a t
0002360 i o n i n m e m o r y \r
0002400 f i r s t B i t b y t e \t /
0002420 / f i e l d t o b e s t
0002440 o r e d i n t o \r l a 376
0002460 001 \0 331 347 s t B i t b y t e \r
0002500 v a l u e w o r d \t \t / /
0002520 v a l u e t o b e s t o
0002540 r e d \r ] = \r m e m o r
0002560 y N a m e : \r [ \r m
0002600 e m o r y N u m w o r d \t / /
0002620 m e m o r y n u m b e r \r
0002640 w i d t h w o r d \t \t / /
0002660 m e m o r y w i d t h \r
0002700 n a m e @ M B N a m e \t \t /
0002720 / m e m o r y n a m e \r
0002740 ] = \r a d d r e s s : \r
0002760 [ \r m e m o r y N u m
0003000 w o r d \t / / m e m o r y n
0003020 u m b e r \r v a l u e w
0003040 o r d \t \t / / a d d r e s s
0003060 v a l u 376 001 \0 b 265 e \r n a
0003100 m e @ M B N a m e \t \t / / a
0003120 d d r e s s s y m b o l n a
0003140 m e \r ] = \r u n d e f i
0003160 n e d : \r [ \r m e m
0003200 o r y N u m w o r d \t / / m
0003220 e m o r y n u m b e r \r
0003240 l o c a t i o n w o r d \t / /
0003260 l o c a t i o n i n m e m
0003300 o r y \r f i r s t B i t
0003320 b y t e \t / / f i e l d t o
0003340 b e s t o r e d i n t o \r
0003360 l a s t B i t b y t e \r
0003400 n a m e @ M B N a m e \t
0003420 \t / / e x t e r n a l s y m
0003440 b o l n a m e \r ] \r ] \r
0003460 \r m a n i f e s t 376 001 \0 306 021 \r [
0003500 \r / / b l o c k t y p e s \r
0003520 m b E n d = 0 \t \t / / e n
0003540 d o f M B f i l e \r m b D
0003560 a t a = 1 \t \t / / s t o r
0003600 e m e m o r y d a t a a n
0003620 d i n c r e m e n t l o c a
0003640 t i o n \r m b M e m o r y =
0003660 2 \t \t / / s e t m e m o r y
0003700 n u m b e r a n d l o c a
0003720 t i o n \r m b F i x u p = 3
0003740 \t \t / / f o r w a r d r e f
0003760 e r e n c e f i x u p \r m b M
0004000 e m o r y N a m e = 4 \t / /
0004020 c o r r e l a t e m e m o r
0004040 y n a m e a n d n u m b e
0004060 r \r m b A d d r e s s = 376 001
0004100 \0 h _ 5 \t \t / / d e f i n e
0004120 a d d r e s s s y m b o l \r m
0004140 b U n d e f i n e d = 6 \t \t
0004160 / / e x t e r n a l r e f e
0004200 r e n c e \r \r / / b l o c k
0004220 l e n g t h s \r l e n M B D a t
0004240 a = o f f s e t M B . d a
0004260 t a . v a l u e / 1 6 / /
0004300 + s i z e o f v a l u e \r
0004320 l e n M B M e m o r y = o f
0004340 f s e t M B . m e m o r y . l
0004360 o c a t i o n / 1 6 + 1 \r l e
0004400 n M B F i x u p = o f f s e
0004420 t M B . f i x u p . v a l u e
0004440 / 1 6 + 1 \r l e n M B M e m o
0004460 r y N a m e = o f f s e t
0004500 M B . 376 001 \0 S 032 m e m o r y N a
0004520 m e . n a m e / 1 6 / / +
0004540 s i z e o f n a m e \r l e
0004560 n M B A d d r e s s = o f f
0004600 s e t M B . a d d r e s s . n
0004620 a m e / 1 6 / / + s i z
0004640 e o f n a m e \r l e n M B U
0004660 n d e f i n e d = o f f s e
0004700 t M B . u n d e f i n e d . n
0004720 a m e / 1 6 / / + s i z
0004740 e o f n a m e \r \r m a x M e
0004760 m o r y N u m = 5 0 \r m a x
0005000 L e n N a m e = 1 2 7 \r ] \r
0005020 \r / / - - - - - - - - - - - - -
0005040 - - - - - - - - - - - - - - - -
*
0005100 - - - - - - - - 376 001 \0 \f 347 - - -
0005120 - - - - - - - - - - - - - - - -
0005140 - - - - \r s t r u c t u r e I
0005160 M : \t \t / / I M w o r d ,
0005200 i n M B f i l e o n l y \r
0005220 / / - - - - - - - - - - - - - -
0005240 - - - - - - - - - - - - - - - -
*
0005320 - - - - - - - - - - - - - - \r [
0005340 \r w o r d 0 w o r d = \r
0005360 [ R S T K b i t 4 ; A
0005400 L U F b i t 4 ; B S E L
0005420 b i t 3 ; L C b i t 3 ;
0005440 A S E L 0 1 b i t 2 ]
0005460 = \r [ R S T K 0 b i t
0005500 1 ; r e s t 0 b i t 376 001 \0
0005520 q W 1 5 ] \r w o r d 1 w o
0005540 r d = \r [ A S E L 2
0005560 b i t 1 ; B L K b i t 1
0005600 ; F F b i t 8 ; J C N 0
0005620 5 b i t 6 ] = \r [
0005640 A S E L 2 B L K b i t 2 ;
0005660 r e s t 1 b i t 1 4 ] \r
0005700 w o r d 2 w o r d = \r
0005720 [ J C N 6 7 b i t 2 ; P
0005740 E 0 2 0 b i t 1 ; P E 2 1
0005760 3 1 b i t 1 ; b l a n k
0006000 b i t 1 2 ] \r w o r d 3 w
0006020 o r d = \r [ b l a n k
0006040 b i t 4 ; a b s o l u t e
0006060 A d d r b i t 1 2 ] \r ] \r
0006100 \r / / - - - - - - - - - - - - -
0006120 - - 376 001 \0 334 # - - - - - - - - -
0006140 - - - - - - - - - - - - - - - -
*
0006220 - - - - \r s t r u c t u r e I
0006240 F U M : \t \t / / I F U M w o
0006260 r d , i n M B f i l e a
0006300 n d i n I t e m \r / / - - -
0006320 - - - - - - - - - - - - - - - -
*
0006420 - - - - - - - - - \r [ \r w o r d
0006440 0 w o r d = \r [ b l
0006460 a n k b i t 5 ; P A b i
0006500 t 1 ; I F A D b i t 1 0
0006520 = [ I F 376 001 \0 333 % A D 0 1
0006540 b i t 2 ; I F A D 2 9 b
0006560 i t 8 ] ] \r w o r d 1 w
0006600 o r d = \r [ \r S G
0006620 N b i t 1 ; I P A R b i
0006640 t 3 = [ P 0 b i t ;
0006660 P 1 b i t ; P 2 b i t ]
0006700 ; L E N b i t 2 ; \r
0006720 R B A S E B b i t 1 ; M E
0006740 M B b i t 3 = [ M E M
0006760 B 0 b i t 1 ; M E M B 1 2
0007000 b i t 2 ] ; \r T Y P
0007020 E b i t 2 ; N b i t 4
0007040 \r ] \r ] \r \r m a n i f e s
0007060 t \r [ \r / / m a s k s d e f
0007100 i n i n g c o n t r i b u t i
0007120 o n o f e a c h w 376 001 \0 D
0007140 311 o r d t o e a c h p a r
0007160 i t y b i t \r i f u m W 0 P 0
0007200 = 1 4 0 0 B ; i f u m W 0
0007220 P 1 = 3 7 7 B ; i f u m W
0007240 0 P 2 = 2 0 0 0 B \r i f u m
0007260 W 1 P 0 = 3 1 7 B ; i f u
0007300 m W 1 P 1 = 0 B ; i f u m
0007320 W 1 P 2 = 1 0 7 4 6 0 B \r ]
0007340 \r \r / / - - - - - - - - - - - -
0007360 - - - - - - - - - - - - - - - -
*
0007460 \r s t r u c t u r e R M : \t \t
0007500 / / R M w o r d , i n M
0007520 B f i l e a n d i n I t
0007540 e 376 001 \0 ] 322 m \r / / - - - - - -
0007560 - - - - - - - - - - - - - - - -
*
0007660 - - - - - - \r [ \r w o r d 0 w
0007700 o r d \r ] \r \r / / - - - - - - -
0007720 - - - - - - - - - - - - - - - -
*
0010020 - - - - - \r s t r u c t u r e
0010040 M e s a S t r i n g : [ l e
0010060 n g t h w o r d ; m a x L e
0010100 n g t h w o r d ; c h a r ^
0010120 0 , 1 b y t e ] \r / / - - -
0010140 - - - - - - 376 001 \0 M , - - - - -
0010160 - - - - - - - - - - - - - - - -
*
0010240 - - - - - - - - - - - - - - \r \r
0010260 / / - - - - - - - - - - - - - -
0010300 - - - - - - - - - - - - - - - -
*
0010360 - - - - - - - - - - - - - - \r s
0010400 t r u c t u r e I n F i l e :
0010420 \t / / I n p u t f i l e d
0010440 e s c r i p t o r \r / / - - - -
0010460 - - - - - - - - - - - - - - - -
*
0010540 - - - - - - - - - - - 376 001 \0 [ c
0010560 - - - - - - - - - - - - - \r [ \r
0010600 n e x t w o r d \r n a m e w
0010620 o r d \t \t / / - > c o m p l
0010640 e t e f i l e n a m e s t
0010660 r i n g \r c f a @ C F A \r s t
0010700 a r t A d d r w o r d \t \t / /
0010720 m i c r o c o d e s t a r t
0010740 i n g a d d r e s s f o r
0010760 t h i s o v e r l a y \r ] \r m
0011000 a n i f e s t l e n I n F i l
0011020 e = s i z e I n F i l e /
0011040 1 6 \r \r m a n i f e s t \r [ \r m
0011060 a x I t e m s = 4 0 9 6 + 1
0011100 0 2 4 + 2 5 6 + 1 / / I M
0011120 + I F U M + R M + E n d , e n
0011140 o u g h f o r o n e f u l
0011160 376 001 \0 5 302 l i m a g e \r ] \r \r
0011200 \r / / - - - - - - - - - - - - -
0011220 - - - - - - - - - - - - - - - -
*
0011300 - - - - - - - - - - - - - - - \r
0011320 l e t R e a d M B ( ) b e \r
0011340 / / - - - - - - - - - - - - - -
0011360 - - - - - - - - - - - - - - - -
*
0011440 - - - - - - - - - - - - - - \r [
0011460 \r W s ( " * n R e a d M B o f
0011500 J u n e 2 6 , 1 9 8 5 " )
0011520 \r \r l e t s t r i n g V e c ,
0011540 s w i t c h V e c = v e c
0011560 5 0 , 376 001 \0 367 8 v e c 5 0
0011600 \r S e t u p R e a d P a r a m (
0011620 s t r i n g V e c , s w i t c
0011640 h V e c ) \r \r l e t s t r e a
0011660 m O u t = 0 \r l e t o u t
0011700 N a m e = v e c 5 0 \r l e
0011720 t i n F i l e Q = v e c
0011740 1 ; i n F i l e Q ! 0 = 0
0011760 \r \r [ / / r e p e a t
0012000 \r i f R e a d P a r a m
0012020 ( 0 , 0 , 0 , 0 , t r u
0012040 e ) e q - 1 t h e n b r
0012060 e a k \r s w i t c h o n
0012100 s w i t c h V e c ! 0 i n t o
0012120 \r [ \r c
0012140 a s e 0 : \r
0012160 s w i t c h V e c ! 376 001 \0 003 W 1
0012200 = $ I / / f a l l t
0012220 h r u ( t r e a t a s i n
0012240 p u t f i l e n a m e ) \r
0012260 c a s e 1 : \r
0012300 s w i t c h o n s
0012320 w i t c h V e c ! 1 i n t o \r
0012340 [ \r
0012360 c a s e $
0012400 I : c a s e $ i : \r
0012420 [ \r
0012440 l e t
0012460 i n N a m e = v e c 5 0 \r
0012500 l
0012520 e t s = E v a l P a r a m
0012540 ( s t r i n g V e c , " I W "
0012560 , " I n p u t M B f i l 376
0012600 001 \0 376 020 e n a m e : " , i
0012620 n N a m e ) \r
0012640 l e t i n F i l e
0012660 = A l l o c a t e ( s y s Z
0012700 o n e , l e n I n F i l e ) \r
0012720 l
0012740 e t l = i n N a m e > > S
0012760 t r i n g . l e n g t h r s h
0013000 i f t 1 + 1 \r
0013020 i n F i l e > >
0013040 I n F i l e . n a m e = A l
0013060 l o c a t e ( s y s Z o n e ,
0013100 l ) \r
0013120 M o v e B l o c k ( i n F i
0013140 l e > > I n F i l e . n a m e ,
0013160 i n N a m e , l ) \r
0013200 376 001 \0 * 302
0013220 G e t C o m p l e t e F a ( s ,
0013240 l v i n F i l e > > I n F i
0013260 l e . c f a ) \r
0013300 C l o s e s ( s )
0013320 \r
0013340 i n F i l e > > I n F i l e . s
0013360 t a r t A d d r = - 1 /
0013400 / h a v e n ' t s e e n s
0013420 t a r t a d d r e s s y e t
0013440 \r
0013460 E n q u e u e ( i n F i l e Q ,
0013500 i n F i l e ) \r
0013520 e n d c a s e \r
0013540 ]
0013560 \r c a s
0013600 e $ O : c a s 376 001 \0 317 \b e
0013620 $ o : \r
0013640 s t r e a m O u t = E
0013660 v a l P a r a m ( s t r i n g V
0013700 e c , " O W " , " O u t p u
0013720 t f i l e n a m e : " ,
0013740 o u t N a m e ) \r
0013760 e n d c a s e \r
0014000 d e f a
0014020 u l t : \r
0014040 F a i l ( " u n d e f i
0014060 n e d l o c a l s w i t c h
0014100 / $ C " , s w i t c h V e c
0014120 ! 1 ) \r
0014140 ] \r e n
0014160 d c a s e \r d e f a
0014200 u l t : \r 376 001
0014220 \0 O T F a i l ( " m u l t i p l
0014240 e l o c a l s w i t c h e s
0014260 " ) \r ] \r ]
0014300 r e p e a t \r \r i f i n F i l
0014320 e Q ! 0 e q 0 t h e n F
0014340 a i l ( " n o i n p u t f i
0014360 l e s p e c i f i e d " ) \r \r
0014400 i f s t r e a m O u t e q
0014420 0 t h e n \r [ / /
0014440 d e f a u l t o u t p u t f
0014460 i l e n a m e t o m a t c h
0014500 l a s t i n p u t f i l e
0014520 n a m e \r M o v e B l o c
0014540 k ( o u t N a m e , ( i n F i
0014560 l e Q ! 1 ) > > I n F i l e . n
0014600 a m e , 5 0 ) \r f o r
0014620 i = 376 001 \0 313 033 1 t o o u
0014640 t N a m e > > S t r i n g . l e
0014660 n g t h d o \r i f
0014700 o u t N a m e > > S t r i n g
0014720 . c h a r ^ i e q $ . t h
0014740 e n o u t N a m e > > S t r i
0014760 n g . l e n g t h = i - 1 \r
0015000 l e t i = o u t N a
0015020 m e > > S t r i n g . l e n g t
0015040 h \r o u t N a m e > > S t
0015060 r i n g . c h a r ^ ( i + 1 )
0015100 = $ . \r o u t N a m e >
0015120 > S t r i n g . c h a r ^ ( i +
0015140 2 ) = $ l \r o u t N a
0015160 m e > > S t r i n g . c h a r ^
0015200 ( i + 3 ) = $ s \r o u
0015220 t N a m e > > S 376 001 \0 277 M t r i
0015240 n g . l e n g t h = i + 3 \r
0015260 s t r e a m O u t = O
0015300 p e n F i l e ( o u t N a m e ,
0015320 k s T y p e W r i t e O n l y
0015340 , c h a r I t e m ) \r ]
0015360 \r \r l e t i n F i l e = i
0015400 n F i l e Q ! 0 \r w h i l e i
0015420 n F i l e n e 0 d o \r
0015440 [ \r l e t s t r e a m
0015460 M B = O p e n F i l e ( i n
0015500 F i l e > > I n F i l e . n a m
0015520 e , k s T y p e R e a d O n l
0015540 y , c h a r I t e m , 0 , \r
0015560 l v i n F i l e > > I
0015600 n F i l e . c f a . f p ) \r
0015620 i f s t r e a m M B 376 001 \0
0015640 260 331 e q 0 t h e n C a l l
0015660 S w a t ( " F a i l e d t o
0015700 o p e n e x i s t i n g f i
0015720 l e " ) \r R e a d M B F i
0015740 l e ( s t r e a m M B , s t r
0015760 e a m O u t ) \r C l o s e
0016000 s ( s t r e a m M B ) \r i
0016020 n F i l e = i n F i l e > >
0016040 I n F i l e . n e x t \r ]
0016060 \r \r l e t p o s = v e c
0016100 1 ; F i l e P o s ( s t r e a
0016120 m O u t , p o s ) \r C l o s e
0016140 s ( s t r e a m O u t ) \r P u t
0016160 T e m p l a t e ( d s p , " *
0016200 n $ E D b y t e s w r i t t
0016220 e n o n $ S . " , p o s ,
0016240 o 376 001 \0 L 321 u t N a m e ) \r f
0016260 i n i s h \r ] \r \r / / - - - - -
0016300 - - - - - - - - - - - - - - - -
*
0016400 - - - - - - - \r a n d F a i l
0016420 ( s t r i n g , p a r 1 , p
0016440 a r 2 , p a r 3 ) b e \r / /
0016460 - - - - - - - - - - - - - - - -
*
0016560 - - - - - - - - - - - - \r [ \r W
0016600 s ( " * n C o m m a n d e r r
0016620 o r : " ) \r P u t T e m p l a
0016640 t e ( d s p , 376 001 \0 j 246 s t r
0016660 i n g , p a r 1 , p a r 2 ,
0016700 p a r 3 ) \r W s ( " * n " ) \r
0016720 a b o r t \r ] \r \r / / - - - - -
0016740 - - - - - - - - - - - - - - - -
*
0017040 - - - - - - - \r a n d R e a d
0017060 M B F i l e ( s t r e a m , s
0017100 t r e a m O u t ) b e \r / / -
0017120 - - - - - - - - - - - - - - - -
*
0017220 - - - - - - - - - - - \r [ \r m a
0017240 n i f e s t l e n B u 376 001 \0 ;
0017260 201 f = 1 0 2 4 \r m a n i f e
0017300 s t m i n L e n B u f = 1
0017320 2 8 \r l e t m b B u f = v
0017340 e c l e n B u f \r l e t m b
0017360 = m b B u f \r l e t e n d
0017400 B u f = m b B u f \r l e t
0017420 m e m o r y N u m I M = - 2
0017440 \r l e t m e m o r y N u m I F
0017460 U M = - 2 \r l e t m e m o
0017500 r y N u m R M = - 2 \r l e t
0017520 m e m o r y N u m = - 1 \r
0017540 l e t a d d r = n i l \r l
0017560 e t m e m o r y W i d t h s
0017600 = v e c m a x M e m o r y N
0017620 u m ; Z e r o ( m e m o r y W
0017640 i d t h s , m a x M e m o r y
0017660 N 376 001 \0 V \a u m ) \r l e t n a
0017700 m e = v e c m a x L e n N
0017720 a m e \r l e t a d d r V a l u
0017740 e = 0 \r \r [ / / r
0017760 e p e a t \r i f ( e n d
0020000 B u f - m b ) l s m i n L e
0020020 n B u f t h e n \r
0020040 [ \r l e t w o r d
0020060 s R e m a i n i n g = e n d
0020100 B u f - m b \r M o v
0020120 e B l o c k ( m b B u f , m b
0020140 , w o r d s R e m a i n i n g
0020160 ) \r m b = m b B
0020200 u f \r w o r d s R e
0020220 m a i n i n g = w o r d s R
0020240 e m a i n i n g + \r
0020260 R e a d 376 001 \0 324 9 B l o c k
0020300 ( s t r e a m , m b + w o r d
0020320 s R e m a i n i n g , l e n B
0020340 u f - w o r d s R e m a i n i n
0020360 g ) \r i f w o r d
0020400 s R e m a i n i n g l e 0
0020420 t h e n C a l l S w a t ( " M
0020440 i s s i n g E n d b l o c k
0020460 i n M B f i l e " ) \r
0020500 e n d B u f = m b B
0020520 u f + w o r d s R e m a i n i n
0020540 g \r ] \r \r s w
0020560 i t c h o n m b > > M B . t y
0020600 p e i n t o \r [ \r
0020620 c a s e m b E n d
0020640 : \r b r e a k
0020660 \r \r c a s 376 001 \0 346 \r
0020700 e m b D a t a : \r
0020720 [ \r a d
0020740 d r = a d d r + 1 \r
0020760 m b = m b + l
0021000 e n M B D a t a + m e m o r
0021020 y W i d t h s ! m e m o r y N u
0021040 m \r e n d c a
0021060 s e \r ] \r \r
0021100 c a s e m b M e m o
0021120 r y : \r m e m
0021140 o r y N u m = m b > > M B .
0021160 m e m o r y . m e m o r y N u m
0021200 \r i f m e m
0021220 o r y W i d t h s ! m e m o r y
0021240 N u m e q 0 t h e n \r
0021260 C a l l S w
0021300 376 001 \0 7 Y a t ( " U n d e f i n
0021320 e d m e m o r y " ) \r
0021340 a d d r = m b > >
0021360 M B . m e m o r y . l o c a t i
0021400 o n \r m b =
0021420 m b + l e n M B M e m o r
0021440 y \r e n d c a
0021460 s e \r \r c a s e m
0021500 b F i x u p : \r
0021520 C a l l S w a t ( " F i x u p
0021540 b l o c k e n c o u n t e r
0021560 e d i n M B f i l e " ) \r
0021600 \r c a s e m b M e
0021620 m o r y N a m e : \r
0021640 [ \r l e
0021660 t n e w M e m o r y N u m =
0021700 m b > > 376 001 \0 & 253 M B . m e m
0021720 o r y N a m e . m e m o r y N u
0021740 m \r i f U s
0021760 c ( n e w M e m o r y N u m ,
0022000 m a x M e m o r y N u m ) g r
0022020 0 t h e n \r
0022040 C a l l S w a t ( " M e
0022060 m o r y n u m b e r o u t
0022100 o f b o u n d s " ) \r
0022120 m e m o r y W i d t h
0022140 s ! n e w M e m o r y N u m =
0022160 ( m b > > M B . m e m o r y N
0022200 a m e . w i d t h + 1 5 ) r
0022220 s h i f t 4 \r
0022240 l e t l e n N a m e = R
0022260 e a d N a m e ( l v m b > > M
0022300 B . m e m o r y N a 376 001 \0 331 321 m
0022320 e . n a m e , n a m e ) \r
0022340 P u t T e m p l a
0022360 t e ( s t r e a m O u t , " $
0022400 S * n " , n a m e ) \r
0022420 m b = m b + l
0022440 e n M B M e m o r y N a m e +
0022460 l e n N a m e \r
0022500 e n d c a s e \r
0022520 ] \r \r c a s e
0022540 m b A d d r e s s : \r
0022560 a d d r V a l u e =
0022600 m b > > M B . a d d r e s s .
0022620 v a l u e \r m
0022640 b = m b + l e n M B A d
0022660 d r e s s + R e a d N a m e
0022700 ( l v m b > > M B . a d d r 376
0022720 001 \0 244 214 e s s . n a m e , n a
0022740 m e ) \r P u t
0022760 T e m p l a t e ( s t r e a m O
0023000 u t , " $ S : * t $ U O
0023020 * n " , n a m e , a d d r V
0023040 a l u e ) \r e
0023060 n d c a s e \r \r c a
0023100 s e m b U n d e f i n e d : \r
0023120 C a l l S w a
0023140 t ( " U n d e f i n e d s y m
0023160 b o l b l o c k e n c o u n
0023200 t e r e d i n M B f i l e
0023220 " ) \r \r d e f a u l
0023240 t : \r C a l l
0023260 S w a t ( " U n k n o w n b l
0023300 o c k t y p e i n M B f
0023320 i l e " 376 001 \0 321 361 ) \r
0023340 ] \r ] r e p e a t \r ]
0023360 \r \r / / - - - - - - - - - - - -
0023400 - - - - - - - - - - - - - - - -
*
0023500 \r a n d R e a d N a m e ( m b
0023520 N a m e , s t r i n g N a m e
0023540 ) = v a l o f \r / / - - - -
0023560 - - - - - - - - - - - - - - - -
*
0023660 - - - - - - - - \r / / C o n v
0023700 e r t s f r o m t h e M B
0023720 n a m e f o r 376 001 \0 m 330 m a
0023740 t t o a n o r m a l s t
0023760 r i n g . \r / / R e t u r n s
0024000 t h e n u m b e r o f w
0024020 o r d s o c c u p i e d b y
0024040 m b N a m e . \r [ \r l e t i
0024060 = 0 \r [ / / r e p
0024100 e a t \r l e t c h a r
0024120 = m b N a m e > > M B N a m e
0024140 ^ i \r i f c h a r e q
0024160 0 t h e n b r e a k \r
0024200 s t r i n g N a m e > > S t r
0024220 i n g . c h a r ^ ( i + 1 ) =
0024240 c h a r \r i = i + 1
0024260 \r ] r e p e a t \r s t r
0024300 i n g N a m e > > S t r i n g .
0024320 l e n g t h = i \r r e s 376 001
0024340 \0 315 F u l t i s i r s h i f
0024360 t 1 + 1 \r ] \r \r / / - - - -
0024400 - - - - - - - - - - - - - - - -
*
0024500 - - - - - - - - \r a n d S t r
0024520 i n g E q ( s 1 , s 2 ) =
0024540 v a l o f \r / / - - - - - - - -
0024560 - - - - - - - - - - - - - - - -
*
0024660 - - - - \r [ \r l e t l e n g t
0024700 h = s 1 > > S t r i n g . l
0024720 e n g t h \r i f l e n g t h
0024740 n e 376 001 \0 f | s 2 > > S t r i
0024760 n g . l e n g t h r e s u l t
0025000 i s f a l s e \r f o r i =
0025020 1 t o l e n g t h d o \r
0025040 [ \r l e t c 1 ,
0025060 c 2 = s 1 > > S t r i n g .
0025100 c h a r ^ i , s 2 > > S t r i
0025120 n g . c h a r ^ i \r i f
0025140 c 1 n e c 2 t h e n \r
0025160 u n l e s s ( c 1 x
0025200 o r 4 0 B ) e q c 2 & \r
0025220 U s c ( ( c 1 &
0025240 1 3 7 B ) - $ A , $ Z - $ A
0025260 ) l e 0 r e s u l t i s
0025300 f a l s e \r ] \r r e s u l
0025320 t i s t r u e \r ] \r \r / / - -
0025340 - - - - - - - - 376 001 \0 o 207 - - -
0025360 - - - - - - - - - - - - - - - -
*
0025440 - - - - - - - - - - - - - - - \r
0025460 a n d M e s a F r o m B C P L
0025500 S t r i n g ( m e s a S t r i n
0025520 g , b c p l S t r i n g ) =
0025540 v a l o f \r / / - - - - - - -
0025560 - - - - - - - - - - - - - - - -
*
0025660 - - - - - \r / / R e t u r n s
0025700 t h e n u m b e r o f w
0025720 o r d s o c c u p i e d b y
0025740 t h e m e s a S t r i 376 001 \0
0025760 005 @ n g \r [ \r l e t l e n g t
0026000 h = b c p l S t r i n g > >
0026020 S t r i n g . l e n g t h \r m e
0026040 s a S t r i n g > > M e s a S t
0026060 r i n g . l e n g t h = l e
0026100 n g t h \r m e s a S t r i n g >
0026120 > M e s a S t r i n g . m a x L
0026140 e n g t h = ( l e n g t h +
0026160 1 ) & - 2 \r f o r i =
0026200 1 t o l e n g t h d o m
0026220 e s a S t r i n g > > M e s a S
0026240 t r i n g . c h a r ^ ( i - 1 )
0026260 = b c p l S t r i n g > > S
0026300 t r i n g . c h a r ^ i \r r e s
0026320 u l t i s ( o f f s e t M e
0026340 s a S t r i n g . c h a r ^ 0
0026360 / 376 \0 034 023 256 1 6 ) + ( l e
0026400 n g t h + 1 ) r s h i f t 1
0026420 \r ] \r 377 \0 \0 L o a d R e a d M B
0026440 . c m \0 373 236 351 331 205 \0 \0 376 \0 % ' L
0026460 B l d r / L V R e a d M B G
0026500 P T e m p l a t e A l t o Q
0026520 u e u e \r 377 \0 \0 R e a d M B . c
0026540 m \0 373 236 351 331 230 \0 \0 376 \0 $ 345 375 R e
0026560 a d M B . b c p l L o a d R e
0026600 a d M B . c m R e a d M B . c
0026620 m \r 374
0026623