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