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