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