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