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