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