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