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