  
 
 
  
 	 	         c o b o l _ . a l m                                             1 1 / 1 1 / 8 2     1 5 1 2 . 1 r e w   1 1 / 1 1 / 8 2     0 9 5 5 . 0               4 2 5 6 1     
 
 
 
 "   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 "   *                                                                                                                   * 
 "   *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
 "   *                                                                                                                   * 
 "   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 " 	 c o b o l _ 
 " 	 E x t e r n a l   d a t a   f o r   c o b o l   c o m p i l e r 
 " 	 b i n d a b l e   a s   s t a t i c   i n t e r n a l 
 
 	 n a m e 	 c o b o l _ 
 	 u s e 	 t e x t c 
 	 u s e 	 l i n k c 
 	 j o i n 	 / l i n k / l i n k c 
 	 j o i n 	 / t e x t / t e x t c 
 	 u s e 	 l i n k c 
 	 e v e n 
 " 	 D E C L A R A T I O N S . . . 
 	 s e g d e f 	 t e x t _ b a s e _ p t r 
 	 b s s 	 t e x t _ b a s e _ p t r , 2 
 	 s e g d e f 	 c o n _ e n d _ p t r 
 	 b s s 	 c o n _ e n d _ p t r , 2 
 	 s e g d e f 	 d e f _ b a s e _ p t r 
 	 b s s 	 d e f _ b a s e _ p t r , 2 
 	 s e g d e f 	 l i n k _ b a s e _ p t r 
 	 b s s 	 l i n k _ b a s e _ p t r , 2 
 	 s e g d e f 	 s y m _ b a s e _ p t r 
 	 b s s 	 s y m _ b a s e _ p t r , 2 
 	 s e g d e f 	 r e l o c _ t e x t _ b a s e _ p t r 
 	 b s s 	 r e l o c _ t e x t _ b a s e _ p t r , 2 
 	 s e g d e f 	 r e l o c _ d e f _ b a s e _ p t r 
 	 b s s 	 r e l o c _ d e f _ b a s e _ p t r , 2 
 	 s e g d e f 	 r e l o c _ l i n k _ b a s e _ p t r 
 	 b s s 	 r e l o c _ l i n k _ b a s e _ p t r , 2 
 	 s e g d e f 	 r e l o c _ s y m _ b a s e _ p t r 
 	 b s s 	 r e l o c _ s y m _ b a s e _ p t r , 2 
 	 s e g d e f 	 r e l o c _ w o r k _ b a s e _ p t r 
 	 b s s 	 r e l o c _ w o r k _ b a s e _ p t r , 2 
 	 s e g d e f 	 p d _ m a p _ p t r 
 	 b s s 	 p d _ m a p _ p t r , 2 
 	 s e g d e f 	 f i x u p _ p t r 
 	 b s s 	 f i x u p _ p t r , 2 
 	 s e g d e f 	 i n i t v a l _ b a s e _ p t r 
 	 b s s 	 i n i t v a l _ b a s e _ p t r , 2 
 	 s e g d e f 	 i n i t v a l _ f i l e _ p t r 
 	 b s s 	 i n i t v a l _ f i l e _ p t r , 2 
 	 s e g d e f 	 p e r f o r m _ l i s t _ p t r 
 	 b s s 	 p e r f o r m _ l i s t _ p t r , 2 
 	 s e g d e f 	 a l t e r _ l i s t _ p t r 
 	 b s s 	 a l t e r _ l i s t _ p t r , 2 
 	 s e g d e f 	 s e g _ i n i t _ l i s t _ p t r 
 	 b s s 	 s e g _ i n i t _ l i s t _ p t r , 2 
 	 s e g d e f 	 t e m p _ t o k e n _ a r e a _ p t r 
 	 b s s 	 t e m p _ t o k e n _ a r e a _ p t r , 2 
 	 s e g d e f 	 t e m p _ t o k e n _ p t r 
 	 b s s 	 t e m p _ t o k e n _ p t r , 2 
 	 s e g d e f 	 t o k e n _ b l o c k 1 _ p t r 
 	 b s s 	 t o k e n _ b l o c k 1 _ p t r , 2 
 	 s e g d e f 	 t o k e n _ b l o c k 2 _ p t r 
 	 b s s 	 t o k e n _ b l o c k 2 _ p t r , 2 
 	 s e g d e f 	 m i n p r a l 5 _ p t r 
 	 b s s 	 m i n p r a l 5 _ p t r , 2 
 	 s e g d e f 	 t a g _ t a b l e _ p t r 
 	 b s s 	 t a g _ t a b l e _ p t r , 2 
 	 s e g d e f 	 m a p _ d a t a _ p t r 
 	 b s s 	 m a p _ d a t a _ p t r , 2 
 	 s e g d e f 	 p t r _ s t a t u s _ p t r 
 	 b s s 	 p t r _ s t a t u s _ p t r , 2 
 	 s e g d e f 	 r e g _ s t a t u s _ p t r 
 	 b s s 	 r e g _ s t a t u s _ p t r , 2 
 	 s e g d e f 	 m i s c _ b a s e _ p t r 
 	 b s s 	 m i s c _ b a s e _ p t r , 2 
 	 s e g d e f 	 m i s c _ e n d _ p t r 
 	 b s s 	 m i s c _ e n d _ p t r , 2 
 	 s e g d e f 	 l i s t _ p t r 
 	 b s s 	 l i s t _ p t r , 2 
 	 s e g d e f 	 a l l o 1 _ p t r 
 	 b s s 	 a l l o 1 _ p t r , 2 
 	 s e g d e f 	 e l n _ p t r 
 	 b s s 	 e l n _ p t r , 2 
 	 s e g d e f 	 d i a g _ p t r 
 	 b s s 	 d i a g _ p t r , 2 
 	 s e g d e f 	 x r e f _ t o k e n _ p t r 
 	 b s s 	 x r e f _ t o k e n _ p t r , 2 
 	 s e g d e f 	 x r e f _ c h a i n _ p t r 
 	 b s s 	 x r e f _ c h a i n _ p t r , 2 
 	 s e g d e f 	 s t a t e m e n t _ i n f o _ p t r 
 	 b s s 	 s t a t e m e n t _ i n f o _ p t r , 2 
 	 s e g d e f 	 r e s w d _ p t r 
 	 b s s 	 r e s w d _ p t r , 2 
 	 s e g d e f 	 o p _ c o n _ p t r 
 	 b s s 	 o p _ c o n _ p t r , 2 
 	 s e g d e f 	 n t b u f _ p t r 
 	 b s s 	 n t b u f _ p t r , 2 
 	 s e g d e f 	 m a i n _ p c s _ p t r 
 	 b s s 	 m a i n _ p c s _ p t r , 2 
 	 s e g d e f 	 i n c l u d e _ i n f o _ p t r 
 	 b s s 	 i n c l u d e _ i n f o _ p t r , 2 
 	 s e g d e f 	 t e x t _ w d _ o f f 
 	 b s s 	 t e x t _ w d _ o f f , 1 
 	 s e g d e f 	 c o n _ w d _ o f f 
 	 b s s 	 c o n _ w d _ o f f , 1 
 	 s e g d e f 	 d e f _ w d _ o f f 
 	 b s s 	 d e f _ w d _ o f f , 1 
 	 s e g d e f 	 d e f _ m a x 
 	 b s s 	 d e f _ m a x , 1 
 	 s e g d e f 	 l i n k _ w d _ o f f 
 	 b s s 	 l i n k _ w d _ o f f , 1 
 	 s e g d e f 	 l i n k _ m a x 
 	 b s s 	 l i n k _ m a x , 1 
 	 s e g d e f 	 s y m _ w d _ o f f 
 	 b s s 	 s y m _ w d _ o f f , 1 
 	 s e g d e f 	 s y m _ m a x 
 	 b s s 	 s y m _ m a x , 1 
 	 s e g d e f 	 r e l o c _ t e x t _ m a x 
 	 b s s 	 r e l o c _ t e x t _ m a x , 1 
 	 s e g d e f 	 r e l o c _ d e f _ m a x 
 	 b s s 	 r e l o c _ d e f _ m a x , 1 
 	 s e g d e f 	 r e l o c _ l i n k _ m a x 
 	 b s s 	 r e l o c _ l i n k _ m a x , 1 
 	 s e g d e f 	 r e l o c _ s y m _ m a x 
 	 b s s 	 r e l o c _ s y m _ m a x , 1 
 	 s e g d e f 	 r e l o c _ w o r k _ m a x 
 	 b s s 	 r e l o c _ w o r k _ m a x , 1 
 	 s e g d e f 	 p d _ m a p _ i n d e x 
 	 b s s 	 p d _ m a p _ i n d e x , 1 
 	 s e g d e f 	 c o b o l _ d a t a _ w d _ o f f 
 	 b s s 	 c o b o l _ d a t a _ w d _ o f f , 1 
 	 s e g d e f 	 s t a c k _ o f f 
 	 b s s 	 s t a c k _ o f f , 1 
 	 s e g d e f 	 m a x _ s t a c k _ o f f 
 	 b s s 	 m a x _ s t a c k _ o f f , 1 
 	 s e g d e f 	 i n i t _ s t a c k _ o f f 
 	 b s s 	 i n i t _ s t a c k _ o f f , 1 
 	 s e g d e f 	 p d _ m a p _ s w 
 	 b s s 	 p d _ m a p _ s w , 1 
 	 s e g d e f 	 n e x t _ t a g 
 	 b s s 	 n e x t _ t a g , 1 
 	 s e g d e f 	 d a t a _ i n i t _ f l a g 
 	 b s s 	 d a t a _ i n i t _ f l a g , 1 
 	 s e g d e f 	 s e g _ i n i t _ f l a g 
 	 b s s 	 s e g _ i n i t _ f l a g , 1 
 	 s e g d e f 	 a l t e r _ f l a g 
 	 b s s 	 a l t e r _ f l a g , 1 
 	 s e g d e f 	 s e c t _ e o p _ f l a g 
 	 b s s 	 s e c t _ e o p _ f l a g , 1 
 	 s e g d e f 	 p a r a _ e o p _ f l a g 
 	 b s s 	 p a r a _ e o p _ f l a g , 1 
 	 s e g d e f 	 p r i o r i t y _ n o 
 	 b s s 	 p r i o r i t y _ n o , 1 
 	 s e g d e f 	 c o m p i l e _ c o u n t 
 	 b s s 	 c o m p i l e _ c o u n t , 1 
 	 s e g d e f 	 p t r _ a s s u m p t i o n _ i n d 
 	 b s s 	 p t r _ a s s u m p t i o n _ i n d , 1 
 	 s e g d e f 	 r e g _ a s s u m p t i o n _ i n d 
 	 b s s 	 r e g _ a s s u m p t i o n _ i n d , 1 
 	 s e g d e f 	 p e r f o r m _ p a r a _ i n d e x 
 	 b s s 	 p e r f o r m _ p a r a _ i n d e x , 1 
 	 s e g d e f 	 p e r f o r m _ s e c t _ i n d e x 
 	 b s s 	 p e r f o r m _ s e c t _ i n d e x , 1 
 	 s e g d e f 	 a l t e r _ i n d e x 
 	 b s s 	 a l t e r _ i n d e x , 1 
 	 s e g d e f 	 l i s t _ o f f 
 	 b s s 	 l i s t _ o f f , 1 
 	 s e g d e f 	 c o n s t a n t _ o f f s e t 
 	 b s s 	 c o n s t a n t _ o f f s e t , 1 
 	 s e g d e f 	 m i s c _ m a x 
 	 b s s 	 m i s c _ m a x , 1 
 	 s e g d e f 	 p d _ m a p _ m a x 
 	 b s s 	 p d _ m a p _ m a x , 1 
 	 s e g d e f 	 m a p _ d a t a _ m a x 
 	 b s s 	 m a p _ d a t a _ m a x , 1 
 	 s e g d e f 	 f i x u p _ m a x 
 	 b s s 	 f i x u p _ m a x , 1 
 	 s e g d e f 	 t a g _ t a b l e _ m a x 
 	 b s s 	 t a g _ t a b l e _ m a x , 1 
 	 s e g d e f 	 t e m p _ t o k e n _ m a x 
 	 b s s 	 t e m p _ t o k e n _ m a x , 1 
 	 s e g d e f 	 a l l o 1 _ m a x 
 	 b s s 	 a l l o 1 _ m a x , 1 
 	 s e g d e f 	 e l n _ m a x 
 	 b s s 	 e l n _ m a x , 1 
 	 s e g d e f 	 d e b u g _ e n a b l e 
 	 b s s 	 d e b u g _ e n a b l e , 1 
 	 s e g d e f 	 n o n _ s o u r c e _ o f f s e t 
 	 b s s 	 n o n _ s o u r c e _ o f f s e t , 1 
 	 s e g d e f 	 i n i t v a l _ f l a g 
 	 b s s 	 i n i t v a l _ f l a g , 1 
 	 s e g d e f 	 d a t e _ c o m p i l e d _ s w 
 	 b s s 	 d a t e _ c o m p i l e d _ s w , 1 
 	 s e g d e f 	 i n c l u d e _ c n t 
 	 b s s 	 i n c l u d e _ c n t , 1 
 	 s e g d e f 	 f s _ c h a r c n t 
 	 b s s 	 f s _ c h a r c n t , 1 
 	 s e g d e f 	 w s _ c h a r c n t 
 	 b s s 	 w s _ c h a r c n t , 1 
 	 s e g d e f 	 c o m s _ c h a r c n t 
 	 b s s 	 c o m s _ c h a r c n t , 1 
 	 s e g d e f 	 l s _ c h a r c n t 
 	 b s s 	 l s _ c h a r c n t , 1 
 	 s e g d e f 	 c o n s _ c h a r c n t 
 	 b s s 	 c o n s _ c h a r c n t , 1 
 	 s e g d e f 	 v a l u e _ c n t 
 	 b s s 	 v a l u e _ c n t , 1 
 	 s e g d e f 	 c d _ c n t 
 	 b s s 	 c d _ c n t , 1 
 	 s e g d e f 	 f s _ w d o f f 
 	 b s s 	 f s _ w d o f f , 1 
 	 s e g d e f 	 w s _ w d o f f 
 	 b s s 	 w s _ w d o f f , 1 
 	 s e g d e f 	 c o m s _ w d o f f 
 	 b s s 	 c o m s _ w d o f f , 1 
 	 s e g d e f 	 s c r a t c h _ d i r 
 	 b s s 	 s c r a t c h _ d i r , 4 2 
 	 s e g d e f 	 o b j _ s e g _ n a m e 
 	 b s s 	 o b j _ s e g _ n a m e , 8 
 	 s e g d e f 	 x r e f _ b y p a s s 
 	 b s s 	 x r e f _ b y p a s s , 1 
 	 s e g d e f 	 s a m e _ s o r t _ m e r g e _ p r o c 
 	 b s s 	 s a m e _ s o r t _ m e r g e _ p r o c , 1 
 
 	 e n d 
        
 
 
  
 	 	         c o b o l _ a c c e p t _ g e n . p l 1                         0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4               6 4 1 0 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a c c e p t _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 0 2 / 7 7   b y   B o b   C h a n g   t o   f i x   t h e   b u g   f o r   m c s _ i c d p .   * / 
 / *   M o d i f i e d   o n   0 3 / 0 8 / 7 7   b y   B o b   C h a n g   t o   i m p l e m e n t   a c c e p t   m e s s a g e   c o u n t . 	 * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0 	 * / 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a c c e p t _ g e n : 
           p r o c   ( m p _ p t r ) ; 
 
 d c l 	 m p _ p t r 	 	 p t r ; 
 d c l 	 1   m p 	 	 b a s e d   ( m p _ p t r ) , 
 	     2   n 	 	 f i x e d   b i n , 	 	 / *   a l w a y s   3   * / 
 	     2   p t 1 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 1   t o k e n   * / 
 	     2   p t 2 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 9   t o k e n   * / 
 	     2   p t 3 	 	 p t r ; 	 	 	 / *   p t s   t o   t y p 1 9   t o k e n   * / 
 
 
 d c l 	 1   m p o u t , 
 	     2   n 	 	 f i x e d   b i n   i n i t   ( 4 ) , 
 	     2   p t 1 	 	 p t r , 
 	     2   p t 2 	 	 p t r , 
 	     2   p t 3 	 	 p t r , 
 	     2   p t 4 	 	 p t r ; 
 
 
 d c l 	 t y p e 9 	 	 ( 2 8 )   f i x e d   b i n   ( 3 5 )   s t a t i c 
 	 	 	 i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   6 0 4 2 4 2 1 7 6 ,   0 ,   1 0 0 0 ,   0 ,   0 ,   0 ,   0 , 
 	 	 	 0 ,   0 ,   0 ,   0 ) ; 
 
 d c l 	 1   t y p e 1 9 	 	 s t a t i c , 
 	     2   w d 0 	 	 f i x e d   b i n   i n i t   ( 3 8 ) , 
 	     2   w d 1 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   w d 2 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   w d 3 	 	 f i x e d   b i n   i n i t   ( 1 9 ) , 
 	     2   w d 4 	 	 f i x e d   b i n   i n i t   ( 1 8 ) , 	 / *   v e r b   n u m b e r   * / 
 	     2   e 	 	 f i x e d   b i n   i n i t   ( 1 ) , 
 	     2   h 	 	 f i x e d   b i n , 
 	     2   j 	 	 f i x e d   b i n , 
 	     2   a 	 	 b i t   ( 3 ) , 
 	     2   b 	 	 b i t   ( 1 ) , 
 	     2   c 	 	 b i t   ( 1 ) , 
 	     2   d 	 	 b i t   ( 2 ) , 
 	     2   f 	 	 b i t   ( 2 ) , 
 	     2   g 	 	 b i t   ( 2 ) , 
 	     2   k 	 	 b i t   ( 5 ) ; 
 
 d c l 	 1   p r 2 _ s t r u c t 	 s t a t i c , 
 	     2   p r 2 	 	 f i x e d   b i n   i n i t   ( 2 ) , 
 	     2   p o i n t e r _ n o 	 b i t   ( 3 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   s w i t c h 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   s e g n o 	 	 f i x e d   b i n , 
 	     2   o f f s e t 	 f i x e d   b i n , 
 	     2   r e s e t 	 	 f i x e d   b i n ; 
 
 d c l 	 1   a r e g _ s t r u c t 	 s t a t i c , 
 	     2   a r e g 	 	 f i x e d   b i n   i n i t   ( 1 ) , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   n u l l _ p t r 	 p t r   i n i t   ( n u l l   ( ) ) , 
 	     2   f i l l 	 	 b i t   ( 1 8 )   u n a l i g n e d   i n i t   ( ( 1 8 ) " 0 " b ) , 
 	     2   l i t e r a l 	 b i t   ( 1 8 )   u n a l i g n e d ; 
 
 d c l 	 1   a q r e g _ s t r u c t 	 s t a t i c , 
 	     2   a q r e g 	 	 f i x e d   b i n   i n i t   ( 3 ) , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   n u l l _ p t r 	 p t r   i n i t   ( n u l l   ( ) ) , 
 	     2   f i l l 	 	 b i t   ( 1 8 )   u n a l i g n e d   i n i t   ( ( 1 8 ) " 0 " b ) , 
 	     2   l i t e r a l 	 b i t   ( 1 8 )   u n a l i g n e d ; 
 
 d c l 	 1   x 5 r e g _ s t r u c t 	 s t a t i c , 
 	     2   a q r e g 	 	 f i x e d   b i n   i n i t   ( 1 5 ) , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   n u l l _ p t r 	 p t r   i n i t   ( n u l l   ( ) ) , 
 	     2   f i l l 	 	 b i t   ( 1 8 )   u n a l i g n e d   i n i t   ( ( 1 8 ) " 0 " b ) , 
 	     2   l i t e r a l 	 b i t   ( 1 8 )   u n a l i g n e d ; 
 
 d c l 	 1   a l p h a _ t y p e 9 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ) , 
 	     2   r e p l _ p t r 	 ( 2 )   p t r   i n i t   ( ( 2 )   n u l l   ( ) ) , 
 	     2   f i l l 1 	 	 b i t   ( 1 0 8 )   i n i t   ( " " b ) , 
 	     2   f i l e _ k e y _ i n f o , 
 	         3   f b 1 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	         3   s i z e 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   f b 2 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	         3   f l a g s 1 	 b i t   ( 3 6 )   i n i t   ( " 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 " b ) , 
 	         3   f l a g s 2 	 b i t   ( 3 6 )   i n i t   ( " " b ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   o f f 	 	 f i x e d   b i n , 
 	     2   f i l l 2 	 	 ( 7 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ) ; 
 d c l 	 l d a _ i n s t 	 	 ( 2 )   b i t   ( 1 8 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 " b ) ; 
 	 	 	 	 	 	 / *   l d a 	 0 , d l 	 * / 
 
 d c l 	 i n s t _ s e q 	 	 ( 6 )   b i t   ( 1 8 )   u n a l i g n e d   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   s p r i 2 	 p r 6 | o f f s e t 	 * / 
 	 	 	 " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   s z n 	 p r 6 | o f f s e t 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *   t z e 	 0 , i c 	 	 * / 
 
 
 d c l 	 t u 2 	 	 ( 2 )   b i t   ( 1 8 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1 1 " b ) ; 
 	 	 	 	 	 	 / *   l x l 5 	 o f f , d l 	 * / 
 
 d c l 	 t u 3 	 	 ( 2 )   b i t   ( 1 8 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *   t r a 	 n e x t _ t a g 1 , i c 	 * / 
 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 d c l 	 i t e m _ l e n g t h 	 ( 0 : 3 )   f i x e d   b i n   s t a t i c   i n i t   ( 6 ,   5 ,   8 ,   1 ) ; 
 d c l 	 i n f o _ i c 	 	 ( 0 : 3 )   f i x e d   b i n   s t a t i c   i n i t   ( 6 ,   1 8 ,   1 7 ,   4 ) ; 
 d c l 	 r e s u l t _ o f f s e t 	 ( 0 : 3 )   f i x e d   b i n   s t a t i c   i n i t   ( 8 8 ,   8 0 ,   8 8 ,   8 2 ) ; 
 d c l 	 l i n e n o 	 	 f i x e d   b i n , 
 	 s t o f f 	 	 f i x e d   b i n , 
 	 t e m p 	 	 f i x e d   b i n ; 
 
 d c l 	 a c t i o n 	 	 f i x e d   b i n ; 
 d c l 	 o f f 	 	 f i x e d   b i n ; 
 d c l 	 n e x t _ t a g 1 	 	 f i x e d   b i n ; 
 
 / * 	 e x t e r n a l   p r o c e d u r e .   * / 
 d c l 	 c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p 
 	 	 	 e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ c a l l _ o p 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ p o i n t e r _ r e g i s t e r $ g e t 
 	 	 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m o v e _ g e n 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ g e t _ s i z e 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ s e t _ p r 	 e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e n t r y   ( f i x e d   b i n ) ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 
 	 d n _ p t r   =   m p . p t 2 ; 
 	 l i n e n o   =   m p . p t 1   - >   r e s e r v e d _ w o r d . l i n e ; 
 	 a c t i o n   =   m p . p t 3   - >   e n d _ s t m t . e ; 
 	 i f   a c t i o n   > =   9 
 	 t h e n   d o ; 	 	 	 	 	 / *   r e a d   u s e r _ i n p u t   * / 
 	 	 n e x t _ t a g 1   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n e x t _ t a g 1 ) ; 
 	 	 c a l l   c o b o l _ s e t _ p r   ( a d d r   ( p r 2 _ s t r u c t ) ,   d n _ p t r ) ; 
 	 	 c a l l   c o b o l _ g e t _ s i z e   ( d n _ p t r ,   0 ,   l i n e n o ) ; 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 6 4 ,   2 ,   o f f ) ; 
 	 	 t u 2   ( 1 )   =   s u b s t r   ( u n s p e c   ( o f f ) ,   1 9 ,   1 8 ) ; 
 	 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( x 5 r e g _ s t r u c t ) ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t u 2 ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( 2 0 ,   n e x t _ t a g 1 ) ; 
 	 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 2 0 ) ; 
 	           e n d ; 
 	 e l s e   i f   d a t a _ n a m e . t y p e   =   1 3 
 	 t h e n   d o ; 
 
 / *   G e n e r a t e   e p p 2   i n s t r u c t i o n   f o r   c o m m u n i c a t i o n   t o k e n . 	 * / 
 	 	 c d t o k e n _ p t r   =   m p . p t 2 ; 
 	 	 a l p h a _ t y p e 9 . s e g   =   c d t o k e n . c d _ s e g ; 
 	 	 a l p h a _ t y p e 9 . o f f   =   c d t o k e n . c d _ o f f   -   6 0 ; 
 	 	 c a l l   c o b o l _ s e t _ p r   ( a d d r   ( p r 2 _ s t r u c t ) ,   a d d r   ( a l p h a _ t y p e 9 ) ) ; 
 
 / *   A l l o c a t e   1 2   w o r d s   i n   s t a c k   f r a m e   f o r   p a r a m e t e r s 	 * / 
 	 	 s t o f f   =   7 4 ; 	 	 	 / *   C o m m u n i c a t i o n   s t a c k   f r a m e     f r o m   p r 6 | 7 4 	           * / 
 
 / *   S t o r e   c d _ t o k e n   a d d r e s s . 	 * / 
 	 	 s u b s t r   ( i n s t _ s e q   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 1 ) ) ,   n u l l ,   1 ) ; 
 
 
 / *   C a l l   c o b o l _ o p e r a t o r s _ 	 * / 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( 7 1 ,   0 ) ; 
 
 	 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 7 1 ) ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( a c t i o n   +   4 4 ,   0 ) ; 
 	 	 m p o u t . p t 1   =   m p . p t 1 ; 
 	 	 m p o u t . p t 2   =   a d d r   ( t y p e 9 ) ; 
 	 	 m p o u t . p t 2   - >   d a t a _ n a m e . i t e m _ l e n g t h ,   m p o u t . p t 2   - >   d a t a _ n a m e . p l a c e s _ l e f t   =   i t e m _ l e n g t h   ( a c t i o n ) ; 
 	 	 m p o u t . p t 2   - >   d a t a _ n a m e . o f f s e t   =   r e s u l t _ o f f s e t   ( a c t i o n )   *   4 ; 
 	 	 m p o u t . p t 3   =   m p . p t 2 ; 
 	 	 m p o u t . p t 4   =   a d d r   ( t y p e 1 9 ) ; 
 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m p o u t ) ) ; 
 	           e n d ; 
 e x i t : 
 	 r e t u r n ; 
 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 1 ; 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
 % i n c l u d e   c o b o l _ ; 
 
 % i n c l u d e   c o b o l _ t y p e 1 3 ; 
           e n d   c o b o l _ a c c e p t _ g e n ; 
    
 
 
  
 	 	         c o b o l _ a d d . p l 1                                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4               5 3 0 6 4     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 8 / 3 1 / 8 3   b y   F C H ,   [ 5 . 2 . . . ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   2 / 2 5 / 7 6   b y   B o b   C h a n g   t o   f i x   p l u s   s i g n   f o r   1 0 1 1   a n d   1 1 0 0   .   * / 
 / *   M o d i f i e d   o n   2 / 2 4 / 7 6   b y   B o b   C h a n g   t o   h a n d l e   s i g n e d / u n s i g n e d .   * / 
 / *   M o d i f i e d   o n   2 / 2 5 / 7 6   b y   B o b   C h a n g   t o   f i x e d   p l u s   f o r 1 0 1 1   a n d   1 1 0 0   .   * / 
 / *   M o d i f i e d   o n   2 / 2 4 / 7 6   b y   B o b   C h a n g   t o   h a n d l e   s i g n e d / u n s i g n e d .   * / 
 / *   f o r m a t :   s t y l e 3   * / 
 % ; 
 c o b o l _ a d d : 
           p r o c   ( o p e r a n d _ p t r ,   r e s u l t _ p t r ,   o p c o d e _ c o d e ) ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / * 
 T h i s   p r o c e u d r e   g e n e r a t e s   c o d e   f o r   t h e   f o l l w o i n g   t y p e s   o f 
 C o b o l   c o n s t r u c t s : 
 
 	 1 .   A D D   A   T O   B 
 	 2 .   s U B T R A C T   A   F R O M   B 
 
 T h i s   p r o c e d u r e   a s s u m e s   t h a t   t h e   t o k e n s   p o i n t e d   a t   b y   o p e r a n d _ p t r 
 a n d   r e s u l t _ p t r   a r e   d a t a   n a m e   ( t y p e   9 )   t o k e n s .     T h a t   i s ,   a n y 
 c o n v e r s i o n   o f   t h e   o p e r a n d s   f r o m   n u m e r i c   l i t e r a l   o r   f i g u r a t i v e 
 c o n s t a n t   h a s   a l r e a d y   b e e n   d o n e   b e f o r e   t h i s   p r o c e d u r e   i s   c a l l e d . 
 
 * / 
 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 o p e r a n d _ p t r 	 p t r ; 
 d c l 	 r e s u l t _ p t r 	 p t r ; 
 d c l 	 o p c o d e _ c o d e 	 f i x e d   b i n   ( 3 5 ) ; 
 
 / * 
 o p e r a n d _ p t r 	 P o i n t s   t o   t h e   t o k e n   f o r   t h e   a d d e n d   o r   m i n u e n d 
 	 	 d e p e n d i n g   o n   w h e t h e r   c o d e   i s   t o   b e   g e n e r a t e d   f o r   a d d i t i o n   o r 
 	 	 s u b t r a c t i o n ,   r e s p e c t i v e l y .   ( i n p u t ) 
 r e s u l t _ p t r 	 P o i n t s   t o   t h e   t o k e n   t h a t   s e r v e s   a s   b o t h 
 	 	 	 1 .   a u g e n d   a n d   s u m     o r 
 	 	 	 2 .   s u b t r a h e n d   a n d   d i f f e r e n c e 
 	 	 d e p e n d i n g   o n   w h e t h e r   c o d e   i s   t o   b e   g e n e r a t e d 
 	 	 f o r   a d d i t i o n   o r   s u b t r a c t i o n ,   r e s p e c t i v e l y .   ( i n p u t ) 
 o p c o d e _ c o d e 	 a   c o d e   t h a t   i n d i c a t e s   w h e t h e r   c o d e   i s   t o   b e 
 	 	 g e n e r a t e d   f o r   a d d i t i o n   o r   s u b t r a c t i o n .   ( i n p u t ) 
 
 	 	 	 o p c o d e _ c o d e     m e a n i n g 
 	 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 	           1                 |   a d d i t i o n 
 	 	 	           2                 |   s u b t r a c t i o n 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 / * } * / 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   i n t e r n a l   s t a t i c   v a r i a b l e s   t h a t   c o n t a i n   A D D 2   a n d   S U B T R A C T 2   o p c o d e s     * / 
 
 d c l 	 a d d 2 _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 0 0 0 1 0 1 " b   / * 2 0 2 ( 1 ) * / ) ; 
 d c l 	 s u b t r a c t 2 _ o p 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 0 0 0 1 1 1 " b   / * 2 0 3 ( 1 ) * / ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   b u f f e r s   u s e d   b y   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 / *     R e l o c a t i o n   i n f o   b u f f e r     * / 
 d c l 	 r e l o c _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 / *     I n s t r u c t i o n / d e s c r i p t i o n   b u f f e r     * / 
 d c l 	 a d d r _ i n s t _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 / *     A d d r e s s a b i l i t y   i n p u t   b u f f e r     * / 
 d c l 	 a d d r _ i n p u t _ b u f f e r 	 ( 1 : 3 0 )   f i x e d   b i n ; 
 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ a d d 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 / *     P o i n t   p o i n t e r s   a t   t h e   b u f f e r s   u s e d   t o   e s t a b l i s h   a d d r e s s a b i l i t y     * / 
 
 	 r e l o c _ p t r   =   a d d r   ( r e l o c _ b u f f e r   ( 1 ) ) ; 
 	 i n p u t _ p t r   =   a d d r   ( a d d r _ i n p u t _ b u f f e r   ( 1 ) ) ; 
 	 i n s t _ p t r   =   a d d r   ( a d d r _ i n s t _ b u f f e r   ( 1 ) ) ; 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 	 i n p u t _ s t r u c . t y p e   =   5 ; 	 	 	 / *     e i s ,   2   i n p u t   o p e r a n d s ,   i n s t r u c t i o n   w o r d   a n d   2   d e s c r i p t o r s   r e t u r n e d     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   2 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k     * / 
 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   o p e r a n d _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 1 )   =   0 ; 	 / *     s e n d i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   r e s u l t _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 2 )   =   1 ; 	 / *     r e c e i v i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 2 )   =   0 ; 
 
 / *     S e t   t h e   p r o p e r   o p c o d e   i n t o   t h e   e i s   i n s t r u c t i o n     * / 
 	 i f   o p c o d e _ c o d e   =   1 	 	 	 	 / *     a d d     * / 
 	 t h e n   i n s t _ s t r u c . f i l l 1 _ o p   =   a d d 2 _ o p ; 
 	 e l s e   i n s t _ s t r u c . f i l l 1 _ o p   =   s u b t r a c t 2 _ o p ; 
 
 / *     E s t a b l i s h   a d d r e s s a b i l i t y     * / 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     S e t   t h e   r o u n d i n g   b i t   i n   t h e   e i s   i n s t r u c t i o n ,   i f   n e c e s s a r y     * / 
 
 	 i f   r e s u l t _ p t r   - >   d a t a _ n a m e . r o u n d e d 
 	 t h e n   i n s t _ s t r u c . z e r o 3   =   " 0 1 " b ; 	 	 / *     t r u n c a t i o n   o f f ,   r o u n d i n g   o n     * / 
 	 i f   r e s u l t _ p t r   - >   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c   =   " 1 " b   &   r e s u l t _ p t r   - >   d a t a _ n a m e . s e g _ n u m   =   2 
 	 t h e n   i n s t _ s t r u c . i n s t . z e r o 1   =   " 1 0 " b ; 
 
 / *     E m i t   t h e   e i s   i n s t r u c t i o n   a n d   2   d e s c r i p t o r s     * / 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 	 / * * * . . . . .   i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 9 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D " ) ; / * * / 
  
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
  
 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
  
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   P R O C E D U R E 	 	 	 * / 
 / * 	 c o b o l _ a d d 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ a d d ; 
  
 
 
  
 	 	         c o b o l _ a d d 2 _ b i n a r y _ l o n g . p l 1             0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 4 . 9             1 5 7 9 7 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d 2 _ b i n a r y _ l o n g . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 8 / 3 1 / 8 3   b y   F C H ,   [ 5 . 2 . . . ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   0 9 / 0 3 / 8 0   b y   F C H ,   [ 4 . 4 - 1 ] ,   A D D   a   T O   b   g e n e r a t e s   b a d   c o d e ,   B U G 4 4 2 ( T R 7 4 8 3 )   * / 
 / *   M o d i f i e d   o n   1 / 1 9 / 7 7   b y   B o b   C h a n g   t o   i m p r o v e   t h e   c o d e   f o r   a d d   1   t o   c o m p - 6   d a t a . 	 * / 
 / *   M o d i f i e d   o n   0 1 / 1 7 / 7 7   b y   O R N   t o   c a l l   c o b o l _ m a k e _ r e g _ t o k e n   i n s t e a d   o f   c o b o l _ m a k e _ r e g i s t e r _ t o k e n   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a d d 2 _ b i n a r y _ l o n g : 
           p r o c   ( l o p _ t o k e n _ p t r ,   r o p _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r ,   o p e r a t i o n _ c o d e ) ; 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n     c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 	 	 	 	 	 	 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   a d d   o r   s u b t r a c t   t w o   
 b i n a r y   o p e r a n d s   u s i n g   r e g i s t e r   i n s t r u c t i o n s .     T h e   o p e r a n d s 
 c a n   b e   s h o r t   o r   l o n g   b i n a r y   d a t a   i t e m s   o r   c o n s t a n t s . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 l o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e s u l t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 o p e r a t i o n _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 l o p _ t o k e n _ p t r 	 P o i n t e r   t o   t h e   t o k e n   t h a t   d e s c r i b e s   t h e   l e f t 
 	 	 o p e r a n d   ( a u g e n d   o r   m i n u e n d )   o f   t h e 
 	 	 o p e r a t i o n   t o   b e   p e r f o r m e d .     ( i n p u t ) 
 r o p _ t o k e n _ p t r   	 P o i n t e r   t o   t h e   t o k e n   t h a t   d e s c r i b e s   t h e 
 	 	 r i g h t   o p e r a n d   ( a d d e n d   o r   s u b t r a h e n d )   o f   t h e 
 	 	 o p e r a t i o n   t o   b e   p e r f o r m e d .     ( i n p u t ) 
 r e s u l t _ t o k e n _ p t r   	 P o i n t e r   t o   a   r e g i s t e r   t o k e n   ( t y p e   1 0 0 ) 
 	 	 t h a t   d e s c r i b e s   t h e   r e g i s t e r   t h a t   c o n t a i n s 
 	 	 t h e   r e s u l t   ( s u m   o r   d i f f e r e n c e )   o f   t h e 
 	 	 o p e r a t i o n .     I f   t h i s   p o i n t e r   i s   n u l l ( )   o n   e n t r y , 
 	 	 t h e n   a   b u f f e r   i n   w h i c h   t h i s   t o k e n   i s   c r e a t e d 
 	 	 i s   s u p p l i e d   b y   t h i s   p r o c e d u r e .     O t h e r w i s e 
 	 	 i t   m u s t   p o i n t   t o   a   w o r k   b u f f e r   i n   w h i c h 
 	 	 t h e   t o k e n   i s   t o   b e   b u i l t . 
 o p e r a t i o n _ c o d e 	 a   c o d e   t h a t   i n d i c a t e s   t h e   t y p e   o f   a r i t h m e t i c 
 	 	 o p e r a t i o n   t o   b e   p e r f o r m e d .     ( i n p u t )     T h e 
 	 	 c o d e   i s   d e f i n e d   i n   t h e   f o l l o w i n g   t a b l e : 
 
 	 	       o p e r a t i o n _ c o d e 	 |       m e a n i n g 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	             1 	 	 |             a d d i t i o n 
 	 	             2 	 	 |       s u b t r a c t i o n 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ r e g _ t o k e n 
 	 	 	 e x t   e n t r y   ( p t r ,   b i t   ( 4 ) ) ; 
 d c l 	 c o b o l _ s h o r t _ t o _ l o n g b i n $ t e m p 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ s h o r t _ t o _ l o n g b i n $ r e g i s t e r 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ b i n _ c o n s t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ s t o r e _ b i n a r y 	 e x t   e n t r y   ( p t r ,   p t r ,   b i t   ( 1 ) ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 L D A 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 0 1 0 " b ) ; 
 	 	 	 	 	 	 / *     L D A     * / 
 d c l 	 L D Q 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *     L D Q     * / 
 d c l 	 A D A 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 1 1 1 1 0 1 0 " b ) ; 
 	 	 	 	 	 	 / *     A D A     * / 
 d c l 	 A D Q 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 1 1 1 1 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *     A D Q     * / 
 d c l 	 S B A 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 1 1 1 1 1 0 1 0 " b ) ; 
 	 	 	 	 	 	 / *     S B A     * / 
 d c l 	 S B Q 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 1 1 1 1 1 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *     S B Q     * / 
 
 d c l 	 d i r e c t _ l o w e r _ i n s t 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 " b ) ; 
 	 	 	 	 	 	 / *     z e r o , d l     * / 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 1   i n p u t _ b u f f 	 a l i g n e d , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   p t r ; 
 
 d c l 	 1   i n s t _ b u f f 	 a l i g n e d , 
 	     2   b u f f 	 	 ( 1 : 2 )   f i x e d   b i n ; 
 
 d c l 	 1   r e l o c _ b u f f 	 a l i g n e d , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   b i t   ( 5 )   a l i g n e d ; 
 
 d c l 	 t e m p _ l o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 t e m p _ r o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n   ( 2 4 ) ; 
 d c l 	 t e m p _ o p 	 	 b i t   ( 1 0 ) ; 
 d c l 	 t e m p _ p t r 	 	 p t r ; 
 d c l 	 c a l l _ a g a i n 	 b i t   ( 1 ) ; 
 d c l 	 c o n t _ b i t 	 	 b i t   ( 1 ) ; 
 d c l 	 ( i ,   j ) 	 	 f i x e d   b i n ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 d c l 	 1   r e g i s t e r _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   t o k _ p t r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 
 
 s t a r t : 
 	 i n p u t _ p t r   =   a d d r   ( i n p u t _ b u f f ) ; 
 	 i n s t _ p t r   =   a d d r   ( i n s t _ b u f f ) ; 
 	 r e l o c _ p t r   =   a d d r   ( r e l o c _ b u f f ) ; 
 
 / *     C h e c k   t o   s e e   i f   e i t h e r   o p e r a n d   i s   a   c o n s t a n t   t o k e n   ( t y p e   2 ) ,   a n d 
 	 i f   s o ,   c o n v e r t   t o   a n   i m m e d i a t e   c o n s t a n t   t o k e n   o r   p o o l e d   l o n g   b i n a r y .     * / 
 
 	 i f   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   i s   n u m e r i c   l i t e r a l .     * / 
 
 	 	 t e m p _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( l o p _ t o k e n _ p t r ,   t e m p _ p t r ,   2 ) ; 
 	 	 l o p _ t o k e n _ p t r   =   t e m p _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   i s   a   n u m e r i c   l i t e r a l     * / 
 
 	 i f   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   i s   a   n u m e r i c   l i t e r a l .     * / 
 
 	 	 i f   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   9   &   o p e r a t i o n _ c o d e   =   5   &   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 
 	 	           &   r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . s i g n   ^ =   " - " ) 
 	 	 t h e n   d o ; 
 
 	 	 	 c o n t _ b i t   =   " 1 " b ; 
 	 	 	 j   =   r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t   +   r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ r i g h t ; 
 
 	 	 	 d o   i   =   1   t o   j   w h i l e   ( c o n t _ b i t ) ; 
 	 	 	           i f   s u b s t r   ( r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . l i t e r a l ,   i ,   1 )   ^ =   " 0 " 
 	 	 	           t h e n   d o ; 
 
 
 	 	 	 	           i f   s u b s t r   ( r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . l i t e r a l ,   i ,   1 )   ^ =   " 1 " 
 	 	 	 	 	 |   i   ^ =   r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t 
 	 	 	 	           t h e n   c o n t _ b i t   =   " 0 " b ; 
 
 	 	 	 	 e n d ; 
 
 	 	 	 e n d ; 
 
 	 	 	 i f   c o n t _ b i t 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 i f   s u b s t r   ( r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . l i t e r a l , 
 	 	 	 	           r o p _ t o k e n _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ,   1 )   =   " 0 " 
 	 	 	 	 t h e n   r e t u r n ; 
 	 	 	 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 	 	 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 	 	 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 	 	 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   l o p _ t o k e n _ p t r ; 
 	 	 	 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 	 	 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 	 	 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   " 0 0 0 1 0 1 1 0 0 0 " b ; 
 	 	 	 	 	 	 / *   a o s 	 * / 
 	 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 	 	 	 	 r e t u r n ; 
 
 	 	 	           e n d ; 
 
 	 	           e n d ; 
 
 	 	 t e m p _ p t r   =   n u l l   ( ) ; 
 
 	 	 c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( r o p _ t o k e n _ p t r ,   t e m p _ p t r ,   2 ) ; 
 
 	 	 r o p _ t o k e n _ p t r   =   t e m p _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   i s   a   n u m e r i c   l i t e r a l     * / 
 
 
 / * [ 4 . 4 - 1 ] * / 
 	 i f   o p e r a t i o n _ c o d e   =   5 
 	 t h e n   o p e r a t i o n _ c o d e   =   1 ; 
 	 e l s e   i f   o p e r a t i o n _ c o d e   =   6 
 	 t h e n   o p e r a t i o n _ c o d e   =   2 ; 
 
 	 i f   ( o p e r a t i o n _ c o d e   =   2   / *   s u b t r a c t     * /   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	           &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     S u b t r a c t   o p e r a t i o n ,   a n d   s u b t r a h e n d   i s   a   s h o r t   b i n a r y .     * / 
 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ s h o r t _ t o _ l o n g b i n $ t e m p   ( r o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ) ; 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     S u b t r a c t   o p e r a t i o n ,   a n d   s u b t r a h e n d   i s   a   s h o r t   b i n a r y .     * / 
 
 	 e l s e   i f   ( o p e r a t i o n _ c o d e   =   2   / *     S u b t r a c t     * /   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r ) 
 	           / *     S u b t r a c t ,   s u b t r a h e n d   i s   i n   a   r e g i s t e r     * / 
 	           |   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r ) 
 	 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   i n   r e g i s t e r s     * / 
 	 t h e n   d o ; 	 	 	 	 	 / *     S t o r e   t h e   r i g h t   o p e r a n d   i n t o   a   l o n g   b i n a r y   t e   p o r a r y .     * / 
 
 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k ,   a n d   b u i l d   a   d a t a   n a m e   t o k e n   f o r   i t .     * / 
 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 4 ,   0 ,   r e t _ o f f s e t ) ; 
 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n   ( t e m p _ r o p _ t o k e n _ p t r ,   1 0 0 0   / * s t a c k * / ,   r e t _ o f f s e t ) ; 
 
 / *     G e n e r a t e   c o d e   t o   s t o r e   t h e   r e g i s t e r   i n t o   t h e   t e m p o r a r y .     * / 
 
 	 	 c a l l   c o b o l _ s t o r e _ b i n a r y   ( r o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ,   c a l l _ a g a i n ) ; 
 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     S t o r e   t h e   r i g h t   o p e r a n d   i n t o   a   l o n g   b i n a r y   t e m p o r a r y .     * / 
 
 
 	 e l s e   i f   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 ) 
 	           &   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   s h o r t   b i n a r y   c o b o l   d a t a   i t e m s .     * / 
 
 / *     C o n v e r t   r i g h t   o p e r a n d   t o   a   l o n g   b i n a r y   i n   a   t e m p o r a r y .     * / 
 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 
 	 	 c a l l   c o b o l _ s h o r t _ t o _ l o n g b i n $ t e m p   ( r o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ) ; 
 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   s h o r t   b i n a r y   c o b o l   d a t a   i t e m s .     * / 
 
 
 	 e l s e   i f   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r   |   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     O n l y   o n e   o p e r a n d   i s   i n   a   r e g i s t e r .     * / 
 
 / *     M a k e   t h e     l e f t   o p e r a n d   t h e   r e g i s t e r   t o k e n .     * / 
 
 	 	 i f   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r 
 	 	 t h e n   d o ; 	 	 	 	 / *     L e f t   o p e r a n d   p o i n t e r   a l r e a d y   p o i n t s   t o   t h e   r e g i s t e r   t o k e n .     * / 
 
 	 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	 	 t e m p _ r o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 
 	 	           e n d ; 	 	 	 	 / *     L e f t   o p e r a n d   p o i n t e r   a l r e a d y   p o i n t s   t o   t h e   r e g i s t e r   t o k e n .     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     M u s t   s w i t c h   t h e   o p e r a n d   p o i n t e r s .     * / 
 
 	 	 	 t e m p _ l o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	 	 	 t e m p _ r o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 
 	 	           e n d ; 	 	 	 	 / *     M u s t   s w i t c h   t h e   o p e r a n d   p o i n t e r s .     * / 
 
 	           e n d ; 	 	 	 	 	 / *     O n l y   o n e   o p e r n a d   i s   i n   a   r e g i s t e r .     * / 
 
 	 e l s e   i f   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   o n l y   i s   s h o r t   b i n a r y   c o b o l   d a t a   i t e m .     * / 
 
 / *     S w i t c h   o p e r a n d s ,   s o   t h a t   t h e   r i g h t   o n e   i s   l o a d e d   i n t o   t h e   r e g i s t e r , 
 	 	 a n d   t h e   l e f t   o n e   a d d e d   t o   i t .     * / 
 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   o n l y   i s   a   s h o r t   b i n a r y   c o b o l   d a t a   i t e m .     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     N o n e   o f   t h e   a b o v e   s p e c i a l   c a s e s .     * / 
 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     N o n e   o f   t h e   a b o v e   s p e c i a l   c a s e s .     * / 
 
 / *     S e t   u p   t o   c a l l   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 
 
 / *     G e n e r a t e   c o d e   t o   l o a d   t h e   A   o r   Q ,   a n d   a d d   t o   o r   s u b t r a c t   f r o m   i t .     * / 
 
 	 i f   t e m p _ l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r 
 	 t h e n   r e s u l t _ t o k e n _ p t r   =   t e m p _ l o p _ t o k e n _ p t r ; 
 	 e l s e   c a l l   l o a d _ r e g i s t e r   ( t e m p _ l o p _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r ) ; 
 
 	 c a l l   o p _ t o _ r e g i s t e r   ( t e m p _ r o p _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r   - >   c o b o l _ t y p e 1 0 0 . r e g i s t e r ,   o p e r a t i o n _ c o d e ) ; 
 	 / * * * . . . . .   i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 	 r e t u r n ; 
 
 
 
 l o a d _ r e g i s t e r : 
           p r o c   ( o p e r a n d _ t o k e n _ p t r ,   r e g i s t e r _ t o k e n _ p t r ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   l o a d   a   v a l u e   i n t o   e i t h e r   t h e   A 
 o r   Q   r e g i s t e r . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 o p e r a n d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e g i s t e r _ t o k e n _ p t r 	 p t r ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P a R a M E T E R 	 	 D E s C R I P T I O N 
 
 o p e r a n d _ t o k e n _ p t r 	 P o i n t e r   t o   a   t o k e n   t h a t   d e s c r i b e s   t h e   o p e r a n d 
 	 	 t o   b e   l o a d e d   i n t o   t h e   r e g i s t e r .     T h i s   t o k e n 
 	 	 c a n   b e   o n   o f   t h e   f o l l o w i n g   t y p e s : 
 	 	     1 .     d a t a   n a m e   t o k e n   ( t y p e   9 )   f o r   a   s h o r t 
 	 	       o r   l o n g   b i n a r y   d a t a   i t e m . 
 	 	     2 .   i m m e d i a t e   c o n s t a n t   t o k e n   ( t y p e   1 0 2 ) 
 r e g i s t e r _ t o k e n _ p t r 	 P o i n t e r   t o   a   r e g i s t e r   t o k e n   ( t y p e   1 0 0 )   t h a t 
 	 	 d e s c r i b e s   t h e   r e g i s t e r   i n t o   w h i c h   t h e   o p e r a n d 
 	 	 i s   l o a d e d .     I f   t h i s   p o i n t e r   i s   n u l l ( )   o n 
 	 	 e n t r y ,   t h e n   s p a c e   f o r   t h e   t o k e n   i s   p r o v i d e d 
 	 	 t o   t h e   u s e r .     O t h e r w i s e   t h i s   p o i n t e r   m u s t 
 	 	 p o i n t   t o   a   w o r k   b u f f e r   i n   w h i c h   t h e   t o k e n 
 	 	 i s   t o   b e   b u i l t . 
 * / 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 I N T E R N A L   P R O C E D U R E : 	 	 	 * / 
 / * 	           l o a d _ r e g i s t e r 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ l o a d _ r e g i s t e r : 
 	 i f   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     O p e r a n d   t o   b e   l o a d e d   i s   l o n g   o r   s h o r t   b i n a r y   c o b o l   d a t a   i t e m .     * / 
 
 	 	 i f   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 t h e n   / *     O p e r a n d   t o   b e   l o a d e d   i s   s h o r t   b i n a r y .     * / 
 	 	           c a l l   c o b o l _ s h o r t _ t o _ l o n g b i n $ r e g i s t e r   ( o p e r a n d _ t o k e n _ p t r ,   r e g i s t e r _ t o k e n _ p t r ) ; 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     O p e r a n d   t o   b e   l o a d e d   i s   a   l o n g   b i n a r y   d a t a   i t e m .     * / 
 	 	 	 	 	 	 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   o p e r a n d .     * / 
 
 	 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   o p e r a n d _ t o k e n _ p t r ; 
 
 	 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     G e t   t h e   A   o r   Q   a n d   l o c c   i t .     * / 
 
 	 	 	 r e g i s t e r _ s t r u c . w h a t _ r e g   =   4 ; 	 / *     A   o r   Q     * / 
 	 	 	 r e g i s t e r _ s t r u c . l o c k   =   1 ; 	 / *     l o c k   i t     * / 
 	 	 	 r e g i s t e r _ s t r u c . c o n t a i n s   =   0 ; 
 
 	 	 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 
 	 	 	 i f   r e g i s t e r _ s t r u c . r e g _ n o   =   " 0 0 0 1 " b 
 	 	 	 	 	 	 / *     A     * / 
 	 	 	 t h e n   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   L D A ; 
 	 	 	 e l s e   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   L D Q ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 	 	 	 c a l l   c o b o l _ m a k e _ r e g _ t o k e n   ( r e g i s t e r _ t o k e n _ p t r ,   r e g i s t e r _ s t r u c . r e g _ n o ) ; 
 
 	 	           e n d ; 	 	 	 	 / *     O p e r a n d   t o   b e   l o a d e d   i s   a   l o n g   b i n a r y   d a t a   i t e m .     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   t o   b e   l o a d e d   i s   l o n g   o r   s h o r t   b i n a r y   c o b o l   d a t a   i t e m .     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     O p e r a n d   t o   b e   l o a d e d   i s   a n   i m m e d i a t e   c o n s t a n t .     * / 
 	 	 	 	 	 	 / *     G e t   t h e   A   o r   Q ,   a n d   l o c k   i t .     * / 
 
 	 	 r e g i s t e r _ s t r u c . w h a t _ r e g   =   4 ; 	 	 / *     A   o r   Q     * / 
 	 	 r e g i s t e r _ s t r u c . l o c k   =   1 ; 
 	 	 r e g i s t e r _ s t r u c . c o n t a i n s   =   0 ; 
 
 	 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 
 	 	 i f   r e g i s t e r _ s t r u c . r e g _ n o   =   " 0 0 0 1 " b 	 / *     A     * / 
 	 	 t h e n   s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 9 ,   1 0 )   =   L D A ; 
 	 	 e l s e   s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 9 ,   1 0 )   =   L D Q ; 
 
 / *     I n s e r t   t h e   i m m e d i a t e   v a l u e   i n t o   t h e   i n s t r u c t i o n     * / 
 
 	 	 s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 ,   1 8 )   = 
 	 	           s u b s t r   ( u n s p e c   ( o p e r a n d _ t o k e n _ p t r   - >   i m m e d _ c o n s t . c o n s t _ v a l u e ) ,   1 9 ,   1 8 ) ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( d i r e c t _ l o w e r _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 
 	 	 c a l l   c o b o l _ m a k e _ r e g _ t o k e n   ( r e g i s t e r _ t o k e n _ p t r ,   r e g i s t e r _ s t r u c . r e g _ n o ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   t o   b e   l o a d e d   i s   a n   i m m e d i a t e   c o n s t a n t .     * / 
 
 e x i t _ l o a d _ r e g i s t e r : 
 	 r e t u r n ; 
 
           e n d   l o a d _ r e g i s t e r ; 
 
 
 
 
 / * { * / 
 o p _ t o _ r e g i s t e r : 
           p r o c   ( o p e r a n d _ t o k e n _ p t r ,   r e g i s t e r _ c o d e ,   o p _ c o d e ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   a d d   a n   o p e r a n d   t o   o r   s u b t r a c t 
 a n   o p e r a n d   f r o m   a   r e g i s t e r .   ( A   o r   Q )     T h e   o p e r a n d   c a n   b e   a   l o n g 
 b i n a r y   c o b o l   d a t a   i t e m ,   o r   a n   i m m e d i a t e   c o n s t a n t . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R a M E T E R S     * / 
 
 d c l 	 o p e r a n d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e g i s t e r _ c o d e 	 b i t   ( 4 ) ; 
 d c l 	 o p _ c o d e 	 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 o p e r a n d _ t o k e n _ p t r 	 P o i n t e r   t o   a   t o k e n   t h a t   d e s c r i b e s   t h e 
 o p e r a n d   t o   b e   a d d e d   t o   o r   s u b t r a c t e d   f r o m   a   r e g i s t e r .     ( i n p u t ) 
 r e g i s t e r _ c o d e 	 A   c o d e   t h a t   i d e n t i f i e s   t h e   r e g i s t e r   t o   w h i c h 
 	 	 t h e   o p e r a t i o n   i s   t o   b e   p e r f o r m e d .   ( i n p u t ) 
 	 	 T h i s   c o d e   i s   d e f i n e d   b e l o w : 
 
 	 	     c o d e   v a l u e 	 |     r e g i s t e r 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	           " 0 0 0 1 " b 	 |       A   r e g i s t e r 
 	 	           " 0 0 1 0 " b 	 |           Q   r e g i s t e r 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 o p _ c o d e 	 	 A   c o d e   t h a t   s p e c i f i e s   t h e   o p e r a t i o n   t o 
 	 	 b e   p e r f o r m e d .     ( i n p u t ) 
 
 	 	       c o d e 	 	 |       o p e r a t i o n 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	           1 	 	 |           a d d i t i o n 
 	 	           2 	 	 |           s u b t r a c t i o n 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 * / 
 
 / * } * / 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 * / 
 / * 	 I N T E R N A L   P R O C E D U R E : 	 	 	 * / 
 / * 	           o p _ t o _ r e g i s t e r 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ o p _ t o _ r e g i s t e r : 
 	 i f   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ i m m e d _ c o n s t 
 	 t h e n   d o ; 	 	 	 	 	 / *     O p e r a n d   i s   a n   i m m e d i a t e   c o n s t a n t     * / 
 
 	 	 i f   o p _ c o d e   =   1 
 	 	 t h e n   d o ; 	 	 	 	 / *     O p e r a t i o n   i s   A D D     * / 
 
 	 	 	 i f   r e g i s t e r _ c o d e   =   " 0 0 0 1 " b 
 	 	 	 t h e n   s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 9 ,   1 0 )   =   A D A ; 
 	 	 	 e l s e   s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 9 ,   1 0 )   =   A D Q ; 
 
 	 	           e n d ; 	 	 	 	 / *     O p e r a t i o n   i s   A D D     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     O p e r a t i o n   i s   S U B T R A C T     * / 
 
 
 	 	 	 i f   r e g i s t e r _ c o d e   =   " 0 0 0 1 " b 
 	 	 	 t h e n   s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 9 ,   1 0 )   =   S B A ; 
 	 	 	 e l s e   s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 9 ,   1 0 )   =   S B Q ; 
 
 	 	           e n d ; 	 	 	 	 / *     O p e r a t i o n   i s   S U B T R A C T     * / 
 
 	 	 s u b s t r   ( d i r e c t _ l o w e r _ i n s t ,   1 ,   1 8 )   = 
 	 	           s u b s t r   ( u n s p e c   ( o p e r a n d _ t o k e n _ p t r   - >   i m m e d _ c o n s t . c o n s t _ v a l u e ) ,   1 9 ,   1 8 ) ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( d i r e c t _ l o w e r _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   i s   a n   i m m e d i a t e   c o n s t a n t .     * / 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     O p e r a n d   i s   a   l o n g   b i n a r y   d a t a   i t e m .     * / 
 	 	 	 	 	 	 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   l o n g   b i n a r y .     * / 
 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   o p e r a n d _ t o k e n _ p t r ; 
 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 	 i f   o p _ c o d e   =   1 
 	 	 t h e n   d o ; 	 	 	 	 / *     O p e r a t i o n   i s   A D D     * / 
 
 	 	 	 i f   r e g i s t e r _ c o d e   =   " 0 0 0 1 " b 
 	 	 	 t h e n   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   A D A ; 
 	 	 	 e l s e   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   A D Q ; 
 
 	 	           e n d ; 	 	 	 	 / *     O p e r a t i o n   i s   A D D     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     O p e r a t i o n   i s   s u b t r a c t     * / 
 
 	 	 	 i f   r e g i s t e r _ c o d e   =   " 0 0 0 1 " b 
 	 	 	 t h e n   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   S B A ; 
 	 	 	 e l s e   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   S B Q ; 
 
 	 	           e n d ; 	 	 	 	 / *     O p e r a t i o n   i s   S U B T R A C T     * / 
 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   i s   a   l o n g   b i n a r y   d a t a   i t e m .     * / 
 
 e x i t _ o p _ t o _ r e g i s t e r : 
 	 r e t u r n ; 
 
           e n d   o p _ t o _ r e g i s t e r ; 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 2 2 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D 2 _ B I N A R Y _ L O N G " ) ; / * * / 
 
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 2 ; 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 2 ; 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 0 ; 
 
           e n d   c o b o l _ a d d 2 _ b i n a r y _ l o n g ; 
        
 
 
  
 	 	         c o b o l _ a d d 2 _ b i n a r y _ s h o r t . p l 1           0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 4 . 9             1 5 8 6 6 1     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d 2 _ b i n a r y _ s h o r t . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 8 / 3 1 / 8 3   b y   F C H ,   [ 5 . 2 . . . ] ,     t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   0 1 / 1 7 / 7 7   b y   O R N   t o   c a l l   c o b o l _ m a k e _ r e g _ t o k e n   i n s t e a d   o f   c o b o l _ m a k e _ r e g i s t e r _ t o k e n   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a d d 2 _ b i n a r y _ s h o r t : 
           p r o c   ( l o p _ t o k e n _ p t r ,   r o p _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r ,   o p e r a t i o n _ c o d e ) ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   a d d   o r   s u b t r a c t   t w o   s h o r t 
 b i n a r y   o p e r a n d s   u s i n g   i n d e x   r e g i s t e r   i n s t r u c t i o n s .     T h e   o p e r a n d s 
 c a n   b e   s h o r t   b i n a r y   d a t a   i t e m s   o r   c o n s t a n t s . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 l o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e s u l t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 o p e r a t i o n _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 l o p _ t o k e n _ p t r 	 P o i n t e r   t o   t h e   t o k e n   t h a t   d e s c r i b e s   t h e   l e f t 
 	 	 o p e r a n d   ( a u g e n d   o r   m i n u e n d )   o f   t h e 
 	 	 o p e r a t i o n   t o   b e   p e r f o r m e d .     ( i n p u t ) 
 r o p _ t o k e n _ p t r   	 P o i n t e r   t o   t h e   t o k e n   t h a t   d e s c r i b e s   t h e 
 	 	 r i g h t   o p e r a n d   ( a d d e n d   o r   s u b t r a h e n d )   o f   t h e 
 	 	 o p e r a t i o n   t o   b e   p e r f o r m e d .     ( i n p u t ) 
 r e s u l t _ t o k e n _ p t r   	 P o i n t e r   t o   a   r e g i s t e r   t o k e n   ( t y p e   1 0 0 ) 
 	 	 t h a t   d e s c r i b e s   t h e   r e g i s e t r   t h a t   c o n t a i n s 
 	 	 t h e   r e s u l t   ( s u m   o r   d i f f e r e n c e )   o f   t h e 
 	 	 o p e r a t i o n .     I f   t h i s   p o i n t e r   i s   n u l l ( )   o n   e n t r y , 
 	 	 t h e n   a   b u f f e r   i n   w h i c h   t h i s   t o k e n   i s   c r e a d e d 
 	 	 i s   s u p p l i e d   b y   t h i s   p r o c e d u r e .     O t h e r w i s e 
 	 	 i t   m u s t   p o i n t   t o   a   w o r k   b u f f e r   i n   w h i c h 
 	 	 t h e   t o k e n   i s   t o   b e   b u i l t . 
 o p e r a t i o n _ c o d e 	 a   c o d e   t h a t   i n d i c a t e s   t h e   t y p e   o f   a r i t h m e t i c 
 	 	 o p e r a t i o n   t o   b e   p e r f o r m e d .     ( i n p u t )     T h e 
 	 	 c o d e   i s   d e f i n e d   i n   t h e   f o l l o w i n g   t a b l e : 
 
 	 	       o p e r a t i o n _ c o d e 	 |       m e a n i n g 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	             1 	 	 |             a d d i t i o n 
 	 	             2 	 	 |       s u b t r a c t i o n 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ r e l e a s e 
 	 	 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ r e g _ t o k e n 
 	 	 	 e x t   e n t r y   ( p t r ,   b i t   ( 4 ) ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ s h o r t _ b i n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ b i n _ c o n s t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ s t o r e _ b i n a r y 	 e x t   e n t r y   ( p t r ,   p t r ,   b i t   ( 1 ) ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 d c l 	 L X L 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 1 0 1 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     7 2 0 ( 0 )     * / 
 d c l 	 L D X 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     2 2 0 ( 0 )     * / 
 d c l 	 S T X 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 1 1 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     7 4 0 ( 0 )     * / 
 d c l 	 A D X 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 1 1 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     0 6 0 ( 0 )     * / 
 d c l 	 S B X 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 1 1 1 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     1 6 0 ( 0 )     * / 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 1   i n p u t _ b u f f 	 a l i g n e d , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   p t r ; 
 
 d c l 	 1   i n s t _ b u f f 	 a l i g n e d , 
 	     2   b u f f 	 	 ( 1 : 2 )   f i x e d   b i n ; 
 
 d c l 	 1   r e l o c _ b u f f 	 a l i g n e d , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   b i t   ( 5 )   a l i g n e d ; 
 
 d c l 	 t e m p _ l o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 t e m p _ r o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n   ( 2 4 ) ; 
 d c l 	 t e m p _ o p 	 	 b i t   ( 1 0 ) ; 
 d c l 	 t e m p _ p t r 	 	 p t r ; 
 d c l 	 c a l l _ a g a i n 	 b i t   ( 1 ) ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 d c l 	 1   r e g i s t e r _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   t o k _ p t r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 	 	 	 	 	 	 / *     G e t   a n   i n d e x   r e g i s t e r   t o   b e   u s e d   i n   t h e   c o m p u t a t i o n ,   a n d   l o c k   i t .     * / 
 	 r e g i s t e r _ s t r u c . w h a t _ r e g   =   5 ; 	 	 	 / *     a n y   i n d e x   r e g i s t e r     * / 
 	 r e g i s t e r _ s t r u c . l o c k   =   1 ; 
 	 r e g i s t e r _ s t r u c . c o n t a i n s   =   0 ; 
 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 
 / *     S e t   u p   t o   c a l l   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 	 i n p u t _ p t r   =   a d d r   ( i n p u t _ b u f f ) ; 
 	 i n s t _ p t r   =   a d d r   ( i n s t _ b u f f ) ; 
 	 r e l o c _ p t r   =   a d d r   ( r e l o c _ b u f f ) ; 
 
 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 / *     C h e c k   t o   s e e   i f   e i t h e r   o p e r a n d   i s   a   c o n s t a n t   t o k e n   ( t y p e   2 ) ,   a n d 
 	 i f   s o ,   c o n v e r t   t o   a n   i m m e d i a t e   c o n s t a n t   t o k e n .     * / 
 
 	 i f   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   i s   n u m e r i c   l i t e r a l .     * / 
 	 	 t e m p _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( l o p _ t o k e n _ p t r ,   t e m p _ p t r ,   1 ) ; 
 	 	 l o p _ t o k e n _ p t r   =   t e m p _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   i s   a   n u m e r i c   l i t e r a l     * / 
 
 	 i f   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   i s   a   n u m e r i c   l i t e r a l .     * / 
 	 	 t e m p _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( r o p _ t o k e n _ p t r ,   t e m p _ p t r ,   1 ) ; 
 	 	 r o p _ t o k e n _ p t r   =   t e m p _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   i s   a   n u m e r i c   l i t e r a l     * / 
 
 	 i f   ( o p e r a t i o n _ c o d e   =   2   / *     s u b t r a c t     * /   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     S u b t r a c t i o n ,   a n d   s u b t r a h e n d   i s   a   d a t a   n a m e     * / 
 
 	 	 i f   m o d   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   =   0 
 	 	 t h e n   d o ; 	 	 	 	 / *     S u b t r a h e n d   i s   w o r d   a l i g n e d     * / 
 	 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	 	 t e m p _ r o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     S u b t r a h e n d   i s   w o r d   a l i g n e d     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     S u b t r a h e n d   i s   h a l f - w o r d   a l i g n e d .     * / 
 	 	 	 	 	 	 / *     W o r d   a l i g n   t h e   s u b t r a h e n d     * / 
 	 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 	 c a l l   w o r d _ a l i g n _ s h o r t   ( r o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ) ; 
 	 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     S u b t r a h e n d   i s   h a l f - w o r d   a l i g n e d     * / 
 	           e n d ; 	 	 	 	 	 / *     S u b t r a c t i o n ,   a n d   s u b t r a h e n d   i s   a   d a t a   n a m e .     * / 
 
 
 	 e l s e   i f   ( o p e r a t i o n _ c o d e   =   2   / *     S u b t r a c t     * /   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r ) 
 	           / *     S u b t r a c t ,   s u b t r a h e n d   i s   i n   a   r e g i s t e r     * / 
 	           |   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r   &   r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r ) 
 	 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   i n   r e g i s t e r s     * / 
 	 t h e n   d o ; 	 	 	 	 	 / *     S t o r e   t h e   r i g h t   o p e r a n d   i n t o   a   s h o r t   b i n a r y   t e   p o r a r y .     * / 
 	 	 	 	 	 	 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k ,   a n d   b u i l d   a   d a t a   n a m e   t o k e n   f o r   i t .     * / 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 2 ,   0 ,   r e t _ o f f s e t ) ; 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ s h o r t _ b i n   ( t e m p _ r o p _ t o k e n _ p t r ,   1 0 0 0   / * s t a c k * / ,   r e t _ o f f s e t ) ; 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   s t o r e   t h e   r e g i s t e r   i n t o   t h e   t e m p o r a r y .     * / 
 	 	 c a l l   c o b o l _ s t o r e _ b i n a r y   ( r o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ,   c a l l _ a g a i n ) ; 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     S t o r e   t h e   r i g h t   o p e r a n d   i n t o   a   s h o r t   b i n a r y   t e m p o r a r y .     * / 
 
 
 	 e l s e   i f   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r   |   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     O n l y   o n e   o p e r a n d   i s   i n   a   r e g i s t e r .     * / 
 	 	 	 	 	 	 / *     M a k e   t h e     l e f t   o p e r a n d   t h e   r e g i s t e r   t o k e n .     * / 
 	 	 i f   l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r 
 	 	 t h e n   d o ; 	 	 	 	 / *     L e f t   o p e r a n d   p o i n t e r   a l r e a d y   p o i n t s   t o   t h e   r e g i s t e r   t o k e n .     * / 
 	 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	 	 t e m p _ r o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     L e f t   o p e r a n d   p o i n t e r   a l r e a d y   p o i n t s   t o   t h e   r e g i s t e r   t o k e n .     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     M u s t   s w i t c h   t h e   o p e r a n d   p o i n t e r s .     * / 
 	 	 	 t e m p _ l o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	 	 	 t e m p _ r o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     M u s t   s w i t c h   t h e   o p e r a n d   p o i n t e r s .     * / 
 
 
 
 	 	 i f   t e m p _ r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 	 t h e n   i f   m o d   ( t e m p _ r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   ^ =   0 
 	 	           t h e n   d o ; 	 	 	 / *     R i g h t   o p e r a n d   n o t   w o r d   a l i g n e d .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   w o r d   a l i g n   t h e   r i g h t   o p e r a n d .     * / 
 	 	 	           t e m p _ p t r   =   t e m p _ r o p _ t o k e n _ p t r ; 
 	 	 	           t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 	           c a l l   w o r d _ a l i g n _ s h o r t   ( t e m p _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ) ; 
 	 	 	 e n d ; 	 	 	 / *     R i g h t   o p e r a n d   n o t   w o r d   a l i g n e d .     * / 
 
 	           e n d ; 	 	 	 	 	 / *     O n l y   o n e   o p e r a n d   i s   i n   a   r e g i s t e r .     * / 
 
 	 e l s e   i f   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ i m m e d _ c o n s t   / *     L e f t   o p e r a n d   a   c o n s t a n t     * / 
 	           |   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   m o d   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   =   0 ) ) 
 	           / *     L e f t   a   w o r d   a l i g n e d   d a t a   n a m e     * / 
 	           &   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   m o d   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   ^ =   0 ) 
 	 	 	 	 	 	 / *     R i g h t   i s   h a l f - w o r d   a l i g n e d     * / 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   c o n s t a n t   o r   w o r d   a l i g n e d ,   r i g h t   o p e r a n d   h a l f - w o r d   a l i g n e d .     * / 
 	 	 	 	 	 	 / *     S w i t c h   t h e   o p e r a n d s ,   s o   t h a t   h a l f - w o r d   a l i g n e d   w i l l   b e   l o a d e d   i n t o   t h e   i n d e x   r e g i s t e r     * / 
 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   c o n s t a n t   o r   w o r d   a l i g n e d ,   r i g h t   o p e r a n d   h a l f - w o r d   a l i g n e d .     * / 
 
 	 e l s e   i f   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   m o d   ( l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   ^ =   0 ) 
 	           &   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   m o d   ( r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   ^ =   0 ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   d a t a   n a m e s ,   a n d   b o t h   a r e   h a l f - w o r d   a l i g n e d .     * / 
 	 	 	 	 	 	 / *     W o r d   a l i g n   t h e   r i g h t   o p e r a n d     * / 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   w o r d _ a l i g n _ s h o r t   ( r o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ) ; 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   d a t a   n a m e s ,   a n d   b o t h   a r e   h a l f - w o r d   a l i g n e d .     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     N o n e   o f   t h e   a b o v e   s p e c i a l   c a s e s     * / 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   l o p _ t o k e n _ p t r ; 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   r o p _ t o k e n _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     N o n e   o f   t h e   a b o v e   s p e c i a l   c a s e s .     * / 
 
 
 / *     G e n e r a t e   c o d e   t o   l o a d   t h e   i n d e x ,   a n d   a d d   o r   s u b t r a c t   t o   i t .     * / 
 
 
 
 	 i f   t e m p _ l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   i s   a l r e a d y   i n   a   r e g i s t e r .     * / 
 	 	 	 	 	 	 / *     R e l e a s e   t h e   r e g i s t e r   o b t a i n e d   e a r l i e r   .     * / 
 	 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 	 	 	 	 	 	 / *     S e t   t h e   r e g i s t e r   n u m b e r   o f   t h e   l e f t   o p e r a n d   i n t o   t h e   r e g i s t e r   s t r u c t u r e .     * / 
 	 	 r e g i s t e r _ s t r u c . r e g _ n o   =   t e m p _ l o p _ t o k e n _ p t r   - >   c o b o l _ t y p e 1 0 0 . r e g i s t e r ; 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   i s   a l r e a d y   i n   a   r e g i s t e r .     * / 
 
 	 e l s e   c a l l   l o a d _ i n d e x   ( t e m p _ l o p _ t o k e n _ p t r ,   r e g i s t e r _ s t r u c . r e g _ n o ) ; 
 	 c a l l   o p _ t o _ i n d e x   ( t e m p _ r o p _ t o k e n _ p t r ,   r e g i s t e r _ s t r u c . r e g _ n o ,   o p e r a t i o n _ c o d e ) ; 
 
 / *     M a k e   a   r e g i s t e r   t o k e n   f o r   t h e   r e g i s t e r   c o n t a i n i n g   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n     * / 
 	 c a l l   c o b o l _ m a k e _ r e g _ t o k e n   ( r e s u l t _ t o k e n _ p t r ,   r e g i s t e r _ s t r u c . r e g _ n o ) ; 
 
 	 / * * * . . . . .   i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 w o r d _ a l i g n _ s h o r t : 
           p r o c   ( u n a l i g n e d _ t o k _ p t r ,   a l i g n e d _ t o k _ p t r ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   w o r d   a l i g n   a   s h o r t   b i n a r y   c o b o l 
 d a t a   i t e m . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 u n a l i g n e d _ t o k _ p t r 	 p t r ; 
 d c l 	 a l i g n e d _ t o k _ p t r 	 p t r ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 u n a l i g n e d _ t o k _ p t r 	 P o i n t e r   t o   t h e   d a t a   n a m e   t o k e n   f o r   t h e 
 	 	 h a l f - w o r d   a l i g n e d   s h o r t   b i n a r y   d a t a   i t e m . 
 	 	 ( i n p u t ) 
 a l i g n e d _ t o k _ p t r 	 P o i n t e r   t o   a   d a t a   n a m e   t o k e n   t h a t   d e s c r i b e s 
 	 	 t h e   w o r d   a l i g n e d   f i x e d   b i n a r y   d a t a   i t e m . 
 	 	 I f   t h i s   p o i n t e r   i s   n u l l ( )   o n   e n t r y ,   t h e n   a 
 	 	 t o k e n   w i l l   b e   c r e a t e d   i n   c o m p i l e r   s p a c e , 
 	 	 o t h e r w i s e ,   i t   m u s t   p o i n t   t o   s o m e   w o r k   s p a c e 
 	 	 i n   w h i c h   t h e   t o k e n   i s   t o   b e   b u i l t . 
 
 * / 
 
 
 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k   t o   r e c e i v e   t h e   w o r d   a l i g n e d   s h o r t   b i n a r y .     * / 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 2 ,   0 ,   r e t _ o f f s e t ) ; 
 
 / *     M a k e   a   d a t a   n a m e   t o k e n   f o r   t h e   t e m p o r a r y   s p a c e .     * / 
 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ s h o r t _ b i n   ( a l i g n e d _ t o k _ p t r ,   1 0 0 0 ,   r e t _ o f f s e t ) ; 
 
 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   o r i g i n a l   o p e r a n d .     * / 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   u n a l i g n e d _ t o k _ p t r ; 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 t e m p _ o p   =   L X L ; 
 	 s u b s t r   ( t e m p _ o p ,   7 ,   3 )   =   s u b s t r   ( r e g i s t e r _ s t r u c . r e g _ n o ,   2 ,   3 ) ; 
 
 / *     E m i t   t h e   c o d e   t o   l o a d   t h e   s u b t r a h e n d   i n t o   t h e   i n d e x   r e g i s t e r .     * / 
 	 i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   t e m p _ o p ; 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   t e m p o r a r y     * / 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   a l i g n e d _ t o k _ p t r ; 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 t e m p _ o p   =   S T X ; 
 	 s u b s t r   ( t e m p _ o p ,   7 ,   3 )   =   s u b s t r   ( r e g i s t e r _ s t r u c . r e g _ n o ,   2 ,   3 ) ; 
 
 / *     E m i t   c o d e   t o   s t o r e   t h e   h a l f - w o r d   a l i g n e d   i n t o   t h e   w o r d   a l i g n e d   t e m p o r a r y .     * / 
 	 i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   t e m p _ o p ; 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
           e n d   w o r d _ a l i g n _ s h o r t ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 l o a d _ i n d e x : 
           p r o c   ( o p _ t o k e n _ p t r ,   i n d e x _ r e g _ n o ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   l o a d   a n   i n d e x   r e g i s t e r   w i t h 
 a   v a l u e   t o   b e   u s e d   i n   a   c o m p u t a t i o n   u s i n g   t h e   r e g i s t e r .     T h e   v a l u e 
 l o a d e d   i n t o   t h e   i n d e x   m a y   b e   e i t h e r   a   s h o r t   b i n a r y   d a t a   i t e m ,   o r 
 a   c o n s t a n t . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 i n d e x _ r e g _ n o 	 b i t   ( 4 ) ; 
 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 o p _ t o k e n _ p t r 	 P o i n t e r   t o   a   t o k e n   t h a t   d e s c r i b e s   t h e   v a l u e 
 	 	 t o   b e   l o a d e d   i n t o   t h e   i n d e x     r e g i s t e r .     T h i s 
 	 	 m a y   b e   e i t h e r   a   d a t a   n a m e   ( t y p e   9 )   t o k e n 
 	 	 o r   a n   i m m e d i a t e   c o n s t a n t   ( t y p e   1 0 2 )   t o k e n 
 	 	 ( i n p u t ) 
 i n d e x _ r e g _ n o 	 A   c o d e   t h a t   i n d i c a t e s   t h e   i n d e x   r e g i s t e r 
 	 	 t o   b e   l o a d e d .   ( i n p u t )     T h e   f o r m a t   o f   t h i s 
 	 	 c o d e   i s : 
 	 	           " 1 n n n " b 
 	 	 w h e r e   n n n   i s   t h e   i n d e x   r e g i s t e r   n u m b e r   ( 1 - 7 ) 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 l d x _ d u _ i n s t 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ) ; 
 	 	 	 	 	 	 / *     L D X n   0 , d u     * / 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   D A T A     * / 
 
 d c l 	 w o r k _ o p c o d e 	 b i t   ( 1 0 ) ; 
 
 	 i f   o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     D a t a   n a m e   i s   t o   b e   l o a d e d   i n t o   t h e   i n d e x   r e g i s t e r     * / 
 
 	 	 i f   m o d   ( o p _ t o k e n _ p t r   - >   d a t a _ n a m e . o f f s e t ,   4 )   ^ =   0 
 	 	 t h e n   w o r k _ o p c o d e   =   L X L ; 	 	 / *     D a t a   n a m e   i s   h a l f - w o r d   a l i g n e d .     * / 
 	 	 e l s e   w o r k _ o p c o d e   =   L D X ; 	 	 / *     D a t a   n a m e   i s   w o r d   a l i g n e d .     * / 
 	 	 	 	 	 	 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   o p e r a n d     * / 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   o p _ t o k e n _ p t r ; 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 	 s u b s t r   ( w o r k _ o p c o d e ,   7 ,   3 )   =   s u b s t r   ( i n d e x _ r e g _ n o ,   2 ,   3 ) ; 
 	 	 i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   w o r k _ o p c o d e ; 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 	           e n d ; 	 	 	 	 	 / *     D a t a   n a m e   i s     t o   b e   l o a d e d   i n t o   t h e   i n d e x   r e g i s t e r     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     C o n s t a n t   i s   t o   b e   l o a d e d   i n t o   t h e   i n d e x   r e g i s t e r     * / 
 	 	 s u b s t r   ( l d x _ d u _ i n s t ,   2 5 ,   3 )   =   s u b s t r   ( i n d e x _ r e g _ n o ,   2 ,   3 ) ; 
 	 	 s u b s t r   ( l d x _ d u _ i n s t ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( o p _ t o k e n _ p t r   - >   i m m e d _ c o n s t . c o n s t _ v a l u e ) ,   1 9 ,   1 8 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( l d x _ d u _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     C o n s t a n t   i s   t o   b e   l o a d e d   i n t o   t h e   i n d e x   r e g i s t e r     * / 
 
           e n d   l o a d _ i n d e x ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 o p _ t o _ i n d e x : 
           p r o c   ( o p _ t o k e n _ p t r ,   i n d e x _ r e g _ n o ,   o p e r a t i o n _ c o d e ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   a d d   a   v a l u e   t o   o r   s u b t r a c t   a 
 v a l u e   f r o m   a n   i n d e x     r e g i s t e r . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 i n d e x _ r e g _ n o 	 b i t   ( 4 ) ; 
 d c l 	 o p e r a t i o n _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 o p _ t o k e n _ p t r 	 P o i n t e r   t o   t h e   t o k e n   t h a t   d e s c r i b e s   t h e 
 	 	 v a l u e   t o   b e   a d d e d   t o   o r   s u b t r a c t e d 
 	 	 f r o m   t h e   i n d e x   r e g i s t e r .     T h i s   t o k e n   c a n 
 	 	 d e s c r i b e   e i t h e r   a   w o r d   a l i g n e d   s h o r t   b i n a r y 
 	 	 o r   a n   i m m e d i a t e   c o n s t a n t .     ( i n p u t ) 
 i n d e x _ r e g _ n o 	 A   c o d e   t h a t   i n d i c a t e s   t h e   i n d e x   r e g i s t e r   t o 
 	 	 w h i c h   t h e   o p e r a t i o n   i s   t o   b e   p e r f o r m e d . 
 	 	 ( i n p u t )     T h e   f o r m a t   o f   t h i s   c o d e   i s : 
 	 	             " 1 n n n " b 
 	 	 w h e r e   n n n   i s   t h e   i n d e x   r e g i s t e r   n u m b e r .   ( 1 - 7 ) 
 o p e r a t i o n _ c o d e 	 A   c o d e   t h a t   s p e c i f i e s   t h e   o p e r a t i o n   t o   b e 
 	 	 p e r f o r m e d   ( i n p u t )     T h i s   c o d e   i s : 
 	 	       v a l u e 	 	 |       o p e r a t i o n 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	           1 	 	 |       a d d i t i o n 
 	 	           2 	 	 |       s u b t r a c t i o n 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 * / 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 o p _ d u _ i n s t 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ) ; 
 	 	 	 	 	 	 / *     z e r o , d u     * / 
 
 
 	 i f   o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     O p e r a n d   i s   a   d a t a   n a m e .     * / 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   o p _ t o k e n _ p t r ; 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 	 i f   o p e r a t i o n _ c o d e   =   1 
 	 	 t h e n   i n s t _ p t r   - >   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   A D X ; 
 	 	 e l s e   i n s t _ p t r   - >   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   S B X ; 
 	 	 s u b s t r   ( i n s t _ p t r   - >   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p ,   7 ,   3 )   =   s u b s t r   ( i n d e x _ r e g _ n o ,   2 ,   3 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   i s   a   d a t a   n a m e     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     O p e r a n d   i s   a n   i m m e d i a t e   c o n s t a n t     * / 
 	 	 s u b s t r   ( o p _ d u _ i n s t ,   2 5 ,   3 )   =   s u b s t r   ( i n d e x _ r e g _ n o ,   2 ,   3 ) ; 
 	 	 s u b s t r   ( o p _ d u _ i n s t ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( o p _ t o k e n _ p t r   - >   i m m e d _ c o n s t . c o n s t _ v a l u e ) ,   1 9 ,   1 8 ) ; 
 	 	 i f   o p e r a t i o n _ c o d e   =   1 
 	 	 t h e n   s u b s t r   ( o p _ d u _ i n s t ,   1 9 ,   6 )   =   A D X ; 
 	 	 e l s e   s u b s t r   ( o p _ d u _ i n s t ,   1 9 ,   6 )   =   S B X ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( o p _ d u _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   i s   a n   i m m e d i a t e   c o n s t a n t .     * / 
 
           e n d   o p _ t o _ i n d e x ; 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 2 3 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D 2 _ B I N A R Y _ S H O R T " ) ; / * * / 
 
 / *     I N C L U D E   F I L E S   U S E D   I N   T H I S   P R O C E D U R E     * / 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 2 ; 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 0 ; 
 
           e n d   c o b o l _ a d d 2 _ b i n a r y _ s h o r t ; 
        
 
 
  
 	 	         c o b o l _ a d d 3 . p l 1                                     0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4               5 7 0 3 3     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d 3 . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 % ; 
 / *   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
       *                                                                                                         * 
       *                                                                                                         * 
       *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f       * 
       *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .   * 
       *                                                                                                         * 
       *                                                                                                         * 
       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 9 / 2 2 / 8 3     b y   F C H ,   [ 5 . 2 . . . ] ,   t r a c e   a d d e d   * / 
 
 c o b o l _ a d d 3 : 
           p r o c   ( o p e r a n d 1 _ p t r ,   o p e r a n d 2 _ p t r ,   r e s u l t _ p t r ,   o p c o d e _ c o d e ) ; 
 
 	 / * * * . . . . .   i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   t h e   f o l l o w i n g   t y p e s   o f   C o b o l   c o n s t r u c t s : 
 
 	 1 .   A D D   A   B   G I V I N G   C . 
 	 2 .   S U B T R A C T   A   F R O M   B   G I V I N G   C . 
 
 T h i s   p r o c e d u r e   m a k e s   o n e   i m p o r t a n t   a s s u m p t i o n   a b o u t   t h e   
 i n p u t   o p e r a n d s :     T h e   o p e r a n d s   t o   b e   a d d e d   ( o r   s u b t r a c t e d )   a r e 
 b o t h   r e p r e s e n t e d   b y   d a t a   n a m e   ( t y p e   9 )   t o k e n s .     T h a t   i s ,   a n y 
 c o n v e r s i o n   o f   t h e   o p e r a n d s   f r o m   n u m e r i c   l i t e r a l   o r   f i g u r a t i v e 
 c o n s t a n t   h a s   a l r e a d y   b e e n   d o n e   b e f o r e   t h i s   p r o c e d u r e   i s   c a l l e d . 
 
 * / 
 
 / *   N o t e   t h a t   i f   t h e   " r o u n d e d "   b i t   i s   o n   i n   t h e   t o k e n   p o i n t e d   a t   
 b y   r e s u l t _ p t r ,   t h e n   t h e   c o d e   g e n e r a t e d   w i l l   p e r f o r m 
 a d d i t i o n / s u b t r a c t i o n   w i t h   r o u n d i n g .     * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 o p e r a n d 1 _ p t r 	 p t r ; 
 d c l 	 o p e r a n d 2 _ p t r 	 p t r ; 
 d c l 	 r e s u l t _ p t r 	 p t r ; 
 d c l 	 o p c o d e _ c o d e 	 f i x e d   b i n   ( 3 5 ) ; 
 
 / * 
 o p e r a n d 1 _ p t r 	 P o i n t s   t o   t h e   t o k e n   f o r   t h e   a d d e n d   o r 
 	 	 m i n u e n d ,   d e p e n d i n g   o n   w h e t h e r   c o d e   i s   t o 
 	 	 b e   g e n e r a t e d   f o r   a d d i t i o n   o r   s u b t r a c t i o n , 
 	 	 r e s p e c t i v e l y .   ( i n p u t ) 
 o p e r a n d 2 _ p t r 	 P o i n t s   t o   t h e   t o k e n   f o r   t h e   a u g e n d   o r 
 	 	 s u b t r a h e n d ,   d e p e n d i n g   o n   w h e t h e r   c o d e   i s   t o   b e 
 	 	 g e n e r a t e d   f o r   a d d i t i o n   o r   s u b t r a c t i o n , 
 	 	 r e s p e c t i v e l y .     ( i n p u t ) 
 r e s u l t _ p t r 	 P o i n t s   t o   t h e   t o k e n   t o   r e c e i v e   t h e   s u m 
 	 	 o r   d i f f e n e n c e ,   d e p e n d i n g   o n   w h e t h e r   c o d e   i t   t o 
 	 	 b e   g e n e r a t e d   f o r   a d d i t i o n   o r   s u b t r a c t i o n , 
 	 	 r e s p e c t i v e l y .     ( i n p u t ) 
 o p c o d e _ c o d e 	 A   c o d e   t h a t   i n d i c a t e s   w h e t h e r   c o d e   i s   t o   b e   g e n e r a t e d 
 	 	 f o r   a n   a d d i t i o n   o r   s u b t r a c t i o n .     ( i n p u t ) 
 
 	 	 	 o p c o d e _ c o d e 	 |   m e a n i n g 
 	 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 	 	 1 	 |   a d d i t i o n 
 	 	 	 	 2 	 |   s u b t r a c t i o n 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   i n t e r n a l   s t a t i c   v a r i a b l e s   t h a t   c o n t a i n 
 	 A d D 3   a n d   S U B T R A C T 3   o p c o d e s     * / 
 
 d c l 	 a d d 3 _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 0 0 1 0 1 " b   / * 2 2 2 ( 1 ) * / ) ; 
 d c l 	 s u b t r a c t 3 _ o p 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 0 0 1 1 1 " b   / * 2 3 3 ( 1 ) * / ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   b u f f e r s   u s e d   b y   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 / *     R e l o c a t i o n   i n f o   b u f f e r     * / 
 d c l 	 r e l o c _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 / *     i n s t r u c t i o n / d e s c r i p t o r   b u f f e r     * / 
 d c l 	 a d d r _ i n s t _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 / *     a d d r e s s a b i l i t y   i n p u t   b u f f e r     * / 
 d c l 	 a d d r _ i n p u t _ b u f f e r 	 ( 1 : 3 0 )   f i x e d   b i n ; 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ a d d 3 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 / *     P o i n t   p o i n t e r s   a t   t h e   b u f f e r s   u s e d   t o   e s t a b l i s h   a d d r e s s a b i l i t y     * / 
 
 	 r e l o c _ p t r   =   a d d r   ( r e l o c _ b u f f e r   ( 1 ) ) ; 
 	 i n p u t _ p t r   =   a d d r   ( a d d r _ i n p u t _ b u f f e r   ( 1 ) ) ; 
 	 i n s t _ p t r   =   a d d r   ( a d d r _ i n s t _ b u f f e r   ( 1 ) ) ; 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   6 ; 	 	 	 / *     e i s ,   3   i n p u t   o p e r a n d s ,   i n s t r u c t i o n   w o r d   a n d   3   d e s c r i p t o r s   r e t u r n e d     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   3 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k s     * / 
 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   o p e r a n d 1 _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 1 )   =   0 ; 	 / *     s e n d i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 	 	 / *     u t i l i t y   w o r r i e s   a b o u t   s i z e     * / 
 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   o p e r a n d 2 _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 2 )   =   0 ; 	 / *     s e n d i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 2 )   =   0 ; 
 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 3 )   =   r e s u l t _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 3 )   =   1 ; 	 / *     r e c e i v i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 3 )   =   0 ; 
 
 / *     S e t   t h e   p r o p e r   o p c o d e   i n t o   t h e   e i s   i n s t r u c t i o n     * / 
 	 i f   o p c o d e _ c o d e   =   1 	 	 	 	 / *     a d d     * / 
 	 t h e n   i n s t _ s t r u c . f i l l 1 _ o p   =   a d d 3 _ o p ; 
 	 e l s e   i n s t _ s t r u c . f i l l 1 _ o p   =   s u b t r a c t 3 _ o p ; 
 
 / *     E s t a b l i s h   t h e   a d d r e s s e s     * / 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     S e t   t h e   r o u n d i n g   b i t   i n   t h e   e i s   i n s t r u c t i o n   i f   n e c e s s a r y     * / 
 	 i f   r e s u l t _ p t r   - >   d a t a _ n a m e . r o u n d e d 
 	 t h e n   i n s t _ s t r u c . z e r o 3   =   " 0 1 " b ; 	 	 / *     T R U N C A T I O N   O F F ,   R O U N D I N G   O N     * / 
 
 / *     E m i t   t h e   e i s   i n s t r u c t i o n   a n d   3   d e s c r i p t o r s     * / 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   4 ) ; 
 
 	 / * * * . . . . .   i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 	 r e t u r n ; 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 1 0 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D 3 " ) ; / * * / 
  
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
  
 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	   E N D   O F   P R O C E D D U R E 	 	 	 * / 
 / * 	 c o b o l _ a d d 3 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ a d d 3 ; 
        
 
 
  
 	 	         c o b o l _ a d d _ b i n a r y _ g e n . p l 1                 0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4             1 9 6 1 7 3     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d _ b i n a r y _ g e n . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,     [ 5 . 3 - 1 ] ,   B U G 5 6 3 ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 8 / 3 1 / 8 3   b y   F C H ,   [ 5 . 2 . . . ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   0 6 / 2 9 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   n o t   o p t i o n   a d d e d   f o r   d e b u g   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 / * { * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a d d _ b i n a r y _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ,   o p e r a t i o n _ c o d e ) ; 
 	 	 	 	 	 	 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   d o   a d d s   a n d   s u b t r a c t s   u s i n g 
 t h e   h a r d w a r e   r e g i s t e r s . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 / *     D e c l a r e d   b e l o w   i n   a n   i n c l u d e   f i l e .     * / 
 d c l 	 n e x t _ s t m t _ t a g 	 f i x e d   b i n ; 
 d c l 	 t a r g e t _ c o d e 	 f i x e d   b i n ; 
 d c l 	 s o u r c e _ c o d e 	 f i x e d   b i n ; 
 d c l 	 o p e r a t i o n _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 i n _ t o k e n _ p t r 	 P o i n t e r   t o   a   s t r u c t u r e   t h a t   c o n t a i n s   p o i n t e r s 
 	 	 a n d   d a t a   t h a t   d e s c r i b e   t h e   a d d   o r   s u b t r a c t 
 	 	 s t a t e m e n t   f o r   w h i c h   c o d e   i s   t o   b e   g e n e r a t e d . 
 	 	 ( i n p u t )     S e e   d e s c r i p t i o n   b e l o w   f o r   d e t a i l s . 
 n e x t _ s t m t _ t a g 	 A   t a g   t h a t   i s   t o   b e   d e f i n e d   a t   t h e   n e x t 
 	 	 C o b o l   s t a t e m e n t   b y   c o b o l _ g e n _ d r i v e r _ .     ( o u t p u t ) 
 	 	 S e e   b e l o w   f o r   d e t a i l s . 
 t a r g e t _ c o d e 	 A   c o d e   t h a t   i n d i c a t e s   t h e   d a t a   t y p e   o f   t h e 
 	 	 l a r g e s t   r e c e i v i n g   f i e l d   i n   t h e   s t a t e m e n t . 
 	 	 ( i n p u t )     T h i s   c o d e   i s   d e f i n e d   i n   t h e   f o l l w o i n g 
 	 	 t a b l e : 
 
 	 	       t a r g e t _ c o d e 	 |       l a r g e s t   f i e l d 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	             1 	 	 |         s h o r t   f i x e d   b i n a r y 
 	 	             2 	 	 |         l o n g   f i x e d   b i n a r y 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 s o u c e _ c o d e 	 A   c o d e   t h a t   i n d i c a t e s   t h e   d a t a   t y p e   o f   t h e 
 	 	 l a r g e s t   d a t a   i t e m   i n   t h e   e x p r e s s i o n   t o   b e 
 	 	 e v a l u a t e d .     ( i n p u t )     T h h s   c o d e   h a s   t h e 
 	 	 s a m e   v a l u e s   a n d   m e a n i n g s   a s   f o r   t a r g e t _ c o d e 
 	 	 a b o v e . 
 o p e r a t i o n _ c o d e 	 A   c o d e   t h a t   i n d i c a t e s   w h e t h e r   c o d e   i s   t o   b e 
 	 	 g e n e r a t e d   f o r   A D D   o r   S U B T R A C T .     ( i n p u t ) 
 	 	 T h i s   c o d e   i s   d e f i n e d   i n   t h e   f o l l o w i n g   t a b l e : 
 
 	 	       o p e r a t i o n _ c o d e 	 |       o p e r a t i o n 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	           1 	 	 |           A D D I T I O N 
 	 	           2 	 	 |           S U B T R A C T I O N 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 * / 
 
 / *     D E C L A R A T I O N S   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ s h o r t _ b i n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o n 	 e x t   e n t r y ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o f f   e x t   e n t r y ; 
 d c l 	 c o b o l _ m a k e _ b i n _ c o n s t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d 2 _ b i n a r y _ s h o r t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d 2 _ b i n a r y _ l o n g 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ s t o r e _ b i n a r y 	 e x t   e n t r y   ( p t r ,   p t r ,   b i t   ( 1 ) ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e x t   e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ r e l e a s e 
 	 	 	 e x t   e n t r y   ( p t r ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 S T Z 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 0 0 1 0 1 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     4 5 0 ( 0 )     * / 
 d c l 	 A O S 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 1 0 1 1 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     0 5 4 ( 0 )     * / 
 d c l 	 L D A 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 0 1 0 " b ) ; 
 	 	 	 	 	 	 / *     2 3 5 ( 0 )     * / 
 d c l 	 L D Q 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *     2 3 6 	 ( 0 )     * / 
 
 d c l 	 t o v _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 ; 	 	 	 	 	 / *     t o v   0     * / 
 
 d c l 	 t r a _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     t r a   0     * / 
 
 d c l 	 t n z _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     t n z   0     * / 
 
 
 d c l 	 1   d e c _ z e r o _ t o k e n 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 ) , 
 	     2   s u b s c r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 1   i n p u t _ b u f f , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 d c l 	 1   r e l o c _ b u f f , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   b i t   ( 5 )   a l i g n e d ; 
 
 
 
 d c l 	 1   r e g i s t e r _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   t o k _ p t r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 d c l 	 r e s u l t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 w o r k _ t o k e n _ p t r 	 p t r ; 
 d c l 	 a d d e n d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e c e i v e _ c o u n t 	 f i x e d   b i n ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n   ( 2 4 ) ; 
 d c l 	 o v f l o _ f l a g _ i n s t 	 b i t   ( 3 6 ) ; 
 d c l 	 o v f l o _ t a g 	 	 f i x e d   b i n ; 
 d c l 	 n o _ o v f l o _ t a g 	 f i x e d   b i n ; 
 d c l 	 i m p e r a t i v e _ s t m t _ t a g   f i x e d   b i n ; 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 d c l 	 t e m p _ t a r g e t _ c o d e 	 f i x e d   b i n ; 
 d c l 	 a d d _ c o d e 	 	 f i x e d   b i n ; 
 d c l 	 o s e _ f l a g 	 	 b i t   ( 1 ) ; 
 d c l 	 t l e n g t h 	 	 f i x e d   b i n ; 
 d c l 	 t e m p _ p t r 	 	 p t r ; 
 d c l 	 s k i p p e d _ s o m e 	 b i t   ( 1 ) ; 
 d c l 	 t e m p _ l o p _ t o k e n _ p t r 	 p t r ; 
 d c l 	 t e m p _ r o p _ t o k e n _ p t r 	 p t r ; 
 
 
 d c l 	 c a l l _ a g a i n 	 b i t   ( 1 ) ; 
 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ a d d _ b i n a r y _ g e n 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t : 	 	 	 	 	 	 / *     E x t r a c t   i n f o r m a t i o n   f r o m   t h e   E O S   t o k e n     * / 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 o s e _ f l a g   =   e n d _ s t m t . b ; 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     R e s e r v e   t w o   t a g s   f o r   u s e   i n   o n   s i z e   e r r o r   p r o c e s s i n g .     * / 
 	 	 i m p e r a t i v e _ s t m t _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 n e x t _ s t m t _ t a g   =   i m p e r a t i v e _ s t m t _ t a g   +   1 ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 	           e n d ; 	 	 	 	 	 / *     R e s e r v e   t w o   t a g s   f o r   u s e   i n   o n   s i z e   e r r o r   p r o c e s s i n g .     * / 
 
 	 i f   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   c a l l   f o r m a t 1 ; 	 	 	 	 / *     F o r m a t   1   a d d   o r   s u b t r a c t     * / 
 	 e l s e   c a l l   f o r m a t 2 ; 	 	 	 	 / *     F o r m a t   2   a d d   o r   s u b t r a c t .     * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 
 e x i t : 
 	 r e t u r n ; 
  
 
 f o r m a t 1 : 
           p r o c ; / * * * . . . . .   d c l   L O C A L _ N A M E   c h a r   ( 9 )   i n t   s t a t i c   i n i t   ( " :   F O R M A T 1 " ) ; / * * / 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E | | L O C A L _ N A M E ) ; / * * / 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   d o   f o r m a t   1   a d d   o r   s u b t r a c t 
 i n   t h e   h a r d w a r e   r e g i s t e r s . 
 * / 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / *   	 f o r m a t 1 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ f o r m a t 1 : 
 	 a d d e n d _ t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 2 ) ; 
 	 i f   a d d e n d _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 t h e n   d o   / *     A d d e n d   i s   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O     * / ; 
 	 	 i f   ^ o s e _ f l a g 
 	 	 t h e n   r e t u r n ; 
 	 	 a d d e n d _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( a d d e n d _ t o k e n _ p t r ,   a d d r   ( d e c _ z e r o _ t o k e n ) ) ; 
 	           e n d ; 
 
 	 r e c e i v e _ c o u n t   =   e n d _ s t m t . h ; 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 	 	 i f   r e c e i v e _ c o u n t   >   1 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u l t i p l e   a u g e n d / r e c e i v i n g   f i e l d s .     * / 
 	 	 	 	 	 	 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k   f o r   a n   o v e r f l o w   f l a g , 
 	 	 	 a n d   e m i t   c o d e   t o   i n i t i a l i z e   i t   t o   z e r o .     * / 
 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 4 ,   0 ,   r e t _ o f f s e t ) ; 
 
 	 	 	 i n p u t _ p t r   =   a d d r   ( i n p u t _ b u f f ) ; 
 	 	 	 r e l o c _ p t r   =   a d d r   ( r e l o c _ b u f f ) ; 
 	 	 	 i n s t _ p t r   =   a d d r   ( o v f l o _ f l a g _ i n s t ) ; 
 
 	 	 	 i n p u t _ s t r u c _ b a s i c . t y p e   =   1 ; 
 	 	 	 i n p u t _ s t r u c _ b a s i c . o p e r a n d _ n o   =   0 ; 
 	 	 	 i n p u t _ s t r u c _ b a s i c . l o c k   =   0 ; 
 	 	 	 i n p u t _ s t r u c _ b a s i c . s e g n o   =   1 0 0 0 ; 
 	 	 	 	 	 	 / *     s t a c k     * / 
 	 	 	 i n p u t _ s t r u c _ b a s i c . c h a r _ o f f s e t   =   r e t _ o f f s e t ; 
 
 	 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 	 	 	 i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   S T Z ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 / *     D e f i n e   s o m e   t a g s   t o   b e   u s e d   i n   t h e   o v e r f l o w   t e s t i n g     * / 
 	 	 	 o v f l o _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 n o _ o v f l o _ t a g   =   o v f l o _ t a g   +   1 ; 
 	 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 
 	 	           e n d ; 	 	 	 	 / *     M u l t i p l e   a u g e n d / r e c e i v i n g   f i e l d s .     * / 
 
 	 	 e l s e   o v f l o _ t a g   =   i m p e r a t i v e _ s t m t _ t a g ; 
 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   o n   t h e   f i x e d   o v e r f l o w   m a s k   i n   t h e   i n d i c a t o r   r e g i s t e r .     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o n ; 
 	           e n d ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 
 
 	 i f   ( a d d e n d _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   r e c e i v e _ c o u n t   >   1 ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     T h e   a d d e n d   i s   a   c o b o l   d a t a   i t e m ,   a n d   t h e r e   i s   m o r e   t h a n   o n e   r e c e i v i n g   f i e l d .     * / 
 	 	 	 	 	 	 / *     S t o r e   t h e   a d d e n d   i n t o   a   t e m p o r a r y .     * / 
 
 / *     A l l o c a t e   s p a c e   f o r   t h e   t e m p o r a r y .     * / 
 	 	 i f   a d d e n d _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 t h e n   t l e n g t h   =   2 ; 
 	 	 e l s e   t l e n g t h   =   3 ; 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( t l e n g t h ,   0 ,   r e t _ o f f s e t ) ; 
 
 	 	 t e m p _ p t r   =   n u l l   ( ) ; 
 	 	 i f   t l e n g t h   =   2 
 	 	 t h e n   c a l l   c o b o l _ m a k e _ t y p e 9 $ s h o r t _ b i n   ( t e m p _ p t r ,   1 0 0 0 ,   r e t _ o f f s e t ) ; 
 	 	 e l s e   c a l l   c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n   ( t e m p _ p t r ,   1 0 0 0 ,   r e t _ o f f s e t ) ; 
 	 	 c a l l   c o b o l _ s t o r e _ b i n a r y   ( a d d e n d _ t o k e n _ p t r ,   t e m p _ p t r ,   c a l l _ a g a i n ) ; 
 	 	 	 	 	 	 / *     R e l e a s e   t h e   r e g i s t e r   t h a t   w a s   u s e d   i n   s t o r i n g   a w a y   t h e   a d d e n d .     * / 
 	 	 r e g i s t e r _ s t r u c . r e g _ n o   =   a d d e n d _ t o k e n _ p t r   - >   c o b o l _ t y p e 1 0 0 . r e g i s t e r ; 
 	 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 
 	 	 a d d e n d _ t o k e n _ p t r   =   t e m p _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     T h e   a d d e n d   i s   a   c o b o l   d a t a   i t e m ,   a n d   t h e r e   i s   m o r e   t h a n   o n e   r e c e i v i n g   f i e l d .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   a d d   t h e   a d d e n d   t o   e a c h   a u g e n d / r e c e i v i n g   f i e l d     * / 
 
 	 d o   i x   =   3   t o   ( r e c e i v e _ c o u n t   +   2 ) ; 	 	 / *     D o   a l l   t h e   a d d s / s u b t r a c t s     * / 
 
 / *     D e t e r m i n e   t h e   t y p e   o f   t h e   a u g e n d .     * / 
 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	           t h e n   t e m p _ t a r g e t _ c o d e   =   1 ; 	 	 / *     s h o r t   b i n a r y     * / 
 	           e l s e   t e m p _ t a r g e t _ c o d e   =   2 ; 	 	 / *     l o n g   b i n a r y     * / 
 	 	 	 	 	 	 / *     D e t e r m i n e   w h a t   r e g i s t e r s   s h o u l d   b e   u s e d   f o r   t h e   c o m p u t a t i o n     * / 
 	           i f   s o u r c e _ c o d e   >   t e m p _ t a r g e t _ c o d e 
 	           t h e n   a d d _ c o d e   =   s o u r c e _ c o d e ; 
 	           e l s e   a d d _ c o d e   =   t e m p _ t a r g e t _ c o d e ; 
 
 	           w o r k _ t o k e n _ p t r   =   a d d e n d _ t o k e n _ p t r ; 
 
 / *     G e n e r a t e   c o d e   t o   d o   t h e   a d d   o r   s u b t r a c t .     * / 
 	           r e s u l t _ t o k e n _ p t r   =   n u l l   ( ) ; 
 
 / *     N o t e   t h a t   i n   t h e   f l o o w i n g   c a l l s ,   t h e   o p e r a n d s   a r e   r e v e r s e d .     T h i s   i s   n e c e s s a r y 
 	 	 b e c a u s e   t h e   c a l l e d   p r o c e d u r e   e x p e c t s   t h e   m i n u e n d   a s   t h e   f i r s t   p a r a m e t e r . 
 	 	 R e v e r s i n g   t h e   o p e r a n d s   h a s   n o   e f f e c t   o n   a d d i t i o n ,   b e c a u s e   a d d i t i o n   i s   c o m m u t a t i v e . 
 	 	 * / 
 
 	           i f   a d d _ c o d e   =   1 
 	           t h e n   c a l l   c o b o l _ a d d 2 _ b i n a r y _ s h o r t   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   w o r k _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r , 
 	 	           o p e r a t i o n _ c o d e ) ; 
 	           e l s e   c a l l   c o b o l _ a d d 2 _ b i n a r y _ l o n g   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   w o r k _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r , 
 	 	           o p e r a t i o n _ c o d e   +   4 ) ; 
 
 	           i f   o s e _ f l a g 
 	           t h e n   d o ; 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 	 	 	 	 	 	 / *     E m i t   c o d e   t o   t r a n s f e r   o n   o v e r f l o w   t o   t h e   o v e r f l o w   t a g .     * / 
 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	 	 / *     M a k e   a   r e f e r e n c e   t o   t h e   o v e r f l o w   t a g   a t   t h e   i n s t r u c t i o n   j u s t   e m i t t e d .     * / 
 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( o v f l o _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 e n d ; 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 
 	           i f   r e s u l t _ t o k e n _ p t r   ^ =   n u l l 
 	           t h e n   d o ; 
 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( r e s u l t _ t o k e n _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   c a l l _ a g a i n ) ; 
 	 	           i f   c a l l _ a g a i n 
 	 	           t h e n   d o ; 	 	 	 / *     M u s t   c a l l   t h e   s t o r e   p r o c e d u r e   a g a i n   t o   g e t   t h e   r e s u l t s   s t o r e d .     * / 
 	 	 	           i f   o s e _ f l a g 
 	 	 	           t h e n   d o ; 	 	 / *     M u s t   t e s t   f o r   o v e r f l o w   a g a i n .     * / 
 	 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( o v f l o _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 e n d ; 	 	 / *     M u s t   t e s t   f o r   o v e r f l o w   a g a i n .     * / 
 
 
 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( r e s u l t _ t o k e n _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   c a l l _ a g a i n ) ; 
 	 	 	 e n d ; 	 	 	 / *     M u s t   c a l l   t h e   s t o r e   p r o c e d u r e   a g a i n   t o   g e t   t h e   r e s u l t s   s t o r e d .     * / 
 	 	 	 	 	 	 / *     R e l e a s e   t h e   r e g i s t e r   t h a t   c o n t a i n s   t h e   r e s u l t   o f   t h e   a d d   o r   s u b t r a c t .     * / 
 	 	           r e g i s t e r _ s t r u c . r e g _ n o   =   r e s u l t _ t o k e n _ p t r   - >   c o b o l _ t y p e 1 0 0 . r e g i s t e r ; 
 	 	           c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 	 	 e n d ; 
 
 	           i f   o s e _ f l a g   &   r e c e i v e _ c o u n t   ^ =   1 
 	           t h e n   d o ; 	 	 	 	 / *     O n   s i z e   e r r o r   a n d   m u l t i p l e   a u g e n d s .     * / 
 	 	 	 	 	 	 / *     E m i t   c o d e   t o   t r a n s f e r   t o   t h e   n e x t   a d d   s e q u e n c e .     * / 
 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t r a _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( n o _ o v f l o _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 
 / *     D e f i n e   t h e   o v f l o _ t a g   a t   t h e   n e x t   i n s t r u c t i i n   l o c a t i o n .     * / 
 	 	           c a l l   c o b o l _ d e f i n e _ t a g   ( o v f l o _ t a g ) ;   / *     E m i t   c o d e   t o   i n c r e m e n t   t h e   o v e r f l o w   f l a g .     * / 
 	 	           i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   A O S ; 
 	 	           c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 / *     D e f i n e   t h e   n o _ o v f l o _ t a g   a t   t h e   n e x t   i n s t r u c t i o n   l o c a t i o n .     * / 
 	 	           c a l l   c o b o l _ d e f i n e _ t a g   ( n o _ o v f l o _ t a g ) ; 
 
 
 	 	           i f   i x   ^ =   i n _ t o k e n . n   -   1 
 	 	           t h e n   d o ; 	 	 	 / *     N o t   t h e   l a s t   a d d   o r   s u b t r a c t ,   d e f i n e   n e w   o v f l o   a n d   n o _ o v f l o   t a g s .     * / 
 	 	 	           o v f l o _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	           n o _ o v f l o _ t a g   =   o v f l o _ t a g   +   1 ; 
 	 	 	           c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 	 	 	 e n d ; 	 	 	 / *     N o t   t h e   l a s t   a d d   o r   s u b t r a c t ,   d e f i n e   n e w   o v f l o ,   n o _ o v f l o   t a g s     * / 
 
 	 	 e n d ; 	 	 	 	 / *     O n   s i z e   e r r o r   a n d   m u l t i p l e   a u g e n d s .     * / 
 
 	 e n d ; 	 	 	 	 	 / *     D o   a d d / s u b t r a c t .     * / 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   o f f   t h e   f i x e d   o v e r f l o w   m a s k   i n   t h e   i n d i c a t o r   r e g i s t e r s .     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 	 	 i f   r e c e i v e _ c o u n t   >   1 
 	 	 t h e n   d o ; 	 	 	 	 / *     M o r e   t h a t   o n e   a u g e n d / r e c e i v i n g   f i e l d .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   l o a d   t h e   o v e r f l o w   f l a g ,   a n d   t e s t   i t   f o r   z e r o .     * / 
 	 	 	 r e g i s t e r _ s t r u c . w h a t _ r e g   =   4 ; 	 / *     A   o r   Q     * / 
 	 	 	 r e g i s t e r _ s t r u c . l o c k   =   0 ; 
 	 	 	 r e g i s t e r _ s t r u c . c o n t a i n s   =   0 ; 
 	 	 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 
 	 	 	 i f   r e g i s t e r _ s t r u c . r e g _ n o   =   " 0 0 0 1 " b 
 	 	 	 t h e n   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   L D A ; 
 	 	 	 e l s e   i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   L D Q ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 / *     G e n e r a t e   c o d e   t o   t e s t   f o r   n o n - z e r o ,   a n d   t r a n s f e r   t o   t h e   i m p e r a t i v e   s t a t e m e n t   t a g 
 	 	 	 	 i f   n o t   z e r o .     * / 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t n z _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 
 	 	           e n d ; 	 	 	 	 / *     M o r e   t h a n   o n e   a u g e n d / r e c e i v i n g   f i e l d .     * / 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	 i f   e n d _ s t m t . f   =   " 0 1 " b 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 t h e n   n e x t _ s t m t _ t a g   =   i m p e r a t i v e _ s t m t _ t a g ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 e l s e   d o ; 
 
 / *     G e n e r a t e   c o d e   t o   t r a n s f e r   t o   t h e   n e x t   c o b o l   s t a t e m e n t   (   t h e   o n e 
 	 	 	 f o l l o w i n g   t h e   i m p e r a t i v e   s t a t e m e n t .   )     * / 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t r a _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( n e x t _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 
 / *     D e f i n e   t h e   i m p e r a t i v e   s t a t e m e n t   t a g   a t   t h e   n e x t   i n s t r u c t i o n   l o c a t i o n .     * / 
 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( i m p e r a t i v e _ s t m t _ t a g ) ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	           e n d ; 
 
 
 	           e n d ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 e x i t _ f o r m a t 1 : 
 	 r e t u r n ; 
           e n d   f o r m a t 1 ; 
  
 
 f o r m a t 2 : 
           p r o c ; / * * * . . . . .   d c l   L O C A L _ N A M E   c h a r   ( 9 )   i n t   s t a t i c   i n i t   ( " :   F O R M A T 2 " ) ; / * * / 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E | | L O C A L _ N A M E ) ; / * * / 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   f o r m a t   2   a d d   a n d   s u b t r a c t   s t a t e m e n t s . 
 * / 
 
 
 s t a r t _ f o r m a t 2 : 	 	 	 	 	 / *     R e v e r s e   t h e   o p e r a n d s ,   b e c a u s e   t h e   c o b o l _ a d d 2 _ b i n a r y   p r o c e d u r e s 
 	 r e q u i r e   t h a t   t h e   m i n u e n d   b e   t h e   f i r s t   p a r a m e t e r ,   a n d   i n   t h e 
 	 i n _ t o k e n   s t r u c t u r e ,   t h e   m i n u e n d   f o l l o w s   t h e   s u b t r a h e n d .     S i n c e 
 	 a d d i t i o n   i s   c o m m u t a t i v e ,   r e v e r s i n g   t h e   o p e r a n d s   h a s   n o   e f f e c t 
 	 o n   a d d i t i o n . 
 	 * / 
 	 t e m p _ l o p _ t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 3 ) ; 
 	 t e m p _ r o p _ t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 2 ) ; 
 
 	 i f   t e m p _ l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 t h e n   d o ; 	 	 	 	 	 / *     " L e f t "   o p e r a n d   i s   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O .     * / 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t e m p _ l o p _ t o k e n _ p t r ,   a d d r   ( d e c _ z e r o _ t o k e n ) ) ; 
 	           e n d ; 	 	 	 	 	 / *     " L e f t "   o p e r a n d   i s   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O .     * / 
 
 	 i f   t e m p _ r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 t h e n   d o ; 	 	 	 	 	 / *     " R i g h t "   o p e r a n d   i s   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O .     * / 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t e m p _ r o p _ t o k e n _ p t r ,   a d d r   ( d e c _ z e r o _ t o k e n ) ) ; 
 	           e n d ; 	 	 	 	 	 / *     " R i g h t "   o p e r a n d   i s   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O .     * / 
 
 / *     D e t e r m i n e   t h e   r e g i s t e r   [   ( a   o r   q )   o r   i n d e x   r e g i s t e r ]   i n   w h i c h 
 	 t h e   c o m p u t a t i o n   i s   t o   b e   p e r f o r m e d .   * / 
 	 i f   s o u r c e _ c o d e   >   t a r g e t _ c o d e 
 	 t h e n   a d d _ c o d e   =   s o u r c e _ c o d e ; 
 	 e l s e   a d d _ c o d e   =   t a r g e t _ c o d e ; 	 	 	 / *     A l w a y s   p i c k   t h e   l a r g e s t   r e g i s t e r 
 	 	 r e q u i r e d   f o r   t h e   c o m p u t a t i o n .     * / 
 
 	 i f   t e m p _ l o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     " L e f t "   o p e r a n d   i s   a   n u m e r i c   l i t e r a l .     * / 
 	 	 	 	 	 	 / *     C o n v e r t   t h e   n u m e r i c   l i t e r a l   t o   a   b i n a r y   c o n s t a n t .     * / 
 	 	 w o r k _ t o k e n _ p t r   =   t e m p _ l o p _ t o k e n _ p t r ; 
 	 	 t e m p _ l o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( w o r k _ t o k e n _ p t r ,   t e m p _ l o p _ t o k e n _ p t r ,   a d d _ c o d e ) ; 
 	           e n d ; 	 	 	 	 	 / *     " L e f t "   o p e r a n d   i s   a   n u m e r i c   l i t e r a l .     * / 
 
 	 i f   t e m p _ r o p _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     " R i g h t "   o p e r a n d   i s   a   n u m e r i c   l i t e r a l .     * / 
 	 	 	 	 	 	 / *     C o n v e r t   t h e   n u m e r i c   l i t e r a l   t o   a   b i n a r y   c o n s t a n t .     * / 
 	 	 w o r k _ t o k e n _ p t r   =   t e m p _ r o p _ t o k e n _ p t r ; 
 	 	 t e m p _ r o p _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( w o r k _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ,   a d d _ c o d e ) ; 
 	           e n d ; 	 	 	 	 	 / *     " R i g h t "   o p e r a n d   i s   a   n u m e r i c   l i t e r a l .     * / 
 
 	 i f   o s e _ f l a g 
 	 t h e n   c a l l   c o b o l _ f o f l _ m a s k $ o n ; 	 	 	 / *     G e n e r a t e   c o d e   t o   t u r n   o n   t h e   f i x e d   o v e r f l o w 
 	 	 m a s k   b i t   i n   t h e   i n d i c a t o r   r e g i s t e r .     * / 
 
 / *     G e n e r a t e   c o d e   t o   d o   t h e   a d d   o r   s u b t r a c t .     * / 
 	 r e s u l t _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 i f   a d d _ c o d e   =   2 
 	 t h e n   c a l l   c o b o l _ a d d 2 _ b i n a r y _ l o n g   ( t e m p _ l o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r ,   o p e r a t i o n _ c o d e ) ; 
 	 e l s e   c a l l   c o b o l _ a d d 2 _ b i n a r y _ s h o r t   ( t e m p _ l o p _ t o k e n _ p t r ,   t e m p _ r o p _ t o k e n _ p t r ,   r e s u l t _ t o k e n _ p t r ,   o p e r a t i o n _ c o d e ) ; 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w   a n d   t r a n s f e r   t o   t h e   i m p e r a t i v e 
 	 	 s t a t e m e n t   i f   o v e r f l o w   o c c u r r e d .     * / 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	           e n d ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 
 / *     T h e   r e s u l t   o f   t h e   a d d   o r   s u b t r a c t   i s   n o w   i n   a   h a r d w a r e   r e g i s t e r . 
 	 N o w   w e   g e n e r a t e   c o d e   t o   s t o r e   t h e   r e s u l t   i n t o   e a c h   o f   t h e   r e c e i v i n g   f i e l d s , 
 	 f i r s t   i n t o   a l l     l o n g   b i n a r y   r e c e i v i n g   f i e l d s ,   a n d   t h e n   i n t o   a l l 
 	 s h o r t   b i n a r y   r e c e i v i n g   f i e l d s .     * / 
 
 	 s k i p p e d _ s o m e   =   " 0 " b ; 
 
 	 d o   i x   =   4   t o   i n _ t o k e n . n   -   1 ; 	 	 	 / *     T r y   s t o r i n g   i n t o   e q u a l   s i z e   r e c e i v i n g   f i e l d s .     * / 
 
 	           i f   ( a d d _ c o d e   =   2   / *     R e s u l t   i s   l o n g   b i n a r y     * / 
 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8   / *     t a r g e t   i s   s h o r t   b i n     * / ) 
 	           t h e n   s k i p p e d _ s o m e   =   " 1 " b ; 
 
 	           e l s e   c a l l   c o b o l _ s t o r e _ b i n a r y   ( r e s u l t _ t o k e n _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   c a l l _ a g a i n ) ; 
 	 e n d ; 	 	 	 	 	 / *     T r y   s t o r i n g   i n t o   e q u a l   s i z e   r e c e i v i n g   f i e l d s .     * / 
 
 	 i f   s k i p p e d _ s o m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     M u s t   s t o r e   t h e   r e s u l t   i n t o   s h o r t   b i n a r y   r e c e i v i n g   f i e l d s .     * / 
 
 	 	 d o   i x   =   4   t o   i n _ t o k e n . n   -   1 ; 	 	 / *     S c a n   t h e   r e c e i v i n g   f i e l d   t o k e n s .     * / 
 
 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	           t h e n   c a l l   c o b o l _ s t o r e _ b i n a r y   ( r e s u l t _ t o k e n _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   c a l l _ a g a i n ) ; 
 
 	 	           i f   c a l l _ a g a i n 
 	 	           t h e n   d o ; 	 	 	 / *     R e s u l t   h a s   b e e n   m o v e d   i n t o   a   t e m p   i n   a n   a t t e m p t   t o   f o r c e   o v e r f l o w .     * / 
 	 	 	           i f   o s e _ f l a g 
 	 	 	           t h e n   d o ; 	 	 / *     O n   s i z e   c l a u s e   p r e s e n t .     * / 
 	 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) 
 	 	 	 	 	 ; 
 	 	 	 	 e n d ; 	 	 / *     O n   s i z e   c l a u s e   p r e s e n t .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   t e m p   i n t o   t h e   r e c e i v i n g   f i e l d .     * / 
 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( r e s u l t _ t o k e n _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   c a l l _ a g a i n ) ; 
 	 	 	 e n d ; 	 	 	 / *     R e s u l t   h a s   b e e n   m o v e d   i n t o   a   t e m p   i n   a n   a t t e m p t   t o   f o r c e   o v e r f l o w .     * / 
 
 	 	 e n d ; 	 	 	 	 / *     S c a n   t h e   r e c e i v i n g   f i e l d   t o k e n s .     * / 
 	           e n d ; 	 	 	 	 	 / *     M u s t   s t o r e   t h e   r e s u l t   i n t o   s h o r t   b i n a r y   r e c e i v i n g   f i e l d s .     * / 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t u r n   o f f   t h e   f i x e d   o v e r f l o w   m a s k   b i t .     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	 i f   e n d _ s t m t . f   =   " 0 1 " b 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 t h e n   n e x t _ s t m t _ t a g   =   i m p e r a t i v e _ s t m t _ t a g ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 e l s e   d o ; 
 
 / *     E m i t   c o d e   t o   t r a n s f e r   t o   t h e   n e x t   c o b o l   s t a t e m e n t .     ( T h e   s t a t e m e n t 
 	 	 f o l l o w i n g   t h e   i m p e r a t i v e   s t a t e m e n t . )     * / 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t r a _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( n e x t _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 	 	 / *     D e f i n e   t h e   i m p e r a t i v e   s t a t e m e n t   t a g   a t   t h e   n e x t   i n s t r u c t i o n   l o c a t i o n .     * / 
 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( i m p e r a t i v e _ s t m t _ t a g ) ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	           e n d ; 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   o f f   t h e   f i x e d   o v e r f l o w   m a s k   b i t     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 
 	           e n d ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   w a s   p r e s e n t .     * / 
 
 	 i f   r e s u l t _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r 
 	 t h e n   d o ; 	 	 	 	 	 / *     R e s u l t   t o k e n   d e s c r i b e s   a   r e g i s t e r .     * / 
 	 	 	 	 	 	 / *     R e l e a s e   t h e   r e g i s t e r ,   s i n c e   t h e   v a l u e   t h e r e   h a s   b e e n   s t o r e d   i n t o   a l l   r e c e i v i n g   f i e l d s .   * / 
 	 	 r e g i s t e r _ s t r u c . r e g _ n o   =   r e s u l t _ t o k e n _ p t r   - >   c o b o l _ t y p e 1 0 0 . r e g i s t e r ; 
 	 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 	           e n d ; 	 	 	 	 	 / *     R e s u l t   t o k e n   d e s c r i b e s   a   r e g i s t e r .     * / 
 e x i t _ f o r m a t 2 : 
 	 r e t u r n ; 
           e n d   f o r m a t 2 ; 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 2 0 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D _ B I N A R Y _ G E N " ) ; / * * / 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 % i n c l u d e   c o b o l _ ; 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 0 ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
           e n d   c o b o l _ a d d _ b i n a r y _ g e n ; 
        
 
 
  
 	 	         c o b o l _ a d d _ g e n . p l 1                               0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4             1 6 8 7 2 3     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d _ g e n . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 4 . 3 - 1 ] ,   B U G 5 6 3 ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1 
 / *   M o d i f i e d   o n   0 8 / 3 1 / 8 3   b y   F C H ,   [ 5 . 2 . . . ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   0 4 / 1 8 / 8 0   b y   F C H ,   n e w   i n c l u d e   f i l e   c o b o l _ a r i t h _ u t i l ,   f i x   n o t   o p t i o n   * / 
 / *   M o d i f i e d   o n   0 6 / 2 8 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   n o t   o p t i o n   a d d e d   f o r   d e b u g   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a d d _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ) ; 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 	 	 	 	 	 	 / * 
 T h e   A D D   s t a t e m e n t   g e n e r a t o r :   c o b o l _ a d d _ g e n 
 
 F U N C T I O N 
 
 T h e   f u n c t i o n   o f   t h i s   p r o c e d u r e   i s   t o   g e n e r a t e   c o d e   f o r   t h e 
 C o b o l   A D D   s t a t e m e n t . 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 / *     D E C L A R E D   B E L O W   I N   A N   I N C L U D E   F I L E     * / 
 d c l 	 n e x t _ s t m t _ t a g 	 f i x e d   b i n ; 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ n u m _ t o _ u d t s 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o n 	 e x t   e n t r y ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o f f   e x t   e n t r y ; 
 d c l 	 c o b o l _ b u i l d _ r e s o p 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ,   p t r ,   b i t   ( 1 ) ,   f i x e d   b i n ,   b i t   ( 1 ) ) ; 
 d c l 	 c o b o l _ a d d 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d 	 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e x t   e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a r i t h _ m o v e _ g e n 
 	 	 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m o v e _ g e n 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ c o p y 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ f i x e d _ b i n _ 3 5 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ b i n a r y _ c h e c k $ a d d 
 	 	 	 e x t   e n t r y   ( p t r ,   b i t   ( 1 ) ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d _ b i n a r y _ g e n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 
 
 
 / *     D E C L A R A T I O N S   O F   B U I L T I N   F U N C T I O N S     * / 
 
 d c l 	 a d d r 	 	 b u i l t i n ; 
 d c l 	 f i x e d 	 	 b u i l t i n ; 
 d c l 	 n u l l 	 	 b u i l t i n ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 d c l 	 f i r s t _ m e a n i n g f u l _ p t r _ i n d e x 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 2 ) ; 
 
 d c l 	 a d d _ c o d e 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 2 ) ; 
 
 / *     D e f i n i t i o n   o f   a n   E O S   t o k e n   t o   b e   u s e d   i n   c a l l s   t o   t h e   m o v e   g e n e r a t o r     * / 
 
 d c l 	 1   m o v e _ e o s 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 8 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t x p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 9 ) , 	 / *     E O S     * / 
 	     2   v e r b 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 8 ) , 	 / *     M O V E     * / 
 	     2   e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   h 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   i 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   j 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   a 	 	 b i t   ( 1 6 )   i n i t   ( " 0 " b ) ; 
 
 / *     D e f i n i t i o n   o f   a   n u m e r i c   l i t e r a l   z e r o     * / 
 
 d c l 	 1   n u m _ l i t _ z e r o 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 7 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 )   i n i t   ( " 0 " b ) , 
 	     2   s u b s c r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t _ v a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 
 / *     D e c l a r a t i o n s   o f   i n i t i a l i z e d   v a r i a b l e s   t h a t   d e f i n e   v e r b   t y p e   c o d e s   i n   E O S   t o k e n     * / 
 
 d c l 	 a d d _ v t 	 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 2 ) ; 
 d c l 	 s u b t r a c t _ v t 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 1 ) ; 
 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 d c l 	 o s e _ f l a g 	 	 b i t   ( 1 ) ; 
 d c l 	 a d d e n d _ c o u n t 	 f i x e d   b i n ; 
 d c l 	 r e c e i v e _ c o u n t 	 f i x e d   b i n ; 
 
 d c l 	 f m t 1 	 	 b i t   ( 1 ) ; 
 
 d c l 	 l o p _ p t r 	 	 p t r ; 
 d c l 	 r o p _ p t r 	 	 p t r ; 
 d c l 	 r e s u l t a n t _ o p e r a n d _ p t r 
 	 	 	 p t r ; 
 d c l 	 m i n u e n d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 s u b t r a h e n d _ t o k e n _ p t r 
 	 	 	 p t r ; 
 
 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 d c l 	 i y 	 	 f i x e d   b i n ; 
 d c l 	 m o v e _ e o s _ p t r 	 p t r ; 
 d c l 	 m v _ p t r 	 	 p t r ; 
 
 d c l 	 r d m a x _ v a l u e 	 f i x e d   b i n ; 
 d c l 	 o v e r f l o w _ c o d e _ g e n e r a t e d 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 p o s s i b l e _ o v f l _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 r e c e i v i n g _ i s _ n o t _ s t o r e d 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 o v e r f l o w _ p o s s i b l e 	 b i t   ( 1 ) ; 
 d c l 	 s i z e _ e r r o r _ f l a g _ d e f i n e d 
 	 	 	 b i t   ( 1 ) ; 
 
 d c l 	 t e m p _ i n _ t o k e n 	 ( 1 : 1 0 )   p t r ; 
 d c l 	 s i z e _ e r r o r _ i n s t 	 b i t   ( 3 6 ) ; 
 d c l 	 s i z e _ e r r o r _ i n s t _ p t r   p t r ; 
 d c l 	 s i z e _ e r r o r _ t o k e n _ p t r 
 	 	 	 p t r ; 
 d c l 	 s t o r e d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 n o _ o v e r f l o w _ t a g 	 f i x e d   b i n ; 
 d c l 	 a d d _ g e n _ c o d e 	 f i x e d   b i n ; 
 d c l 	 v e r b _ t y p e 	 	 f i x e d   b i n ; 
 d c l 	 t e m p _ p t r 	 	 p t r ; 
 d c l 	 o p 1 _ t o k e n _ p t r 	 p t r ; 
 d c l 	 o p 2 _ t o k e n _ p t r 	 p t r ; 
 d c l 	 t e m p _ r e s u l t a n t _ o p e r a n d _ p t r 
 	 	 	 p t r ; 
 d c l 	 ( b i n a r y _ o k ,   n o t _ b i t ) 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 s o u r c e _ c o d e 	 f i x e d   b i n ; 
 d c l 	 t a r g e t _ c o d e 	 f i x e d   b i n ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 1 3 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D _ G E N " ) ;   / * * / 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ a d d _ g e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 / *     G e t   m e a n i n g f u l   d a t a   f r o m   t h e   E O S   t o k e n .     * / 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 	 / *     C h e c k   t o   s e e   i f   b i n a r y   a r i t h e m t i c   a n d   b e   d o n e   f o r   t h i s   a d d / s u b t r a c t   s t a t e m e n t     * / 
 	 c a l l   c o b o l _ b i n a r y _ c h e c k $ a d d   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 	 i f   b i n a r y _ o k 
 	 t h e n   d o ; 	 	 	 	 	 / *     B i n a r y   a r i t h m e t i c   c a n   b e   d o n e .     * / 
 	 	 i f   e n d _ s t m t . v e r b   =   a d d _ v t 
 	 	 t h e n   a d d _ g e n _ c o d e   =   1 ; 
 	 	 e l s e   a d d _ g e n _ c o d e   =   2 ; 
 	 	 c a l l   c o b o l _ a d d _ b i n a r y _ g e n   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ,   a d d _ g e n _ c o d e ) ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / *     B i n a r y   a r i t h m e t i c   c a n   b e   d o n e .     * / 
 
 
 / *     O N   S I Z E   E R R O R   f l a g     * / 
 	 o s e _ f l a g   =   e n d _ s t m t . b ; 
 
 / *     N u m b e r   o f   o p e r a n d s   t o   b e   a d d e d     * / 
 	 a d d e n d _ c o u n t   =   e n d _ s t m t . e ; 
 
 / *     N u m b e r   o f   r e c e i v i n g   o p e r a n d s     * / 
 	 r e c e i v e _ c o u n t   =   e n d _ s t m t . h ; 
 
 / *     V e r b   t y p e     * / 
 	 v e r b _ t y p e   =   e n d _ s t m t . v e r b ; 
 
 / *     D e t e r m i n e   t h e   A D D   o r   S U B T R A C T   s t a t e m e n t   f o r m a t     * / 
 	 i f   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   f m t 1   =   " 1 " b ; 	 	 	 	 / *     F o r m a t   1   A D D     * / 
 	 e l s e   f m t 1   =   " 0 " b ; 	 	 	 	 / *     F o r m a t   2   A D D     * / 
 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     R e s e r v e   a   t a g   t o   b e   a s s o c i a t e d   w i t h   t h e   n e x t   C o b o l   s t a t e m e n t     * / 
 	 	 n e x t _ s t m t _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	           e n d ; 	 	 	 	 	 / *     R e s e r v e   a   t a g   t o   b e   a s s o c i a t e d   w i t h   t h e   n e x t   C o b o l   s t a t e m e n t     * / 
 
 	 r e s u l t a n t _ o p e r a n d _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ m e a n i n g f u l _ p t r _ i n d e x ) ; 
 
 	 i y   =   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x ; 
 
 	 i f   a d d e n d _ c o u n t   >   1 
 	 t h e n   d o ; 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   a d d   a l l   o f   t h e   o p e r a n d s   t o g e t h e r .     * / 
 
 
 	 	 d o   i x   =   1   t o   a d d e n d _ c o u n t   -   1 ; 	 / *     G e n e r a t e   t h e   a d d   c o d e .     * / 
 	 	           i y   =   i y   +   1 ; 	 	 	 / *     s u b s c r i p t   o f   n e x t   a d d e n d   p o i n t e r     * / 
 	 	           l o p _ p t r   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	           r o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i y ) ; 
 
 / *     B u i l d   r e s u l t a n t   o p e r a n d   t o   h o l d   t h e   r e s u l t   o f   t h e   a d d i t i o n     * / 
 	 	           c a l l   c o b o l _ b u i l d _ r e s o p   ( l o p _ p t r ,   r o p _ p t r ,   a d d _ c o d e ,   r e s u l t a n t _ o p e r a n d _ p t r ,   " 0 " b ,   r d m a x _ v a l u e , 
 	 	 	 p o s s i b l e _ o v f l _ f l a g ) ; 
 
 / *     G e n e r a t e   c o d e   t o   a d d   t h e   t w o   o p e r a n d s     * / 
 	 	           c a l l   c o b o l _ a d d 3   ( l o p _ p t r ,   r o p _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ,   1   / * A D D * / ) ; 
 
 	 	 e n d ; 	 	 	 	 / *     G e n e r a t e   t h e   a d d   c o d e .     * / 
 
 	           e n d ; 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   a d d   a l l   o f   t h e   o p e r a n d s   t o g e n t e r .     * / 
 
 	 i f   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     A   l i t e r a l   o r   f i g   c o n s t a n t   Z E R O   i s   t o   b e   a d d e d   i n   f m t   1   a d d     * / 
 
 	 	 i f   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 	 t h e n   t e m p _ p t r   =   a d d r   ( n u m _ l i t _ z e r o ) ; 	 / *     F i g u r a t i v e   c o n s t a n t   Z E R O 
 	 	 	 	 	 i s   t o   b e   a d d e d .     * / 
 	 	 e l s e   t e m p _ p t r   =   r e s u l t a n t _ o p e r a n d _ p t r ; 	 / *     A   n u m e r i c   l i t e r a l   i s   t o   b e   a d d e d .     * / 
 
 / *     P o o l   t h e   l i t e r a l   a n d   m a k e   a   t y p e   9   t o k e n     * / 
 	 	 r e s u l t a n t _ o p e r a n d _ p t r   =   n u l l   ( ) ; 	 / *     u t i l i t y   p r o v i d e s   b u f f e r   f o r 
 	 	 	 	 	 d a t a   n a m e   t o k e n     * / 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( r e s u l t a n t _ o p e r a n d _ p t r ,   t e m p _ p t r ) ; 
 	           e n d ; 	 	 	 	 	 / *     A   l i t e r a l   o r   f i g   c o n s t a n t   Z E R O   i s   t o   b e   a d d e d   i n   f m t   1   a d d     * / 
 
 / * 
 	 A t   t h i s   p o i n t   i n   p r o c e s s i n g ,   t h e   f o l l o w i n g   c o o n d i t i o n s   e x i s t : 
 	 	 1 .   C o d e   h a s   b e e n   g e n e r a t e d   t o   a d d   t o g e t h e r   a l l   o p e r a n d s   t o 
 	 	 t h e   l e f t   o f   " T O "   ( f o r   f o r m a t   1   A D D )   o r   t o   h e   l e f t   o f 
 	 	 " G I V I N G "   (   f o r   f o r m a t   2   A D D ) . 
 	 	 2 .   T h e   d a t a   n a m e   t o k e n   t h a t   d e s c r i b e s   t h e   s u m   o f   t h e s e 
 	 	 o p e r a n d s   i s   p o i n t e d   a t   b y   t h e   p o i n t e r   r e s u l t a n t _ o p e r a n d _ p t r . 
 	 	 3 .   T h e   v a r i a b l e   " i y "   c o n t a i n s   t h e   s u b s c r i p t   o f   t h e   i n _ t o k e n   a r r a y   e l e m e n t 
 	 	 t h a t   p o i n t s   t o   t h e   l a s t   a d d e n d .     (   i . e . ,   i y   +   1   i s   t h e   s u b s c r i p t   o f   t h e 
 	 	 p o i n t e r   t o   t h e   f i r s t   r e c e i v i n g   t o k e n . ) 
 
 	 * / 
 
 
 
 / *     N o w   c h e c k   t o   s e e   i f   c o d e   i s   b e i n g   g e n e r a t e d   f o r   a   f o r m a t   2   s u b t r a c t .     * / 
 
 	 i f   ( v e r b _ t y p e   =   s u b t r a c t _ v t   &   ^ f m t 1 ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     F o r m a t   2   S U B T R A C T ,   m u s t   g e n e r a t e   c o d e   t o   s u b t r a c t   t h e   s u m   c a l c u l a t e d   s o   f a r , 
 	 	 f r o m   t h e   m i n u e n d .     * / 
 
 / *     I n c r e m e n t   i y   t o   b e c o m e   t h e   s u b s c r i p t   o f   t h e   p o i n t e r   t o   t h e   m i n u e n d   t o k e n .     * / 
 	 	 i y   =   i y   +   1 ; 
 
 	 	 s u b t r a h e n d _ t o k e n _ p t r   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	 m i n u e n d _ t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i y ) ; 
 	 	 c a l l   c o b o l _ b u i l d _ r e s o p   ( m i n u e n d _ t o k e n _ p t r ,   s u b t r a h e n d _ t o k e n _ p t r ,   a d d _ c o d e ,   r e s u l t a n t _ o p e r a n d _ p t r , 
 	 	           " 0 " b ,   r d m a x _ v a l u e ,   p o s s i b l e _ o v f l _ f l a g ) ; 
 
 / *     A t   t h i s   p o i n t   i n   p r o c e s s i n g : 
 
 	 	 	 1 .   m i n u e n d _ t o k e n _ p t r   p o i n t s   t o   a   t o k e n   f o r   t h e   m i n u e n d . 
 	 	 	 2 .   s u b t r a h e n d _ t o k e n _ p t r   p o i n t s   t o   a   t o k e n   f o r   t h e   r e s u l t   o f   a d d i n g   a l l   o p e r a n d s 
 	 	 	 t o   t h e   l e f t   o f   " T O " . 
 	 	 	 3 .   r e s u l t a n t _ o p e r a n d _ p t r   p o i n t s   t o   a   t o k e n   t o   r e c e i v e   t h e   d i f f e r e n c e   o f   t h e 
 	 	 	 s u b t r a c t i o n . 
 	 	 * / 
 
 	 	 c a l l   c o b o l _ a d d 3   ( s u b t r a h e n d _ t o k e n _ p t r ,   m i n u e n d _ t o k e n _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ,   2   / * S U B T R A C T * / ) ; 
 
 
 	           e n d ; 	 	 	 	 	 / *     F o r m a t   2   S U B T R A C T ,   m u s t   g e n e r a t e   c o d e   t o   s t u b r a c t   t h e   s u m   c a l c u l a t e d   s o   f a r , 
 	 	 	 f r o m   t h e   m i n u e n d .     * / 
 
 / *     N o w   w e   w i l l   g e t   t h e   r e s u l t   i n t o   t h e   r e c e i v i n g   o p e r a n d s .     * / 
 
 	 o v e r f l o w _ c o d e _ g e n e r a t e d   =   " 0 " b ; 
 	 s i z e _ e r r o r _ f l a g _ d e f i n e d   =   " 0 " b ; 
 
 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 	 	 / *     G e n e r a t e   c o d e   t o   g e t   t h e   s u m   i n t o   r e c e i v i n g   o p e r a n d s .     * / 
 	           m v _ p t r   =   n u l l   ( ) ; 
 	           o v e r f l o w _ p o s s i b l e   =   " 0 " b ; 
 	           r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 0 " b ; 
 	           i y   =   i y   +   1 ; 	 	 	 	 / *     G e t   s u b s c r i p t   o f   p o i n t e r   t o   " n e x t "   r e c e i v i n g   o p e r a n d   t o k e n .     * / 
 	           i f   o s e _ f l a g 
 	           t h e n   d o ; 	 	 	 	 / *     O N   S I Z E   C H E C K I N G   r e q u i r e d ,     * / 
 	 	           i f   f m t 1 
 	 	           t h e n   o v e r f l o w _ p o s s i b l e   =   " 1 " b ; 	 / *     O v e r f l o w   a l w a y s   p o s s i b l e   f o r   f o r m a t   1 
 	 	 	 a d d   o r   s u b t r a c t .     * / 
 
 	 	           e l s e   i f   ( r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t 
 	 	 	 >   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . p l a c e s _ l e f t ) 
 	 	           t h e n   o v e r f l o w _ p o s s i b l e   =   " 1 " b ; 	 / *     F o r m a t   2 ,   r e s u l t   l e f t   d i g i t s   > 
 	 	 	 	 r e c e i v i n g   l e f t   d i g i t s .     * / 
 	 	           e l s e   i f   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b 
 	 	           t h e n   o v e r f l o w _ p o s s i b l e   =   " 1 " b ; 	 / *     R e s u l t a n t   o p e r a n d   i s   f l o a t i n g   d e c i m a l .     * / 
 	 	 e n d ; 	 	 	 	 / *     O N   S I Z E   c h e c k i n g   r e q u i r e d     * / 
 
 	           i f   o v e r f l o w _ p o s s i b l e 
 	           t h e n   d o ; 	 	 	 	 / *     S t o r e   t h e   r e c e i v i n g   f i e l d   i n t o   a   t e m p o r a r y     * / 
 	 	           o v e r f l o w _ c o d e _ g e n e r a t e d   =   " 1 " b ; 
 	 	           i f   ^ s i z e _ e r r o r _ f l a g _ d e f i n e d 
 	 	           t h e n   d o ; 	 	 	 / *     D e f i n e   t h e   s i z e   e r r o r   f i x e d   b i n   f l a g   i n   t h e   r u n - t i m e   s t a c k .     * / 
 
 	 	 	           s i z e _ e r r o r _ i n s t _ p t r   =   a d d r   ( s i z e _ e r r o r _ i n s t ) ; 
 	 	 	           c a l l   g e t _ s i z e _ e r r o r _ f l a g   ( s i z e _ e r r o r _ t o k e n _ p t r ,   s i z e _ e r r o r _ i n s t _ p t r ) ; 
 	 	 	           s i z e _ e r r o r _ f l a g _ d e f i n e d   =   " 1 " b ; 
 	 	 	 e n d ; 	 	 	 / *     D e f i n e   t h e   s i z e   e r r o r   f i x e d   b i n   f l a g   i n   t h e   r u n - t i m e   s t a c k .     * / 
 
 
 / *     S t o r e   t h e   r e c e i v i n g   f i e l d   i n t o   a   t e m p o r a r y .     * / 
 / *     N o t e   t h a t   i f   t h e   r e c e i v i n g   f i e l d   i s   n u m e r i c   e d i t e d ,   o r   o v e r p u n c h   s i g n ,   t h e n 
 	 	 	 i t   i s   n o t   s t o r e d   i n t o   a   t e m p o r a r y .     * / 
 
 
 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . n u m e r i c _ e d i t e d   / *     R e c e i v i n g   i s   n u m e r i c   e d i t e d .     * / 
 	 	 	 |   ( i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . d i s p l a y 
 	 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 	 	 	 	 	 / *     o v e r p u n c h   s i g n     * / 
 	 	           t h e n   r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 1 " b ; 
 	 	           e l s e   c a l l   r e c e i v i n g _ f i e l d   ( i n _ t o k e n . t o k e n _ p t r   ( i y ) ,   s t o r e d _ t o k e n _ p t r ,   1 ) ; 
 
 / *     R e s e r v e   a   t a g   t o   w h i c h   t o   t r a n s f e r   i f   n o   o v e r f l o w   o c c u r s .     * / 
 	 	           n o _ o v e r f l o w _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	           c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   t h e   o v e r f l o w   m a s k   i n d i c a t o r   b i t   O N     * / 
 	 	           c a l l   c o b o l _ f o f l _ m a s k $ o n ; 
 
 	 	 e n d ; 	 	 	 	 / *     S t o r e   t h e   r e c e i v i n g   f i e l d   i n t o   a   t e m p o r a r y     * / 
 
 
 	           i f   f m t 1 
 	           t h e n   d o ; 	 	 	 	 / *     A d d   s u m   t o   o r   S U B T R A C T   s u m   f r o m   t h e   r e c e i v i n g   f i e l d .     T h e 
 	 	 	 r e s u l t   g o e s   i n t o   t h e   r e c e i v i n g   f i e l d .     * / 
 
 	 	           i f   v e r b _ t y p e   =   a d d _ v t 
 	 	           t h e n   a d d _ g e n _ c o d e   =   1 ; 	 	 / *     A D D     * / 
 	 	           e l s e   a d d _ g e n _ c o d e   =   2 ; 	 	 / *     S U B T R A C T     * / 
 
 
 
 
 	 	           i f   n o t _ d e c _ o p e r a n d   ( i n _ t o k e n . t o k e n _ p t r   ( i y ) ) 
 	 	           t h e n   d o ; 	 	 	 / *     T h e   r e c e i v i n g   o p e r a n d   i s   n o t   d e c i m a l .     M u s t   c o n v e r t   t o   d e c i m a l 
 	 	 	 b e f o r e   p e r f o r m i n g   t h e   a d d   o r   s u b t r a c t .     * / 
 
 	 	 	           o p 1 _ t o k e n _ p t r   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	 	           o p 2 _ t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i y ) ; 
 
 / *     C o n v e r t   t h e   n o n - d e c i m a l   o p e r a n d ( s )   ,   a n d   b u i l d   a   t e m p o r a r y 
 	 	 	 	 i n t o   w h i c h   t o   s t o r e   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n .     * / 
 
 	 	 	           c a l l   c o b o l _ b u i l d _ r e s o p   ( o p 1 _ t o k e n _ p t r ,   o p 2 _ t o k e n _ p t r ,   a d d _ c o d e , 
 	 	 	 	 t e m p _ r e s u l t a n t _ o p e r a n d _ p t r ,   " 0 " b ,   r d m a x _ v a l u e ,   p o s s i b l e _ o v f l _ f l a g ) ; 
 
 / *     G e n e r a t e   c o d e   t o   a d d   ( o r   s u b t r a c t )   t h e   t w o   o p e r a n d s ,   a n d 
 	 	 	 	 s t o r e   t h e   r e s u l t   i n t o   a   t e m p o r a r y .     * / 
 	 	 	           c a l l   c o b o l _ a d d 3   ( o p 1 _ t o k e n _ p t r ,   o p 2 _ t o k e n _ p t r ,   t e m p _ r e s u l t a n t _ o p e r a n d _ p t r , 
 	 	 	 	 a d d _ g e n _ c o d e ) ; 
 
 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   o f   t h e   a d d / s u b t r a c t   t o 
 	 	 	 	 t h e   r e c e i v i n g   f i e l d .     * / 
 
 	 	 	           m o v e _ e o s _ p t r   =   a d d r   ( m o v e _ e o s ) ; 
 	 	 	           m o v e _ e o s _ p t r   - >   e n d _ s t m t . e   =   1 ; 
 	 	 	           m v _ p t r   =   a d d r   ( t e m p _ i n _ t o k e n   ( 1 ) ) ; 
 	 	 	           m v _ p t r   - >   i n _ t o k e n . n   =   4 ; 
 	 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 2 )   =   t e m p _ r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 3 )   =   i n _ t o k e n . t o k e n _ p t r   ( i y ) ; 
 	 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 4 )   =   m o v e _ e o s _ p t r ; 
 
 	 	 	           c a l l   c o b o l _ a r i t h _ m o v e _ g e n   ( m v _ p t r ) ; 
 	 	 	           i f   m v _ p t r   - >   i n _ t o k e n . c o d e   ^ =   0 
 	 	 	           t h e n   r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 1 " b ; 
 
 	 	 	 e n d ; 	 	 	 / *     T h e   r e c e i v i n g   o p e r a n d   i s   n o t   d e c i m a l .     M u s t   c o n v e r t 
 	 	 	 	 t o   d e c i m a l   b e f o r e   p e r f o r m i n g   t h e   a d d   o r   s u b t r a c t .     * / 
 
 	 	           e l s e   d o ; 	 	 	 / *     R e c e i v i n g   o p e r a n d   i s   d e c i m a l .     * / 
 
 	 	 	           i f   n o t _ d e c _ o p e r a n d   ( r e s u l t a n t _ o p e r a n d _ p t r ) 
 	 	 	           t h e n   d o ; 	 	 / *     L e f t   o p e r a n d   i s   n o t   d e c i m a l - - c o n v e r t   t o   d e c i m a l .     * / 
 	 	 	 	           o p 1 _ t o k e n _ p t r   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	 	 	           r e s u l t a n t _ o p e r a n d _ p t r   =   n u l l   ( ) ; 
 	 	 	 	           c a l l   c o b o l _ n u m _ t o _ u d t s   ( o p 1 _ t o k e n _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ) ; 
 
 
 	 	 	 	 e n d ; 	 	 / *     L e f t   o p e r a n d   i s   n o t   d e c i m a l - - c o n v e r t   t o   d e c i m a l .     * / 
 
 	 	 	           c a l l   c o b o l _ a d d   ( r e s u l t a n t _ o p e r a n d _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( i y ) ,   a d d _ g e n _ c o d e ) ; 
 
 	 	 	 e n d ; 	 	 	 / *     R e c e i v i n g   o p e r a n d   i s   d e c i m a l .     * / 
 
 
 	 	 e n d ; 	 	 	 	 / *     A d d   s u m   o r   S U B T R A C T   s u m   f r o m   t h e   r e c e i v i n g   f i e l d .     T h e 
 	 	 	 r e s u l t   g o e s   i n t o   t h e   r e c e i v i n g   f i e l d .     * / 
 
 	           e l s e   d o ; 	 	 	 	 / *     G e n e r a t e   c o d e   t o   M O V E   t h e   s u m   t o   t h e   r e c e i v i n g   f i e l d     * / 
 	 	 	 	 	 	 / *     S e t   u p   a n   i n _ t o k e n   s t r u c t u r e   f o r   a   m o v e .     * / 
 
 	 	           m o v e _ e o s _ p t r   =   a d d r   ( m o v e _ e o s ) ; 
 	 	           m o v e _ e o s _ p t r   - >   e n d _ s t m t . e   =   1 ; 	 / *     N u m b e r   o f   r e c e i v i n g   o p e r a n d s .     * / 
 
 	 	           m v _ p t r   =   a d d r   ( t e m p _ i n _ t o k e n   ( 1 ) ) ; 
 	 	           m v _ p t r   - >   i n _ t o k e n . n   =   4 ; 
 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ m e a n i n g f u l _ p t r _ i n d e x )   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 3 )   =   i n _ t o k e n . t o k e n _ p t r   ( i y ) ; 
 	 	 	 	 	 	 / *     R e c e i v i n g   f i e l d     * / 
 	 	           m v _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 4 )   =   m o v e _ e o s _ p t r ; 
 
 / *     G e n e r a t e   t h e   m o v e   c o d e     * / 
 	 	           i f   ( o s e _ f l a g   &   o v e r f l o w _ p o s s i b l e   =   " 0 " b ) 
 	 	           t h e n   c a l l   c o b o l _ m o v e _ g e n   ( m v _ p t r ) ;   / *     O S E   p r e s e n t ,   b u t   r e s u l t   w i l l   f i t 
 	 	 	 	 i n t o   t h e   r e c e i v i n g   f i l e d   w i t h   n o   p o s s i b i l i t y   o f   o v e r f l o w .     * / 
 	 	           e l s e   c a l l   c o b o l _ a r i t h _ m o v e _ g e n   ( m v _ p t r ) ; 
 
 	 	           i f   m v _ p t r   - >   i n _ t o k e n . c o d e   ^ =   0 
 	 	           t h e n   r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 1 " b ; 
 	 	 e n d ; 	 	 	 	 / *     G e n e r a t e   c o d e   t o   M O V E   t h e   s u m   t o   t h e   r e c e i v i n g   f i e l d .     * / 
 
 
 	           i f   o v e r f l o w _ p o s s i b l e 
 	           t h e n   d o ; 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w ,   a n d   r e s t o r e 
 	 	 	 t h e   o r i g i n a l   v a l u e   t o   t h e   r e c e i v i n g   f i e l d   i f   o v e r f l o w   o c c u r r e d .     * / 
 
 	 	           c a l l   t e s t _ f o r _ o v e r f l o w   ( n o _ o v e r f l o w _ t a g ,   s i z e _ e r r o r _ i n s t _ p t r ,   m v _ p t r ) ; 
 
 / *     I f   t h e   r e c e i v i n g   f i e l d   h a s   b e e n   s t o r e d   i n t o   a   t e m p o r a r y ,   t h e n   r e s o t r e   i t .     * / 
 	 	           i f   ^ r e c e i v i n g _ i s _ n o t _ s t o r e d 
 	 	           t h e n   c a l l   r e c e i v i n g _ f i e l d   ( i n _ t o k e n . t o k e n _ p t r   ( i y ) ,   s t o r e d _ t o k e n _ p t r ,   2 ) ; 
 
 / *     D E f i n e   t h e   n o   o v e r f l o w   t a g   a t   t h e   i n s t r u c t i o n   f o l l o w i n g   t h e   r e s t o r e   v a l u e   c o d e .     * / 
 	 	           c a l l   c o b o l _ d e f i n e _ t a g   ( n o _ o v e r f l o w _ t a g ) ; 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   t h e   o v e r f l o w   m a s k   i n d i c a t o r   b i t   O F F     * / 
 	 	           c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 
 	 	 e n d ; 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t s t   f o r   o v e r f l o w ,   a n d   r e s t o r e 
 	 	 	 t h e   o r i g i n a l   v a l u e   t o   t h e   r e c e i v i n g   f i l e d   i f   o v e r f l o w   o c c u r r e d .     * / 
 	           e l s e   i f   r e c e i v i n g _ i s _ n o t _ s t o r e d 	 	 / *     R e c e i v i n g   f i e l d   i s   n u m e r i c   e d i t e d ,   a n d   t h e 
 	 	 	 r e s u l t   h a s   b e e n   s t o r e d   i n t o   a   t e m p o r a r y   t o   s e e   i f   o v e r f l o w   w i l l   o c c u r .     N o w 
 	 	 	 w e   m u s t   m o v e   t h e   t e m p o r a r y   i n t o   t h e   n u m e r i c   e d i t e d   f i e l d .     * / 
 	           t h e n   c a l l   c o b o l _ m o v e _ g e n   ( m v _ p t r ) ; 
 
 	 e n d ; 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   g e t   t h e   s u m   i n t o   r e c e i v i n g   o p e r a n d s .     * / 
 
 / *     A t   t h i s   p o i n t   i n   p r o c e s s i n g ,   c o d e   h a s   b e e n   g e n e r a t e d   t o 
 	 	 1 .   g e t   t h e   r e s u l t   i n t o   t h e   r e c e i v i n g   o p e r a n d s . 
 	 	 2 .   t e s t   f o r   p o s s i b l e   o v e r f l o w . 
 	 * / 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   t h e   s i z e   e r r o r   f l a g ,   a n d   t r a n s f e r   o v e r   t h e   i m p e r a t i v e   s t m t 
 	 	 i f   n o   s i z e   e r r o r   o c c u r r e d .     * / 
 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	 i f   e n d _ s t m t . f   =   " 0 1 " b 
 	 	 t h e n   n o t _ b i t   =   " 1 " b ; 
 	 	 e l s e   n o t _ b i t   =   " 0 " b ; 
 	 	 c a l l   t e s t _ s i z e _ e r r o r   ( s i z e _ e r r o r _ t o k e n _ p t r ,   s i z e _ e r r o r _ i n s t _ p t r ,   n e x t _ s t m t _ t a g , 
 	 	           o v e r f l o w _ c o d e _ g e n e r a t e d ,   n o t _ b i t ) ; 
 	           e n d ; 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   t h e   s i z e   e r r o r   f l a g ,   a n d   t r a n s f e r   o v e r   t h e   i m p e r a t i v e   s t m t 
 	 	 i f   n o   s i z e   e r r o r   o c c u r r e d .     * / 
 
 	 / * * * . . . . .   i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 	 r e t u r n ; 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   E X E C U T A B L E   S T A T E M E N T S 	 	 * / 
 / * 	 c o b o l _ a d d _ g e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
  
 % i n c l u d e   c o b o l _ a r i t h _ u t i l ; 
  
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
  
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
  
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
  
 % i n c l u d e   c o b o l _ ; 
  
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 
 
 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   E X T E R N A L   P R O C E D U R E 	 	 * / 
 / * 	 c o b o l _ a d d _ g e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ a d d _ g e n ; 
    
 
 
  
 	 	         c o b o l _ a d d r . p l 1                                     0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4             6 0 2 7 6 6     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 1   * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a d d r . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
     2 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 7 3 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 7 3   c o b o l _ a d d r . p l 1   C o r r e c t   h a n d l i n g   o f   a r r a y s   l o n g e r   t h a n   3 7 9 
           e l e m e n t s . 
     3 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 8 5 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 8 5   c o b o l _ a d d r . p l 1   S t o p   c o d e   g e n e r a t o r   f r o m   a b o r t i n g   i n   m o v e 
           s t a t e m e n t . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 1 / 2 6 / 8 4   b y   F C H ,   [ 5 . 3 - 3 ] ,   B U G 5 7 1 ( p h x 1 7 0 0 8 ) ,   r e l e a s e   t h e   P R   * / 
 / *   M o d i f i e d   o n   1 1 / 1 5 / 8 4   b y   F C H ,   [ 5 . 3 - 2 ] ,   B U G 5 6 6 ( p h x 1 7 9 2 7 ) ,   l a r g e   a r r a y s   f o r   t y p e   7   e n t r i e s   * / 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ( p h x 1 8 3 8 1 ) ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   1 0 / 1 3 / 8 3   b y   F C H ,   [ 5 . 2 - 5 ] ,   s u b s c r i p t   b u g ,   f i x e d   b y   5 . 3 ,   p h x 1 3 9 4 9 ( B U G 5 4 1 )   * / 
 / *   M o d i f i e d   o n   1 0 / 1 3 / 8 3   b y   F C H ,   [ 5 . 2 - 4 ] ,   s u b s c r i p t   b u g ,   f i x e d   b y   5 . 3 ,   p h x 1 3 9 5 4 ( B U G 5 4 0 )   * / 
 / *   M o d i f i e d   o n   0 9 / 0 9 / 8 3   b y   F C H ,   [ 5 . 2 - 3 ] ,   n e g a t i v e   t e m p   v a l u e s   c o r r e c t l y   d e t e c t e d   p h x 1 3 5 3 3 ( B U G 5 3 8 )   * / 
 / *   M o d i f i e d   o n   0 9 / 0 4 / 8 3   b y   F C H ,   [ 5 . 2 - 2 ] ,   a r e g s   n o t   a l l o c a t e d   c o r r e c t l y ,   p h x 1 3 9 5 1 ( B U G 5 4 0 )   * / 
 / *   M o d i f i e d   o n   0 8 / 1 4 / 8 3   b y   F C H ,   [ 5 . 2   . . . ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   0 8 / 1 4 / 8 3   b y   F C H ,   [ 5 . 2 - 1 ] ,   i n d e x i n g   o f   l a r g e   a r r a y s   s t i l l   f a i l s ,   p h x 1 4 7 4 6 ( B U G 5 4 8 )   p h x 1 3 9 4 9 ( B U G 5 4 1 )   * / 
 / *   M o d i f i e d   o n   1 1 / 0 4 / 8 1   b y   F C H ,   [ 5 . 1 - 1 ] ,   i n d e x i n g   o f   l a r g e   a r r a y s   f a i l s ,   p h x 1 0 9 5 5 ( B U G 4 9 6 )   * / 
 / *   M o d i f i e d   o n   0 4 / 0 6 / 8 1   b y   F C H ,   [ 4 . 4 - 2 ] ,   l a r g e   a r r a y   b i t   n o t   s e t   c o r r e c t l y ,   p h x 0 9 5 4 3 ( B U G 4 7 4 )   * / 
 / *   M o d i f i e d   o n   0 9 / 2 6 / 8 0   b y   F C H ,   [ 4 . 4 - 1 ] ,   t y p e   7   p o s s i b l y   g e n e r a t e s   i n c o r r e c t   c o d e   i f   s u b s c r i p t s   u s e d ,   B U G 4 4 5   * / 
 / *   M o d i f i e d   o n   0 4 / 0 3 / 8 0   b y   F C H ,   [ 4 . 2 - 1 ] ,   f i x   o u t - o f - r a n g e   s u b s c r i p t   d e t e c t i o n   B U G 4 3 0 ( T R 4 5 3 3 )   * / 
 / *   M o d i f i e d   o n   0 6 / 0 2 / 7 8   b y   F C H ,   [ 3 . 0 - 1 ] ,   c o n d i t i o n   d e s c r i p t i o n   p u t   i n   a u t o m a t i c   s t o r a g e   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   3 . 0   * / 
 
 
 
 
 
 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a d d r : 
           p r o c   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 / * * * . . . . . 
 d c l   M Y _ N A M E                   c h a r   ( 1 0 )   i n t   s t a t i c   i n i t   ( " C O B O L _ A D D R " ) ; 
 / * * / 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 	 e r r o r _ m e s s a g e . n a m e   =   " c o b o l _ a d d r " ; 
 	 e r r o r _ m e s s a g e . l e n g t h   =   8 0 ; 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 
 / *   u n l o c k   i n d e x ,   A ,   Q   a n d   t e m p o r a r y   p o i n t e r   r e g i s t e r s   * / 
 
 	 r e g _ s t r u c _ p t r   =   a d d r   ( r e g _ s t r u c ) ; 	 	 / * [ 5 . 2 - 1 ] * / 
 	 l a r g e _ a r r a y   =   " 0 " b ; 
 
 	 i f   i n p u t _ s t r u c . l o c k   =   2 
 	 t h e n   d o ; 
 	 	 r e g _ s t r u c . r e g _ n u m   =   " 0 0 1 1 " b ; 
 
 	 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( r e g _ s t r u c _ p t r ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 d o   r x i   =   8   t o   1 5 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	           r e g _ n u m   =   s u b s t r   ( u n s p e c   ( r x i ) ,   3 3 ,   4 ) ; 
 
 	 	           c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( r e g _ s t r u c _ p t r ) ; 
 
 	 	 e n d ; 
 
 	 	 c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y   ( 2 ,   0 ,   " 0 0 1 " b ) ; 
 	 	 c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y   ( 2 ,   0 ,   " 0 1 0 " b ) ; 
 	 	 c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y   ( 2 ,   0 ,   " 1 1 1 " b ) ; 
 
 	           e n d ; 	 	 	 	 	 / *   c l e a n   r e g i s t e r   a n d   p t r   u s e d   b y   a d d r   a r r a y   * / 
 
 / * [ 5 . 2 - 2 ] * / 
 	 d o   r x i   =   0   t o   9 ; 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           a d d r _ r e g   ( r x i )   =   0 ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           a d d r _ p t r   ( r x i )   =   0 ; 
 	 e n d ; 
 
 	 s t r u c _ p t r   =   a d d r   ( a r _ b u f f ) ; 
 	 t   =   i n p u t _ s t r u c . t y p e ; 
 
 / * [ 5 . 2 - 3 ] * / 
 	 i f   t   < =   0   |   t   >   8 
 	 t h e n   d o ; 
 
 	 	 e r r o r _ m e s s a g e . m e s s a g e   =   " I l l e g a l   t y p e   o f   a d d r e s s i n g   i s   s p e c i f i e d .     I t   m u s t   b e   1 < = i < = 8 . " ; 
 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 	 c a l l   e r r o r _ e n d _ a d d r ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 
 	 i n s t _ b 1 _ p t r   =   a d d r   ( i n s t _ b 1 ) ; 
 	 r e l o c _ b 1 _ p t r   =   a d d r   ( r e l o c _ b 1 ) ; 
 
 / *   P r o c e s s   v a r i a b l e   l e n t h   i t e m :   r e s u l t s   a r e   s a v e d   i n   v a r _ r e g   * / 
 
 	 d o   o p r   =   1   t o   3 ; 
 	           v a r _ r e g   ( o p r )   =   " 0 0 0 " b ; 
 	 e n d ; 	 	 	 	 	 / *   c o b o l _ g e t _ s i z e   i s   c a l l e d   t o   g e t   P E R F O R M _ G E N   t o   p e r f o r m   t h e   s i z e   p a r a g r a p h   * / 
 
 	 d o   o p r   =   1   t o   i n p u t _ s t r u c . o p e r a n d _ n o ; 
 
 	           i f   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( o p r )   ^ =   n u l l   ( ) 
 	           t h e n   i f   i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( o p r )   =   0 
 	 	 t h e n   d o ; 
 	 	 	 d n _ p t r   =   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( o p r ) ; 
 
 	 	 	 i f   d a t a _ n a m e . v a r i a b l e _ l e n g t h 
 	 	 	 t h e n   d o ; 
 	 	 	 	 c a l l   c o b o l _ g e t _ s i z e   ( d n _ p t r ,   0 ,   0 ) ; 
 
 / *   T h e   r e s u l t   i n   A   i s   t h e n   l o a d e d   i n t o   a n   i n d e x   r e g i s t e r   * / 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 	 	 j   =   5 ; 
 	 	 	 	 c a l l   g e t _ r e g   ( 5 ) ; 
 
 	 	 	 	 v a r _ r e g   ( o p r )   =   r e g _ n o ; 
 	 	 	 	 	 	 / *   s t o r e   i n d e x   r e g i s t e r   n o   * / 
 
 / *   E A X n :   l o a d   A   t o   i n d e x   * / 
 
 	 	 	 	 i n s t _ b 1 . w d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 " b ; 
 	 	 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   2 5 ,   3 )   =   r e g _ n o ; 
 
 	 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   1 ) ; 
 
 	 	 	           e n d ; 
 	 	           e n d ; 
 	 e n d ; 
 
 	 a j _ c o n s t _ o f f   ( 1 ) ,   a j _ c o n s t _ o f f   ( 2 ) ,   a j _ c o n s t _ o f f   ( 3 )   =   0 ; 
 	 t e x t _ w d _ o f f _ s a v e   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 	 d e s c _ a n _ p t r   =   a d d r   ( i n s t _ s t r u c . d e s c _ e x t ) ; 
 	 d e s c _ n n _ p t r   =   a d d r   ( i n s t _ s t r u c . d e s c _ e x t ) ; 
 
 	 i f   t   =   5   |   t   =   6 
 	 t h e n   d o ; 
 	 	 i n d e x _ a r r a y _ i   =   0 ; 
 	 	 i n d e x _ a r r a y _ f l a g   =   1 ; 
 	           e n d ; 
 	 e l s e   i n d e x _ a r r a y _ f l a g   =   0 ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   i o a _ ( " ^ a ^ a ^ d " , s u b s t r ( T r a c e _ L i n e , T r a c e _ L e v + 1 , 1 ) , M Y _ N A M E | | " :   " , t ) ; / * * / 
 
 	 g o   t o   t y p e   ( t ) ; 
 
 
 
 
 / * * * * * 	 t y p e ( 1 ) 	 * * * * * / 
 
 t y p e   ( 1 ) : 
 	 c a l l   t y p e _ 1 ; 
 
 	 i f   r e l o c _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   c a l l   r e l o c ; 
 
 a d d r _ d o n e : 
 	 c a l l   e n d _ a d d r ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 
 	 r e t u r n ; 
 
 
 / * * * * * 	 t y p e ( 2 )   a n d   t y p e ( 3 ) 	 * * * * * / 
 t y p e   ( 2 ) : 
 t y p e   ( 3 ) : 
 	 c a l l   t y p e _ 2 ; 
 
 	 i f   r e l o c _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   c a l l   r e l o c ; 
 
 	 g o   t o   a d d r _ d o n e ; 
 
 
 / * * * * * 	 t y p e ( 4 ) ,   t y p e ( 5 )   a n d   t y p e ( 6 ) 	 * * * * * / 
 t y p e   ( 4 ) : 
 t y p e   ( 5 ) : 
 t y p e   ( 6 ) : 
 	 c a l l   t y p e _ 4 ; 
 
 	 g o   t o   a d d r _ d o n e ; 
 
 / * * * * * 	 t y p e ( 7 ) 	 * * * * * / 
 t y p e   ( 7 ) : 
 	 c a l l   t y p e _ 7 ; 
 
 	 g o   t o   a d d r _ d o n e ; 
 
 t y p e _ 1 : 
           p r o c ; 
 
 
 	 i   =   0 ; 
 
 	 i n s t _ s t r u c _ b a s i c . z e r o 1   =   " 0 " b ; 	 	 / *   i n t e r u p t   i n h i b i t   * / 
 	 i n s t _ s t r u c _ b a s i c . t m   =   " 0 0 " b ; 	 	 	 / *   r   t y p e   a d d r   m o d   * / 
 	 m s e g _ n o   =   i n p u t _ s t r u c _ b a s i c . s e g n o ; 
 
 / *   t e s t   f o r   c o n s t a n t s   * / 
 
 	 i f   m s e g _ n o   =   3 0 0 0 
 	 t h e n   d o ; 
 	 	 i n s t _ s t r u c _ b a s i c . t d   =   " 0 1 0 0 " b ; 	 / *   ( R ) = I C ,   y = y + c ( i c )   * / 
 	 	 i n s t _ s t r u c _ b a s i c . p r _ s p e c   =   " 0 " b ; 
 	 	 t e m p   =   - ( c o b o l _ $ t e x t _ w d _ o f f   +   b i n a r y   ( s u b s t r   ( u n s p e c   ( i n p u t _ s t r u c _ b a s i c . c h a r _ o f f s e t ) ,   1 ,   3 4 ) ) ) ; 
 	 	 s t r i n g   ( i n s t _ s t r u c _ b a s i c . y )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 
 	 i f   m s e g _ n o   <   0   &   i n p u t _ s t r u c _ b a s i c . c h a r _ o f f s e t   =   0 
 	 t h e n   d o ; 
 	 	 i n s t _ s t r u c _ b a s i c . t m   =   " 0 1 " b ; 
 	 	 i n s t _ s t r u c _ b a s i c . t d   =   " 0 0 0 0 " b ; 	 / *   R I   * / 
 	 	 t e m p   =   - ( m s e g _ n o ) ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 i n s t _ s t r u c _ b a s i c . t d   =   " 0 0 0 0 " b ; 	 / *     n o   m o d   y = y   * / 
 	 	 t e m p   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( i n p u t _ s t r u c _ b a s i c . c h a r _ o f f s e t ) ,   1 7 ,   1 8 ) ) ; 
 	           e n d ; 
 
 	 i n s t _ s t r u c _ b a s i c . p r _ s p e c   =   " 1 " b ; 
 
 	 c a l l   g e t _ a r ; 
 
 	 i n s t _ s t r u c _ b a s i c . y . p r   =   p t r _ n o ; 
 	 i n s t _ s t r u c _ b a s i c . y . w d _ o f f s e t   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	 i f   m s e g _ n o   <   0   &   i n p u t _ s t r u c _ b a s i c . c h a r _ o f f s e t   ^ =   0 
 	 t h e n   d o ; 	 	 	 	 	 / *   e m i t   e p p r   p r 4 | n , *   * / 
 
 	 	 i n s t _ b 1 . w d   =   " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 " b ; 
 
 	 	 c a l l   g e t _ t e m p _ a r ; 
 
 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 9 ,   1 0 )   =   e p p r _ o p ; 
 	 	 t e m p   =   - m s e g _ n o ; 
 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 r e l o c _ b 1 . r   =   " 1 0 1 0 0 " b ; 
 	 	 r e l o c _ b 1 . l   =   " 1 0 1 0 0 " b ; 
 	 	 b 1 _ c o u n t   =   1 ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   r e l o c _ b 1 _ p t r ,   b 1 _ c o u n t ) ; 
 
 	           e n d ; 
 
 / *   l o c k   h a n d l i n g   * / 
 / *   l o c k   c o d e s   t o   b e   i n s e r t e d   * / 
 
           e n d ; 
 
 t y p e _ 2 : 
           p r o c ; 
 
 
 	 i   =   0 ; 
 
 	 i f   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) 
 	 t h e n   r e t u r n ; 
 
 	 d n _ p t r   =   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 ) ; 	 / *   S e t   i n t e r u p t   i n h i b i t   b i t   t o   0   * / 
 	 i n s t _ s t r u c _ b a s i c . z e r o 1   =   " 0 " b ; 	 	 / *   R   t y p e   a d d r e s s   m o d i f i c a t i o n   i s   u s e d   * / 
 	 i n s t _ s t r u c _ b a s i c . t m   =   " 0 0 " b ; 
 	 m s e g _ n o   =   d a t a _ n a m e . s e g _ n u m ; 	 	 	 / *   t e s t   f o r   c o n s t a n t s   * / 
 
 	 i f   m s e g _ n o   =   3 0 0 0 
 	 t h e n   d o ; 
 	 	 i n s t _ s t r u c _ b a s i c . t d   =   " 0 1 0 0 " b ; 
 	 	 i n s t _ s t r u c _ b a s i c . p r _ s p e c   =   " 0 " b ; 
 	 	 t e m p   =   - ( c o b o l _ $ t e x t _ w d _ o f f   +   b i n a r y   ( s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   1 ,   3 4 ) ) ) ; 
 	 	 s t r i n g   ( i n s t _ s t r u c _ b a s i c . y )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 	 	 r e t u r n ; 
 
 	           e n d ; 	 	 	 	 	 / *   N o   r e g i s t e r   m o d   i s   a s s u m e d .   T h i s   a s s u m p t i o n   c a n   b e   n e g a t e d   l a t e r   * / 
 
 	 i n s t _ s t r u c _ b a s i c . t d   =   " 0 0 0 0 " b ; 	 	 / *   n o n e   y = y   * / 
 	 i n s t _ s t r u c _ b a s i c . p r _ s p e c   =   " 1 " b ; 
 	 t e m p   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   1 7 ,   1 8 ) ) ; 
 
 / *   S u b s c r i p t s   p r o c e s s i n g   * / 
 / * [ 5 . 2 - 3 ] * / 
 	 l a r g e _ a r r a y   =   " 0 " b ; 
 
 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 t h e n   d o ; 
 	 	 c a l l   s u b s c r i p t s ; 
 
 	 	 i f   s u b s _ e r r o r   =   1 
 	 	 t h e n   d o ; 
 	 	 	 c a l l   e r r o r _ e n d _ a d d r ; 
 	 	 	 g o   t o   a d d r _ d o n e ; 
 	 	           e n d ; 
 
 	 	 i f   n o _ r e g _ f l a g   =   0 
 	 	 t h e n   d o ; 
 	 	 	 i n s t _ s t r u c _ b a s i c . t d   =   " 1 0 0 0 " b ; 
 	 	 	 s u b s t r   ( i n s t _ s t r u c _ b a s i c . t d ,   2 ,   3 )   =   r e g _ n o ; 
 
 	 	           e n d ; 
 
 	 	 t e m p   =   t e m p   -   a j _ o f f ; 	 	 / *   A j u s t   o f f s e t   t o   0   o c c u r e n c e   * / 
 
 	 	 i f   t e m p   <   0 
 	 	 t h e n   d o ; 
 	 	 	 i n s t _ b 1 . w d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 	 	 	 	 	 / *   S B X N   * / 
 	 	 	 t e m p   =   - t e m p   +   1 ; 
 	 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 	 	 	 t e m p   =   1 ; 
 	 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   2 5 ,   3 )   =   r e g _ n o ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   1 ) ; 
 
 	 	           e n d ; 
 	           e n d ; 
 
 	 c a l l   g e t _ a r ; 
 
 	 i n s t _ s t r u c _ b a s i c . y . p r   =   p t r _ n o ; 
 	 i n s t _ s t r u c _ b a s i c . y . w d _ o f f s e t   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	 i f   l a r g e _ a r r a y 
 	 t h e n   i f   n o _ r e g _ f l a g   =   0 
 	           t h e n   c a l l   p t r _ a d j u s t ; 
 
           e n d ; 
 
 
 t y p e _ 4 : 
           p r o c ; 
 
 
 
 
 	 i f   i n p u t _ s t r u c . o p e r a n d _ n o   <   0   |   i n p u t _ s t r u c . o p e r a n d _ n o   >   3 
 	 t h e n   d o ; 
 	 	 e r r o r _ m e s s a g e . m e s s a g e   =   " I l l e g a l   o p e r a n d   n u m b e r   i s   s p e c i f i e d .   I t   m u s t   b e   1 ,   2 ,   o r   3 . " ; 
 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 	 c a l l   e r r o r _ e n d _ a d d r ; 
 	 	 r e t u r n ; 
 
 	           e n d ; 	 	 	 	 	 / *   s e t   z e r o   b i t s   i n   w d   1   * / 
 	 i n s t _ s t r u c . i n s t . z e r o 1   =   " 0 0 " b ; 
 	 i n s t _ s t r u c . i n s t . z e r o 3   =   " 0 " b ; 
 	 i n s t _ s t r u c . i n s t . z e r o 5   =   " 0 " b ; 	 	 	 / *   G e t   r e l o c   i n f o   f o r   1 s t   w o r d   * / 
 	 i   =   0 ; 
 	 m s e g _ n o   =   2 ; 
 
 	 i f   r e l o c _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   c a l l   r e l o c ; 
 
 / *     T o   h a n d l e   t h e   m o d i f i c a t i o n   f o r   T y p e   4 ,   T y p e   5   a n d   T y p e   6   i n s t r u c t i o n . 	 * / 
 
 	 s u b s _ e r r o r   =   0 ; 
 
 	 i f   i n p u t _ s t r u c . o p e r a n d _ n o   <   3 
 	 t h e n   s t r i n g   ( i n s t _ s t r u c . i n s t . m f 3 )   =   " 0 0 0 0 0 0 0 " b ; 
 
 
 	 i f   i n p u t _ s t r u c . o p e r a n d _ n o   <   2 
 	 t h e n   s t r i n g   ( i n s t _ s t r u c . i n s t . m f 2 )   =   " 0 0 0 0 0 0 0 " b ; 
 
 
 	 d o   i   =   1   t o   i n p u t _ s t r u c . o p e r a n d _ n o ; 
 
 	           i f   i   =   1 
 	           t h e n   m f _ p t r   =   a d d r   ( i n s t _ s t r u c . i n s t . m f 1 ) ; 
 	           e l s e   i f   i   =   2 
 	           t h e n   m f _ p t r   =   a d d r   ( i n s t _ s t r u c . i n s t . m f 2 ) ; 
 	           e l s e   m f _ p t r   =   a d d r   ( i n s t _ s t r u c . i n s t . m f 3 ) ; 
 
 	           c a l l   m f ; 
 
 	           i f   s u b s _ e r r o r   =   1 
 	           t h e n   d o ; 
 	 	           c a l l   e r r o r _ e n d _ a d d r ; 
 	 	           r e t u r n ; 
 	 	 e n d ; 
 
 	 e n d ; 
 
           e n d ; 
 
 
 t y p e _ 7 : 
           p r o c ; 
 
 
 
 
 	 i   =   1 ; 
 
 	 i n s t _ s t r u c _ b a s i c . y . w d _ o f f s e t   =   " 0 " b ; 
 	 i n s t _ s t r u c _ b a s i c . z e r o 1   =   " 0 " b ; 
 	 i n s t _ s t r u c _ b a s i c . p r _ s p e c   =   " 1 " b ; 
 	 i n s t _ s t r u c _ b a s i c . t m   =   " 0 0 " b ; 
 	 i n s t _ s t r u c _ b a s i c . t d   =   " 1 0 0 0 " b ; 
 
 	 d n _ p t r   =   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 ) ; 
 	 m s e g _ n o   =   d a t a _ n a m e . s e g _ n u m ; 
 
 	 i f   r e l o c _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   c a l l   r e l o c ; 
 
 
 	 i f   ^ d a t a _ n a m e . s u b s c r i p t e d 
 	 t h e n   d o ; 
 	 	 i f   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 0 0 " b 
 	 	 t h e n   r e t u r n ; 
 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 j   =   0 ; 
 	 	 c a l l   g e t _ r e g   ( 0 ) ; 
 
 / *   l d x n   * / 
 / * [ 4 . 4 - 1 ] * / 
 	 	 i n s t _ b 1 . w d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 	 	 	 	 	 / * [ 4 . 4 - 1 ] * / 
 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 7 ,   2 )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 ) ; 
 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 9 ,   1 0 )   =   " 0 1 0 0 1 0 0 0 0 0 " b ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 c a l l   s u b s c r i p t s ; 
 
 	 	 i f   s u b s _ e r r o r   =   1 
 	 	 t h e n   d o ; 
 	 	 	 c a l l   e r r o r _ e n d _ a d d r ; 
 	 	 	 r e t u r n ; 
 	 	           e n d ; 
 
 
 / *   a d x n   * / 
 / * [ 4 . 4 - 1 ] * / 
 	 	 i n s t _ b 1 . w d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 	 	 	 	 	 / * [ 4 . 4 - 1 ] * / 
 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 7 ,   2 )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 ) ; 
 	 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 9 ,   1 0 )   =   " 0 0 0 1 1 0 0 0 0 0 " b ; 
 	           e n d ; 
 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   2 5 ,   3 )   =   r e g _ n o ; 
 	 s u b s t r   ( i n s t _ s t r u c _ b a s i c . t d ,   2 ,   3 )   =   r e g _ n o ; 
 
 / * [ 5 . 3 - 2 ] * / 
 	 i f   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   ^ =   " 0 0 " b 
 	 t h e n   c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   1 ) ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 i f   l a r g e _ a r r a y 
 	 t h e n   d o ; 
 	 	 p t r _ n o   =   i n s t _ s t r u c _ b a s i c . y . p r ; 
 	 	 c a l l   p t r _ a d j u s t ; 
 	           e n d ; 
 
           e n d ; 
 
 
 e r r o r _ e n d _ a d d r : 
           p r o c ; 
 
 	 e r r o r _ m e s s a g e . m e s s a g e   =   " E r r o r   e x i t   f r o m   c o b o l _ a d d r   i s   t a k e n .   P r o c e s s   i s   n o t   c o m p l e t e d . " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
           e n d ; 
 
 e n d _ a d d r : 
           p r o c ; 	 	 	 	 	 / *   u n l o c k   a l l   i n d e x   r e g i s t e r s   a n d   p o i n t e r   r e g i s t e r s   u s e d   * / 
 
 
 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   i n p u t _ s t r u c . l o c k   ^ =   1 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   d o ; 
 	 	 r x i   =   8 ; 
 	 	 i f   a d d r _ r e g   ( 8 )   >   0 
 	 	 t h e n   c a l l   r r ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 r x i   =   9 ; 
 	 	 i f   a d d r _ r e g   ( 9 )   >   0 
 	 	 t h e n   c a l l   r r ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 d o   r x i   =   0   t o   7 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	           c a l l   r p ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 t e m p 1   =   c o b o l _ $ t e x t _ w d _ o f f   -   t e x t _ w d _ o f f _ s a v e ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   t e m p 1   ^ =   0 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   d o   p   =   1   t o   3 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 c a l l   m d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 r e t u r n ; 
 
 r r : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 d o   w h i l e   ( a d d r _ r e g   ( r x i )   >   0 ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	           c a l l   r e l e a s e _ r e g   ( r x i ) ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           a d d r _ r e g   ( r x i )   =   a d d r _ r e g   ( r x i )   -   1 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 e n d ; 
 
           e n d ; 
 
 r p : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   a d d r _ r e g   ( r x i )   >   0 
 	 t h e n   c a l l   r r ; 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 i f   a d d r _ r e g   ( r x i )   >   0 
 	 t h e n   c a l l   r p r ; 
 
           e n d ; 
 
 r p r : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 d o   w h i l e   ( a d d r _ p t r   ( r x i )   >   0 ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	           c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y   ( 2 ,   0 ,   s u b s t r   ( u n s p e c   ( r x i ) ,   3 4 ,   3 ) ) ; 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           a d d r _ p t r   ( r x i )   =   a d d r _ p t r   ( r x i )   -   1 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 e n d ; 
 
           e n d ; 
 
 m d : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   a j _ c o n s t _ o f f   ( p )   ^ =   0 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   d o ; 
 	 	 t e m p   =   b i n a r y   ( s t r i n g   ( d e s c _ a n . d e s c _ f . y   ( p ) ) ) ; 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 t e m p   =   t e m p   -   t e m p 1 ; 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 s t r i n g   ( d e s c _ a n . d e s c _ f . y   ( p ) )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           e n d ; 
 
           e n d ; 
 
 
           e n d ; 
 
 
 m f : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 2 )   i n t   s t a t i c   i n i t   ( " M F " ) ; 
 	 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / *   T h i s   p r o c e d u r e   i s   c a l l e d   t o   s e t   u p   T h e   i ' t h 
 	 m o d i f i c a t i o n   f i e l d   a n d   o p e r a n d 	 * / 
 
 	 i f   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( i )   =   n u l l   ( ) 
 	 t h e n   r e t u r n ; 
 
 / *   S e t   t y p e   9   p t r   * / 
 	 d n _ p t r   =   i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( i ) ; 
 	 m s e g _ n o   =   d a t a _ n a m e . s e g _ n u m ; 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 l a r g e _ a r r a y   =   " 0 " b ; 
 
 / *     T o   p r o c e s s   t h e   s p e c i a l   s e g m e n t   m s e g _ n o   i s   b e t w e e n 
 	 	 	 2 0 0 0 0 ( o c t a l )   t o   2 7 7 7 7 ( o c t a l ) 	 * / 
 
 	 i f   m s e g _ n o   >   8 1 9 1   &   m s e g _ n o   <   1 2 2 8 8 
 	 t h e n   d o ; 
 	 	 s p e c i a l _ b i t   =   " 1 " b ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	 r e g _ b i t   =   s u b s t r   ( m s e g _ n o _ b i t ,   2 5 ,   1 ) ; 	 / * [ 5 . 2 - 1 ] * / 
 	 	 d i s p _ b i t   =   s u b s t r   ( m s e g _ n o _ b i t ,   2 9 ,   1 ) ; 
 	 	 m f _ t e m p . p r _ s p e c   =   " 1 " b ; 
 
 	 	 m f _ t e m p . r e g _ o r _ l e n g t h   =   r e g _ b i t ; 
 
 	 	 i f   d i s p _ b i t 
 	 	 t h e n   m f _ t e m p . r e g _ m o d   =   s u b s t r   ( m s e g _ n o _ b i t ,   2 9 ,   4 ) ; 
 	 	 e l s e   m f _ t e m p . r e g _ m o d   =   " 0 0 0 0 " b ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 s p e c i a l _ b i t ,   r e g _ b i t ,   d i s p _ b i t   =   " 0 " b ; 	 / *   P r o c e s s   c o n s t a n t s   * / 
 
 	 	 i f   m s e g _ n o   =   3 0 0 0 
 	 	 t h e n   d o ; 
 	 	 	 i n p u t _ s t r u c . o p e r a n d . i c _ m o d   ( i )   =   1 ; 
 	 	 	 a j _ c o n s t _ o f f   ( i )   =   i ; 
 	 	 	 m f _ t e m p . p r _ s p e c   =   " 0 " b ; 
 	 	 	 m f _ t e m p . r e g _ m o d   =   " 0 1 0 0 " b ; 	 / *   y = y + c ( i c )   * / 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 m f _ t e m p . p r _ s p e c   =   " 1 " b ; 
 
 	 	 	 i f   ^ d a t a _ n a m e . s u b s c r i p t e d 
 	 	 	 t h e n   m f _ t e m p . r e g _ m o d   =   " 0 0 0 0 " b ; 
 	 	 	 e l s e   d o ; 	 	 	 / *   S u b s c r i p t s   p r o c e s s i n g   * / 
 
 	 	 	 	 c a l l   s u b s c r i p t s ; 
 	 	 	 	 i f   s u b s _ e r r o r   =   1 
 	 	 	 	 t h e n   r e t u r n ; 
 
 	 	 	 	 i f   n o _ r e g _ f l a g   =   0 
 	 	 	 	 t h e n   d o ; 
 	 	 	 	 	 m f _ t e m p . r e g _ m o d   =   " 1 0 0 0 " b ; 
 	 	 	 	 	 s u b s t r   ( m f _ t e m p . r e g _ m o d ,   2 ,   3 )   =   r e g _ n o ; 
 	 	 	 	           e n d ; 
 	 	 	 	 e l s e   m f _ t e m p . r e g _ m o d   =   " 0 0 0 0 " b ; 
 
 	 	 	           e n d ; 
 	 	           e n d ; 
 
 / *   L e n g t h   i s   c o n t a i n e d   i n   r e g i s t e r   o r   i n s t r u c t i o n   * / 
 
 	 	 i f   i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( i )   =   0 
 	 	 t h e n   d o ; 
 	 	 	 i f   d a t a _ n a m e . i t e m _ l e n g t h   >   4 0 9 5   |   d a t a _ n a m e . v a r i a b l e _ l e n g t h 
 	 	 	 t h e n   m f _ t e m p . r e g _ o r _ l e n g t h   =   " 1 " b ; 
 	 	 	 e l s e   m f _ t e m p . r e g _ o r _ l e n g t h   =   " 0 " b ; 
 	 	           e n d ; 
 
 	           e n d ; 
 
 	 m f _ t e m p . z e r o 2   =   " 0 " b ; 
 
 / *   T o   s e t   u p   o p e r a n d 	 * / 
 
 	 i f   ( d a t a _ n a m e . b i n _ 3 6   |   d a t a _ n a m e . b i n _ 1 8   |   d a t a _ n a m e . a l p h a n u m   |   d a t a _ n a m e . a l p h a b e t i c 
 	           |   d a t a _ n a m e . a l p h a n u m _ e d i t e d   |   d a t a _ n a m e . a l p h a b e t i c _ e d i t e d   |   d a t a _ n a m e . n o n _ e l e m e n t a r y 
 	           |   d a t a _ n a m e . n u m e r i c _ e d i t e d   |   d a t a _ n a m e . u s a g e _ i n d e x ) 
 	 t h e n   d o ; 
 	 	 c a l l   d e s c _ a n p ; 
 
 	 	 i f   l a r g e _ a r r a y 
 	 	 t h e n   i f   n o _ r e g _ f l a g   =   0 
 	 	           t h e n   c a l l   p t r _ a d j u s t ; 
 	           e n d ; 
 	 e l s e   i f   d a t a _ n a m e . n u m e r i c 
 	 t h e n   d o ; 
 	 	 c a l l   d e s c _ n n p ; 
 
 	 	 i f   l a r g e _ a r r a y 
 	 	 t h e n   i f   n o _ r e g _ f l a g   =   0 
 	 	           t h e n   c a l l   p t r _ a d j u s t ; 
 	           e n d ; 
 
 	 e l s e   d o ; 
 
 	 	 e r r o r _ m e s s a g e . m e s s a g e   = 
 	 	           " I l l e g a l   d a t a   t y p e   i s   s p e c i f i e d   f o r   e i s   d e s c r i p t o r   "   | |   s u b s t r   ( d e s c _ n o _ c h a r ,   i ,   1 )   | |   " . " ; 
 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 	           e n d ; 
 
           e n d ; 
 
 
 
 d e s c _ a n p : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 8 )   i n t   s t a t i c   i n i t   ( " D E S C _ A N P " ) ; 
 	 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / *   B u i l d   a l p h a n u m e r i c   d e s c r i p t o r   * / 
 	 d e s c _ a n . d e s c _ f . z e r o 1   ( i )   =   " 0 " b ; 
 	 d e s c _ a n . d e s c _ f . t a   ( i )   =   " 0 0 " b ; 	 	 / *   9   b i t   * / 
 
 / *   P r o c e s s   c o n s t a n t s   * / 
 	 i f   m s e g _ n o   =   3 0 0 0 
 	 t h e n   d o ; 
 	 	 t e m p   =   - ( t e x t _ w d _ o f f _ s a v e   +   b i n a r y   ( s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   1 ,   3 4 ) ) ) ; 
 	 	 s t r i n g   ( d e s c _ a n . d e s c _ f . y   ( i ) )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 	 	 d e s c _ a n . d e s c _ f . c h a r _ n   ( i )   =   " 0 0 0 " b ; 
 	 	 s u b s t r   ( d e s c _ a n . d e s c _ f . c h a r _ n   ( i ) ,   1 ,   2 )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 ) ; 
 	           e n d ; 
 
 	 e l s e   i f   s p e c i a l _ b i t 
 	 t h e n   d o ; 
 	 	 d e s c _ a n . d e s c _ f . y . p r   ( i )   =   s u b s t r   ( m s e g _ n o _ b i t ,   3 4 ,   3 ) ; 
 	 	 d e s c _ a n . d e s c _ f . y . w d _ o f f s e t   ( i )   =   ( 1 5 ) " 0 " b ; 
 	 	 d e s c _ a n . d e s c _ f . c h a r _ n   ( i )   =   " 0 0 0 " b ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 t e m p   =   d a t a _ n a m e . o f f s e t ; 
 
 	 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 t h e n   t e m p   =   t e m p   -   a j _ o f f ; 	 	 / *   a d j u s t   o f f s e t   t o   0   o c c u r e n c e   * / 
 
 	 	 d e s c _ a n . d e s c _ f . c h a r _ n   ( i )   =   " 0 0 0 " b ; 
 	 	 s u b s t r   ( d e s c _ a n . d e s c _ f . c h a r _ n   ( i ) ,   1 ,   2 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   3 5 ,   2 ) ; 
 
 	 	 i f   t e m p   <   0 
 	 	 t h e n   i f   m o d   ( t e m p ,   4 )   ^ =   0 
 	 	           t h e n   t e m p   =   t e m p   -   4 ; 
 
 	 	 t e m p   =   d i v i d e   ( t e m p ,   4 ,   3 5 ,   0 ) ; 
 
 	 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 t h e n   i f   ( t e m p   <   0   &   ^ d a t a _ n a m e . l i n k a g e _ s e c t i o n ) 
 	 	           t h e n   c a l l   o f f s e t _ a d j u s t ; 
 
 	 	 c a l l   g e t _ a r ; 
 
 	 	 d e s c _ a n . d e s c _ f . y . p r   ( i )   =   p t r _ n o ; 
 	 	 d e s c _ a n . d e s c _ f . y . w d _ o f f s e t   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	           e n d ; 	 	 	 	 	 / *   S e t   l e n g t h   * / 
 
 	 i f   s p e c i a l _ b i t   &   r e g _ b i t 
 	 t h e n   d o ; 
 	 	 d e s c _ a n . d e s c _ f . n   ( i )   =   " 0 0 0 0 0 0 0 0 1 0 0 0 " b ; 
 	 	 s u b s t r   ( d e s c _ a n . d e s c _ f . n   ( i ) ,   1 0 ,   3 )   =   s u b s t r   ( m s e g _ n o _ b i t ,   2 6 ,   3 ) ; 
 	           e n d ; 
 	 e l s e   d o ; 
 
 	 	 i f   i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( i )   =   0 
 	 	 t h e n   d o ; 
 
 	 	 	 i f   d a t a _ n a m e . i t e m _ l e n g t h   <   4 0 9 5   &   ^ d a t a _ n a m e . v a r i a b l e _ l e n g t h 
 	 	 	 t h e n   d e s c _ a n . d e s c _ f . n   ( i )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . i t e m _ l e n g t h ) ,   2 5 ,   1 2 ) ; 
 	 	 	 e l s e   d o ; 
 	 	 	 	 d e s c _ a n . d e s c _ f . n   ( i )   =   " 0 0 0 0 0 0 0 0 1 0 0 0 " b ; 
 
 	 	 	 	 i f   d a t a _ n a m e . v a r i a b l e _ l e n g t h 
 	 	 	 	 t h e n   s u b s t r   ( d e s c _ a n . d e s c _ f . n   ( i ) ,   1 0 ,   3 )   =   v a r _ r e g   ( i ) ; 
 	 	 	 	 e l s e   d o ; 
 	 	 	 	 	 c a l l   g e t _ l e n g t h ; 
 
 	 	 	 	 	 s u b s t r   ( d e s c _ a n . d e s c _ f . n   ( i ) ,   1 0 ,   3 )   =   r e g _ n o ; 
 
 	 	 	 	           e n d ; 
 	 	 	           e n d ; 
 	 	           e n d ; 
 	           e n d ; 
 
 	 i f   r e l o c _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   c a l l   r e l o c ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 
           e n d ; 
 
 
 
 d e s c _ n n p : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E     c h a r   ( 8 )   i n t   s t a t i c   i n i t   ( " D E S C _ N N P " ) ; 
 	 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / *   B u i l d   n u m e r i c   d e s c r i p t o r   * / 
 / *   4   b i t   * / 
 
 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 t h e n   d e s c _ n n . d e s c _ f . t n   ( i )   =   " 1 " b ; 
 	 e l s e   d e s c _ n n . d e s c _ f . t n   ( i )   =   " 0 " b ; 	 	 / *   9   b i t   * / 
 
 / *   P r o c e s s   c o n s t a n t s   * / 
 
 	 i f   m s e g _ n o   =   3 0 0 0 
 	 t h e n   d o ; 
 	 	 t e m p   =   - ( t e x t _ w d _ o f f _ s a v e   +   b i n a r y   ( s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   1 ,   3 4 ) ) ) ; 
 	 	 s t r i n g   ( d e s c _ n n . d e s c _ f . y   ( i ) )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 / *   4   b i t   * / 
 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 	 t h e n   d o ; 
 	 	 	 t e m p _ p   =   d a t a _ n a m e . p l a c e s _ l e f t   +   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 
 	 	 	 i f   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 	 t h e n   t e m p _ p   =   t e m p _ p   +   1 ; 
 
 	 	 	 t e m p 1   =   2   *   b i n a r y   ( s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 ) ) ; 
 
 	 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c _ h 
 	 	 	 t h e n   i f   b i t _ o f f s e t   =   " 0 1 0 1 " b 
 	 	 	           t h e n   t e m p 1   =   t e m p 1   +   1 ; 
 	 	 	           e l s e   ; 
 	 	 	 e l s e   t e m p 1   =   t e m p 1   +   m o d   ( t e m p _ p ,   2 ) ; 
 
 
 
 	 	 	 d e s c _ n n . d e s c _ f . d i g i t _ n   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p 1 ) ,   3 4 ,   3 ) ; 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 d e s c _ n n . d e s c _ f . d i g i t _ n   ( i )   =   " 0 0 0 " b ; 
 	 	 	 s u b s t r   ( d e s c _ n n . d e s c _ f . d i g i t _ n   ( i ) ,   1 ,   2 )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 ) ; 
 	 	           e n d ; 
 	           e n d ; 
 
 	 e l s e   i f   s p e c i a l _ b i t 
 	 t h e n   d o ; 
 	 	 d e s c _ n n . d e s c _ f . y . p r   ( i )   =   s u b s t r   ( m s e g _ n o _ b i t ,   3 4 ,   3 ) ; 
 	 	 d e s c _ n n . d e s c _ f . y . w d _ o f f s e t   ( i )   =   ( 1 5 ) " 0 " b ; 
 	 	 d e s c _ n n . d e s c _ f . d i g i t _ n   ( i )   =   " 0 0 0 " b ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 t e m p   =   d a t a _ n a m e . o f f s e t ; 
 	 	 t e m p _ p   =   d a t a _ n a m e . p l a c e s _ l e f t   +   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 
 	 	 i f   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 t h e n   t e m p _ p   =   t e m p _ p   +   1 ; 
 
 
 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 	 t h e n   d o ; 
 
 	 	 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 	 t h e n   t e m p   =   t e m p   *   2   -   a j _ o f f ; 
 	 	 	 e l s e   t e m p   =   t e m p   *   2 ; 
 	 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c _ h 
 	 	 	 t h e n   i f   b i t _ o f f s e t   =   " 0 1 0 1 " b 
 	 	 	           t h e n   t e m p   =   t e m p   +   1 ; 
 
 	 	 	 t e m p 1   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( t e m p ) ,   3 4 ,   3 ) ) ; 
 
 	 	 	 i f   ^ d a t a _ n a m e . a s c i i _ p a c k e d _ d e c _ h 
 	 	 	 t h e n   t e m p 1   =   t e m p 1   +   m o d   ( t e m p _ p ,   2 ) ; 
 
 	 	 	 d e s c _ n n . d e s c _ f . d i g i t _ n   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p 1 ) ,   3 4 ,   3 ) ; 
 	 	 	 i f   t e m p   <   0 
 	 	 	 t h e n   i f   m o d   ( t e m p ,   8 )   ^ =   0 
 	 	 	           t h e n   t e m p   =   t e m p   -   8 ; 
 
 	 	 	 t e m p   =   d i v i d e   ( t e m p ,   8 ,   3 5 ,   0 ) ; 
 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 
 	 	 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 	 t h e n   t e m p   =   t e m p   -   a j _ o f f ; 
 
 
 	 	 	 d e s c _ n n . d e s c _ f . d i g i t _ n   ( i )   =   " 0 0 0 " b ; 
 	 	 	 s u b s t r   ( d e s c _ n n . d e s c _ f . d i g i t _ n   ( i ) ,   1 ,   2 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   3 5 ,   2 ) ; 
 
 	 	 	 i f   t e m p   <   0 
 	 	 	 t h e n   i f   m o d   ( t e m p ,   4 )   ^ =   0 
 	 	 	           t h e n   t e m p   =   t e m p   -   4 ; 
 
 
 
 	 	 	 t e m p   =   d i v i d e   ( t e m p ,   4 ,   3 5 ,   0 ) ; 
 
 	 	           e n d ; 	 	 	 	 / * 	 A d j u s t   t h e   0   o c c u r r e n c e 	 1 1 / 1 0 / 7 5   b c 	 * / 
 
 	 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 t h e n   i f   ( t e m p   <   0   &   ^ ( d a t a _ n a m e . l i n k a g e _ s e c t i o n ) ) 
 	 	           t h e n   c a l l   o f f s e t _ a d j u s t ; 
 
 	 	 c a l l   g e t _ a r ; 
 
 	 	 d e s c _ n n . d e s c _ f . y . p r   ( i )   =   p t r _ n o ; 
 	 	 d e s c _ n n . d e s c _ f . y . w d _ o f f s e t   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	           e n d ; 
 
 
 / *   I f   s i z e _ s w   i s   o n ,   t h e   f o l l o w i n g   i s   i g n o r e d   * / 
 
 	 i f   i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( i )   =   0 
 	 t h e n   d o ; 
 	 	 i f   d a t a _ n a m e . v a r i a b l e _ l e n g t h 
 	 	 t h e n   d o ; 
 	 	 	 d e s c _ n n . d e s c _ f . n   ( i )   =   " 0 0 1 0 0 0 " b ; 
 	 	 	 s u b s t r   ( d e s c _ n n . d e s c _ f . n   ( i ) ,   4 ,   3 )   =   v a r _ r e g   ( i ) ; 
 	 	           e n d ; 
 	 	 e l s e   i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 	 t h e n   d e s c _ n n . d e s c _ f . n   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p _ p ) ,   3 1 ,   6 ) ; 
 	 	 e l s e   d e s c _ n n . d e s c _ f . n   ( i )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . i t e m _ l e n g t h ) ,   3 1 ,   6 ) ; 
 
 / *   S e t   s i g n   t y p e   * / 
 	 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 0 0 " b 
 	 	 t h e n   d e s c _ n n . d e s c _ f . s i g n _ t y p e   ( i )   =   " 1 1 " b ; 
 	 	 	 	 	 	 / *   n o   s i g n   * / 
 
 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c   &   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 t h e n   d o ; 
 
 	 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c _ h 
 	 	 	 t h e n   d e s c _ n n . d e s c _ f . s i g n _ t y p e   ( i )   =   " 0 1 " b ; 
 	 	 	 	 	 	 / *   l e a d i n g   s e p a r a t e   * / 
 	 	 	 e l s e   d e s c _ n n . d e s c _ f . s i g n _ t y p e   ( i )   =   " 1 0 " b ; 
 	 	 	 	 	 	 / *   t r a i l i n g   s e p a r a t e   * / 
 
 	 	           e n d ; 
 
 	 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 1 1 " b 
 	 	 t h e n   d e s c _ n n . d e s c _ f . s i g n _ t y p e   ( i )   =   " 1 0 " b ; 
 	 	 	 	 	 	 / *   T r a i l i n g   s e p a r a t e .   * / 
 
 	 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 1 0 0 " b 	 / *   l e a d i n g   s e p a r a t e   * / 
 	 	 t h e n   d e s c _ n n . d e s c _ f . s i g n _ t y p e   ( i )   =   " 0 1 " b ; 
 
 / *   s i g n _ t y p e   " 1 1 1 " b   :   l e a d i n g   s e p a r a t e   f o r   f l o a t i n g   d e c i m a l   * / 
 
 	 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b 
 	 	 t h e n   d e s c _ n n . d e s c _ f . s i g n _ t y p e   ( i )   =   " 0 0 " b ; 
 
 / *   t r a i l i n g   " 0 0 1 "   a n d   l e a d i n g   " 0 1 0 "   s i g n   t y p e s   a r e   n o t   s u p p o r t e d   * / 
 
 	 	 t e m p 1   =   - ( d a t a _ n a m e . p l a c e s _ r i g h t ) ; 
 	 	 d e s c _ n n . d e s c _ f . s c a l   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p 1 ) ,   3 1 ,   6 ) ; 
 
 	           e n d ; 
 
 	 i f   s p e c i a l _ b i t   &   r e g _ b i t 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( d e s c _ n n . d e s c _ f . n   ( i ) ,   1 ,   2 )   =   " 0 0 " b ; 
 	 	 s u b s t r   ( d e s c _ n n . d e s c _ f . n   ( i ) ,   3 ,   4 )   =   s u b s t r   ( m s e g _ n o _ b i t ,   2 5 ,   4 ) ; 
 	           e n d ; 
 
 	 i f   r e l o c _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   c a l l   r e l o c ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
 
           e n d ; 
 
 
 
 o f f s e t _ a d j u s t : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r ( 1 3 )   i n t   s t a t i c   i n i t   ( " O F F S E T _ A D J U S T " ) ; 
 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / * [ 5 . 2 - 1 ] * / 
 d c l 	 ( i ,   j ,   k ,   m ,   l ) 	 f i x e d   b i n   ( 3 5 ) ; 
 
 
 d c l 	 o f f s e t _ c m p 	 ( 1 4 )   b i t   ( 1 8 )   s t a t i c   u n a l i g n e d   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b , 
 	 	 	 	 	 	 / *   c m p x n 	 t e m p , d u 	 	 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 " b ,   " 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *   t p l 	 4 , i c 	 	 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 " b , 
 	 	 	 	 	 	 / *   a d x n 	 2 * * j - m o d ( t e m p , 2 * * j ) , d u 	 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 " b , 
 	 	 	 	 	 	 / *   a d x m 	 - 2 * ( d i v i d e ( t e m p , 2 * * j ) + 1 ) , d u 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ,   " 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *   t r a 	 3 , i c 	 	 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b , 
 	 	 	 	 	 	 / *   s b x n 	 t e m p , d u 	 	 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 " b ) ; 
 	 	 	 	 	 	 / *   a d x m 	 - 2 * d i v i d e ( t e m p , 2 * * j ) , d u 	 * / 
 
 	 t e m p   =   - t e m p   +   1 ; 
 
 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 t h e n   d o ; 
 	 	 i   =   1 6 3 8 4 ; 
 	 	 j   =   1 5 ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 i   =   3 2 7 6 8 ; 
 	 	 j   =   1 6 ; 
 	           e n d ; 
 
 
 
 	 l   =   3 7   -   j ; 
 
 	 i f   l a r g e _ a r r a y 
 	 t h e n   d o ; 
 	 	 i f   t e m p   >   ( i   -   1 ) 
 	 	 t h e n   d o ; 
 	 	 	 k   =   - 2   *   d i v i d e   ( t e m p ,   i ,   3 5 ,   0 ) ; 
 	 	 	 t e m p   =   m o d   ( t e m p ,   i ) ; 
 	 	           e n d ; 
 
 	 	 e l s e   k   =   0 ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	 c a l l   s t   ( 1 ) ; 
 
 	 	 s u b s t r   ( o f f s e t _ c m p   ( 2 ) ,   7 ,   3 )   =   r e g _ n o ; 
 	 	 s u b s t r   ( o f f s e t _ c m p   ( 6 ) ,   7 ,   3 )   =   r e g _ n o ; 
 	 	 s u b s t r   ( o f f s e t _ c m p   ( 1 2 ) ,   7 ,   3 )   =   r e g _ n o ; 
 	 	 s u b s t r   ( o f f s e t _ c m p   ( 8 ) ,   7 ,   3 )   =   t a b l e _ r e g ; 
 	 	 s u b s t r   ( o f f s e t _ c m p   ( 1 4 ) ,   7 ,   3 )   =   t a b l e _ r e g ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	 c a l l   s t   ( 1 1 ) ; 
 
 	 	 o f f s e t _ c m p   ( 1 3 )   =   s u b s t r   ( u n s p e c   ( k ) ,   1 9 ,   1 8 ) ; 
 
 	 	 m   =   k   -   2 ; 
 	 	 o f f s e t _ c m p   ( 7 )   =   s u b s t r   ( u n s p e c   ( m ) ,   1 9 ,   1 8 ) ; 
 
 	 	 t e m p   =   i   -   t e m p ; 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 	 c a l l   s t   ( 5 ) ; 
 
 	 	 i f   m   =   0 
 	 	 t h e n   d o ; 
 	 	 	 o f f s e t _ c m p   ( 3 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( o f f s e t _ c m p   ( 1 ) ) ,   n u l l   ( ) ,   3 ) ; 
 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 o f f s e t _ c m p   ( 3 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 " b ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( o f f s e t _ c m p   ( 1 ) ) ,   n u l l   ( ) ,   4 ) ; 
 
 	 	           e n d ; 
 
 	 	 i f   k   =   0 
 	 	 t h e n   d o ; 
 	 	 	 o f f s e t _ c m p   ( 9 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( o f f s e t _ c m p   ( 9 ) ) ,   n u l l   ( ) ,   2 ) ; 
 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 o f f s e t _ c m p   ( 9 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( o f f s e t _ c m p   ( 9 ) ) ,   n u l l   ( ) ,   3 ) ; 
 
 	 	           e n d ; 
 	           e n d ; 
 	 e l s e   i f   t e m p   ^ =   0 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 t h e n   d o ; 
 	 	 c a l l   s t   ( 1 1 ) ; 
 
 	 	 s u b s t r   ( o f f s e t _ c m p   ( 1 2 ) ,   7 ,   3 )   =   r e g _ n o ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( o f f s e t _ c m p   ( 1 1 ) ) ,   n u l l   ( ) ,   1 ) ; 
 
 	           e n d ; 
 	 t e m p   =   1 ; 
 
 	 r e t u r n ; 
 
 s t : 
           p r o c   ( i ) ; 
 
 d c l 	 i 	 	 f i x e d   b i n ; 
 
 	 o f f s e t _ c m p   ( i )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   l ) ; 
           e n d ; 
 
           e n d   o f f s e t _ a d j u s t ; 
 
 p t r _ a d j u s t : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r ( 1 0 )   i n t   s t a t i c   i n i t   ( " P T R _ A D J U S T " ) ; 
 	 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 / *   l a r g e   a r r a y s   * / 
 / * 	 E A Q   0 , x m 	 * / 
 	 i n s t _ b 1 . w d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 " b ; 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   3 4 ,   3 )   =   t a b l e _ r e g ; 	 	 / * 	 Q L S   1 4 	 * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 i n s t _ b 1 . w d 1   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 	 	 	 	 / *   Q L S   1 3   f o r   p a c k e d _ d e c   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 t h e n   s u b s t r   ( i n s t _ b 1 . w d 1 ,   1 3 ,   6 )   =   " 0 0 1 1 0 1 " b ; 
 
 / *   S T Q   p r 6 | t a b l e _ e x t _ o f f   * / 
 
 	 i f   t a b l e _ e x t _ o f f   =   0 
 	 t h e n   c a l l   c o b o l _ a l l o c $ s t a c k   ( 4 ,   1 ,   t a b l e _ e x t _ o f f ) ; 
 
 
 	 i n s t _ b 1 . w d 2   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 2 ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t a b l e _ e x t _ o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 	 	 	 	 / * 	 A D W P N   p r 6 | t a b l e _ e x t _ o f f 	 * / 
 	 i n s t _ b 1 . w d 3   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 3 ,   4 ,   1 5 )   =   s u b s t r   ( i n s t _ b 1 . w d 2 ,   4 ,   1 5 ) ; 
 
 	 i f   p t r _ n o   =   " 1 0 0 " b 
 	 t h e n   s u b s t r   ( i n s t _ b 1 . w d 3 ,   2 5 ,   3 )   =   p t r _ n o ; 
 	 e l s e   d o ; 
 	 	 s u b s t r   ( i n s t _ b 1 . w d 3 ,   2 1 ,   1 )   =   s u b s t r   ( p t r _ n o ,   1 ,   1 ) ; 
 	 	 s u b s t r   ( i n s t _ b 1 . w d 3 ,   2 6 ,   2 )   =   s u b s t r   ( p t r _ n o ,   2 ,   2 ) ; 
 	           e n d ; 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   4 ) ; 
 
           e n d ; 
 
 
 
 g e t _ l e n g t h : 
           p r o c ; 
 
 / *   L o a d   l e n g t h   i n   t o   i n d e x   r e g i s t e r   * / 
 / *   l d x n   * / 
 
 	 i n s t _ b 1 . w d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . i t e m _ l e n g t h ) ,   1 9 ,   1 8 ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 j   =   5 ; 
 	 c a l l   g e t _ r e g   ( 5 ) ; 
 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   2 5 ,   3 )   =   r e g _ n o ; 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   1 ) ; 
 
           e n d ; 
 
 
 
 r e l o c : 
           p r o c ; 
 
 	 i f   m s e g _ n o   =   3 0 0 2 
 	 t h e n   d o ; 
 	 	 r e l o c _ s t r u c . l e f t _ w d   ( i   +   1 )   =   " 1 1 0 0 1 " b ; 
 	 	 r e l o c _ s t r u c . r i g h t _ w d   ( i   +   1 )   =   " 1 1 0 0 1 " b ; 
 	           e n d ; 
 	 e l s e   i f   m s e g _ n o   <   0 
 	 t h e n   d o ; 
 	 	 r e l o c _ s t r u c . l e f t _ w d   ( i   +   1 )   =   " 1 0 1 0 0 " b ; 
 	 	 r e l o c _ s t r u c . r i g h t _ w d   ( i   +   1 )   =   " 1 0 1 0 0 " b ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 r e l o c _ s t r u c . l e f t _ w d   ( i   +   1 )   =   " 0 0 0 0 0 " b ; 
 	 	 r e l o c _ s t r u c . r i g h t _ w d   ( i   +   1 )   =   " 0 0 0 0 0 " b ; 
 	           e n d ; 
           e n d ; 
 
 
 
 g e t _ a r : 
           p r o c ; 
 
 d c l 	 a r _ t y p e 	 	 f i x e d   b i n ; 
 
 / * 
 	 W h e n   c o b o l _ $ p t r _ a s s u m p t i o n _ i n d = 0   t h e   a s s u m p t i o n s   m a d e   a b o u t   t h e   u s a g e   o f   t h e   p o i n t e r   r e g i s t e r s   a r e   v a l i d . 
 	 T h e   a s s u m p t i o n s   a r e : 
 	 
 	 P R 0       c o b o l   o p e r a t o r   e n t r y   ( P R 6 ^ 2 4 ) 
 	 P R 3     c o b o l   d a t a   1 6 k   ( 4 0 0 0 0   o c t a l )   w o r d   o f f s e t   ( P R 6 ^ 6 4 ) 
 	 P R 5       c o b o l   d a t a   4 8 k   ( 1 4 0 0 0 0   o c t a l )   w o r d   o f f s e t   ( P R 6 ^ 6 6 ) 
 	 ( I f   c o b o l   d a t a   i s   l e s s   t h a n   3 2 k ,   P R 5   i s   u s e d   a s   a   t e m p o r a r y ) 
 	 P R 4         m u l t i c e s   l i n k a g e   s e c t i o n 
 	 P R 6       s t a c k   f r a m e 
 	 
 	 
 	 P R 1 ,   P R 2 ,   P R 7 ,   a n d   s o m e t i m e s   P R 5   a r e   t e m p o r a r y   r e g i s t e r s . 
 	 
 	 T h e   u s e   o f   t e m p o r a r y   r e g i s t e r s   m u s t   b e   r e q u e s t e d . 
 * / 
 	 a r _ t y p e   =   0 ; 
 
 	 i f   m s e g _ n o   >   4 9 9 9   &   m s e g _ n o   <   5 0 0 8 
 	 t h e n   a r _ t y p e   =   1 ; 
 	 e l s e   i f   m s e g _ n o   =   2 
 	 t h e n   d o ; 
 	 	 i f   t e m p   >   2 6 2 1 4 3 
 	 	 t h e n   a r _ t y p e   =   2 ; 
 	 	 e l s e   i f   ^ l a r g e _ a r r a y 
 	 	 t h e n   i f   t e m p   <   3 2 7 6 8 
 	 	           t h e n   a r _ t y p e   =   3 ; 
 	 	           e l s e   i f   t e m p   > =   3 2 7 6 8   &   t e m p   <   6 5 5 3 6 
 	 	           t h e n   a r _ t y p e   =   4 ; 
 	 	           e l s e   a r _ t y p e   =   5 ; 
 	 	 e l s e   a r _ t y p e   =   5 ; 
 	           e n d ; 
 	 e l s e   i f   m s e g _ n o   =   4 0 0 0   |   m s e g _ n o   =   3 
 	 t h e n   a r _ t y p e   =   6 ; 
 	 e l s e   i f   m s e g _ n o   =   3 0 0 2 
 	 t h e n   a r _ t y p e   =   7 ; 
 	 e l s e   i f   m s e g _ n o   =   1 0 0 0 
 	 t h e n   a r _ t y p e   =   8 ; 
 	 e l s e   i f   m s e g _ n o   =   0   |   m s e g _ n o   >   2 0 0 0 0 
 	 t h e n   d o ; 
 	 	 i f   i n p u t _ s t r u c . t y p e   ^ =   1   &   d a t a _ n a m e . l i n k a g e _ s e c t i o n 
 	 	 t h e n   a r _ t y p e   =   9 ; 
 	           e n d ; 
 	 e l s e   i f   m s e g _ n o   <   0 
 	 t h e n   a r _ t y p e   =   1 0 ; 
 
 	 g o   t o   a r t   ( a r _ t y p e ) ; 
 
 / *   s p e c i a l   s e g m e n t   n o   5 0 0 n   n = p t r _ n o   * / 
 
 a r t   ( 1 ) : 
 	 p t r _ n o   =   s u b s t r   ( u n s p e c   ( m s e g _ n o ) ,   3 4 ,   3 ) ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 2 ) : 
 	 e r r o r _ m e s s a g e . m e s s a g e   =   " I l l e g a l   o f f s e t   i s   s p e c i f i e d .   I t   m u s t   b e   < 2 6 2 1 4 3 " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 3 ) : 
 	 t e m p   =   t e m p   -   1 6 3 8 4 ; 
 	 p t r _ n o   =   " 0 1 1 " b ; 
 
 / *   C h e c k   p o i n t e r   r e g i s t e r   3   s t a t u s   * / 
 	 p   =   3 ; 	 	 	 	 	 / *   p o i n t e r   r e g i s t e r   3   * / 
 
 	 i f   ^ ( p t r _ s t a t u s . s e g _ n u m   ( p )   =   2   &   p t r _ s t a t u s . w d _ o f f s e t   ( p )   =   1 6 3 8 4 ) 
 	 t h e n   c a l l   r e s e t ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 4 ) : 
 	 t e m p   =   t e m p   -   4 9 1 5 2 ; 
 	 p t r _ n o   =   " 1 0 1 " b ; 	 	 	 	 / *   C h e c k   p o i n t e r   r e g i s t e r   5   i s   s e t   * / 
 	 p   =   5 ; 
 
 	 i f   ^ ( p t r _ s t a t u s . s e g _ n u m   ( p )   =   2   &   p t r _ s t a t u s . w d _ o f f s e t   ( p )   =   4 9 1 5 2 ) 
 	 t h e n   c a l l   r e s e t ; 
 
 	 g o   t o   a r t x ; 
 
 / *   L o a d   t e m p o r a r y   p o i n t e r   r e g i s t e r   f o r   d a t a   > 6 5 5 3 6   * / 
 / *   e p p r   p r 6 | 1 5 6 , *   	 7 / 9 / 7 6   * / 
 
 a r t   ( 5 ) : 
 	 i n s t _ b 1 . w d   =   " 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 " b ; 
 
 	 c a l l   g e t _ t e m p _ a r ; 
 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 9 ,   1 0 )   =   e p p r _ o p ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   1 9 ,   1 0 )   =   a d w p _ o p ; 	 	 / *   a d w p r   n , d u   * / 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   2 9 ,   8 )   =   " 0 0 0 0 0 0 1 1 " b ; 
 
 / *   i   =   t e m p / 3 2 7 6 8 ;   i f   i   > =   2   t h e n   a d w p _ d u   =   1 6 3 8 4   +   i   *   3 2 7 6 8   * / 
 
 
 / * [ 5 . 2 - 3 ] * / 
 	 a d w p _ d u   =   d i v i d e   ( t e m p ,   3 2 7 6 8 ,   3 5 ,   0 )   *   3 2 7 6 8   +   1 6 3 8 4 ; 
 
 	 t e m p   =   t e m p   -   a d w p _ d u ; 
 	 a d w p _ d u   =   a d w p _ d u   -   1 6 3 8 4 ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( a d w p _ d u ) ,   1 9 ,   1 8 ) ; 
 
 
 
 	 i f   a d w p _ d u   ^ =   0 
 	 t h e n   c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   2 ) ; 
 	 e l s e   c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   1 ) ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 6 ) : 
 	 p t r _ n o   =   " 0 0 0 " b ; 	 	 	 	 / *   C h e c k   p o i n t e r   r e g i s t e r   0   s t a t u s   * / 
 	 p   =   0 ; 
 
 	 i f   ^ ( ( p t r _ s t a t u s . s e g _ n u m   ( p )   =   3   |   p t r _ s t a t u s . s e g _ n u m   ( p )   =   4 0 0 0 )   &   p t r _ s t a t u s . w d _ o f f s e t   ( p )   =   0 ) 
 	 t h e n   c a l l   r e s e t ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 7 ) : 
 	 p t r _ n o   =   " 1 0 0 " b ; 	 	 	 	 / *   C h e c k   p o i n t e r   r e g i s t e r   4   s t a t u s   * / 
 	 p   =   4 ; 
 
 	 i f   ^ ( p t r _ s t a t u s . s e g _ n u m   ( p )   =   3 0 0 2   &   p t r _ s t a t u s . w d _ o f f s e t   ( p )   =   0 ) 
 	 t h e n   c a l l   r e s e t ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 8 ) : 
 	 p t r _ n o   =   " 1 1 0 " b ; 
 	 p   =   6 ; 
 
 	 i f   ^ ( p t r _ s t a t u s . s e g _ n u m   ( p )   =   1 0 0 0   &   p t r _ s t a t u s . w d _ o f f s e t   ( p )   =   0 ) 
 	 t h e n   c a l l   r e s e t ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 9 ) : 
 	 i n s t _ b 1 . w d   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 " b ; 
 
 / *   e p p 6 | 2 6 , *   * / 
 	 c a l l   g e t _ t e m p _ a r ; 
 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 9 ,   1 0 )   =   e p p r _ o p ; 	 	 / *   e p p r   p r r | 2 * n , *   * / 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   1 ,   3 )   =   p t r _ n o ; 
 	 t e m p 1   =   2   *   d a t a _ n a m e . l i n k a g e ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p 1 ) ,   2 2 ,   1 5 ) ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   1 9 ,   1 0 )   =   e p p r _ o p ; 
 	 s u b s t r   ( i n s t _ b 1 . w d 1 ,   2 9 ,   8 )   =   " 0 1 0 1 0 0 0 0 " b ; 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   n u l l   ( ) ,   2 ) ; 
 
 	 g o   t o   a r t x ; 
 
 a r t   ( 1 0 ) : 	 	 	 	 	 	 / *   e p p r   p r 4 | ( - m s e g _ n o ) , *   * / 
 	 i n s t _ b 1 . w d   =   " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 " b ; 
 
 	 c a l l   g e t _ t e m p _ a r ; 
 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   1 9 ,   1 0 )   =   e p p r _ o p ; 
 	 t e m p 1   =   - m s e g _ n o ; 
 	 s u b s t r   ( i n s t _ b 1 . w d ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p 1 ) ,   2 2 ,   1 5 ) ; 
 	 r e l o c _ b 1 . r   =   " 1 0 1 0 0 " b ; 
 	 r e l o c _ b 1 . l   =   " 1 0 1 0 0 " b ; 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ b 1 _ p t r ,   r e l o c _ b 1 _ p t r ,   1 ) ; 
 
 	 g o   t o   a r t x ; 	 	 	 	 / *   E r r o r   * / 
 
 a r t   ( 0 ) : 
 	 e r r o r _ m e s s a g e . m e s s a g e   =   " S e g m e n t   n u m b e r   e r r o r . " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 a r t x : 
 	 r e t u r n ; 
 
 r e s e t : 
           p r o c ; 	 	 	 	 	 / *   R e s e t   p o i n t e r   r e g i s t e r   * / 
 
 	 c a l l   c o b o l _ r e s e t _ r $ p o i n t e r _ r e g i s t e r   ( p t r _ n o ) ; 
 
 	 e r r o r _ m e s s a g e . m e s s a g e   =   " t h e   p o i n t e r   r e g i s t e r   i s   r e s e t ! " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
           e n d ; 
 
           e n d   g e t _ a r ; 
 
 g e t _ t e m p _ a r : 
           p r o c ; 
 
 / *   G e t   a   t e m p o r a r y   p o i n t e r   r e g i s t e r   1 ,   2 ,   7   o r   5   a n d   l o c k   i t   * / 
 
 	 p t r _ n o   =   " 0 0 0 " b ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   1 ; 
 	 i f   p t r _ s t a t u s . p _ l o c k   ( 1 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t l ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   2 ; 
 	 i f   p t r _ s t a t u s . p _ l o c k   ( 2 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t l ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   7 ; 
 	 i f   p t r _ s t a t u s . p _ l o c k   ( 7 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t l ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   1 ; 
 	 i f   a d d r _ p t r   ( 1 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t p r ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   2 ; 
 	 i f   a d d r _ p t r   ( 2 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t p r ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   7 ; 
 	 i f   a d d r _ p t r   ( 7 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t p r ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 r x i   =   5 ; 
 	 i f   a d d r _ p t r   ( 5 )   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   t p r ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 
 
 	 e r r o r _ m e s s a g e . m e s s a g e   =   " U n a b l e   t o   g e t   a   t e m p o r a r y   p o i n t e r   r e g i s t e r . " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 r e t u r n ; 
 
 
 t l : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 p t r _ s t a t u s . p _ l o c k   ( r x i )   =   1 ; 
 	 a d d r _ p t r   ( r x i )   =   1 ; 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 p t r _ n o   =   s u b s t r   ( u n s p e c   ( r x i ) ,   3 4 ,   3 ) ; 
 
 	 c a l l   s e t _ a d w p ; 
 
           e n d ; 
 
 t p r : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 s t r u c t u r e . w h a t _ p o i n t e r   =   r x i ; 
 	 s t r u c t u r e . l o c k   =   1 ; 
 	 s t r u c t u r e . s w i t c h   =   0 ; 
 
 	 c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ g e t   ( s t r u c _ p t r ) ; 
 
 	 p t r _ n o   =   p o i n t e r _ n o ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 p t r _ s t a t u s . p _ l o c k   ( r x i )   =   1 ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 a d d r _ p t r   ( r x i )   =   1 ; 
 
 	 c a l l   s e t _ a d w p ; 
 
           e n d ; 
 
 s e t _ a d w p : 
           p r o c ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   r x i   =   1 
 	 t h e n   d o ; 
 	 	 e p p r _ o p   =   " 0 1 1 1 0 1 0 0 1 1 " b ; 
 	 	 a d w p _ o p   =   " 0 0 0 1 0 1 0 0 1 0 " b ; 	 	 / *   0 5 1 ( 0 )   * / 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 e l s e   i f   r x i   =   2 
 	 t h e n   d o ; 
 	 	 e p p r _ o p   =   " 0 1 1 1 0 1 0 1 0 0 " b ; 	 	 / *   3 5 2 ( 0 )   * / 
 	 	 a d w p _ o p   =   " 0 0 0 1 0 1 0 1 0 0 " b ; 	 	 / *   0 5 2 ( 0 )   * / 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 e l s e   i f   r x i   =   7 
 	 t h e n   d o ; 
 	 	 e p p r _ o p   =   " 0 1 1 1 1 1 0 1 1 1 " b ; 
 	 	 a d w p _ o p   =   " 0 0 1 1 0 1 0 1 1 0 " b ; 	 	 / *   1 5 3 ( 0 )   * / 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 e l s e   i f   r x i   =   5 
 	 t h e n   d o ; 
 	 	 e p p r _ o p   =   " 0 1 1 1 1 1 0 0 1 1 " b ; 
 	 	 a d w p _ o p   =   " 0 0 1 1 0 1 0 0 1 0 " b ; 	 	 / *   1 5 1 ( 0 )   * / 
 	           e n d ; 
 
           e n d ; 
 
           e n d   g e t _ t e m p _ a r ; 
 
 
 
 g e t _ r e g : 
           p r o c   ( r e g ) ; 
 
 / * 
 	 I f   t h e   r e g _ a s s u m p t i o n _ i n d   i s   o n , 
 	 t h e n   t h e   a s s u m p t i o n s   m a d e   a b o u t   t h e   u s a g e   o f   t h e   i n d e x 
 	 r e g i s t e r s   a r e   v a l i d .   T h e   u s e   o f   A   o r   Q   r e g i s t e r   m u s t   b e   r e q u e s t e d . 
 	 T h e   i n d e x   r e g i s t e r   u s a g e   a r e : 
 	 0 :   r e t u r n   a d d r e s s     c o b o l   o p e r a t o r 
 	 1 :   t e m p o r a r y 
 	 2 :   a d d r e s s   m o d i f i c a t i o n 
 	 3 :   a d d r e s s   m o d i f i c a t i o n 
 	 4 :   a d d r e s s   m o d i f i c a t i o n 
 	 	 	 	 
 	 5 :   e i s   o p e r a n d   l e n g t h 
 	 6 :   e i s   o p e r a n d   l e n g t h 
 	 7 : e i s   o p e r a n d   l e n g t h 
 	 I f   t h e   a b o v e   s u g g e s t e d   r e g i s t e r s   a r e   n o t   a v a i l a b l e   o t h e r   r e g i s t e r s   w i l l   b e   u s e d . 
 	 T h e   r e g i s t e r s   a r e   t e m p o r a r i l y   l o c k e d   f o r   c o b o l _ a d d r .   T h e y   w i l l   b e   u n l o c k e d   a t 
 	 c o b o l _ a d d r   e x i t   u n l e s s   d i r e c t e d   o t h e r w i s e . 
 * / 
 
 / * [ 5 . 2 - 2 ] * / 
 d c l 	 r e g 	 	 f i x e d   b i n ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 r x   =   r e g ; 
 	 r _ m a x   =   7 ; 
 
 	 d o   w h i l e   ( " 1 " b ) ; 
 
 	           i f   r e g _ s t a t u s . r _ l o c k   ( r x )   =   0   &   a d d r _ r e g   ( r x )   =   0 
 	           t h e n   d o ; 
 	 	           r e g _ s t a t u s . r _ l o c k   ( r x )   =   1 ; 
 	 	           r e g _ n o   =   s u b s t r   ( u n s p e c   ( r x ) ,   3 4 ,   3 ) ; 
 	 	           a d d r _ r e g   ( r x )   =   a d d r _ r e g   ( r x )   +   1 ; 
 
 	 	           r e t u r n ; 
 	 	 e n d ; 
 	           e l s e   d o ; 
 
 	 	           r x   =   r x   +   1 ; 
 
 	 	           i f   r x   < =   r _ m a x 
 	 	           t h e n   ; 
 	 	           e l s e   i f   r e g   =   5 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	           t h e n   d o ; 
 	 	 	           r x ,   j   =   1 ; 
 	 	 	           r _ m a x   =   4 ; 
 	 	 	 e n d ; 
 
 	 	           e l s e   i f   r e g   =   2 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	           t h e n   d o ; 
 	 	 	           r x ,   j   =   1 ; 
 	 	 	           r _ m a x   =   1 ; 
 	 	 	 e n d ; 
 	 	           e l s e   d o ; 
 
 	 	 	           d o   r x   =   1   t o   7 ; 
 
 	 	 	 	 i f   a d d r _ r e g   ( r x )   =   0 
 	 	 	 	 t h e n   d o ; 
 	 	 	 	 	 r e g _ s t r u c . w h a t _ r e g   =   r x   +   1 0 ; 
 	 	 	 	 	 r e g _ s t r u c . l o c k   =   1 ; 
 
 	 	 	 	 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( r e g _ s t r u c _ p t r ) ; 
 
 	 	 	 	 	 r e g _ n o   =   s u b s t r   ( r e g _ s t r u c . r e g _ n u m ,   2 ,   3 ) ; 
 	 	 	 	 	 a d d r _ r e g   ( f i x e d   ( r e g _ n o ) )   =   a d d r _ r e g   ( f i x e d   ( r e g _ n o ) )   +   1 ; 
 	 	 	 	 	 r e t u r n ; 
 	 	 	 	           e n d ; 
 	 	 	           e n d ; 
 
 	 	 	           e r r o r _ m e s s a g e . m e s s a g e   =   " U n a b l e   t o   g e t   a n   i n d e x   r e g i s t e r " ; 
 	 	 	           c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 	 	 e n d ; 
 
 	 	 e n d ; 
 
 	 e n d ; 
 
           e n d ; 
 
 
 
 g e t _ a _ q : 
           p r o c   ( r e g ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 d c l 	 r e g 	 	 f i x e d   b i n ; 	 	 / * 	 R e q u e s t e d   A   o r   Q   r e g i s t e r 	 * / 
 	 	 	 	 	 	 / * 	 r x = 8   f o r   A - r e g .   r x = 9   f o r   Q - r e g . 	 * / 
 
 	 r e g _ s t r u c . l o c k   =   1 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   r e g   ^ =   1 0 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   i f   r e g _ s t a t u s . r _ l o c k   ( r e g )   =   0 	 	 / * [ 5 . 2 - 2 ] * / 
 	           t h e n   d o ; 
 	 	           r e g _ s t a t u s . r _ l o c k   ( r e g )   =   1 ; 	 / * [ 5 . 2 - 2 ] * / 
 	 	           a d d r _ r e g   ( r e g )   =   a d d r _ r e g   ( r e g )   +   1 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	           i f   r e g   =   8 
 	 	           t h e n   r e g _ s t r u c . r e g _ n u m   =   " 0 0 0 1 " b ; 	 / * [ 5 . 2 - 2 ] * / 
 	 	           e l s e   i f   r e g   =   9 
 	 	           t h e n   r e g _ s t r u c . r e g _ n u m   =   " 0 0 1 0 " b ; 
 	 	           r e t u r n ; 
 
 	 	 e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   r e g   =   1 0 
 	 t h e n   r e g _ s t r u c . r e g _ n u m   =   " 0 0 1 1 " b ; 
 
 
 	 r e g _ s t r u c . w h a t _ r e g   =   r e g   -   7 ; 
 
 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( r e g _ s t r u c _ p t r ) ; 
 
 	 r e g _ n o   =   s u b s t r   ( r e g _ s t r u c . r e g _ n u m ,   2 ,   3 ) ; 
 	 a d d r _ r e g   ( f i x e d   ( r e g _ n o ) )   =   a d d r _ r e g   ( f i x e d   ( r e g _ n o ) )   +   1 ; 
 
           e n d ; 
 
 
 
 r e l e a s e _ r e g : 
           p r o c   ( r e g ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 d c l 	 ( r e g ,   r ,   a r ) 	 f i x e d   b i n ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 r   =   r e g ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   r   ^ =   1 0 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   d o ; 
 	 	 a r   =   a d d r _ r e g   ( r ) ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 i f   a r   ^ =   0 
 	 	 t h e n   a d d r _ r e g   ( r )   =   a r   -   1 ; 	 	 / * [ 5 . 2 - 2 ] * / 
 	           e n d ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 i f   r   <   8 
 	 t h e n   r   =   r   +   8 ; 
 	 e l s e   r   =   r   -   7 ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 r e g _ s t r u c . r e g _ n u m   =   s u b s t r   ( u n s p e c   ( r ) ,   3 3 ,   4 ) ; 
 
 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( r e g _ s t r u c _ p t r ) ; 
 
           e n d ; 
 
 
 
 s u b s c r i p t s : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 1 0 )   i n t   s t a t i c   i n i t   ( " S U B S C R I P T S " ) ; 
 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 d c l 	 d e s c _ n n _ p t r _ s a v e 	 p t r ; 
 
 d c l 	 1   t o k e n _ t e m p 	 b a s e d   ( t e m p _ p t r ) , 
 	     2   f i l l e r 4 	 c h a r   ( 1 2 ) , 
 	     2   t y p e 	 	 f i x e d   b i n ; 
 
 d c l 	 ( a _ l o c k _ s a v e ,   q _ l o c k _ s a v e ) 
 	 	 	 f i x e d   b i n ; 
 d c l 	 m p y _ b i t 	 	 b i t   ( 1 )   s t a t i c   i n i t   ( " 0 " b ) ; 
 
 d c l 	 s u b s _ t o k e n _ p t r 	 p t r   b a s e d   ( s u b s _ p t r ) ; 
 
 
 d c l 	 ( s u b s _ n o ,   l ,   n ,   i n d e x _ t e m p ,   d i s t a n c e ,   s t a c k _ o f f ,   a l _ c h a r ,   a l _ b d ,   i n d e x _ t e m p _ o f f ,   d t b _ t e m p _ o f f ) 
 	 	 	 f i x e d   b i n ; 
 d c l 	 w d _ c o u n t 	 	 f i x e d   b i n ; 
 d c l 	 p a c k e d _ d e c _ b i t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) ; 
 d c l 	 i n d _ c o u n t 	 	 f i x e d   b i n   i n i t   ( 0 ) ; 
 d c l 	 t e m p _ s a v e 	 	 f i x e d   b i n ; 
 d c l 	 ( s i z e _ s w _ s a v e ,   i _ s a v e ,   m s e g _ n o _ s a v e ,   o c c _ n o ) 
 	 	 	 f i x e d   b i n ; 
 d c l 	 ( s u b s _ p t r ,   d n _ p t r _ s a v e ,   l i t _ p t r ,   t e m p _ p t r ,   i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   r e l o c _ p t r _ s a v e ) 
 	 	 	 p o i n t e r ; 
 d c l 	 p l u s _ s w 	 	 b i t   ( 1 ) ; 
 d c l 	 s u b s _ v a r 	 	 f i x e d   b i n ; 
 
 / *   I n s t r u c t i o n   b u f f e r   * / 
 d c l 	 1   i n s t _ b u f f 	 a l i g n e d , 
 	     2   i n s t _ w d 	 ( 5 0 )   b i t   ( 3 6 ) ; 
 d c l 	 d t b _ a l l o c 	 	 f i x e d   b i n ; 
 
 / *   m o v e _   d a t a   * / 
 d c l 	 m o v e _ i n _ t o k e n 	 ( 1 : 1 0 )   p t r   i n t   s t a t i c ; 
 d c l 	 t e m p _ w k _ p t r 	 p t r ; 
 d c l 	 m o v e _ d a t a _ i n i t 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 d c l 	 m o v e _ t o k e n _ p t r 	 p t r ; 
 d c l 	 c o b o l _ m o v e _ g e n 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n 
 	 	 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 
 d c l 	 1   m o v e _ e o s 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 9 ) , 
 	     2   v e r b 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 8 ) , 
 	     2   e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) ; 
 
 d c l 	 i n d e x _ a r r a y _ i 	 f i x e d   b i n , 
 	 i n d e x _ s a v e _ f l a g 	 f i x e d   b i n , 
 	 s a v e _ t e m p _ p t r 	 p t r , 
 	 i n d e x _ i 	 	 f i x e d   b i n , 
 	 i n d e x _ o p t i _ f l a g 	 f i x e d   b i n ; 
 
 d c l 	 1   i n d e x _ a r r a y 	 ( 4 8 ) , 
 	     2   m a x 	 	 f i x e d   b i n , 
 	     2   m i n 	 	 f i x e d   b i n , 
 	     2   s t r u c _ l 	 f i x e d   b i n , 
 	     2   i t e m _ c o u n t 	 f i x e d   b i n , 
 	     2   s e g _ n u m 	 f i x e d   b i n , 
 	     2   o f f s e t 	 f i x e d   b i n , 
 	     2   i n d e x _ r e g 	 b i t   ( 3 ) ; 
 
 / *   S e t   o c c u r s   e x t e n s i o n   * / 
 
 	 o c c u r s _ p t r   =   a d d r e l   ( d n _ p t r ,   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o c c u r s _ p t r ) ,   1 7 ,   1 8 ) ) ; 
 
 / *   S e t   s u b s c r i p t s   t o k e n   p t r   * / 
 
 / * [ 5 . 2 - 1 ] * / 
 	 s u b s _ p t r   =   a d d r e l   ( b a s e p t r   ( S _ T . s u b s _ s e g n o ) ,   S _ T . s u b s _ o f f s e t ) ; 
 
 / *   C o l l e c t   s u b s c r i p t s   i n f o   * / 
 
 	 s u b s _ e r r o r   =   0 ; 
 	 s u b s _ n o   =   o c c u r s . d i m e n s i o n s ; 
 
 	 i f   s u b s _ n o   >   3 
 	 t h e n   d o ; 
 	 	 e r r o r _ m e s s a g e . m e s s a g e   =   " O C C U R S   d i m e n s i o n   m u s t   n o t   b e   g r e a t e r   t h e n   3 . " ; 
 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 	 c a l l   s u b s _ e r r ; 
 	 	 r e t u r n ; 
 
 	           e n d ; 
 
 	 m p y _ b i t   =   " 0 " b ; 
 	 a j _ o f f   =   0 ; 
 	 i n d e x _ a r r a y _ i   =   0 ; 
 	 t a b l e _ e x t _ o f f   =   0 ; 
 	 t a b l e _ l e n g t h   =   1 ; 
 
 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 
 	 t h e n   p a c k e d _ d e c _ b i t   =   " 1 " b ; 
 
 
 	 d o   l   =   1   t o   s u b s _ n o ; 
 
 	           i f   i n p u t _ s t r u c . t y p e   =   2   |   i n p u t _ s t r u c . t y p e   =   3 
 	           t h e n   s t r u c _ l   ( l )   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( o c c u r s . l e v e l . s t r u c _ l e n g t h   ( l ) ) ,   1 ,   3 3 ) ) ; 
 	           e l s e   i f   p a c k e d _ d e c _ b i t 
 	           t h e n   s t r u c _ l   ( l )   =   o c c u r s . l e v e l . s t r u c _ l e n g t h   ( l ) ; 
 	           e l s e   s t r u c _ l   ( l )   =   d i v i d e   ( o c c u r s . l e v e l . s t r u c _ l e n g t h   ( l ) ,   2 ,   3 5 ,   0 ) ; 
 
 	           a j _ o f f   =   a j _ o f f   +   s t r u c _ l   ( l ) ; 
 	           m a x   ( l )   =   o c c u r s . l e v e l . m a x   ( l ) ; 	 	 / * [ 4 . 2 - 1 ] * / 
 	           m i n   ( l )   =   1 ; 
 
 / * [ 4 . 4 - 2 ] * / 
 / *   t a b l e _ l e n g t h = t a b l e _ l e n g t h * m a x ( l ) ;   * / 
 
 	 e n d ; 
 
 / *   S a v e   d n _ p t r   o f   t h e   c o b o l _ a d d r   c a l l e r .   I t   m u s t   b e   r e s t o r e d   a t   r e t u r n . * / 
 
 / * [ 4 . 4 - 2 ] * / 
 	 t a b l e _ l e n g t h   =   s t r u c _ l   ( 1 )   *   m a x   ( 1 ) ; 
 
 	 l a r g e _ a r r a y   =   " 0 " b ; 
 
 	 i f   t a b l e _ l e n g t h   >   6 5 5 3 6 
 	 t h e n   i f   p a c k e d _ d e c _ b i t   |   ( t a b l e _ l e n g t h   >   1 3 1 0 7 2 ) 
 	           t h e n   l a r g e _ a r r a y   =   " 1 " b ; 
 
 
 
 	 i f   f i x e d _ c o m m o n . o p t i o n s . o c 
 	 t h e n   d o ; 
 	 	 r e t r y _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 c a l l   c o b o l _ d e f i n e _ t a g _ n c   ( r e t r y _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f ) ; 
 
 	           e n d ; 
 
 	 d n _ p t r _ s a v e   =   d n _ p t r ; 
 	 t e m p _ s a v e   =   t e m p ; 
 	 m s e g _ n o _ s a v e   =   m s e g _ n o ; 
 	 r e l o c _ p t r _ s a v e   =   r e l o c _ p t r ; 
 	 r e l o c _ p t r   =   n u l l   ( ) ; 
 
 / *   I n i t i a l i z e   * / 
 
 	 d t b _ a l l o c   =   0 ; 
 	 l   =   0 ; 
 	 i n d e x _ t e m p   =   0 ; 
 	 w d _ c o u n t   =   0 ; 
 	 s u b s _ v a r   =   0 ; 
 	 i n s t _ b u f f _ p t r   =   a d d r   ( i n s t _ b u f f ) ; 
 	 r e l o c _ b u f f _ p t r   =   n u l l   ( ) ; 
 
 / *   T e s t   f o r   t o k e n   t y p e   * / 
 / *   S e t   t e m p _ p t r   t o   p o i n t   a t   1 s t   t o k e n   * / 
 
 	 t e m p _ p t r   =   s u b s _ t o k e n _ p t r ; 
 
 	 g o   t o   s u b s _ ; 
 
 	 d o   w h i l e   ( " 1 " b ) ; 
 
 n e x t _ s u b s _ : 	 	 	 	 	 / *   S e t   t e m p _ p t r   t o   t h e   n e x t   t o k e n   * / 
 	           s u b s _ p t r   =   a d d r e l   ( s u b s _ p t r ,   - 2 ) ; 
 	           t e m p _ p t r   =   s u b s _ t o k e n _ p t r ; 
 
 / *   S u b s c r i p t s   p r o c e s s i n g   * / 
 
 s u b s _ : 
 	           l   =   l   +   1 ; 
 	           i t e m _ c o u n t   ( l )   =   1 ; 
 	           i n d e x _ s a v e _ f l a g   =   0 ; 
 	           i n d e x _ o p t i _ f l a g   =   0 ; 
 
 	           i f   l   >   s u b s _ n o   |   t e m p _ p t r   =   n u l l   ( ) 
 	           t h e n   d o ; 
 	 	           c a l l   e n d _ s u b s _ p r o c ; 
 
 	 	           g o   t o   s u b x ; 
 	 	 e n d ; 
 	           / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   i o a _ ( " ^ a ^ a ^ d " , s u b s t r ( T r a c e _ L i n e , T r a c e _ L e v + 1 , 1 ) , "   T Y P E   =   " , t o k e n _ t e m p . t y p e ) ; / * * / 
 
 	           i f   t o k e n _ t e m p . t y p e   =   1 0 
 	           t h e n   d o ; 
 	 	           i n d _ c o u n t   =   i n d _ c o u n t   +   1 ; 
 
 	 	           c a l l   i n d e x i n g ; 
 	 	           i f   e r r 
 	 	           t h e n   c a l l   s u b s _ e r r ; 
 
 	 	           g o   t o   s u b x ; 
 	 	 e n d ; 
 
 	           i f   t o k e n _ t e m p . t y p e   =   2 
 	           t h e n   d o ; 
 	 	           n l i t _ p t r   =   t e m p _ p t r ; 
 	 	           p l u s _ s w   =   " 1 " b ; 
 
 	 	           c a l l   s u b s _ 2 ; 
 
 	 	           i n d e x _ t e m p   =   i n d e x _ t e m p   +   d i s t a n c e ; 
 
 	 	           i f   f i x e d _ c o m m o n . o p t i o n s . o c   &   ( o c c _ n o   <   1   |   o c c _ n o   >   o c c u r s . l e v e l . m a x   ( l ) ) 
 	 	           t h e n   c a l l   c o b o l _ g e n _ e r r o r $ r e g _ r e s e t   ( 6 1 ,   r e t r y _ t a g ) ; 
 
 	 	           g o   t o   n e x t _ s u b s _ ; 
 
 	 	 e n d ; 
 
 / *   P r o c e s s   t y p e   9   d a t a   n a m e   s u b s c r i p t   * / 
 
 	           i f   t o k e n _ t e m p . t y p e   ^ =   9 
 	           t h e n   d o ; 
 	 	           c a l l   s u b s _ e r r ; 
 	 	           g o   t o   s u b x ; 
 	 	 e n d ; 
 
 	           d n _ p t r   =   t e m p _ p t r ; 
 	           m s e g _ n o   =   d a t a _ n a m e . s e g _ n u m ; 
 	           s u b s _ v a r   =   s u b s _ v a r   +   1 ; 	 	 	 / *   A l l o c a t e   t e m p   f o r   o b j e c t   t i m e   d e c _ t o _ b i n   c o n v e r s i o n   * / 
 	           d t b _ a l l o c   =   d t b _ a l l o c   +   1 ; 
 
 	           i f   d t b _ a l l o c   =   1 
 	           t h e n   d o ; 
 	 	           a l _ c h a r   =   4 ; 
 	 	           a l _ b d   =   1 ; 
 
 	 	           c a l l   c o b o l _ a l l o c $ s t a c k   ( a l _ c h a r ,   a l _ b d ,   s t a c k _ o f f ) ; 
 	 	           d t b _ t e m p _ o f f   =   s t a c k _ o f f ; 
 
 / *   A l l o c a t e   t e m p   f o r   i n d e x   * / 
 
 	 	           c a l l   c o b o l _ a l l o c $ s t a c k   ( a l _ c h a r ,   a l _ b d ,   s t a c k _ o f f ) ; 
 	 	           i n d e x _ t e m p _ o f f   =   s t a c k _ o f f ; 
 
 	 	 e n d ; 
 
 / *   C a l l   m o v e _   f o r   o v e r p u n c h   s i g n   * / 
 
 	           r e s   =   " 1 " b ; 
 
 	           i f   ( d a t a _ n a m e . i t e m _ s i g n e d )   &   ( ^ d a t a _ n a m e . s i g n _ s e p a r a t e )   &   ( ^ d a t a _ n a m e . b i n _ 3 6 )   &   ( ^ d a t a _ n a m e . b i n _ 1 8 ) 
 	           t h e n   d o ; 
 	 	           c a l l   c o b o l _ e m i t   ( i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   w d _ c o u n t ) ; 
 
 	 	           w d _ c o u n t   =   0 ; 
 	 	           c a l l   m o v e _ ; 
 	 	 e n d ; 
 	           e l s e   d o ; 
 	 	           i f   w d _ c o u n t   ^ =   0 
 	 	           t h e n   c a l l   c o b o l _ e m i t   ( i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   w d _ c o u n t ) ; 
 	 	 	 	 	 	 / *   D T B   * / 
 	 	           w d _ c o u n t   =   1 ; 
 
 	 	           i f   d a t a _ n a m e . b i n _ 3 6   |   d a t a _ n a m e . b i n _ 1 8 
 	 	           t h e n   d o ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	           r x   =   9 ; 
 	 	 	           c a l l   g e t _ a _ q   ( 9 ) ; 
 
 	 	 	           d e s c _ n n _ p t r _ s a v e   =   d e s c _ a n _ p t r ; 
 	 	 	           d e s c _ a n _ p t r   =   a d d r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ) ; 
 	 	 	           i _ s a v e   =   i ; 
 	 	 	           s i z e _ s w _ s a v e   =   i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( i ) ; 
 	 	 	           i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( i )   =   0 ; 
 	 	 	           i   =   1 ; 
 
 	 	 	           l a r g e _ a r r a y _ s a v e   =   l a r g e _ a r r a y ; 
 	 	 	           l a r g e _ a r r a y   =   " 0 " b ; 
 
 	 	 	           c a l l   d e s c _ a n p ; 
 
 	 	 	           l a r g e _ a r r a y   =   l a r g e _ a r r a y _ s a v e ; 
 	 	 	           d e s c _ a n _ p t r   =   d e s c _ n n _ p t r _ s a v e ; 
 	 	 	           i   =   i _ s a v e ; 
 	 	 	           i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( i )   =   s i z e _ s w _ s a v e ; 
 
 	 	 	           i f   m s e g _ n o   =   3 0 0 0 
 	 	 	           t h e n   s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 9 ,   1 8 )   =   " 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 " b ; 
 	 	 	           e l s e   s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 9 ,   1 8 )   =   " 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 
 	 	 	           i f   d a t a _ n a m e . b i n _ 1 8   &   ( s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 0 0 " b ) 
 	 	 	           t h e n   d o ; 
 
 	 	 	 	           w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 	 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 " b ; 
 
 	 	 	 	 e n d ; 
 
 	 	 	           r e s   =   " 0 " b ; 
 	 	 	 e n d ; 
 	 	           e l s e   d o ; 
 	 	 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 " b ; 
 
 	 	 	           i f   m s e g _ n o   =   3 0 0 0 
 	 	 	           t h e n   s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 2 ,   7 )   =   " 0 0 0 0 1 0 0 " b ; 
 
 / *   G e t   d e s c _ n n p   t o   b u i l d   t h e   n u m m e r i c   d e s c r i p t o r   f o r   w o r d   2   * / 
 
 / *   S a v e   i n f o   o f   t h e   c u r r e n t   i n s t r u c t i o n   o f   t h e   c a l l e r   * / 
 
 	 	 	           w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 	           d e s c _ n n _ p t r _ s a v e   =   d e s c _ n n _ p t r ; 
 	 	 	           d e s c _ n n _ p t r   =   a d d r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ) ; 
 	 	 	           i _ s a v e   =   i ; 
 
 	 	 	           l a r g e _ a r r a y _ s a v e   =   l a r g e _ a r r a y ; 
 
 	 	 	           l a r g e _ a r r a y   =   " 0 " b ; 
 	 	 	           s i z e _ s w _ s a v e   =   i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 ) ; 
 	 	 	           i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 	 	 	           i   =   1 ; 
 
 
 	 	 	           c a l l   d e s c _ n n p ; 
 
 / *   r e s t o r e   c a l l e r   i n f o   * / 
 
 	 	 	           l a r g e _ a r r a y   =   l a r g e _ a r r a y _ s a v e ; 
 	 	 	           d e s c _ n n _ p t r   =   d e s c _ n n _ p t r _ s a v e ; 
 	 	 	           i   =   i _ s a v e ; 
 	 	 	           i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   s i z e _ s w _ s a v e ; 
 
 / *   B u i l d     D T B   w o r d   3   * / 
 
 	 	 	           w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 " b ; 
 	 	 	           s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( d t b _ t e m p _ o f f ) ,   2 2 ,   1 5 ) ; 
 
 / *   I f   b i n a r y   d a t a   i s   s u p p o r t e d   a n d   t h e   d a t a   n a m e   i s   b i n a r y 
 	 	 	 t h e n   t h e   a b o v e   i n s t r u c t i o n   i s   n o t   n e e d e d   * / 
 
 
 	 	 	 e n d ; 
 
 / * [ 5 . 3 - 3 ] * / 
 	 	           c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y   ( 2 ,   0 ,   p t r _ n o ) ; 
 
 / * [ 5 . 3 - 3 ] * / 
 	 	           a d d r _ p t r   ( f i x e d   ( p t r _ n o ) )   =   0 ; 
 
 	 	 e n d ; 
 
 
 
 	           i f   r e s 
 	           t h e n   d o ; 
 	 	           i f   w d _ c o u n t   ^ =   0 
 	 	           t h e n   c a l l   c o b o l _ e m i t   ( i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   w d _ c o u n t ) ; 
 
 / *   B u i l d   L D Q   i n s t r u c t i o n * / 
 / * [ 5 . 2 - 2 ] * / 
 	 	           r x   =   9 ; 
 	 	           c a l l   g e t _ a _ q   ( 9 ) ; 
 
 	 	           w d _ c o u n t   =   1 ; 
 	 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 	           s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( d t b _ t e m p _ o f f ) ,   2 2 ,   1 5 ) ; 
 
 	 	 e n d ; 
 
 / *   T h e   f o l l o w i n g   b l o c k   a r e   f o r   s u b s c r i p t   c h e c k .   5 / 2 9 / 7 6   b c   * / 
 
 	           i f   f i x e d _ c o m m o n . o p t i o n s . o c 
 	           t h e n   d o ; 
 	 	           c a l l   c o b o l _ e m i t   ( i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   w d _ c o u n t ) ; 
 
 	 	           w d _ c o u n t   =   0 ; 
 	 	           c h e c k _ t a g   ( 1 )   =   c o b o l _ $ n e x t _ t a g ; 
 	 	           c h e c k _ t a g   ( 2 )   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 	           c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 	 	           i n s t _ s e q   ( 4 )   =   " 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 " b ; 
 	 	           o c c u r s _ l i m i t _ p t r   =   a d d r   ( m i n   ( l ) ) ; 
 	 	           o c i   =   1 ; 
 
 	 	           r e s   =   " 1 " b ; 
 
 	 	           d o   w h i l e   ( r e s ) ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	 	 t e m p _ 2 4   =   t e m p ; 
 	 	 	 c a l l   c o b o l _ p o o l   ( o c c u r s _ l i m i t ,   1 ,   t e m p _ 2 4 ) ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	 	 t e m p   =   - c o b o l _ $ t e x t _ w d _ o f f   -   t e m p _ 2 4 ; 
 	 	 	 s u b s t r   ( i n s t _ s e q   ( 1 ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 	 	 i f   o c i   =   1 
 	 	 	 t h e n   d o ; 
 	 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 1 ) ) ,   n u l l   ( ) ,   2 ) ; 
 	 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( c h e c k _ t a g   ( o c i ) ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g _ n c   ( c h e c k _ t a g   ( 2 ) ,   c o b o l _ $ t e x t _ w d _ o f f ) ; 
 	 	 	 	 c a l l   c o b o l _ g e n _ e r r o r $ r e g _ r e s e t   ( 6 1 ,   r e t r y _ t a g ) ; 
 
 	 	 	 	 o c i   =   2 ; 
 	 	 	 	 o c c u r s _ l i m i t _ p t r   =   a d d r   ( o c c u r s . l e v e l . m a x   ( l ) ) ; 
 	 	 	 	 i n s t _ s e q   ( 4 )   =   " 1 1 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 " b ; 
 	 	 	 	 	 	 / *   t p n z   * / 
 
 	 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g _ n c   ( c h e c k _ t a g   ( 1 ) ,   c o b o l _ $ t e x t _ w d _ o f f ) ; 
 
 	 	 	           e n d ; 
 	 	 	 e l s e   d o ; 
 	 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 1 ) ) ,   n u l l   ( ) ,   2 ) ; 
 	 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( c h e c k _ t a g   ( o c i ) ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 
 	 	 	 	 r e s   =   " 0 " b ; 
 	 	 	           e n d ; 
 
 	 	           e n d ; 
 
 	 	 e n d ; 
 
 / *   B u i l d   M P Y   i n s t r u c t i o n   * / 
 
 	           t e m p   =   m o d   ( s t r u c _ l   ( l ) ,   2 6 2 1 4 4 ) ; 
 
 	           c a l l   m p y _ ; 
 
 / *   B u i l d   A S Q   i n s t r u c t i o n   * / 
 
 	           w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	           s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( i n d e x _ t e m p _ o f f ) ,   2 2 ,   1 5 ) ; 
 
 	           i f   d t b _ a l l o c   =   1 
 	           t h e n   s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 9 ,   9 )   =   " 1 1 1 1 0 1 1 1 0 " b ; 
 	 	 	 	 	 	 / *   U s e   S T Q   7 5 6   * / 
 
 	           i f   l a r g e _ a r r a y 
 	           t h e n   i f   s t r u c _ l   ( l )   > =   2 6 2 1 4 4 
 	 	 t h e n   d o ; 
 	 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 	 	 	 	 	 / *   L D Q   * / 
 	 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( d t b _ t e m p _ o f f ) ,   2 2 ,   1 5 ) ; 
 
 / *   M P Y   o r   Q L S   * / 
 	 	 	 t e m p   =   d i v i d e   ( s t r u c _ l   ( l ) ,   2 6 2 1 4 4 ,   3 5 ,   0 ) ; 
 
 	 	 	 c a l l   m p y _ ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 	 i f   m j   =   0 
 	 	 	 t h e n   d o ; 
 	 	 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 	           e n d ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 e l s e   d o ; 
 	 	 	 	 m j   =   m j   +   1 8 ; 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( m j ) ,   1 9 ,   1 8 ) ; 
 	 	 	           e n d ; 
 
 	 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 / *   A S Q   p r   * / 
 	 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t   -   3 ) ; 
 	 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 9 ,   6 )   =   " 0 0 0 1 0 1 " b ; 
 
 	 	           e n d ; 
 
 	           c a l l   c o b o l _ e m i t   ( i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   w d _ c o u n t ) ; 
 
 	           w d _ c o u n t   =   0 ; 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           r x   =   9 ; 
 	           c a l l   r e l e a s e _ r e g   ( 9 ) ; 
 
 	           i f   m p y _ b i t 
 	           t h e n   d o ; 
 	 	           m p y _ b i t   =   " 0 " b ; 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	           r x   =   8 ; 
 	 	           c a l l   r e l e a s e _ r e g   ( 8 ) ; 
 
 	 	 e n d ; 
 
 	 e n d ; 
 
 
 
 s u b s _ e r r : 
           p r o c ; 
 
 	 e r r o r _ m e s s a g e . m e s s a g e   =   " S u b s c r i p t s   o r   i n d e x   e r r o r   i s   e n c o u n t e r e d " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( e r r o r _ m e s s a g e ) ) ; 
 
 	 s u b s _ e r r o r   =   1 ; 
 
 	 c a l l   e n d _ s u b s c r i p t i o n ; 
 
           e n d ; 
 
 
 
 
 / * [ 5 . 2 - 2 ] * / 
 d c l 	 m j 	 	 f i x e d   b i n ; 
 
 m p y _ : 
           p r o c ; 
 
 / *   G e n e r a t e   m p y   i n s t r u c t i o n   o r   q l s   i n s t r u c t i o n .   * / 
 / *   p a s s i n g   t e m p   a s   t h e   c o n s t a n t   t o   b e   m u l t i p l i e d . * / 
 
 / * [ 5 . 2 - 2 ] * / 
 d c l 	 i 	 	 f i x e d   b i n , 
 	 b i t _ t e m p 	 	 b i t   ( 1 8 ) , 
 	 b i t _ t e s t 	 	 ( 1 8 )   b i t   ( 1 )   d e f i n e d   ( b i t _ t e m p ) ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 m j   =   0 ; 
 
 	 i f   t e m p   =   1 
 	 t h e n   r e t u r n ; 
 
 
 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 	 i f   t e m p   =   0 
 	 t h e n   d o ; 
 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 " b ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 
 	 b i t _ t e m p   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 d o   i   =   1   t o   1 8 ; 
 
 	           i f   b i t _ t e s t   ( i ) 
 	           t h e n   d o ; 
 	 	           i f   s u b s t r   ( b i t _ t e m p ,   i   +   1 ,   1 8   -   i ) 
 	 	           t h e n   g o   t o   m p y _ i n s t ; 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	           e l s e   d o ; 
 	 	 	           m j   =   1 8   -   i ; 
 
 	 	 	           g o   t o   q l s _ i n s t ; 
 	 	 	 e n d ; 
 	 	 e n d ; 
 	 e n d ; 
 
 m p y _ i n s t : 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 i f   m j   =   0 
 	 t h e n   d o ; 
 
 	 	 i f   ^ ( m p y _ b i t ) 
 	 	 t h e n   d o ; 
 	 	 	 m p y _ b i t   =   " 1 " b ; 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 r x   =   8 ; 
 	 	 	 c a l l   g e t _ a _ q   ( 8 ) ; 
 	 	           e n d ; 
 
 / *   m p y   * / 
 
 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 " b ; 
 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 	 r e t u r n ; 
 
 	           e n d ; 
 
 q l s _ i n s t : 	 	 	 	 	 	 / *   q l s   * / 
 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( m j ) ,   1 9 ,   1 8 ) ; 
 
           e n d ; 
 
 
 
 m o v e _ : 
           p r o c ; 	 	 	 	 	 / *   T h i s   p r o c e d u r e   c a l l s   m o v e _ g e n   t o   m o v e   o v e r p u n c h   s i g n   d a t a   t o   t e m p   * / 
 
 / *   i n i t   * / 
 
 	 m o v e _ t o k e n _ p t r   =   a d d r   ( m o v e _ i n _ t o k e n   ( 1 ) ) ; 
 
 	 i f   m o v e _ d a t a _ i n i t   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 t h e n   d o ; 
 	 	 m o v e _ t o k e n _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	 m o v e _ t o k e n _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 4 )   =   a d d r   ( m o v e _ e o s ) ; 
 	 	 m o v e _ t o k e n _ p t r   - >   i n _ t o k e n . n   =   4 ; 
 	 	 m o v e _ d a t a _ i n i t   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	           e n d ; 
 
 	 t e m p _ w k _ p t r   =   n u l l   ( ) ; 
 
 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n   ( t e m p _ w k _ p t r ,   1 0 0 0 ,   d t b _ t e m p _ o f f   *   4 ) ; 
 
 	 m o v e _ t o k e n _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 2 )   =   d n _ p t r ; / *   t y p e   9   * / 
 	 m o v e _ t o k e n _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 3 )   =   t e m p _ w k _ p t r ; 
 	 	 	 	 	 	 / *   t e m p   f o r   r e s u l t   * / 
 
 	 c a l l   c o b o l _ m o v e _ g e n   ( m o v e _ t o k e n _ p t r ) ; 
 
           e n d ; 
 
 
 
 
 
 s u b s _ 2 : 
           p r o c ; 
 
 / *   T h i s   p r o c e d u r e   c a l c u l a t e   t h e   d i s t a n c e ,   i .   e .   t h e   r e l a t i v e   o f f s e t   t o   0   o c c u r e n c e   * / 
 
 	 n l i t _ p t r   =   t e m p _ p t r ; 	 	 	 / *   C o n v e r t   n u m e r i c   l i t e r a l   t o   b i n a r y   * / 
 	 o c c _ n o   =   f i x e d   ( t e m p _ p t r   - >   n u m e r i c _ l i t . l i t e r a l ) ; 
 	 d i s t a n c e   =   s t r u c _ l   ( l )   *   o c c _ n o ; 
 	 i f   ^ p l u s _ s w 
 	 t h e n   d i s t a n c e   =   - d i s t a n c e ; 
 
           e n d ; 
 
 
 
 t a b l e _ e x t _ : 
           p r o c ; 
 
 
 / * 	 T h i s   p r o c e d u r e   i s   u s e d   t o   g e n e r a t e   t h o s e   c o d e s   w h i c h 
 	 	 b u i l d s   u p   t h e   t a b l e   r e g i s t e r   a t   t h e   e x e c u t i o n   t i m e 	 * / 
 
 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 j   =   5 ; 
 	 c a l l   g e t _ r e g   ( 5 ) ; 
 
 	 t a b l e _ r e g   =   r e g _ n o ; 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 j   =   2 ; 
 	 c a l l   g e t _ r e g   ( 2 ) ; 
 
 / * [ 5 . 0 - 1 ] * / 
 	 i f   i n d 
 	 t h e n   i f   ^ p a c k e d _ d e c _ b i t 	 	 	 / * [ 5 . 0 - 1 ] * / 
 	           t h e n   d o ; 
 	 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 1 " b ; 
 	 	 	 	 	 	 / *   Q R S   1   * / 
 	 	 	 	 	 	 / * [ 5 . 0 - 1 ] * / 
 	 	           w d _ c o u n t   =   w d _ c o u n t   +   1 ; 	 	 / * [ 5 . 0 - 1 ] * / 
 	 	 e n d ; 
 
 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 " b ; 
 	 	 	 	 	 	 / *   E A X N   0 , q l   * / 
 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   2 5 ,   3 )   =   r e g _ n o ; 
 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 " b ; 
 	 	 	 	 	 	 / *   Q L S   2   * / 
 
 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 / * 	 S T Q   p r 6 | t a b l e _ e x t _ o f f   * / 
 
 	 i f   t a b l e _ e x t _ o f f   =   0 
 	 t h e n   c a l l   c o b o l _ a l l o c $ s t a c k   ( 4 ,   1 ,   t a b l e _ e x t _ o f f ) ; 
 
 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t a b l e _ e x t _ o f f ) ,   2 2 ,   1 5 ) ; 
 
 / * 	 L D X M   p r 6 | t a b l e _ e x t _ o f f 	 * / 
 
 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t   -   1 ) ,   4 ,   1 5 ) ; 
 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   2 5 ,   3 )   =   t a b l e _ r e g ; 
 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 / * 	 A N X N   1 7 7 7 7 7 , d u 	 * / 
 
 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   2 5 ,   3 )   =   r e g _ n o ; 
 
           e n d ; 
 
 
 
 e n d _ s u b s _ p r o c : 
           p r o c ; 
 
 	 i f   s u b s _ v a r   >   0 	 	 	 	 / *   l o a d   v a r i a b l e   s u b s c r i p t s   s u m   t o   i n d e x   r e g   * / 
 	 t h e n   d o ; 
 	 	 n o _ r e g _ f l a g   =   0 ; 
 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 	 	 i f   l a r g e _ a r r a y 
 	 	 t h e n   d o ; 
 	 	 	 r x   =   9 ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 c a l l   g e t _ a _ q   ( 9 ) ; 
 
 	 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 
 / * 	 L D Q   p r 6 | n 	 * / 
 
 	 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( i n d e x _ t e m p _ o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 	 	 	 	 / * [ 5 . 0 - 1 ] * / 
 	 	 	 i n d   =   " 0 " b ; 
 	 	 	 c a l l   t a b l e _ e x t _ ; 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 c a l l   r e l e a s e _ r e g   ( 9 ) ; 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 
 / * 	 L X L N   p r 6 | n 	 * / 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 	 j   =   2 ; 
 	 	 	 c a l l   g e t _ r e g   ( 2 ) ; 
 	 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   2 5 ,   3 )   =   r e g _ n o ; 
 	 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( i n d e x _ t e m p _ o f f ) ,   2 2 ,   1 5 ) ; 
 
 	 	           e n d ; 
 	           e n d ; 	 	 	 	 	 / *     A d d   l i t e r a l   s u b s c r i p t s   s u m   t o   i n d e x   r e g   * / 
 	 a j _ o f f   =   a j _ o f f   -   i n d e x _ t e m p ; 
 	 i f   s u b s _ v a r   =   0 
 	 t h e n   n o _ r e g _ f l a g   =   1 ; 
 
 	 c a l l   e m i t ; 
 
           e n d ; 
 
 e m i t : 
           p r o c ; 
 
 / *   F i x   t h e   b u g   f o r   l i t e r a l   s u b s c r i p t   i n   t y p e   7   a d d r e s s i n g .   0 2 - 2 4 - 7 7 	 * / 
 
 	 i f   t   =   7   &   i n d e x _ t e m p   ^ =   0 
 	 t h e n   d o ; 
 
 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 	 	 i f   w d _ c o u n t   =   1 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 t h e n   d o ; 
 	 	 	 j   =   2 ; 
 	 	 	 c a l l   g e t _ r e g   ( 2 ) ; 
 	 	 	 i n s t _ b u f f . i n s t _ w d   ( 1 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 	           e n d ; 
 	 	 e l s e   i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 
 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( i n d e x _ t e m p ) ,   1 9 ,   1 8 ) ; 
 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   2 5 ,   3 )   =   r e g _ n o ; 
 
 	           e n d ; 
 
 / *   R e s t o r e   c o n t e n t   o f   A   &   Q       * / 
 / *   E m i t   i n s t r u c t i o n s   * / 
 
 	 i f   w d _ c o u n t   ^ =   0 
 	 t h e n   c a l l   c o b o l _ e m i t   ( i n s t _ b u f f _ p t r ,   r e l o c _ b u f f _ p t r ,   w d _ c o u n t ) ; 
 
 	 c a l l   e n d _ s u b s c r i p t i o n ; 
 
           e n d ; 
 
 i n d e x i n g : 
           p r o c ; 
 
 	 / * * * . . . . .   d c l   M Y _ N A M E   c h a r   ( 8 )   i n t   s t a t i c   i n i t   ( " I N D E X I N G " ) ; 
 	 / * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( M Y _ N A M E ) ; / * * / 
 
 	 e r r   =   " 0 " b ; 
 
 	 d o   w h i l e   ( " 1 " b ) ; 
 
 	           i n d _ p t r   =   t e m p _ p t r ; 
 
 	           i f   t o k e n _ t e m p . t y p e   ^ =   1 0 
 	           t h e n   d o ; 
 	 	           e r r   =   " 1 " b ; 
 	 	           g o   t o   i n d x ; 
 	 	 e n d ; 
 
 	           n o _ r e g _ f l a g   =   0 ; 
 
 	           i f   ( i n d e x _ a r r a y _ f l a g   ^ =   0 )   &   ( ^ p a c k e d _ d e c _ b i t )   &   ( i t e m _ c o u n t   ( l )   =   1 )   &   ^ l a r g e _ a r r a y   &   ( s u b s _ n o   =   1 ) 
 	           t h e n   d o ; 
 
 	 	           s a v e _ t e m p _ p t r   =   a d d r e l   ( s u b s _ p t r ,   - 2 ) ; 
 
 	 	           i f   s a v e _ t e m p _ p t r   ^ =   n u l l   ( ) 
 	 	           t h e n   i f   s a v e _ t e m p _ p t r   - >   t o k e n _ t e m p . t y p e   ^ =   1 
 	 	 	 t h e n   d o ; 
 	 	 	 	 i n d e x _ s a v e _ f l a g   =   1 ; 
 
 	 	 	 	 i f   i n d e x _ a r r a y _ i   >   0 
 	 	 	 	 t h e n   d o   i n d e x _ i   =   1   t o   i n d e x _ a r r a y _ i ; 
 
 	 	 	 	 	 i f   ( i n d e x _ n a m e . s e g _ n u m   =   i n d e x _ a r r a y . s e g _ n u m   ( i n d e x _ i ) ) 
 	 	 	 	 	           &   ( i n d e x _ n a m e . o f f s e t   =   i n d e x _ a r r a y . o f f s e t   ( i n d e x _ i ) ) 
 	 	 	 	 	 t h e n   d o ; 
 	 	 	 	 	 	 i n d e x _ o p t i _ f l a g   =   1 ; 
 	 	 	 	 	 	 r e g _ n o   =   i n d e x _ a r r a y . i n d e x _ r e g   ( i n d e x _ i ) ; 
 
 	 	 	 	 	 	 c a l l   e n d _ i n d e x _ p r o c ; 
 	 	 	 	 	 	 c a l l   e m i t ; 
 
 	 	 	 	 	 	 g o   t o   i n d x ; 
 
 	 	 	 	 	           e n d ; 
 
 	 	 	 	           e n d ; 
 
 	 	 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 	 	 	           e n d ; 
 	 	 e n d ; 
 
 	           e l s e   w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 
 / *   L D Q   2 3 6   * / 
 
 	           i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	           t e m p   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( i n d e x _ n a m e . o f f s e t ) ,   1 ,   3 4 ) ) ; 
 	           m s e g _ n o   =   i n d e x _ n a m e . s e g _ n u m ; 
 
 	           c a l l   g e t _ a r ; 
 
 	           s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 ,   3 )   =   p t r _ n o ; 
 	           s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	           i f   i n d _ c o u n t   >   1 
 	           t h e n   s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   1 9 ,   9 )   =   " 0 0 0 1 1 1 1 1 0 " b ; 
 	 	 	 	 	 	 / *   A D Q   0 7 6   * / 
 
 / * 	 R e l e a s e   t h e   t e m p   p o i n t e r   r e g .   f o r   s u b s c r i p t .   1 / 2 0 / 7 6   b c 	 * / 
 
 	           c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y   ( 2 ,   0 ,   p t r _ n o ) ; 
 
 	           a d d r _ p t r   ( f i x e d   ( p t r _ n o ) )   =   0 ; 
 
 	           r e s   =   " 1 " b ; 
 
 / *   G e t   n e x t   t o k e n   * / 
 
 	           d o   w h i l e   ( r e s ) ; 
 
 	 	 s u b s _ p t r   =   a d d r e l   ( s u b s _ p t r ,   - 2 ) ; 
 	 	 t e m p _ p t r   =   s u b s _ t o k e n _ p t r ; 
 
 	 	 i f   t e m p _ p t r   =   n u l l   ( ) 
 	 	 t h e n   d o ; 
 	 	 	 l   =   l   +   1 ; 
 	 	 	 c a l l   e n d _ i n d e x _ p r o c ; 
 	 	 	 c a l l   e m i t ; 
 
 	 	 	 g o   t o   i n d x ; 
 	 	           e n d ; 
 	 	 e l s e   i f   t o k e n _ t e m p . t y p e   =   1 
 	 	 t h e n   d o ; 
 	 	 	 i t e m _ c o u n t   ( l )   =   i t e m _ c o u n t   ( l )   +   1 ; 
 	 	 	 c a l l   i n d x _ 1 ; 
 
 	 	 	 i f   e r r 
 	 	 	 t h e n   g o   t o   i n d x ; 
 
 	 	 	 c a l l   s u b s _ 2 ; 
 
 	 	 	 i n d e x _ t e m p   =   i n d e x _ t e m p   +   d i s t a n c e ; 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 l   =   l   +   1 ; 
 
 	 	 	 i f   l   >   s u b s _ n o 
 	 	 	 t h e n   d o ; 
 	 	 	 	 c a l l   e n d _ i n d e x _ p r o c ; 
 	 	 	 	 c a l l   e m i t ; 
 	 	 	 	 g o   t o   i n d x ; 
 	 	 	           e n d ; 
 
 	 	 	 i t e m _ c o u n t   ( l )   =   1 ; 
 	 	 	 i n d e x _ s a v e _ f l a g   =   0 ; 
 	 	 	 i n d e x _ o p t i _ f l a g   =   0 ; 
 
 	 	 	 i f   t o k e n _ t e m p . t y p e   =   1 0 
 	 	 	 t h e n   d o ; 
 	 	 	 	 i n d _ c o u n t   =   i n d _ c o u n t   +   1 ; 
 	 	 	 	 r e s   =   " 0 " b ; 
 	 	 	           e n d ; 
 	 	 	 e l s e   d o ; 
 	 	 	 	 i f   t o k e n _ t e m p . t y p e   =   2 
 	 	 	 	 t h e n   p l u s _ s w   =   " 1 " b ; 
 	 	 	 	 e l s e   d o ; 
 	 	 	 	 	 c a l l   i n d x _ 1 ; 
 	 	 	 	 	 i f   e r r 
 	 	 	 	 	 t h e n   g o   t o   i n d x ; 
 	 	 	 	           e n d ; 
 
 	 	 	 	 c a l l   s u b s _ 2 ; 
 
 	 	 	 	 i n d e x _ t e m p   =   i n d e x _ t e m p   +   d i s t a n c e ; 
 	 	 	           e n d ; 
 	 	           e n d ; 
 	           e n d ; 
 
 
 
 	 e n d ; 
 i n d x : 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
           e n d ; 
 
 i n d x _ 1 : 
           p r o c ; 
 
 	 i f   t o k e n _ t e m p . t y p e   =   1 
 	 t h e n   d o ; 
 	 	 r w _ p t r   =   t e m p _ p t r ; 
 
 	 	 i f   r e s e r v e d _ w o r d . k e y   =   1 8 2 
 	 	 t h e n   p l u s _ s w   =   " 1 " b ; 
 	 	 e l s e   p l u s _ s w   =   " 0 " b ; 
 	           e n d ; 
 
 	 s u b s _ p t r   =   a d d r e l   ( s u b s _ p t r ,   - 2 ) ; 
 	 t e m p _ p t r   =   s u b s _ t o k e n _ p t r ; 
 
 	 i f   t o k e n _ t e m p . t y p e   ^ =   2 
 	 t h e n   e r r   =   " 1 " b ; 
 
           e n d ; 
 
 
 
 e n d _ i n d e x _ p r o c : 
           p r o c ; 
 
 / *   E A X n | 0 , Q L   * / 
 / * [ 5 . 0 - 1 ] * / 
 	 i f   l a r g e _ a r r a y 	 	 	 	 / * [ 5 . 0 - 1 ] * / 
 	 t h e n   d o ; 
 	 	 i n d   =   " 1 " b ; 
 	 	 c a l l   t a b l e _ e x t _ ; 
 	           e n d ; 
 
 	 e l s e   i f   i n d e x _ o p t i _ f l a g   =   0 
 	 t h e n   d o ; 
 
 	 	 i f   ^ p a c k e d _ d e c _ b i t 
 	 	 t h e n   d o ; 
 	 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 " b ; 
 
 	 	           e n d ; 
 
 	 	 w d _ c o u n t   =   w d _ c o u n t   +   1 ; 
 	 	 i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 " b ; 
 
 / * [ 5 . 2 - 2 ] * / 
 	 	 j   =   2 ; 
 	 	 c a l l   g e t _ r e g   ( 2 ) ; 
 
 	 	 s u b s t r   ( i n s t _ b u f f . i n s t _ w d   ( w d _ c o u n t ) ,   2 5 ,   3 )   =   r e g _ n o ; 
 
 	 	 i f   i n d e x _ s a v e _ f l a g   =   1 
 	 	 t h e n   d o ; 
 	 	 	 i n d e x _ a r r a y _ i   =   i n d e x _ a r r a y _ i   +   1 ; 
 	 	 	 i n d e x _ a r r a y . s e g _ n u m   ( i n d e x _ a r r a y _ i )   =   i n d e x _ n a m e . s e g _ n u m ; 
 	 	 	 i n d e x _ a r r a y . o f f s e t   ( i n d e x _ a r r a y _ i )   =   i n d e x _ n a m e . o f f s e t ; 
 	 	 	 i n d e x _ a r r a y . i n d e x _ r e g   ( i n d e x _ a r r a y _ i )   =   r e g _ n o ; 
 	 	           e n d ; 
 	           e n d ; 
 
 	 a j _ o f f   =   a j _ o f f   -   i n d e x _ t e m p ; 
 
           e n d ; 
 
 e n d _ s u b s c r i p t i o n : 
           p r o c ; 
 
 
 
 	 d n _ p t r   =   d n _ p t r _ s a v e ; 
 	 t e m p   =   t e m p _ s a v e ; 
 	 r e l o c _ p t r   =   r e l o c _ p t r _ s a v e ; 
 	 m s e g _ n o   =   m s e g _ n o _ s a v e ; 
 
           e n d ; 
 
 s u b x : 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( M Y _ N A M E ) ; / * * / 
           e n d   s u b s c r i p t s ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 	 	 	 / *   d n _ p t r   a l w a y s   p o i n t s   t o   t h e   c u r r e n t   t y p e   9   t o k e n . * / 
 
 d c l 	 e r r 	 	 b i t   ( 1 ) ; 
 
 / *   t e m p   s t r u c   t o   g e t   s u b s c r i p t s   t o k e n   p o i n t e r   * / 
 
 d c l 	 1   S _ T 	 	 b a s e d   ( d n _ p t r ) , 	 	 / * [ 5 . 2 - 1 * / 
 	     2   f i l l e r 1 	 c h a r   ( 1 6 ) , 
 	     2   s u b s _ s e g n o 	 b i t   ( 1 8 )   u n a l i g n e d , 
 	     2   s u b s _ o f f s e t 	 b i t   ( 1 8 )   u n a l i g n e d , 
 	     2   f i l l e r 2 	 c h a r   ( 2 4 ) ; 
 
 / *   e m i t   g e n e r a t o r   * / 
 
 d c l 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 / *   E r r o r   h a n d l e r   * / 
 
 d c l 	 s i g n a l _ 	 	 e n t r y   ( c h a r   ( * ) ,   p t r ,   p t r ) ; 
 d c l 	 1   e r r o r _ m e s s a g e , 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	     2   n a m e 	 	 c h a r   ( 3 2 ) , 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	     2   l e n g t h 	 f i x e d   b i n , 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	     2   m e s s a g e 	 c h a r   ( 8 0 ) ; 
 
 
 / * [ 5 . 2 - 2 ] * / 
 d c l 	 ( i ,   j ,   r x i ,   m s e g _ n o ,   t ,   t e m p 1 ,   d e c _ b i n _ t e m p ,   a j _ o f f ,   t e m p _ p ) 
 	 	 	 f i x e d   b i n   i n i t   ( 0 ) ; 	 	 / * [ 5 . 2 - 1 ] * / 
 d c l 	 t e m p 	 	 f i x e d   b i n   ( 3 5 )   i n i t   ( 0 ) , 
 	 t e m p _ 2 4 	 	 f i x e d   b i n   ( 2 4 ) ; 
 
 d c l 	 ( p t r _ n o ,   r e g _ n o ) 	 b i t   ( 3 )   i n i t   ( " 0 0 0 " b ) ; 
 
 d c l 	 m s e g _ n o _ b i t 	 b i t   ( 3 6 )   b a s e d   ( a d d r   ( m s e g _ n o ) ) , 
 	 ( s p e c i a l _ b i t ,   r e g _ b i t ,   d i s p _ b i t ) 
 	 	 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	 m f _ p t r 	 	 p t r , 
 	 m f _ b i t 	 	 b i t   ( 7 )   b a s e d   ( m f _ p t r ) , 
 	 1   m f _ t e m p 	 	 b a s e d   ( m f _ p t r ) , 
 	     2   p r _ s p e c 	 b i t   ( 1 )   u n a l i g n e d , 
 	     2   r e g _ o r _ l e n g t h 	 b i t   ( 1 )   u n a l i g n e d , 
 	     2   z e r o 2 	 	 b i t   ( 1 )   u n a l i g n e d , 
 	     2   r e g _ m o d 	 b i t   ( 4 )   u n a l i g n e d ; 
 
 d c l 	 d e s c _ n o _ c h a r 	 c h a r   ( 3 )   i n i t   ( " 1 2 3 " ) ; 
 
 / *   F o r   s i g n / u n s i g n .         * / 
 / * d c l 	 m v t _ t a b l e 	 c h a r ( 1 2 8 )   s t a t i c   i n t   i n i t ( 
 / * 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " ) ; 
 / * d c l 	 ( m v t _ r e l _ o f f , m v t _ t e m p _ o f f ) 	 f i x e d   b i n , 
 / * 	 m v t _ i n i t 	 	 f i x e d   b i n ( 2 4 )   s t a t i c   i n t   i n i t ( 0 ) ; 
 / * d c l 	 m v t _ o f f 	 f i x e d   b i n ( 2 4 )   s t a t i c   i n t   i n i t ( 0 ) ; 
 * / 
 
 d c l 	 1   i n s t _ b 1 	 	 a l i g n e d , 
 	     2   w d 	 	 b i t   ( 3 6 ) , 
 	     2   w d 1 	 	 b i t   ( 3 6 ) , 
 	     2   w d 2 	 	 b i t   ( 3 6 ) , 
 	     2   w d 3 	 	 b i t   ( 3 6 ) , 
 	     2   w d 4 	 	 b i t   ( 3 6 ) ; 
 d c l 	 c o b o l _ r e s e t _ r $ p o i n t e r _ r e g i s t e r 
 	 	 	 e n t r y   ( b i t   ( 3 ) ) ; 
 d c l 	 e p p r _ o p 	 	 b i t   ( 1 0 ) ; 
 d c l 	 a d w p _ o p 	 	 b i t   ( 1 0 ) ; 
 d c l 	 r e s 	 	 b i t   ( 1 ) ; 
 d c l 	 ( r x ,   r _ m a x ) 	 f i x e d   b i n ; 
 d c l 	 a d w p _ d u 	 	 f i x e d   b i n   ( 3 5 ) ; 
 d c l 	 a d d r _ r e g 	 	 ( 0 : 9 )   f i x e d   b i n ; 
 d c l 	 a d d r _ p t r 	 	 ( 0 : 9 )   f i x e d   b i n ; 
 d c l 	 i n s t _ b 1 _ p t r 	 p t r ; 
 d c l 	 r e l o c _ b 1 _ p t r 	 p t r ; 
 
 d c l 	 1   r e l o c _ b 1 , 
 	     2   l 	 	 b i t   ( 5 )   a l i g n e d , 
 	     2   r 	 	 b i t   ( 5 )   a l i g n e d ; 
 d c l 	 b 1 _ c o u n t 	 	 f i x e d   b i n ; 
 
 d c l 	 p 	 	 f i x e d   b i n ; 	 	 / *   u s e d   b y   g e t _ a r   * / 
 d c l 	 i n d e x _ a r r a y _ f l a g 	 f i x e d   b i n , 
 	 i n d e x _ a r r a y _ i 	 f i x e d   b i n ; 
 d c l 	 a r _ b u f f 	 	 c h a r   ( 3 2 ) ; 	 	 / *   b u f f e r   f o r   s t r u c t u r e   * / 
 d c l 	 s u b s _ e r r o r 	 f i x e d   b i n ; 	 	 / *   I f   = 1 ,   s u b s c r i p t i n g   e r r o r   i s   e n c o u n t e r e d   * / 
 d c l 	 a j _ c o n s t _ o f f 	 ( 3 )   f i x e d   b i n ; 	 	 / *   A j u s t   c o n s t a n t   o f f s e t   i f   c o b o l _ a d d r   e m i t s   c o d e s   * / 
 d c l 	 n o _ r e g _ f l a g 	 f i x e d   b i n ; 
 d c l 	 t e x t _ w d _ o f f _ s a v e 	 f i x e d   b i n ; 
 
 
 d c l 	 l a r g e _ a r r a y 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	 l a r g e _ a r r a y _ s a v e 	 b i t   ( 1 ) , 
 	 t a b l e _ r e g 	 	 b i t   ( 3 ) , 
 	 t a b l e _ p a r a 	 f i x e d   b i n   ( 3 5 )   i n i t   ( 6 5 5 3 6 ) , 
 	 t a b l e _ r a n g e 	 f i x e d   b i n , 
 	 t a b l e _ e x t _ o f f 	 f i x e d   b i n , 
 	 t a b l e _ l e n g t h 	 f i x e d   b i n   ( 3 5 ) ; 
 
 d c l 	 o p r 	 	 f i x e d   b i n , 
 	 i n d 	 	 b i t   ( 1 ) ; 
 
 / * 	 s u b s c r i p t   c h e c k . 	 * / 
 
 d c l 	 r e t r y _ t a g 	 	 f i x e d   b i n , 
 	 c h e c k _ t a g 	 	 ( 2 )   f i x e d   b i n , 
 	 o c c u r s _ l i m i t _ p t r 	 p t r , 
 	 o c c u r s _ l i m i t 	 c h a r   ( 4 )   b a s e d   ( o c c u r s _ l i m i t _ p t r ) , 
 	 o c i 	 	 f i x e d   b i n , 
 	 i n s t _ s e q 	 	 ( 6 )   b i t   ( 1 8 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *   c m p q   r a n g e , i c 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ,   " 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *   t p l     g o o d , i c 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *   t r a 	 e r r o r , i c 	 * / 
 
 / * 	 D e c l a r a t i o n   f o r   e x t e r n a l   e n t r i e s . 	 * / 
 
 d c l 	 c o b o l _ g e t _ s i z e 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ r e l e a s e 
 	 	 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g _ n c   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ p o o l 	 e n t r y   ( c h a r   ( * ) ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) )   e x t ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ g e n _ e r r o r $ r e g _ r e s e t 
 	 	 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ p o i n t e r _ r e g i s t e r $ g e t 
 	 	 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y 
 	 	 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   b i t   ( 3 ) ) ; 
 
 / *   P o i n t e r   r e g i s t e r   m a n a g e r   * / 
 / * 
 	 T h i s   e n t r y   o b t a i n s   a   p o i n t e r   r e g i s t e r   f o r   t h e   c a l l e r . 
 	 * / 
 d c l 	 s t r u c _ p t r 	 	 p t r ; 
 
 / *   s t r u c _ p t r   i s   a   p o i n t e r   t o   t h e   f o l l o w i n g   s t r u c t u r e .   ( i n p u t )   * / 
 
 d c l 	 1   s t r u c t u r e 	 b a s e d   ( s t r u c _ p t r ) , 
 	     2   w h a t _ p o i n t e r 	 f i x e d   b i n , 
 	     2   p o i n t e r _ n o 	 b i t   ( 3 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   s w i t c h 	 f i x e d   b i n , 
 	     2   s e g n o 	 	 f i x e d   b i n , 
 	     2   o f f s e t 	 f i x e d   b i n   ( 2 4 ) , 
 	     2   r e s e t 	 	 f i x e d   b i n ; 
 
 / * 
 w h a t _ p o i n t e r   s p e c i f i e s   t h e   p o i n t e r   r e g i s t e r   t o   b e   o b t a i n e d . 
 	 ( i n p u t ) 
 	 0 - 7   -   g e t   t h i s   p o i n t e r   r e g i s t e r . 
 	   1 0   -   g e t   a n y   t e m p o r a r y   p o i n t e r   r e g i s t e r . 
 p o i n t e r _ n o   i s   t h e   r e g i s t e r   t h a t   i s   a s s i g n e d ,   i n   t h e 
 	 r a n g e   0 - 7 .   ( o u t p u t ) 
 l o c k 	 c a n   h a v e   t h e   f o l l o w i n g   v a l u e s .   ( i n p u t ) 
 	 0   -   d i d   n o t   c h a n g e   t h e   l o c k   o r   u n l o c k   s t a t u s 
 	         o f   t h i s   p o i n t e r . 
 	 1   -   l o c k   t h e   p o i n t e r   r e g i s t e r . 
 	 2   -   u n l o c k   a l l   p o i n t e r   r e g i s t e r s . 
 	 3   -   u n l o c k   a l l   p o i n t e r   r e g i s t e r s   a n d   A   r e g i s t e r 
 	         a n d   Q   r e g i s t e r   a n d   a l l   i n d e x   r e g i s t e r s . 
 s w i t c h 	 h a s   t h e   f o l l o w i n g   v a l u e s .   ( i n p u t ) 
 	 0   -   t h e   r e g i s t e r   w i l l   n o t   c o n t a i n   a   v a l u e 
 	         t h a t   i s   m e a n i n g f u l   f o r   r e g i s t e r   o p t i m i z a t i o n . 
 	         S e g m e n t   n u m b e r   a n d   o f f s e t   a r e   m e a n i n g l e s s . 
 	 1   -   a   s e g m e n t   n u m b e r   a n d   w o r d   o f f s e t   a r e   s u p p l i e d . 
 	 2   -   a   s e g m e n t   n u m b e r   a n d   c h a r a c t e r   o f f s e t   a r e   s u p p l i e d 
 s e g n o 	 i s   t h e   s e g m e n t   n u m b e r .   ( i n p u t ) 
 	 v a l u e s   r e c o g n i z e d   a r e : 
 	         2   -   c o b o l   d a t a . 
 	   1 0 0 0   -   s t a c k . 
 	   3 0 0 0   -   c o n s t a n t s . 
 	   3 0 0 2   -   m u l t i c s   l i n k a g e . 
 	   4 0 0 0   -   c o b o l   o p e r a t o r s . 
 	 2 n n n n   -   c o b o l   l i n k a g e . 
 	       - n   -   l i n k   i n   m u l t i c s   l i n k a g e . 
 o f f s e t 	 i s   t h e   w o r d   o r   c h a r a c t e r   o f f s e t   ( d e p e n d i n g   o n   s w i t c h ) . 
 	 A n y   c a s e   w h e n   t h e   o f f s e t   i s   m e a n i n g l e s s   a   0   v a l u e 
 	 m u s t   b e   u s e d .   
 	 I f   a   c h a r a c t e r   o f f s e t   i s   p r o v i d e d   o n l y   t h e   w o r d 
 	 p o r t i o n   i s   m e a n i n g f u l .   ( i n p u t ) 
 r e s e t 	 s p e c i f i e s   t h a t   t h e   c a l l e r   h a s   r e q u e s t e d   a   r e g i s t e r 
 	 t h a t   m u s t   h a v e   a   p r e s e t   v a l u e .   F o r   e x a m p l e   a   p r e s e t 
 	 r e g i s t e r   t o   c o b o l   d a t a   o r   t h e   p o i n t e r   t o   p l / 1   o p e r a t o r s 
 	 ( l i k e l y ) .   T h i s   i s   o n l y   o f   i n t e r e s t   t o   c a l l e r s 
 	 w h o   r e q u e s t   a   s p e c i f i c   r e g i s t e r   ( w h a t _ p o i n t e r   =   0 - 7 ) 
 
 	 S u c h   c a l l e r s   s h o u l d   t e s t   r e s e t .   I f   i t   i s   1 ,   a   c a l l   t o 
 
 	 c o b o l _ r e s e t _ r   s h o u l d   b e   m a d e   i n   o r d e r 
 	 t o   e m i t   i n s t r u c t i o n s   t o   r e l o a d   t h e   r e g i s t e r   t o 
 	 i t s   p r o p e r   v a l u e . 
 
 N o t e s : 
 1 .   I f   s w i t c h   h a s   a   n o n   z e r o   v a l u e   a n d   t h e   p o i n t e r   r e g i s t e r 
 	 d i d   n o t   c o n t a i n   t h e   s p e c i f i e d   s e g n o   a n d   o f f s e t   t h i s 
 	 u t i l i t y   w i l l   e m i t   i n s t r u c t i o n s   t o   l o a d 
 	 t h e   p o i n t e r   r e g i s t e r . 
 2 .   ( a )   G e n e r a l l y   a   r e g i s t e r   s h o u l d   n o t   b e   l o c k e d . 
 	 ( b )   E x c e p t i o n s   w o u l d   b e   t h e   c a s e   w h e n     ( 1 )   s e v e r a l 
 	 c a l l s   m u s t   b e   m a k e   t o   t h i s   u t i l i t y   a n d   t h e   c a l l e r 
 	 d i d   n o t   w i s h   t o   o b t a i n   t h e   s a m e   r e g i s t e r   ( 2 )   C a l l s 
 	 t o   t h i s   u t i l i t y   a r e   i n t e r s p u r c e d   w i t h   c a l l s   t o   t h e 
 	 a d d r e s s a b i l i t y   u t i l i t i e s   a n d   t h e   u s e r   d i d   n o t   w i s h   t o 
 	 o b t a i n   t h e   s a m e   r e g i s t e r . 
 
 3 .   T h e r e   i s   n o   n e e d   t o   c a l l   t o   g e t   p o i n t e r   r e g i s t e r   6   ( t h e 
 
 	 s t a c k   f r a m e ) .   W e   c a n   a l w a y s   a s s u m e   t h i s   i s   s e t . 
 4 .   I f   t h e   c a l l e r   r e q u e s t s   a   s p e c i f i c   p o i n t e r   r e g i s t e r 
 	 w h o ' s   p r i o r i t y   w a s   l o c k   a   c o m p i l e   t i m e   e r r o r   w i l l   o c c u r . 
 	 T h i s   m a y   c h a n g e   i f   w e   n e e d   m o r e   s o p h i s t i c a t e d 
 	 p o i n t e r   r e g i s t e r   h a n d l i n g . 
 	 	 * / 
 
 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 
 
 
 / * 	 T h e   f o l l o w i n g s   a r e   f o r   t h e   r e g i s t e r   s t r u c t u r e 	 * / 
 
 d c l 	 r e g _ s t r u c _ p t r 	 p t r , 	 	 	 / *   r e g _ s t r u c _ p t r   i s   a   p o i n t e r   t o   t h e   f o l l o w i n g   s t r u c t u r e   ( i n p u t )   * / 
 	 1   r e g _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n u m 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   p o i n t e r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 / * 
 w h a t _ r e g 	 s p e c i f i e s   t h e   r e g i s t e r   t o   b e   o b t a i n e d . 	 ( i n p u t ) 
 	 0   -   A   o r   Q   o r   a n y   i n d e x   r e g i s t e r . 
 	 1   -   A   r e g i s t e r . 
 	 2   -   Q   r e g i s t e r . 
 	 3   -   A   a n d   Q   r e g i s t e r s . 
 	 4   -   A   o r   Q   r e g i s t e r . 
 	 5   -   a n y   i n d e x   r e g i s t e r . 
 	 1 n   -   i n d e x   r e g i s t e r   n . 
 
 r e g _ n u m 	 i s   t h e   r e g i s t e r   t h a t   i s   a s s i g n e d .   ( o u t p u t ) . 
 	 1   -   A   r e g i s t e r . 
 	 2   -   Q   r e g i s t e r . 
 	 3   -   A   a n d   Q   r e g i s t e r s . 
 	 1 n   -   i n d e x   r e g i s t e r   n . 
 
 l o c k 	 c a n   h a v e   t h e   f o l l o w i n g   v a l u e s .   ( i n p u t ) . 
 	 0   -   d o   n o t   c h a n g e   t h e   l o c k   o r   u n l o c k   s t a t u s   o f   t h e   r e g i s t e r . 
 	 1   -   l o c k   t h i s   r e g i s t e r . 
 	 2   -   u n l o c k   a l l   i n d e x   r e g i s t e r s   a n d   t h e   A   a n d   Q   r e g i s t e r s . 
 	 3   -   u n l o c k   a l l   i n d e x   r e g i s t e r s   a n d   t h e   A   a n d   Q   r e g i s t e r s 
 	         a n d   a l l   p o i n t e r   r e g i s t e r s . 
 a l r e a d y _ t h e r e 	 h a s   t h e   f o l l o w o u t g   v a l u e s .   ( o u t p u t ) . 
 	 0   -   t h e   r e g i s t e r   m u s t   b e   l o a d e d . 
 	 1   -   t h e   s p e c i f i e d   c o n t e n t s   a r e   a l r e a d y   i n   t h e   r e g i s t e r 
 	         a n d   i t   d o e s   n o t   n e e d   t o   l o a d e d . 
 
 c o n t a i n s 	 s p e c i f i e s   t h e   f o r m   o f   t h e   c o n t e n t s   o f   t h e   r e g i s t e r .   ( i n p u t ) . 
 	 0   -   t h e   r e g i s t e r   w i l l   n o t   c o n t a i n   a   v a l u e   t h a t   i s   m e a n i n g f u l 
 	         f o r   r e g i s t e r   o p t i m a t i z a t i o n . 
 	         p o i n t e r   a n d   l i t e r a l   a r e   n o t   m e a n i n g f u l . 
 	 1   -   t h e   r e g i s t e r   w i l l   c o n t a i n   a   d a t a   i t e m . 
 	         p o i n t e r   m u s t   h a v e   a   m e a n i n g f u l   v a l u e . 
 	 2   -   t h e   r e g i s t e r   w i l l   c o n t a i n   t h e   v a l u e   s p e c i f i e d   i n   " l i t e r a l " . 
 	 3   -   t h e   r e g i s t e r   w i l l   c o n t a i n   a   c o m p u t e d   s u b s c r i p t ,   p o i n t e r   m u s t 
 	         h a v e   a   m e a n i n g f u l   v a l u e . 
 	 4   -   t h e   r e g i s t e r   w i l l   c o n t a i n   a   c o m p u t e d   i n d e x , 
 	         p o i n t e r   m u s t   h a v e   a   m e a n i n g f u l   v a l u e . 
 	 5   -   t h e   r e g i s t e r   w i l l   c o n t a i n   a   m o d i f i e d   c o m p u t e d   i n d e x , 
 	         p o i n t e r   m u s t   h a v e   a   m e a n i n g f u l   v a l u e . 
 
 	 N o t e : 	 T h e   v a l u e s   3 ,   4   a n d   5   a r e   i n t e n d e d   f o r     t h e   u s e   b y 
 	         t h e   a d d r e s s i b i l i t y   h a n d l e r   a n d   s h o u l d   n o t   b e   o f   i n t e r e s t 
 	         t o   t h e   m o s t   g e n e r a t o r s . 
 
 p o i n t e r 	 i s   o n e   o f   t h e   f o l l o w i n g : 
 	 ( a )   -   A   p o i n t e r   t o   a   t y p e   9   t o k e n .   I n   t h i s   c a s e   " c o n t a i n s "   i s   1   ( d a t a   i t e m ) . 
 	 ( b )   -   A   p o i n t e r   t o   a   s t r u c t u r e   ( t o   b e   d e f i n e d )   f o r   i n d e x   o r   s u b s c r i p t 
 	         c o m p u t a t i o n s .   I n   t h i s   c a s e ,   " c o n t a i n s "   i s   3   ( s u b s c r i p t ) ,   4 
 	         ( i n d e x )   o r   5   ( m o d i f i e d   i n d e x ) . 
 
 l i t e r a l 	 i s   t h e   l i t e r a l   v a l u e   t h a t   w i l l   b e   i n   t h e   r e g i s t e r . 
 
 	 * / 
 
 
 d c l 	 v a r _ r e g 	 	 ( 3 )   b i t   ( 3 ) ; 
 
 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ,   d i v i d e ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ o c c u r s _ e x t ; 
 % i n c l u d e   c o b o l _ ; 
 d c l 	 1   p t r _ s t a t u s 	 ( 0 : 7 )   b a s e d   ( c o b o l _ $ p t r _ s t a t u s _ p t r )   a l i g n e d , 
 % i n c l u d e   c o b o l _ p t r _ s t a t u s ; 
 d c l 	 1   r e g _ s t a t u s 	 ( 0 : 9 )   b a s e d   ( c o b o l _ $ r e g _ s t a t u s _ p t r )   a l i g n e d , 
 % i n c l u d e   c o b o l _ r e g _ s t a t u s ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 ; 
 % i n c l u d e   c o b o l _ t y p e 1 ; 
 % i n c l u d e   c o b o l _ t y p e 2 ; 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ t y p e 1 8 ; 
 % i n c l u d e   c o b o l _ f i x e d _ c o m m o n ; 
 % i n c l u d e   c o b o l _ e x t _ ; 
 
           e n d   c o b o l _ a d d r ; 
      
 
 
  
 	 	         c o b o l _ a l l o c . p l 1                                   0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4               4 2 6 1 5     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a l l o c . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 1 / 1 4 / 7 7   b y   O R N   t o   s i g n a l   c o m m a n d _ a b o r t   r a t h e r   t h a n   c o b o l _ c o m p i l e r _ e r r o r   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a l l o c : 
           p r o c ; 
 
 / *   t h e   p r o c e d u r e   i s   n o t   a   v a l i d   e n t r y   p o i n t   * / 
 / * } * / 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * { * / 
 s t a c k : 
           e n t r y   ( n u m _ c h a r ,   b o u n d r y ,   o f f s e t ) ; 	 	 	 / *   a l l o c a t e   s p a c e   i n   t h e   o b j e c t   t i m e   s t a c k   * / 
 
 d c l 	 n u m _ c h a r 	 	 f i x e d   b i n ; 
 d c l 	 b o u n d r y 	 	 f i x e d   b i n ; 
 d c l 	 o f f s e t 	 	 f i x e d   b i n ; 	 	 / * 
   n u m _ c h a r 	 i s   t h e   n u m b e r   o f   c h a r a c t e r s   t o   b e   a l l o c a t e d 
 	 ( i n p u t ) 
   b o u n d r y 	 s p e c i f i e s   t h e   a l l o c a t i o n   o f   t h e   l e t m o s t   c h a r a c t e r 
 	 ( i n p u t ) 
 	 0   w o r d   b o u n d r y ,   r e t u r n   c h a r a c t e r   o f f s e t 
 	 1   w o r d   b o u n d r y ,   r e t u r n   w o r d   o f f s e t 
 	 2   e v e n   w o r d   b o u n d r y ,   r e t u r n   w d   o f f s e t 
 	 3   o d d   w o r d   b o u n d r y ,   r e t u r n   w o r d   o f f s e t 
   o f f s e t 	 i s   t h e   w o r d   o r   c h a r a c t e r   o f f s e t   o f   t h e   l e f t m o s t 
 	 c h a r a c t e r   r e l a t i v e   t o   t h e   b a s e   o f   t h e   s t a c k   f r a m e 
 	 ( o u t p u t 
 * / 
 	 	 	 	 	 	 / * } * / 
 d c l 	 u t e m p 	 	 f i x e d   b i n ; 
 d c l 	 w o r d s 	 	 f i x e d   b i n ; 
 d c l 	 1   s t a c k _ e r r 	 s t a t i c , 
 	     2   n a m e 	 	 c h a r   ( 3 2 )   i n i t   ( " c o b o l _ a l l o c $ s t a c k " ) , 
 	     2   m e s s a g e _ l e n 	 f i x e d   b i n   ( 3 5 )   i n i t   ( 4 2 ) , 
 	     2   m e s s a g e 	 c h a r   ( 4 2 )   i n i t   ( " T h e   o b j e c t   t i m e   s t a c k   e x c e e d s   1 6 , 3 8 4   w o r d s " ) ; 
 d c l 	 s i g n a l _ 	 	 e n t r y   ( c h a r   ( * ) ,   p t r ,   p t r ) ; 
 
 s t a r t _ s t a c k : 
 	 u t e m p   =   n u m _ c h a r   +   3 ; 
 	 w o r d s   =   f i x e d   ( s u b s t r   ( u n s p e c   ( u t e m p ) ,   1 ,   3 4 ) ) ; 
 	 i f   b o u n d r y   >   1 
 	 t h e n   d o ; 
 	 	 i f   s u b s t r   ( u n s p e c   ( c o b o l _ $ s t a c k _ o f f ) ,   3 6 ,   1 )   =   " 1 " b 
 	 	 t h e n   d o ; 
 	 	 	 i f   b o u n d r y   =   2 
 	 	 	 t h e n   c o b o l _ $ s t a c k _ o f f   =   c o b o l _ $ s t a c k _ o f f   +   1 ; 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 i f   b o u n d r y   =   3 
 	 	 	 t h e n   c o b o l _ $ s t a c k _ o f f   =   c o b o l _ $ s t a c k _ o f f   +   1 ; 
 	 	           e n d ; 
 	           e n d ; 
 	 i f   ( w o r d s   +   c o b o l _ $ s t a c k _ o f f )   >   1 6 3 8 4 
 	 t h e n   d o ; 
 	 	 c o b o l _ $ s t a c k _ o f f   =   c o b o l _ $ i n i t _ s t a c k _ o f f ; 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( s t a c k _ e r r ) ) ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 	 e l s e   i f   b o u n d r y   ^ =   0 
 	 t h e n   o f f s e t   =   c o b o l _ $ s t a c k _ o f f ; 
 	 e l s e   o f f s e t   =   4   *   c o b o l _ $ s t a c k _ o f f ; 
 	 c o b o l _ $ s t a c k _ o f f   =   c o b o l _ $ s t a c k _ o f f   +   w o r d s ; 
 e x i t _ s t a c k : 
 	 r e t u r n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * { * / 
 c o b o l _ d a t a : 
           e n t r y   ( c d _ n u m _ c h a r ,   c d _ b o u n d r y ,   c d _ o f f s e t ) ; 	 	 / *   a l l o c a t e   s p a c e   i n   c o b o l   d a t a   * / 
 
 d c l 	 c d _ n u m _ c h a r 	 f i x e d   b i n   ( 2 4 ) ; 
 d c l 	 c d _ b o u n d r y 	 f i x e d   b i n ; 
 d c l 	 c d _ o f f s e t 	 	 f i x e d   b i n   ( 2 4 ) ; 
 
 / * 
   c d _ n u m _ c h a r 	 i s   t h e   n u m b e r   o f   c h a r a c t e r s   t o   b e 
 	 	 a l l o c a t e d .   ( i n p u t ) 
   c d _ b o u n d r y 	 s p e c i f i e s   t h e   a l l o c a t i o n   o f   t h e   l e f t m o s t 
 	 	 c h a r a c t e r .   ( i n p u t ) 
 	 	 0   w o r d   b o u n d r y ,   r e t u r n   c h a r a c t e r   o f f s e t 
 	 	 1   w o r d   b o u n d r y ,   r e t u r n   w o r d   o f f s e t 
 	 	 2   e v e n   w o r d   b o u n d r y ,   r e t u r n   w o r d   o f f s e t 
 	 	 3   o d d   w o r d   b o u n d r y ,   r e t u r n   w o r d   o f f s e t 
   c d _ o f f s e t 	 i s   t h e   w o r d   o r   c h a r a c t e r   o f f s e t   o f   t h e 
 	 	 l e f t m o s t   c h a r a c t e r   r e l a t i v e   t o   t h e 
 	 	 b a s e   o f   t h e   s t a c k   f r a m e .   ( o u t p u t ) 
 * / 
 / * } * / 
 
 d c l 	 1   c o b o l _ d a t a _ e r r 	 s t a t i c , 
 	     2   n a m e 	 	 c h a r   ( 3 2 )   i n i t   ( " c o b o l _ a l l o c $ c o b o l _ d a t a " ) , 
 	     2   m e s s a g e _ l e n 	 f i x e d   b i n   ( 3 5 )   i n i t   ( 4 4 ) , 
 	     2   m e s s a g e 	 c h a r   ( 4 4 )   i n i t   ( " t h e   c o b o l   d a t a   s e g m e n t   e x c e e d s   2 6 2 , 1 4 4   w o r d s " ) ; 
 
 
 s t a r t _ c o b o l _ d a t a : 
 	 u t e m p   =   c d _ n u m _ c h a r   +   3 ; 
 	 w o r d s   =   f i x e d   ( s u b s t r   ( u n s p e c   ( u t e m p ) ,   1 ,   3 4 ) ) ; 
 	 i f   c d _ b o u n d r y   >   1 
 	 t h e n   d o ; 
 	 	 i f   s u b s t r   ( u n s p e c   ( c o b o l _ $ c o b o l _ d a t a _ w d _ o f f ) ,   3 6 ,   1 )   =   " 1 " b 
 	 	 t h e n   d o ; 
 	 	 	 i f   b o u n d r y   =   2 
 	 	 	 t h e n   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   =   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   +   1 ; 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 i f   b o u n d r y   =   3 
 	 	 	 t h e n   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   =   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   +   1 ; 
 	 	           e n d ; 
 	           e n d ; 
 	 i f   ( w o r d s   +   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f )   >   2 6 2 1 4 4 
 	 t h e n   d o ; 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( c o b o l _ d a t a _ e r r ) ) ; 
 	 	 c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   =   0 ; 
 	 	 r e t u r n ; 
 	           e n d ; 
 	 e l s e   i f   c d _ b o u n d r y   ^ =   0 
 	 t h e n   c d _ o f f s e t   =   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f ; 
 	 e l s e   c d _ o f f s e t   =   4   *   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f ; 
 	 c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   =   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   +   w o r d s ; 
 e x i t _ c o b o l _ d a t a : 
 	 r e t u r n ; 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ ; 
 
           e n d   c o b o l _ a l l o c ; 
    
 
 
  
 	 	         c o b o l _ a l t e r _ g e n . p l 1                           0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4               7 5 8 9 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a l t e r _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / * { * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a l t e r _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ) ; 
 
 / * 
 T h e   p r o c e d u r e   c o b o l _ a l t e r _ g e n   g e n e r a t e s   t h e   c o d e   n e c e s s a r y   t o   i m p l e - 
 m e n t   A L T E R   s t a t e m e n t s   o f   t h e   f o l l o w i n g   f o r m a t ; 
 
     A  _ L  _ T  _ E  _ R  _   p r o c e d u r e - n a m e - 1   T  _ O  _   [ P  _ R  _ O  _ C  _ E  _ E  _ D  _ _ T  _ O  _ ]   p r o c e d u r e - n a m e - 2 
 
 A L T E R   s t a t e m e n t s   i n   t h e   s o u r c e   p r o g r a m   w h i c h   a r e   n o t   i n   t h i s   
 f o r m a t   a r e   m o d i f i e d   b y   P D   S y n t a x   t o   c o n f o r m .     F o r   e x a m p l e ,   t h e   
 s t a t e m e n t , 
 
     A L T E R   a 1   T O   b 1 ,   a 2   T O   b 2 , 
 
 i s   c h a n g e d   i n t o   t h e   t w o   s t a t e m e n t s , 
 
     A L T E R   a 1   T O   b 1     A L T E R   a 2   T O   b 2 . 
 
 
 U  _ _  s _  a _  g _  e :  _ 
 
           d e c l a r e   c o b o l _ a l t e r _ g e n ( p t r ) ; 
 
           c a l l   c o b o l _ a l t e r _ g e n ( i n _ t o k e n _ p t r ) ; 
 
           	 	 	 	 	 	       * / 
 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 
 / * 
 G  _ _  e _  n _  e _  r _  a _  t _  e _  d _ C  _ _  o _  d _  e :  _ 
 
 C o d e   S e q u e n c e   1 ,   b e l o w ,   i s   g e n e r a t e d   i f   t h e   C O B O L   s e g m e n t   c o n -   
 t a i n i n g   p r o c e d u r e - n a m e - 2   d o e s   n o t   r e q u i r e   i n i t i a l i z a t i o n   b e f o r e 
 c o n t r o l   i s   t r a n s f e r r e d   t o   p r o c e d u r e - n a m e - 2 .     C o d e   S e q u e n c e   2 ,   b e - 
 l o w ,   i s   g e n e r a t e d   i f   i n i t i a l i z a t i o n   i s   r e q u i r e d .     I n i t i a l i z a t i o n 
 i s   n o t   r e q u i r e d   i f   p r o c e d u r e - n a m e - 1   a n d   p r o c e d u r e - n a m e - 2   a r e   i n 
 t h e   s a m e   C O B O L   s e g m e n t ,   i f   p r o c e d u r e - n a m e - 2   i s   i n   a   f i x e d   C O B O L 
 s e g m e n t ,   o r   i f   p r o c e d u r e - n a m e - 2   i s   i n   a n   i n d e p e n d e n t   C O B O L   s e g - 
 m e n t   w h i c h   c o n t a i n s   n o   a l t e r a b l e   G O ' s .     T h e   t e r m   " a l t e r a b l e   G O " 
 i s   u s e d   h e r e   t o   d e s i g n a t e   a   G O   t h a t   i s   r e f e r e n c e d   b y   a n   A L T E R 
 s t a t e m e n t . 
 
           S e q u e n c e   1 
 
     e a x 2       p n 2 _ r e l p , i c 
     s x l 2       t a r g e t _ a _ p n 1 
 
           S e q u e n c e   2 
 
     e a x 2       s ( p n 2 ) _ i n i t _ r e l p , i c 
     s x l 2       t a r g e t _ a _ p n 1 
     e a x 2       p n 2 _ r e l p , i c 
     s t x 2       t a r g e t _ a _ p n 1 
 
 w h e r e : 
 
 p n 2 _ r e l p 	               i s   t h e   o f f s e t ,   r e l a t i v e   t o   t h e   i n s t r u c t i o n   i n 
 	               w h i c h   i t   a p p e a r s ,   o f   t h e   f i r s t   i n s t r u c t i o n   o f 
 	               p r o c e d u r e - n a m e - 2 . 
 
 t a r g e t _ a _ p n 1           i s   a   3 6 - b i t   v a r i a b l e ,   a l l o c a t e d   i n   C O B O L   d a t a   o n 
 	               a   w o r d   b o u n d a r y   a n d   u n i q u e l y   a s s o c i a t e d   w i t h 
 	               p r o c e d u r e - n a m e - 1   ( s e e   a l t e r _ l i s t ) ,   w h i c h   c o n - 
 	               t a i n s   t r a n s f e r   a d d r e s s   d a t a . 
 
 s ( p n 2 ) _ i n i t _ r e l p   i s   t h e   o f f s e t ,   r e l a t i v e   t o   t h e   i n s t r u c t i o n   i n 
 	               w h i c h   i t   a p p e a r s ,   o f   t h e   f i r s t   i n s t r u c t i o n   o f   a 
 	               c o d e   s e q u e n c e   p r o v i d e d   t o   i n i t i a l i z e   t h e   a l t e r - 
 	               a b l e   G O ' s   i n   t h e   s e g m e n t   c o n t a i n i n g   p r o c e d u r e - 
 	               n a m e - 2 . 
 
 R  _ _  e _  l _  o _  c _  a _  t _  i _  o _  n _ I  _ _  n _  f _  o _  r _  m _  a _  t _  i _  o _  n :  _ 
 
 A l l   i n s t r u c t i o n s   d i r e c t l y   g e n e r a t e d   b y   p r o c e d u r e   c o b o l _ a l t e r _ g e n   ( a s 
 o p p o s e d   t o   b e i n g   g e n e r a t e d   b y   a   u t i l i t y   c a l l e d   b y   c o b o l _ a l t e r _ g e n ) 
 a r e   n o n - r e l o c a t a b l e . 
 
 D  _ _  a _  t _  a :  _ 
 
           %   i n c l u d e   c o b o l _ ; 
 
 	 I t e m s   i n   c o b o l _ $ i n c l . p l 1   u s e d   ( u )   a n d / o r   s e t   ( s )   b y 
 	 c o b o l _ a l t e r _ g e n : 
 
 	           c o b o l _ p t r   ( u ) 
 	           a l t e r _ l i s t _ p t r   ( u ) 
 	           s e g _ i n i t _ l i s t _ p t r   ( u ) 
 	           t e x t _ w d _ o f f   ( u ) 
 
 	 	 	 	 	 	       * / 
 
 % i n c l u d e   c o b o l _ a l t e r _ l i s t ; 
 % i n c l u d e   c o b o l _ s e g _ i n i t _ l i s t ; 
 % i n c l u d e   c o b o l _ t y p e 1 8 ; 
 
 
 / *     I n p u t   s t r u c t u r e s   f o r   c o b o l _ a d d r 	 	 	       * / 
 
 d e c l a r e 	 1   t a r g e t 	 	 a l i g n e d   s t a t i c , 
 	     2   t y p e 	 	 f i x e d   b i n   a l i g n e d   i n i t   ( 1 ) , 
 	     2   o p e r a n d _ n o 	 f i x e d   b i n   a l i g n e d   i n i t   ( 0 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   a l i g n e d   i n i t   ( 0 ) , 
 	     2   s e g n o 	 	 f i x e d   b i n   a l i g n e d , 
 	     2   c h a r _ o f f s e t 	 f i x e d   b i n   ( 2 4 )   a l i g n e d , 
 	     2   s e n d _ r e c e i v e 	 f i x e d   b i n   a l i g n e d   i n i t   ( 0 ) ; 
 
 / * 
 t y p e 	       i n d i c a t e s   t y p e   o f   a d d r e s s i n g   r e q u e s t e d .     T y p e   1 
 	       i n d i c a t e s   b a s i c ;   i . e . ,   d a t a   t o   b e   a d d r e s s e d   i s 
 	       s p e c i f i e d   b y   s e g n o   a n d   c h a r _ o f f s e t . 
 
 o p e r a n d _ n o       n o t   a p p l i c a b l e   t o   t y p e   1 . 
 
 l o c k 	       i n d i c a t e s   l o c k   r e q u i r e m e n t s   f o r   r e g i s t e r s   u s e d   i n 
 	       a d d r e s s i n g ; 
 	           0   -   d o   n o t   l o c k   r e g i s t e r s   u s e d . 
 	           1   -   l o c k   r e g i s t e r s   u s e d . 
 
 s e g n o 	       i s   t h e   c o m p i l e r   d e s i g n a t i o n   o f   t h e   s e g m e n t   i n   w h i c h 
 	       t h e   d a t a   t o   b e   a d d r e s s e d   i s   l o c a t e d . 
 
 c h a r _ o f f s e t     i s   t h e   c h a r a c t e r   o f f s e t   w i t h i n   s e g n o   o f   t h e   d a t a   t o 
 	       b e   a d d r e s s e d . 
 
 s e n d _ r e c e i v e   i n d i c a t e s   w h e t h e r   t h e   d a t a   b e i n g   a d d r e s s e d   i s   a 
 	       s e n d i n g   o r   r e c e i v i n g   f i e l d   f o r   t h e   i n s t r u c t i o n   w h o s e 
 	       a d d r e s s   f i e l d   i s   b e i n g   s e t ;   0   i n d i c a t e s   s e n d i n g . 
 	 	 	 	 	 	       * / 
 
 
 / *     I n p u t   s t r u c t u r e   f o r   c o b o l _ r e g i s t e r $ l o a d 	 	       * / 
 
 d e c l a r e 	 1   r e g i s t e r _ r e q u e s t 	 a l i g n e d   s t a t i c , 
 	     2   r e q u e s t e d _ r e g 	 f i x e d   b i n   a l i g n e d   i n i t   ( 1 2 ) , 
 	     2   a s s i g n e d _ r e g 	 b i t   ( 4 )   a l i g n e d , 
 	     2   l o c k 	 	 f i x e d   b i n   a l i g n e d   i n i t   ( 0 ) , 
 	     2   r e g _ s e t _ n o w 	 f i x e d   b i n   a l i g n e d , 
 	     2   u s e _ c o d e 	 f i x e d   b i n   a l i g n e d   i n i t   ( 0 ) , 
 	     2   a d j u s t _ p t r _ a d d r   f i x e d   b i n   a l i g n e d   i n i t   ( 0 ) , 
 	     2   c o n t e n t _ p t r 	 p t r   a l i g n e d   i n i t   ( n u l l ) , 
 	     2   l i t e r a l _ c o n t e n t   b i t   ( 3 6 )   a l i g n e d   i n i t   ( ( 3 6 ) " 0 " b ) ; 
 
 / * 
 r e q u e s t e d _ r e g       i s   a   c o d e   d e s i g n a t i n g   t h e   r e g i s t e r   r e q u e s t e d ; 
 	 	 0     -   a -   o r   q -   o r   a n y   i n d e x - r e g i s t e r 
 	 	 1     -   a - r e g i s t e r 
 	 	 2     -   q - r e g i s t e r 
 	 	 3     -   a -   a n d   q - r e g i s t e r 
 	 	 4     -   a -   o r   q - r e g i s t e r 
 	 	 5     -   a n y   i n d e x - r e g i s t e r 
 	 	 1 n   -   i n d e x - r e g i s t e r   n 
 
 a s s i g n e d _ r e g         i s   a   c o d e   d e s i g n a t i n g   t h e   r e g i s t e r   a s s i g n e d .     I t 
 	             h a s   n o   s i g n i f i c a n c e   i f   a   s p e c i f i c   r e g i s t e r   i s 
 	             r e q u e s t e d . 
 
 l o c k 	             i n d i c a t e s   l o c k i n g   r e q u i r e m e n t s ;   0   r e q u e s t s   t h a t 
 	             n o   c h a n g e   b e   m a d e   i n   r e g i s t e r   s t a t u s . 
 
 r e g _ s e t _ n o w           n o t   a p p l i c a b l e   f o r   u s e _ c o d e   =   0 . 
 
 u s e _ c o d e   	             s p e c i f i e s   h o w   t h e   r e g i s t e r   i s   t o   b e   u s e d   b y   t h e 
 	             r e q u e s t e r ;   0   s i g n i f i e s   t h a t   s u c h   i n f o r m a t i o n   i s 
 	             n o t   m e a n i n g f u l   f o r   r e g i s t e r   o p t i m i z a t i o n . 
 
 a d j u s t _ p t r _ a d d r   i n s e r t e d   t o   m a k e   e v i d e n t   t h a t   s i n c e   a l l   p o i n t e r s 
 	             m u s t   b e   a l l o c a t e d   o n   e v e n   w o r d   b o u n d a r i e s ,   t h e 
 	             p l 1   c o m p i l e r   w i l l   a l l o c a t e   s t r u c t u r e s   c o n t a i n i n g 
 	             p o i n t e r s   a n d   a l l   p o i n t e r s   t h e r e i n   o n   e v e n   w o r d     
 	             b o u n d a r i e s   l e a v i n g   " g a p s "   w h e r e   n e c e s s a r y . 
 
 c o n t e n t _ p t r           n o t   a p p l i c a b l e   f o r   u s e _ c o d e   =   0 . 
 
 l i t e r a l _ c o n t e n t   n o t   a p p l i c a b l e   f o r   u s e _ c o d e   =   0 . 
 	 	 	 	 	 	       * / 
 
 d c l 	 i n s t _ s e q 	 	 ( 8 )   b i t   ( 1 8 )   u n a l i g n e d   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *     e a x 2       0 , i c       * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *     s x l 2       p r 0 | 0     * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *     e a x 2       0 , i c       * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     s t x 2       p r 0 | 0     * / 
 
 d e c l a r e 	 p n 1 _ n u m 	 	 f i x e d   b i n , 	 	 / *   P r o c e d u r e   n o   ( t a g )   o f   p r o c e d u r e - n a m e - 1 .   * / 
 	 p n 2 _ n u m 	 	 f i x e d   b i n , 	 	 / *   p r o c e d u r e   n o   ( t a g )   o f   p r o c e d u r e - n a m e - 2 .   * / 
 	 p n 2 _ p r i 	 	 f i x e d   b i n , 	 	 / *   C O B O L   s e g m e n t   n o   o f   p r o c e d u r e - n a m e - 1 .       * / 
 	 i n d e x 	 	 f i x e d   b i n , 	 	 / *   D o   l o o p   i n d e x . 	 	 	       * / 
 	 n o _ i n s t 	 	 f i x e d   b i n ; 	 	 / *   N o   o f   i n s t r u c t i o n s   g e n e r a t e d . 	       * / 
 
 / * 
 P  _ _  r _  o _  c _  e _  d _  u _  r _  e _  s _ C  _ _  a _  l _  l _  e _  d :  _ 
 	 	 	 	 	 	       * / 
 
 d c l 	 c o b o l _ a d d r 	 e n t r y   ( p t r ,   p t r ,   p t r ) , 
 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) , 
 	 c o b o l _ m a k e _ t a g r e f 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) , 
 	 c o b o l _ r e g i s t e r $ l o a d   e n t r y   ( p t r ) ; 
 
 / * 
 B  _ _  u _  i _  l _  t -  _ _  i _  n _ F  _ _  u _  n _  c _  t _  i _  o _  n _  s _ U  _ _  s _  e _  d :  _ 
 	 	 	 	 	 	       * / 
 
 d c l 	 a d d r 	 	 b u i l t i n , 
 	 b i n a r y 	 	 b u i l t i n , 
 	 n u l l 	 	 b u i l t i n , 
 	 u n s p e c 	 	 b u i l t i n ; 
 
 / * } * / 
 
 % i n c l u d e   c o b o l _ ; 
 
 
 s t a r t : 
 	 p n 1 _ n u m   =   i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   p r o c _ r e f . p r o c _ n u m ; 
 	 p n 2 _ n u m   =   i n _ t o k e n . t o k e n _ p t r   ( 3 )   - >   p r o c _ r e f . p r o c _ n u m ; 
 	 p n 2 _ p r i   =   b i n a r y   ( u n s p e c   ( i n _ t o k e n . t o k e n _ p t r   ( 3 )   - >   p r o c _ r e f . p r i o r i t y ) ,   1 7 ) ; 
 
 	 d o   i n d e x   =   1   t o   a l t e r _ l i s t . n ; 
 	           i f   p n 1 _ n u m   =   a l t e r _ l i s t . g o t o . p r o c _ n u m   ( i n d e x ) 
 	           t h e n   d o ; 
 	 	           t a r g e t . s e g n o   =   a l t e r _ l i s t . g o t o . t a r g e t _ a _ s e g n o   ( i n d e x ) ; 
 	 	           t a r g e t . c h a r _ o f f s e t   =   a l t e r _ l i s t . g o t o . t a r g e t _ a _ o f f s e t   ( i n d e x ) ; 
 	 	           g o t o   f o u n d ; 
 	 	 e n d ; 
 
 	 e n d ; 
 
 f o u n d : 
 	 c a l l   c o b o l _ a d d r   ( a d d r   ( t a r g e t ) ,   a d d r   ( i n s t _ s e q   ( 3 ) ) ,   n u l l ) ; 
 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g i s t e r _ r e q u e s t ) ) ; 
 	 i f   p n 2 _ p r i   ^ =   b i n a r y   ( u n s p e c   ( i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   p r o c _ r e f . p r i o r i t y ) ,   1 7 ) 
 	 t h e n   i f   p n 2 _ p r i   >   4 9 
 	           t h e n   d o   i n d e x   =   1   t o   s e g _ i n i t _ l i s t . n ; 
 	 	           i f   s e g _ i n i t _ l i s t . s e g . p r i o r i t y   ( i n d e x )   =   p n 2 _ p r i 
 	 	           t h e n   d o ; 
 	 	 	           i n s t _ s e q   ( 7 )   =   i n s t _ s e q   ( 3 ) ; 
 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( s e g _ i n i t _ l i s t . s e g . i n t _ t a g _ n o   ( i n d e x ) ,   c o b o l _ $ t e x t _ w d _ o f f , 
 	 	 	 	 a d d r   ( i n s t _ s e q ) ) ; 
 	 	 	           n o _ i n s t   =   4 ; 
 	 	 	           g o t o   e m i t ; 
 	 	 	 e n d ; 
 
 	 	 e n d ; 
 
 	 n o _ i n s t   =   2 ; 
 
 e m i t : 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q ) ,   n u l l ,   n o _ i n s t ) ; 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( p n 2 _ n u m ,   c o b o l _ $ t e x t _ w d _ o f f   -   2 ,   n u l l ) ; 
 	 r e t u r n ; 
 
           e n d   c o b o l _ a l t e r _ g e n ; 
        
 
 
  
 	 	         c o b o l _ a l t e r _ p e r f o r m . p l 1                   0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4             1 2 6 6 4 8     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a l t e r _ p e r f o r m . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 1 / 1 4 / 7 7   b y   O R N   t o   s i g n a l   c o m m a n d _ a b o r t _   r a t h e r   t h a n   c o b o l _ c o m p i l e r _ e r r o r   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a l t e r _ p e r f o r m : 
           p r o c   ( s p a c e _ p t r ,   s p a c e _ m a x ) ; 	 	 	 / * 
 T h e   p r o c e d u r e   c o b o l _ a l t e r _ p e r f o r m   i s   c a l l e d   b y   c o b o l _ g e n _ d r i v e r   o n l y   i f 
 t h e r e   a r e   a l t e r / p e r f o r m   r e c o r d s   i n   v a r i a b l e   c o m m o n .     I t   c o n s t r u c t s 
 a l t e r _ l i s t ,   p e r f o r m _ l i s t ,   a n d   s e g _ i n i t _ l i s t ,   u t i l i z i n g   d a t a   t a k e n 
 f r o m   t h e s e   r e c o r d s ,   a n d   s e t s   s e g _ i n i t _ f l a g   t o   o n e   i f   t h e r e   a r e 
 a n y   p e r f o r m   r e c o r d s   o r   a n y   a l t e r a b l e   G O ' s   i n   t h e   f i x e d   p o r t i o n   o f 
 t h e   p r o g r a m .     I f   n e i t h e r   o f   t h e s e   c o n d i t i o n s   i s   m e t ,   s e g _ i n i t _ f l a g 
 i s   s e t   t o   0 .     T h e   f i r s t   o f   t h e   a l t e r _ p e r f o r m   r e c o r d s   i s   l o c a t e d 
 b y   t h e   v a r i a b l e   p e r f _ a l t e r _ i n f o   c o n t a i n e d   i n   f i x e d _ c o m m o n   a n d / o r 
 t h e   v a r i a b l e   s i z e _ p e r f o r m _ i n f o ,   a l s o   i n   f i x e d _ c o m m o n .     T h e   r e - 
 c o r d s   l o c a t e d   b y   t h e   p e r f _ a l t e r _ i n f o   " p o i n t e r "   c o n t a i n   i n f o r m a - 
 t i o n   a b o u t   p e r f o r m   a n d   a l t e r   s t a t e m e n t s   i n   t h e   s o u r c e   p r o g r a m   a n d 
 t h o s e   l o c a t e d   b y   t h e   s i z e _ p e r f o r m _ i n f o   " p o i n t e r "   c o n t a i n   i n f o r m a - 
 t i o n   o n   p e r f o r m a b l e   p r o c e d u r e s   c r e a t e d   b y   d d a l l o c   f o r   c o m p u t i n g 
 t h e   " s i z e "   o f   d a t a   d e c l a r e d   w i t h   " d e p e n d i n g   o n "   c l a u s e s .     A l t e r _ 
 l i s t ,   p e r f o r m _ l i s t ,   a n d   s e g _ i n i t _ l i s t   a r e   d e s c r i b e d   b e l o w   i n   t h e 
 D a t a   S e c t i o n . 
 
 
 U  _ _  s _  a _  g _  e :  _ 
 
           d e c l a r e   c o b o l _ a l t e r _ p e r f o r m   e n t r y   ( p t r ,   f i x e d   b i n ) ; 
           c a l l   c o b o l _ a l t e r _ p e r f o r m ( s p a c e _ p t r ,   s p a c e _ m a x ) ; 
 	 	 	 	 	 	       * / 
 
 d c l 	 s p a c e _ p t r 	 	 p t r , 
 	 s p a c e _ m a x 	 	 f i x e d   b i n ; 
 
 / * 
 s p a c e _ p t r   i s   a   p o i n t e r   t o   t h e   n e x t   f r e e   l o c a t i o n   i n   t h e   s e g m e n t 
 	 i n   w h i c h   a l t e r _ l i s t ,   p e r f o r m _ l i s t ,   a n d   s e g _ i n i t _ l i s t 
 	 a r e   t o   b e   o r   h a v e   b e e n   l o c a t e d .   ( I n p u t / O u t p u t ) 
 
 s p a c e _ m a x   i s   t h e   m a x i m u m   n u m b e r   o f   w o r d s   a v a i l a b l e   i n   t h e 
 	 s e g m e n t   p o i n t e d   t o   b y   s p a c e _ p t r .   ( I n p u t ) 
 
 D  _ _  a _  t _  a :  _ 
 
           %   i n c l u d e   c o b o l _ ; 
 	 I t e m s   i n   c o b o l _   i n c l u d e   f i l e   u s e d   ( u )   a n d / o r   s e t   ( s )   b y 
 	 c o b o l _ a l t e r _ p e r f o r m : 
 
 	           c o b o l _ p t r   ( u ) 
 	           c o m _ p t r   ( u ) 
 	           a l t e r _ l i s t _ p t r   ( s ) 
 	           c o b o l _ d a t a _ w d _ o f f   ( u / s ) 
 	           n e x t _ t a g   ( u / s ) 
 	           p e r f o r m _ l i s t _ p t r   ( s ) 
 	           s e g _ i n i t _ l i s t _ p t r   ( s ) 
 	           s e g _ i n i t _ f l a g   ( s ) 
 
           %   i n c l u d e   f i x e d _ c o m m o n ; 
 	 I t e m s   i n   f i x e d _ c o m m o n   i n c l u d e   f i l e   u s e d   ( u )   a n d / o r ( s )   b y 
 	 c o b o l _ a l t e r _ p e r f o r m : 
 
 	           p e r f _ a l t e r _ i n f o   ( u ) 
 	           s i z e _ p e r f o r m _ i n f o   ( u ) 
 	 	 	 	 	 	       * / 
 
 % i n c l u d e   c o b o l _ a l t e r _ l i s t ; 
 % i n c l u d e   c o b o l _ p e r f o r m _ l i s t ; 
 % i n c l u d e   c o b o l _ s e g _ i n i t _ l i s t ; 
 
 d c l 	 a l t _ p e r _ r e c d _ p t r 	 p t r ; 
 
 d c l 	 1   a l t _ p e r _ r e c d 	 ( 1 0 0 )   a l i g n e d   b a s e d   ( a l t _ p e r _ r e c d _ p t r ) , 
 	     2   f i l l e r 	 f i x e d   b i n , 
 	     2   r e c o r d _ l e n 	 f i x e d   b i n   a l i g n e d , 
 	     2   p r o c _ n o 	 f i x e d   b i n   a l i g n e d , 
 	     2   c o d e 	 	 f i x e d   b i n   a l i g n e d , 
 	     2   n e x t _ e n t r y 	 f i x e d   b i n   a l i g n e d , 
 	     2   e x t r a 	 	 ( 2 )   f i x e d   b i n   a l i g n e d , 
 	     2   p r i o r i t y 	 f i x e d   b i n   a l i g n e d , 
 	     2   e x t r a 1 	 f i x e d   b i n   a l i g n e d ; 
 
 d c l 	 w d s _ l e f t 	 	 f i x e d   b i n , 
 	 i n d e x 	 	 f i x e d   b i n , 
 	 j n d e x 	 	 f i x e d   b i n , 
 	 m a k e _ e v e n 	 	 f i x e d   b i n , 
 	 n o _ f i x _ g o s 	 f i x e d   b i n , 
 	 n u m _ a l t _ r e c d s 	 f i x e d   b i n , 
 	 n u m _ r e c d s 	 	 f i x e d   b i n , 
 	 t e m p _ m i n 	 	 f i x e d   b i n , 
 	 t e m p _ n u m 	 	 f i x e d   b i n , 
 	 t e m p _ p r i 	 	 f i x e d   b i n ; 
 
 d c l 	 1   s e g _ o v f l _ e r r o r 	 a l i g n e d   s t a t i c , 
 	     2   m y _ n a m e 	 c h a r   ( 3 2 )   i n i t   ( " c o b o l _ a l t e r _ p e r f o r m " ) , 
 	     2   m e s s a g e _ l e n 	 f i x e d   b i n   i n i t   ( 3 6 ) , 
 	     2   s e g _ n a m e 	 c h a r   ( 1 2 ) , 
 	     2   m e s s a g e 	 c h a r   ( 2 4 )   i n i t   ( " S e g m e n t   l e n g t h   e x c e e d e d ! " ) ; 
 
 / * 
 w h e r e : 
 
 a l t _ p e r _ r e c d _ p t r   i s   a   p o i n t e r   t o   t h e   f i r s t   a l t e r / p e r f o r m   r e c o r d 
 	               i n   v a r i a b l e   c o m m o n . 
 
 r e c o r d _ l e n               i s   t h e   l e n g t h ,   i n   c h a r a c t e r s ,   o f   t h e   r e c o r d . 
 	               T h e   l e n g t h   o f   a l l   a l t e r / p e r f o r m   r e c o r d s   i s ,   i n 
 	               f a c t ,   f i x e d   a n d   i s   3 2   c h a r a c t e r s . 
 
 p r o c _ n o 	               i s   t h e   t a g   n u m b e r   o f   t h e   p r o c e d u r e   t o   b e   a l t e r e d 
 	               o r   o f   t h e   p r o c e d u r e   a t   t h e   e n d   o f   a   p e r f o r m 
 	               r a n g e . 
 
 c o d e 	               i s   1   i f   t h e   i n f o r m a t i o n   i n   t h e   r e c o r d   p e r t a i n s   
 	               t o   a n   A L T E R   s t a t e m e n t ,   0   i f   i t   p e r t a i n s   t o   a n 
 	               e x p l i c i t   P E R F O R M   s t a t e m e n t ,   a n d   2   i f   i t   p e r t a i n s 
 	               t o   a   P E R F O R M   s t a t e m e n t   c r e a t e d   b y   P D _ S y n t a x   t o 
 	               i m p l e m e n t   a   S O R T   s t a t e m e n t . 
 
 n e x t _ e n t r y               i s   a   l o c a t o r   o f   t h e   n e x t   a l t e r _ p e r f o r m   r e c o r d   i n 
 	               v a r i a b l e   c o m m o n .     I t   c o n t a i n s   t h e   c h a r a c t e r 
 	               s t r i n g   " 0 0 0 0 "   i f   t h e   r e c o r d   i s   t h e   l a s t   r e c o r d . 
 
 e x t r a 	               i s   u n u s e d   b y   M C O B O L . 
 
 p r i o r i t y 	               i s   t h e   C O B O L   s e g m e n t   n u m b e r   a s s o c o a t e d   w i t h   t h e 
 	               p r o c e d u r e   i d e n t i f i e d   b y   p r o c _ n o . 
 
 e x t r a 1 	               i s   u n u s e d   b y   M C O B O L . 
 
 w d s _ l e f t 	               i s   t h e   n u m b e r   o f   f r e e   w o r d s   r e m a i n i n g   i n   t h e 
 	               s e g m e n t   p o i n t e d   t o   b y   s p a c e _ p t r . 
 
 i n d e x 	               i s   a   d o   l o o p   i n d e x . 
 
 j n d e x 	               i s   a   d o   l o o p   i n d e x . 
 
 m a k e _ e v e n 	               i s   a   v a r i a b l e   u s e d   t o   a d j u s t   s p a c e _ p t r   s u c h   t h a t 
 	               s e g _ i n i t _ l i s t   b e g i n s   o n   a n   e v e n   w o r d   b o u n d a r y . 
 n o _ f i x _ g o s               i s   t h e   n u m b e r   o f   a l t e r a b l e   G O ' s   i n   f i x e d   C O B O L 
 	               s e g m e n t s . 
 
 n u m _ a l t _ r e c d s         i s   t h e   n u m b e r   o f   A L T E R   r e c o r d s   i n   t h e   c h a i n   o f 
 	               a l t e r _ p e r f o r m   r e c o r d s   l o c a t e d   i n   v a r i a b l e   c o m m o n . 
 n u m _ r e c d s 	               i s   t h e   t o t a l   n u m b e r   o f   r e c o r d s   i n   t h e   c h a i n   o f 
 	               a l t e r / p e r f o r m   r e c o r d s   l o c a t e d   i n   v a r i a b l e   c o m m o n . 
 
 t e m p _ m i n 	               i s   u s e d   t o   h o l d   t h e   c u r r e n t   m i n i m u n   v a l u e   o f 
 	               p r o c e d u r e   n u m b e r   i n   s o r t i n g   a l t e r _ l i s t   a n d 
 	               p e r f o r m _ l i s t   o n   t h e   b a s i s   o f   p r o d e c u r e   n a m e . 
 
 t e m p _ n u m 	               i s   t h e   i n d e x   i n   a l t e r _ l i s t   o r   p e r f o r m _ l i s t   o f 
 	               t e m p _ m i n . 
 
 t e m p _ p r i 	               i s   t h e   C O B O L   s e g m e n t   n u m b e r   a s s o c i a t e d   w i t h 
 	               t e m p _ m i n   o r   i s   u s e d   t o   h o l d   t h e   p r i o r i t y   n u m b e r 
 	               o f   t h e   m e m b e r   o f   a l t e r _ l i s t   b e i n g   e x a m i n e d 
 	               d u r i n g   t h e   c o n s t r u c t i o n   o f   s e g _ i n i t _ l i s t . 
 
 	 	 	 	 	 	       * / 
 / * 
 P  _ _  r _  o _  c _  e _  d _  u _  r _  e _  s _ C  _ _  a _  l _  l _  e _  d :  _ 
 	 	 	 	 	 	       * / 
 d c l 	 c o b o l _ r e a d _ r a n d 	 e n t r y   ( f i x e d   b i n ,   c h a r   ( 5 ) ,   p t r ) , 
 	 s i g n a l _ 	 	 e n t r y   ( c h a r   ( * ) ,   p t r ,   p t r ) ; 
 
 / * 
 B  _ _  u _  i _  l _  t -  _ _  i _  n _ F  _ _  u _  n _  c _  t _  i _  o _  n _  s _ U  _ _  s _  e _  d :  _ 
 	 	 	 	 	 	       * / 
 d c l 	 a d d r 	 	 b u i l t i n , 
 	 a d d r e l 	 	 b u i l t i n , 
 	 b i n a r y 	 	 b u i l t i n , 
 	 n u l l 	 	 b u i l t i n , 
 	 r e l 	 	 b u i l t i n , 
 	 s u b s t r 	 	 b u i l t i n , 
 	 u n s p e c 	 	 b u i l t i n ; 
 
 / * } * / 
 
 
 % i n c l u d e   c o b o l _ ; 
 % i n c l u d e   c o b o l _ f i x e d _ c o m m o n ; 
 % i n c l u d e   c o b o l _ e x t _ ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 
 	 c o b o l _ $ s e g _ i n i t _ f l a g   =   0 ; 
 	 w d s _ l e f t   =   s p a c e _ m a x   -   b i n a r y   ( r e l   ( s p a c e _ p t r ) ,   1 7 ) ; 
 
 / *         	 	 P R O C E S S   P E R F O R M   I N F O R M A T I O N 	 	       * / 
 
 	 c o b o l _ $ p e r f o r m _ l i s t _ p t r   =   s p a c e _ p t r ; 
 	 p e r f o r m _ l i s t . n   =   0 ; 
 	 n u m _ a l t _ r e c d s   =   0 ; 
 	 n u m _ r e c d s   =   0 ; 
 
 	 i f   f i x e d _ c o m m o n . s i z e _ p e r f o r m _ i n f o   ^ =   " 0 0 0 0 0 " 
 	 t h e n   d o ; 
 	 	 c a l l   c o b o l _ r e a d _ r a n d   ( 1 ,   f i x e d _ c o m m o n . s i z e _ p e r f o r m _ i n f o ,   a l t _ p e r _ r e c d _ p t r ) ; 
 	 	 a l t _ p e r _ r e c d _ p t r   =   a d d r e l   ( a l t _ p e r _ r e c d _ p t r ,   - 2 ) ; 
 
 	 	 d o   i n d e x   =   1   b y   1 ; 
 	 	           i f   w d s _ l e f t   > =   5 
 	 	           t h e n   d o ; 
 	 	 	           p e r f o r m _ l i s t . n   =   p e r f o r m _ l i s t . n   +   1 ; 
 	 	 	           p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( p e r f o r m _ l i s t . n )   =   a l t _ p e r _ r e c d . p r o c _ n o   ( i n d e x ) ; 
 	 	 	           p e r f o r m _ l i s t . p e r f . p r i o r i t y   ( p e r f o r m _ l i s t . n )   =   a l t _ p e r _ r e c d . p r i o r i t y   ( i n d e x ) ; 
 	 	 	           w d s _ l e f t   =   w d s _ l e f t   -   5 ; 
 	 	 	 e n d ; 
 
 	 	           e l s e   g o t o   s i g n a l _ a l t r _ p r f o r m _ o v f l ; 
 
 	 	           i f   u n s p e c   ( a l t _ p e r _ r e c d . n e x t _ e n t r y   ( i n d e x ) )   =   ( 4 ) " 0 0 0 1 1 0 0 0 0 " b 
 	 	           t h e n   g o t o   e o f _ s i z e _ p e r f o r m ; 
 
 	 	 e n d ; 
 
 e o f _ s i z e _ p e r f o r m : 
 	           e n d ; 
 	 i f   f i x e d _ c o m m o n . p e r f _ a l t e r _ i n f o   ^ =   " 0 0 0 0 0 " 
 	 t h e n   d o ; 
 	 	 c a l l   c o b o l _ r e a d _ r a n d   ( 1 ,   f i x e d _ c o m m o n . p e r f _ a l t e r _ i n f o ,   a l t _ p e r _ r e c d _ p t r ) ; 
 	 	 a l t _ p e r _ r e c d _ p t r   =   a d d r e l   ( a l t _ p e r _ r e c d _ p t r ,   - 2 ) ; 
 
 / *     P U T   P E R F O R M S ,   I F   A N Y ,   I N   p e r f o r m _ l i s t     * / 
 
 	 	 d o   i n d e x   =   1   b y   1 ; 
 	 	           i f   a l t _ p e r _ r e c d . c o d e   ( i n d e x )   ^ =   1 
 	 	           t h e n   i f   w d s _ l e f t   > =   5 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 p e r f o r m _ l i s t . n   =   p e r f o r m _ l i s t . n   +   1 ; 
 	 	 	 	 p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( p e r f o r m _ l i s t . n )   =   a l t _ p e r _ r e c d . p r o c _ n o   ( i n d e x ) ; 
 	 	 	 	 p e r f o r m _ l i s t . p e r f . p r i o r i t y   ( p e r f o r m _ l i s t . n )   =   a l t _ p e r _ r e c d . p r i o r i t y   ( i n d e x ) ; 
 	 	 	 	 w d s _ l e f t   =   w d s _ l e f t   -   5 ; 
 
 	 	 	           e n d ; 
 	 	 	 e l s e   g o t o   s i g n a l _ a l t r _ p r f o r m _ o v f l ; 
 	 	           e l s e   n u m _ a l t _ r e c d s   =   n u m _ a l t _ r e c d s   +   1 ; 
 	 	 	 	 	 	 / *   O R N   * / 
 
 	 	           i f   u n s p e c   ( a l t _ p e r _ r e c d . n e x t _ e n t r y   ( i n d e x ) )   =   ( 4 ) " 0 0 0 1 1 0 0 0 0 " b 
 	 	           t h e n   d o ; 
 
 	 	 	           n u m _ r e c d s   =   i n d e x ; 
 	 	 	           g o t o   e n d _ o f _ l i s t ; 
 
 	 	 	 e n d ; 
 	 	 e n d ; 
 e n d _ o f _ l i s t : 
 	           e n d ; 
 
 	 i f   p e r f o r m _ l i s t . n   ^ =   0 
 	 t h e n   / *     S O R T   p e r f o r m _ l i s t   O N   p r o c _ n u m     * / 
 	           d o ; 
 
 	 	 c o b o l _ $ s e g _ i n i t _ f l a g   =   1 ; 
 	 	 i f   p e r f o r m _ l i s t . n   >   2 6 2 1 4 4   -   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f 
 	 	 t h e n   g o t o   s i g n a l _ d a t a _ o v f l ; 
 
 	 	 d o   i n d e x   =   1   t o   p e r f o r m _ l i s t . n ; 
 
 	 	           t e m p _ m i n   =   p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( i n d e x ) ; 
 	 	           t e m p _ n u m   =   i n d e x ; 
 
 	 	           d o   j n d e x   =   i n d e x   +   1   t o   p e r f o r m _ l i s t . n ; 
 
 	 	 	 i f   p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( j n d e x )   <   t e m p _ m i n 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 t e m p _ m i n   =   p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( j n d e x ) ; 
 	 	 	 	 t e m p _ n u m   =   j n d e x ; 
 
 	 	 	           e n d ; 
 	 	           e n d ; 
 
 	 	           i f   t e m p _ n u m   ^ =   i n d e x 
 	 	           t h e n   d o ; 
 
 	 	 	           t e m p _ p r i   =   p e r f o r m _ l i s t . p e r f . p r i o r i t y   ( t e m p _ n u m ) ; 
 	 	 	           p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( t e m p _ n u m )   =   p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( i n d e x ) ; 
 	 	 	           p e r f o r m _ l i s t . p e r f . p r i o r i t y   ( t e m p _ n u m )   =   p e r f o r m _ l i s t . p e r f . p r i o r i t y   ( i n d e x ) ; 
 	 	 	           p e r f o r m _ l i s t . p e r f . p r o c _ n u m   ( i n d e x )   =   t e m p _ m i n ; 
 	 	 	           p e r f o r m _ l i s t . p e r f . p r i o r i t y   ( i n d e x )   =   t e m p _ p r i ; 
 
 	 	 	 e n d ; 
 	 	           p e r f o r m _ l i s t . p e r f . t a r g e t _ a _ s e g n o   ( i n d e x )   =   2 ; 
 	 	           p e r f o r m _ l i s t . p e r f . t a r g e t _ a _ o f f s e t   ( i n d e x )   = 
 	 	 	 b i n a r y   ( u n s p e c   ( c o b o l _ $ c o b o l _ d a t a _ w d _ o f f )   | |   " 0 0 " b ,   1 7 ) ; 
 	 	           c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   =   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   +   1 ; 
 	 	           p e r f o r m _ l i s t . p e r f . i n t _ t a g _ n o   ( i n d e x )   =   c o b o l _ $ n e x t _ t a g ; 
 	 	           c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 e n d ; 
 	 	 c o b o l _ $ s e g _ i n i t _ f l a g   =   1 ; 
 	 	 i f   w d s _ l e f t   <   1 
 	 	 t h e n   g o t o   s i g n a l _ a l t r _ p r f o r m _ o v f l ; 
 
 	 	 w d s _ l e f t   =   w d s _ l e f t   -   1 ; 
 	 	 s p a c e _ p t r   =   a d d r e l   ( s p a c e _ p t r ,   b i n a r y   ( u n s p e c   ( p e r f o r m _ l i s t . n )   | |   " 0 0 " b ,   1 7 )   +   p e r f o r m _ l i s t . n   +   1 ) ; 
 
 	           e n d ; 
 	 e l s e   p e r f o r m _ l i s t _ p t r   =   n u l l ; 
 
 / *               P R O C E S S I N G   O F   P E R F O R M   I N F O R M A T I O N   C O M P L E T E                     * / 
 
 
 / *     	                       P R O C E S S   A L T E R   I N F O R N A T I O N       	                           * / 
 	 i f   n u m _ a l t _ r e c d s   ^ =   0 
 	 t h e n   d o ; 
 
 	 	 c o b o l _ $ a l t e r _ l i s t _ p t r   =   s p a c e _ p t r ; 
 	 	 a l t e r _ l i s t . n   =   0 ; 
 	 	 n o _ f i x _ g o s   =   0 ; 
 	 	 d o   i n d e x   =   1   t o   n u m _ r e c d s ; 
 
 	 	           i f   a l t _ p e r _ r e c d . c o d e   ( i n d e x )   =   1 
 	 	           t h e n   i f   w d s _ l e f t   > =   4 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 a l t e r _ l i s t . n   =   a l t e r _ l i s t . n   +   1 ; 
 	 	 	 	 a l t e r _ l i s t . g o t o . p r o c _ n u m   ( a l t e r _ l i s t . n )   =   a l t _ p e r _ r e c d . p r o c _ n o   ( i n d e x ) ; 
 	 	 	 	 a l t e r _ l i s t . g o t o . p r i o r i t y   ( a l t e r _ l i s t . n )   =   a l t _ p e r _ r e c d . p r i o r i t y   ( i n d e x ) ; 
 	 	 	 	 i f   a l t e r _ l i s t . g o t o . p r i o r i t y   ( a l t e r _ l i s t . n )   <   5 0 
 	 	 	 	 t h e n   n o _ f i x _ g o s   =   n o _ f i x _ g o s   +   1 ; 
 
 	 	 	 	 w d s _ l e f t   =   w d s _ l e f t   -   4 ; 
 
 	 	 	           e n d ; 
 	 	 	 e l s e   g o t o   s i g n a l _ a l t r _ p r f o r m _ o v f l ; 
 
 	 	 e n d ; 
 	 	 i f   a l t e r _ l i s t . n   >   2 6 2 1 4 4   -   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f 
 	 	 t h e n   g o t o   s i g n a l _ d a t a _ o v f l ; 
 
 / *     S O R T   a l t e r _ l i s t   O N   p r o c _ n u m     * / 
 
 	 	 d o   i n d e x   =   1   t o   a l t e r _ l i s t . n ; 
 
 	 	           t e m p _ m i n   =   a l t e r _ l i s t . g o t o . p r o c _ n u m   ( i n d e x ) ; 
 	 	           t e m p _ n u m   =   i n d e x ; 
 
 	 	           d o   j n d e x   =   i n d e x   +   1   t o   a l t e r _ l i s t . n ; 
 
 	 	 	 i f   a l t e r _ l i s t . g o t o . p r o c _ n u m   ( j n d e x )   <   t e m p _ m i n 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 t e m p _ m i n   =   a l t e r _ l i s t . g o t o . p r o c _ n u m   ( j n d e x ) ; 
 	 	 	 	 t e m p _ n u m   =   j n d e x ; 
 
 	 	 	           e n d ; 
 	 	           e n d ; 
 
 	 	           i f   t e m p _ n u m   ^ =   i n d e x 
 	 	           t h e n   d o ; 
 
 	 	 	           t e m p _ p r i   =   a l t e r _ l i s t . g o t o . p r i o r i t y   ( t e m p _ n u m ) ; 
 	 	 	           a l t e r _ l i s t . g o t o . p r o c _ n u m   ( t e m p _ n u m )   =   a l t e r _ l i s t . g o t o . p r o c _ n u m   ( i n d e x ) ; 
 	 	 	           a l t e r _ l i s t . g o t o . p r i o r i t y   ( t e m p _ n u m )   =   a l t e r _ l i s t . g o t o . p r i o r i t y   ( i n d e x ) ; 
 	 	 	           a l t e r _ l i s t . g o t o . p r o c _ n u m   ( i n d e x )   =   t e m p _ m i n ; 
 	 	 	           a l t e r _ l i s t . g o t o . p r i o r i t y   ( i n d e x )   =   t e m p _ p r i ; 
 
 	 	 	 e n d ; 
 	 	           a l t e r _ l i s t . g o t o . t a r g e t _ a _ s e g n o   ( i n d e x )   =   2 ; 
 	 	           a l t e r _ l i s t . g o t o . t a r g e t _ a _ o f f s e t   ( i n d e x )   = 
 	 	 	 b i n a r y   ( u n s p e c   ( c o b o l _ $ c o b o l _ d a t a _ w d _ o f f )   | |   " 0 0 " b ,   1 7 ) ; 
 	 	           c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   =   c o b o l _ $ c o b o l _ d a t a _ w d _ o f f   +   1 ; 
 
 	 	 e n d ; 	 	 	 	 / *     C O N S T R U C T   s e g _ i n i t _ l i s t     * / 
 
 	 	 w d s _ l e f t   =   w d s _ l e f t   -   b i n a r y   ( u n s p e c   ( a l t e r _ l i s t . n )   | |   " 0 " b ,   1 7 )   -   a l t e r _ l i s t . n   -   1 ; 
 	 	 i f   w d s _ l e f t   <   8 
 	 	 t h e n   g o t o   s i g n a l _ a l t r _ p r f o r m _ o v f l ; 
 
 	 	 i f   s u b s t r   ( r e l   ( s p a c e _ p t r ) ,   1 8 ,   1 )   =   " 1 " b 
 	 	 	 	 	 	 / *     o d d     * / 
 	 	 t h e n   m a k e _ e v e n   =   1 ; 
 
 	 	 e l s e   m a k e _ e v e n   =   2 ; 
 
 	 	 s p a c e _ p t r   =   a d d r e l   ( s p a c e _ p t r ,   b i n a r y   ( u n s p e c   ( a l t e r _ l i s t . n )   | |   " 0 0 " b ,   1 7 )   +   m a k e _ e v e n ) ; 
 	 	 c o b o l _ $ s e g _ i n i t _ l i s t _ p t r   =   s p a c e _ p t r ; 
 	 	 i f   n o _ f i x _ g o s   ^ =   0 
 	 	 t h e n   d o ; 
 
 	 	 	 c o b o l _ $ s e g _ i n i t _ f l a g   =   1 ; 
 	 	 	 s e g _ i n i t _ l i s t . n   =   1 ; 
 	 	 	 s e g _ i n i t _ l i s t . s e g . p r i o r i t y   ( 1 )   =   0 ; 
 	 	 	 s e g _ i n i t _ l i s t . s e g . i n t _ t a g _ n o   ( 1 )   =   0 ; 
 	 	 	 s e g _ i n i t _ l i s t . s e g . n o _ g o s   ( 1 )   =   n o _ f i x _ g o s ; 
 	 	 	 s e g _ i n i t _ l i s t . s e g . n e x t _ i n i t _ n o   ( 1 )   =   0 ; 
 	 	 	 w d s _ l e f t   =   w d s _ l e f t   -   m a k e _ e v e n   -   6 ; 
 
 	 	           e n d ; 
 	 	 e l s e   s e g _ i n i t _ l i s t . n   =   0 ; 
 
 	 	 i f   n o _ f i x _ g o s   ^ =   a l t e r _ l i s t . n 
 	 	 t h e n   d o   i n d e x   =   1   t o   a l t e r _ l i s t . n ; 
 
 	 	 	 t e m p _ p r i   =   a l t e r _ l i s t . g o t o . p r i o r i t y   ( i n d e x ) ; 
 	 	 	 i f   t e m p _ p r i   >   4 9 
 	 	 	 t h e n   d o ; 
 	 	 	 	 d o   j n d e x   =   1   t o   s e g _ i n i t _ l i s t . n ; 
 
 	 	 	 	           i f   t e m p _ p r i   =   s e g _ i n i t _ l i s t . s e g . p r i o r i t y   ( j n d e x ) 
 	 	 	 	           t h e n   d o ; 
 
 	 	 	 	 	           s e g _ i n i t _ l i s t . s e g . n o _ g o s   ( j n d e x )   = 
 	 	 	 	 	 	 s e g _ i n i t _ l i s t . s e g . n o _ g o s   ( j n d e x )   +   1 ; 
 	 	 	 	 	           g o t o   c o u n t e d ; 
 
 	 	 	 	 	 e n d ; 
 	 	 	 	 e n d ; 
 	 	 	 	 i f   w d s _ l e f t   <   6 
 	 	 	 	 t h e n   g o t o   s i g n a l _ a l t r _ p r f o r m _ o v f l ; 
 
 	 	 	 	 s e g _ i n i t _ l i s t . n   =   s e g _ i n i t _ l i s t . n   +   1 ; 
 	 	 	 	 s e g _ i n i t _ l i s t . s e g . p r i o r i t y   ( s e g _ i n i t _ l i s t . n )   =   t e m p _ p r i ; 
 	 	 	 	 s e g _ i n i t _ l i s t . s e g . i n t _ t a g _ n o   ( s e g _ i n i t _ l i s t . n )   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 	 	 	 s e g _ i n i t _ l i s t . s e g . n o _ g o s   ( s e g _ i n i t _ l i s t . n )   =   1 ; 
 	 	 	 	 s e g _ i n i t _ l i s t . s e g . n e x t _ i n i t _ n o   ( s e g _ i n i t _ l i s t . n )   =   0 ; 
 	 	 	 	 w d s _ l e f t   =   w d s _ l e f t   -   6 ; 
 
 	 	 	           e n d ; 
 c o u n t e d : 
 	 	           e n d ; 
 
 	 	 s p a c e _ p t r   =   a d d r e l   ( s p a c e _ p t r ,   6   *   s e g _ i n i t _ l i s t . n   +   2 ) ; 
 
 	 	 d o   i n d e x   =   1   t o   s e g _ i n i t _ l i s t . n ; 
 
 	 	           s e g _ i n i t _ l i s t . s e g . i n i t _ p t r   ( i n d e x )   =   s p a c e _ p t r ; 
 	 	           s p a c e _ p t r   = 
 	 	 	 a d d r e l   ( s p a c e _ p t r , 
 	 	 	 b i n a r y   ( u n s p e c   ( s e g _ i n i t _ l i s t . s e g . n o _ g o s   ( i n d e x ) )   | |   " 0 " b ,   1 7 ) 
 	 	 	 +   s e g _ i n i t _ l i s t . s e g . n o _ g o s   ( i n d e x ) ) ; 
 
 	 	 e n d ; 
 	           e n d ; 
 	 e l s e   a l t e r _ l i s t _ p t r   =   n u l l ; 
 
 / *     	 P R O C E S S I N G   O F   A L T E R   I N F O R M A T I O N   C O M P L E T E     	       * / 
 e x i t : 
 	 r e t u r n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / *     	 	           E R R O R   L O O P S               	 	       * / 
 
 s i g n a l _ a l t r _ p r f o r m _ o v f l : 
 	 s e g _ o v f l _ e r r o r . s e g _ n a m e   =   " A L T R / P R F O R M   " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l ,   a d d r   ( s e g _ o v f l _ e r r o r ) ) ; 
 	 r e t u r n ; 
 
 s i g n a l _ d a t a _ o v f l : 
 	 s e g _ o v f l _ e r r o r . s e g _ n a m e   =   " C O B O L     d a t a   " ; 
 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l ,   a d d r   ( s e g _ o v f l _ e r r o r ) ) ; 
 	 r e t u r n ; 
 
           e n d   c o b o l _ a l t e r _ p e r f o r m ; 
  
 
 
  
 	 	         c o b o l _ a r g _ d e s c r i p t o r . p l 1                 0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 4               8 1 5 0 4     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a r g _ d e s c r i p t o r . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 8 / 2 5 / 8 3   b y   F C H ,   [ 5 . 2 - 2 ] ,   p h x 1 5 7 6 9 ( B U G 5 5 5 ) , i n c o r r e c t   d e s c r i p t o r s   f o r m e d   f o r   C O M P - 5 , 7 , 8   d a t a   * / 
 / *   M o d i f i e d   o n   0 3 / 0 3 / 8 3   b y   F C H ,   [ 5 . 2 - 1 ] ,   p h x 1 4 7 4 6 ( B U G 5 4 7 ) ,   m u l t i p l i e r s   i n c o r r e c t l y   f o r m e d   * / 
 / *   M o d i f i e d   o n   0 1 / 0 3 / 8 0   b y   F C H ,   [ 3 . 0 - 3 ] ,   s c a l e   e n t e r e d   i n t o   d e s c r i p t o r   * / 
 / *   M o d i f i e d   o n   0 1 / 0 3 / 7 9   b y   F C H ,   [ 3 . 0 - 2 ] ,   s e t   p a c k e d   b i t   * / 
 / *   M o d i f i e d   o n   1 2 / 2 8 / 7 8   b y   F C H ,   [ 3 . 0 - 1 ] ,   f i x   r e d e f   b u g   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   3 . 0   * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a r g _ d e s c r i p t o r : 
           p r o c   ( i n _ w o r d ,   o u t _ w o r d ,   o u t _ c o n o f f ) ; 
 
 d c l 	 i n _ w o r d 	 	 b i t   ( 3 6 ) ; 
 d c l 	 o u t _ w o r d 	 	 b i t   ( 3 6 ) ; 
 d c l 	 o u t _ c o n o f f 	 f i x e d   b i n ; 
 
 d c l 	 0 1   d a t a _ b a s e d 	 b a s e d , 
 	     0 2   f i l l e r 	 c h a r   ( 2 4 ) , 
 	     0 2   o f f s e t 	 f i x e d   b i n ; 
 
 d c l 	 m y _ p t r 	 	 p t r ; 
 d c l 	 u t e m p 	 	 f i x e d   b i n ; 
 d c l 	 p r e c _ l e n 	 	 f i x e d   b i n ; 
 d c l 	 m y _ c o u n t 	 	 f i x e d   b i n   ( 2 4 ) ; 
 d c l 	 m y _ w o r d 	 	 b i t   ( 3 6 ) ; 
 d c l 	 c o n 	 	 ( 0 : 1 )   b i t   ( 3 6 )   a l i g n e d   b a s e d   ( m y _ p t r ) ; 
 d c l 	 d n _ p t r 	 	 p t r ; 
 d c l 	 ( d e s c _ c n t ,   m a i n _ l e v e l ,   p r e v _ l e v e l ,   i ,   r e d e f _ l e v e l ) 
 	 	 	 f i x e d   b i n , 
 	 ( c o n t _ f l a g ,   f o u n d ,   c o n _ b i t ) 
 	 	 	 b i t   ( 1 ) , 
 	 d e s c _ w d 	 	 ( 0 : 8 0 0 0 )   b i t   ( 3 6 ) , 
 	 d e s c _ c h a r 	 	 c h a r   ( 3 2 0 0 0 )   b a s e d   ( a d d r   ( d e s c _ w d   ( 0 ) ) ) ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 m y _ w o r d   =   i n _ w o r d ; 
 	 m y _ p t r   =   a d d r e l   ( c o b o l _ $ c o n _ e n d _ p t r ,   0 ) ; 
 	 m y _ c o u n t   =   1 ; 
 	 c o n _ b i t   =   " 1 " b ; 
 
 	 d o   w h i l e   ( c o n _ b i t ) ; 
 
 	           i f   m y _ c o u n t   > =   c o b o l _ $ c o n _ w d _ o f f 
 	           t h e n   d o ; 
 
 / *   t h e   w o r d   i s   n o t   i n   t h e   p o o l ,   p u t   i t   t h e r e * / 
 
 	 	           i f   ( c o b o l _ $ t e x t _ w d _ o f f   +   c o b o l _ $ c o n _ w d _ o f f )   < =   2 6 2 1 4 4 
 	 	           t h e n   d o ; 
 	 	 	           c o n   ( 0 )   =   m y _ w o r d ; 
 	 	 	           c o b o l _ $ c o n _ w d _ o f f   =   c o b o l _ $ c o n _ w d _ o f f   +   1 ; 
 
 	 	 	           c a l l   s e t _ o u t ; 
 	 	 	 e n d ; 	 	 	 / *   t e x t   p l u s   c o n s t a n t s   e x c e e d   s e g m e n t   s i z e   * / 
 
 	 	           e l s e   c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l   ( ) ,   a d d r   ( c o n _ e r r ) ) ; 
 	 	           r e t u r n ; 
 	 	 e n d ; 
 
 	           i f   c o n   ( 0 )   ^ =   m y _ w o r d 
 	           t h e n   d o ; 
 	 	           m y _ c o u n t   =   m y _ c o u n t   +   1 ; 
 	 	           m y _ p t r   =   a d d r e l   ( m y _ p t r ,   - 1 ) ; 
 	 	 e n d ; 
 	           e l s e   c o n _ b i t   =   " 0 " b ; 
 
 	 e n d ; 
 
 	 c a l l   s e t _ o u t ; 
 
 	 r e t u r n ; 
 
 s e t _ o u t : 
           p r o c ; 
 
 	 u t e m p   =   - ( m y _ c o u n t   +   c o b o l _ $ t e x t _ w d _ o f f ) ; 
 	 s u b s t r   ( o u t _ w o r d ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( u t e m p ) ,   1 9 ,   1 8 ) ; 
 
           e n d ; 
 
 
 
 t y p e 9 : 
           e n t r y   ( t o k e n _ p t r ,   o u t _ w o r d ,   o u t _ c o n o f f ) ; 
 
 d c l 	 t o k e n _ p t r 	 	 p t r ; 
 
 / *   t h e   f o l l o w i n g   a s s u m e s   a   d a t a   t y p e   o f   c h a r a c t e r   s t r i n g 
 	 	 	 	 a n d   n o t   p a c k e d   * / 
 	 d n _ p t r   =   t o k e n _ p t r ; 
 
 	 i f   d a t a _ n a m e . e l e m e n t a r y 
 	 t h e n   d o ; 
 	 	 d e s c _ c n t   =   0 ; 
 	 	 c a l l   s e t _ d e s c r i p t o r ; 
 	           e n d ; 
 	 e l s e   i f   f i x e d _ c o m m o n . d e s c r i p t o r   =   " 0 1 " b 
 	 t h e n   c a l l   S D ; 
 	 e l s e   d o ; 
 	 	 d e s c _ c n t   =   1 ; 
 
 	 	 i f   d a t a _ n a m e . l e v e l   =   1   |   d a t a _ n a m e . l e v e l   =   7 7 
 	 	 t h e n   d e s c _ w d   ( 1 )   =   " 1 0 1 0 1 0 1 0 " b ; 
 	 	 e l s e   d e s c _ w d   ( 1 )   =   " 1 0 1 0 1 0 1 1 " b ; 
 
 	 	 s u b s t r   ( d e s c _ w d   ( 1 ) ,   1 3 ,   2 4 )   =   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . i t e m _ l e n g t h ) ,   1 3 ,   2 4 ) ; 
 	           e n d ; 
 
 	 d e s c _ w d   ( 0 )   =   s u b s t r   ( u n s p e c   ( d e s c _ c n t ) ,   1 ,   3 6 ) ; 
 
 	 c a l l   c o b o l _ p o o l   ( s u b s t r   ( d e s c _ c h a r ,   1 ,   ( d e s c _ c n t   +   1 )   *   4 ) ,   2 ,   o u t _ c o n o f f ) ; 
 
 	 o u t _ c o n o f f   =   o u t _ c o n o f f   -   1 ; 
 	 u t e m p   =   - o u t _ c o n o f f   -   c o b o l _ $ t e x t _ w d _ o f f ; 
 	 s u b s t r   ( o u t _ w o r d ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( u t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 r e t u r n ; 
 
 
 / *   s e t _ d e s c r i p t o r   * / 
 s e t _ d e s c r i p t o r : 
           p r o c ; 
 
 	 i f   d a t a _ n a m e . b i n _ 1 8 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   i f   d a t a _ n a m e . s y n c 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           t h e n   m y _ w o r d   =   " 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 " b ; 
 	 	 	 	 	 	 / *   c o m p - 7   s y n c   - -   1   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	           e l s e   m y _ w o r d   =   " 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 " b ; 
 	 	 	 	 	 	 / *   c o m p - 7   - -   1   * / 
 
 	 e l s e   i f   d a t a _ n a m e . b i n _ 3 6 	 	 	 / *   c o m p - 6   - -   1   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 t h e n   m y _ w o r d   =   " 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 " b ; 
 	 e l s e   d o ; 
 
 
 
 / * [ 5 . 2 - 2 ] * / 
 / * m y _ w o r d   =   " 1 0 1 0 1 0 1 1 0 0 0 0 " b ; * / 
 	 	 p r e c _ l e n   =   d a t a _ n a m e . i t e m _ l e n g t h ; 
 
 	 	 i f   d a t a _ n a m e . d i s p l a y   &   d a t a _ n a m e . n u m e r i c 
 	 	 t h e n   d o ; 
 
 	 	 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 0 0 " b 
 	 	 	 	 	 	 / *   u n s i g n e d - - 3 5   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 	 	 t h e n   m y _ w o r d   =   " 1 1 0 0 0 1 1 1 " b ; 
 	 	 	 e l s e   i f   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b 
 	 	 	 t h e n   d o ; 	 	 	 / *   l e a d i n g   o v e r p u n c h - - 2 9   * / 
 	 	 	 	 	 	 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 1 0 " b 
 	 	 	 	 t h e n   m y _ w o r d   =   " 1 0 1 1 1 0 1 1 " b ; 
 	 	 	 	 	 	 / *   t r a i l i n g   o v e r p u n c h - - 3 0   * / 
 	 	 	 	 	 	 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 e l s e   i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 0 1 " b 
 	 	 	 	 t h e n   m y _ w o r d   =   " 1 0 1 1 1 1 0 1 " b ; 
 
 	 	 	           e n d ; 
 
 / *   l e a d i n g   s e p a r a t e   s i g n - - 9   * / 
 
 	 	 	 e l s e   i f   d a t a _ n a m e . s i g n _ t y p e   =   " 1 0 0 " b 
 	 	 	 t h e n   d o ; 
 
 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 m y _ w o r d   =   " 1 0 0 1 0 0 1 1 " b ; 
 	 	 	 	 p r e c _ l e n   =   p r e c _ l e n   -   1 ; 
 	 	 	           e n d ; 	 	 	 / *   t r a i l i n g   s e p a r a t e   s i g n - - 3 6   * / 
 	 	 	 e l s e   i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 1 1 " b 
 	 	 	 t h e n   d o ; 	 	 	 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 m y _ w o r d   =   " 1 1 0 0 1 0 0 1 " b ; 
 	 	 	 	 p r e c _ l e n   =   p r e c _ l e n   -   1 ; 
 
 	 	 	           e n d ; 
 	 	           e n d ; 
 
 	 	 e l s e   i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c 	 / *   c o m p   o r   c o m p - 8   * / 
 	 	 t h e n   d o ; 
 
 	 	 	 i f   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 	 t h e n   d o ; 
 
 
 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c _ h 
 	 	 	 	 	 	 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 t h e n   i f   d a t a _ n a m e . s y n c 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 	           t h e n   m y _ w o r d   =   " 1 1 0 1 0 1 1 1 " b ; 
 	 	 	 	 	 	 / *   c o m p - 8   s i g n e d   s y n c h   - -   4 3   * / 
 	 	 	 	 	 	 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	           e l s e   m y _ w o r d   =   " 1 1 0 1 0 0 1 1 " b ; 
 	 	 	 	 	 	 / *   c o m p - 8   s i g n e d   n o n - s y n c h   - -   4 1   * / 
 
 / *   c o m p - 5   s i g n e d - - 3 9   * / 
 
 / * [ 3 . 0 - 2 ] * / 
 	 	 	 	 e l s e   m y _ w o r d   =   " 1 1 0 0 1 1 1 1 " b ; 
 
 	 	 	           e n d ; 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 e l s e   i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c _ h 
 	 	 	 	 	 	 / *   c o m p - 8   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 t h e n   i f   d a t a _ n a m e . s y n c 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	           t h e n   m y _ w o r d   =   " 1 1 0 1 0 0 0 1 " b ; 
 	 	 	 	 	 	 / *   c o m p - 8   u n s i g n e d   s y n c   - -   4 0   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	           e l s e   m y _ w o r d   =   " 1 1 0 0 1 1 0 1 " b ; 
 	 	 	 	 	 	 / *   c o m p - 8   u n s i g n e d   - -   3 8   * / 
 	 	 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 	 e l s e   m y _ w o r d   =   " 1 1 0 1 0 0 0 1 " b ; 	 / *   c o m p - 5   u n s i g n e d   - -   4 0   * / 
 
 	 	 	 p r e c _ l e n   =   d a t a _ n a m e . p l a c e s _ l e f t   +   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 
 	 	           e n d ; 	 	 	 	 / * [ 5 . 2 - 2 ] * / 
 	 	 e l s e   m y _ w o r d   =   " 1 0 1 0 1 0 1 1 " b ; 	 	 / *   n o n - n u m e r i c   - -   2 1   * / 
 
 
 / * [ 4 . 0 - 3 ] * / 
 	 	 s u b s t r   ( m y _ w o r d ,   1 3 ,   2 4 )   = 
 	 	           / * [ 4 . 0 - 3 ] * /   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . p l a c e s _ r i g h t ) ,   2 5 ,   1 2 )   / * [ 4 . 0 - 3 ] * / 
 	 	           | |   / * [ 4 . 0 - 3 ] * /   s u b s t r   ( u n s p e c   ( p r e c _ l e n ) ,   2 5 ,   1 2 ) ; 
 
 	           e n d ; 
 
 	 d e s c _ c n t   =   d e s c _ c n t   +   1 ; 
 	 d e s c _ w d   ( d e s c _ c n t )   =   m y _ w o r d ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 t h e n   c a l l   s u b _ h a n d l e r   ( a d d r   ( d e s c _ w d   ( d e s c _ c n t ) ) ) ; 
 
           e n d ; 
 
 S D : 
           p r o c ; 
 
 	 m a i n _ l e v e l   =   d a t a _ n a m e . l e v e l ; 
 	 p r e v _ l e v e l   =   m a i n _ l e v e l ; 
 	 d e s c _ c n t   =   1 ; 
 
 / *   s t r u c t u r e   - -   1 7   * / 
 
 	 i f   m a i n _ l e v e l   =   1   |   m a i n _ l e v e l   =   7 7 
 	 t h e n   d e s c _ w d   ( 1 )   =   " 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 " b   | |   d a t a _ n a m e . s o n _ c n t ; 
 	 e l s e   d e s c _ w d   ( 1 )   =   " 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 " b   | |   d a t a _ n a m e . s o n _ c n t ; 
 
 	 d n _ p t r   =   p o i n t e r   ( c o b o l _ n t f p ,   d n _ p t r   - >   d a t a _ b a s e d . o f f s e t ) ; 
 	 c o n t _ f l a g   =   " 1 " b ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 t h e n   c a l l   s u b _ h a n d l e r   ( a d d r   ( d e s c _ w d   ( 1 ) ) ) ; 
 
 	 d o   w h i l e   ( c o n t _ f l a g ) ; 
 
 	           d n _ p t r   =   a d d r e l   ( d n _ p t r ,   d i v i d e   ( d a t a _ n a m e . s i z e   +   1 1 ,   8 ,   3 5 ,   0 )   *   2 ) ; 
 
 	           i f   d a t a _ n a m e . s i z e   =   0 
 	           t h e n   r e t u r n ; 
 
 	           d o   w h i l e   ( d a t a _ n a m e . e x p _ r e d e f i n i n g ) ; 
 
 	 	 r e d e f _ l e v e l   =   d a t a _ n a m e . l e v e l ; 
 	 	 f o u n d   =   " 0 " b ; 	 	 	 / * [ 3 . 0 - 1 ] * / 
 	 	 d n _ p t r   =   a d d r e l   ( d n _ p t r ,   d i v i d e   ( d a t a _ n a m e . s i z e   +   1 1 ,   8 ,   3 5 ,   0 )   *   2 ) ; 
 
 	 	 d o   w h i l e   ( ^ f o u n d ) ; 
 
 	 	           i f   d a t a _ n a m e . l e v e l   =   7 7   |   d a t a _ n a m e . l e v e l   < =   r e d e f _ l e v e l 
 	 	           t h e n   f o u n d   =   " 1 " b ; 	 	 / * [ 3 . 0 - 1 ] * / 
 	 	           e l s e   d n _ p t r   =   a d d r e l   ( d n _ p t r ,   d i v i d e   ( d a t a _ n a m e . s i z e   +   1 1 ,   8 ,   3 5 ,   0 )   *   2 ) ; 
 	 	 e n d ; 
 
 	 	 i f   d a t a _ n a m e . l e v e l   =   7 7   |   d a t a _ n a m e . l e v e l   < =   m a i n _ l e v e l 
 	 	 t h e n   r e t u r n ; 
 
 	           e n d ; 
 
 	           i f   d a t a _ n a m e . n o n _ e l e m e n t a r y 
 	           t h e n   d o ; 
 	 	           i f   d a t a _ n a m e . l e v e l   < =   m a i n _ l e v e l 
 	 	           t h e n   r e t u r n ; 
 	 	           e l s e   d o ; 
 
 	 	 	           p r e v _ l e v e l   =   d a t a _ n a m e . l e v e l ; 
 	 	 	           d e s c _ c n t   =   d e s c _ c n t   +   1 ; 
 
 / *   s t r u c t u r e   - -   1 7   * / 
 
 	 	 	           d e s c _ w d   ( d e s c _ c n t )   =   " 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 " b   | |   d a t a _ n a m e . s o n _ c n t ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	 	           i f   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 	           t h e n   c a l l   s u b _ h a n d l e r   ( a d d r   ( d e s c _ w d   ( d e s c _ c n t ) ) ) ; 
 
 	 	 	 e n d ; 
 
 	 	 e n d ; 
 	           e l s e   d o ; 
 
 	 	           i f   d a t a _ n a m e . l e v e l   <   5 0 
 	 	           t h e n   d o ; 
 	 	 	           i f   d a t a _ n a m e . l e v e l   < =   p r e v _ l e v e l 
 	 	 	           t h e n   i f   d a t a _ n a m e . l e v e l   < =   m a i n _ l e v e l 
 	 	 	 	 t h e n   r e t u r n ; 
 
 	 	 	           c a l l   s e t _ d e s c r i p t o r ; 
 	 	 	 e n d ; 
 
 	 	           e l s e   i f   d a t a _ n a m e . l e v e l   =   7 7 
 	 	           t h e n   r e t u r n ; 
 
 	 	 e n d ; 
 
 	 e n d ; 
 
           e n d ; 
 
 s u b _ h a n d l e r : 
           p r o c   ( d e s c _ l o c ) ; 
 
 / * [ 5 . 2 - 1 ] * / 
 d c l 	 d e s c _ l o c 	 	 p t r ; 	 	 	 / * [ 5 . 2 - 1 ] * / 
 d c l 	 d e s c 	 	 b i t   ( 3 6 )   b a s e d   ( d e s c _ l o c ) ; 
 
 
 	 o c c u r s _ p t r   =   a d d r e l   ( d n _ p t r ,   s u b s t r   ( u n s p e c   ( d a t a _ n a m e . o c c u r s _ p t r ) ,   1 7 ,   1 8 ) ) ; 
 	 s u b s t r   ( d e s c _ w d   ( d e s c _ c n t ) ,   1 0 ,   3 )   =   s u b s t r   ( u n s p e c   ( o c c u r s . d i m e n s i o n s ) ,   3 4 ,   3 ) ; 
 
 	 d o   i   =   o c c u r s . d i m e n s i o n s   t o   1   b y   - 1 ; 
 
 	           d e s c _ c n t   =   d e s c _ c n t   +   3 ; 
 	           d e s c _ w d   ( d e s c _ c n t   -   2 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 " b ; 
 	           d e s c _ w d   ( d e s c _ c n t   -   1 )   =   u n s p e c   ( o c c u r s . l e v e l . m a x   ( i ) ) ; 
 
 / * [ 5 . 2 - 1 ] * / 
 	           i f   s u b s t r   ( d e s c ,   8 ,   1 )   =   " 1 " b 
 	           t h e n   d e s c _ w d   ( d e s c _ c n t )   =   b i t   ( f i x e d   ( d i v i d e   ( o c c u r s . l e v e l . s t r u c _ l e n g t h   ( i ) ,   2 ,   3 5 ,   0 )   *   9 ,   3 6 ) ) ; 
 	           e l s e   d e s c _ w d   ( d e s c _ c n t )   =   b i t   ( f i x e d   ( d i v i d e   ( o c c u r s . l e v e l . s t r u c _ l e n g t h   ( i ) ,   8 ,   3 5 ,   0 ) ,   3 6 ) ) ; 
 	 e n d ; 
 
           e n d ; 
 
 
 % i n c l u d e   c o b o l _ a r g _ d e s c r _ d a t a ; 
 
           e n d ; 
  
 
 
  
 	 	         c o b o l _ a r i t h _ m o v e _ g e n . p l 1                 0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 0             1 4 7 7 8 0     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a r i t h _ m o v e _ g e n . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 1 / 1 6 / 8 4   b y   F C H ,   [ 5 . 3 . . . ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ( p h x 1 8 3 8 1 ) ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   1 0 / 2 1 / 8 2   b y   F C H ,   [ 5 . 1 - 1 ] ,   m i s s i n g   e n d   s t a t e m e n t   a d d e d   * / 
 / *   M o d i f i e d   o n   0 5 / 0 9 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   a l l o c   m o r e   s p a c e   f o r   t e m p   s u b s c r   b t d   c o n v   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 
 
 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ a r i t h _ m o v e _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ) ; 
 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t h a t   m o v e s   t h e   r e s u l t   o f   a n 
 a r i t h m e t i c   c o m p u t a t i o n   i n t o   o n e   o r   m o r e   r e c e i v i n g   v a r i a b l e s . 
 T h i s   p r o c e d u r e   i s   n e c e s s a r y   b e c a u s e   t h e   g e n e r a t o r   f o r   t h e 
 C o b o l   M O V E   s t a t e m e n t   g e n e r a t e s   t r u n c a t e d   m o v e s   ( a s   r e q u i r e d   b y 
 t h e   s e m a n t i c s   o f   t h e   M O V E   s t a t e m e n t ) ,   w h i l e   w h a t   i s   r e q u i r e d 
 f o r   m o v i n g   t h e   r e s u l t   o f   a   c o m p u t a t i o n   t o   a   r e c e i v i n g 
 v a r i a b l e   i s   a   n o n - t r u n c a t e d   m o v e ,   s o   t h a t   o v e r f l o w   c o n d i t i o n s 
 c a n   o c c u r . 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R     * / 
 
 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 / *     T h i s   p a r a m e t e r   i s   d e c l a r e d 
 i n   a n   i n c l u d e   f i l e   t h a t   f o l l o w s   t h e   e x e c u t a b l e   s t a t e m e n t s   o f 
 t h e   p r o c e d u r e .     * / 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 i n _ t o k e n _ p t r 	 P o i n t e r   t o   a   s t r u c t u r e   t h a t   c o n t a i n s 
 	 	 i n f o r m a t i o n   u s e d   f o r   g e n e r a t i n g   c o d e   t o 
 	 	 m o v e   t h e   r e s u l t   o f   a   c o m p u t a t i o n   t o   o n e   o r 
 	 	 m o r e   r e c e i v i n g   f i e l d s .     ( i n p u t )     S e e   I N P U T 
 	 	 D E T A I L s   b e l o w   f o r   a   c o m p l e t e   d e s c r i p t i o n 
 	 	 o f   t h e   s t r u c t u r e . 
 
 * / 
 
 / *     I N P U T   D E T A I L S     * / 
 
 / * 
 T h e   i n p u t   t o   t h i s   p r c e d u r e   i s   a   p o i n t e r   t h a t   p o i n t s   t o   a 
 s t r u c t u r e   w i t h   a   f o r m a t   d e f i n e d   b y   t h e   f o l l o w i n g   d e c l a r a t i o n : 
 
 d c l 	 1   i n _ t o k e n   a l i g n e d   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n   a l i g n e d , 
 	 	 2   c o d e   f i x e d   b i n   a l i g n e d , 
 	 	 2   t o k e n _ p t r   ( 0   r e f e r ( i n _ t o k e n . n ) )   p t r ; 
 
 T h e   c o n t e n t s   o f   t h i s   s t r u c t u r e   t h a t   a r e   m e a n i n g f u l   t o   t h i s 
 p r o c e d u r e   a r e   t h e   v a l u e   i n   " n " ,   a n d   t h e   p o i n t e r s   i n   t h e 
 " t o k e n _ p t r "   a r r a y . 
 
 
 1 .   i n _ t o k e n . n   c o n t a i n s   t h e   n u m b e r   o f   p o i n t e r s   i n   t h e   t o k e n 
 p o i n t e r   a r r a y .     T h i s   v a l u e   w i l l   h a v e   a   r a n g e   e q u a l   t o   o r   g r e a t e r 
 t h a n   3 . 
 
 2 .   t o k e n _ p t r   i s   a n   a r r a y   o f   p o i n t e r s   t o   t o k e n s   t h a t   d e s c r i b e 
 t h e   o p e r a n d s   f o r   w h i c h   m o v e   c o d e   i s   t o   b e   g e n e r a t e d ,   o r   t o   a 
 s p e c i a l   t o k e n   t h a t   c o n t a i n s   s p e c i f i c   i n f o r m a t i o n   c o n c e r n i n g 
 t h e   m o v e . 
 
 	 t o k e n _ p t r ( 1 )   i s   n o t   u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 t o k e n _ p t r ( 2 )   p o i n t s   t o   t h e   t o k e n   t h a t   d e s c r i b e s 
 	 t h e   r e s u l t   o f   a   c o m p u t a t i o n .     C o d e   t o   s t o r e   t h i s 
 	 v a l u e   i s   t o   b e   g e n e r a t e d   b y   t h i s   p r o c e d u r e . 
 
 	 t o k n _ p t r ( n )   p o i n t s   t o   a n   E O S   t o k e n .     T h i s   t o k e n   i s 
 	 d e s c r i b e d   b y   a n   i n c l u d e   f i l e   t h a t   f o l l o w s   t h e 
 	 e x e c u t a b l e   s t a t e m e n t s   o f   t h i s   p r o c e d u r e .     O n l y   o n e 
 	 e n t r y   i n   t h e   E O S   t o k e n   i s   m e a n i n g f u l   t o   t h i s 
 	 p r o c e d u r e :     e n d _ s t m t . e   c o n t a i n s   t h e   n u m b e r   o f 
 	 r e c e i v i n g   f i e l d s   i n t o   w h c i h   t h e   r e s u l t   o f   t h e 
 	 c o m p u t a t i o n   i s   t o   b e   s t o r e d . 
 
 
 	 t o k e n _ p t r ( 3 )   t h r o u g h   t o k e n _ p t r ( n - 1 )   p o i n t   t o   d a t a   n a m e 
 	 ( t y p e   9 )   t o k e n s   t h a t   d e s c r i b e   t h e   r e c e i v i n g   v a r i a b l e s 
 	 i n t o   w h i c h   t h e   r e s u l t   i s   t o   b e   s t o r e d .     T h e   t y p e   o f 
 	 c o d e   g e n e r a t e d   d e p e n d s   o n   t h e   r e c e i v i n g   v a r i a b l e : 
 
 
 	 2 .   F o r   a n y   o t h e r   t y p e   o f   r e c e i v i n g   v a r i a b l e ,   t h e 
 	 c o d e   t h a t   i s   g e n e r a t e d   i s   a n   E I S   m o v e   n u m e r i c .     T h e 
 	 e x e c u t i o n   o f   t h e   m o v e   n u m e r i c   w i l l   r e s u l t   i n   c o n v e r s i o n 
 	 f r o m   o n e   s i g n   t y p e   t o   a n o t h e r ,   b u t   w i l l   n o t   r e s u l t 
 	 i n   a n y   t r u n c a t i o n .     I f   t h e   r e s u l t   v a l u e   i s   t o o   l a r g e 
 	 t o   f i t   i n t o   t h e   r e c e i v i n g   v a r i a b l e ,   t h e n   t h e 
 	 f i x e d o v e r f l o w   c o n d i t i o n   w i l l   b e   r a i s e d   w h e n   t h e   c o d e 
 	 i s   e x e c u t e d . 
 
 * / 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ c o p y 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ d e c i m a l _ 9 b i t 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ g e t _ n u m _ c o d e 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ n u m _ t o _ u d t s 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 
 
 / * } * / 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   i n t e r n a l   s t a t i c   v a r i a b l e s   t h a t   c o n t a i n s   t h e   M V N   o p c o d e     * / 
 
 d c l 	 m v n _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 1 0 0 0 0 0 0 1 " b   / * 3 0 0 ( 1 ) * / ) ; 
 d c l 	 d t b _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 1 0 0 0 1 0 1 1 " b   / * 3 0 5 ( 1 ) * / ) ; 
 
 d c l 	 f i r s t _ i x 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 2 ) ; 
 
 
 / *     D e f i n i t i o n   o f   a   n u m e r i c   l i t e r a l   z e r o     * / 
 
 d c l 	 1   n u m _ l i t _ z e r o 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 7 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 )   i n i t   ( " 0 " b ) , 
 	     2   s u b s c r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t _ v a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 / *     D e f i n i t i o n   o f   a   s t a t i c   f l a g   t h a t   t e l l s   w h e t h e r   n u m e r i c   z e r o   h a s   b e e n   a l l o c a t e d   f o r   t h i s   c o m p i l a t i o n .     * / 
 
 d c l 	 z e r o _ a l l o c a t e d 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 
 / *     D e f i n i t i o n   o f   a   p o i n t e r   u s e d   t o   p o i n t   t o   t h e   d a t a   n a m e   t o k e n   f o r   t h e   n u m e r i c   z e r o   d a t a   n a m e   t o k e n .     * / 
 
 d c l 	 z e r o _ t y p e 9 _ p t r 	 p t r   i n t   s t a t i c ; 
 
 / *     D e f i n i t i o n   o f   a n   i n t e r n a l   s t a t i c   b u f f e r   t o   c o n t a i n   t h e   d a t a   n a m e   t o k e n   f o r   n u m e r i c   z e r o .     * / 
 
 d c l 	 z e r o _ t y p e 9 _ b u f f 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   b u f f e r s   u s e d   b y   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 / *     R e l o c a t i o n   i n f o   b u f f e r     * / 
 d c l 	 r e l o c _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 / *     i n s t r u c t i o n / d e s c r i p t o r   b u f f e r     * / 
 d c l 	 a d d r _ i n s t _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 / *     a d d r e s s a b i l i t y   i n p u t   b u f f e r     * / 
 d c l 	 a d d r _ i n p u t _ b u f f e r 	 ( 1 : 3 0 )   f i x e d   b i n ; 
 d c l 	 d n _ p t r 	 	 p t r ; 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 d c l 	 i y 	 	 f i x e d   b i n ; 
 d c l 	 d e s t _ p t r 	 	 p t r ; 
 d c l 	 s o u r c e _ p t r 	 p t r ; 
 d c l 	 w o r k _ p l a c e s _ l e f t 	 f i x e d   b i n ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n ; 
 d c l 	 w o r k _ t o k e n _ p t r 	 p t r ; 
 d c l 	 d e s t _ c o d e 	 	 f i x e d   b i n ; 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ a r i t h _ m o v e _ g e n 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( c a m g ) ; / * * / 
 
 	 i n _ t o k e n . c o d e   =   0 ; 
 
 / *     P o i n t   p o i n t e r s   a t   t h e   b u f f e r s   u s e d   t o   e s t a b l i s h   a d d r e s s a b i l i t y     * / 
 
 	 r e l o c _ p t r   =   a d d r   ( r e l o c _ b u f f e r   ( 1 ) ) ; 
 	 i n p u t _ p t r   =   a d d r   ( a d d r _ i n p u t _ b u f f e r   ( 1 ) ) ; 
 	 i n s t _ p t r   =   a d d r   ( a d d r _ i n s t _ b u f f e r   ( 1 ) ) ; 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   5 ; 	 	 	 / *     e i s ,   2   i n p u t   o p e r a n d s ,   i n s t r u c t i o n   w o r d   a n d   2   d e s c r i p t o r s   r e t u r n e d     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   2 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k s     * / 
 
 
 	 i f   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   - >   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     S o u r c e   t o k e n   i s   n o t   a   d a t a   n a m e   t o k e n .     * / 
 
 	 	 i f   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   - >   d a t a _ n a m e . t y p e   ^ =   r t c _ r e s w o r d 
 	 	 t h e n   d o ; 	 	 	 	 / *     N o t   a   r e s e r v e d   w o r d ,   a s s u m e   a   n u m e r i c   l i t e r a l     * / 
 
 	 	 	 s o u r c e _ p t r   =   n u l l   ( ) ; 	 / *     m a k e _ t y p e 9   s u p p l i e s   b u f f e r   f o r   d a t a   n a m e   t o k e n     * / 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( s o u r c e _ p t r ,   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x ) ) ; 
 
 	 	           e n d ; 	 	 	 	 / *     N o t   a   r e s e r v e d   w o r d ,   a s s u m e   a   n u m e r i c   l i t e r a l     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     A S S U M E   F I G U R A T I V E   C O N S T A N T   Z E R O     * / 
 
 	 	 	 i f   z e r o _ a l l o c a t e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 	 t h e n   d o ; 	 	 	 / *     A l l o c a t e   n u m e r i c   l i t e r a l   z e r o   a n d   m a k e   d a t a   n a m e   t o k e n .     * / 
 
 	 	 	 	 z e r o _ t y p e 9 _ p t r   =   a d d r   ( z e r o _ t y p e 9 _ b u f f   ( 1 ) ) ; 
 	 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( z e r o _ t y p e 9 _ p t r ,   a d d r   ( n u m _ l i t _ z e r o ) ) ; 
 	 	 	 	 z e r o _ a l l o c a t e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 
 	 	 	           e n d ; 	 	 	 / *     A l l o c a t e   n u m e r i c   l i t e r a l   z e r o   a n d   m a k e   d a t a   n a m e   t o k e n .     * / 
 
 	 	 	 s o u r c e _ p t r   =   z e r o _ t y p e 9 _ p t r ; 
 
 	 	           e n d ; 	 	 	 	 / *     A s s u m e   F I G U R A T I V E   C O N S T A T N   Z E R O     * / 
 
 	           e n d ; 	 	 	 	 	 / *     S o u r c e   t o k e n   i s   n o t   a   d a t a   n a m e   t o k e n .     * / 
 
 	 e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   - >   d a t a _ n a m e . b i n _ 1 8   |   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   - >   d a t a _ n a m e . b i n _ 3 6 
 	           |   ( i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   - >   d a t a _ n a m e . i t e m _ s i g n e d 
 	           &   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   - >   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     S o u r c e   i s   f i x e d   b i n a r y   o r   o v e r p u n c h   s i g n   d a t a .     * / 
 
 / *     C o n v e r t   t h e   s o u r c e   t o   u n p a c k e d   d e c i m a l ,   t r a i l i n g   s i g n .     * / 
 	 	 s o u r c e _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ n u m _ t o _ u d t s   ( i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x ) ,   s o u r c e _ p t r ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     S o u r c e   i s   n o t   d i s p l a y ,   m u s t   b e   f i x e d   b i n a r y   o r   o v e r p u n c h   s i g n   d a t a .     * / 
 
 
 	 e l s e   s o u r c e _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x ) ; 
 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   s o u r c e _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 1 )   =   0 ; 	 / *     s e n d i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 	 	 / *     u t i l i t y   w o r r i e s   a b o u t   s i z e     * / 
 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 2 )   =   0 ; 	 / *     s e n d i n g     * / 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 2 )   =   0 ; 
 
 	 i y   =   f i r s t _ i x   +   1 ; 
 
 
 
 	 d e s t _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x   +   1 ) ; 
 
 
 
 	 i f   d e s t _ p t r   - >   d a t a _ n a m e . n u m e r i c _ e d i t e d 
 	 t h e n   d o ; 	 	 	 	 	 / *     D e s t i n a t i o n   i s   n u m e r i c   e d i t e d .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   s o u r c e   t o   a   n u m e r i c   t e m p o r a r y   o f   l e n g t h   a n d   s c a l e   f a c t o r 
 	 	 o f   t h e   n u m e r i c   e d i t e d   r e c e i v i n g   f i e l d ,   i n   a n   a t t e m p t   t o   f o r c e   o v e r f l o w .     * / 
 	 	 	 	 	 	 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k   e q u a l   t o   t h e   s i z e   o f   t h e   r e c e i v i n g   n u m e r i c   e d i t e d   f i e l d .     * / 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( f i x e d   ( d e s t _ p t r   - >   d a t a _ n a m e . i t e m _ l e n g t h ,   1 7 )   +   1 ,   0 ,   r e t _ o f f s e t ) ; 
 
 / *     M a k e   a   d a t a   n a m e   t o k e n   f o r   t h e   t e m p o r a r y   j u s t   a l l o c a t e d .     * / 
 	 	 w o r k _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ d e c i m a l _ 9 b i t   ( w o r k _ t o k e n _ p t r ,   1 0 0 0   / * s t a c k * / ,   f i x e d   ( r e t _ o f f s e t ,   2 4 ) , 
 	 	           f i x e d   ( d e s t _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ,   1 7 ) ,   f i x e d   ( d e s t _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t ,   1 7 ) ) ; 
 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   w o r k _ t o k e n _ p t r ; 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     I n s e r t   o p c o d e   a n d   r o u n d i n g   b i t   i f   n e c e s s a r y .     * / 
 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   m v n _ o p ; 
 	 	 i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . r o u n d e d 
 	 	 t h e n   i n s t _ s t r u c . z e r o 3   =   " 0 1 " b ; 	 / * r o u n d i n g     * / 
 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 / *     S e t   t h e   i n _ t o k e n _ s t r u c t u r e   t o   i n d i c a t e   a n   a d d i t i o n a l   m o v e   i s   n e c e s s a r y   i n   t h e   c a l l i n g 
 	 	 p r o c e d u r e .     * / 
 	 	 i n _ t o k e n . c o d e   =   1 ; 
 
 / *     S e t   t h e   s o u r c e   e n t r y   p o i n t e r   i n   t h e   i n _ t o k e n   s t r u c t u r e   t o   p o i n t   t o   t h e   t e m p o r a r y 
 	 	 t h a t   h a s   j u s t   r e c e i v e d   t h e   n u m e r i c   v a l u e .     * / 
 	 	 i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   =   w o r k _ t o k e n _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     D e s t i n a t i o n   i s   n u m e r i c   e d i t e d .     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     D e s t i n a t i o n   i s   s c a l e d   d e c i m a l , f i x e d   b i n a r y ,   o r   o v e r p u n c h   s i g n .     * / 
 
 	 	 c a l l   c o b o l _ g e t _ n u m _ c o d e   ( d e s t _ p t r ,   d e s t _ c o d e ) ; 
 
 	 	 g o t o   d e s t i n a t i o n _ s e q u e n c e   ( d e s t _ c o d e ) ; 
 
 
 d e s t i n a t i o n _ s e q u e n c e   ( 1 ) : 	 	 	 	 / *     D E S T I N A T I O N   I S   U N P A C K E D   S C A L E D   D E C I M A L     * / 
 d e s t i n a t i o n _ s e q u e n c e   ( 2 ) : 	 	 	 	 / *     D E S T I N A T I O N   I S   P A C K E D   S C A L E D   D E C I M A L     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   b r u t e   f o r c e   n u m e r i c   m o v e .     * / 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   d e s t _ p t r ; 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     I n s e r t   o p c o d e   a n d   r o u n d i n g   b i t   i f   n e e d e d .     * / 
 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   m v n _ o p ; 
 	 	 i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . r o u n d e d 
 	 	 t h e n   i n s t _ s t r u c . z e r o 3   =   " 0 1 " b ; 	 / *     r o u n d i n g   b i t   o n     * / 
 
 	 	 i f   d e s t _ p t r   - >   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 t h e n   i n s t _ s t r u c . i n s t . z e r o 1   =   " 1 0 " b ; 	 / *     T u r n   o n   t h e   P   b i t   s o   t h a t 
 	 	 t h e   t a r g e t   s i g n   w i l l   b e   s e t   t o   o c t a l   1 3 .     * / 
 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 	 	 g o t o   b r u t e _ f o r c e _ e x i t ; 
 
 
 d e s t i n a t i o n _ s e q u e n c e   ( 3 ) : 	 	 	 	 / *     D E S T I N A T I O N   I S   S H O R T   F I X E D   B I N A R Y     * / 
 d e s t i n a t i o n _ s e q u e n c e   ( 4 ) : 	 	 	 	 / *     D E S T I N A T I O N   I S   L O N G   F I X E D   B I N A R Y     * / 
 	 	 i f   ( s o u r c e _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b   |   s o u r c e _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t   ^ =   0 ) 
 	 	 t h e n   d o ; 	 	 	 	 / *     S o u r c e   i s   f l o a t i n g   d e c i m a l   o r   s c a l e d   d e c i m a l   w i t h   f r a c t i o n a l   p a r t .     * / 
 
 	 	 	 i f   s o u r c e _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b 
 	 	 	 t h e n   w o r k _ p l a c e s _ l e f t   =   6 2 ; 	 / *     F l o a t i n g   i s   c o n v e r t e d   t o   s c a l e d   d e c i m a l 
 	 	 	 	 w i t h   p r e c i s i o n   ( 6 3 , 0 )   w i t h   l e a d i n g     s e p a r a t e   s i g n     * / 
 	 	 	 e l s e   w o r k _ p l a c e s _ l e f t   =   s o u r c e _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ; 
 
 / *     A l l o c a t e   s p a c e   i n   t h e   s t a c k   t o   r e c e i v e   t h e   i n t e g e r   s c a l e d   d e c i m a l   v a l u e .     * / 
 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( w o r k _ p l a c e s _ l e f t   +   1 ,   0 ,   r e t _ o f f s e t ) ; 
 
 / *     M a k e   a   d a t a   n a m e   t o k e n   f o r   t h e   i n t e g e r   s c a l e d   d e c i m a l .     * / 
 	 	 	 w o r k _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ d e c i m a l _ 9 b i t   ( w o r k _ t o k e n _ p t r ,   1 0 0 0   / * s t a c k * / ,   f i x e d   ( r e t _ o f f s e t ,   2 4 ) , 
 	 	 	           w o r k _ p l a c e s _ l e f t ,   0 ) ; 
 
 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   s o u r c e ,   a n d   f i x e d   d e c i m a l   t e m p .     * / 
 	 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   w o r k _ t o k e n _ p t r ; 
 	 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     M a k e   a n d   e m i t   c o d e   t o   m o v e   f l o a t i n g   d e c i m a l   t o   i n t e g e r   s c a l e d   d e c i m a l     * / 
 	 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   m v n _ o p ; 
 	 	 	 i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . r o u n d e d 
 	 	 	 t h e n   i n s t _ s t r u c . z e r o 3   =   " 0 1 " b ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 	 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   w o r k _ t o k e n _ p t r ; 
 	 	 	 	 	 	 / *     i n t e g e r   s c a l e d   d e c i m a l     * / 
 
 	 	           e n d ; 	 	 	 	 / *     S o u r c e   i s   f l o a t i n g   d e c i m a l   o r   s c a l e d   d e c i m a l l   w i t h   f r a c t i o n a l   p a r t .     * / 
 
 / *     A t   t h i s   p o i n t   i f   t h e   s o u r c e   w a s   f l o a t i n g   d e c i m a l ,   i t   h a s   b e e n   c o n v e r t e d   t o 
 	 	 i n t e g e r   s c a l e d   d e c i m a l .     N o w ,   w e   g e n e r a t e   c o d e   t o   c o n v e r t   t h e   s c a l e d   d e c i m a l   t o   f i x e d 
 	 	 b i n a r y .     * / 
 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   d e s t _ p t r ; 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   d t b _ o p ; 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 	 	 g o t o   b r u t e _ f o r c e _ e x i t ; 
 
 
 
 d e s t i n a t i o n _ s e q u e n c e   ( 5 ) : 	 	 	 	 / *     D E S T I N A T I O N   I S   O V E R P U N C H   S I G N   D A T A     * / 
 	 	 	 	 	 	 / *     D e s t i n a t i o n   i s   o v e r p u n c h   s i g n .     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   s o u r c e   t o   a   n u m e r i c   t e m p o r a r y   o f   l e n g t h   a n d   s c a l e   f a c t o r 
 	 	 o f   t h e   o v e r p u n c h   s i g n   r e c e i v i n g   f i e l d ,   i n   a n   a t t e m p t   t o   f o r c e   o v e r f l o w .     * / 
 	 	 	 	 	 	 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k   e q u a l   t o   t h e   s i z e   o f   t h e   r e c e i v i n g   n u m e r i c   e d i t e d   f i e l d .     * / 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( f i x e d   ( d e s t _ p t r   - >   d a t a _ n a m e . i t e m _ l e n g t h   +   1 ,   1 7 ) ,   0 ,   r e t _ o f f s e t ) ; 
 
 / *     M a k e   a   d a t a   n a m e   t o k e n   f o r   t h e   t e m p o r a r y   j u s t   a l l o c a t e d .     * / 
 	 	 w o r k _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ d e c i m a l _ 9 b i t   ( w o r k _ t o k e n _ p t r ,   1 0 0 0   / * s t a c k * / ,   f i x e d   ( r e t _ o f f s e t ,   2 4 ) , 
 	 	           f i x e d   ( d e s t _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ,   1 7 ) ,   f i x e d   ( d e s t _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t ,   1 7 ) ) ; 
 	 	 	 	 	 	 / *     C h a n g e   t h e   s i g n   t y p e   t o   t r a i l i n g   s e p a r a t e .     * / 
 	 	 w o r k _ t o k e n _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 0 1 1 " b ; 
 	 	 	 	 	 	 / *     t r a i l i n g   s e p a r a t e     * / 
 
 	 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 2 )   =   w o r k _ t o k e n _ p t r ; 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 / *     I n s e r t   o p c o d e   a n d   r o u n d i n g   b i t   i f   n e c e s s a r y .     * / 
 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   m v n _ o p ; 
 	 	 i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . r o u n d e d 
 	 	 t h e n   i n s t _ s t r u c . z e r o 3   =   " 0 1 " b ; 	 / * r o u n d i n g     * / 
 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 / *     S e t   t h e   i n _ t o k e n _ s t r u c t u r e   t o   i n d i c a t e   a n   a d d i t i o n a l   m o v e   i s   n e c e s s a r y   i n   t h e   c a l l i n g 
 	 	 p r o c e d u r e .     * / 
 	 	 i n _ t o k e n . c o d e   =   1 ; 
 
 / *     S e t   t h e   s o u r c e   e n t r y   p o i n t e r   i n   t h e   i n _ t o k e n   s t r u c t u r e   t o   p o i n t   t o   t h e   t e m p o r a r y 
 	 	 t h a t   h a s   j u s t   r e c e i v e d   t h e   n u m e r i c   v a l u e .     * / 
 	 	 i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ i x )   =   w o r k _ t o k e n _ p t r ; 
 
 	 	 g o t o   b r u t e _ f o r c e _ e x i t ; 
 b r u t e _ f o r c e _ e x i t : 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( c a m g ) ; / * * / 
 	 	 / * * * . . . . . 	 d c l   c a m g   c h a r ( 2 0 )   i n i t ( " C O B O L _ A R I T H _ M O V E _ G E N " ) ; / * * / 
 	 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 	           e n d ; 	 	 	 	 	 / *   [ 5 . 1 - 1 ]   * / 
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
  
 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
  
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
  
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
  
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
  
 % i n c l u d e   c o b o l _ ; 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	   E N D   O F   P R O C E D D U R E 	 	 	 * / 
 / * 	 c o b o l _ a r i t h _ m o v e _ g e n 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ a r i t h _ m o v e _ g e n ; 
  
 
 
  
 	 	         c o b o l _ a r i t h o p _ g e n . p l 1                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3               9 6 4 2 6     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ a r i t h o p _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 % ; 
 / *   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
       *                                                                                                         * 
       *                                                                                                         * 
       *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f       * 
       *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .   * 
       *                                                                                                         * 
       *                                                                                                         * 
       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 / * { * / 
 c o b o l _ a r i t h o p _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ) ; 
 
 / * 
   T h e   A r i t h m e t i c   O p e r a t i o n   G e n e r a t o r :   c o b o l _ a r i t h o p _ g e n 
 
 F U N C T I O N 
 
 T h e   a r i t h m e t i c   o p e r a t i o n   g e n e r a t o r   i s   c a l l e d   t o   g e n e r a t e   c o d e   f o r 
 t h e   f o l l o w i n g   a r i t h m e t i c   o p e r a t i o n s : 
 
 	 1 .   n e g a t i o n   o f   o n e   o p e r a n d 
 	 2 .   a d d i t i o n   o f   t w o   o p e r a n d s 
 	 3 .   s u b t r a c t i o n   o f   o n e   o p e r a n d   f r o m   a n o t h e r 
 	 4 .   m u l t i p l i c a t i o n   o f   o n e   o p e r a n d   b y   a n o t h e r 
 	 5 .   d i v i s i o n   o f   o n e   o p e r a n d   b y   a n o t h e r 
 	 6 .   r a i s i n g   o n e   o p e r a n d   t o   a   p o w e r   s p e c i f i e d   b y 
 	 a n o t h e r   o p e r a n d . 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   p o i n t e r   t h a t   p o i n t s   t o   a 
 s t r u c t u r e   w i t h   a   f o r m a t   d e f i n e d   b y   t h e   f o l l w o i n g   d e c l a r a t i o n : 
 ( N O T E :   T h e   a c t u a l   d e c l a r a t i o n   i s   d o n e   b y   a n   i n c l u d e   f i l e   f o l l o w i n g 
 t h e   e x e c u t a b l e   s t a t e m e n t s   o f   t h i s   p r o c e d u r e . ) 
 
 d c l 	 1   i n _ t o k e n   a l i g n e d   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n   a l i g n e d , 
 	 	 2   c o d e   f i x e d   b i n   a l i g n e d , 
 	 	 2   t o k e n _ p t r   (   0   r e f e r ( i n _ t o k e n . n ) )   p t r   a l i g n e d ; 
 
 T h e   p o i n t e r s   i n   t h e   a r r a y   i n _ t o k e n . t o k e n _ p t r   p o i n t   t o   t o k e n s 
 t h a t   p r o v i d e   i n f o r m a t i o n   r e q u i r e d   t o   g e n e r a t e   c o d e .     T h e   l a s t   t w o 
 o r   t h r e e   e n t r i e s   i n   t h i s   a r r a y   a r e   o f   i n t e r e s t   t o 
 c o b o l _ a r i t h o p _ g e n . 
 
 	 1 .   T h e   l a s t   p o i n t e r   ( t o k e n _ p t r ( n ) )   p o i n t s   t o   a n   E O S 
 t o k e n   ( t y p e   1 9 )   t h a t   d e f i n e s   t h e   t y p e   o f   a r i t h m e t i c   o p e r a t i o n 
 f o r   w h i c h   c o d e   i s   t o   b e   g e n e r a t e d .     T h e   e n t r y   " e n d _ s t m t . e "   i n   t h e 
 E O S   t o k e n   c o n t a i n s   a   v a l u e   t h a t   d e f i n e s   t h e   a r i t h m e t i c   o p e r a t o r . 
 ( T h e   d e c l a r a t i o n   o f   t h e   E O S   t o k e n   a p p e a r s   a s   a n   i n c l u d e   f i l e 
 f o l l o w i n g   t h e   e x e c u t a b l e   s t a t e m e n t s   o f   t h i s   p r o c e d u r e . )     T h e 
 p o s s i b l e   v a l u e s   o f   " e n d _ s t m t . e "   a n d   t h e i r   m e a n i n g s   a r e   g i v e n   i n 
 t h e   f o l l o w i n g   t a b l e : 
 
 	 e n d _ s t m t . e   v a l u e 	 |   m e a n i n g 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 	 	 1 8 2 	 |   +   ( b i n a r y   a d d i t i o n ) 
 	 	 1 8 3 	 |   -   ( b i n a r y   s u b t r a c t i o n ) 
 	 	 1 8 4 	 |   *   ( m u l t i p l i c a t i o n ) 
 	 	 1 8 5 	 |   /   ( d i v i s i o n ) 
 	 	 1 8 6 	 |   * *   ( e x p o n e n t i a t i o n ) 
 	 	 1 8 7 	 |   u n a r y   m i n u s   ( n e g a t i o n ) 
 
 	 2 .     I f   t h e   E O S   i n d i c a t e s   a   n e g a t i o n   o p e r a t i o n ,   t h e n   o n l y 
 i n _ t o k e n . t o k e n _ p t r ( n - 1 )   i s   m e a n i n g f u l ,   a n d   i t   p o i n t s   t o   t h e 
 t o k e n   t o   b e   n e g a t e d .     O t h e r w i s e   i n _ t o k e n . t o k e n _ p t r ( n - 2 )   a n d 
 i n _ t o k e n . t o k e n _ p t r ( n - 1 )   p o i n t   t o   t h e   t w o   t o k e n s   t h a t   a r e   t o   b e 
 u s e d   i n   a   b i n a r y   o p e r a t i o n .     T h e   p o i n t e r   i n   i n _ t o k e n . t o k e n _ p t r ( n - 2 ) 
 p o i n t s   t o   a   t o k e n   t h a t   a p p e a r s   t o   t h e   l e f t   o f   t h e   o p e r a t o r ,   a n d 
 t h e   p o i n t e r   i n   i n _ t o k e n . t o k e n _ p t r ( n - 1 )   p o i n t s   t o   a   t o k e n   t h a t 
 a p p e a r s   t o   t h e   r i g h t   o f   t h e   o p e r a t o r   i n   t h e   s o u r c e   p r o g r a m . 
 
 O U T P U T 
 
 T h e   e x e c u t i o n   o f   t h i s   p r o c e d u r e   r e s u l t s   i n   t h e   g e n e r a t i o n   o f   c o d e 
 t h a t   p e r f o r m s   t h e   a r i t h m e t i c   o p e r a t i o n ,   a n d   t h e   b u i l d i n g   o f 
 a   d a t a   n a m e   ( t y p e   9 )   t o k e n   t h a t   d e s c r i b e s   t h e   r e s u l t a n t   o p e r a n d . 
 A   p o i n t e r   t o   t h i s   r e s u l t a n t   o p e r a n d   t o k e n   i s   r e t u r n e d   t o   t h e 
 c a l l i n g   p r o c e d u r e   i n   t h e   i n p u t   i n _ t o k e n   s t r u c t u r e .     F o r   a   n e g a t i o n 
 o p e r a t i o n ,   t h e   r e t u r n   p o i n t e r   i s   r e t u r n e d   i n   i n _ t o k e n . t o k e n _ p t r ( n - 1 ) . 
 F o r   a n y   o t h e r   o p e r a t i o n ,   t h e   r e t u r n   p o i n t e r   i s   r e t u r n e d   i n 
 i n _ t o k e n . t o k e n _ p t r ( n - 2 ) .     T h e   c a l l i n g   p r o c e d u r e   a l s o   m u s t   k n o w   h o w 
 m a n y   e n t r i e s   i n   t h e   i n _ t o k e n   s t r u c t u r e   m u s t   b e   s a v e d   f o r     s u b s e q u e n t 
 c a l l s   t o   c o b o l _ a r i t h o p _ g e n   o r   o t h e r   g e n e r a t o r s .     T h i s   i n f o r m a t i o n   i s 
 r e t u r n e d   t o   t h e   c a l l e r   i n   t h e   e n t r y   i n _ t o k e n . c o d e ,   a n d   i s   t h e 
 v a l u e   o f   t h e   s u b s c r i p t   o f   t h e   e n t r y   i n   a r r a y   t o k e n _ p t r   t h a t 
 p o i n t s   t o   t h e   r e s u l t a n t   o p e r a n d   t o k e n .     T h e r e f o r e ,   f o r   a 
 n e g a t i o n   o p e r a t i o n , i n _ t o k e n . c o d e   i s   s e t   t o   n - 1 ,   a n d   f o r   a n y   o t h e r 
 o p e r a t i o n ,   i n _ t o k e n . c o d e   i s   s e t   t o   n - 2 . 
 
 * / 
 / * } * / 
 
 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ b u i l d _ r e s o p 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ,   p t r ,   b i t   ( 1 ) ,   f i x e d   b i n ,   b i t   ( 1 ) ) ; 
 d c l 	 c o b o l _ a d d 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m p y 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ e x p 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     V a r i a b l e s   r e q u i r e d   f o r   p o o l i n g   o f   d e c i m a l   m i n u s   o n e     * / 
 
 d c l 	 m i n u s _ o n e _ p o o l e d 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 
 / *     B u f f e r   i n   w h i c h   d a t a   n a m e   ( t y y p e   9 )   t o k e n   f o r   m i n u s   o n e   i s   s a v e d     * / 
 d c l 	 m i n u s _ o n e _ b u f f 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 
 
 / *     P o i n t e r   u s e d   t o   p o i n t   t o   t h e   m i n u s   o n e   d a t a   n a m e   ( t y p e   9 )   t o k e n     * / 
 d c l 	 m i n u s _ o n e _ p t r 	 p t r   i n t   s t a t i c ; 
 
 / *     D e f i n i t i o n   o f   a   m i n u s   o n e   n u m e r i c   l i t e r a l     * / 
 
 d c l 	 1   m i n u s _ o n e _ l i t e r a l   i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 7 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 	 / *     I N T E G E R     * / 
 	     2   f l o a t i n g 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 )   i n i t   ( " 0 " b ) , 
 	     2   s u b s c r r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( " - " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l 	 c h a r   ( 1 )   i n i t   ( " 1 " ) ; 
 
 
 / *     D e c l a r a t i o n s   o f   v a r i a b l e s   u s e d   t o   d e f i n e   v a l u e s   t h a t   c a n   a p p e a r   i n   t h e   E O S   f i e l d   " e n d _ s t m t . e "     * / 
 
 d c l 	 e o s _ p l u s 	 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 2 ) ; 
 d c l 	 e o s _ m i n u s 	 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 3 ) ; 
 d c l 	 e o s _ m u l t i p l y 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 4 ) ; 
 d c l 	 e o s _ d i v i d e 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 5 ) ; 
 d c l 	 e o s _ e x p o n e n t i a t e 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 6 ) ; 
 d c l 	 e o s _ u n a r y _ m i n u s 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 7 ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A T O M A T I C   V A R I A B L E S     * / 
 
 d c l 	 a r i t h o p 	 	 f i x e d   b i n ; 
 d c l 	 r e t u r n _ i n d e x 	 f i x e d   b i n ; 
 d c l 	 l o p _ p t r 	 	 p t r ; 
 d c l 	 r o p _ p t r 	 	 p t r ; 
 d c l 	 r e s u l t a n t _ o p e r a n d _ p t r 
 	 	 	 p t r ; 
 d c l 	 p o s s i b l e _ o v e r f l o w _ f l a g 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 g e n _ c o d e 	 	 f i x e d   b i n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / *   	 c o b o l _ a r i t h o p _ g e n 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 / *     B a s e   E O S   t e m p l a t e   o n   t h e   E O S   t o k e n     * / 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 
 	 i f   e n d _ s t m t . e   =   e o s _ u n a r y _ m i n u s 
 	 t h e n   d o ; 	 	 	 	 	 / *     u n a r y   m i n u s     * / 
 	 	 i f   m i n u s _ o n e _ p o o l e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u s t   p o o l   m i n u s   o n e   l i t e r a l     * / 
 
 	 	 	 m i n u s _ o n e _ p t r   =   a d d r   ( m i n u s _ o n e _ b u f f   ( 1 ) ) ; 
 
 / *     P o o l   t h e   m i n u s   o n e   l i t e r a l   a n d   m a k e   a   d a t a   n a m e   t o k e n     * / 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( m i n u s _ o n e _ p t r ,   a d d r   ( m i n u s _ o n e _ l i t e r a l ) ) ; 
 	 	 	 m i n u s _ o n e _ p o o l e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 
 	 	           e n d ; 	 	 	 	 / *     M u s t   p o o l   m i n u s   o n e   l i t e r a l     * / 
 	 	 	 	 	 	 / *     S e t   l e f t   o p   a n d   r i g h t   o p   p o i n t e r s ,   a n d   s e t   a r i t h o p   c o d e   t o   m u l t i p l y     * / 
 	 	 r e t u r n _ i n d e x   =   i n _ t o k e n . n   -   1 ; 	 / *     S u b s c r i p t   o f   a r r a y   e l e m e n t   i n   w h i c h   p o i n t e r 
 	 	 	 t o   r e s u l t a n t   o p e r a n d   i s   r e t u r n e d     * / 
 
 	 	 l o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( r e t u r n _ i n d e x ) ; 
 	 	 r o p _ p t r   =   m i n u s _ o n e _ p t r ; 
 	 	 a r i t h o p   =   e o s _ m u l t i p l y ; 
 
 	           e n d ; 	 	 	 	 	 / *     u n a r y   m i n u s     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     A   b i n a r y   o p e r a t o r     * / 
 
 
 	 	 r e t u r n _ i n d e x   =   i n _ t o k e n . n   -   2 ; 	 / *     S u b s c r i p t   o f     t o k e n _ p t r   a r r a y   e l e m e n t 
 	 	 	 i n   w h i c h   p o i n t e r   t o   r e s u l t a n t   o p e r a n d   i s   r e t u r n e d     * / 
 	 	 l o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( r e t u r n _ i n d e x ) ; 
 	 	 r o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( r e t u r n _ i n d e x   +   1 ) ; 
 	 	 a r i t h o p   =   e n d _ s t m t . e ; 
 
 	           e n d ; 	 	 	 	 	 / *     A   b i n a r y   o p e r a t o r     * / 
 
 / *     A t   t h i s   p o i n t ,   w e   h a v e   t h e   f o l l o w i n g   c o n d i t i o n s : 
 
 	 	 1 .   l o p _ p t r   p o i n t s   t o   t h e   l e f t   o p e r a n d   t o k e n . 
 	 	 2 .   r o p _ p t r   p o i n t s   t o   t h e   r i g h t   o p e r a n d   t o k e n .   ( - 1   l i t e r a l   f o r   n e g a t i o n ) 
 	 	 3 .   a r i t h o p   c o n t a i n s   t h e   o p e r a t o r   c o d e   f r o m   e n d _ s t m t . e .   (   o r   " m u l t i p l y "   f o r   n e g a t i o n ) 
 
 	 * / 
 
 / *     B u i l d   t h e   o p e r a n d   f o r   t h e   r e s u l t   o f   t h e   a r i t h m e t i c   o p e r a t i o n     * / 
 
 	 c a l l   c o b o l _ b u i l d _ r e s o p   ( l o p _ p t r ,   r o p _ p t r ,   a r i t h o p ,   r e s u l t a n t _ o p e r a n d _ p t r ,   " 0 " b   / *   n o   R D M A X * / ,   0 , 
 	           p o s s i b l e _ o v e r f l o w _ f l a g ) ; 
 
 / *     C a l l   t h e   a p p r o p r i a t e   a r i t h m e t i c   g e n e r a t o r   t o   g e n e r a t e   c o d e     * / 
 
 	 i f   ( a r i t h o p   =   e o s _ p l u s   |   a r i t h o p   =   e o s _ m i n u s ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     A d d   o r   s u b t r a c t     * / 
 
 	 	 i f   a r i t h o p   =   e o s _ p l u s 
 	 	 t h e n   g e n _ c o d e   =   1 ; 	 	 	 / *     a d d     * / 
 	 	 e l s e   g e n _ c o d e   =   2 ; 	 	 	 / *     s u b t r a c t     * / 
 
 / *     R e v e r s e   o p e r a n d s   b e c a u s e   f o r   s u b t r a c t i o n   r o p _ p t r   m u s t   a p p e a r   f i r s t ,   a n d 
 	 	 	 a d d i t i o n   i s   c o m m u t a t i v e ,   s o   o r d e r   o f   t h e   o p e r a n d s   i s   i r r e l e v a n t .     * / 
 
 	 	 c a l l   c o b o l _ a d d 3   ( r o p _ p t r ,   l o p _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ,   g e n _ c o d e ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     A d d   o r   s u b t r a c t     * / 
 
 	 e l s e   i f   ( a r i t h o p   =   e o s _ m u l t i p l y   |   a r i t h o p   =   e o s _ d i v i d e ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     M u l t i p l y   o r   d i v i d e     * / 
 
 	 	 i f   a r i t h o p   =   e o s _ m u l t i p l y 
 	 	 t h e n   g e n _ c o d e   =   1 ; 	 	 	 / *     M u l t i p l y     * / 
 	 	 e l s e   g e n _ c o d e   =   2 ; 	 	 	 / *     D i v i d e     * / 
 
 / *     R e v e r s e   o r d e r   o f   o p e r a n d s ,   b e c a u s e   f o r   d i v i s o n ,   r o p _ p t r   m u s t 
 	 	 	 	 a p p e a r   f i r s t .     M u l t i p l i c a t i o n   i s   c o m m u t a t i v e ,   s o   t h e   o r d e r 
 	 	 	 	 o f   t h e   o p e r a n d s   i s   i r r e l e v a n t .     * / 
 	 	 c a l l   c o b o l _ m p y 3   ( r o p _ p t r ,   l o p _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ,   g e n _ c o d e ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     M u l t i p l y   o r   d i v i d e     * / 
 
 	 e l s e   / *     A S S U M E   E X P O N E N T I A T I O N     * / 
 	           c a l l   c o b o l _ e x p 3   ( l o p _ p t r ,   r o p _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ,   0 ) ; 
 
 
 / *     A t   t h i s   p o i n t ,   c o d e   h a s   b e e n   g e n e r a t e d   t o   e f f e c t   t h e   a r i t h m e t i c   o p e r a t i o n , 
 	 a n d   t h e   p o i n t e r   r e s u l t a n t _ o p e r a n d _ p t r   p o i n t s   t o   a   d a t a   n a m e   ( t y p e     9 )   t o k e n 
 	 t h a t   d e s c r i b e s   t h e   r e s u l t   o f   t h e   o p e r a t i o n     * / 
 
 / *     S e t   a p p r o p r i a t e   e n t r y   i n   t h e   t o k e n _ p t r   a r r a y   t o   p o i n t   t o   t h e   r e s u l t a n t   o p e r a n d     * / 
 	 i n _ t o k e n . t o k e n _ p t r   ( r e t u r n _ i n d e x )   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 
 / *     S e t   i n _ t o k e n . c o d e   t o   t e l l   t h e   c a l l e r   h o w   m a n y   e l e m e n t s   o f   t h e   t o k e n _ p t r   a r r a y 
 	 	 a r e   t o   b e   " s a v e d "     * / 
 
 	 i n _ t o k e n . c o d e   =   r e t u r n _ i n d e x ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   E X E C U T A B L E   S T A T E M E N T S 	 	 * / 
 / * 	 c o b o l _ a r i t h o p _ g e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
  
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
  
 
 % i n c l u d e   c o b o l _ ; 
  
 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
  
 
 % i n c l u d e   c o b o l _ m c d b ; 
  
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   P R O C E D U R E 	 	 	 * / 
 / * 	 c o b o l _ a r i t h o p _ g e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ a r i t h o p _ g e n ; 
      
 
 
  
 	 	         c o b o l _ b i n _ c o n s t _ c k . p l 1                     0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3               3 8 3 4 0     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ b i n _ c o n s t _ c k . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / * { * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ b i n _ c o n s t _ c k : 
           p r o c   ( t o k e n _ p t r ,   g i v e _ u p ,   c o n s t a n t _ c o d e ) ; 
 
 / * 
 T h i s   p r o c e d u r e   d e t e r m i n e s   w h e t h e r   a   n u m e r i c   l i t e r a l   c o n s t a n t   c a n 
 b e   c o n t a i n e d   i n   e i t h e r   a   h a l f - w o r d   o r   f u l l   w o r d   f i x e d   b i n a r y 
 d a t u m . 
 * / 
 
 / *     D E C L A R A T I O N S   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 t o k e n _ p t r 	 	 p t r ; 
 d c l 	 g i v e _ u p 	 	 b i t   ( 1 ) ; 
 d c l 	 c o n s t a n t _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 t o k e n _ p t r 	 	 P o i n t e r   t o   t h e   n u m e r i c   l i t e r a l   t o k e n   w h o s e 
 	 	 l i t e r a l   v a l u e   i s   t o   b e   c h e c k e d .     ( i n p u t ) 
 g i v e _ u p 	 A   f l a g   w h i c h   i s   s e t   t o   " 1 " b   t o   i n d i c a t e   t h a t   t h e 
 	 	 n u m e r i c   l i t e r a l   c a n n o t   b e   c o n t a i n e d   i n   e i t h e r   a 
 	 	 l o n g   o r   s h o r t   f i x e d   b i n a r y   d a t u m .     ( o u t p u t ) 
 c o n s t a n t _ c o d e 	 A   c o d e   t h a t   i n d i c a t e s   w h e t h e r   t h e   c o n s t a n t   c a n 
 	 	 b e   c o n t a i n e d   i n   a   s h o r t   o r   l o n g   f i x e d   b i n a r y 
 	 	 d a t u m .     ( o u t p u t )     T h i s   c o d e   c a n   t a k e   o n   t w o   v a l u e s , 
 	 	 a n d   i s   m e a n i n g f u l   o n l y   i f   t h e   o u t p u t 
 	 	 p a r a m e t e r   g i v e _ u p   i s   s e t   t o   " 1 " b . 
 
 	 	 c o n s t a n t _ c o d e 	 |     m e a n i n g 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 1 	 	 |       c o n s t a n t   i s   s h o r t   b i n a r y 
 	 	       2 	 	 |       c o n s t a n t   i s   l o n g   b i n a r y 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   B U I L T I N   F U N C T I O N S     * / 
 
 d c l 	 a d d r 	 	 b u i l t i n ; 
 
 / * } * / 
 
 / *     D E C L A R A T I O N S   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 d c l 	 s m a l l e s t _ s h o r t _ b i n 	 f i x e d   d e c   ( 6 ,   0 )   i n t   s t a t i c   i n i t   ( - 1 3 1 0 7 2 ) ; 
 d c l 	 l a r g e s t _ s h o r t _ b i n 	 f i x e d   d e c   ( 6 ,   0 )   i n t   s t a t i c   i n i t   ( 1 3 1 0 7 1 ) ; 
 
 d c l 	 s m a l l e s t _ l o n g _ b i n 	 f i x e d   d e c   ( 1 1 ,   0 )   i n t   s t a t i c   i n i t   ( - 3 4 3 5 9 7 3 8 3 6 8 ) ; 
 d c l 	 l a r g e s t _ l o n g _ b i n 	 f i x e d   d e c   ( 1 1 ,   0 )   i n t   s t a t i c   i n i t   ( 3 4 3 5 9 7 3 8 3 6 7 ) ; 
 
 
 / *       D E C L A R A T I O N S   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 w o r k _ f d e c 	 	 f i x e d   d e c   ( 1 1 ,   0 )   a l i g n e d ; 
 d c l 	 w o r k _ p t r 	 	 p t r ; 
 d c l 	 w o r k _ f d e c _ s t r i n g 	 c h a r   ( 1 2 )   b a s e d   ( w o r k _ p t r ) ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / *       S T A R T   O F   E X E C U T I O N 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 
 	 n l i t _ p t r   =   t o k e n _ p t r ; 
 	 g i v e _ u p   =   " 1 " b ; 
 
 	 i f   n u m e r i c _ l i t . p l a c e s _ l e f t   < =   0 
 	 t h e n   d o ; 	 	 	 	 	 / *     N o   p l a c e s   l e f t ,   m u s t   d e f i n i t e l y   f i t   i n t o   a   s h o r t   b i n a r y .     * / 
 	 	 g i v e _ u p   =   " 1 " b ; 
 	 	 c o n s t a n t _ c o d e   =   1 ; 	 	 	 / *     s h o r t   b i n a r y   c o n s t a n t .     * / 
 	           e n d ; 	 	 	 	 	 / *     N o   p l a c e s   l e f t ,   m u s t   d e f i n i t e l y   f i t   i n t o   a   s h o r t   b i n a r y .     * / 
 
 
 	 e l s e   i f   n u m e r i c _ l i t . p l a c e s _ l e f t   < =   1 1 
 	 t h e n   d o ; 	 	 	 	 	 / *     P l a c e s   l e f t   w i t h i n   r a n g e ,   c h e c k   t h e   v a l u e   i t s e l f .     * / 
 
 	 	 w o r k _ f d e c   =   0 ; 
 	 	 w o r k _ p t r   =   a d d r   ( w o r k _ f d e c ) ; 
 
 / *     B u i l d   a   f i x e d   d e c i m a l   n u m b e r   f r o m   t h e   n u m e r i c   l i t e r a l   t o k e n .     * / 
 / *     I n s e r t   s i g n .     * / 
 	 	 i f   n u m e r i c _ l i t . s i g n   =   "   " 
 	 	 t h e n   s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   1 ,   1 )   =   " + " ; 
 	 	 e l s e   s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   1 ,   1 )   =   n u m e r i c _ l i t . s i g n ; 
 
 / *     I n s e r t   t h e   i n t e g e r   p a r t   o f   t h e   n u m e r i c   l i t e r a l     * / 
 	 	 s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   1 3   -   n u m e r i c _ l i t . p l a c e s _ l e f t ,   n u m e r i c _ l i t . p l a c e s _ l e f t )   = 
 	 	           s u b s t r   ( n u m e r i c _ l i t . l i t e r a l ,   1 ,   n u m e r i c _ l i t . p l a c e s _ l e f t ) ; 
 
 	 	 i f   ( s m a l l e s t _ s h o r t _ b i n   < =   w o r k _ f d e c   &   w o r k _ f d e c   < =   l a r g e s t _ s h o r t _ b i n ) 
 	 	 t h e n   d o ; 	 	 	 	 / *     S h o r t   b i n a r y   c o n s t a n t     * / 
 	 	 	 g i v e _ u p   =   " 0 " b ; 
 	 	 	 c o n s t a n t _ c o d e   =   1 ; 
 	 	           e n d ; 	 	 	 	 / *     S h o r t   b i n a r y   c o n s t a n t     * / 
 
 	 	 e l s e   i f   ( s m a l l e s t _ l o n g _ b i n   < =   w o r k _ f d e c   &   w o r k _ f d e c   < =   l a r g e s t _ l o n g _ b i n ) 
 	 	 t h e n   d o ; 	 	 	 	 / *     L o n g   b i n a r y   c o n s t a n t     * / 
 	 	 	 g i v e _ u p   =   " 0 " b ; 
 	 	 	 c o n s t a n t _ c o d e   =   2 ; 
 	 	           e n d ; 	 	 	 	 / *     L o n g   b i n a r y   c o n s t a t n     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     P l a c e s   l e f t   w i t h i n   r a n g e ,   c h e c k   t h e   v a l u e   i t s e l f .     * / 
 
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 % i n c l u d e   c o b o l _ t y p e 2 ; 
  
 
           e n d   c o b o l _ b i n _ c o n s t _ c k ; 
  
 
 
  
 	 	         c o b o l _ b i n a r y _ c h e c k . p l 1                     0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3             2 8 6 7 9 4     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ b i n a r y _ c h e c k . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   9 / 1 2 / 7 6   b y   B o b   C h a n g   t o   f i x   t h e   b u g     f o r   b i n a r y   c h e c k   f o r   a d d e n d .   * / 
 / * { * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ b i n a r y _ c h e c k : 
           p r o c   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 / * 
 T h i s   p r o c e d u r e   s c a n s   t h e   i n p u t   t o k e n   f o r   a n   a r i t h m e t i c 
 s t a t e m e n t ,   a n d   d e t e r m i n e s   w h e t h e r   t h e   r e c e i v i n g   v a r i a b l e s 
 ( t a r g e t s )   a n d   t h e   o p e r a n d s   i n   t h e   e x p r e s s i o n   t o   b e   e v a l u a t e d 
 a r e   o f   t h e   p r o p e r   t y p e   a n d   n u m b e r   s o   t h a t   t h e   c o m p u t a t i o n   m a y 
 b e   d o n e   i n   t h e   h a r d w a r e   r e g i s t e r s   ( A ,   Q ,   a n d   i n d e x   r e g i s t e r s ) 
 r a t h e r   t h a n   b y   u s i n g   E I S   i n s t r u c t i o n s . 
 
 F o r   t h i s   i m p l e m e n t a t i o n ,   a r i t h m e t i c   c o m p u t a t i o n s   w i l l   b e   d o n e   
 i n   t h e   r e g i s t e r s   o n l y   i f   t h e   f o l l o w i n g   c o n d i t i o n s   a r e   t r u e : 
 
 	 1 .     a l l   t a r g e t   v a r i a b l e s   a r e   f i x e d   b i n a r y .   ( l o n g   o r 
 	 s h o r t ) 
 	 2 .     t h e   n u m b e r   o f   o p e r a n d s   i n   t h e   e x p r e s s i o n   i s   l e s s 
 	 t h a n   o r   e q u a l   t o   2 . 
 	 3 .     a l l   o p e r a n d s   i n   t h e   e x p r e s s i o n   a r e   f i x e d   b i n a r y , 
 	 f i g u r a t i v e   c o n s t a n t   z e r o ,   o r   c o n s t a n t s   t h a t   c a n   b e 
 	 c o n t a i n e d   i n   a   b i n a r y   d a t u m . 
 	 4 .     n o n e   o f   t h e   s h o r t   b i n a r y   t a r g e t s   o r   o p e r a n d s   
 	 a p p e a r i n g   i n   t h e   s t a t e m e n t   a r e   e l e m e n t s   o f   a r r a y s . 
 	 5 .     n o n e   o f   t h e   r e c e i v i n g   v a r i a b l e s   h a s   t h e 
 	 " r o u n d e d "   b i t   o n . 
 
 S i n c e   t h e   i n p u t   t o k e n   f o r   t h e   a r i t h m e t i c   s t a t e m e n t s   i s   d i f f e r e n t 
 f o r   e a c h   t y p e   o f   s t a t e m e n t ,   t h e r e   i s   o n e   e n t r y   p o i n t   i n   t h i s 
 p r o c e d u r e   f o r   e a c h   a r i t h m e t i c   s t a t e m e n t   f o r   w h i c h   b i n a r y 
 a r i t h m e t i c   c o u l d   b e   p e r f o r m e d .     T h e   e n t r y   p o i n t s   a r e   l i s t e d   h e r e : 
 	 1 .   c o m p u t e 
 	 2 .   a d d   ( a l s o   s u b t r a c t ) 
 	 3 .   m u l t i p l y 
 	 4 .   d i v i d e 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 / *     D e c l a r e d   b e l o w   i n   a n   i n c l u d e   f i l e     * / 
 d c l 	 b i n a r y _ o k 	 	 b i t   ( 1 ) ; 
 d c l 	 t a r g e t _ c o d e 	 f i x e d   b i n ; 
 d c l 	 s o u r c e _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 i n _ t o k e n _ p t r 	 P o i n t e r   t o   a n   i n p u t   t o k e n   t h a t   c o n t a i n s 
 	 	 a   d e s c r i p t i o n   o f   t h e   s t a t e m e n t .     ( i n p u t ) 
 	 	 S e e   e a c h   e n t r y   p o i n t   w i t h i n   t h i s   p r o c e d u r e 
 	 	 f o r   p r e c i s e   d e t a i l s   o f   t h e   c o n t e n t s   o f   t h e 
 	 	 i n p u t   t o k e n   s t r u c t u r e . 
 b i n a r y _ o k 	 	 A   f l a g   t h a t   i s   s e t   t o   " 1 " b   b y   t h i s   p r o c e d u r e 
 	 	 i f   a l l   o f   t h e   c r i t e r i a   f o r   p e r f o r m i n g 
 	 	 a r i t h m e t i c   i n   t h e   r e g i s t e r s   a r e   m e t .     ( o u t p u t ) 
 t a r g e t _ c o d e 
 s o u r c e _ c o d e 	 C o d e s   t h a t   i n d i c a t e   t h e   t y p e   o f   t h e   l a r g e s t 
 	 	 t a r g e t   a n d   s o u r c e   v a r i a b l e   r e s p e c t i v e l y . 
 	 	 ( o u t p u t )     P o s s i b l e   v a l u e s   a r e : 
 
 	 	       v a l u e 	 |       m e a n i n g 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	       1 	 |   l a r g e s t   v a r i a b l e   i s   s h o r t   b i n a r y 
 	 	       2 	 |       l a r g e s t   v a r i a b l e   i s   l o n g   b i n a r y 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 * / 
 
 
 / *     D E C L A R A T I O N S   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ b i n _ c o n s t _ c k 	 e x t   e n t r y   ( p t r ,   b i t   ( 1 ) ,   f i x e d   b i n ) ; 
 
 / *     D E C L A R A T I O N S   O F   C O M M O N   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 g i v e _ u p 	 	 b i t   ( 1 ) ; 
 d c l 	 d i v i d e _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 r o u n d e d _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 t e m p _ t a r g e t _ c o d e 	 f i x e d   b i n ; 
 d c l 	 t e m p _ s o u r c e _ c o d e 	 f i x e d   b i n ; 
 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 d c l 	 i y 	 	 f i x e d   b i n ; 
 
 d c l 	 e o s _ f l a g 	 	 b i t   ( 1 ) ; 
 d c l 	 s o u r c e _ o p _ c o u n t 	 f i x e d   b i n ; 
 d c l 	 d n _ p t r 	 	 p t r ; 
  
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N T R Y   P O I N T :     c o m p u t e 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 c o m p u t e : 
           e n t r y   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 
 / * 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   s t r u c t u r e ,   w h i c h   i s   d e f i n e d   b y   a 
 d e c l a r a t i o n   o f   t h e   f o l l o w i n g   f o r m a t : 
 
 d c l 	 1   i n _ t o k e n   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n , 
 	 	 2   c o d e   f i x e d   b i n , 
 	 	 2   t o k e n _ p t r   (   0   r e f e r   ( i n _ t o k e n . n ) )   p t r ; 
 
 	 w h e r e : 
 
 	 i n _ t o k e n . n   c o n t a i n s   t h e   n u m b e r   o f   e n t r i e s   i n   t h e 
 	 t o k e n _ p t r   a r r a y . 
 
 	 t o k e n _ p t r ( 1 )   c o n t a i n s   a   p o i n t e r   t o   a   r e s e r v e d   w o r d   t o k e n 
 	 ( t y p e   1 )   f o r   t h e   r e s e r v e d   w o r d   C O M P U T E .     T h i s   p o i n t e r   i s 
 	 n o t   u s e d   b y   t h i s   p r o c e d u r e . 
 
 t o k e n _ p t r ( n )   c o n t a i n s   a   p o i n t e r   t o   a n   E O S   ( t y p e   1 9 )   t o k e n .     T h e 
 	 t y p e   1 9   t o k e n   c o n t a i n s   s o m e   i n f o r m a t i o n   t h a t   i s   v e r y 
 	 m e a n i n g f u l   t o   t h i s   p r o c e d u r e . 
 
 	 	 1 .   e n d _ s t m t . v e r b   c o n t a i n s   t h e   c o d e   f o r   t h e 
 	 	 r e s e r v e d   w o r d   C O M P U T E . 
 
 	 	 2 .   e n d _ s t m t . e   c o n t a i n s   a   c o u n t   o f   t h e   n u m b e r 
 	 o f   d a t a   i t e m s   t h a t   a r e   t o   r e c e i v e   t h e   r e s u l t   o f   t h e 
 	 c o m p u t a t i o n . 
 
 	 	 3 .   e n d _ s t m t . b   i s   s e t   t o   " 1 " b   i f   t h e   c o m p u t e 
 	 	 s t a t e m e n t   c o n t a i n e d   a n   O N   S I Z E   E R R O R 
 	 	 c l a u s e . 
 
 	 t o k e n _ p t r ( 2 )   t h r o u g h   t o k e n _ p t r ( n - 1 )   p o i n t   t o   t o k e n s 
 	 t h a t   d e s c r i b e : 
 
 	 	 1 .     t h e   d a t a   i t e m s   t h a t   a r e   t o   r e c e i v e   t h e 
 	 	 r e s u l t   o f   t h e   c o m p u t a t i o n .   ( a l l   a r e   d a t a   n a m e 
 	 	 ( t y p e   9 )   t o k e n s ) 
 
 	 	 2 .   t h e   t o k e n s   f o r   t h e   o p e r a n d s   t o   b e   u s e d   i n 
 	 	 e v a l u a t i n g   t h e   a r i t h m e t i c   e x p r e s s i o n .     T h e s e 
 	 	 t o k e n s   c a n   b e   d a t a   n a m e   ( t y p e   9 )   t o k e n s ,   n u m e r i c 
 	 	 l i t e r a l   ( t y p e   2 )   t o k e n s ,   o r   t h e   f i g u r a t i v e 
 	 	 c o n s t a n t   Z E R O   ( t y p e   1 )   t o k e n . 
 
 	 	 3 .   t h e   t o k e n s   t h a t   d e s c r i b e   t h e   a r i t h m e t i c 
 	 	 o p e r a t o r s   t o   b e   u s e d   i n   e v a l u a t i n g   t h e 
 	 	 a r i t h m e t i c   e x p r e s s i o n .     T h e s e   t o k e n s   a r e   E O S 
 	 	 t o k e n s   ( t y p e   1 9 ) .     T h e   c o n t e n t s   o f   t h e   f i e l d 
 	 	 e n d _ s t m e . e   i n   t h e s e   t y p e   1 9   t o k e n s   s p e c i f i e s 
 	 	 t h e   o p e r a t o r . 
 
 
 	 	 e n d _ s t m t . e 	 |   o p e r a t o r 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 	 1 8 2 	 |   +   ( b i n a r y   p l u s ) 
 	 	 	 1 8 3 	 |   -   ( b i n a r y   m i n u s ) 
 	 	 	 1 8 4 	 |   *   ( m u l t i p l y ) 
 	 	 	 1 8 5 	 |   /   ( d i v i d e ) 
 	 	 	 1 8 6 	 |   * *   ( e x p o n e n t i a t e ) 
 	 	 	 1 8 7 	 |   -   ( u n a r y   m i n u s ) 
 
 
 T h e   d a t a   n a m e   t o k e n s ,   a n d   E O S   t o k e n s   t h a t   s p e c i f y   o p e r a t o r s , 
 a r e   a r r a n g e d   i n   t r a i l i n g   p o l i s h   n o t a t i o n   i n   t h e   t o k e n _ p t r 
 a r r a y .     T h a t   i s ,   e a c h   o p e r a t o r   f o l l o w s   t h e   o p e r a n d   ( f o r   u n a r y   o p e r a t o r s ) 
 o r   t h e   t w o   o p e r a n d s   ( f o r   b i n a r y   o p e r a t o r s )   t o   w h i c h   i t   a p p l i e s . 
 
 O U T P U T 
 
 T h e   s e c o n d   p a r a m e t e r   p a s s e d   t o   c o b o l _ c o m p u t e _ g e n   i s   a n   o u t p u t   p a r a - 
 m e t e r .     A   v a l u e   i s   r e t u r n e d   t o   t h e   c a l l i n g   p r o g r a m 
 ( c o b o l _ g e n _ d r i v e r _ )   o n l y   f o r   t h o s e   c o m p u t e   s t a t e m e n t s   t h a t   h a v e   o n 
 s i z e   e r r o r   c l a u s e s . 
 
 I f   a n   o n   s i z e   e r r o r   c l a u s e   i s   s p e c i f i e d ,   t h e n ,   i n   a d d i t i o n   t o 
 t h e   c o d e   t h a t   e v a l u a t e s   t h e   a r i t h m e t i c   e x p r e s s i o n ,   a n d   a s s i g n s 
 i t   t o   t h e   r e c e i v i n g   d a t a   i t e m s ,   c o b o l _ c o m p u t e _ g e n   m u s t   a l s o   g e n e r a t e 
 c o d e   t h a t   c h e c k s   f o r   s i z e   e r r o r   c o n d i t i o n s .     I f   a   s i z e   e r r o r   i s 
 d e t e c t e d   b y   t h e   e x e c u t i o n   o f   t h e   g e n e r a t e d   c o d e ,   t h e n   t h e 
 i m p e r a t i v e   s t a t e m e n t   i n   t h e   C O M P U T E   s t a t e m e n t   i s   e x e c u t e d ,   o t h e r w i s e 
 t h e   i m p e r a t i v e   s t a t e m e n t   i s   s k i p p e d .     T h e   c o b o l _ c o m p u t e _ g e n 
 g e n e r a t o r ,   h o w e v e r ,   w h e n   g e n e r a t i n g   c o d e   t o   s k i p   o v e r   t h e   i m p e r a t i v e 
 s t a t m e e n t   t o   t h e   n e x t   s t a t e m e n t ,   d o e s   n o t   k n o w   a n y t h i n g   a b o u t 
 t h e   n e x t   s t a t e m e n t .     T h i s   s i t u a t i o n   i s   h a n d l e d   a s   f o l l o w s : 
 
 	 1 .   c o b o l _ c o m p u t e _ g e n   r e s e r v e s   a   t a g   f o r   t h e   n e x t   C o b o l 
 	 s t a t e m e n t . 
 	 2 .   a n y   t r a n s f e r s   t o   t h e   n e x t   s t a t e m e n t   r e f e r e n c e 
 	 t h e   t a g   r e s e r v e d   b y   c o b o l _ c o m p u t e _ g e n .     T h i s   t a g   i s   n o t   y e t 
 	 d e f i n e d .   ( a s s o c i a t e d   w i t h   a n   i n s t r u c t i o n   l o c a t i o n   i n 
 	 t h e   t e x t   s e g m e n t ) 
 	 3 .   a f t e r   g e n e r a t i o n   o f   c o d e   f o r   a   c o m p u t e   s t a t e m e n t   i s 
 	 c o m p l e t e d ,   c o b o l _ c o m p u t e _ g e n   p a s s e s   t h e   n e x t   s t a t e m e n t   t a g 
 	 b a c k   t o   i t s   c a l l e r ,   c o b o l _ g e n _ d r i v e r _ ,   i n   t h e   s e c o n d 
 	 p a r a m e t e r . 
 	 4 .   w h e n   c o b o l _ g e n _ d r i v e r _   d e t e c t s   t h e   e n d   o f   t h e   i m p e r a t i v e 
 	 s t a t e m e n t ,   t h e   t a g ,   r e s e r v e d   b y   c o b o l _ c o m p u t e _ g e n ,   i s 
 	 d e f i n e d . 
 
 * / 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 E N T R Y   P O I N T :   c o m p u t e 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 	 g i v e _ u p   =   " 0 " b ; 
 	 t a r g e t _ c o d e   =   0 ; 
 	 t e m p _ s o u r c e _ c o d e   =   0 ; 
 	 t e m p _ t a r g e t _ c o d e   =   0 ; 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 d i v i d e _ f l a g   =   " 0 " b ; 
 	 r o u n d e d _ f l a g   =   " 0 " b ; 
 
 / *     C h e c k   t o   s e e   i f   a l l   r e c e i v i n g   v a r i a b l e s   a r e   l o n g   o r   s h o r t   b i n a r y .     * / 
 
 	 d o   i x   =   1   t o   e n d _ s t m t . e   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 	 / *     C h e c k   t a r g e t s     * / 
 
 	           i f   i n _ t o k e n . t o k e n _ p t r   ( 1   +   i x )   - >   d a t a _ n a m e . r o u n d e d 
 	           t h e n   r o u n d e d _ f l a g   =   " 1 " b ; 
 	           i f   i n _ t o k e n . t o k e n _ p t r   ( 1   +   i x )   - >   d a t a _ n a m e . b i n _ 3 6 
 	           t h e n   t e m p _ t a r g e t _ c o d e   =   2 ; 
 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( 1   +   i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( 1   +   i x )   - >   d a t a _ n a m e . s u b s c r i p t e d   =   " 0 " b 
 	           t h e n   t e m p _ t a r g e t _ c o d e   =   1 ; 
 	           e l s e   g i v e _ u p   =   " 1 " b ; 	 	 	 / *     T a r g e t   n o t   e i t h e r   l o n g   o r   s h o r t   b i n a r y .     * / 
 
 	           i f   g i v e _ u p   =   " 0 " b 
 	           t h e n   i f   t e m p _ t a r g e t _ c o d e   >   t a r g e t _ c o d e 
 	 	 t h e n   t a r g e t _ c o d e   =   t e m p _ t a r g e t _ c o d e ; 
 
 	 e n d ; 	 	 	 	 	 / *     C h e c k   t a r g e t s     * / 
 
 / *     N o w   c h e c k   t o   s e e   w h e t h e r : 
 	 	 1 .     T h e r e   a r e   t w o   o r   l e s s   o p e r a n d s   i n   t h e   e x p r e s s i o n . 
 	 	 2 .     E a c h   o p e r a n d   i s   a   l o n g   o r   s h o r t   b i n a r y ,   t h e   f i g   c o n s t a n t   a e r o ,   o r   a   c o n s t a n t 
 	 	 t h a t   c a n   b e   c o n t a i n e d   i n   a   f i x e d   b i n a r y   d a t u m . 
 	 	 3 .     T h e   o n l y   o p e r a t o r s   a r e   u n a r y   m i n u s ,   b i n a r y   p l u s ,   a n d   b i n a r y   m i n u s   ( t h i s   i m p l e m e n t a t i o n ) 
 	 * / 
 
 	 i f   g i v e _ u p   =   " 0 " b 
 	 t h e n   d o ; 	 	 	 	 	 / *     A l l   t a r g e t s   a r e   f i x e d   b i n a r y ,   c h e c k   t h e   e x p r e s s i o n .     * / 
 
 	 	 s o u r c e _ c o d e   =   0 ; 
 	 	 s o u r c e _ o p _ c o u n t   =   0 ; 
 
 	 	 d o   i y   =   i x   +   1   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 	 	 	 	 	 	 / *     L o o k   a t   t h e   e x p r e s s i o n     * / 
 
 	 	           e o s _ f l a g   =   " 0 " b ; 
 
 
 
 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 	           t h e n   t e m p _ s o u r c e _ c o d e   =   1 ; 
 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 	           t h e n   c a l l   c o b o l _ b i n _ c o n s t _ c k   ( i n _ t o k e n . t o k e n _ p t r   ( i y ) ,   g i v e _ u p ,   t e m p _ s o u r c e _ c o d e ) ; 
 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . t y p e   =   r t c _ e o s 
 	 	           t h e n   d o ; 	 	 	 / *     E O S   T O K E N ,   m u s t   c h e c k   t h e   o p e r a t o r     * / 
 	 	 	           e o s _ f l a g   =   " 1 " b ; 
 	 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   e n d _ s t m t . e   =   1 8 6 
 	 	 	 	 	 	 / *   e x p o n e n t i a t e   * / 
 	 	 	           t h e n   g i v e _ u p   =   " 1 " b ; 
 	 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   e n d _ s t m t . e   =   1 8 5 
 	 	 	           t h e n   d i v i d e _ f l a g   =   " 1 " b ; 
 	 	 	 e n d ; 	 	 	 / *     E O S   T O K E N ,   m u s t   c h e c k   t h e   o p e r a t o r     * / 
 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 	           t h e n   d o ; 	 	 	 / *     C h e c k   t o   s e e   i f   f i x e d   b i n a r y     * / 
 	 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . b i n _ 3 6 
 	 	 	           t h e n   t e m p _ s o u r c e _ c o d e   =   2 ; 
 	 	 	           e l s e   i f   ( i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( i y )   - >   d a t a _ n a m e . s u b s c r i p t e d   =   " 0 " b ) 
 	 	 	           t h e n   t e m p _ s o u r c e _ c o d e   =   1 ; 
 	 	 	           e l s e   g i v e _ u p   =   " 1 " b ; 
 	 	 	 e n d ; 	 	 	 / *     C h e c k   t o   s e e   i f   f i x e d   b i n a r y     * / 
 
 	 	           i f   ( g i v e _ u p   =   " 0 " b   &   e o s _ f l a g   =   " 0 " b ) 
 	 	           t h e n   d o ; 	 	 	 / *     C u r r e n t   t o k e n   o k ,   c h e c k   o p e r a n d   c o u n t .     * / 
 
 	 	 	           i f   s o u r c e _ o p _ c o u n t   =   2 
 	 	 	           t h e n   g i v e _ u p   =   " 1 " b ; 	 / *     T w o   o p e r a n d s   a l r e a d y .     * / 
 	 	 	           e l s e   d o ; 	 	 / *     I n c r e m e n t   o p e r a n d   c o u n t     * / 
 	 	 	 	           s o u r c e _ o p _ c o u n t   =   s o u r c e _ o p _ c o u n t   +   1 ; 
 	 	 	 	           i f   t e m p _ s o u r c e _ c o d e   >   s o u r c e _ c o d e 
 	 	 	 	           t h e n   s o u r c e _ c o d e   =   t e m p _ s o u r c e _ c o d e ; 
 	 	 	 	 e n d ; 	 	 / *     I n c r e m e n t   t h e   s o u n t   o f   t h e   o p e r a n d s   i n   t h e   e x p r e s s i o n     * / 
 
 	 	 	 e n d ; 	 	 	 / *     C u r r e n t   t o k e n   O K ,   C h e c k   o p e r a n d   c o u n t .     * / 
 
 	 	 e n d ; 	 	 	 	 / *     L o o k   a t   e x p r e s s i o n .     * / 
 
 / *     I f   t h e   o p e r a t i o n   w a s   d i v i d e ,   a n d   a n y   o f   t h e   r e c e i v i n g   f i e l d s   h a d   t h e 
 	 	 r o u n d i n g   b i t   o n ,   t h e n   w e   d o n ' t   w a n t   t o   d o   a r i t h m e t i c   i n   t h e   h a r d w a r e   r e g i s t e r s . 
 	 	 I n s t e a d   w e   w a n t   t o   d o   d e c i m a l   ( E I S )   a r i t h m e t i c ,   w i t h   r o u n d i n g . 
 	 	 * / 
 	 	 i f   d i v i d e _ f l a g   &   r o u n d e d _ f l a g 
 	 	 t h e n   g i v e _ u p   =   " 1 " b ; 
 
 	           e n d ; 	 	 	 	 	 / *     A l l   t a r g e t s   f i x e d   b i n a r y ,   c h e c k   t h e   e x p r e s s i o n .     * / 
 
 	 b i n a r y _ o k   =   ^ g i v e _ u p ; 
 
 	 r e t u r n ; 
  
 
 a d d : 
           e n t r y   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 / * 
 T h i s   e n t r y   p o i n t   s c a n s   t h e   i n p u t   t o k e n   f o r   a d d   a n d   s u b t r a c t 
 s t a t e m e n t s ,   a n d   d e t e r m i n e s   w h e t h e r   t h e   a d d   o r   s u b t r a c t   c a n   b e 
 d o n e   i n   t h e   h a r d w a r e   r e g i s t e r s ,   r a t h e r   t h a n   b y   u s i n g   E I S 
 i n s t r u c t i o n s . 
 * / 
 
 
 / * 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   s t r u c t u r e ,   w h i c h   i s   d e f i n e d   b y   a 
 d e c l a r a t i o n   o f   t h e   f o l l o w i n g   f o r m a t : 
 
 d c l 	 1   i n _ t o k e n   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n , 
 	 	 2   c o d e   f i x e d   b i n 
 	 	 2   t o k e n _ p t r   (   0   r e f e r   ( i n _ t o k e n . n ) )   p t r ; 
 
 	 w h e r e : 
 
 	 i n _ t o k e n . n   c o n t a i n s   t h e   n u m b e r   o f   e n t r i e s   i n   t h e 
 	 t o k e n _ p t r   a r r a y . 
 
 	 t o k e n _ p t r ( 1 )   c o n t a i n s   a   p o i n t e r   t o   a   r e s e r v e d   w o r d   t o k e n 
 	 ( t y p e   1 )   f o r   t h e   r e s e r v e d   w o r d   A D D .     T h i s   p o i n t e r   i s 
 	 n o t   u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 t o k e n _ p t r ( n )   c o n t a i n s   a   p o i n t e r   t o   a n   E O S   ( t y p e   1 9 )   t o k e n . 
 	 A   d e c l a r a t i o n   t h a t   d e s c r i b e s   t h e   c o n t e n t s   o f   t h e   E O S 
 	 t o k e n   i s   g i v e n   f o l l o w i n g   t h e   e x e c u t a b l e   s t a t e m e n t s 
 	 o f   t h i s   p r o c e d u r e   i n   a n   i n c l u d e   f i l e .     T h e   t y p e   1 9 
 	 t o k e n   c o n t a i n s   t h e   f o l l o w i n g   i n f o r m a t i o n   t h a t   i s 
 	 u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 	 1 .   e n d _ s t m t . v e r b   c o n t i a n s   t h e   c o d e   f o r   t h e 
 	 	 r e s e r v e d   w o r d   A D D . 
 	 	 2 .   e n d _ s t m t . a   d e f i n e s   t h e   f o r m a t   o f   t h e   A D D 
 	 	 s t a t e m e n t : 
 
 	 	 v a l u e   o f   e n d _ s t m t . a 	 |   A d d   s t m t   f o r m a t 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	     " 0 0 0 " b 	 	 |   f o r m a t   1 
 	 	     " 0 0 1 " b 	 	 |   f o r m a t   2 
 
 	 	 3 .   e n d _ s t m t . b   i s   " 1 " b   i f   t h i s   A D D   s t a t e m e n t 
 	 	 h a d   a n   O N   S I Z E   E R R O R   c l a u s e 
 	 	 4 .   e n d _ s t m t . e   c o n t a n s   t h e   c o u n t   o f   t h e 
 	 	 n u m b e r   o f   o p e r a n d s   t o   t h e   L E F T   o f   " T O "   f o r 
 	 	 f o r m a t   1   A D D   s t a t e m e n t s ,   o r   t o   t h e   L E F T   o f 
 	 	 " G I V I N G "   f o r   f o r m a t   2   A D D   s t a t e m e n t s . 
 	 	 5 ,   e n d _ s t m t . h   c o n t i a n s   t h e   c o u n t   o f   t h e   n u m b e r 
 	 	 o f   o p e r a n d s   t o   t h e   R I G H T   o f   " T O "   f o r   
 	 	 f o r m a t   1   A D D   s t a t e m e n t s ,   o r   t o   t h e   R I G H T   o f 
 	 	 " G I V I N G "   f o r   f o r m a t   2   A D D   s t a t e m e n t s . 
 	 	 6 .   e n d _ s t m t . i   c o n t a i n s   t h e   c o m p o s i t e   c o u n t 
 	 	 o f   t h e   d i g i t s   t o   t h e   l e f t   o f   t h e   d e c i m a l 
 	 	 p i n t .     ( ? ? ? ) 
 	 	 7 .   e n d _ s t m t . j   c o n t i a n s   t h e   c o m p o s i t e   c o u n t 
 	 	 o f   t h e   d i g i t s   t o   t h e   r i g h t   o f   t h e   d e c i m a l 
 	 	 p o i n t .     ( ? ? ? ) 
 
 	 t o k e n _ p t r ( 2 )   t h r o u g h   t o k e n _ p t r ( n - 1 )   p o i n t   t h   t o k e n s 
 	 t h a t   d e s c r i b e : 
 
 	 	 1 .   t h e   d a t a   i t e m s   t o   b e   a d d e d   t o g e t h e r . 
 	 	 T h e s e   t o k e n s   c a n   b e   d a t a   n a m e   ( t y p e   9 )   t o k e n s 
 	 	 n u m e r i c   l i t e r a l   ( t y p e   2 )   t o k e n s ,   o r   t h e 
 	 	 f i g u r a t i v e   c o n s t a n t   Z E R O   ( t y p e   1 )   t o k e n . 
 	 	 2 .   t h e   d a t a   i t e m s   t o   r e c e i v e   t h e   r e s u l t   o f 
 	 	 t h e   a d d i t i o n .     T h e s e   t o k e n s   a r e   a l w a y s   d a t a 
 	 	 n a m e   ( t y p e   9 )   t o k e n s . 
 
 
 O U T P U T 
 
 T h e   s e c o n d   p a r a m e t e r   p a s s e d   t o   c o b o l _ a d d _ g e n   i s   a n   o u t p u t   p a r a m e t e r . 
 A   v a l u e   i s   r e t u r n e d   t o   t h e   c a l l i n g   p r o c e d u r e ,   c o b o l _ g e e _ d r i v e r _ , 
 o n l y   f o r   t h o s e   a d d   a s t a t m e n t s   t h a t   h a v e     o n   s i z e   e r r o r   c l a u s e s . 
 I f   a n   o n   s i z e   e r r o r   c l a u s e   i s   s p e c i f i e d ,   t h e n ,   i n   a d d i t i o n   t o 
 t h e   c o d e   t h a t   e v a l u a t e s   t h e   s u m ,   a n d   a s s i g n s   i t   t o   t h e   r e c e i v i n g 
 d a t a   i t e m s ,   c o b o l _ a d d _ g e n   m u s t   a l s o   g e n e r a t e   c o d e   t h a t   c h e c k s   f o r 
 s i z e   e r r o r   c o n d i t i o n s .     I f   a   s i z e   e r r o r   i s   d e t e c t e d   b y   t h e   e x e c u t i o n 
 o f   t h e   g e n e r a t e d   c o d e ,   t h e n   t h e   i m p e r a t i v e   s t a t e m e n t   i n   t h e   A D D 
 s t a t m e n t   i s   e x e c u t e d ,   o t h e r w i s e   t h e   i m p e r a t i v e   s t a t e m e n t   i s 
 s k i p p e d .     T h e   c o b o l _ a d d _ g e n   g e n e r a t o r ,   h o w e v e r ,   w h e n   g e n e r a t i n g 
 c o d e   t o   s k i p   o v e r   t h e   i m p e r a t i v e   s t a t e m e n t   t o   t h e   n e x t   s t a t e m e n t , 
 d o e s   n o t   k n o w   a n y t h i n g   a b o u t   t h e   n e x t   s t a t e m e n t .     T h i s   s i t u a t i o n 
 i s   h a n d l e d   a s   f o l l o w s : 
 
 	 1 .   c o b o l _ a d d _ g e n   r e s e r v e s   a   t a g   f o r   t h e   n e x t   C O B O L 
 	 s t a t e m e n t . 
 	 2 .   a n y   t r a n s f e r s   t o   t h e   n e x t   s t a t e m e n t   r e f e r e n c e   t h e 
 	 t a g   r e s e r v e d   b y   c o b o l _ a d d _ g e n .     T h i s   t a g   i s   n o t   y e t 
 	 d e f i n e d .   ( a s s o c i a t e d   w i t h   a n   i n s t r u c t i o n   l o c a t i o n   i n 
 	 t h e   t e x t   s e g m e n t ) 
 	 3 .   a f t e r   g e n e r a t i o n   o f   c o d e   f o r   a n   a d d   s t a t e m e n t   i s 
 	 c o m p l e t e d ,   c o b o l _ a d d _ g e n   p a s s e s   t h e   n e x t   s t a t e m e n t   t a g 
 	 b a c k   t o   i t s   c a l l e r ,   c o b o l _ g e n _ d r i v e r _ ,   i n   t h e   s e c o n d 
 	 p a r a m e t e r . 
 	 4 .   w h e n   c o b o l _ g e n _ d r i v e r _   d e t e c t s   t h e   e n d   o f   t h e   i m p e r a t i v e 
 	 s t a t e m e n t ,   t h e   t a g ,   r e s e r v e d   b y   c o b o l _ a d d _ g e n ,   i s 
 	 d e f i n e d . 
 * / 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 E N T R Y   P O I N T : 	 	 	 * / 
 / * 	       a d d 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 g i v e _ u p   =   " 0 " b ; 
 
 	 i f   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   d o ; 	 	 	 	 	 / *     A   f o r m a t   1   a d d   o r   s u b t r a c t   s t a t e m e n t .     * / 
 
 / *     C h e c k   t o   s e e   t h a t   t h e r e   i s   o n l y   o n e   a d d e n d ,   a n d   t h a t   t h a t   a d d e n d   i s 
 	 	 e i t h e r   l o n g   o r   s h o r t   b i n r y ,   t h e   f i g .   c o n s t a n t   Z E R O ,   o r   a   n u m e r i c   l i t e r a l 
 	 	 t h a t   c a n   b e   c o n t a i n e d   i n   a   f i x e d   b i n a r y .     * / 
 	 	 i f   e n d _ s t m t . e   ^ =   1 
 	 	 t h e n   g i v e _ u p   =   " 1 " b ; 
 	 	 e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 	 t h e n   s o u r c e _ c o d e   =   1 ; 
 	 	 e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 	 t h e n   c a l l   c o b o l _ b i n _ c o n s t _ c k   ( i n _ t o k e n . t o k e n _ p t r   ( 2 ) ,   g i v e _ u p ,   s o u r c e _ c o d e ) ; 
 	 	 e l s e   i f   ( i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	           &   i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   d a t a _ n a m e . s u b s c r i p t e d   =   " 0 " b ) 
 	 	 t h e n   s o u r c e _ c o d e   =   1 ; 
 	 	 e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   d a t a _ n a m e . b i n _ 3 6 
 	 	 t h e n   s o u r c e _ c o d e   =   2 ; 
 	 	 e l s e   g i v e _ u p   =   " 1 " b ; 
 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     A d d e n d   o k ,   c h e c k   a l l   a u g e n d s   ( m i n u e n d s )     * / 
 	 	 	 	 	 	 / *       A l l   m u s t   b e   l o n g   o r   s h o r t   b i n a r y .     * / 
 	 	 	 t a r g e t _ c o d e   =   0 ; 
 	 	 	 d o   i x   =   3   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 	 	 	           i f   ( i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8   =   " 0 " b ) 
 	 	 	 	 &   ( i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 3 6   =   " 0 " b ) 
 	 	 	           t h e n   g i v e _ u p   =   " 1 " b ; 
 	 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	 	 &   ( i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . s u b s c r i p t e d ) 
 	 	 	           t h e n   g i v e _ u p   =   " 1 " b ; 
 	 	 	 e n d ; 
 
 	 	           e n d ; 	 	 	 	 / *     A d d e n d   o k ,   c h e c k   a l l   a u g e n d s   ( m i n u e n d s )     * / 
 	           e n d ; 	 	 	 	 	 / *     A   f o r m a t   1   a d d   o r   s u b t r a c t   s t a t e m e n t .     * / 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     A   f o r m a t   2   a d d   o r   s u b t r a c t   s t a t e m e n t .     * / 
 	 	 	 	 	 	 / *     I n   o r d e r   t o   d o   a r i t h m e t i c   i n   t h e   r e g i s t e r s ,   t h e   f o l l w o i n g   c o n d i t i o n s   m u s t   b e   t r u e : 
 	 	 	 1 .     E x a c t l y   2   o p e r a n d s   t o   b e   a d d e d . 
 	 	 	 2 .     A l l   o p e r a n d s   t o   b e   a d d e d   o r   l o n g   o r   s h o r t   f i x e d   b i n a r y ,   f i g . 
 	 	 	 c o n s t a n t   Z E R O ,   o r   a   n u m l i t   t h a t   c a n   b e   c o n t a i n e d   i n   a   f i x e d   b i n a r y . 
 	 	 	 3 .     A l l   r e c e i v i n g   f i e l d s   m u s t   b e   f i x e d   b i n a r y . 
 	 	 * / 
 
 	 	 i f   ( e n d _ s t m t . v e r b   =   2   / * a d d * /   &   e n d _ s t m t . e   ^ =   2 )   |   ( e n d _ s t m t . v e r b   =   1 1   / * s u b t r a c t * /   &   e n d _ s t m t . e   ^ =   1 ) 
 	 	 t h e n   g i v e _ u p   =   " 1 " b ; 
 	 	 e l s e   d o ; 	 	 	 	 / *     2   o p e r a n d s ,   c h e c k   t h e m .     * / 
 	 	 	 s o u r c e _ c o d e   =   0 ; 
 	 	 	 d o   i x   =   2 ,   3   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 
 	 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 	 	           t h e n   t e m p _ s o u r c e _ c o d e   =   1 ; 
 	 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 	 	           t h e n   c a l l   c o b o l _ b i n _ c o n s t _ c k   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   g i v e _ u p ,   t e m p _ s o u r c e _ c o d e ) ; 
 	 	 	           e l s e   i f   ( i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . s u b s c r i p t e d   =   " 0 " b ) 
 	 	 	           t h e n   t e m p _ s o u r c e _ c o d e   =   1 ; 
 	 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 3 6 
 	 	 	           t h e n   t e m p _ s o u r c e _ c o d e   =   2 ; 
 	 	 	           e l s e   g i v e _ u p   =   " 1 " b ; 
 
 	 	 	           i f   g i v e _ u p   =   " 0 " b 
 	 	 	           t h e n   i f   t e m p _ s o u r c e _ c o d e   >   s o u r c e _ c o d e 
 	 	 	 	 t h e n   s o u r c e _ c o d e   =   t e m p _ s o u r c e _ c o d e ; 
 	 	 	 e n d ; 
 	 	           e n d ; 	 	 	 	 / *     2   o p e r a n d s ,   c h e c k   t h e m .     * / 
 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     A l l   a d d e n d s   o k ,   c h e c k   t h e   r e c e i v i n g   f i e l d s .     * / 
 	 	 	 	 	 	 / *     A l l   r e c e i v i n g   f i e l d s   m u s t   b e   l o n g   o r   s h o r t   b i n a r y   c o b o l   d a t a   i t e m s .     * / 
 	 	 	 t a r g e t _ c o d e   =   0 ; 
 
 	 	 	 d o   i x   =   4   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 
 	 	 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	 	 &   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . s u b s c r i p t e d   =   " 0 " b 
 	 	 	           t h e n   t e m p _ t a r g e t _ c o d e   =   1 ; 
 	 	 	           e l s e   i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . b i n _ 3 6 
 	 	 	           t h e n   t e m p _ t a r g e t _ c o d e   =   2 ; 
 	 	 	           e l s e   g i v e _ u p   =   " 1 " b ; 
 
 	 	 	           i f   g i v e _ u p   =   " 0 " b 
 	 	 	           t h e n   i f   t e m p _ t a r g e t _ c o d e   >   t a r g e t _ c o d e 
 	 	 	 	 t h e n   t a r g e t _ c o d e   =   t e m p _ t a r g e t _ c o d e ; 
 
 	 	 	 e n d ; 
 	 	           e n d ; 	 	 	 	 / *     A l l   a d d e n d s   o k ,   c h e c k   t h e   r e c e i v i n g   f i e l d s .     * / 
 
 	           e n d ; 	 	 	 	 	 / *     A   f o r m a t   2   a d d   o r   s u b t r a c t   s t a t e m e n t .     * / 
 
 	 b i n a r y _ o k   =   ^ g i v e _ u p ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 R E T U R N   P O I N T 	 	 	 * / 
 / * 	     a d d 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 r e t u r n ; 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N T R Y   P O I N T :   d i v i d e 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 d i v i d e : 
           e n t r y   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 / * 
 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 i n _ t o k e n _ p t r 	 P o i n t s   t o   t h e   i n _ t o k e n   s t r u c t u r e ,   w h i c h 
 	 	 c o n t a i n s   i n f o r m a t i o n   d e s c r i b i n g   t h e   D I V I D E 
 	 	 s t a t e m e n t   f o r   w h i c h   c o d e   i s   t o   b e 
 	 	 g e n e r a t e d .   ( i n p u t )     S e e   t h e   d e s c r i p t i o n 
 	 	 b e l o w   u n d e r   I N P U T   f o r   t h e   e x a c t   c o n t e n t s   o f 
 	 	 t h e   i n p u t   s t r u c t u r e . 
 	 	 N O T E :   T h i s   p a r a m e t e r   i s   d e c l a r e d   i n   a n   i n c l u d e 
 	 	 f i l e   f o l l o w i n g   t h e   e x e c u t a b l e   s t a t e m e n t s 
 	 	 o f   t h i s   p r o c e d u r e . 
 n e x t _ s t m t _ t a g 	 C o n t a i n s   a   c o m p i l e r   g e n e r a t e d   t a g   n u m b e r 
 	 	 ( l a b e l )   t o   b e   a s s o c i a t e d   b y   t h e   c o d e 
 	 	 g e n e r a t o r   d r i v e r   w i t h   t h e   C o b o l   s t a t e m e n t 
 	 	 t h a t   f o l l o w s   t h e   D I V I D E   s t a t e m e n t   f o r   w h i c h   t h i s 
 	 	 p r o c e d u r e   w a s   c a l l e d .     ( o u t p u t )     S e e 
 	 	 t h e   d i s c u s s i o n   b e l o w   u n d e r   O U T P U T 
 	 	 f o r   m o r e   d e t a i l s . 
 * / 
 / * 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   s t r u c t u r e ,   w h i c h   i s   d e f i n e d   b y   a 
 d e c l a r a t i o n   o f   t h e   f o l l o w i n g   f o r m a t : 
 
 d c l 	 1   i n _ t o k e n   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n , 
 	 	 2   c o d e   f i x e d   b i n 
 	 	 2   t o k e n _ p t r   (   0   r e f e r   ( i n _ t o k e n . n ) )   p t r ; 
 
 	 w h e r e : 
 
 	 i n _ t o k e n . n   c o n t a i n s   t h e   n u m b e r   o f   e n t r i e s   i n   t h e 
 	 t o k e n _ p t r   a r r a y . 
 
 	 t o k e n _ p t r ( 1 )   c o n t a i n s   a   p o i n t e r   t o   a   r e s e r v e d   w o r d   t o k e n 
 	 ( t y p e   1 )   f o r   t h e   r e s e r v e d   w o r d   D I V I D E .     T h i s   p o i n t e r   i s 
 	 n o t   u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 t o k e n _ p t r ( n )   c o n t a i n s   a   p o i n t e r   t o   a n   E O S   ( t y p e   1 9 )   t o k e n . 
 	 A   d e c l a r a t i o n   t h a t   d e s c r i b e s   t h e   c o n t e n t s   o f   t h e   E O S 
 	 t o k e n   i s   g i v e n   f o l l o w i n g   t h e   e x e c u t a b l e   s t a t e m e n t s 
 	 o f   t h i s   p r o c e d u r e   i n   a n   i n c l u d e   f i l e .     T h e   t y p e   1 9 
 	 t o k e n   c o n t a i n s   t h e   f o l l o w i n g   i n f o r m a t i o n   t h a t   i s 
 	 u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 	 1 .   e n d _ s t m t . v e r b   c o n t a i n s   t h e   c o d e   f o r   t h e 
 	 	 r e s e r v e d   w o r d   D I V I D E . 
 	 	 2 .   e n d _ s t m t . a   d e f i n e s   t h e   f o r m a t   o f   t h e   D I V I D E 
 	 	 s t a t e m e n t : 
 
 	 	 v a l u e   o f   e n d _ s t m t . a 	 |   d i v i d e   s t m t   f o r m a t 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	     " 0 0 0 " b 	 	 |   f o r m a t   1 
 	 	     " 0 0 1 " b 	 	 |   f o r m a t   2 
 	 	   " 0 1 0 " b 	 	 |   f o r m a t   3 
 	 	   " 0 1 1 " b 	 	 |   f o r m a t   4 
 	 	   " 1 0 0 " b 	 	 |   f o r m a t   5 
 
 
 	 	 3 .   e n d _ s t m t . b   i s   " 1 " b   i f   t h i s   D I V I D E   s t a t e m e n t 
 	 	 h a d   a n   O N   S I Z E   E R R O R   c l a u s e 
 	 	 4 .   e n d _ s t m t . e   c o n t a i n s   t h e   c o u n t   o f   t h e 
 	 	 n u m b e r   o f   o p e r a n d s   t o   t h e   R I G H T   o f   " I N T O "   f o r 
 	 	 f o r m a t   1   D I V I D E   s t a t e m e n t s . 
 	 	 5 ,   e n d _ s t m t . h   c o n t i a n s   t h e   c o u n t   o f   t h e   n u m b e r 
 	 	 o f   o p e r a n d s   t o   t h e   R I G H T   o f   " G I V I N G "   f o r   
 	 	 f o r m a t   2   a n d   f o r m a t   3   D I V I D E   s t a t e m e n t s . 
 
 	 t o k e n _ p t r ( 2 )   t h r o u g h   t o k e n _ p t r ( n - 1 )   p o i n t   t o   t o k e n s 
 	 t h a t   d e s c r i b e : 
 
 	 	 1 .   t h e   d a t a   i t e m s   t o   b e   m u l t i p l i e d   t o g e t h e r . 
 	 	 T h e s e   t o k e n s   c a n   b e   d a t a   n a m e   ( t y p e   9 )   t o k e n s 
 	 	 n u m e r i c   l i t e r a l   ( t y p e   2 )   t o k e n s . 
 	 	 2 .   t h e   d a t a   i t e m s   t o   r e c e i v e   t h e   r e s u l t   o f 
 	 	 t h e   a d d i t i o n .     T h e s e   t o k e n s   a r e   a l w a y s   d a t a 
 	 	 n a m e   ( t y p e   9 )   t o k e n s . 
 
 d c l   t e m p _ c o d e   f i x e d   b i n ; 
 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 E N T R Y   P O I N T :   d i v i d e 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 g i v e _ u p   =   " 0 " b ; 
 	 t a r g e t _ c o d e   =   2 ; 	 	 	 	 / *     d i v i d e   u s e s   l o n g   b i n a r y   a r i t h m e t i c   ( A   a n d   Q )   a l w a y s .     * / 
 	 s o u r c e _ c o d e   =   2 ; 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 
 	 i f   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   d o ; 	 	 	 	 	 / *     F o r m a t   1   d i v i d e     * / 
 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 2 ) ,   g i v e _ u p ) ; 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     D i v i s o r   o k ,   c h e c k   t h e   r e c e i v i n g   f i e l d s .     * / 
 	 	 	 d o   i x   =   3   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 	 	 	           c a l l   d i v _ t a r g e t _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   g i v e _ u p ,   2 ) ; 
 	 	 	 e n d ; 
 	 	           e n d ; 	 	 	 	 / *     D i v i s o r   o k ,   c h e c k   t h e   r e c e i v i n g   f i e l d s .     * / 
 	           e n d ; 	 	 	 	 	 / *     F o r m a t   1   d i v i d e .     * / 
 
 	 e l s e   i f   ( e n d _ s t m t . a   =   " 0 0 1 " b   |   e n d _ s t m t . a   =   " 0 1 0 " b ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     F o r m a t   2   o r   F o r m a t   3   d i v i d e .     * / 
 	 	 	 	 	 	 / *     C h e c k   d i v i s o r   o r   d i v i d e n d   f i r s t .     * / 
 	 	 	 	 	 	 / *     N o t e   t h a t   i t   m a k e s   n o   d i f f e r e n c e   w h e t h e r   w e   c h e c k   t h e   d i v i s o r 
 	 	 f i r s t   ( F o r m a t   2 )   o r   d i v i d e n d   f i r s t   ( F o r m a t   3 ) .     * / 
 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 2 ) ,   g i v e _ u p ) ; 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     C h e c k   o t h e r   o p e r a n d ,   a n d   t h e   t a r g e t s .     * / 
 	 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 3 ) ,   g i v e _ u p ) ; 
 	 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 	 t h e n   d o ; 	 	 	 / *     C h e c k   t h e   t a r g e t s .     * / 
 	 	 	 	 d o   i x   =   4   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 	 	 	 	           c a l l   d i v _ t a r g e t _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   g i v e _ u p ,   2 ) ; 
 	 	 	 	 e n d ; 
 	 	 	           e n d ; 	 	 	 / *     C h e c k   t h e   t a r g e t s .     * / 
 	 	           e n d ; 	 	 	 	 / *     C h e c k   o t h e r   o p e r a n d ,   a n d   t h e   t a r g e t s .     * / 
 	           e n d ; 	 	 	 	 	 / *     F o r m a t   2   o r   F o r m a t   3   d i v i d e .     * / 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     M u s t   b e   a   F o r m a t   4   o r   F o r m a t   5   d i v i d e .     * / 
 	 	 	 	 	 	 / *     C h e c k   t h e   d i v i d e n d   a n d   d i v i s o r   f i r s t .     * / 
 	 	 	 	 	 	 / *     N o t e   t h a t   i t   m a k e s   n o   d i f f e r e n c e   w h e t h e r   w e   c h e c k   d i v i s o r   o r   d i v i d e n d   f i r s t .     * / 
 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 2 ) ,   g i v e _ u p ) ; 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 3 ) ,   g i v e _ u p ) ; 
 	 	 	 	 	 	 / *     N o w   c h e c k   t h e   r e c e i v i n g   f i e l d .     * / 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   c a l l   d i v _ t a r g e t _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 4 ) ,   g i v e _ u p ,   2 ) ; 
 	 	 	 	 	 	 / *     N o w   c h e c k   t h e   r e m a i n d e r   f i e l d .     * / 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   c a l l   d i v _ t a r g e t _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 5 ) ,   g i v e _ u p ,   2 ) ; 
 	           e n d ; 	 	 	 	 	 / *     M u s t   b e   F o r m a t   4   o r   F o r m a t   5   d i v i d e .     * / 
 
 	 b i n a r y _ o k   =   ^ g i v e _ u p ; 
 
 	 r e t u r n ; 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N T R Y   P O I N T :   m u l t i p l y 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 m u l t i p l y : 
           e n t r y   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 / * 
 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 i n _ t o k e n _ p t r 	 P o i n t s   t o   t h e   i n _ t o k e n   s t r u c t u r e ,   w h i c h 
 	 	 c o n t a i n s   i n f o r m a t i o n   d e s c r i b i n g   t h e   M U L T I P L Y 
 	 	 s t a t e m e n t   f o r   w h i c h   c o d e   i s   t o   b e 
 	 	 g e n e r a t e d .   ( i n p u t )     S e e   t h e   d e s c r i p t i o n 
 	 	 b e l o w   u n d e r   I N P U T   f o r   t h e   e x a c t   c o n t e n t s   o f 
 	 	 t h e   i n p u t   s t r u c t u r e . 
 	 	 N O T E :   T h i s   p a r a m e t e r   i s   d e c l a r e d   i n   a n   i n c l u d e 
 	 	 f i l e   f o l l o w i n g   t h e   e x e c u t a b l e   s t a t e m e n t s 
 	 	 o f   t h i s   p r o c e d u r e . 
 n e x t _ s t m t _ t a g 	 C o n t a i n s   a   c o m p i l e r   g e n e r a t e d   t a g   n u m b e r 
 	 	 ( l a b e l )   t o   b e   a s s o c i a t e d   b y   t h e   c o d e 
 	 	 g e n e r a t o r   d r i v e r   w i t h   t h e   C o b o l   s t a t e m e n t 
 	 	 t h a t   f o l l o w s   t h e   M U L T I P L Y   s t a t e m e n t   f o r   w h i c h   t h i s 
 	 	 p r o c e d u r e   w a s   c a l l e d .     ( o u t p u t )     S e e 
 	 	 t h e   d i s c u s s i o n   b e l o w   u n d e r   O U T P U T 
 	 	 f o r   m o r e   d e t a i l s . 
 * / 
 / * 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   s t r u c t u r e ,   w h i c h   i s   d e f i n e d   b y   a 
 d e c l a r a t i o n   o f   t h e   f o l l o w i n g   f o r m a t : 
 
 d c l 	 1   i n _ t o k e n   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n , 
 	 	 2   c o d e   f i x e d   b i n 
 	 	 2   t o k e n _ p t r   (   0   r e f e r   ( i n _ t o k e n . n ) )   p t r ; 
 
 	 w h e r e : 
 
 	 i n _ t o k e n . n   c o n t a i n s   t h e   n u m b e r   o f   e n t r i e s   i n   t h e 
 	 t o k e n _ p t r   a r r a y . 
 
 	 t o k e n _ p t r ( 1 )   c o n t a i n s   a   p o i n t e r   t o   a   r e s e r v e d   w o r d   t o k e n 
 	 ( t y p e   1 )   f o r   t h e   r e s e r v e d   w o r d   M U L T I P L Y .     T h i s   p o i n t e r   i s 
 	 n o t   u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 t o k e n _ p t r ( n )   c o n t a i n s   a   p o i n t e r   t o   a n   E O S   ( t y p e   1 9 )   t o k e n . 
 	 A   d e c l a r a t i o n   t h a t   d e s c r i b e s   t h e   c o n t e n t s   o f   t h e   E O S 
 	 t o k e n   i s   g i v e n   f o l l o w i n g   t h e   e x e c u t a b l e   s t a t e m e n t s 
 	 o f   t h i s   p r o c e d u r e   i n   a n   i n c l u d e   f i l e .     T h e   t y p e   1 9 
 	 t o k e n   c o n t a i n s   t h e   f o l l o w i n g   i n f o r m a t i o n   t h a t   i s 
 	 u s e d   b y   t h i s   p r o c e d u r e . 
 
 	 	 1 .   e n d _ s t m t . v e r b   c o n t a i n s   t h e   c o d e   f o r   t h e 
 	 	 r e s e r v e d   w o r d   M U L T I P L Y . 
 	 	 2 .   e n d _ s t m t . a   d e f i n e s   t h e   f o r m a t   o f   t h e   M U L T I P L Y 
 	 	 s t a t e m e n t : 
 
 	 	 v a l u e   o f   e n d _ s t m t . a 	 |   M p y   s t m t   f o r m a t 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	     " 0 0 0 " b 	 	 |   f o r m a t   1 
 	 	     " 0 0 1 " b 	 	 |   f o r m a t   2 
 
 	 	 3 .   e n d _ s t m t . b   i s   " 1 " b   i f   t h i s   M U L T I P L Y   s t a t e m e n t 
 	 	 h a d   a n   O N   S I Z E   E R R O R   c l a u s e 
 	 	 4 .   e n d _ s t m t . e   c o n t a i n s   t h e   c o u n t   o f   t h e 
 	 	 n u m b e r   o f   o p e r a n d s   t o   t h e   R I G H T   o f   " B Y "   f o r 
 	 	 f o r m a t   1   M U L T I P L Y   s t a t e m e n t s . 
 	 	 5 ,   e n d _ s t m t . h   c o n t i a n s   t h e   c o u n t   o f   t h e   n u m b e r 
 	 	 o f   o p e r a n d s   t o   t h e   R I G H T   o f   " G I V I N G "   f o r   
 	 	 f o r m a t   2   M U L T I P L Y   s t a t e m e n t s . 
 
 	 t o k e n _ p t r ( 2 )   t h r o u g h   t o k e n _ p t r ( n - 1 )   p o i n t   t o   t o k e n s 
 	 t h a t   d e s c r i b e : 
 
 	 	 1 .   t h e   d a t a   i t e m s   t o   b e   m u l t i p l i e d   t o g e t h e r . 
 	 	 T h e s e   t o k e n s   c a n   b e   d a t a   n a m e   ( t y p e   9 )   t o k e n s 
 	 	 n u m e r i c   l i t e r a l   ( t y p e   2 )   t o k e n s . 
 	 	 2 .   t h e   d a t a   i t e m s   t o   r e c e i v e   t h e   r e s u l t   o f 
 	 	 t h e   m u l t i p l i c a t i o n .     T h e s e   t o k e n s   a r e   a l w a y s   d a t a 
 	 	 n a m e   ( t y p e   9 )   t o k e n s . 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 E N T R Y   P O I N T :   m u l t i p l y 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 g i v e _ u p   =   " 0 " b ; 
 	 s o u r c e _ c o d e   =   2 ; 	 	 	 	 / *     M u l t i p l i c a t i o n   i s   a l w a y s   d o n e   i n   t h e   A   a n d   Q .   ( l o n g   f i x e d   b i n   o p e r a n d s )     * / 
 	 t a r g e t _ c o d e   =   2 ; 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 
 	 i f   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   d o ; 	 	 	 	 	 / *     F o r m a t   1   m u l t i p l y .     * / 
 	 	 	 	 	 	 / *     C h e c k   t h e   m u l t i p l i c a n d .     * / 
 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 2 ) ,   g i v e _ u p ) ; 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     C h e c k   a l l   t a r g e t s .     * / 
 	 	 	 d o   i x   =   3   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 	 	 	           c a l l   d i v _ t a r g e t _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   g i v e _ u p ,   1 ) ; 
 	 	 	 e n d ; 
 	 	           e n d ; 	 	 	 	 / *     C h e c k   a l l   t a r g e t s .     * / 
 	           e n d ; 	 	 	 	 	 / *     F o r m a t   1   m u l t i p l y .     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     F o r m a t   2   m u l t i p l y .     * / 
 	 	 	 	 	 	 / *     C h e c k   m u l t i p l i c a n d .     * / 
 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 2 ) ,   g i v e _ u p ) ; 
 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u l t i p l i c a n d   o k ,   c h e c k   m u l t i p l i e r   a n d   t a r g e t s .     * / 
 	 	 	 	 	 	 / *     C h e c k   m u l t i p l i e r .     * / 
 	 	 	 c a l l   d i v _ o p e r a n d _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( 3 ) ,   g i v e _ u p ) ; 
 	 	 	 i f   g i v e _ u p   =   " 0 " b 
 	 	 	 t h e n   d o ; 	 	 	 / *     M u l t i p l i e r   o k ,   c h e c k   t a r g e t s .     * / 
 	 	 	 	 d o   i x   =   4   t o   i n _ t o k e n . n   -   1   w h i l e   ( g i v e _ u p   =   " 0 " b ) ; 
 	 	 	 	           c a l l   d i v _ t a r g e t _ c h e c k   ( i n _ t o k e n . t o k e n _ p t r   ( i x ) ,   g i v e _ u p ,   1 ) ; 
 	 	 	 	 e n d ; 
 	 	 	           e n d ; 	 	 	 / *     M u l t i p l i e r   o k ,   c h e c k   t a r g e t s .     * / 
 	 	           e n d ; 	 	 	 	 / *     M u l t i p l i c a n d   o k ,   c h e c k   m u l t i p l i e r   a n d   t a r g e t s .     * / 
 	           e n d ; 	 	 	 	 	 / *     F o r m a t   2   m u l t i p l y .     * / 
 
 	 b i n a r y _ o k   =   ^ g i v e _ u p ; 
 
 	 r e t u r n ; 
  
 
 d i v _ o p e r a n d _ c h e c k : 
           p r o c   ( o p e r a n d _ t o k e n _ p t r ,   g i v e _ u p _ f l a g ) ; 
 
 / * 
 T h i s   i n t e r n a l   p r o c e d u r e   t e s t s   a n   o p e r a n d   o f   a   d i v i d e 
 o r   m u l t i p l y   s t a t e m e n t   t o   d e t e r m i n e   w h e t h e r   t h e   o p e r a n d   i s   o f   t h e 
 p r o p e r   t y p e   a n d   s i z e   s o   t h a t   t h e   d i v i d e   o r   m u l t i p l y   c a n   b e   d o n e 
 i n   t h e   h a r d w a r e   r e g i s t e r s .   ( A   a n d   Q )     * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 o p e r a n d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 g i v e _ u p _ f l a g 	 b i t   ( 1 ) ; 
 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 o p e r a n d _ t o k e n _ p t r 	 P o i n t e r   t o   t h e   t o k e n   t h a t   d e s c r i b e s   t h e 
 	 	 o p e r a n d   t o   b e   c h e c k e d .     ( i n p u t )     T h i s   t o k e n 
 	 	 c a n   b e   a   d a t a   n a m e   t o k e n   ( t y p e   9 ) ,   a   n u m e r i c 
 	 	 l i t e r a l   t o k e n   ( t y p e   2 ) ,   o r   a   r e s e r v e d   w o r d 
 	 	 t o k e n   ( t y p e   1 )   f o r   t h e   f i g u r a t i v e   c o n s t a n t 
 	 	 Z E R O . 
 g i v e _ u p _ f l a g 	 A   f l a g   t h a t   i s   s e t   t o   " 1 " b   b y   t h i s   p r o c e d u r e 
 	 	 i f   t h e   o p e r a n d   d o e s   n o t   a l l o w   c o d e   t o   b e 
 	 	 g e n e r a t e d   i n   t h e   h a r d w a r e   r e g i s t e r s . 
 	 	 ( o u t p u t ) 
 
 * / 
 
 d c l 	 t e m p _ c o d e 	 	 f i x e d   b i n ; 
 
 	 g i v e _ u p _ f l a g   =   " 0 " b ; 
 
 	 i f   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     O p e r a n d   t o k e n   i s   a   d a t a   n a m e   t o k e n .     * / 
 	 	 	 	 	 	 / *     O p e r a n d   m u s t   b e   l o n g   o r   s h o r t   b i n a r y .     I f   s h o r t   b i n a r y   c a n n o t   b e   a n   e l e m e n t 
 	 	 o f   a n   a r r a y .     * / 
 	 	 i f   ( o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 3 6   =   " 0 " b   &   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   =   " 0 " b ) 
 	 	 t h e n   g i v e _ u p _ f l a g   =   " 1 " b ; 
 	 	 e l s e   i f   ( o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   &   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . s u b s c r i p t e d ) 
 	 	 t h e n   g i v e _ u p _ f l a g   =   " 1 " b ; 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   t o k e n   i s   a   d a t a   n a m e   t o k e n .     * / 
 
 
 	 e l s e   i f   o p e r a n d _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 t h e n   c a l l   c o b o l _ b i n _ c o n s t _ c k   ( o p e r a n d _ t o k e n _ p t r ,   g i v e _ u p _ f l a g ,   t e m p _ c o d e ) ; 
 
 / *     N o t e   t h a t   i f   t h e   i n p u t   o p e r a n d   i s   f i g u r a t i v e   c o n s t a n t   Z E R O ,   w e   f a l l   t h r u , 
 	 	 a n d   g i v e _ u p _ f l a g   i s   " 0 " b ,   i n d i c a t i n g   o k .     * / 
 
           e n d   d i v _ o p e r a n d _ c h e c k ; 
  
 
 d i v _ t a r g e t _ c h e c k : 
           p r o c   ( t a r g e t _ t o k e n _ p t r ,   g i v e _ u p _ f l a g ,   o p e r a t i o n _ c o d e ) ; 
 
 / * 
 T h i s   i n t e r n a l   p r o c e d u r e   t e s t s   a   t a r g e t   ( r e c e i v i n g   f i e l d )   o f   a 
 d i v i d e   o r   m u l t i p l y   s t a t e m e n t ,   a n d   d e t e r m i n e s   w h e t h e r   t h e   t a r g e t 
 i s   o f   t h e   s i z e   a n d   t y p e   s o   t h a t   t h e   o p e r a t i o n   c a n   b e   p e r f o r m e d   i n 
 t h e   h a r d w a r e   r e g i s t e r s .     ( A   a n d   Q ) 
 
 I n   o r d e r   t o   a l l o w   t h e   o p e r a t i o n   t o   b e   p e r f o r m e d   i n   t h e   A   a n d   Q , 
 t h e   t a r g e t   m u s t   s a t i s f y   t h e   f o l l o w i n t   c r i t e r i a : 
 	 1 .   T a r g e t   m u s t   b e   l o n g   o r   s h o r t   b i n a r y . 
 	 2 .   T a r g e t   ,   i f   s h o r t   b i n a r y   c a n n o t   b e   a n   e l e m e n t   o f 
 	 a n   a r r a y . 
 	 3 .   F o r   d i v i d e ,   t h e   t a r g e t   c a n n o t   h a v e   t h e   r o u n d e d   o p t i o n 
 	 s p e c i f i e d   f o r   i t . 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S >     * / 
 
 d c l 	 t a r g e t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 g i v e _ u p _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 o p e r a t i o n _ c o d e 	 f i x e d   b i n ; 
 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 t a r g e t _ t o k e n _ p t r 	 P o i n t e r   t o   a   d a t a   n a m e   t o k e n   t h a t   d e s c r i b e s 
 	 	 t h e   t a r g e t   ( r e c e i v i n g   f i e l d )   o f   a   d i v i d e 
 	 	 o r   m u l t i p l y .     ( i n p u t ) 
 g i v e _ u p _ f l a g 	 A   f l a g   t h a t   i s   s e t   t o   " 1 " b   b y   t h i s   p r o c e d u r e   i f 
 	 	 t h e   o p e r a n d   d o e s   n o t   a l l o w   c o d e   t o   b e 
 	 	 g e n e r a t e d   i n   t h e   h a r d w a r e   r e g i s t e r s . ( o u t p u t ) 
 o p e r a t i o n _ c o d e 	 A   c o d e   t h a t   i n d i c a t e s   w h e t h e r   t h e   t a r g e t 
 	 	 i s   a   t a r g e t   f o r   a   d i v i d e   o r   m u l t i p l y 
 	 	 s t a t e m e n t .     ( i n p u t )     T h i s   c o d e   i s   d e f i n e d 
 	 	 i n   t h e   f o l l w o i n g   t a b l e : 
 
 	 	 o p e r a t i o n   c o d e 	 |   s t a t e m e n t 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 	 	           1 	 	 |     m u l t i p l y 
 	 	           2 	 	 |     d i v i d e 
 	 	 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
 
 * / 
 
 
 
 	 g i v e _ u p _ f l a g   =   " 0 " b ; 
 
 	 i f   ( o p e r a t i o n _ c o d e   =   2   / * d i v i d e * /   &   t a r g e t _ t o k e n _ p t r   - >   d a t a _ n a m e . r o u n d e d ) 
 	 t h e n   g i v e _ u p _ f l a g   =   " 1 " b ; 
 	 e l s e   i f   ( t a r g e t _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   =   " 0 " b   &   t a r g e t _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 3 6   =   " 0 " b ) 
 	 t h e n   g i v e _ u p _ f l a g   =   " 1 " b ; 
 	 e l s e   i f   ( t a r g e t _ t o k e n _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   &   t a r g e t _ t o k e n _ p t r   - >   d a t a _ n a m e . s u b s c r i p t e d ) 
 	 t h e n   g i v e _ u p _ f l a g   =   " 1 " b ; 
 
           e n d   d i v _ t a r g e t _ c h e c k ; 
  
 / *     N E W S T U F F   H E R E     * / 
  
 
 / *     I N C L U D E   F I L E S   U S E D   I N   T H I S   P R O C E D U R E     * / 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
  
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
  
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
  
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
  
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   E X T E R N A L   P R O C E D U R E     	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ b i n a r y _ c h e c k ; 
      
 
 
  
 	 	         c o b o l _ b u i l d _ r e s o p . p l 1                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3             1 8 6 1 2 9     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ b u i l d _ r e s o p . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 % ; 
 / *   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
       *                                                                                                         * 
       *                                                                                                         * 
       *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f       * 
       *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .   * 
       *                                                                                                         * 
       *                                                                                                         * 
       * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 / *   M o d i f i e d   o n   7 / 1 / 7 6   b y   B o b   C h a n g   t o   p u t   d e f a u l t   m a x i m u n   t e m p o r a r y   s i z e .   * / 
 
 / * { * / 
 c o b o l _ b u i l d _ r e s o p : 
           p r o c   ( i n p u t _ l o p _ p t r ,   i n p u t _ r o p _ p t r ,   o p e r a t o r _ c o d e ,   r e s u l t a n t _ o p e r a n d _ p t r ,   r d m a x _ f l a g ,   r d m a x _ v a l u e , 
 	 p o s s i b l e _ o v f l _ f l a g ) ; 
 
 / * 
 
 F U N C T I O N 
 
 T h i s   p r o c e d u r e   h a s   s e v e r a l   f u n c t i o n s : 
 
 	 1 .   B u i l d s   a   d a t a   n a m e   t o k e n   ( t y p e   9 )     t h a t   d e s c r i b e s 
 	 t h e   t e m p o r a r y   t h a t   i s   t o   h o l d   t h e   r e s u l t   o f   a n 
 	 a r i t h m e t i c   c o m p u t a t i o n . 
 
 	 2 .   a l l o c a t e s   t e m p o r a r y   s p a c e   o n   t h e   r u n   t i m e   s t a c k 
 	 t o   h o l d   t h e   r e s u l t   o f   t h e   a r i t h m e t i c   c o m p u t a t i o n . 
 
 T h e   f o l l o w i n g   a s s u m p t i o n s   a r e   m a d e : 
 
 	 1 .   i n p u t _ l o p _ p t r   a n d   i n p u t _ r o p _ p t r   p o i n t   t o   t o k e n s 
 	 t h a t   a r e   e i t h e r   d a t a   n a m e   ( t y p e   9 )   t o k e n s ,   n u m e r i c   l i t e r a l 
 	 ( t y p e   2 )   t o k e n s ,   o r   t h e   r e s e r v e d   w o r d   t o k e n   ( t y p e   1 ) 
 	 f o r   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O . 
 
 	 2 .   I f   e i t h e r   o f   t h e   t w o   a b o v e   p o i n t e r s   d o   n o t   p o i n t 
 	 t o   d a t a   n a m e   ( t y p e   9 )   t o k e n s   t h e   l i t e r a l   o r 
 	 f i g u r a t i v e   c o n s t a n t   p o i n t e d   t o   i s   p o o l e d   a n d   a   d a t a   n a m e 
 	 t o k e n   i s   c r e a t e d . 
 
 * / 
 
 
 / *   I M P L E M E N T A T I O N   D E T A I L S     * / 
 
 / * 
 T h i s   p r o c e d u r e   b u i l d s   a   r e s u l t a n t   o p e r a n d   t h a t   m a i n t a i n s   t h e 
 m a x i m u m   s i g n i f i c a n c e   o f   t h e   r e s u l t   o f   a   c o m p u t a t i o n   i n v o l v i n g 
 t w o   o p e r a n d s .     T h e   m a x i m u m   s i g n i f i c a n c e   i s   d e f i n e d   b y   t h e   n u m b e r 
 o f   d e c i m a l   d i g i t s   a l l o w e d   t o h o l d   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n . 
 
 B y   l o o k i n g   a t   t h e   t w o   o p e r a n d s   a n d   t h e   o p e r a t i o n   t o   b e   p e r f o r m e d , 
 i t   i s   p o s s i b l e   t o   d e t e r m i n e   w h e t h e r   t h e   r e s u l t   w i l l   f i t   i n t o 
 a   s c a l e d   d e c i m a l   n u m b e r ,   w i t h o u t   l o s i n g   a n y   s i g n i f i c a n c e .     I f 
 i t   i s   n o t   p o s s i b l e   f o r   t h e   r e s u l t   t o   f i t   i n t o   a   s c a l e d   d e c i m a l , 
 t h e n   t h e   r e s u l t   m u s t   b e   s t o r e d   i n t o   a   d e c i m a l   f l o a t i n g   p o i n t 
 n u m b e r .     I n   t h e   d i s c u s s i o n   t h a t   f o l l o w s ,   t h e   f o l l o w i n g   d e f i n i t i o n s 
 w i l l   b e   u s e d : 
 
 D E F I N I T I O N S 
 
 M A X _ T E M P _ S I Z E 	 T h e   m a x i m u m   n u m b e r   o f   n o n - z e r o   d i g i t s   a l l o w e d 
 	 	 i n   a   t e m p o r a r y . 
 L O P 	 	 T h e   t o k e n   t h a t   d e s c r i b e s   t h e   l e f t   o p e r a n d 
 	 	 o f   a n   a r i t h m e t i c   c o m p u t a t i o n . 
 R O P 	 	 T h e   t o k e n   t h a t   d e s c r i b e s   t h e   r i g h t   o p e r a n d 
 	 	 o f   a n   a r i t h m e t i c   c o m p u t a t i o n . 
 L D 	 	 T h e   n u m b e r   o f   d i g i t s   t o   t h e   l e f t   o f   t h e 
 	 	 d e c i m a l   p o i n t   o f   a n   o p e r a n d   o f   a n   a r i t h m e t i c 
 	 	 c o m p u t a t i o n . 
 R D 	 	 T h e   n u m b e r   o f   d i g i t s   t o   t h e   r i g h t   o f   t h e 
 	 	 d e c i m a l   p o i n t   o f   a n   o p e r a n d   o f   a n   a r i t h m e t i c 
 	 	 c o m p u t a t i o n . 
 
 F o r   e x a m p l e ,   L O P ( L D )   i s     t h e   n u m b e r   o f   d i g i t s   t o   t h e   l e f t   o f 
 t h e   d e c i m a l   p o i n t   i n   t h e   t o k e n   t h a t   d e s c r i b e s   t h e   l e f t 
 o p e r a n d   o f   a n   a r i t h m e t i c   c o m p u t a t i o n ,   a n d   L O P ( R D )   i s   t h e   n u m b e r 
 o f   d i g i t s   t o   t h e   r i g h t   o f   t h e   d e c i m a l   p o i n t .     R O P ( L D )   a n d 
 R O P ( R D )   a r e   t h e   a n a l a g o u s   v a l u e s   f o r   t h e   t o k e n   t h a t   d e s c r i b e s 
 t h e   r i g h t   o p e r a n d . 
 
 T H E   A L G O R I T H M   U S E D 
 
 T h e   r e s u l t a n t   o p e r a n d   b u i l t   b y   t h i s   p r o c e d u r e   i s   b u i l t   a c c o r d i n g 
 t o   t h e   f o l l o w i n g   a l g o r i t h m . 
 
 1 .     I f   e i t h e r   L O P   o r   R O P   d e s c r i b e s   a   d e c i m a l   f l o a t i n g   p o i n t 
 o p e r a n d ,   t h e n   t h e   r e s u l t a n t   o p e r a n d   b u i l t   w i l l   b e   a   d e c i m a l 
 f l o a t i n g   p o i n t   o p e r a n d . 
 
 2 .     I f   t h e   a r i t h m e t i c   o p e r a t i o n   i s   d i v i d e   o r   e x p o n e n t i a t e , 
 t h e n   t h e   r e s u l t a n t   o p e r a n d   b u i l t   w i l l   b e   a   d e c i m a l   f l o a t i n g 
 p o i n t   o p e r a n d . 
 
 3 .     O t h e r w i s e ,   t e m p o r a r y   v a l l u e s   T L D   a n d   T R D ,   f o r   t h e   n u m b e r 
 o f   d i g i t s   t o   t h e   l e f t   o f   t h e   d e c i m a l   p o i n t   a n d   r i g h t   o f 
 t h e   d e c i m a l   p o i n t ,   r e s p e c t i v e l y ,   a r e   c a l c u l a t e d .     T h e   a l g o r i t h m 
 u s e d   f o r   t h e s e   c a l c u l a t i o n s   d e p e n d s   o n   t h e   t y p e   o f   a r i t h m e t e c 
 o p e r a t i o n   b e i n g   p e r f o r m e d   o n   t h e   t w o   o p e r a n d s . 
 
 
 	 a .   A D D   o r   S U B T R A C T 
 
 	     T L D   =   m a x ( L O P ( L D ) , R O P ( L D ) )   +   1 
 	     T R D   =   m a x ( L O P ( R D ) , R O P ( R D ) ) 
 
 	 b .   M U L T I P L Y 
 
 	     T L D   =   L O P ( L D )   +   R O P ( L D ) 
 	     T R D   =   L O P ( R D )   +   R O P ( R D ) 
 
 A f t e r   T L D   a n d   T R D   a r e   c a l c u l a t e d ,   t h e   s u m   o f   T L D   a n d   T R D 
 i s   c o m p a r e d   t o   M A X _ T E M P _ S I Z E .     I f   T L D   +   T R D   <   M A X _ T E M P _ S I Z E ,   
 t h e n   t h e   r e s u l t a n t   o p e r a n d   b u i l t   i s   a   s c a l e d   d e c i m a l ,   w i t h 
 p l a c e s _ l e f t   =   T L D ,   p l a c e s _ r i g h t   =   T R D . 
 
 O t h e r w i s e ,   t h e   r e s u l t n a t   o p e r a n d   i s   a   d e c i m a l   f l o a t i n g   p o i n t 
 o p e r a n d ,   w i t h   l e n g t h   =   M A X _ T E M P _ S I Z E   +   2 .   ( T h e   t w o   a d d i t i o n a l 
 b y t e s   a r e   n e c e s s a r y   t o   p r o v i d e   s p a c e   i n   t h e   n u m b e r   f o r   o n e   b y t e 
 o f   l e a d i n g   s i g n ,   a n d   o n e   b y t e   f o r   t r a i l i n g   e x p o n e n t . ) 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 i n p u t _ l o p _ p t r 	 p t r ; 
 d c l 	 i n p u t _ r o p _ p t r 	 p t r ; 
 d c l 	 o p e r a t o r _ c o d e 	 f i x e d   b i n ; 
 d c l 	 r e s u l t a n t _ o p e r a n d _ p t r 
 	 	 	 p t r ; 
 d c l 	 r d m a x _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 r d m a x _ v a l u e 	 f i x e d   b i n ; 
 d c l 	 p o s s i b l e _ o v f l _ f l a g 	 b i t   ( 1 ) ; 
 
 / * 
 
 i n p u t _ l o p _ p t r 	 P o i n t s   t o   t h e   t o k e n   f o r   t h e   l e f t   o p e r a n d 
 	 	 o f   t h e   e x p r e s s i o n   f o r   w h i c h   a   r e s u l t a n t   o p e r a n d   t o k e n 
 	 	 i s   t o   b e   b u i l t .     ( i n p u t ) 
 i n p u t _ r o p _ p t r 	 P o i n t s   t o   t h e   t o k e n   f o r   t h e   r i g h t   o p e r a n d 
 	 	 o f   t h e   a r i t h m e t i c   e x p r e s s i o n   f o r   w h i c h   a 
 	 	 r e s u l t a n t   o p e r a n d   t o k e n   i s   t o   b e   b u i l t .   ( i n p u t ) 
 o p e r a t o r _ c o d e 	 C o d e   t h a t   i d e n t i f i e s   t h e   b i n a r y   o p e r a t i o n 
 	 	 b e i n g   p e r f o r m e d   u s i n g   t h e   l e f t   a n d   r i g h t 
 	 	 o p e r a n d s .   ( i n p u t ) 
 
 	 	 T h i s   c o d e   c a n   b e   o n e   o f   t h e   f o l l o w i n g   v a l u e s : 
 
 	 	 c o d e 	 |   m e a n i n g 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 1 8 2 	 |   b i n a r y   p l u s 
 	 	 1 8 3 	 |   b i n a r y   m i n u s 
 	 	 1 8 4 	 |   m u l t i p l y 
 	 	 1 8 5 	 |   d i v i d e 
 	 	 1 8 6 	 |   e x p o n e n t i a t e 
 
 r e s u l t a n t _ o p e r a n d _ p t r 	 P o i n t s   t o   t h e   d a t a   n a m e   t o k e n 
 	 	 ( t y p e   9 )   t h a t   d e s c r i b e s   t h e   r e s u l t   o f   t h e 
 	 	 a r i t h m e t i c   o p e r a t i o n   o n   t h e   t w o   i n p u t 
 	 	 o p e r a n d s .     ( o u t p u t ) 
 r d m a x _ f l a g 	 A   o n e   b i t   f l a g   t h a t   i n d i c a t e s   w h e t h e r   a n 
 	 	 r d m a x _ v a l u e   i s   i n p u t   o n   t h i s   c a l l .     ( s e e 
 	 	 b e l o w   f o r   a   d e f i n i t i o n   o f   r d m a x _ v a l u e )   T h i s 
 	 	 f l a g   i s   s e t   t o   " 1 " b   i f   a n   r d m a x _ v a l u e   i s   i n p u t , 
 	 	 a n d   m e a n i n g f u l ,   e l s e   i t   i s   s e t   t o   " 0 " b . 
 	 	 ( i n p u t ) 
 r d m a x _ v a l u e 	 A   v a l u e   t h a t   s p e c i f i e s   t h e   m a x i m u m   n u m b e r 
 	 	 o f   d e c i m a l   d i g i t s   t o   b e   p r e s e r v e d   t o   t h e 
 	 	 r i g h t   o f   t h e   d e c i m a l   p o i n t ,   i f   p o s s i b l e .     T h i s 
 	 	 p a r a m e t e r   i s   p a s s e d   t o   t h i s   p r o c e d u r e   b y 
 	 	 c a l l e r s   w h o   a r e   e v a l u a t i n g   p a r t   o f   a n   e x p r e s s i o n 
 	 	 w h o s e   r e s u l t   w i l l   e v e n t u a l l y   b e   m o v e d   t o   a 
 	 	 r e c e i v i n g   f i e l d .     T h e   r d m a x _ v a l u e   i s   d e t e r m i n e d 
 	 	 b y   t h e   c a l l e r   b y   t a k i n g   t h e   l a r g e s t   n u m b e r   o f 
 	 	 r i g h t   d i g i t s   i n   a l l   o f   t h e   r e c e i v i n g   f i e l d s , 
 	 	 a n d   a d d i n g   o n e   t o   t h i s   v a l u e   i f   r o u n d i n g 
 	 	 w a s   s p e c i f i e d   f o r   t h a t   r e c e i v i n g   f i e l d . 
 	 	 ( i n p u t ) 
 p o s s i b l e _ o v f l _ f l a g 	 A   o n e   b i t   f l a g   t h a t   i s   s e t   t o   " 1 " b   o n   e x i t 
 	 	 f r o m   t h i s   p r o c e d u r e ,   i f   t h e   p r o c e s s   o f   b u i l d i n g 
 	 	 t h e   r e s u l t a n t   o p e r a n d   t o k e n   r e v e a l e d   a   p o s s i b l e 
 	 	 o v e r f l o w   o u t   o f   t h e   r e s u l t a n t   o p e r a n d 
 	 	 b y   t h e   e x e c u t i o n   o f   t h e   a r i t h m e t i c   c o m p u t a t i o n . 
 	 	 ( o u t p u t ) 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ n u m _ t o _ u d t s 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ d e c i m a l _ 9 b i t 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 
 d c l 	 i o a _ $ i o a _ s t r e a m 	 e x t   e n t r y   o p t i o n s   ( v a r i a b l e ) ; 
 d c l 	 p r i n t _ i m a g e 	 e x t   e n t r y   ( p t r ) ; 
 
 / *     D E C L A R A T I O N S   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   v a r i a b l e s   t h a t   c o n t a i n   v a l u e s   o f   t h e   p o s s i b l e   i n p u t   o p e r a t o r   c o d e s     * / 
 
 d c l 	 p l u s _ o p 	 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 2 ) ; 
 d c l 	 m i n u s _ o p 	 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 3 ) ; 
 d c l 	 m u l t i p l y _ o p 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 4 ) ; 
 d c l 	 d i v i d e _ o p 	 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 5 ) ; 
 d c l 	 e x p o n e n t i a t e _ o p 	 f i x e d   b i n   ( 1 5 )   i n t   s t a t i c   i n i t   ( 1 8 6 ) ; 
 
 d c l 	 c o d a s y l _ s i z e 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 d c l 	 m a x _ t e m p _ s i z e 	 f i x e d   b i n ; 
 d c l 	 w o r k _ p t r 	 	 p t r ; 
 d c l 	 p r e l i m _ l d 	 	 f i x e d   b i n ; 
 d c l 	 p r e l i m _ r d 	 	 f i x e d   b i n ; 
 d c l 	 t o t a l _ s i z e 	 f i x e d   b i n ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n ; 
 d c l 	 l o p _ f i x e d _ b i n 	 b i t   ( 1 ) ; 
 d c l 	 r o p _ f i x e d _ b i n 	 b i t   ( 1 ) ; 
 d c l 	 l o p _ o p c h 	 	 b i t   ( 1 ) ; 
 d c l 	 r o p _ o p c h 	 	 b i t   ( 1 ) ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ b u i l d _ r e s o p 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 
 
 / *     S E t   t h e   m a x i m u m   n u m b e r   o f   d e c i m a l   d i g i t s   t o   b e   a l l o w e d   f o r   a   t e m p o r a r y   o p e r a n d .     * / 
 
 / *     N O T E : 
 	 L a t e r ,   a   f i e l d   i n   f i x e d   c o m m o n   w i l l   b e   d e f i n e d   t o   c n t a i n   t h e   m a x i m u m 
 	 n u m b e r   o f   d i g i t s   t o   b e   a l l o w e d   f o r   a   t e m p o r a r y   o p e r a n d .     T h i s   f i e l d   w i l l 
 	 e i t h e r   c o n t a i n   t h e   C o d a s y l   v a l u e   ( d e f a u l t ? ? )   o r   a   v a l u e   s p e c i f i e d 
 	 b y   t h e   u s e r   i n   t h e   e n v i r o n m e n t   d i v i s i o n     * / 
 
 / *     F O R   N O W     . . . .     * / 
 
 	 m a x _ t e m p _ s i z e   =   f i x e d _ c o m m o n . d e f a u l t _ t e m p ; 
 	 i f   ( m a x _ t e m p _ s i z e   <   1 8 )   |   ( m a x _ t e m p _ s i z e   >   6 1 ) 
 	 t h e n   m a x _ t e m p _ s i z e   =   3 0 ; 
 
 	 l o p _ f i x e d _ b i n   =   " 0 " b ; 
 	 r o p _ f i x e d _ b i n   =   " 0 " b ; 
 	 l o p _ o p c h   =   " 0 " b ; 
 	 r o p _ o p c h   =   " 0 " b ; 
 
 
 / *     C h e c k   t o   s e e   i f   t h e   i n p u t   o p e r a n d   t o k e n s   a r e   d a t a   n a m e   t o k e n s ,   a n d   c o n v e r t   t h e m   i f   n e c e s s a r y     * / 
 
 	 i f   i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a   d a t a   n a m e   t o k e n     * / 
 
 	 	 c a l l   c o n v e r t _ t o _ d e c   ( i n p u t _ l o p _ p t r ,   w o r k _ p t r ) ; 
 	 	 i n p u t _ l o p _ p t r   =   w o r k _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a   d a t a   n a m e   t o k e n     * / 
 
 	 e l s e   i f   ( i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   |   i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 ) 
 	 t h e n   l o p _ f i x e d _ b i n   =   " 1 " b ; 
 	 e l s e   i f   ( i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . i t e m _ s i g n e d   &   i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 t h e n   l o p _ o p c h   =   " 1 " b ; 	 	 	 / *     L e f t   o p e r a n d   i s   o v e r p u n c h   s i g n   d a t a .     * / 
 
 	 i f   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e 
 	 t h e n   d o ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a   d a t a   n a m e   t o k e n     * / 
 
 	 	 c a l l   c o n v e r t _ t o _ d e c   ( i n p u t _ r o p _ p t r ,   w o r k _ p t r ) ; 
 	 	 i n p u t _ r o p _ p t r   =   w o r k _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a   d a t a   n a m e   t o k e n     * / 
 	 e l s e   i f   ( i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   |   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 ) 
 	 t h e n   r o p _ f i x e d _ b i n   =   " 1 " b ; 
 	 e l s e   i f   ( i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . i t e m _ s i g n e d   &   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 t h e n   r o p _ o p c h   =   " 1 " b ; 	 	 	 / *     R i g h t   o p e r a n d   o v e r p u n c h   s i g n   d a t a .     * / 
 
 
 	 i f   ( l o p _ f i x e d _ b i n   &   r o p _ f i x e d _ b i n ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   f i x e d   b i n a r y .     * / 
 
 / *     L A T E R ,   w e   m a y   d e v e l o p   a   f i x e d   b i n a r y   r e s u l t a n t   o p e r a n d .     F o r   n o w , 
 	 	 h o w e v e r ,   t h e   f i x e d   b i n a r y   d a t a   w i l l   b e   c o n v e r t e d   t o   d e c i m a l ,   a n d   a 
 	 	 d e c i m a l   r e s u l t a n t   o p e r a n d   w i l l   b e   d e v e l o p e d .     * / 
 
 	 	 w o r k _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ n u m _ t o _ u d t s   ( i n p u t _ l o p _ p t r ,   w o r k _ p t r ) ; 
 	 	 i n p u t _ l o p _ p t r   =   w o r k _ p t r ; 
 
 	 	 w o r k _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ n u m _ t o _ u d t s   ( i n p u t _ r o p _ p t r ,   w o r k _ p t r ) ; 
 	 	 i n p u t _ r o p _ p t r   =   w o r k _ p t r ; 
 	 	 l o p _ f i x e d _ b i n   =   " 0 " b ; 
 	 	 r o p _ f i x e d _ b i n   =   " 0 " b ; 
 	           e n d ; 	 	 	 	 	 / *     B o t h   o p e r a n d s   a r e   f i x e d   b i n a r y .     * / 
 
 	 i f   l o p _ f i x e d _ b i n   |   l o p _ o p c h 
 	 t h e n   d o ; 	 	 	 	 	 / *     T h e   l e f t   o p e r a n d   i s   f i x e d   b i n a r y   o r   o v e r p u n c h   s i g n .     * / 
 	 	 w o r k _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ n u m _ t o _ u d t s   ( i n p u t _ l o p _ p t r ,   w o r k _ p t r ) ; 
 	 	 i n p u t _ l o p _ p t r   =   w o r k _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     T h e   l e f t   o p e r a n d   i s   f i x e d   b i n a r y   o r   o p v e r p u c h   s i g n .     * / 
 
 	 i f   ( r o p _ f i x e d _ b i n   |   r o p _ o p c h ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     T h e   r i g h t   o p e r a n d   i s   f i x e d   b i n a r y   o r   o v e r p u n c h   s i g n     * / 
 	 	 w o r k _ p t r   =   n u l l   ( ) ; 
 	 	 c a l l   c o b o l _ n u m _ t o _ u d t s   ( i n p u t _ r o p _ p t r ,   w o r k _ p t r ) ; 
 	 	 i n p u t _ r o p _ p t r   =   w o r k _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     O n l y   t h e   r i g h t   o p e r a n d   i s   f i x e d   b i n a r y   o r   o v e r p u n c h   s i g n .     * / 
 
 / *     A t   t h i s   p o i n t ,   b o t h   i n p u t _ l o p _ p t r   a n d   i n p u t _ r o p _ p t r   p o i n t   t o   d a t a   n a m e   t o k e n s , 
 	 a n d   b o t h   p o i n t e r s   m a y   d i f f e r   f r o m   t h e i r   v a l u e s   o n   e n t r y   t o   t h i s   p r o c e d u r e     * / 
 
 	 i f   ( i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b   / *     L e f t   o p e r a n d   t o k e n   i s   f l o a t i n g   d e c i m a l     * / 
 	           |   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b   / *     R i g h t   o p e r a n d   t o k e n   i s   f l o a t i n g   d e c i m a l     * / 
 	           |   o p e r a t o r _ c o d e   =   d i v i d e _ o p   / *     O p e r a t i o n   i s   d i v i s i o n     * / 
 	           |   o p e r a t o r _ c o d e   =   e x p o n e n t i a t e _ o p   / *     O p e r a t i o n   i s   e x p o n e n t i a t i o n .     * / ) 
 	 t h e n   c a l l   f l o a t _ r e s u l t   ( r e s u l t a n t _ o p e r a n d _ p t r ,   m a x _ t e m p _ s i z e ) ; 
 	 	 	 	 	 	 / *     R e s u l t   i s   a   f l o a t i n g   t e m p     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     D e t e r m i n e   w h e t h e r   t h e   r e s u l t   w i l l   f i t   i n t o   a   f i x e d   d e c i m a l   t e m p o r a r y .     * / 
 
 
 / *     C a l c u l a t e   t h e   p r e l i m i n a r y   l e f t   a n d   r i g h t   d i g i t s   f o r   t h e   t e m p o r a r y   t o   b e   c r e a t e d .     * / 
 
 	 	 i f   ( o p e r a t o r _ c o d e   =   p l u s _ o p   |   o p e r a t o r _ c o d e   =   m i n u s _ o p ) 
 	 	 t h e n   d o ; 	 	 	 	 / *     P l u s   o r   m i n u s   o p e r a t o r     * / 
 
 	 	 	 i f   ( i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t   >   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ) 
 	 	 	 t h e n   p r e l i m _ l d   =   i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ; 
 	 	 	 	 	 	 / *   l e f t   o p   p l a c e s   g r e a t e r     * / 
 	 	 	 e l s e   p r e l i m _ l d   =   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ; 
 	 	 	 	 	 	 / *     r i g h t   o p   p l a c e s   g r e a t e r     * / 
 
 	 	 	 p r e l i m _ l d   =   p r e l i m _ l d   +   1 ; 	 / *     T h i s   i s   m a x i m u m   i n t e g e r   p a r t   o f   t h e   r e s u l t     * / 
 
 	 	 	 i f   ( i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t   >   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t ) 
 	 	 	 t h e n   p r e l i m _ r d   =   i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 	 	 	 	 	 	 / *     l e f t   o f   r d   g r e a t e r   * / 
 	 	 	 e l s e   p r e l i m _ r d   =   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 	 	 	 	 	 	 / *     r i g h t   o p   r d   g r e a t e r     * / 
 
 	 	           e n d ; 	 	 	 	 / *     P l u s   o r   m i n u s   o p e r a t o r     * / 
 
 	 	 e l s e   i f   o p e r a t o r _ c o d e   =   m u l t i p l y _ o p 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u l t i p l y   o p e r a t o r     * / 
 
 / *     C a l c u l a t e   t h e   n u m b e r   o f   l e f t   d i g i t s   o f   t h e   t e m p o r a r y     * / 
 	 	 	 p r e l i m _ l d   =   i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t   +   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ; 
 
 / *     C a l c u l a t e   t h e   n u m b e r   o f   r i g h t   d i g i t s   o f   t h e   t e m p o r a r y     * / 
 	 	 	 p r e l i m _ r d   = 
 	 	 	           i n p u t _ l o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t   +   i n p u t _ r o p _ p t r   - >   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 
 	 	           e n d ; 	 	 	 	 / *     M u l t i p l y   o p e r a t o r     * / 
 
 
 / *     A t   t h i s   p o i n t ,   w e   h a v e   p r e l i m i n a r y   v a l u e s   f o r   l e f t   a n d   r i g h t   d i g i t s .     N o w   w e   m u s t 
 	 d e t e r m i n e   w h e t h e r   t h e   t o t a l   n u m b e r   o f   d i g i t s   c a n   b e   c o n t a i n e d   i n   t h e   m a x i m u m   n u m b e r   a l l o w e d 
 	 f o r   a   t e m p o r a r y ,   a n d   p e r f o r m   t r u n c a t i o n   ( o n   t h e   r i g h t )   i f   n e c e s s a r y .     * / 
 
 
 	 	 i f   p r e l i m _ l d   +   p r e l i m _ r d   >   m a x _ t e m p _ s i z e 
 	 	 t h e n   c a l l   f l o a t _ r e s u l t   ( r e s u l t a n t _ o p e r a n d _ p t r ,   m a x _ t e m p _ s i z e ) ; 
 	 	 	 	 	 	 / *     L e f t   a n d   r i g h t   d i g i t s   t o o   l a r g e   f o r 
 	 	 	 a   f i x e d   d e c i m a l   t e m p o r a r y .     * / 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     L e f t   a n d   r i g h t   d i g i t s   w i l l   f i t   i n t o   a   f i x e d   d e c i m a l ,   m a k e   a   f i x e d   d e c i m a l   t e m p .     * / 
 	 	 	 t o t a l _ s i z e   =   p r e l i m _ l d   +   p r e l i m _ r d ; 
 	 	 	 	 	 	 / *     T o t a l   n u m b e r   o f   d i g i t s   r e q u i r e d   t o   h o l d   t h e   m a x i m u m 
 	 	 v a l u e   t e m p o r a r y   r e s u l t     * / 
 
 / *     A l l o c a t e   s p a c e   i n   t h e   t e m p o r a r y   t o k e n   a r e a   f o r   t h e   d a t a   n a m e   t o k e n   o f   t h e   t e m p r o a r y     * / 
 
 	 	 	 c a l l   g e t _ t e m p _ t o k e n   ( w o r k _ p t r ,   1 1 2 ) ; 
 
 / *     A l l o c a t e   s p a c e   i n   t h e   r u n   t i m e   s t a c k   t o   h o l d   t h e   t e m p o r a r y   r e s u l t     * / 
 
 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( t o t a l _ s i z e   +   1 ,   0 ,   r e t _ o f f s e t ) ; 
 	 	 	 	 	 	 / *     A l l o c a t e   o n e   a d d i t i o n e a l   b y t e   f o r   s i g n     * / 
 
 / *     B u i l d   t h e   d a t a   n a m e   t o k e n   i n   t h e   t e m p   t o k e n   a r e a     * / 
 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ d e c i m a l _ 9 b i t   ( w o r k _ p t r ,   1 0 0 0   / *   s t a c k   * / ,   r e t _ o f f s e t ,   p r e l i m _ l d , 
 	 	 	           p r e l i m _ r d ) ; 
 
 	 	 	 r e s u l t a n t _ o p e r a n d _ p t r   =   w o r k _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     L e f t   a n d   r i g h t   d i g i t s   w i l l   f i t   i n t o   a   f i x e d   d e c i m a l ,   m a k e   a   f i x e d   d e c i m a l   t e m p .     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     D e t e r m i n e   w h e t h e r   t h e   r e s u l t   w i l l   f i t   i n t o   a   f i x e d   d e c i m a l   t e m p o r a r y .     * / 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   E X E C U T A B L E   S T A T E M E N T S 	 	 * / 
 / * 	 c o b o l _ b u i l d _ r e s o p     	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
  
 g e t _ t e m p _ t o k e n : 
           p r o c   ( r e t _ t o k e n _ p t r ,   t o k e n _ s i z e ) ; 
 
 / * 
 T h i s   i n t e r n a l   p r o c e d u r e   g e t s   s p a c e   f o r   a   t e m p o r a r y   t o k e n 
 i n   t h e   t e m p o r a r y   t o k e n   a r e a . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 r e t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 t o k e n _ s i z e 	 f i x e d   b i n ; 
 
 / * 
 r e t _ t o k e n _ p t r 	 P o i n t s   t o   t h e   t e m p o r a r y   t o k e n   i n   t h e   t e m p o r a r y 
 	 	 t o k e n   a r e a   " g o t t e n "   b y   t h i s   p r o c e d u r e .   ( o u t p u t ) 
 t o k e n _ s i z e 	 s i z e ,   i n   b y t e s ,   o f   t h e   t e m p o r a r y   t o k e n   t o 
 	 	 b e   " g o t t e n "   i n   t h e   t e m p o r a r y   t o k e n   a r e a .   ( i n p u t ) 
 
 * / 
 / * 
 W h e n   t h i s   p r o c e d u r e   i s   e n t e r e d ,   t h e   f i e l d   c o b o l _ $ t e m p _ t o k e n _ p t r 
 p o i n t s   t o   t h e   n e x t   a v a u l a b l e   w o r d   i n   t h e   t e m p o r a r y   t o k e n   a r e a . 
 T h e   v a l u e   o f   t h i s   p o i n t e r   i s   s e t   i n t o   t h e   o u t p u t   p a r a m e t e r 
 t e m p _ t o k e n _ p t r .     T h e n   t h e   v a l u e   i n   t h e   i n p u t   p a r a m e t e r 
 t o k e n _ s i z e   i s   u s e d   t o   c a l c u l a t e   t h e   n e x t   a v a i l a b l e   W O R D   i n 
 t h e   t e m p o r a r y   t o k e n   a r e a ,   a n d   c o b o l _ $ t e m p _ t o k e n _ p t r   i s   u p d a t e d 
 t o   p o i n t   t o   t h i s   n e x t   a v a i l a b l e   w o r d . 
 * / 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 g e t _ t e m p _ t o k e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 r e t _ t o k e n _ p t r   =   c o b o l _ $ t e m p _ t o k e n _ p t r ; 
 
 	 c o b o l _ $ t e m p _ t o k e n _ p t r   =   a d d r e l   ( c o b o l _ $ t e m p _ t o k e n _ p t r ,   d i v i d e   ( t o k e n _ s i z e   +   3 ,   4 ,   1 7 ,   0 ) ) ; 
 
           e n d   g e t _ t e m p _ t o k e n ; 
  
 / * { * / 
 c o n v e r t _ t o _ d e c : 
           p r o c   ( i n p u t _ t o k e n _ p t r ,   o u t p u t _ t o k e n _ p t r ) ; 
 
 / * 
 T h i s   i n t e r n a l   p r o c e d u r e   c o n v e r t s   a   n u m e r i c   l i t e r a l   t o k e n   ( t y p e   2 ) 
 o r   t h e   f i g u r a t i v e   c o n s t a n t   Z E R O     t o k e n   ( t y p e   1 )   t o   a   d a t a   n a m e 
 ( t y p e   9 )   t o k e n .     I t   d o e s   t h i s   b y : 
 	 1 .   p o o l i n g   t h e   c o n s t a n t   i n   t h e   c o n s t a n t   s e c t i o n 
 	 2 .   c r e a t i n g   a   d a t a   n a m e   t o k e n   ( t y p e   9 )   f o r   t h e   p o o l e d 
 	 c o n s t a n t . 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 i n p u t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 o u t p u t _ t o k e n _ p t r 	 p t r ; 
 
 / * 
 i n p u t _ t o k e n _ p t r 	 P o i n t s   t o   t h e   i n p u t   t o k e n   t o   b e   c o n v e r t e d   t o   a 
 	 	 d a t a   n a m e   t o k e n .   ( i n p u t ) 
 o u t p u t _ t o k e n _ p t r 	 P o i n t s   t o   t h e   d a t a   n a m e   t o k e n   b u i l t   b y   t h i s 
 	 	 p r o c e d u r e .     T h i s   d a t a   n a m e   t o k e n   i s   c r e a t e d   i n 
 	 	 t h e   t e m p   t o k e n   a r e a .     ( o u t p u t ) 
 
 * / 
 
 / *       D E C L A R A T I O N S   O F   B U I L T I N   F U N C T I O N S     * / 
 
 d c l 	 a d d r 	 	 b u i l t i n ; 
 d c l 	 a d d r e l 	 	 b u i l t i n ; 
 d c l 	 d i v i d e 	 	 b u i l t i n ; 
 d c l 	 n u l l 	 	 b u i l t i n ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     D e f i n i t i o n   o f   a   n u m e r i c   l i t e r a l   z e r o     * / 
 
 d c l 	 1   n u m _ l i t _ z e r o 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 7 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 )   i n i t   ( " 0 " b ) , 
 	     2   s u b s c r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t _ v a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 d c l 	 l i t _ p t r 	 	 p t r ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	   c o n v e r t _ t o _ d e c 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 	 i f   i n p u t _ t o k e n _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 t h e n   l i t _ p t r   =   a d d r   ( n u m _ l i t _ z e r o ) ; 	 	 / *     A S S U M E   F I G U R A T I V E   C O N S T A N T   Z E R O     * / 
 	 e l s e   l i t _ p t r   =   i n p u t _ t o k e n _ p t r ; 	 	 / *     A S S U M E   A   N U M E R I C   L I T E R A L   T O K E N     * / 
 
 / *     A l l o c a t e   s p a c e   i n   t h e   t e m p o r a r y   t o k e n   a r e a   f o r   t h e   d a t a   n a m e   t o k e n   t o   b e   b u i l t     * / 
 
 	 c a l l   g e t _ t e m p _ t o k e n   ( o u t p u t _ t o k e n _ p t r ,   1 1 2 ) ; 
 
 / *     M a k e   a   d a t a   n a m e   t o k e n   f r o m   t h e   n u m e r i c   l i t e r a l     * / 
 
 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( o u t p u t _ t o k e n _ p t r ,   l i t _ p t r ) ; 
 
           e n d   c o n v e r t _ t o _ d e c ; 
  
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   I N T E R N A L   P R O C E D U R E 	 	 * / 
 / * 	 f l o a t _ r e s u l t 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 f l o a t _ r e s u l t : 
           p r o c   ( r e s u l t _ p t r ,   f l o a t _ s i z e ) ; 
 
 
 / * 
 T h i s   i n t e r n a l   p r o c e d u r e   a l l o c a t e s   s p a c e   i n   t h e   r u n - t i m e   s t a c k   f o r 
 a   f l o a t i n g   d e c i m a l   t e m p o r a r y ,   a n d   b u i l d s   a   d a t a   n a m e 
 t e m p o r a r y   t o k e n   ( t y p e   9 )   t h a t   d e s c r i b e s   t h e   t e m p o r a r y   i n   t h e 
 s t a c k . 
 * / 
 
 / *   D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 r e s u l t _ p t r 	 p t r ; 
 d c l 	 f l o a t _ s i z e 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 r e s u l t _ p t r 	 P o i n t s   t o   t h e   f l o a t i n g   d e c i m a l   t e m p o r a r y 
 	 	 t o k e n   b u i l t   b y   t h i s   p r o c e d u r e .   ( o u t p u t ) 
 f l o a t _ s i z e 	 C o n t a i n s   t h e   n u m b e r   o f   d e c i m a l   d i g i t s 
 	 	 t o   b e   c o n t a i n e d   i n   t h e   f l o a t i n g   d e c i m a l 
 	 	 t e m p o r a r y   a l l o c a t e d   i n   t h e   r u n - t i m e   s t a c k 
 	 	 b y   t h i s   p r o c e d u r e .     ( i n p u t ) 
 
 * / 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n ; 
 d c l 	 d b u f f 	 	 ( 1 : 2 8 )   f i x e d   b i n   b a s e d ; 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * : / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 I N T E R N a L   P R O C E D U R E   f l o a t _ r e s u l t 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 / *     A l l o c a t e   s p a c e   i n   t h e   t e m p o r a r y   t o k e n   a r e a   f o r   t h e   f l o a t i n g   d e c i m a l   t e m p o r a r y   t o k e n .     * / 
 	 c a l l   g e t _ t e m p _ t o k e n   ( d n _ p t r ,   1 1 2 ) ; 
 
 / *     A l l o c a t e   s p a c e   o n   t h e   r u n - t i m e   s t a c k   f o r   t h e   t e m p o r a r y .     * / 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( f l o a t _ s i z e   +   2   / *     a d d   2   f o r   s i g n   b y t e   +   e x p o n e n t   b y t e     * / ,   0 ,   r e t _ o f f s e t ) ; 
 
 / *     B u i l d   t h e   f l o a t i n g   d e c i m a l   t e m p o r a r y   t o k e n .     * / 
 
 
 / *     S e t   z e r o e s   i n t o   t h e   d a t a   n a m e   t o k e n   i m a g e     * / 
 
 	 d o   i x   =   1   t o   2 8 ; 
 	           d n _ p t r   - >   d b u f f   ( i x )   =   0 ; 
 	 e n d ; 
 
 / *     T y p e   c o d e     * / 
 	 d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e ; 
 
 / *     I t e m   l e n g t h     * / 
 	 d a t a _ n a m e . i t e m _ l e n g t h   =   f l o a t _ s i z e   +   2 ; 
 
 / *     S e g m e n t   n u m b e r     * / 
 	 d a t a _ n a m e . s e g _ n u m   =   1 0 0 0 ; 	 	 	 / *     S T A C K     * / 
 
 / *     O f f s e t     * / 
 	 d a t a _ n a m e . o f f s e t   =   r e t _ o f f s e t ; 	 	 / *     f r o m   c o b o l _ a l l o c $ s t a c k     * / 
 
 / *     S i g n   t y p e   ( T O   S P E C I A L   F L O A T I N G   D E C I M A L   C O D E ! ! ! )     * / 
 	 d a t a _ n a m e . s i g n _ t y p e   =   " 1 1 1 " b ; 
 
 / *     n u m e r i c   d e s c r i p t i o n   b i t     * / 
 	 d a t a _ n a m e . n u m e r i c   =   " 1 " b ; 
 
 
 	 r e s u l t _ p t r   =   d n _ p t r ; 
 
           e n d   f l o a t _ r e s u l t ; 
  
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ e x t _ ; 
 % i n c l u d e   c o b o l _ f i x e d _ c o m m o n ; 
  
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
  
 % i n c l u d e   c o b o l _ ; 
  
 % i n c l u d e   c o b o l _ m c d b ; 
  
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 E N D   O F   P R O C E D U R E 	 	 	 * / 
 / * 	 c o b o l _ b u i l d _ r e s o p 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
           e n d   c o b o l _ b u i l d _ r e s o p ; 
        
 
 
  
 	 	         c o b o l _ c a l l _ g e n . p l 1                             0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3             1 3 1 7 6 0     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c a l l _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 4 / 0 1 / 8 1   b y   F C H ,   e n t r i e s   n o t   m a d e   i n   f i x u p   t a b l e   f o r   c a l l   d a t a - n a m e ,   [ 4 . 4 - 1 ] ,   T R 9 2 4 4 ( B U G 4 7 3 )   * / 
 / *   M o d i f i e d   o n   0 3 / 2 8 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   f i x   r e l o c   b i t s   o n   c a l l   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c a l l _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ) ; 
 
 d c l 	 i n s t _ s e q _ 1 _ 2 	 ( 0 : 7 )   b i t   ( 3 6 ) ; 
 
 / *     A u t o m a t i c   d a t a 	 	 	 	 	       * / 
 
 d e c l a r e 	 o p r n d _ l n 	 	 ( 1 2 7 )   f i x e d   b i n   a l i g n e d , 	 / *   T a b l e   o f   o p e r a n d   l e n g t h s . 	       * / 
 	 v a r _ s t a c k 	 	 ( 1 2 7 )   f i x e d   b i n   a l i g n e d , 
 	 o p e r a n d s 	 	 f i x e d   b i n , 	 	 / *   N o   o f   o p e r a n d s   i n   U S I N G   p h r a s e .   	       * / 
 	 o p r n d _ p t r 	 	 p t r , 	 	 	 / *   P o i n t e r   t o   c u r r e n t   o p e r a n d   t o k e n .       * / 
 	 n e w _ o p r n d _ p t r 	 p t r , 
 	 l i n k _ f l a g 	 	 f i x e d   b i n , 	 	 / *   0   i f   n o   o p e r a n d s   i n   C O B O L   L i n k a g e       * / 
 	 	 	 	 	 	 / *   S e c t i o n ;   1 ,   o t h e r w i s e . 	 	       * / 
 	 d e s c _ c o d e 	 	 ( 1 2 8 )   b i t   ( 3 6 ) , 	 	 / *   S t o r a g e   s p a c e   f o r   c o d e   g e n e r a t e d   t o   * / 
 	 	 	 	 	 	 / *   p u t   d e s c r i p t o r   p t r s   i n   a r g   l i s t . 	       * / 
 	 s t a c k o f f 	 	 f i x e d   b i n , 	 	 / *   W o r d   o f f s e t   i n   s t a c k . 	 	       * / 
 	 t e m p 	 	 f i x e d   b i n , 	 	 / *   T e m p o r a r y   u s e d   i n   u n s p e c   f u n c t i o n .     * / 
 	 i n d e x 	 	 f i x e d   b i n , 	 	 / *   D o   l o o p   i n d e x . 	 	       * / 
 	 r e t r y _ t a g 	 	 f i x e d   b i n , 
 	 j n d e x 	 	 f i x e d   b i n , 	 	 / *   D o   l o o p   i n d e x . 	 	       * / 
 	 n o _ w d s 	 	 f i x e d   b i n , 	 	 / *   N o   o f   w d s   o f   d e s c _ c o d e   t o   e m i t . 	       * / 
 	 o f f s e t 	 	 f i x e d   b i n , 	 	 / *   W o r d   o f f s e t   o f   e n t r y   p o i n t   l i n k . 	       * / 
 	 s t a c k _ w d s 	 	 f i x e d   b i n , 	 	 / *   N o   o f   w o r d s   r e q u i r e d   i n   t h e   s t a c k .     * / 
 	 d n _ p t r 	 	 p t r , 	 	 	 / *   P t r   t o   t y p e   9   t o k e n . 	 	       * / 
 	 n u m _ w d s 	 	 f i x e d   b i n , 	 	 / *   N o   o f   w o r d s   o f   c o d e   t o   b e   e m i t t e d .     * / 
 	 f s t _ i n s t _ n o 	 f i x e d   b i n , 	 	 / *   O f f s e t   o f   f i r s t   i n s t   g e n e r a t e d   b y       * / 
 	 	 	 	 	 	 / *   c o b o l _ c a l l _ g e n . 	 	 	       * / 
 	 d e s c _ o f f 	 	 b i t   ( 3 6 ) , 	 	 	 / *   A r g u m e n t   d e s c r i p t o r   o f f s e t . 	       * / 
 	 p r e c _ l e n 	 	 f i x e d   b i n , 
 	 t z e _ l o c 	 	 f i x e d   b i n ; 	 	 / *   L o c a t i o n   i n   T e x t   o f   t z e   i n s t . 	       * / 
 
 / * } * / 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 	 	 	 	 	 	 / *     C o m m o n   F u n c t i o n s 	 	 	 	       * / 
 	 	 	 	 	 	 / *     D e t e r m i n e   n u m b e r   o f   U S I N G   o p e r a n d s ,   i f   a n y ,   a n d   w o r d s   o f       * / 
 	 	 	 	 	 	 / *     s t a c k   r e q u i r e d   f o r   p a r a m e t e r   l i s t . 	 	 	       * / 
 	 r e t r y _ t a g   =   c o b o l _ $ n e x t _ t a g ; 	 	 	 / *   5 / 2 7 / 7 6   * / 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( r e t r y _ t a g ) ; 
 
 	 i f   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n )   - >   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   d o ; 
 	 	 o p e r a n d s   =   0 ; 
 	 	 s t a c k _ w d s   =   0 ; 
 	           e n d ; 
 
 	 e l s e   d o ; 
 	 	 o p e r a n d s   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n )   - >   e n d _ s t m t . e ; 
 	 	 s t a c k _ w d s   =   4   *   o p e r a n d s   +   2 ; 
 	           e n d ; 
 
 	 i f   o p e r a n d s   >   1 2 7 
 	 t h e n   c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l ,   a d d r   ( o p r n d _ o v f l ) ) ; 
 
 
 / *   R e s e r v e   p o i n t e r   r e g i s t e r s   2   a n d   4   a n d   i n i t i a l i z e   l i n k _ f l a g .   * / 
 
 	 l i n k _ f l a g   =   0 ; 
 
 / *     D e t e r m i n e   t y p e   o f   C A L L   a n d   t r a n s f e r   t o   a p p r o p r i a t e   s e c t i o n   * / 
 / *     o f   p r o c e d u r e   f o r   p r o c e s s i n g . 	 	 	       * / 
 
 	 i f   i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   a l p h a n u m _ l i t . t y p e   =   3 
 	 t h e n   g o t o   c a l l _ l i t ; 
 
 	 e l s e   g o t o   c a l l _ i d ; 
 
 / * 	 * 	 * 	 * 	 * 	 * 	 *     * / 
 
 c a l l _ l i t : 
 	 a l i t _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 2 ) ; 
 
 	 c a l l   c o b o l _ m a k e _ l i n k $ t y p e _ 4   ( o f f s e t ,   a l i t _ p t r   - >   a l p h a n u m _ l i t . s t r i n g ) ; 
 
 	 i f   o p e r a n d s   =   0 
 	 t h e n   d o ; 
 
 	 	 i n s t _ s e q _ 3 b   ( 5 )   =   " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 b   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( o f f s e t ) ,   2 2 ,   1 5 ) ; 
 
 	 	 i f   f i x e d _ c o m m o n . o p t i o n s . p r o f i l e 
 	 	 t h e n   d o ; 
 
 	 	 	 f i x u p _ d i r e c t i v e . l o c a t i o n . o f f s e t   =   c o b o l _ $ t e x t _ w d _ o f f   +   2 ; 
 
 	 	 	 c a l l   c o b o l _ m a k e _ f i x u p   ( a d d r   ( f i x u p _ d i r e c t i v e ) ) ; 
 
 	 	           e n d ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 b ) ,   a d d r   ( i n s t _ s e q _ 3 r e l ) ,   4 ) ; 
 
 	           e n d ; 
 
 	 e l s e   d o ; 
 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 4   *   s t a c k _ w d s ,   2 ,   s t a c k o f f ) ; 
 
 	 	 c a l l   m a k e _ a r g _ l i s t ; 	 	 	 / *   0 7 - 1 5 - 7 7   * / 
 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 a   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t a c k o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 a   ( 3 ) ,   1 ,   7 )   =   s u b s t r   ( u n s p e c   ( o p e r a n d s ) ,   3 0 ,   7 ) ; 
 	 	 i n s t _ s e q _ 3 a   ( 5 )   =   " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 a   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( o f f s e t ) ,   2 2 ,   1 5 ) ; 
 
 	 	 i f   f i x e d _ c o m m o n . o p t i o n s . p r o f i l e 
 	 	 t h e n   d o ; 
 
 	 	 	 f i x u p _ d i r e c t i v e . l o c a t i o n . o f f s e t   =   c o b o l _ $ t e x t _ w d _ o f f   +   2 ; 
 	 	 	 c a l l   c o b o l _ m a k e _ f i x u p   ( a d d r   ( f i x u p _ d i r e c t i v e ) ) ; 
 
 	 	           e n d ; 
 	 	 i f   f i x e d _ c o m m o n . d e s c r i p t o r   ^ =   " 0 0 " b 
 	 	 t h e n   c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 a ) ,   a d d r   ( i n s t _ s e q _ 3 r e l ) ,   4 ) ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 e l s e   d o ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 a   ( 1 ) ) ,   a d d r   ( i n s t _ s e q _ 3 r e l   ( 1 ) ) ,   3 ) ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 b   ( 7 ) ) ,   n u l l ,   1 ) ; 
 
 	 	           e n d ; 
 
 	           e n d ; 
 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 0 ) ; 
 	 r e t u r n ; 
 
 c a l l _ i d : 
 	 s t a c k _ w d s   =   s t a c k _ w d s   +   2 ; 
 
 	 i f   s t a c k _ w d s   <   3 0 
 	 t h e n   s t a c k _ w d s   =   3 0 ; 
 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 4   *   s t a c k _ w d s ,   2 ,   s t a c k o f f ) ; 
 
 	 i f   s t a c k o f f   ^ =   6 8 
 	 t h e n   d o ; 
 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 9 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t a c k o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   2 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 3 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 1   ( 5 )   =   i n s t _ s e q _ 1 _ 1   ( 3 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   1 0 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 7 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   1 6 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 1 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   1 8 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 1 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   2 0 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 1 9 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   2 6 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 2 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   2 8 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 1   ( 2 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   5 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 7 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 1 1 )   =   i n s t _ s e q _ 1 _ 3   ( 7 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 1 7 )   =   i n s t _ s e q _ 1 _ 3   ( 7 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   6 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 1 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 3 3 )   =   i n s t _ s e q _ 1 _ 3   ( 1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 4 7 )   =   i n s t _ s e q _ 1 _ 3   ( 1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 4 9 )   =   i n s t _ s e q _ 1 _ 3   ( 1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   7 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 3 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 3 7 )   =   i n s t _ s e q _ 1 _ 3   ( 3 1 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   8 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 5 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   1 4 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 2 3 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 4 1 )   =   i n s t _ s e q _ 1 _ 3   ( 2 3 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   2 2 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 3 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 5 1 )   =   i n s t _ s e q _ 1 _ 3   ( 3 5 ) ; 
 	 	 t e m p   =   s t a c k o f f   +   2 4 ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 5 3 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	           e n d ; 
 
 
 	 c a l l   c o b o l _ a r g _ d e s c r i p t o r   ( " 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   d e s c _ o f f ,   t e m p ) ; 
 
 	 t e m p   =   b i n a r y   ( s u b s t r   ( d e s c _ o f f ,   1 ,   1 8 ) ,   1 7 )   -   8 ; 
 	 i n s t _ s e q _ 1 _ 1   ( 1 7 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 c a l l   c o b o l _ a r g _ d e s c r i p t o r   ( " 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 " b ,   d e s c _ o f f ,   t e m p ) ; 
 
 	 t e m p   =   b i n a r y   ( s u b s t r   ( d e s c _ o f f ,   1 ,   1 8 ) ,   1 7 )   -   1 1 ; 
 	 i n s t _ s e q _ 1 _ 1   ( 2 3 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 c a l l   c o b o l _ p o o l   ( "ÿÿ   #        " ,   2 ,   o f f s e t ) ; 
 
 	 f s t _ i n s t _ n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 	 t e m p   =   - ( o f f s e t   +   f s t _ i n s t _ n o ) ; 
 	 i n s t _ s e q _ 1 _ 1   ( 1 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 1 _ 1 ) ,   n u l l ,   1 3 ) ; 
 
 	 i n p u t _ s t r u c . t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 2 ) ; 
 
 	 c a l l   c o b o l _ a d d r   ( a d d r   ( i n p u t _ s t r u c ) ,   a d d r   ( i n s t _ s e q _ 1 _ 2 ) ,   n u l l ) ; 
 
 	 n u m _ w d s   =   1 ; 
 
 	 i f   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 0 ) ,   3 3 ,   4 )   ^ =   " 0 0 0 0 " b 
 	 t h e n   d o ; 
 
 	 	 n u m _ w d s   =   n u m _ w d s   +   1 ; 
 	 	 i n s t _ s e q _ 1 _ 2   ( n u m _ w d s )   =   " 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( n u m _ w d s ) ,   3 3 ,   4 )   =   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 0 ) ,   3 3 ,   4 ) ; 
 
 	           e n d ; 
 
 	 i f   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 1 ) ,   1 9 ,   2 )   ^ =   " 0 0 " b 
 	 t h e n   d o ; 
 
 	 	 n u m _ w d s   =   n u m _ w d s   +   1 ; 
 	 	 i n s t _ s e q _ 1 _ 2   ( n u m _ w d s )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( n u m _ w d s ) ,   1 7 ,   2 )   =   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 1 ) ,   1 9 ,   2 ) ; 
 	 	 n u m _ w d s   =   n u m _ w d s   +   1 ; 
 	 	 i n s t _ s e q _ 1 _ 2   ( n u m _ w d s )   =   " 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 1 " b ; 
 
 	           e n d ; 
 
 	 n u m _ w d s   =   n u m _ w d s   +   1 ; 
 	 i n s t _ s e q _ 1 _ 2   ( n u m _ w d s )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 t e m p   =   s t a c k o f f   +   1 2 ; 
 	 s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( n u m _ w d s ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	 i f   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 0 ) ,   3 1 ,   1 )   =   " 0 " b 
 	 t h e n   d o ; 
 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 2 ) ,   1 3 ,   1 )   =   " 0 " b ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 2 7 )   =   s u b s t r   ( u n s p e c   ( i n _ t o k e n . t o k e n _ p t r   ( 2 )   - >   d a t a _ n a m e . i t e m _ l e n g t h ) ,   1 9 ,   1 8 ) ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 4 3 )   =   i n s t _ s e q _ 1 _ 3   ( 2 7 ) ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 4 ) ,   7 ,   1 2 )   =   s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 2 7 ) ,   7 ,   1 2 ) ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 2 8 ) ,   1 0 ,   9 )   =   " 0 0 0 0 0 0 1 1 1 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 4 4 ) ,   1 0 ,   9 )   =   " 0 0 0 0 0 0 1 1 1 " b ; 
 
 	           e n d ; 
 
 	 e l s e   d o ; 
 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 2 ) ,   1 3 ,   1 )   =   " 1 " b ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 2 7 )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 " b ; 
 	 	 i n s t _ s e q _ 1 _ 3   ( 4 3 )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 4 ) ,   7 ,   1 2 )   =   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 1 ) ,   2 5 ,   1 2 ) ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 2 8 ) ,   1 0 ,   9 )   =   " 0 0 1 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 4 4 ) ,   1 0 ,   9 )   =   " 0 0 1 0 0 0 0 0 0 " b ; 
 	 	 n u m _ w d s   =   n u m _ w d s   +   1 ; 
 	 	 i n s t _ s e q _ 1 _ 2   ( n u m _ w d s )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 	 n u m _ w d s   =   n u m _ w d s   +   1 ; 
 	 	 i n s t _ s e q _ 1 _ 2   ( n u m _ w d s )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( n u m _ w d s ) ,   2 5 ,   3 )   =   s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 1 ) ,   3 4 ,   3 ) ; 
 
 	           e n d ; 
 
 	 s u b s t r   ( i n s t _ s e q _ 1 _ 2   ( 1 ) ,   1 9 ,   1 8 )   =   " 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 1 _ 2   ( 1 ) ) ,   n u l l ,   n u m _ w d s ) ; 
 	 c a l l   c o b o l _ m a k e _ l i n k $ t y p e _ 4   ( o f f s e t ,   " h c s _ $ m a k e _ p t r " ) ; 
 
 	 s u b s t r   ( i n s t _ s e q _ 1 _ 3   ( 5 9 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( o f f s e t ) ,   2 2 ,   1 5 ) ; 
 
 	 i f   f i x e d _ c o m m o n . o p t i o n s . p r o f i l e 
 	 t h e n   d o ; 
 	 	 f i x u p _ d i r e c t i v e . l o c a t i o n . o f f s e t   =   c o b o l _ $ t e x t _ w d _ o f f   +   2 9 ; 
 	 	 c a l l   c o b o l _ m a k e _ f i x u p   ( a d d r   ( f i x u p _ d i r e c t i v e ) ) ; 
 	           e n d ; 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 1 _ 3 ) ,   a d d r   ( r e l _ s e q _ 1 _ 3 ) ,   3 0 ) ; 
 
 	 c a l l   c o b o l _ c a l l _ o p   ( 5 ,   0 ) ; 
 
 	 t z e _ l o c   =   t e x t _ w d _ o f f   +   1 ; 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 2 _ 0 ) ,   n u l l ,   2 ) ; 
 
 	 c a l l   c o b o l _ g e n _ e r r o r   ( 5 7 ,   r e t r y _ t a g ) ; 
 	 c a l l   c o b o l _ d e f i n e _ t a g _ n c   ( c o b o l _ $ n e x t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f ) ; 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( c o b o l _ $ n e x t _ t a g ,   t z e _ l o c ,   n u l l ) ; 
 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 i f   o p e r a n d s   =   0 
 	 t h e n   d o ; 
 	 	 i n s t _ s e q _ 3 b   ( 5 )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 b   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t a c k o f f ) ,   2 2 ,   1 5 ) ; 
 
 / * [ 4 . 4 - 1 ] * / 
 / *     i f   f i x e d _ c o m m o n . o p t i o n s . p r o f i l e   t h e n   d o ; 
 	 f i x u p _ d i r e c t i v e . l o c a t i o n . o f f s e t = c o b o l _ $ t e x t _ w d _ o f f + 2 ; 
 	 c a l l   c o b o l _ m a k e _ f i x u p ( a d d r ( f i x u p _ d i r e c t i v e ) ) ; 
     e n d ; * / 
 / * [ 4 . 4 - 1 ] * / 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 b ) ,   a d d r   ( i n s t _ s e q _ 3 r e l ) ,   4 ) ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 
 	           e n d ; 
 
 	 e l s e   d o ; 
 
 	 	 i n s t _ s e q _ 3 a   ( 5 )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 a   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t a c k o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 s t a c k o f f   =   s t a c k o f f   +   2 ; 
 
 	 	 c a l l   m a k e _ a r g _ l i s t ; 	 	 	 / *   0 7 - 1 5 - 7 7   * / 
 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 a   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t a c k o f f ) ,   2 2 ,   1 5 ) ; 
 	 	 s u b s t r   ( i n s t _ s e q _ 3 a   ( 3 ) ,   1 ,   7 )   =   s u b s t r   ( u n s p e c   ( o p e r a n d s ) ,   3 0 ,   7 ) ; 
 
 / * [ 4 . 4 - 1 ] * / 
 / *     i f   f i x e d _ c o m m o n . o p t i o n s . p r o f i l e   t h e n   d o ; 
 	 f i x u p _ d i r e c t i v e . l o c a t i o n . o f f s e t = c o b o l _ $ t e x t _ w d _ o f f + 2 ; 
 	 c a l l   c o b o l _ m a k e _ f i x u p ( a d d r ( f i x u p _ d i r e c t i v e ) ) ; 
     e n d ; * / 
 / * [ 4 . 4 - 1 ] * / 
 
 	 	 i f   f i x e d _ c o m m o n . d e s c r i p t o r   ^ =   " 0 0 " b 
 	 	 t h e n   c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 a ) ,   a d d r   ( i n s t _ s e q _ 3 r e l ) ,   4 ) ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 e l s e   d o ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 a   ( 1 ) ) ,   a d d r   ( i n s t _ s e q _ 3 r e l ) ,   3 ) ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 3 b   ( 7 ) ) ,   n u l l ,   1 ) ; 
 
 	 	           e n d ; 
 
 	           e n d ; 
 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 0 ) ; 
 
 e x i t : 
 	 r e t u r n ; 
 
 
 
 / * 	 * 	 * 	 * 	 * 	 * 	 *     * / 
 
 m a k e _ a r g _ l i s t : 
           p r o c ; 
 
 s t a r t _ m a k e _ a r g _ l i s t : 
 	 d o   i n d e x   =   1   t o   o p e r a n d s ; 
 	           o p r n d _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n d e x   +   2 ) ; 
 	           i f   o p r n d _ p t r   - >   d a t a _ n a m e . l i n k a g e _ s e c t i o n   =   " 0 " b   |   o p r n d _ p t r   - >   d a t a _ n a m e . t y p e   =   2 
 	 	 |   o p r n d _ p t r   - >   d a t a _ n a m e . t y p e   =   3 
 	           t h e n   d o ; 
 
 	 	           i f   o p r n d _ p t r   - >   d a t a _ n a m e . t y p e   =   2   |   o p r n d _ p t r   - >   d a t a _ n a m e . t y p e   =   3 
 	 	           t h e n   d o ; 
 
 	 	 	           n e w _ o p r n d _ p t r   =   n u l l   ( ) ; 
 
 	 	 	           c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( n e w _ o p r n d _ p t r ,   o p r n d _ p t r ) ; 
 
 	 	 	           o p r n d _ p t r   =   n e w _ o p r n d _ p t r ; 
 
 	 	 	 e n d ; 
 
 	 	           o p r n d _ z . s e g n o   =   o p r n d _ p t r   - >   d a t a _ n a m e . s e g _ n u m ; 
 	 	           o p r n d _ z . c h a r _ o f f s e t   =   o p r n d _ p t r   - >   d a t a _ n a m e . o f f s e t ; 
 
 	 	           c a l l   c o b o l _ a d d r   ( a d d r   ( o p r n d _ z ) ,   a d d r   ( i n s t _ s e q _ 1 a ) ,   n u l l ) ; 
 
 	 	           t e m p   =   s t a c k o f f   +   2   *   i n d e x ; 
 	 	           s u b s t r   ( i n s t _ s e q _ 1 a   ( 3 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 1 a ) ,   n u l l ,   2 ) ; 
 
 	 	 e n d ; 
 
 	           e l s e   / *   O p e r a n d   i s   i n   C O B O L   L i n k a g e   S e c t i o n 	       * / 
 	 	 d o ; 
 	 	           i f   l i n k _ f l a g   =   0 
 	 	           t h e n   d o ; 
 
 	 	 	           l i n k _ f l a g   =   1 ; 
 
 	 	 	           c a l l   c o b o l _ p o i n t e r _ r e g i s t e r $ g e t   ( a d d r   ( r e g i s t e r _ r e q u e s t ) ) ; 
 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 1 b ) ,   n u l l ,   1 ) ; 
 
 	 	 	 e n d ; 
 
 	 	           t e m p   =   2   *   o p r n d _ p t r   - >   d a t a _ n a m e . l i n k a g e ; 
 	 	           s u b s t r   ( i n s t _ s e q _ 1 b   ( 3 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	           t e m p   =   s t a c k o f f   +   2   *   i n d e x ; 
 	 	           s u b s t r   ( i n s t _ s e q _ 1 b   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 
 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q _ 1 b   ( 3 ) ) ,   n u l l ,   2 ) ; 
 
 	 	 e n d ; 
 	           i f   f i x e d _ c o m m o n . d e s c r i p t o r   =   " 0 0 " b 
 	           t h e n   g o t o   n e x t _ a r g ; 	 	 	 / *   0 7 - 1 5 - 7 7   * / 
 	           i f   o p r n d _ p t r   - >   d a t a _ n a m e . v a r i a b l e _ l e n g t h   =   " 0 " b   |   f i x e d _ c o m m o n . d e s c r i p t o r   =   " 0 1 " b 
 	           t h e n   d o ; 
 	 	           c a l l   c o b o l _ a r g _ d e s c r i p t o r $ t y p e 9   ( o p r n d _ p t r ,   c h _ d e s c ,   o p r n d _ l n   ( i n d e x ) ) ; 
 	 	 e n d ; 
 	           e l s e   d o ; 
 
 	 	           c a l l   c o b o l _ a l l o c $ s t a c k   ( 4 ,   1 ,   v a r _ s t a c k   ( i n d e x ) ) ; 
 
 	 	           c a l l   c o b o l _ g e t _ s i z e   ( o p r n d _ p t r ,   0 ,   0 ) ; 
 
 	 	           i f   o p r n d _ p t r   - >   d a t a _ n a m e . l e v e l   =   1   |   o p r n d _ p t r   - >   d a t a _ n a m e . l e v e l   =   7 7 
 	 	           t h e n   v a r _ i n s t   ( 1 )   =   " 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 	           e l s e   v a r _ i n s t   ( 1 )   =   " 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 " b ; 
 
 	 	           s u b s t r   ( v a r _ i n s t   ( 3 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( v a r _ s t a c k   ( i n d e x ) ) ,   2 2 ,   1 5 ) ; 
 
 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( v a r _ i n s t ) ,   n u l l   ( ) ,   2 ) ; 
 
 	 	           c h _ d e s c   =   " 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 " b ; 
 	 	           o p r n d _ l n   ( i n d e x )   =   f i x e d   ( c h _ d e s c ) ; 
 
 	 	 e n d ; 
 n e x t _ a r g : 
 	 e n d ; 
 
 	 i f   f i x e d _ c o m m o n . d e s c r i p t o r   =   " 0 0 " b 
 	 t h e n   r e t u r n ; 	 	 	 	 / *   0 7 - 1 5 - 7 7   * / 
 
 	 d e s c _ c o d e   ( 2 )   =   i n s t _ s e q _ 2   ( 2 ) ; 
 
 	 d o   i n d e x   =   1   t o   o p e r a n d s ; 
 
 	           i f   o p r n d _ l n   ( i n d e x )   =   - 1 
 	           t h e n   d o ; 
 
 	 	           d e s c _ c o d e   ( 1 )   =   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 " b ; 
 	 	           s u b s t r   ( d e s c _ c o d e   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( v a r _ s t a c k   ( i n d e x ) ) ,   2 2 ,   1 5 ) ; 
 
 	 	 e n d ; 
 	           e l s e   d o ; 
 
 	 	           d e s c _ c o d e   ( 1 )   =   i n s t _ s e q _ 2   ( 1 ) ; 
 	 	           o p r n d _ l n   ( i n d e x )   =   - o p r n d _ l n   ( i n d e x )   -   c o b o l _ $ t e x t _ w d _ o f f ; 
 	 	           s u b s t r   ( d e s c _ c o d e   ( 1 ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( o p r n d _ l n   ( i n d e x ) ) ,   1 9 ,   1 8 ) ; 
 
 	 	 e n d ; 
 
 	           t e m p   =   s t a c k o f f   +   2   *   ( o p e r a n d s   +   i n d e x ) ; 
 	           s u b s t r   ( d e s c _ c o d e   ( 2 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	           n o _ w d s   =   2 ; 
 
 	           c a l l   c o b o l _ e m i t   ( a d d r   ( d e s c _ c o d e ) ,   n u l l ,   n o _ w d s ) ; 
 
 	 e n d ; 
 
 e x i t _ m a k e _ a r g _ l i s t : 
 	 r e t u r n ; 
 
           e n d   m a k e _ a r g _ l i s t ; 
 
 % i n c l u d e   c o b o l _ c a l l _ g e n _ i n f o ; 
 % i n c l u d e   c o b o l _ c a l l _ g e n _ d a t a ; 
           e n d   c o b o l _ c a l l _ g e n ; 
  
 
 
  
 	 	         c o b o l _ c a l l _ o p . p l 1                               0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3               2 4 1 6 5     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c a l l _ o p . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 2 / 1 8 / 7 8   b y   F C H ,   [ 3 . 0 - 1 ] ,   e n t r y   s k i p   a d d e d   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   3 . 0 . 	 * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c a l l _ o p : 
           p r o c   ( o p _ n u m ,   t a g n o ) ; 
 
 d c l 	 ( t a g n o ,   t a g 1 ) 	 f i x e d   b i n , 	 	 / *   t a g   n u m b e r   f o r   n o   e r r o r . 	 * / 
 	 o p _ n u m 	 	 f i x e d   b i n ; 	 	 / *   o p e r a t o r   n u m b e r   f o r   t h e   c a l l . 	 * / 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 d e c l a r e 	 t a g _ 1 	 	 f i x e d   b i n ; 
 
 
 d c l 	 t e m p 	 	 f i x e d   b i n ; 
 d c l 	 i n s t _ s e q 	 	 ( 4 )   b i t   ( 1 8 )   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   t s x 0 	 p r 0 | o p _ n u m 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *   t r a 	 0 , i c 	 * / 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 t a g _ 1   =   0 ; 
 
 s t a r t : 
 	 i f   f i r s t _ t i m e   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 t h e n   d o ; 
 	 	 f i r s t _ t i m e   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	 	 o p _ b i t   =   ( 2 0 0 ) " 0 " b ; 
 	           e n d ; 
 
 	 t e m p   =   o p _ n u m ; 
 
 	 i f   t e m p   <   2 0 0 
 	 t h e n   s u b s t r   ( o p _ b i t ,   t e m p   +   1 ,   1 )   =   " 1 " b ; 
 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ b e f o r e _ o p   ( t e m p ) ; 
 
 	 s u b s t r   ( i n s t _ s e q   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( o p _ n u m ) ,   2 2 ,   1 5 ) ; 
 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q ) ,   n u l l   ( ) ,   1 ) ; 
 
 	 i f   t a g n o   =   0 
 	 t h e n   d o ; 
 	 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( t e m p ) ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 3 ) ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( t a g n o ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 	 i f   t a g _ 1   ^ =   0 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 t h e n   d o ; 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 3 ) ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( t a g _ 1 ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	           e n d ; 
 	           e n d ; 
 	 r e t u r n ; 
 
 g e t _ o p : 
           e n t r y   ( o p e r a t o r _ s t r u c _ p t r ) ; 
 d c l 	 o p e r a t o r _ s t r u c _ p t r 	 p t r ; 
 
 	 o p e r a t o r _ s t r u c _ p t r   =   a d d r   ( o p _ b i t ) ; 
 	 r e t u r n ; 
 
 s k i p : 
           e n t r y   ( o p _ n u m ,   t a g n o ,   t a g 1 ) ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 t a g _ 1   =   t a g 1 ; 
 
 	 g o   t o   s t a r t ; 
 
 
 
 
 
 % i n c l u d e   c o b o l _ c a l l _ o p _ i n f o ; 
 % i n c l u d e   c o b o l _ c a l l _ o p _ d a t a ; 
           e n d   c o b o l _ c a l l _ o p ; 
        
 
 
  
 	 	         c o b o l _ c a n c e l _ g e n . p l 1                         0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3               3 3 3 2 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c a n c e l _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   7 / 1 6 / 7 6   b y   B o b   C h a n g   t o   d e l e t e   t h e   c a l l   f o r   t h e   l i n k   t o   c o b o l _ c o n t r o l _ $ c a n c e l .   * / 
 / *   M o d i f i e d   o n   0 3 / 2 6 / 7 6   b y   O R N   t o   g e n e r a t e   c a l l   t o   c o b o l _ c a n c e l _   i n s t a e d   o f   c o b o l _ c o n t r o l _ $ c a n c e l . 
 	 C h a n g e   m a d e   i n   c o n j u n c t i o n   w i t h   c o b o l _ c o n t r o l _   m o d i f i c a t i o n .   * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c a n c e l _ g e n : 
           p r o c   ( m p _ p t r ) ; 
 
 d c l 	 m p _ p t r 	 	 p t r ; 
 d c l 	 1   m p 	 	 b a s e d   ( m p _ p t r ) , 
 	     2   n 	 	 f i x e d   b i n , 	 	 / *   a l w a y s   3   * / 
 	     2   p t 1 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 1   t o k e n   * / 
 	     2   p t 2 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 9   o r   t y p e 3   t o k e n   * / 
 	     2   p t 3 	 	 p t r ; 	 	 	 / *   p t s   t o   m e a n i n g l e s s   t y p e 1 9   t o k e n   * / 
 
 d c l 	 1   m p o u t , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   p t 1 	 	 p t r , 
 	     2   p t 2 	 	 p t r , 
 	     2   p t 3 	 	 p t r , 
 	     2   p t 4 	 	 p t r ; 
 
 d c l 	 1   t y p e 9 , 
 	     2   a l i g n m e n t 	 p t r , 	 	 	 / *   s o   a s   t o   d o u b l e   w o r d   a l i g n   t h e   s p a c e   * / 
 	     2   r e s t 	 	 c h a r   ( 1 4 0 ) ; 
 d c l 	 1   t y p e 1 9 	 	 s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   i n i t   ( 3 8 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   i n i t   ( 1 9 ) , 
 	     2   v e r b 	 	 f i x e d   b i n   i n i t   ( 5 ) , 	 	 / *   C A L L   * / 
 	     2   e 	 	 f i x e d   b i n   i n i t   ( 1 ) , 	 	 / *   o n e   o p e r a n d   a f t e r   U S I N G   * / 
 	     2   h i j 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	     2   a 	 	 b i t   ( 3 )   i n i t   ( " 0 0 1 " b ) , 	 / *   U S I N G   o p e r a n d s   e x i s t   * / 
 	     2   b c d f g k 	 b i t   ( 1 3 )   i n i t   ( " " b ) ; 
 d c l 	 1   t y p e 3 	 	 s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   i n i t   ( 4 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   i n i t   ( 3 ) , 
 	     2   b i t s 	 	 b i t   ( 8 )   i n i t   ( " " b ) , 
 	     2   l i t _ s i z e 	 f i x e d   b i n   i n i t   ( 1 3 ) , 
 	     2   l i t 	 	 c h a r   ( 1 3 )   i n i t   ( " c o b o l _ c a n c e l _ " ) ; 
 
 d c l 	 1   p r 3 _ s t r u c t 	 s t a t i c , 
 	     2   p r 3 	 	 f i x e d   b i n   i n i t   ( 3 ) , 
 	     2   p o i n t e r _ n o 	 b i t   ( 3 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   s w i t c h 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   s e g n o 	 	 f i x e d   b i n , 
 	     2   o f f s e t 	 f i x e d   b i n , 
 	     2   r e s e t 	 	 f i x e d   b i n ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 d c l 	 o f f s e t 	 	 f i x e d   b i n , 
 	 t e m p 	 	 f i x e d   b i n , 
 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) , 
 	 c o b o l _ c a l l _ o p 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ) , 
 	 c o b o l _ g e t _ s i z e $ o m i t _ s i g n 
 	 	 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) , 
 	 c o b o l _ s e t _ p r 	 e n t r y   ( p t r ,   p t r ) , 
 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e n t r y   ( p t r ,   p t r ) ; 
 
 d c l 	 i n s t _ s e q 	 	 ( 4 )   b i t   ( 1 8 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 " b , 
 	 	 	 	 	 	 / *   e p p 3 	 n a m e _ l o c , i c 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 " b ) ; 
 	 	 	 	 	 	 / *   l d a 	 n a m e _ l e n , d l 	 * / 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 
 	 m p o u t . p t 1   =   m p . p t 1 ; 
 	 m p o u t . p t 2   =   a d d r   ( t y p e 3 ) ; 
 	 d n _ p t r   =   m p . p t 2 ; 
 	 i f   d a t a _ n a m e . t y p e   ^ =   9 
 	 t h e n   d o ; 
 	 	 d n _ p t r   =   a d d r   ( t y p e 9 ) ; 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( d n _ p t r ,   m p . p t 2 ) ; 
 	           e n d ; 
 	 c a l l   c o b o l _ s e t _ p r   ( a d d r   ( p r 3 _ s t r u c t ) ,   d n _ p t r ) ; 
 	 c a l l   c o b o l _ g e t _ s i z e $ o m i t _ s i g n   ( d n _ p t r ,   0 ,   0 ) ; 
 	 c a l l   c o b o l _ c a l l _ o p   ( 4 9 ,   0 ) ; 
 	 r e t u r n ; 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ ; 
           e n d   c o b o l _ c a n c e l _ g e n ; 
    
 
 
  
 	 	         c o b o l _ c l o s e _ g e n . p l 1                           0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3               3 4 5 4 2     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c l o s e _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 1 / 1 4 / 7 8   b y   F C H ,   [ 3 . 0 - 1 ] ,   a l t _ r e c _ k e y s   a d d e d   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   3 . 0   * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c l o s e _ g e n : 
           p r o c   ( m p _ p t r ) ; 
 
 d c l 	 m p _ p t r 	 	 p t r ; 
 d c l 	 1   m p 	 	 b a s e d   ( m p _ p t r ) , 
 	     2   n 	 	 f i x e d   b i n , 	 	 / *   a l w a y s   3   * / 
 	     2   p t 1 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 1   t o k e n   f o r   C L O S E   * / 
 	     2   p t 2 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 1 2   t o k e n   f o r   t h e   f i l e   * / 
 	     2   p t 3 	 	 p t r ; 	 	 	 / *   p t s   t o   t y p e 1 9   t o k e n   * / 
 
 / *   C L O S E   f n   E O S 
 	 	 b     0   =   n o   R E E L   u n i t   p r e s e n t 
 	 	       1   =   R E E L   u n i t   p r e s e n t 
 
 	 	 c     0   =   R E W I N D 
 	 	         1   =   N O   R E W I N D 
 
 	 	 f     0 0   =   N O   L O C K   p r e s e n t 
 	 	       0 1   =   L O C K   p r e s e n t   * / 
 
 d c l 	 g o o d _ t a g 	 	 f i x e d   b i n ; 
 d c l 	 a r g b 	 	 ( 5 )   b i t   ( 2 1 6 )   b a s e d   ( a d d r   ( a r g s . a r g   ( 1 ) ) ) ; 
 
 d c l 	 a r g _ p t r 	 	 p t r ; 
 d c l 	 i o e r r o r _ p t r 	 p t r ; 
 d c l 	 f t _ p t r 	 	 p t r ; 
 d c l 	 b a s i c _ p t r 	 	 p t r ; 
 d c l 	 n a m e _ p t r 	 	 p t r ; 
 
 d c l 	 a l o f f 	 	 f i x e d   b i n ; 
 d c l 	 s t o f f 	 	 f i x e d   b i n ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / *   I N I T I A L I Z A T I O N   * / 
 s t a r t : 
 	 e o s _ p t r   =   m p . p t 3 ; 
 	 i o e r r o r . r e t r y _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 i o e r r o r . n s _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 g o o d _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   3 ; 
 
 	 i o e r r o r _ p t r   =   a d d r   ( i o e r r o r ) ; 
 	 i o e r r o r . t y p e 1 _ p t r   =   m p . p t 1 ; 
 	 i o e r r o r . i s _ t a g   =   0 ; 	 	 	 	 / *   i n i t i a l i z e   t o   z e r o   * / 
 	 i o e r r o r . m o d e   =   0 ; 
 
 	 c a l l   c o b o l _ r e a d _ f t   ( m p . p t 2   - >   f d _ t o k e n . f i l e _ n o ,   f t _ p t r ) ; 
 
 	 i f   e n d _ s t m t . b 
 	 t h e n   i f   f i l e _ t a b l e . d e v i c e   ^ =   5 
 	           t h e n   r e t u r n ; 
 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 0 ,   2 ,   a l o f f ) ; 	 	 / *   f o r   m a x   a r g l i s t   * / 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / *   S T A R T   C O D E   G E N E R A T I O N   * / 
 s t a r t _ c o d e g e n : 
 	 c a l l   c o b o l _ i o o p _ u t i l $ s e t _ s t z ; 
 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( i o e r r o r . r e t r y _ t a g ) ; 
 
 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 	 	 / *   g e n e r a t e s   e p p 1     p r 4 | 1 0 2 , *     * / 
 
 / *   C L O S E     F I L E   a n d   D E T A C H   c o b o l _ o p e r a t o r s _   * / 
 	 i f   e n d _ s t m t . b 
 	 t h e n   d o ; 
 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 8 0 ,   2 ,   s t o f f ) ; 
 
 	 	 s u b s t r   ( e p p 2   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t o f f ) ,   2 2 ,   1 5 ) ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( e p p 2   ( 1 ) ) ,   n u l l ,   2 ) ; 
 	 	 	 	 	 	 / *   O P E R A T O R   7 6 :   c l o s e   r e e l   * / 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( 7 6 ,   g o o d _ t a g ) ; 
 	           e n d ; 
 	 e l s e   i f   ^ f i l e _ t a b l e . d e t a c h 
 	 t h e n   / *   O P E R A T O R   2 7 :   c l o s e _ f i l e   * / 
 	           c a l l   c o b o l _ c a l l _ o p   ( 2 7 ,   g o o d _ t a g ) ; 	 	 / *   c l o s e _ o p   * / 
 	 	 	 	 	 	 / *   O P E R A T O R   3 8 :   c l o s e _ f i l e _ o n l y   * / 
 	 e l s e   c a l l   c o b o l _ c a l l _ o p   ( 3 8 ,   g o o d _ t a g ) ; 	 	 / *   c l o s e _ o n l y _ o p   * / 
 
 	 i o e r r o r . c o b o l _ c o d e   =   0 ; 
 
 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( g o o d _ t a g ) ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 i f   f i l e _ t a b l e . o r g a n i z a t i o n   =   3   / *   i n d   * /   / *   [ 3 . 0 - 1 ]   * /   &   / *   [ 3 . 0 - 1 ]   * /   f i l e _ t a b l e . a l t e r n a t e _ k e y s   ^ =   0 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 t h e n   d o ; 
 	 	 c a l l   c o b o l _ i o _ u t i l $ f i l e _ d e s c   ( f i l e _ t a b l e . f i l e _ d e s c _ 1 _ o f f s e t ) ; 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( 8 9 ,   0 ) ; 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	           e n d ; 
 
 	 i f   e n d _ s t m t . f   =   " 0 1 " b 
 	 t h e n   c a l l   c o b o l _ i o o p _ u t i l $ s e t _ l o c k ; 
 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 4 0 9 5   +   i o e r r o r . c o b o l _ c o d e ) ; 
 
 
 	 c a l l   c o b o l _ g e n _ i o e r r o r $ f i n i s h _ u p   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 r e t u r n ; 
 
 % i n c l u d e   c o b o l _ c l o s e _ g e n _ i n f o ; 
 % i n c l u d e   c o b o l _ c l o s e _ g e n _ d a t a ; 
           e n d   c o b o l _ c l o s e _ g e n ; 
      
 
 
  
 	 	         c o b o l _ c o m p a r e _ g e n . p l 1                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 3             8 6 9 0 4 9     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c o m p a r e _ g e n . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 5 . 3 - 1 ] ,   B U G 5 6 3 ( p h x 1 8 3 8 1 ) ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 8 / 1 3 / 8 3   b y   f c h ,   [ 5 . 2   . . .   ] ,   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   o n   0 4 / 1 7 / 8 0   b y   F C H ,   [ 4 . 2 - 2 ] ,   f i x   r o u t i n e   w h i c h   c o m p a r e s   t y p e   2   t o k e n s   * / 
 / *   M o d i f i e d   o n   0 3 / 2 7 / 8 0   b y   F C H ,   [ 4 . 2 - 1 ] ,   B U G 4 2 7 ( T R 3 2 5 1 ) ,   F W   c o n s t   u s e d   f o r   n e g   c o m p - 6   n u m b e r s   * / 
 / *   M o d i f i e d   o n   0 2 / 2 3 / 7 7   b y   B o b   C h a n g   t o   f i x   t h e   b u g   f o r   i n i t i a l i z a t i o n   o f   a u t o   d a t a . 	 * / 
 / *   M o d i f i e d   o n   1 / 1 9 / 7 7   b y   B o b   C h a n g   t o   i m p r o v e   t h e   c o d e s   g e n e r a t e d   f o r   i n d e x   a n d   b i n a r y   c o m p a r s i o n .   * / 
 / *   M o d i f i e d   o n   1 / 1 1 / 7 7   b y   B o b   C h a n g   t o   i m p r o v e   t h e   c o d e s   g e n e r a t e d   f o r   c o m p - 6   a n d   c o m p - 7   c o m p a r i s o n .   * / 
 / *   M o d i f i e d   o n   1 2 / 3 0 / 7 6   b y   B o b   C h a n g   t o   h a n d l e   n u m e r i c   t e s t   f o r   o p c h   d a t a   w i t h   u n s i g n e d   v a l u e   i n   s t o r a g e .   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0 . 	 * / 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c o m p a r e _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ,   s o r t _ p r o g _ c o l l _ s e q _ p t r ) ; 
 
 
 
 
 	 s o r t _ p c s _ p t r   =   n u l l   ( ) ; 	 	 	 / *     n o t   c a l l   f r o m   s o r t   w i t h   c o l l a t i n g   s e q .   * / 
 
 	 g o t o   s t a r t ; 
 
 s o r t : 
           e n t r y   ( i n _ t o k e n _ p t r ,   s o r t _ p r o g _ c o l l _ s e q _ p t r ) ; 
 
 	 s o r t _ p c s _ p t r   =   s o r t _ p r o g _ c o l l _ s e q _ p t r ; 
 
 / *     T h e     a b o v e   e n t r y   i s   t h e   c o m p a r e     r o u t i n e   c a l l e d   f r o m   s o r t _ g e n .     * / 
 
 
 / * 
 T h e   C o m p a r e   G e n e r a t o r :   c o b o l _ c o m p a r e _ g e n 
 
 F U N C T I O N 
 T h e   c o m p a r e   g e n e r a t o r   i s   c a l l e d   t o   g e n e r a t e   c o d e   f o r : 
 
 	 1 .   r e l a t i o n a l   c o n d i t i o n s 
 	 2 .   c l a s s   c o n d i t i o n s 
 	 3 .   s i g n   c o n d i t i o n s 
 	 4 .   u n c o n d i t i o n a l   b r a n c h e s 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   p o i n t e r   t h a t   p o i n t s   t o   a   s t r u c - 
 t u r e   w i t h   a   f o r m a t   d e f i n e d   b y   t h e   f o l l o w i n g   d e c l a r a t i o n : 
 
 d c l 	 1   i n _ t o k e n   a l i g n e d   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 2   n   f i x e d   b i n   a l i g n e d , 
 	 2   c o d e   f i x e d   b i n   a l i g n e d , 
 	 2   t o k e n _ p t r   ( 0   r e f e r ( i n _ t o k e n . n ) )   p t r   a l i g n e d ; 
 
 T h e   p o i n t e r s   i n   t h e   a r r a y   i n _ t o k e n . t o k e n _ p t r   p o i n t   t o   t o k e n s   t h a t 
 p r o v i d e   i n f o r m a t i o n   a b o u t   t h e   t y p e   o f   c o d e   t o   b e   g e n e r a t e d .     T h i s 
 a r r a y   w i l l   c o n t a i n   f r o m   o n e   t o   t h r e e   p o i n t e r s   o f   i n t e r e s t   t o   c o b o l _ c o m p a r e _ g e n , 
 d e p e n d i n g   o n   t h e   c o d e   t o   b e   g e n e r a t e d . 
 
 	 c o d e   t o   b e   g e n e r a t e d 	 |   n u m b e r   o f   p o i n t e r s   o f 
 	 	 	 	 |   i n t e r e s t 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 	 | 
 	 u n c o n d i t i o n a l   b r a n c h 	 |   1 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 	 | 
 	 c l a s s   c o n d i t i o n 	 	 |   2 
 	 s i g n   c o n d i t i o n 	 	 | 
 	 a b b r e v i a t e d   r e l a t i o n a l 	 | 
 	     c o n d i t i o n 	 	 | 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 r e l a t i o n a l   c o n d i t i o n 	 |   3 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 I n   a l l   c a s e s   f o r   w h i c h   c o b o l _ c o m p a r e _ g e n   i s   c a l l e d ,   i n _ t o k e n . t o k e n _ p t r ( n ) 
 p o i n t s   t o   a n   E O S   t o k e n .     T h e   p o i n t e r s   o f   i n t e r e s t   i n   t h e   t o k e n _ p t r 
 a r r a y   a r e   d e s c r i b e d   i n   t h e   f o l l o w i n g   t a b l e . 
 
 
 i f   c o b o l _ c o m p a r e   g e n   i s   	 |     p o i n t e r s   o f   i n t e r e s t   i n   t o k e n _ p t r 
   c a l l e d   f o r 	 	 | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 |   n u m b e r 	 |   d e s c r i p t i o n 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 | 	 | 
 u n c o n d i t i o n a l   b r a n c h 	 |     1 	 |   t o k e n _ p t r ( n ) - > E O S   t o k e n 
 	 	 	 | 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 | 	 | 
 c l a s s   c o n d i t i o n 	 	 |     2 	 |   t o k e n _ p t r ( n ) - > E O S   t o k e n 
 	 	 	 | 	 |   t o k e n _ p t r ( n - 1 ) - >   d a t a n a m e 
 	 	 	 | 	 |   t o k e n   w h o s e   c l a s s   i s   t o   b e 
 	 	 	 | 	 |   d e t e r m i n e d 
 
 	 	 	 | 	 | 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 | 	 | 
 s i g n   c o n d i t i o n 	 	 |     2 	 |   t o k e n _ p t r ( n ) - > E O S   t o k e n 
 	 	 	 | 	 |   t o k e n _ p t r ( n - 1 ) - > d a t a n a m e 
 	 	 	 | 	 |   t o k e n   w h o s e   s i g n   i s   t o   b e 
 	 	 	 | 	 |   d e t e r m i n e d 
 	 	 	 |   	 | 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	 	 	 | 	 | 
 a b b r e v i a t e d   r e l a t i o n a l 	 |     2 	 |   t o k e n _ p t r ( n ) - > E O S   t o k e n 
     c o n d i t i o n 	 	 | 	 |   t o k e n _ p t r ( n - 1 ) - > r i g h t 
 	 	 	 | 	 |   o p e r a n d   o f   t h e   a b b r e v i a t e d 
 	 	 	 | 	 |   r e l a t i o n 
 	 	 	 | 	 | 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 	 	 	 | 	 | 
 r e l a t i o n a l   c o n d i t i o n 	 |     3 	 |   t o k e n _ p t r ( n ) - > E O S   t o k e n 
 	 	 	 | 	 |   t o k e n _ p t r ( n - 1 ) - > r i g h t   o p e r a n d 
 	 	 	 | 	 |   o p e r a n d   o f   r e l a t i o n 
 	 	 	 | 	 |   t o k e n _ p t r ( n - 2 ) - > l e f t 
 	 	 	 | 	 |   o p e r a n d   o f   r e l a t i o n 
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 
 T H E   E O S   T O K E N 
 
 T h e   E O S   t o k e n   c o n t a i n s   i n f o r m a t i o n   t h a t   d e f i n e s   t h e   t y p e   o f   c o d e 
 t o   b e   g e n e r a t e d .     T h e   f o r m a t   o f   t h i s   t o k e n   i s   d e f i n e d   b y 
 a   d e c l a r a t i o n   o f   t h e   f o r m : 
 
 	 d c l 	 1   e n d _ s t m t   b a s e d   ( e o s _ p t r ) , 
 	 	 	 2   s i z e   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   l i n e   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   c o l u m n   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   t y p e   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   e   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   h   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   i   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   j   f i x e d   b i n   ( 1 5 ) , 
 	 	 	 2   a   b i t   ( 3 ) , 
 	 	 	 2   b   b i t   ( 1 ) , 
 	 	 	 2   c   b i t   ( 1 ) , 
 	 	 	 2   d   b i t   ( 2 ) , 
 	 	 	 2   f   b i t   ( 2 ) , 
 	 	 	 2   g   b i t   ( 2 ) , 
 	 	 	 2   k   b i t   ( 5 ) ; 
 
 O n l y   c e r t a i n   f i e l d s   o f   t h e   E O S   t o k e n   a r e   r e l e v a n t   t o   c o b o l _ c o m p a r e _ g e n . 
 T h e   r e l e v a n t   f i e l d s   a r e : 
 
 1 .   e n d _ s t m t . e 
 	 T h i s   f i x e d   b i n a r y   f i e l d   c o n t a i n s   e i t h e r 
 	 	 a .   a   c o d e   t h a t   i d e n t i f i e s   t h e   t y p e   o f   c o m p a r e 
 	 	         f o r   w h i c h   c o d e   i s   t o   b e   g e n e r a t e d . 
 	 	 b .   a   c o d e   t h a t   i n d i c a t e s   t h a t   c o d e   f o r   a n 
 	 	       u n c o n d i t i o n a l   b r a n c h   i s   t o   b e   g e n e r a t e d . 
 
 	 T h e   v a l u e s   w h i c h   t h i s   f i e l d   w i l l   c o n t a i n ,   a n d   t h e   m e a n i n g 
 	 a s s o c i a t e d   w i t h   e a c h   a r e   g i v e n   i n   t h e   f o l l o w i n g   t a b l e : 
 
 	 v a l u e   i n   e n d _ s t m t . e 	 |   c o d e   i s   t o   b e   g e n e r a t e d   f o r 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 	     6 3 	 	 |   u n c o n d i t i o n a l   b r a n c h 
 	   1 0 2 	 	 |   e q u a l   c o m p a r e 
 	   1 1 3 	 	 |   g r e a t e r   c o m p a r e 
 	   1 2 3 	 	 |   l e s s   c o m p a r e 
 	   1 7 1   	 	 |   u n e q u a l   c o m p a r e 
 	   1 3 1 	 	 |   n u m e r i c   c l a s s   c o n d i t i o n 
 	     7 4 	 	 |   a l p h a b e t i c   c l a s s   c o n d i t i o n 
 	   1 4 1 	 	 |   p o s i t i v e   s i g n   c o n d i t i o n 
 	   1 2 7 	 	 |   n e g a t i v e   s i g n   c o n d i t i o n 
 	   1 8 0 	 	 |   z e r o   s i g n   c o n d i t i o n 
 	 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
 
 2 .   e n d _ s t m t . h 
 	 T h i s   f i x e d   b i n a r y   f i e l d   c o n t a i n s   a   c o m p i l e r   g e n e r a t e d 
 	 t a g   ( l a b e l )   n u m b e r   t o   w h i c h   a   t r a n s f e r   i s   t o   b e   d o n e 
 	 d e p e n d i n g   o n   t h e   r e s u l t s   o f   t h e   c o m p a r e . 
 
 3 .   e n d _ s t m t . i 
 	 T h i s   f i x e d   b i n a r y   f i e l d   i s   u s e d   a s   a   b i t   ( 3 6 )   f i e l d . 
 	 O n l y   t w o   b i t s   h a v e   a n y   s i g n i f i c a n c e : 
 
 	 a .   b i t   2     I f   " 1 " b ,   t h e n   a   t r a n s f e r   t o   t e   l a b e l   i n 
 	 	 e n d _ s t m t . h   i s   t o   b e   e x e c u t e d   i f   t h e   r e s u l t 
 	 	 o f   t h e   c o m p a r e   s p e c i f i e d   i n   e n d _ s t m t . e 
 	 	 i s   N O T   t r u e . 
 	 b .   b i t   3     I f   " 1 " b ,   t h e n   t h i s   i s   a n   E O S   f o r   a n   a b b r e v i a t e d 
 	 	 c o m p a r e .     O n l y   t o k e n _ p t r ( n - 1 )   i s   m e a n i n g f u l 
 	 	 t h e   t o k e n _ p t r   a r r a y ,   a n d   i t   p o i n t s   t o   t h e   r i g h t 
 	 	 o p e r a n d   o f   t h e   r e l a t i o n a l   c o n d i t i o n . 
 
 O U T P U T 
 
 O n e   o u t p u t   v a l u e   i s   p a s s e d   b a c k   t o   t h e   g e n e r a t o r   d r i v e r   u n d e r 
 c e r t a i n   c o n d i t i o n s .     W h e n   c o b o l _ c o m p a r e _ g e n   i s   c a l l e d   t o   g e n e r a t e 
 c o d e   f o r   a n   u n a b b r e v i a t e d   r e l a t i o n   c o n d i t i o n ,   t h e   f i e l d   " i n _ t o k e n . c o d e " 
 i s   s e t   t o   1   b e f o r e   r e t u r n i n g   t o   t h e   g e n e r a t o r   d r i v e r .     T h i s   r e u u r n e d 
 v a l u e   t e l l s   t h e   d r i v e r   t o   s a v e   t h e   c u r r e n t   i n _ t o k e n   s t r u c t u r e . 
 T h i s   s a v e d   i n _ t o k e n   s t r u c t u r e   w i l l   b e   t h e   s o u r c e   o f   t h e   l e f t   o p e r a n d 
 
 i f   t h e   n e x t   c a l l   t o   c o b o l _ c o m p a r e _ g e n   i s   a n   a b b r e v i a t e d   c o m p a r e .     N o t e 
 
 t h a t   i t   i s   t h e   r e s p o n s i b i l i t y   o f   c o b o l _ c o m p a r e _ g e n   t o   s a v e   a   p o i n t e r 
 t o   t h e   i n p u t _ s t r u c t u r e   s a v e d   b y   t h e   g e n e r a t o r   d r i v e r . 
 * / 
 / * } * / 
 
 
 
 
 / *     D E C L A R A T I O N S   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ t r a n s _ a l p h a b e t 
 	 	 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ,   f i x e d   b i n ,   p t r ,   c h a r   ( 1 ) ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ r e l e a s e 
 	 	 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n 
 	 	 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m o v e _ g e n 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ c o p y 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ p o o l $ s e a r c h _ o p 
 	 	 	 e n t r y   ( c h a r   ( * ) ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e x t   e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ g e t _ i n d e x _ v a l u e 
 	 	 	 e x t   e n t r y   ( f i x e d   b i n ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ n u m _ t o _ u d t s 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 
 / *     D E F I N I T I O N S   O F   C O N S T A N T S   T H A T   C O U L D   A P P E A R   I N   T H E   E O S   T O K E N S     * / 
 
 d c l 	 r w k e y _ n u m e r i c 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 3 1 ) ; 
 d c l 	 r w k e y _ a l p h a b e t i c 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 7 4 ) ; 
 d c l 	 r w k e y _ p o s i t i v e 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 4 1 ) ; 
 d c l 	 r w k e y _ n e g a t i v e 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 2 7 ) ; 
 d c l 	 r w k e y _ z e r o 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 0 ) ; 
 d c l 	 r w k e y _ e q u a l 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 0 2 ) ; 
 d c l 	 r w k e y _ g r e a t e r 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 1 3 ) ; 
 d c l 	 r w k e y _ l e s s 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 2 3 ) ; 
 d c l 	 r w k e y _ u n e q u a l 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 7 1 ) ; 
 d c l 	 r w k e y _ s p a c e 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 9 2 ) ; 
 d c l 	 r w k e y _ q u o t e 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 2 3 5 ) ; 
 d c l 	 r w k e y _ h i g h v a l 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 2 2 1 ) ; 
 d c l 	 r w k e y _ l o w v a l 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 2 2 9 ) ; 
 d c l 	 u n c o n d _ b r a n c h 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 6 3 ) ; 
 
 / *     D E F I N I T I O N S   O F   C O N S T A N T S   T H A T   R E P R E S E N T   O P C O D E S   U S E D   I N   T H I S   G E N E R A T O R     * / 
 
 d c l 	 t m i _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 1 0 0 0 " b   / *   6 0 4 ( 0 )   * / ) ; 
 d c l 	 t p l _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 1 0 1 0 " b   / *   6 0 5 ( 0 )   * / ) ; 
 d c l 	 t r c _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 1 1 0 " b   / *   6 0 3 ( 0 )   * / ) ; 
 d c l 	 t n c _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 1 0 0 " b   / *   6 0 2 ( 0 )   * / ) ; 
 d c l 	 t m o z _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 1 0 0 1 " b   / *   6 0 4 ( 1 )   * / ) ; 
 d c l 	 t p n z _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 1 0 1 1 " b   / *   6 0 5 ( 1 )   * / ) ; 
 d c l 	 t n z _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 1 0 " b   / *   6 0 1 ( 0 )   * / ) ; 
 d c l 	 t z e _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 0 0 " b   / *   6 0 0 ( 0 )   * / ) ; 
 d c l 	 t t f _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 1 1 1 0 " b   / *   6 0 7 ( 0 )   * / ) ; 
 d c l 	 t t n _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 1 1 0 1 " b   / *   6 0 6 ( 1 )   * / ) ; 
 d c l 	 t r a _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 1 0 0 1 0 0 0 0 " b   / *   7 1 0 ( 0 )   * / ) ; 
 d c l 	 n o p _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 1 0 0 1 0 " b   / *   0 1 1 ( 0 )   * / ) ; 
 d c l 	 c m p n _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 1 0 0 0 0 1 1 1 " b   / *   3 0 3 ( 1 )   * / ) ; 
 d c l 	 c m p c _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 1 0 0 0 1 1 0 1 " b   / *   1 0 6 ( 1 )   * / ) ; 
 d c l 	 t c t _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 1 1 1 0 1 0 0 1 " b   / *   1 6 4 ( 1 )   * / ) ; 
 d c l 	 m v t _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 1 1 1 0 0 0 0 1 " b   / *   1 6 0 ( 1 )   * / ) ; 
 
 
 / *     D E C L A R A T I O N   O F   A N   I M A G E   O F   A   N U M E R I C   L I T E R A L   Z E R O     * / 
 
 d c l 	 1   n u m e r i c _ z e r o 	 i n t e r n a l   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 7 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 )   i n i t   ( " 0 0 0 0 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 
 / *     I N T E R N A L   S T A T I C   B U F F E R S   U S E D   T O   H O L D   O P E R A N D S   T H A T   A R E   B U I L T   O N L Y 
     O N C E   P E R   C O M P I L A T I O N     * / 
 
 d c l 	 t y p e 9 _ z e r o 	 ( 1 : 3 5 )   f i x e d   b i n   i n t e r n a l   s t a t i c ; 
 
 d c l 	 t y p e 9 _ z e r o _ p t r 	 p t r   i n t e r n a l   s t a t i c ; 
 
 d c l 	 t y p e 9 _ n u m e r i c _ t c t 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 
 d c l 	 t y p e 9 _ n u m e r i c _ t c t _ p t r 
 	 	 	 p t r   i n t e r n a l   s t a t i c ; 
 
 d c l 	 t y p e 9 _ a l p h a _ t c t 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 
 
 d c l 	 t y p e 9 _ a l p h a _ t c t _ p t r   p t r   i n t e r n a l   s t a t i c ; 
 
 d c l 	 t y p e 9 _ o p c h _ t c t 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 
 d c l 	 t y p e 9 _ o p c h _ t c t _ p t r 	 p t r   i n t   s t a t i c ; 
 
 / *     D E C L A R A T I O N   O F   S T A T I C   W O R K   B U F F E R S     * / 
 
 d c l 	 m i n u s _ t y p e 9 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 	 / *     U s e d   t o   c o n t a i n   t y p e   9   f o r   m i n u s   s i g n     * / 
 
 d c l 	 p l u s _ t y p e 9 	 ( 1 : 4 0 )   f i x e d   b i n   i n t   s t a t i c ; 	 / *     U s e d   t o   c o n t a i n   t y p e   9   f o r   p l u s   s i g n     * / 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S   U S E D   A S   " F I R S T   T I M E "   S W I T C H E S   F O R   T H I N G S   T O   B E   D O N E 
 	 O N C E   P E R   C O M P I L A T I O N     * / 
 
 d c l 	 z e r o _ a l l o c a t e d 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 d c l 	 a s c i i _ t o _ e b c d i c _ t a b l e _ a l l o c a t e d 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 d c l 	 n u m e r i c _ t c t _ t a b l e _ a l l o c a t e d 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 d c l 	 a l p h a _ t c t _ t a b l e _ a l l o c a t e d 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 d c l 	 o p c h _ t c t _ t a b l e _ a l l o c a t e d 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 
 
 / *     D E F I N I T I O N   O F   A   T R A N S L A T I O N   T A B L E   T H A T   C O N T A I N S   Z E R O   F O R   L O W E R   C A S E   A L P H A B E T I C S , 
 	 U P P E R   C A S E   A L P H A B E T I C S ,   A N D   S P A C E .     * / 
 
 d c l 	 a l p h a _ t c t _ t a b l e 	 ( 0 : 5 1 1 )   b i t   ( 9 )   i n t   s t a t i c 
 	 	 	 i n i t   ( 
 	 	 	 / *       |           0       | 	   1           | 	   2           | 	   3           | 	   4           | 	   5           | 	   6           | 	   7           | * / 
 	 	 	 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * / 
 	 	 	 / *   0 0   * /   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 4   * / 
 	 	 	 " 0 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 0   * / 
 	 	 	 " 1 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 1   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 2   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 3   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 4   * / 
 	 	 	 " 1 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 5   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 6   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 7   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ) ; 
 	 	 	 	 	 	 / *     D E F I N I T I O N   O F   A   T R A N S L A T I O N   T A B L E   T H A T   C O N T A I N S   Z E R O   F O R   N U M E R I C S   O N L Y     * / 
 
 d c l 	 n u m e r i c _ t c t _ t a b l e 	 ( 0 : 5 1 1 )   b i t   ( 9 )   i n t   s t a t i c 
 	 	 	 i n i t   ( 
 	 	 	 / *       |           0       | 	   1           | 	   2           | 	   3           | 	   4           | 	   5           | 	   6           | 	   7           | * / 
 	 	 	 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * / 
 	 	 	 / *   0 0   * /   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 6   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   0 7   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ) ; 
 
 / *     D E F I N I T I O N   O F   A   T R A N S L A T I O N   T A B L E   T H A T   C O N T A I N S   Z E R O   F O R   O V E R P U N C H   S I G N   C H A R A C T E R S   O N L Y     * / 
 
 d c l 	 o p c h _ t c t _ t a b l e 	 ( 0 : 5 1 1 )   b i t   ( 9 )   i n t   s t a t i c 
 	 	 	 i n i t   ( 
 	 	 	 / *       |           0       | 	   1           | 	   2           | 	   3           | 	   4           | 	   5           | 	   6           | 	   7           | * / 
 	 	 	 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * / 
 	 	 	 / *   0 0   * /   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   0 6   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   0 7   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 0   * / 
 	 	 	 " 1 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 1   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b ,   " 0 " b , 
 	 	 	 	 	 	 / *   1 2   * / 
 	 	 	 " 0 " b ,   " 0 " b ,   " 0 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   1 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 0 " b ,   " 1 " b ,   " 0 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   2 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   3 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   4 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   5 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   6 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 0   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 1   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 2   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 3   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 4   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 5   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 6   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b , 
 	 	 	 	 	 	 / *   7 7   * / 
 	 	 	 " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ,   " 1 " b ) ; 
 
 
 / *     S t a t i c   v a r i a b l e s   u s e d   f o r   p r o c e s s i n g   o f   s e p a r a t e   s i g n   f o r   c l a s s   c o n d i t i o n     * / 
 
 d c l 	 s e p a r a t e _ s i g n s _ p o o l e d 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 0 ) ; 
 
 / *     D e c l a r a t i o n   o f   a n   a l p h a n u m e r i c   l i t e r a l   u s e d   t o   d e v e l o p   a l l o c a t e d   c o n s t a n t s   f o r   p l u s   ( + ) 
 	 a n d   m i n u s   ( - )   i n   p r o c e s s i n g   f o r   c l a s s   c o n d i t i o n .     * / 
 
 d c l 	 1   s e p a r a t e _ s i g n _ l i t e r a l 
 	 	 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 ) , 
 	     2   l i t _ t y p e 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   a l l _ l i t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 1 ) , 
 	     2   l i t _ s i z e 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l _ s t r i n g 	 c h a r   ( 1 ) ; 
 
 
 
 / *     D e f i n i t i o n   o f   e i s   f i l l   c h a r a c t e r     * / 
 
 d c l 	 1   e i s _ f i l l _ d e f 	 i n t   s t a t i c , 
 	     2   s p a c e 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   z e r o 	 	 c h a r   ( 1 )   i n i t   ( " 0 " ) , 
 	     2   q u o t e 	 	 c h a r   ( 1 )   i n i t   ( " " " " ) , 
 	     2   h i g h _ v a l u e 	 c h a r   ( 1 )   i n i t   ( "  " ) , 	 / *     I N I T   T O   O C T A L   1 7 7 .     * / 
 	     2   l o w _ v a l u e 	 c h a r   ( 1 )   i n i t   ( "   " ) ; 	 / *     I N I T   T O   O C T A L   0 0 0 .     * / 
 
 
 
 / *     D E C L A R A T I O N S   O F   V A R I A B L E S   U S E D   I N   B U I L D I N G   N O N - E I S     I N S T R U C T I O N S     * / 
 
 d c l 	 n o n _ e i s _ p t r 	 p t r ; 
 
 d c l 	 1   n o n _ e i s _ i n s t 	 a l i g n e d   b a s e d   ( n o n _ e i s _ p t r ) , 
 	     2   y 	 	 b i t   ( 1 8 )   u n a l i g n e d , 
 	     2   o p _ c o d e 	 b i t   ( 9 )   u n a l i g n e d , 
 	     2   z e r o e s 	 b i t   ( 3 )   u n a l i g n e d , 
 	     2   t m 	 	 b i t   ( 2 )   u n a l i g n e d , 
 	     2   t d 	 	 b i t   ( 4 )   u n a l i g n e d ; 
 
 d c l 	 n o n _ e i s _ w o r d 	 b i t   ( 3 6 ) ; 
 
 / *     D E C L A R A T I O N S   O F   V A R I A B L E S   U S E D   I N   B U I L D I N G   E I S   I N S T R U C T I O N S     * / 
 
 d c l 	 e i s _ p t r 	 	 p t r ; 
 
 d c l 	 1   e i s _ i n s t 	 a l i g n e d   b a s e d   ( e i s _ p t r ) , 
 	     2   u n u s e d 	 b i t   ( 1 8 )   u n a l i g n e d , 
 	     2   o p c o d e 	 b i t   ( 1 0 )   u n a l i g n e d ; 
 
 
 / *     D E C L A R A T I O N S   O F   W O R K   B U F F E R S     * / 
 
 / *     W O R K   B U F F E R   I N   W H I C H   I N P U T   T O   T H E   A D D R E S S A B I L I T Y   U T I L I T Y   I S   B U I L T     * / 
 
 d c l 	 w k b u f f 1 	 	 ( 1 : 2 0 )   f i x e d   b i n ; 
 
 / *     W O R K   B U F F E R   I N   W H I C H   T H E   O U T P U T   F R O M   T H E   A D D R E S S A B I L I T Y   U T I L I T Y   I S   R E T U R N E D     * / 
 
 d c l 	 w k b u f f 2 	 	 ( 1 : 5 )   f i x e d   b i n ; 
 
 / *     W O R K   B U F F E R   I N   W H I C H   R E L O C A T I O N   I N F O R M A T I O N   I S   P L A C E D   B Y   T H E   A D D R E S S A B I L I T Y   U T I L I T Y     * / 
 
 d c l 	 w k b u f f 3 	 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 
 / *     V A R I A B L E S   U S E D   T O   A C E S S   " e n d _ s t m t . i "   a s   a   b i t   s t r i n g     * / 
 
 d c l 	 i _ p t r 	 	 p t r ; 
 
 d c l 	 1   i b i t 	 	 b a s e d   ( i _ p t r ) , 
 	     2   u n u s e d 1 	 b i t   ( 1 ) , 
 	     2   n o t 	 	 b i t   ( 1 ) , 
 	     2   a b b r e v i a t e d 	 b i t   ( 1 ) ; 
 
 / *     O T H E R   W O R K   V A R I A B L E S     * / 
 
 d c l 	 s a v e _ l o c n o 	 f i x e d   b i n ; 
 d c l 	 t o p c o d e 	 	 b i t   ( 1 0 ) ; 
 d c l 	 d e s c r i p _ p t r 	 p t r ; 
 d c l 	 i n _ o p 	 	 f i x e d   b i n ; 
 d c l 	 d e s c r i p 	 	 b i t   ( 7 2 )   b a s e d   ( d e s c r i p _ p t r ) ; 
 d c l 	 a l p h a _ f l a g 	 b i t   ( 1 ) ; 
 
 d c l 	 w o r k _ i n _ t o k e n _ p t r 	 p t r ; 
 
 d c l 	 1   w o r k _ i n _ t o k e n , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   c o d e 	 	 f i x e d   b i n , 
 	     2   t o k e n _ p t r 	 ( 1 : 3 )   p t r ; 
 
 d c l 	 w o r k _ i n _ t o k e n 1 _ p t r 	 p t r ; 
 
 d c l 	 1   w o r k _ i n _ t o k e n 1 , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   c o d e 	 	 f i x e d   b i n , 
 	     2   t o k e n _ p t r 	 ( 1 : 3 )   p t r ; 
 
 d c l 	 s o r t _ p r o g _ c o l l _ s e q _ p t r 
 	 	 	 p t r ; 
 d c l 	 d n _ p t r 	 	 p t r ; 
 d c l 	 s o r t _ p c s _ p t r 	 p t r ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ c o m p a r e _ g e n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 s t a r t : 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( c c g ) ; / * * / 
 	 	 	 	 	 	 / *     I n i t i a l i z a t i o n   o f   p o i n t e r s   u s e d   i n   a d d r e s s a b i l i t y   u t i l i t y     * / 
 	 i n p u t _ p t r   =   a d d r   ( w k b u f f 1   ( 1 ) ) ; 
 	 i n s t _ p t r   =   a d d r   ( w k b u f f 2   ( 1 ) ) ; 
 	 r e l o c _ p t r   =   a d d r   ( w k b u f f 3   ( 1 ) ) ; 
 
 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 	 / *     P o i n t   a t   E O S   i n   i n p u t   s t r u c t u r e     * / 
 
 
 
 	 i f   s o r t _ p c s _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   d o ; 
 	 	 a l p h a _ n a m e _ p t r   =   s o r t _ p c s _ p t r ; 
 	 	 a l p h a _ f l a g   =   " 1 " b ; 
 	           e n d ; 
 
 
 
 	 e l s e   i f   c o b o l _ $ m a i n _ p c s _ p t r   ^ =   n u l l   ( ) 
 	 t h e n   d o ; 
 	 	 a l p h a _ n a m e _ p t r   =   c o b o l _ $ m a i n _ p c s _ p t r ; 
 	 	 a l p h a _ f l a g   =   " 1 " b ; 
 	           e n d ; 
 
 	 e l s e   a l p h a _ f l a g   =   " 0 " b ; 
 
 	 i f   e n d _ s t m t . e   =   u n c o n d _ b r a n c h 
 	 t h e n   c a l l   u b r a n c h ; 
 
 	 e l s e   i f   ( e n d _ s t m t . e   =   r w k e y _ n u m e r i c   |   e n d _ s t m t . e   =   r w k e y _ a l p h a b e t i c ) 
 	 t h e n   c a l l   c l a s s _ c o n d i t i o n ; 
 
 	 e l s e   i f   ( e n d _ s t m t . e   =   r w k e y _ p o s i t i v e   |   e n d _ s t m t . e   =   r w k e y _ n e g a t i v e   |   e n d _ s t m t . e   =   r w k e y _ z e r o ) 
 	 t h e n   c a l l   s i g n _ c o n d i t i o n ; 
 
 
 
 	 e l s e   c a l l   r e l a t i o n a l _ c o m p a r e ; 	 	 	 / *     a s s u m e   r e l a t i o n a l   c o m p a r e     * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( c c g ) ; / * * / 
 	 r e t u r n ; 
  
 / * { * / 
 u b r a n c h : 
           p r o c ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( u b ) ; / * * / 
 
 / *     T h i s   i n t e r n a l   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   a n   u n c o n d i t i o n a l   b r a n c h .     * / 
 
 / * } * / 
 s t a r t _ u b r a n c h : 	 	 	 	 	 / *     Z e r o   t h e   i n s t r u c t i o n   t o   b e   e m i t t e d     * / 
 	 n o n _ e i s _ w o r d   =   " 0 " b ; 
 	 n o n _ e i s _ p t r   =   a d d r   ( n o n _ e i s _ w o r d ) ; 
 
 / *     S e t   o p   c o d e   t o   u n c o n d i t i o n a l   t r a n s f e r     * / 
 	 n o n _ e i s _ i n s t . o p _ c o d e   =   t r a _ o p ; 
 
 / *     S a v e   t h e   o f f s e t   i n   t h e   t e x t   s e c t i o n   a t   w h i c h   t h e   i n s t r u c t i o n   i s   t o   b e   e m i t t e d     * / 
 	 s a v e _ l o c n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 / *     B u i l d   t h e   r e l o c a t i o n   b y t e s     * / 
 	 r e l o c _ s t r u c   ( 1 )   =   " 0 " b ; 
 	 r e l o c _ s t r u c   ( 2 )   =   " 0 " b ; 
 
 / *     E m i t   t h e   i n s t r u c t i o n     * / 
 
 	 c a l l   c o b o l _ e m i t   ( n o n _ e i s _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 / *     I s s u e   a   r e f e r e n c e   t o   t h e   t a g   i n   " e n d _ s t m t . h "     * / 
 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( f i x e d   ( e n d _ s t m t . h ,   1 7 ) ,   s a v e _ l o c n o ,   n u l l   ( ) ) ; 
 
 
 
 e x i t _ u b r a n c h : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( u b ) ; / * * / 
 	 r e t u r n ; 
           e n d   u b r a n c h ; 
  
 / * { * / 
 s i g n _ c o n d i t i o n : 
           p r o c ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( s c ) ; / * * / 
 
 / *     T h i s   i n t e r n a l   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   a   C o b o l   s i g n   c o n d i t i o n .     * / 
 
 / * } * / 
 
 d c l 	 o u t 1 _ p t r 	 	 p t r ; 
 s t a r t _ s i g n _ c o n d i t i o n : 	 	 	 	 / *     A l l o c a t e   a   n u m e r i c   c o n s t a n t   o f   z e r o   a n d   m a k e   a   t y p e   9   f o r   t h e   c o n s t a n t , 
 	 i f   i t   h a s n ' t   a l r e a d y   b e e n   a l l o c a t e d   d u r i n g   t h i s   c o m p i l a t i o n .     * / 
 	 i f   z e r o _ a l l o c a t e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 t h e n   d o ; 	 	 	 	 	 / *     A l l o c a t e   n u m e r i c   z e r o     * / 
 	 	 	 	 	 	 / *     P o i n t   a t   b u f f e r   i n   w h i c h   t y p e   9   f o r   z e r o   i s   t o   b e   b u i l t     * / 
 
 	 	 t y p e 9 _ z e r o _ p t r   =   a d d r   ( t y p e 9 _ z e r o   ( 1 ) ) ; 
 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t y p e 9 _ z e r o _ p t r ,   a d d r   ( n u m e r i c _ z e r o ) ) ; 
 
 	 	 z e r o _ a l l o c a t e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	           e n d ; 	 	 	 	 	 / *     A l l o c a t e   t h e   n u m e r i c   z e r o ;     * / 
 
 
 / *     E s t a b l i s h   a d d r e s s a b i l i t y   t o   t h e   o p e r a n d   t o   b e   c o m p a r e d   t o   z e r o ,   a n d   t h e   o p e r a n d 
 	 f o r   n u m e r i c   z e r o     * / 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   t h e   a d d r e s s a b i l i t y   u t i l i t y .     * / 
 / *     B a s e   d a t a n a m e   t o k e n   t e m p l a t e   o n   t h e     o p e r a n d     * / 
 	 d n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n   -   1 ) ; 
 
 
 	 i f   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   ( d a t a _ n a m e . b i n _ 1 8   |   d a t a _ n a m e . b i n _ 3 6 ) )   / *     f i x e d   b i n a r y   d a t a   t y p e     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   d a t a _ n a m e . i t e m _ s i g n e d   &   ^ d a t a _ n a m e . s i g n _ s e p a r a t e ) 
 	 	 	 	 	 	 / *     o v e r p u n c h   s i g n     * / 
 	 t h e n   d o ; 	 	 	 	 	 / *     O p e r a n d   m u s t   b e   c o n v e r t e d   t o   d e c i m a l     * / 
 	 	 o u t 1 _ p t r   =   n u l l   ( ) ; 
 
 	 	 c a l l   c o n v e r t _ t o _ d e c   ( d n _ p t r ,   o u t 1 _ p t r ) ; 
 
 	 	 d n _ p t r   =   o u t 1 _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     O p e r a n d   m u s t   b e   c o n v e r t e d   t o   d e c i m a l     * / 
 
 
 	 i n p u t _ s t r u c . t y p e   =   5 ; 	 	 	 / *     e i s ,   2   o p e r a n d s     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   2 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k s   r e q u e s t e d     * / 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   d n _ p t r ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . s e n d _ r e c e i v e   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 2 )   =   t y p e 9 _ z e r o _ p t r ; 
 	 i n p u t _ s t r u c . s e n d _ r e c e i v e   ( 2 )   =   0 ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 2 )   =   0 ; 
 
 / *     C a l l   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 / *     I n s e r t   t h e   C M P N   o p c o d e   i n t o   t h e   i n s t r u c t i o n   j u s t   b u i l t     * / 
 	 e i s _ p t r   =   i n s t _ p t r ; 
 	 e i s _ i n s t . o p c o d e   =   c m p n _ o p ; 
 
 / *     E m i t   t h e   C M P N   i n s t r u c t i o n     * / 
 
 	 c a l l   c o b o l _ e m i t   ( e i s _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 
 / *     D e t e r m i n e   t h e   t y p e   o f   t r a n s f e r   i n s t r u c t i o n   t o   b e   g e n e r a t e d     * / 
 
 	 i _ p t r   =   a d d r   ( e n d _ s t m t . i ) ; 
 
 	 i f   e n d _ s t m t . e   =   r w k e y _ p o s i t i v e 
 	 t h e n   d o ; 	 	 	 	 	 / *     P O S I T I V E   O R   N O T   P O S I T I V E     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t p l _ o p ; 	 	 / *     N O T   P O S I T I V E     * / 
 	 	 e l s e   t o p c o d e   =   t m i _ o p ; 	 	 / *     P O S I T I V E     * / 
 	           e n d ; 	 	 	 	 	 / *     P O S I T I V E   O R   N O T   P O S I T I V E     * / 
 
 
 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ n e g a t i v e 
 	 t h e n   d o ; 	 	 	 	 	 / *     N E G A T I V E   O R   N O T   N E G A T I V E     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t m o z _ o p ; 	 	 / *     N O T   N E G A T I V E     * / 
 	 	 e l s e   t o p c o d e   =   t p n z _ o p ; 	 	 / *     N E G A T I V E     * / 
 	           e n d ; 	 	 	 	 	 / *     N E G A T I V E   O R   N O T   N E G A T I V E     * / 
 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     A S S U M E   Z E R O   O R   N O T   Z E R O     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t n z _ o p ; 	 	 / *     N O T   Z E R O     * / 
 	 	 e l s e   t o p c o d e   =   t z e _ o p ; 	 	 / *     Z E R O     * / 
 	           e n d ; 	 	 	 	 	 / *     A S S U M E   Z E R O   O R   N O T   Z E R O     * / 
 
 
 / *     B u i l d   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 	 n o n _ e i s _ w o r d   =   " 0 " b ; 
 	 n o n _ e i s _ p t r   =   a d d r   ( n o n _ e i s _ w o r d ) ; 
 
 / *     S e t   t h e   o p _ c o d e     * / 
 	 n o n _ e i s _ p t r   - >   e i s _ i n s t . o p c o d e   =   t o p c o d e ; 
 
 / *     S a v e   t h e   o f f s e t   i n   t h e   t e x t   s e c t i o n   a t   w h i c h   t h e   t r a n s f e r   i s   t o   b e   e m i t t e d     * / 
 	 s a v e _ l o c n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 / *     b u i l d   t h e   r e l o c a t i o n   b y t e s     * / 
 	 r e l o c _ s t r u c   ( 1 )   =   " 0 " b ; 
 	 r e l o c _ s t r u c   ( 2 )   =   " 0 " b ; 
 
 / *     E m i t   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( n o n _ e i s _ i n s t ) ,   r e l o c _ p t r ,   1 ) ; 
 
 
 / *     I s s u e   a   r e f e r e n c e   t o   t h e   t a g   i n   " e n d _ s t m t . h "     * / 
 
 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( f i x e d   ( e n d _ s t m t . h ,   1 7 ) ,   s a v e _ l o c n o ,   n u l l   ( ) ) ; 
 
 
 e x i t _ s i g n _ c o n d i t i o n : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( s c ) ; / * * / 
 	 r e t u r n ; 
           e n d   s i g n _ c o n d i t i o n ; 
  
 / * { * / 
 r e l a t i o n a l _ c o m p a r e : 
           p r o c ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( r c ) ; / * * / 
 
 / *     T h i s   i n t e r n a l   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   a   r e l a t i o n a l   c o m p a r i s o n .     * / 
 
 / * } * / 
 
 d c l 	 c o n t i n u e 	 	 b i t   ( 1 ) ; 
 d c l 	 b o t h _ n u m e r i c 	 b i t   ( 1 ) ; 
 
 d c l 	 l o p _ p t r 	 	 p t r ; 
 d c l 	 r o p _ p t r 	 	 p t r ; 
 d c l 	 s a v e d _ l o p _ p t r 	 i n t   s t a t i c   p t r ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 r e l a t i o n a l _ c o m p a r i s o n 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ r e l a t i o n a l _ c o m p a r e : 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 
 / *     D e t e r m i n e   w h e t h e r   t h e   c u r r e n t   c o m p a r e   i s   a b b r e v i a t e d   o r   n o t     * / 
 
 	 i _ p t r   =   a d d r   ( e n d _ s t m t . i ) ; 
 
 	 i f   ^ i b i t . a b b r e v i a t e d 
 	 t h e n   d o ; 	 	 	 	 	 / *     N o t   a n   a b b r e v i a t e d   c o m p a r e     * / 
 	 	 l o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n   -   2 ) ; 
 	 	 	 	 	 	 / *     G e t   l e f t   o p e r a n d   p o i n t e r     * / 
 	 	 s a v e d _ l o p _ p t r   =   l o p _ p t r ; 	 	 / *     S a v e   l e f t   o p e r a n d   p o i n t e r   f o r   u s e   i f   n e x t 
 	 	 	 c o m p a r e   i s   a b b r e v i a t e d     * / 
 	           e n d ; 	 	 	 	 	 / *     N o t   a n   a b b r e v i a t e d   c o m p a r e     * / 
 
 
 	 e l s e   l o p _ p t r   =   s a v e d _ l o p _ p t r ; 	 	 	 / *     A n   a b b r e v i a t e d   c o m p a r e .     U s e   t h e   s a v e d   l o p   p o i n t e r .     * / 
 
 	 r o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n   -   1 ) ; 
 
 / *     D e t e r m i n e   w h e t h e r   t h e   c o m p a r e   i s   n u m e r i c   o r   a l p h a n u m e r i c     * / 
 
 	 b o t h _ n u m e r i c   =   " 0 " b ; 
 	 c o n t i n u e   =   " 1 " b ; 
 	 r w _ p t r   =   l o p _ p t r ; 	 	 	 	 / *     C h e c k   l e f t   o p e r a n d   f i r s t     * / 
 
 
 	 d o   w h i l e   ( c o n t i n u e ) ; 	 	 	 / *     C h e c k   t o   s e e   i f   b o t h   o p e r a n d s   a r e   n u m e r i c     * / 
 
 	           i f   ( r e s e r v e d _ w o r d . t y p e   =   r t c _ i n d e x n a m e   |   r e s e r v e d _ w o r d . t y p e   =   r t c _ n u m l i t   / *     n u m e r i c   l i t e r a l     * / 
 	 	 |   ( r e s e r v e d _ w o r d . t y p e   =   r t c _ r e s w o r d   &   r e s e r v e d _ w o r d . k e y   =   r w k e y _ z e r o )   / *   Z E R O   * / 
 	 	 |   ( r e s e r v e d _ w o r d . t y p e   =   r t c _ d a t a n a m e 
 	 	 &   ( r w _ p t r   - >   d a t a _ n a m e . n u m e r i c   |   r w _ p t r   - >   d a t a _ n a m e . u s a g e _ i n d e x ) ) 
 	 	 / *   n u m e r i c   t y p e   9   o r   u s a g e   i n d e x     * / ) 
 	           t h e n   d o ; 	 	 	 	 / *     T h e   c u r r e n t   o p e r a n d   i s   n u m e r i c     * / 
 
 	 	           i f   r w _ p t r   =   r o p _ p t r 
 	 	           t h e n   d o ; 	 	 	 / *     C u r r e n t   o p e r a n d   i s   r i g h t   o p e r a n d ,   s o   b o t h   a r e   n u m e r i c     * / 
 	 	 	           c o n t i n u e   =   " 0 " b ; 	 / *     T o   e x i t   f r o m   t h e   l o o p     * / 
 	 	 	           b o t h _ n u m e r i c   =   " 1 " b ; 	 / *     B o t h   o p e r a n d s   a r e   n u m e r i c     * / 
 	 	 	 e n d ; 	 	 	 / *     C u r r e n t   o p e r a n d   i s   r i g h t   o p e r a n d ,   s o   b o t h   a r e   n u m e r i c     * / 
 
 
 	 	           e l s e   r w _ p t r   =   r o p _ p t r ; 	 	 / *     M u s t   n o w   c h e c k   r i g h t   o p e r a n d     * / 
 	 	 e n d ; 	 	 	 	 / *     T h e   c u r r e n t   o p e r a n d   i s   n u m e r i c     * / 
 
 
 	           e l s e   c o n t i n u e   =   " 0 " b ; 	 	 	 / *     T h e   c u r r e n t   o p e r a n d   i s   n o t   n u m e r i c     * / 
 
 	 e n d ; 	 	 	 	 	 / *     C h e c k   t o   s e e   i f   b o t h   o p e r a n d s   a r e   n u m e r i c     * / 
 
 
 
 	 i f   b o t h _ n u m e r i c 
 	 t h e n   c a l l   n u m e r i c _ c o m p a r e   ( l o p _ p t r ,   r o p _ p t r ) ; 
 
 
 	 e l s e   c a l l   a l p h a _ c o m p a r e   ( l o p _ p t r ,   r o p _ p t r ) ; 
 
 
 e x i t _ r e l a t i o n a l _ c o m p a r e : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( r c ) ; / * * / 
 	 r e t u r n ; 
           e n d   r e l a t i o n a l _ c o m p a r e ; 
  
 / * { * / 
 n u m e r i c _ c o m p a r e : 
           p r o c   ( l o p _ p t r ,   r o p _ p t r ) ; 	 	 	 	 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   a   n u m e r i c   r e l a t i o n a l   c o m p a r i s o n .     * / 
 	 	 	 	 	 	 / *     D E C L A R A T I O N S   O F   T H E   P A R A M E T E R S     * / 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( n c ) ; / * * / 
 
 d c l 	 l o p _ p t r 	 	 p t r ; 
 d c l 	 r o p _ p t r 	 	 p t r ; 
 
 / * 
 l o p _ p t r 	 	 P o i n t s   t o   t h e   l e f t   o p e r a n d   o f   a   n u m e r i c 
 	 	 c o m p a r e .     ( i n p u t ) 
 r o p _ p t r 	 	 P o i n t s   t o   t h e   r i g h t   o p e r a n d   o f   a   n u m e r i c 
 	 	 c o m p a r i s o n .     ( i n p u t ) 
 * / 
 
 / * } * / 
 
 d c l 	 b u f f 1 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 b u f f 2 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 t e m p _ l o p _ p t r 	 p t r ; 
 d c l 	 t e m p _ b u f f 	 	 c h a r   ( 1 5 0 ) ; 
 d c l 	 t e m p _ r o p _ p t r 	 p t r ; 
 d c l 	 o u t 1 _ p t r 	 	 p t r ; 
 d c l 	 o u t 2 _ p t r 	 	 p t r ; 
 
 d c l 	 e q u a l _ f l a g 	 f i x e d   b i n , 
 	 l e s s _ f l a g 	 	 f i x e d   b i n , 
 	 g r e a t e r _ f l a g 	 f i x e d   b i n ; 
 d c l 	 1   m o v e _ b i n _ 1 8 	 s t a t i c , 
 	     2   n 	 	 f i x e d   b i n   i n i t   ( 4 ) , 
 	     2   c o d e 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   p t 1 	 	 p t r   i n i t   ( n u l l ) , 
 	     2   p t 2 	 	 p t r , 
 	     2   p t 3 	 	 p t r , 
 	     2   p t 4 	 	 p t r ; 
 
 d c l 	 1   b i n _ 3 6 _ r o p 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ) , 
 	     2   r e p l _ p t r 	 ( 2 )   p t r   i n i t   ( ( 2 )   n u l l   ( ) ) , 
 	     2   f i l l 1 	 	 b i t   ( 1 0 8 )   i n i t   ( " " b ) , 
 	     2   f i l e _ k e y _ i n f o , 
 	         3   f b 1 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	         3   s i z e 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   f b 2 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	         3   f l a g s 1 	 b i t   ( 3 6 )   i n i t   ( " 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ) , 
 	         3   f l a g s 2 	 b i t   ( 3 6 )   i n i t   ( " " b ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 1 0 0 0 ) , 
 	         3   o f f s e t 	 f i x e d   b i n , 
 	     2   f i l l 2 	 	 ( 7 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ) ; 
 
 d c l 	 1   b i n _ 3 6 _ l o p 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ) , 
 	     2   r e p l _ p t r 	 ( 2 )   p t r   i n i t   ( ( 2 )   n u l l   ( ) ) , 
 	     2   f i l l 1 	 	 b i t   ( 1 0 8 )   i n i t   ( " " b ) , 
 	     2   f i l e _ k e y _ i n f o , 
 	         3   f b 1 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	         3   s i z e 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   f b 2 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	         3   f l a g s 1 	 b i t   ( 3 6 )   i n i t   ( " 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ) , 
 	         3   f l a g s 2 	 b i t   ( 3 6 )   i n i t   ( " " b ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 1 0 0 0 ) , 
 	         3   o f f s e t 	 f i x e d   b i n , 
 	     2   f i l l 2 	 	 ( 7 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ) ; 
 
 d c l 	 1   b i n _ 1 8 _ t y p e 9 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ) , 
 	     2   r e p l _ p t r 	 ( 2 )   p t r   i n i t   ( ( 2 )   n u l l   ( ) ) , 
 	     2   f i l l 1 	 	 b i t   ( 1 0 8 )   i n i t   ( " " b ) , 
 	     2   f i l e _ k e y _ i n f o , 
 	         3   f b 1 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	         3   s i z e 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   f b 2 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	         3   f l a g s 1 	 b i t   ( 3 6 )   i n i t   ( " 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ) , 
 	         3   f l a g s 2 	 b i t   ( 3 6 )   i n i t   ( " " b ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 1 0 0 0 ) , 
 	         3   o f f 	 	 f i x e d   b i n , 
 	     2   f i l l 2 	 	 ( 7 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ) ; 
 
 d c l 	 1   b i n _ 1 8 _ t y p e 1 9 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 3 8 ,   0 ,   0 ,   1 9 ) , 
 	     2   v e r b 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   e 	 	 f i x e d   b i n   i n i t   ( 1 ) , 
 	     2   h 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   i j 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	     2   a b c d f g k 	 b i t   ( 1 6 )   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ) ; 
 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 n u m e r i c _ c o m p a r e 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ n u m e r i c _ c o m p a r e : 	 	 	 	 / *     S e t   p o i n t e r s   t o   t h e   w o r k   b u f f e r s   i n t o   w h i c h   o p e r a n d s   m a y   b e   b u i l t   b y   c o n v e r t _ t o _ d e c   p r o c e d u r e .     * / 
 	 o u t 1 _ p t r   =   a d d r   ( b u f f 1   ( 1 ) ) ; 
 	 o u t 2 _ p t r   =   a d d r   ( b u f f 2   ( 1 ) ) ; 
 
 	 l e s s _ f l a g   =   0 ; 
 	 g r e a t e r _ f l a g   =   0 ; 
 	 e q u a l _ f l a g   =   2 ; 
 	 i f   r o p _ p t r   - >   d a t a _ n a m e . t y p e   =   1 0   |   r o p _ p t r   - >   d a t a _ n a m e . t y p e   =   2 
 	           |   ( r o p _ p t r   - >   d a t a _ n a m e . t y p e   =   9 
 	           &   ( r o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6   |   ( r o p _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   &   ^ r o p _ p t r   - >   d a t a _ n a m e . s u b s c r i p t e d ) ) ) 
 	 t h e n   d o ; 
 	 	 i f   l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   1 0   |   l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   2 
 	 	           |   ( l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   9 
 	 	           &   ( l o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 
 	 	           |   ( l o p _ p t r   - >   d a t a _ n a m e . b i n _ 1 8   &   ^ l o p _ p t r   - >   d a t a _ n a m e . s u b s c r i p t e d ) ) ) 
 	 	 t h e n   d o ; 
 
 
 	 	 	 i f   l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   1 0 
 	 	 	 t h e n   d o ; 
 	 	 	 	 t e m p _ l o p _ p t r   =   a d d r   ( b i n _ 3 6 _ l o p ) ; 
 	 	 	 	 b i n _ 3 6 _ l o p . s e g   =   l o p _ p t r   - >   i n d e x _ n a m e . s e g _ n u m ; 
 	 	 	 	 b i n _ 3 6 _ l o p . o f f s e t   =   l o p _ p t r   - >   i n d e x _ n a m e . o f f s e t   +   4 ; 
 	 	 	 	 l o p _ p t r   =   t e m p _ l o p _ p t r ; 
 	 	 	           e n d ; 
 
 
 
 	 	 	 i f   r o p _ p t r   - >   d a t a _ n a m e . t y p e   =   1 0 
 	 	 	 t h e n   d o ; 
 	 	 	 	 t e m p _ r o p _ p t r   =   a d d r   ( b i n _ 3 6 _ r o p ) ; 
 	 	 	 	 b i n _ 3 6 _ r o p . s e g   =   r o p _ p t r   - >   i n d e x _ n a m e . s e g _ n u m ; 
 	 	 	 	 b i n _ 3 6 _ r o p . o f f s e t   =   r o p _ p t r   - >   i n d e x _ n a m e . o f f s e t   +   4 ; 
 	 	 	 	 r o p _ p t r   =   t e m p _ r o p _ p t r ; 
 	 	 	           e n d ; 
 
 	 	 	 i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ l e s s ; 
 	 	 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ l e s s 
 	 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ g r e a t e r ; 
 
 
 	 	 	 i f   l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   2   |   r o p _ p t r   - >   d a t a _ n a m e . t y p e   =   2 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 c a l l   n u m _ l i t _ c o m p   ( l o p _ p t r ,   r o p _ p t r ,   e q u a l _ f l a g ,   l e s s _ f l a g ,   g r e a t e r _ f l a g ) ; 
 
 	 	 	 	 g o t o   t r a _ l a b e l ; 
 	 	 	           e n d ; 
 
 
 
 	 	 	 i f   r o p _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	 t h e n   d o ; 
 	 	 	 	 i f   ( s u b s t r   ( u n s p e c   ( r o p _ p t r   - >   d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 1 0 " b ) 
 	 	 	 	           &   ( l o p _ p t r   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	 	           &   s u b s t r   ( u n s p e c   ( l o p _ p t r   - >   d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 1 0 " b ) 
 	 	 	 	 t h e n   d o ; 
 
 	 	 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 4 ,   0 ,   b i n _ 1 8 _ t y p e 9 . o f f ) ; 
 
 	 	 	 	 	 m o v e _ b i n _ 1 8 . p t 2   =   r o p _ p t r ; 
 	 	 	 	 	 m o v e _ b i n _ 1 8 . p t 3   =   a d d r   ( b i n _ 1 8 _ t y p e 9 ) ; 
 	 	 	 	 	 m o v e _ b i n _ 1 8 . p t 4   =   a d d r   ( b i n _ 1 8 _ t y p e 1 9 ) ; 
 
 	 	 	 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m o v e _ b i n _ 1 8 ) ) ; 
 
 
 	 	 	 	 	 c a l l   c o m p 6 _ p r o c   ( l o p _ p t r ,   a d d r   ( b i n _ 1 8 _ t y p e 9 ) ) ; 
 
 	 	 	 	 	 g o t o   t r a _ l a b e l ; 
 	 	 	 	           e n d ; 
 
 	 	 	 	 e l s e   i f   s u b s t r   ( u n s p e c   ( r o p _ p t r   - >   d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 1 0 " b 
 	 	 	 	           |   ( s u b s t r   ( u n s p e c   ( r o p _ p t r   - >   d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 0 0 " b 
 	 	 	 	           &   l o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 ) 
 	 	 	 	 t h e n   d o ; 
 	 	 	 	 	 t e m p _ l o p _ p t r   =   l o p _ p t r ; 
 	 	 	 	 	 l o p _ p t r   =   r o p _ p t r ; 
 	 	 	 	 	 r o p _ p t r   =   t e m p _ l o p _ p t r ; 
 	 	 	 	 	 i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 	 	 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ l e s s ; 
 	 	 	 	 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ l e s s 
 	 	 	 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ g r e a t e r ; 
 	 	 	 	           e n d ; 
 
 	 	 	           e n d ; 
 
 
 	 	 	 c a l l   c o m p 6 _ p r o c   ( l o p _ p t r ,   r o p _ p t r ) ; 
 
 	 	 	 g o t o   t r a _ l a b e l ; 
 	 	           e n d ; 
 
 	           e n d ; 
 
 
 / *     B a s e   d a t a n a m e   t o k e n   t e m p l a t e   o n   t h e   l e f t   o p e r a n d     * / 
 	 d n _ p t r   =   l o p _ p t r ; 
 
 	 i f   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e   / *     M u s t   b e   a   l i t e r a l   o r   f i g .   c o n s t .   Z E R O   o r   i n d e x   a n m e     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   d a t a _ n a m e . u s a g e _ i n d e x )   / *     u s a g e   i n d e x     i t e m     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   ( d a t a _ n a m e . b i n _ 1 8   |   d a t a _ n a m e . b i n _ 3 6 ) )   / *     f i x e d   b i n a r y   d a t a   t y p e     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   d a t a _ n a m e . i t e m _ s i g n e d   &   ^ d a t a _ n a m e . s i g n _ s e p a r a t e ) 
 	 	 	 	 	 	 / *     o v e r p u n c h   s i g n     * / 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   m u s t   b e   c o n v e r t e d   t o   d e c i m a l     * / 
 
 	 	 c a l l   c o n v e r t _ t o _ d e c   ( l o p _ p t r ,   o u t 1 _ p t r ) ; 
 
 	 	 l o p _ p t r   =   o u t 1 _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   m u s t   b e   c o n v e r t e d   t o   d e c i m a l     * / 
 
 
 / *     B a s e   d a t a n a m e   t e m p l a t e   o n   t h e   r i g h t   o p e r a n d     * / 
 
 	 d n _ p t r   =   r o p _ p t r ; 
 
 
 	 i f   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e   / *     M u s t   b e   a   l i t e r a l   o r   f i g .   c o n s t .   Z E R O   o r   i n d e x   a n m e     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   d a t a _ n a m e . u s a g e _ i n d e x )   / *     u s a g e   i n d e x     i t e m     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   ( d a t a _ n a m e . b i n _ 1 8   |   d a t a _ n a m e . b i n _ 3 6 ) )   / *     f i x e d   b i n a r y   d a t a   t y p e     * / 
 	           |   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   d a t a _ n a m e . i t e m _ s i g n e d   &   ^ d a t a _ n a m e . s i g n _ s e p a r a t e ) 
 	 	 	 	 	 	 / *     o v e r p u n c h   s i g n     * / 
 	 t h e n   d o ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   m u s t   b e   c o n v e r t e d   t o   d e c i m a l     * / 
 
 	 	 c a l l   c o n v e r t _ t o _ d e c   ( r o p _ p t r ,   o u t 2 _ p t r ) ; 
 
 	 	 r o p _ p t r   =   o u t 2 _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   m u s t   b e   c o n v e r t e d   t o   d e c i m a l     * / 
 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   5 ; 	 	 	 / *     e i s ,   2   o p e r a n d s     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   2 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   l o p _ p t r ; 
 	 i n p u t _ s t r u c . s e n d _ r e c e i v e   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 2 )   =   r o p _ p t r ; 
 	 i n p u t _ s t r u c . s e n d _ r e c e i v e   ( 2 )   =   0 ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 2 )   =   0 ; 
 
 / *     C a l l   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 / *     I n s e r t   t h e   c m p n   o p c o d e   i n t o   t h e   i n s t r u c t i o n   j u s t   b u i l t     * / 
 
 	 e i s _ p t r   =   i n s t _ p t r ; 
 	 e i s _ i n s t . o p c o d e   =   c m p n _ o p ; 
 
 / *     E m i t   t h e   c m p n   i n s t r u c t i o n     * / 
 
 	 c a l l   c o b o l _ e m i t   ( e i s _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 
 t r a _ l a b e l : 	 	 	 	 	 / *     D e t e r m i n e   t h e   t y p e   o f   t r a n s f e r   i n s t r u c t i o n   t o   b e   g e n e r a t e d     * / 
 	 i _ p t r   =   a d d r   ( e n d _ s t m t . i ) ; 
 
 	 i f   e q u a l _ f l a g   =   0   |   ( l e s s _ f l a g   =   1   &   e n d _ s t m t . e   =   r w k e y _ g r e a t e r )   |   ( g r e a t e r _ f l a g   =   1   &   e n d _ s t m t . e   =   r w k e y _ l e s s ) 
 	 t h e n   t o p c o d e   =   t r a _ o p ; 
 
 	 e l s e   i f   e q u a l _ f l a g   =   1   |   ( l e s s _ f l a g   =   1   &   e n d _ s t m t . e   =   r w k e y _ l e s s ) 
 	           |   ( g r e a t e r _ f l a g   =   1   &   e n d _ s t m t . e   =   r w k e y _ g r e a t e r ) 
 	 t h e n   t o p c o d e   =   n o p _ o p ; 
 
 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 t h e n   d o ; 	 	 	 	 	 / *     G R E A T E R   O R   N O T   G R E A T E R     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t p l _ o p ; 	 	 / *     n o t   g r e a t e r     * / 
 	 	 e l s e   t o p c o d e   =   t m i _ o p ; 	 	 / *     G R E A T E R     * / 
 	           e n d ; 	 	 	 	 	 / *     G R E A T E R   O R   N O T   G R E A T E R     * / 
 
 
 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ l e s s 
 	 t h e n   d o ; 	 	 	 	 	 / *     L E S S   O R   N O T   L E S S     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t m o z _ o p ; 	 	 / *     N O T   L E S S     * / 
 	 	 e l s e   t o p c o d e   =   t p n z _ o p ; 	 	 / *     L E S S     * / 
 	           e n d ; 	 	 	 	 	 / *     L E S S   O R   N O T   L E S S     * / 
 
 
 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ e q u a l 
 	 t h e n   d o ; 	 	 	 	 	 / *     E Q U A L   O R   N O T   E Q U A L     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t n z _ o p ; 	 	 / *     N O T   E Q U A L     * / 
 	 	 e l s e   t o p c o d e   =   t z e _ o p ; 	 	 / *     E Q U A L     * / 
 	           e n d ; 	 	 	 	 	 / *     E Q U A L   O R   N O T   E Q U A L     * / 
 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     A S S U M E   U N E Q U A L     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t z e _ o p ; 	 	 / *     N O T   U N E Q U A L   ( E Q U A L )     * / 
 	 	 e l s e   t o p c o d e   =   t n z _ o p ; 	 	 / *     U N E Q U A L     * / 
 	           e n d ; 	 	 	 	 	 / *     A S S U M E   U N E Q U A L     * / 
 
 
 
 / *     B u i l d   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 	 n o n _ e i s _ w o r d   =   " 0 " b ; 	 	 	 / *     Z e r o   t h e   i n s t r u c t i o n   w o r d     * / 
 	 n o n _ e i s _ p t r   =   a d d r   ( n o n _ e i s _ w o r d ) ; 
 	 n o n _ e i s _ p t r   - >   e i s _ i n s t . o p c o d e   =   t o p c o d e ; 
 
 / *     S a v e   t h e   o f f s e t   i n   t h e   t e x t   s e c t i o n   a t   w h i c h   t h e   t r a n s f e r   i s   t o   b e   i n s e r t e d     * / 
 	 s a v e _ l o c n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 / *     B u i l d   t h e   r e l o c a t i o n   b y t e s     * / 
 	 r e l o c _ s t r u c   ( 1 )   =   " 0 " b ; 
 	 r e l o c _ s t r u c   ( 2 )   =   " 0 " b ; 
 
 / *     E m i t   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 
 	 c a l l   c o b o l _ e m i t   ( n o n _ e i s _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 / *     I s s u e   a   r e f e r e n c e   t o   t h e   t a g   i n   " e n d _ s t m t . h "     * / 
 
 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( f i x e d   ( e n d _ s t m t . h ,   1 7 ) ,   s a v e _ l o c n o ,   n u l l   ( ) ) ; 
 
 
 e x i t _ n u m e r i c _ c o m p a r e : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( n c ) ; / * * / 
 	 r e t u r n ; 
           e n d   n u m e r i c _ c o m p a r e ; 
  
 / * { * / 
 
 c o n v e r t _ t o _ d e c : 
           p r o c   ( i n p u t _ o p _ p t r ,   o u t p u t _ o p _ p t r ) ; 
 
 / *     T h i s   p r o c e d u r e   c o n v e r t s   a   n o n _ n u m e r i c   o p e r a n d   t o   a   n u m e r i c 
 o p e r a n d .     F o r   t h e   R e l e a s e   1 . 5   o f   M u l t i c s   C o b o l ,   o n l y   t h e   f o l l o w i n g 
 o p e r a n d s   a r e   c o n v e r t e d : 
 
 	 1 .   N u m e r i c   l i t e r a l     ( t y p e   2   t o k e n ) 
 	 2 .   F i g u r a t i v e   c o n s t a n t   Z E R O   ( t y p e   1   t o k e n ,   r e s e r v e d 
 	 	 	 w o r d   k e y   =   1 8 0   ) 
 	 3 .   I n d e x   n a m e   ( t y p e   1 0   t o k e n ) 
 	 4 .   I n d e x   d a t a   i t e m   ( t y p e   9   t o k e n ,   u s a g e   i n d e x   b i t   o n ) 
 
 	 5 .   F i x e d   b i n a r y   d a t a   i t e m s   ( t y p e   9   t o k e n s ,   b i n _ 1 8   o r   b i n _ 3 6   b i t s   o n ) 
 
 	 6 .   O v e r p u n c h   s i g n   d a t a   ( t y p e   9   t o k e n ,   s i g n _ s e p a r a t e   o f f   i t e m _ s i g n e d   o n ) 
 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 i n p u t _ o p _ p t r 	 p t r ; 
 d c l 	 o u t p u t _ o p _ p t r 	 p t r ; 
 
 / * 
   i n p u t _ o p _ p t r 	 P o i n t s   t o   t h e   o p e r a n d   f o r   w h i c h   a   n u m e r i c   o p e r a n d 
 	 	 ( t y p e   9 )   i s   t o   b e   c o n s t r u c t e d .     ( i n p u t ) 
 
 o u t p u t _ o p _ p t r 	 P o i n t s   t o   a   b u f f e r   i n   w h i c h   t h e   n u m e r i c 
 	 	 o p e r a n d   ( t y p e   9 )   i s   c o n s t r u c t e d .     ( i n p u t ) 
 
 	 	 I f   i n p u t _ o p _ p t r   p o i n t s   t o   t h e   f i g u r a t i v e   c o n s t a n t 
 	 	 Z E R O ,   t h e n   o u t p u t _ o p _ p t r   w i l l   p o i n t   t o   a   n u m e r i c 
 	 	 o p e r a n d   ( t y p e   9 )   c r e a t e d   f o r   z e r o   o n   o u t p u t . 
 	 	 T h e   t y p e   9   w i l l   n o t   b e   m o v e d   t o   t h e   b u f f e r 
 	 	 s u p p l i e d   b y   t h e   u s e r . 
 
 * / 
 
 / * } * / 
 
 d c l 	 d e s c r i p _ p t r 	 p t r ; 
 d c l 	 d e s c r i p 	 	 b i t   ( 7 2 )   b a s e d   ( d e s c r i p _ p t r ) ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o n v e r t _ t o _ d e c 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ c o n v e r t _ t o _ d e c : 
 	 d n _ p t r   =   i n p u t _ o p _ p t r ; 	 	 	 / *     B a s e   d a t a n a m e   t e m p l a t e   o n   t h e   i n p u t   o p e r a n d   i m a g e     * / 
 
 	 i f   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 	 	 / *     N u m e r i c   l i t e r a l     * / 
 	 t h e n   c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( o u t p u t _ o p _ p t r ,   i n p u t _ o p _ p t r ) ; 
 
 
 	 e l s e   i f   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 t h e n   d o ; 	 	 	 	 	 / *     A S S U M E   Z E R O     * / 
 
 	 	 i f   z e r o _ a l l o c a t e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     A l l o c a t e   n u m e r i c   z e r o     * / 
 	 	 	 t y p e 9 _ z e r o _ p t r   =   a d d r   ( t y p e 9 _ z e r o   ( 1 ) ) ; 
 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t y p e 9 _ z e r o _ p t r ,   a d d r   ( n u m e r i c _ z e r o ) ) ; 
 
 	 	 	 z e r o _ a l l o c a t e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	 	           e n d ; 	 	 	 	 / *   A l l o c a t e   n u m e r i c   z e r o     * / 
 
 
 	 	 o u t p u t _ o p _ p t r   =   t y p e 9 _ z e r o _ p t r ; 
 	           e n d ; 	 	 	 	 	 / *     A S S U M E   Z E R O     * / 
 
 	 e l s e   i f   ( d a t a _ n a m e . t y p e   =   r t c _ i n d e x n a m e   |   d a t a _ n a m e . u s a g e _ i n d e x ) 
 	 t h e n   c a l l   c o b o l _ g e t _ i n d e x _ v a l u e   ( 2 ,   i n p u t _ o p _ p t r ,   o u t p u t _ o p _ p t r ) ; 
 	 	 	 	 	 	 / *     A s s u m e   a n   i n d e x   n a m e     * / 
 
 
 	 e l s e   / *     A s s u m e   f i x e d   b i n a r y   d a t a   i t e m   o r   o v e r p u n c h   s i g n   d a t a   i t e m .     * / 
 	           c a l l   c o b o l _ n u m _ t o _ u d t s   ( i n p u t _ o p _ p t r ,   o u t p u t _ o p _ p t r ) ; 
 
 
 e x i t _ c o n v e r t _ t o _ d e c : 
 	 r e t u r n ; 
           e n d   c o n v e r t _ t o _ d e c ; 
  
 / * 	 * * * * * * * * * * * * * * * * * * * * 	 * / 
 c o m p 6 _ p r o c : 
           p r o c   ( l o p _ p t r ,   r o p _ p t r ) ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( c 6 ) ; / * * / 
 
 / *   T h i s   p r o c e d u r e   i s   u s e d   t o   g e n e r a t e   n o n - e i s   i n s t r u c t i o n s   f o r   t h e   c o m p a r i s o n 
 	       o f   c o m p - 6   a n d / o r   c o m p - 7   d a t a . 	 	 	 	 	 * / 
 / *   l o a d   l o n g   o r   s h o r t   b i n   * / 
 d c l 	 l o p _ p t r 	 	 p t r , 
 	 r o p _ p t r 	 	 p t r ; 	 	 	 / * 	 e a a 	 0 , x n 
 	 a r s 	 1 8 	 	 * / 
 d c l 	 e a a _ b u f f 	 	 ( 2 )   b i t   ( 3 6 )   s t a t i c 
 	 	 	 i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 " b ,   " 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 " b ) ; 
 d c l 	 i n s t _ c o d e 	 	 f i x e d   b i n   s t a t i c   i n i t   ( 1 ) ; 
 d c l 	 i n s t _ o p 	 	 ( 5 )   b i t   ( 1 0 )   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 0 1 0 " b , 
 	 	 	 	 	 	 / *   l d a   * / 
 	 	 	 " 0 1 0 0 1 0 0 0 0 0 " b , 	 	 / *   l d x n * / 
 	 	 	 " 1 1 1 0 1 0 0 0 0 0 " b , 	 	 / *   l x l n * / 
 	 	 	 " 0 0 1 0 0 1 1 0 1 0 " b , 	 	 / *   c m p a   * / 
 	 	 	 " 0 0 1 0 0 0 0 0 0 0 " b ) ; 	 	 / *   c m p x   * / 
 	 	 	 	 	 	 / * 	 T h e   f o l l o w i n g s   a r e   f o r   t h e   r e g i s t e r   s t r u c t u r e 	 * / 
 	 	 	 	 	 	 / *   r e g _ s t r u c _ p t r   i s   a   p o i n t e r   t o   t h e   f o l l o w i n g   s t r u c t u r e   ( i n p u t )   * / 
 
 d c l 	 1   r e g _ s t r u c 	 s t a t i c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n u m 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 1 ) , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   p o i n t e r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 s t a r t _ c o m p 6 _ p r o c : 
 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   l o p _ p t r ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 	 i f   l o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 
 	 t h e n   d o ; 
 	 	 r e g _ s t r u c . w h a t _ r e g   =   1 ; 
 	 	 i n s t _ c o d e   =   1 ; 
 	           e n d ; 
 
 
 	 e l s e   d o ; 
 	 	 r e g _ s t r u c . w h a t _ r e g   =   1 4 ; 
 	 	 i f   s u b s t r   ( u n s p e c   ( l o p _ p t r   - >   d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 1 0 " b 
 	 	 t h e n   i n s t _ c o d e   =   3 ; 
 	 	 e l s e   i n s t _ c o d e   =   2 ; 
 	           e n d ; 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g _ s t r u c ) ) ; 
 
 	 i n s t _ s t r u c . f i l l 1 _ o p   =   i n s t _ o p   ( i n s t _ c o d e ) ; 
 	 i f   i n s t _ c o d e   ^ =   1 
 	 t h e n   s u b s t r   ( i n s t _ s t r u c . f i l l 1 _ o p ,   7 ,   3 )   =   s u b s t r   ( r e g _ s t r u c . r e g _ n u m ,   2 ,   3 ) ; 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   r o p _ p t r ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 	 i f   r o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 
 	 t h e n   d o ; 
 
 
 	 	 i f   i n s t _ c o d e   ^ =   1 
 	 	 t h e n   d o ; 
 	 	 	 s u b s t r   ( e a a _ b u f f   ( 1 ) ,   3 3 ,   4 )   =   r e g _ s t r u c . r e g _ n u m ; 
 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( e a a _ b u f f   ( 1 ) ) ,   n u l l ,   2 ) ; 
 
 	 	           e n d ; 
 
 	 	 i n s t _ c o d e   =   4 ; 
 	           e n d ; 
 
 	 e l s e   i n s t _ c o d e   =   5 ; 
 	 i n s t _ s t r u c . f i l l 1 _ o p   =   i n s t _ o p   ( i n s t _ c o d e ) ; 
 	 i f   i n s t _ c o d e   ^ =   4 
 	 t h e n   s u b s t r   ( i n s t _ s t r u c . f i l l 1 _ o p ,   7 ,   3 )   =   s u b s t r   ( r e g _ s t r u c . r e g _ n u m ,   2 ,   3 ) ; 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g _ s t r u c ) ) ; 
 
 e x i t _ c o m p 6 _ p r o c : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( c 6 ) ; / * * / 
 	 r e t u r n ; 
           e n d   c o m p 6 _ p r o c ; 
  
 n u m _ l i t _ c o m p : 
           p r o c   ( l o p _ p t r ,   r o p _ p t r ,   e q u a l _ f l a g ,   l e s s _ f l a g ,   g r e a t e r _ f l a g ) ; 
 
 / *   T h i s   p r o c e d u r e   i s   u s e d   t o   s e t   t h e   c o m p a r i s o n   f o r 
 	       n u m e r i c a l   l i t e r a l   i n   o n e   o r   b o t h   o p e r a n d s . 	 	 * / 
 
 d c l 	 l o p _ p t r 	 	 p t r , 
 	 r o p _ p t r 	 	 p t r , 
 	 t e m p _ l o p _ p t r 	 p t r , 
 	 t e m p _ t o k e n _ p t r 	 p t r , 
 	 t e m p 	 	 f i x e d   b i n , 
 	 i n _ o p 	 	 f i x e d   b i n , 
 	 l _ w i n 	 	 f i x e d   b i n , 
 	 i c _ f l a g 	 	 f i x e d   b i n , 
 	 n o n z e r o _ p r 	 f i x e d   b i n , 
 	 ( i ,   j ,   k ) 	 	 f i x e d   b i n ; 
 d c l 	 ( e q u a l _ f l a g ,   l e s s _ f l a g ,   g r e a t e r _ f l a g ) 
 	 	 	 f i x e d   b i n ; 
 d c l 	 b i n _ 3 6 _ b u f f 	 c h a r   ( 1 2 0 ) ; 
 d c l 	 i n s t _ c o d e 	 	 f i x e d   b i n   s t a t i c   i n i t   ( 1 ) ; 
 d c l 	 i n s t _ o p 	 	 ( 4 )   b i t   ( 1 0 )   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 0 1 0 " b , 
 	 	 	 	 	 	 / *   l d a   * / 
 	 	 	 " 0 1 0 0 1 0 0 0 0 0 " b , 	 	 / *   l d x n * / 
 	 	 	 " 1 1 1 0 1 0 0 0 0 0 " b , 	 	 / *   l x l n * / 
 	 	 	 " 0 0 1 0 0 1 1 0 1 0 " b ) ; 	 	 / *   c m p a   * / 
 d c l 	 c o m p a r e _ i n s t 	 ( 2 )   b i t   ( 3 6 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 " b , 
 	 	 	 	 	 	 / *   c m p a 	 n , d l 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ) ; 
 	 	 	 	 	 	 / *   c m p x n 	 n , d u 	 * / 
 	 	 	 	 	 	 / * 	 T h e   f o l l o w i n g s   a r e   f o r   t h e   r e g i s t e r   s t r u c t u r e 	 * / 
 	 	 	 	 	 	 / *   r e g _ s t r u c _ p t r   i s   a   p o i n t e r   t o   t h e   f o l l o w i n g   s t r u c t u r e   ( i n p u t )   * / 
 
 d c l 	 1   r e g _ s t r u c 	 s t a t i c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n u m 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 1 ) , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   p o i n t e r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 s m a l l e s t _ l o n g _ b i n a r y 
 	 	 	 f i x e d   d e c   ( 1 1 ,   0 )   i n i t   ( - 3 2 3 5 9 7 3 8 3 6 8 ) ; 
 d c l 	 l a r g e s t _ l o n g _ b i n a r y   f i x e d   d e c   ( 1 1 ,   0 )   i n i t   ( 3 2 3 5 9 7 3 8 3 5 7 ) ; 
 d c l 	 s m a l l e s t _ s h o r t _ b i n a r y 
 	 	 	 f i x e d   d e c   ( 6 ,   0 )   i n t   s t a t i c   i n i t   ( - 1 3 1 0 7 2 ) ; 
 d c l 	 l a r g e s t _ s h o r t _ b i n a r y 
 	 	 	 f i x e d   d e c   ( 6 ,   0 )   i n t   s t a t i c   i n i t   ( 1 3 1 0 7 1 ) ; 
 d c l 	 Z E R O 	 	 c h a r   ( 3 2 )   s t a t i c   i n i t   ( ( 3 2 ) " 0 " ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 w o r k _ f d e c 	 	 f i x e d   d e c   ( 1 9 ,   0 ) ; 
 d c l 	 w o r k _ f d e c _ s t r i n g 	 c h a r   ( 2 0 )   b a s e d   ( w o r k _ f d e c _ p t r ) ; 
 d c l 	 w o r k _ f d e c _ p t r 	 p t r ; 
 d c l 	 ( L P ,   R P ) 	 	 p t r ; 
 
 d c l 	 ( L S ,   R S ,   L P L ,   R P L ,   S I ,   S O ,   S F ) 
 	 	 	 f i x e d   b i n ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n ; 
 d c l 	 l o n g _ b i n _ c o n s t 	 f i x e d   b i n   ( 3 5 ) ; 
 d c l 	 l o n g _ b i n _ p t r 	 p t r ; 
 d c l 	 l o n g _ b i n _ s t r i n g 	 c h a r   ( 4 )   b a s e d   ( l o n g _ b i n _ p t r ) ; 
 
 s t a r t _ n u m _ l i t _ c o m p : 
 	 i c _ f l a g   =   0 ; 
 	 g r e a t e r _ f l a g   =   0 ; 
 	 l e s s _ f l a g   =   0 ; 
 	 e q u a l _ f l a g   =   2 ; 
 
 
 	 i f   l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   2 
 	 t h e n   d o ; 
 	 	 t e m p _ l o p _ p t r   =   l o p _ p t r ; 
 	 	 l o p _ p t r   =   r o p _ p t r ; 
 	 	 r o p _ p t r   =   t e m p _ l o p _ p t r ; 
 	 	 i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ l e s s ; 
 	 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ l e s s 
 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ g r e a t e r ; 
 
 
 	 	 i f   l o p _ p t r   - >   d a t a _ n a m e . t y p e   =   2 
 	 	 t h e n   d o ; 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 e q u a l _ f l a g   =   0 ; 
 	 	 	 i f   l o p _ p t r   - >   n u m e r i c _ l i t . s i g n   =   " - "   |   r o p _ p t r   - >   n u m e r i c _ l i t . s i g n   =   " - " 
 	 	 	 t h e n   i f   l o p _ p t r   - >   n u m e r i c _ l i t . s i g n   ^ =   r o p _ p t r   - >   n u m e r i c _ l i t . s i g n 
 	 	 	           t h e n   d o ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	           e q u a l _ f l a g   =   1 ; 
 	 	 	 	           r e t u r n ; 
 	 	 	 	 e n d ; 
 
 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 i f   l o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t   > =   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 t h e n   d o ; 
 	 	 	 	 L P   =   l o p _ p t r ; 	 / *   L   p r e c e d e s   R   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 R P   =   r o p _ p t r ; 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e n d ; 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 e l s e   d o ; 
 	 	 	 	 L P   =   r o p _ p t r ; 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 R P   =   l o p _ p t r ; 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e n d ; 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 L S   =   L P   - >   n u m e r i c _ l i t . p l a c e s ; / *   L   s i z e   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 R S   =   R P   - >   n u m e r i c _ l i t . p l a c e s ; / *   R   s i z e   * / 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 L P L   =   L P   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ; 
 	 	 	 	 	 	 / *   L   p l a c e s   l e f t   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 R P L   =   R P   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ; 
 	 	 	 	 	 	 / *   R   p l a c e s   l e f t   * / 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 S I   =   L P L   -   R P L ; 	 	 / *   i n i t i a l   s i z e   * / 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 i f   S I   ^ =   0 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 t h e n   i f   s u b s t r   ( L P   - >   n u m e r i c _ l i t . l i t e r a l ,   1 ,   S I )   ^ =   Z E R O 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           t h e n   d o ; 
 	 	 	 	           e q u a l _ f l a g   =   1 ; / *   i n i t i a l   s t r i n g   ^ =   0   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	           r e t u r n ; 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 e n d ; 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 S O   =   m i n   ( L S   -   S I ,   R S ) ; 	 / *   o v e r l a p   s i z e   * / 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 i f   S O   =   0 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 t h e n   i f   s u b s t r   ( R P   - >   n u m e r i c _ l i t . l i t e r a l ,   1 ,   R S )   ^ =   Z E R O 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           t h e n   d o ; 
 	 	 	 	           e q u a l _ f l a g   =   1 ; / *   f i n a l   s t r i n g   ^ =   0   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	           r e t u r n ; 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 e n d ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e l s e   r e t u r n ; 	 	 / *   n o   o v e r l a p ,   b o t h   0   * / 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 i f   s u b s t r   ( L P   - >   n u m e r i c _ l i t . l i t e r a l ,   S I   +   1 ,   S O ) 
 	 	 	           ^ =   s u b s t r   ( R P   - >   n u m e r i c _ l i t . l i t e r a l ,   1 ,   S O ) 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 t h e n   d o ; 
 	 	 	 	 e q u a l _ f l a g   =   1 ; 	 / *   o v e r l a p p i n g   s t r i n g s   n o t   e q u a l   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 r e t u r n ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e n d ; 
 
 / * [ 4 . 2 - 2 ] * / 
 	 	 	 i f   S O   =   R S 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 t h e n   i f   S I   +   S O   =   L S 	 / *   L   e x t e n d s   b e y o n d   R   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           t h e n   r e t u r n ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e l s e   i f   s u b s t r   ( L P   - >   n u m e r i c _ l i t . l i t e r a l ,   S I   +   S O   +   1 ,   L S   -   S I   -   S O )   ^ =   Z E R O 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           t h e n   d o ; 
 	 	 	 	           e q u a l _ f l a g   =   1 ; / *   f i n a l   s t r i n g   ^ =   0   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	           r e t u r n ; 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 e n d ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e l s e   r e t u r n ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 e l s e   i f   s u b s t r   ( R P   - >   n u m e r i c _ l i t . l i t e r a l ,   S O   +   1 ,   R S   -   S O )   ^ =   Z E R O 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 t h e n   d o ; 
 	 	 	 	 e q u a l _ f l a g   =   1 ; 	 / *   f i n a l   s t r i n g   ^ =   0   * / 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 	 r e t u r n ; 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	           e n d ; 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 	 e l s e   r e t u r n ; 
 	 	           e n d ; 
 
 	           e n d ; 
 
 	 n o n z e r o _ p r   =   0 ; 
 	 i f   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ r i g h t   ^ =   0 
 	 t h e n   d o   k   =   1   t o   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ r i g h t   w h i l e   ( n o n z e r o _ p r   =   0 ) ; 
 	 	 	 	 	 	 / * [ 4 . 2 - 2 ] * / 
 	 	 i f   s u b s t r   ( r o p _ p t r   - >   n u m e r i c _ l i t . l i t e r a l ,   k   +   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ,   1 )   ^ =   " 0 " 
 	 	 t h e n   n o n z e r o _ p r   =   1 ; 
 	           e n d ; 
 
 	 w o r k _ f d e c   =   0 ; 
 	 w o r k _ f d e c _ p t r   =   a d d r   ( w o r k _ f d e c ) ; 
 	 i f   r o p _ p t r   - >   n u m e r i c _ l i t . s i g n   =   " - " 
 	 t h e n   s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   1 ,   1 )   =   " - " ; 
 	 e l s e   s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   1 ,   1 )   =   " + " ; 
 	 s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   2 1   -   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ,   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t )   = 
 	           s u b s t r   ( r o p _ p t r   - >   n u m e r i c _ l i t . l i t e r a l ,   1 ,   r o p _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ) ; 
 
 
 	 i f   n o n z e r o _ p r   =   1 
 	 t h e n   d o ; 
 
 
 	 	 i f   e n d _ s t m t . e   =   r w k e y _ e q u a l 
 	 	 t h e n   d o ; 
 	 	 	 i f   i b i t . n o t 
 	 	 	 t h e n   e q u a l _ f l a g   =   1 ; 
 	 	 	 e l s e   e q u a l _ f l a g   =   0 ; 
 	 	 	 r e t u r n ; 
 	 	           e n d ; 
 
 
 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   d o ; 
 	 	 	 i b i t . n o t   =   " 0 " b ; 
 	 	 	 i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 	 	 t h e n   e n d _ s t m t . e   =   r w k e y _ l e s s ; 
 	 	 	 e l s e   e n d _ s t m t . e   =   r w k e y _ g r e a t e r ; 
 	 	           e n d ; 
 
 	 	 i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 	 t h e n   i f   r o p _ p t r   - >   n u m e r i c _ l i t . s i g n   =   " - " 
 	 	           t h e n   w o r k _ f d e c   =   w o r k _ f d e c   -   1 ; 
 	 	           e l s e   w o r k _ f d e c   =   w o r k _ f d e c   +   1 ; 
 	           e n d ; 
 
 
 
 	 i f   l o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 
 	 t h e n   d o ; 
 	 	 i f   w o r k _ f d e c   >   l a r g e s t _ l o n g _ b i n a r y 
 	 	 t h e n   l e s s _ f l a g   =   1 ; 
 	 	 e l s e   i f   w o r k _ f d e c   <   s m a l l e s t _ l o n g _ b i n a r y 
 	 	 t h e n   g r e a t e r _ f l a g   =   1 ; 	 	 / * [ 4 . 2 - 1 ] * / 
 	 	 e l s e   i f   w o r k _ f d e c   >   l a r g e s t _ s h o r t _ b i n a r y   |   s u b s t r   ( w o r k _ f d e c _ s t r i n g ,   1 ,   1 )   =   " - " 
 	 	 t h e n   i c _ f l a g   =   1 ; 
 	           e n d ; 
 
 
 	 e l s e   d o ; 
 	 	 i f   w o r k _ f d e c   >   l a r g e s t _ s h o r t _ b i n a r y 
 	 	 t h e n   l e s s _ f l a g   =   1 ; 
 	 	 e l s e   i f   w o r k _ f d e c   <   s m a l l e s t _ s h o r t _ b i n a r y 
 	 	 t h e n   g r e a t e r _ f l a g   =   1 ; 
 	           e n d ; 
 
 	 i f   l e s s _ f l a g   =   1   |   g r e a t e r _ f l a g   =   1 
 	 t h e n   r e t u r n ; 
 	 l o n g _ b i n _ c o n s t   =   b i n a r y   ( w o r k _ f d e c ) ; 
 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   l o p _ p t r ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 	 i f   l o p _ p t r   - >   d a t a _ n a m e . b i n _ 3 6 
 	 t h e n   d o ; 
 	 	 r e g _ s t r u c . w h a t _ r e g   =   1 ; 
 	 	 i n s t _ c o d e   =   1 ; 
 	           e n d ; 
 
 
 	 e l s e   d o ; 
 	 	 r e g _ s t r u c . w h a t _ r e g   =   1 4 ; 
 	 	 i f   s u b s t r   ( u n s p e c   ( l o p _ p t r   - >   d a t a _ n a m e . o f f s e t ) ,   3 5 ,   2 )   =   " 1 0 " b 
 	 	 t h e n   i n s t _ c o d e   =   3 ; 
 	 	 e l s e   i n s t _ c o d e   =   2 ; 
 	           e n d ; 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 	 c a l l   c o b o l _ r e g i s t e r $ l o a d   ( a d d r   ( r e g _ s t r u c ) ) ; 
 
 	 i n s t _ s t r u c . f i l l 1 _ o p   =   i n s t _ o p   ( i n s t _ c o d e ) ; 
 	 i f   i n s t _ c o d e   ^ =   1 
 	 t h e n   s u b s t r   ( i n s t _ s t r u c . f i l l 1 _ o p ,   7 ,   3 )   =   s u b s t r   ( r e g _ s t r u c . r e g _ n u m ,   2 ,   3 ) ; 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 
 	 i f   i c _ f l a g   =   1 
 	 t h e n   d o ; 
 	 	 l o n g _ b i n _ p t r   =   a d d r   ( l o n g _ b i n _ c o n s t ) ; 
 
 	 	 c a l l   c o b o l _ p o o l $ s e a r c h _ o p   ( l o n g _ b i n _ s t r i n g ,   0 ,   r e t _ o f f s e t ,   i n _ o p ) ; 
 
 	 	 i f   i n _ o p   =   1 
 	 	 t h e n   t e m p   =   3 ; 
 	 	 e l s e   t e m p   =   3 0 0 0 ; 
 	 	 t e m p _ t o k e n _ p t r   =   a d d r   ( b i n _ 3 6 _ b u f f ) ; 
 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n   ( t e m p _ t o k e n _ p t r ,   t e m p ,   r e t _ o f f s e t ) ; 
 
 	 	 i n p u t _ s t r u c . t y p e   =   2 ; 
 	 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   t e m p _ t o k e n _ p t r ; 
 	 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 
 	 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 	 	 i n s t _ s t r u c . f i l l 1 _ o p   =   i n s t _ o p   ( 4 ) ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 	           e n d ; 
 
 
 	 e l s e   d o ; 
 
 
 	 	 i f   i n s t _ c o d e   ^ =   1 
 	 	 t h e n   d o ; 
 	 	 	 i n s t _ c o d e   =   2 ; 
 	 	 	 s u b s t r   ( c o m p a r e _ i n s t   ( i n s t _ c o d e ) ,   2 5 ,   3 )   =   s u b s t r   ( r e g _ s t r u c . r e g _ n u m ,   2 ,   3 ) ; 
 	 	           e n d ; 
 
 	 	 s u b s t r   ( c o m p a r e _ i n s t   ( i n s t _ c o d e ) ,   1 ,   1 8 )   =   s u b s t r   ( u n s p e c   ( l o n g _ b i n _ c o n s t ) ,   1 9 ,   1 8 ) ; 
 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( c o m p a r e _ i n s t   ( i n s t _ c o d e ) ) ,   n u l l ,   1 ) ; 
 
 	           e n d ; 
 
 
 	 c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g _ s t r u c ) ) ; 
 
 	 r e t u r n ; 
 
 e x i t _ n u m _ l i t _ c o m p : 
 	 r e t u r n ; 
           e n d   n u m _ l i t _ c o m p ; 
  
 / * { * / 
 a l p h a _ c o m p a r e : 
           p r o c   ( l o p _ p t r ,   r o p _ p t r ) ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( a c ) ; / * * / 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   a n   a l p h a n u m e r i c   c o m p a r i s o n . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 l o p _ p t r 	 	 p t r ; 
 d c l 	 r o p _ p t r 	 	 p t r ; 
 
 / * 
 l o p _ p t r 	 	 P o i n t s   t o   t h e   l e f t   o p e r a n d   o f   t h e   a l p h a n u m e r i c 
 	 	 c o m p a r i s o n .     ( i n p u t ) 
 r o p _ p t r 	 	 P o i n t s   t o   t h e   r i g h t   o p e r a n d   o f   t h e   a l p h a n u m e r i c 
 	 	 c o m p a r i s o n .     ( i n p u t ) 
 * / 
 
 / * } * / 
 
 / *     W o r k   b u f f e r s   i n   w h i c h   t h e   c o n v e r t _ t o _ a l p h a   p r o c e d u r e   c a n   b u i l d 
 d a t a n a m e   ( t y p e   9 )   o p e r a n d s     * / 
 
 d c l 	 w k b u f f 1 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 w k b u f f 2 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 w k b u f f 1 _ p t r 	 p t r ; 
 d c l 	 w k b u f f 2 _ p t r 	 p t r ; 
 
 / *     W o r k   b u f f e r s   i n   w h i c h   d a t a n a m e   ( t y p e   9 )   o p e r a n d s   a r e   b u i l t   i f   c o d e   i s 
 
 t o   b e   g e n e r a t e d   t o   c o n v e r t   f r o m   A S C I I   t o   E B C D I C     * / 
 
 d c l 	 w k b u f f 3 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 
 d c l 	 w k b u f f 4 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 w k b u f f 3 _ p t r 	 p t r ; 
 d c l 	 w k b u f f 4 _ p t r 	 p t r ; 
 
 / *     V a r i a b l e s   i n   w h i c h   t h e   C M P C   f i l l e r   c h a r a c t e r   a n d   f i l l e r 
 h i e r a r c h y   a r e   s a v e d .     * / 
 
 d c l 	 c m p c _ f i l l e r 	 c h a r   ( 1 ) ; 
 d c l 	 f i l l e r _ h i e r 	 f i x e d   b i n ; 
 
 / *     W o r k   v a r i a b l e s     * / 
 
 d c l 	 t e m p _ c m p c _ f i l l e r 	 c h a r   ( 1 ) ; 
 d c l 	 t e m p _ f i l l e r _ h i e r 	 f i x e d   b i n ; 
 d c l 	 t e m p _ o p _ p t r 	 p t r ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 a l p h a _ c o m p a r e 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ a l p h a _ c o m p a r e : 
 	 c m p c _ f i l l e r   =   "   " ; 
 	 f i l l e r _ h i e r   =   0 ; 
 
 / *     C h e c k   t o   s e e   i f   t h e   l e f t   o p e r a n d   n e e d s   c o n v e r s i o n     * / 
 
 	 d n _ p t r   =   l o p _ p t r ; 
 	 i f   ( d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e 
 	           |   ( ^ d a t a _ n a m e . a l p h a n u m   &   ^ d a t a _ n a m e . a l p h a n u m _ e d i t e d 
 	           &   ^ d a t a _ n a m e . n u m e r i c _ e d i t e d   / *     N U M E R I C   E D I T E D   I S   A L P H A N U M E R I C ! !     * /   &   ^ d a t a _ n a m e . a l p h a b e t i c 
 	           &   ^ d a t a _ n a m e . a l p h a b e t i c _ e d i t e d ) ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     L e f t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a l p h a n u m e r i c   d a t a   n a m e     * / 
 	 	 w k b u f f 1 _ p t r   =   a d d r   ( w k b u f f 1   ( 1 ) ) ; 
 
 	 	 c a l l   c o n v e r t _ t o _ a l p h a   ( l o p _ p t r ,   r o p _ p t r ,   w k b u f f 1 _ p t r ,   t e m p _ c m p c _ f i l l e r ,   t e m p _ f i l l e r _ h i e r ) ; 
 
 	 	 l o p _ p t r   =   w k b u f f 1 _ p t r ; 
 	 	 i f   t e m p _ f i l l e r _ h i e r   >   f i l l e r _ h i e r 
 	 	 t h e n   d o ; 	 	 	 	 / *     F i l l e r   c h a r a c t e r   r e t u r n e d   m u s t   b e   u s e d   i n   t h e   c m p c   i n s t r u c t i o n     * / 
 
 	 	 	 c m p c _ f i l l e r   =   t e m p _ c m p c _ f i l l e r ; 
 	 	 	 f i l l e r _ h i e r   =   t e m p _ f i l l e r _ h i e r ; 
 	 	           e n d ; 	 	 	 	 / *     F i l l e r   c h a r a c t e r   r e t u r n e d   m u s t   b e   u s e d   i n   t h e   c m p c   i n s t r u c t i o n     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     L e f t   o p e r a n d   n e e d s   c o n v e r s s o n   t o   a l p h a n u m e r i c   d a t a   n a m e     * / 
 
 
 / *     C h e c k   t o   s e e   i f   t h e   r i g h t   o p e r a n d   n e e d s   c o n v e r s i o n     * / 
 
 	 d n _ p t r   =   r o p _ p t r ; 
 
 	 i f   ( d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e 
 	           |   ( ^ d a t a _ n a m e . a l p h a n u m   &   ^ d a t a _ n a m e . a l p h a n u m _ e d i t e d 
 	           &   ^ d a t a _ n a m e . n u m e r i c _ e d i t e d   / *     N U M E R I C   E D I T E D   I S   A L P H A N U M E R I C ! !     * /   &   ^ d a t a _ n a m e . a l p h a b e t i c 
 	           &   ^ d a t a _ n a m e . a l p h a b e t i c _ e d i t e d ) ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a l p h a n u m e r i c   d a t a   n a m e     * / 
 	 	 w k b u f f 2 _ p t r   =   a d d r   ( w k b u f f 2   ( 1 ) ) ; 
 
 	 	 c a l l   c o n v e r t _ t o _ a l p h a   ( r o p _ p t r ,   l o p _ p t r ,   w k b u f f 2 _ p t r ,   t e m p _ c m p c _ f i l l e r ,   t e m p _ f i l l e r _ h i e r ) ; 
 
 	 	 r o p _ p t r   =   w k b u f f 2 _ p t r ; 
 	 	 i f   t e m p _ f i l l e r _ h i e r   >   f i l l e r _ h i e r 
 	 	 t h e n   d o ; 	 	 	 	 / *     F i l l e r   c h a r a c t e r   r e t u r n e d   m u s t   b e   u s e d   i n   t h e   c m p c   i n s t r u c t i o n     * / 
 
 	 	 	 c m p c _ f i l l e r   =   t e m p _ c m p c _ f i l l e r ; 
 	 	 	 f i l l e r _ h i e r   =   t e m p _ f i l l e r _ h i e r ; 
 	 	           e n d ; 	 	 	 	 / *     F i l l e r   c h a r a c t e r   r e t u r n e d   m u s t   b e   u s e d   i n   t h e   c m p c   i n s t r u c t i o n     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     R i g h t   o p e r a n d   n e e d s   c o n v e r s i o n   t o   a l p h a n u m e r i c   d a t a   n a m e     * / 
 
 / *     D e t e r m i n e   t h e   t y p e   o f   t r a n s f e r   i n s t r u c t i o n   t o   b e   g e n e r a t e d   f o l l o w i n g   t h e   c o m p a r e 
 	 	 (   a n d   r e v e r s e   o p e r a n d s   i f   n e c e s s a r y )     * / 
 
 / *     B a s e   E O S   t e m p l a t e   o n   t h e   E O S   t o k e e     * / 
 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 i _ p t r   =   a d d r   ( e n d _ s t m t . i ) ; 
 	 i f   e n d _ s t m t . e   =   r w k e y _ g r e a t e r 
 	 t h e n   d o ; 	 	 	 	 	 / *     G R E A T E R   O R   N O T   G R E A T E R     * / 
 
 / *     R E V E R S E   O P E R A N D S   F O R   T H E S E   T W O   R E L A T I O N A L   O P E R A T O R S     * / 
 	 	 t e m p _ o p _ p t r   =   l o p _ p t r ; 
 	 	 l o p _ p t r   =   r o p _ p t r ; 
 	 	 r o p _ p t r   =   t e m p _ o p _ p t r ; 
 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t r c _ o p ; 	 	 / *     N O T   G R E A T E R     * / 
 	 	 e l s e   t o p c o d e   =   t n c _ o p ; 	 	 / *     G R E A T E R     * / 
 	           e n d ; 	 	 	 	 	 / *     G R E A T E R   O R   N O T   G R E A T E R     * / 
 
 
 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ l e s s 
 	 t h e n   d o ; 	 	 	 	 	 / *     L E S S   O R   N O T   L E S S     * / 
 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t r c _ o p ; 	 	 / *     N O T   L E S S     * / 
 	 	 e l s e   t o p c o d e   =   t n c _ o p ; 	 	 / *     L E S S     * / 
 	           e n d ; 	 	 	 	 	 / *     L E S S   O R   N O T   L E S S     * / 
 
 
 	 e l s e   i f   e n d _ s t m t . e   =   r w k e y _ e q u a l 
 	 t h e n   d o ; 	 	 	 	 	 / *     E Q U A L   O R   N O T   E Q U A L     * / 
 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t n z _ o p ; 	 	 / *     N O T   E Q U A L     * / 
 	 	 e l s e   t o p c o d e   =   t z e _ o p ; 	 	 / *     E Q U A L     * / 
 	           e n d ; 	 	 	 	 	 / *     E Q U A L   O R   N O T   E Q U A L     * / 
 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     A S S U M E   U N E Q U A L     * / 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t z e _ o p ; 	 	 / *     N O T   U N E Q U A L   ( E Q U A L )     * / 
 	 	 e l s e   t o p c o d e   =   t n z _ o p ; 	 	 / *     U N E Q U A L     * / 
 
 	           e n d ; 	 	 	 	 	 / *     A S S U U M E   U N E Q U A L     * / 
 
 
 
 / *     H E R E ,   T E S T   C O L L A T I N G   S E Q U E N C E   B Y   L O O K I N G   A T   F I X E D   C O M M O N ,   A N D   I F   N E C E S S A R Y , 
 	 G E N E R A T E   C O D E   T O   C O N V E R T   A S C I I   O P E R A N D S   T O   E B C D I E ,   P R I O R   T O   E S T A B L I S H I N g 
 	 a d d r e s s a b i l i t y .     a l s o ,   T H E   F I L L E R   C H A R   M U S T   B E   C O N V E R T E D   F R O M   A S C I I   T O   E B C D I C .     * / 
 
 	 i f   c o b o l _ $ m a i n _ p c s _ p t r   ^ =   n u l l   ( )   |   s o r t _ p c s _ p t r   ^ =   n u l l   ( ) 
 	 	 	 	 	 	 / *     a l p h a b e t   n a m e     * / 
 	 t h e n   c a l l   c o b o l _ t r a n s _ a l p h a b e t   ( l o p _ p t r ,   r o p _ p t r ,   0 ,   0 ,   s o r t _ p c s _ p t r ,   c m p c _ f i l l e r ) ; 
 
 
 / *     E S T A B L I S H   A D D R E S S A B I L I T Y   T O   T H E   T W O   O P E R A N D S     * / 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   t h e   a d d r e s s a b i l i t y   u t i l i t y     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   5 ; 	 	 	 / *     e i s ,   2   o p e r a n d s     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   2 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k s     * / 
 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 1 )   =   l o p _ p t r ; 
 	 i n p u t _ s t r u c . s e n d _ r e c e i v e   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . t o k e n _ p t r   ( 2 )   =   r o p _ p t r ; 
 	 i n p u t _ s t r u c . s e n d _ r e c e i v e   ( 2 )   =   0 ; 
 	 i n p u t _ s t r u c . s i z e _ s w   ( 2 )   =   0 ; 
 
 / *     C a l l   t h e   a d d r e s s a b i l i y t   u t i l i t y     * / 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 / *     I n s e r t   t h e   c m p c   o p c o d e   i n t o   t h e   i n s t r u c t i o n     * / 
 
 	 e i s _ p t r   =   i n s t _ p t r ; 
 	 e i s _ i n s t . o p c o d e   =   c m p c _ o p ; 
 
 / *     I n s e r t   t h e   f i l l e r   c h a r a c t e r   i n t o   t h e   i n s t r u c t i o n     * / 
 
 	 s u b s t r   ( e i s _ i n s t . u n u s e d ,   1 ,   9 )   =   u n s p e c   ( c m p c _ f i l l e r ) ; 
 
 / *     E m i t   t h e   c m p c   i n s t r u c t i o n     * / 
 
 	 c a l l   c o b o l _ e m i t   ( e i s _ p t r ,   r e l o c _ p t r ,   3 ) ; 
 
 
 / *     B u i l d   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 	 n o n _ e i s _ w o r d   =   " 0 " b ; 
 	 n o n _ e i s _ p t r   =   a d d r   ( n o n _ e i s _ w o r d ) ; 
 	 n o n _ e i s _ p t r   - >   e i s _ i n s t . o p c o d e   =   t o p c o d e ; 
 
 / *   S a v e   t h e   o f f s e t   i n   t h e   t e x t   s e c t i o n   a t   w h i c h   t h e   t r a n s f e r   i s   t o   b e   e m i t t e d     * / 
 
 	 s a v e _ l o c n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 / *     B u i l d   t h e   r e l o c a t i o n   b y t e s     * / 
 	 r e l o c _ s t r u c   ( 1 )   =   " 0 " b ; 
 	 r e l o c _ s t r u c   ( 2 )   =   " 0 " b ; 
 
 / *     E m i t   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 	 c a l l   c o b o l _ e m i t   ( n o n _ e i s _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 / *     I s s u e   a   r e f e r e n c e   t o   t h e   t a g   i n   " e n d _ s t m t . h "     * / 
 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( f i x e d   ( e n d _ s t m t . h ,   1 7 ) ,   s a v e _ l o c n o ,   n u l l   ( ) ) ; 
 
 e x i t _ a l p h a _ c o m p a r e : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( a c ) ; / * * / 
 	 r e t u r n ; 
 
           e n d   a l p h a _ c o m p a r e ; 
  
 / * { * / 
 c o n v e r t _ t o _ a l p h a : 
           p r o c   ( o p e r a n d _ p t r ,   o t h e r _ o p e r a n d _ p t r ,   o u t p u t _ o p e r a n d _ p t r ,   e i s _ f i l l e r ,   f i l l e r _ h i e r ) ; 
 
 / * 
 T h i s   p r o c e d u r e   c o n v e r t s   a n   o p e r a n d   t h a t   i s   n o t   a n   a l p h a n u m e r i c   d a t a 
 
 n a m e   t o   a n   a l p h a n u m e r i c   d a t a   n a m e   o p e r a n d .     F o r   t h e   f i r s t   r e l e a s e   o f 
 M u l t i c s   C o b o l ,   t h e   f o l l o w i n g   t y p e s   o f   o p e r a n d s   a r e   c o n v e r t e d : 
 	 1 .   a l p h a n u m e r i c   l i t e r a l   ( t y p e   3   t o k e n ) 
 	 2 .   f i g u r a t i v e   c o n s t a n t s   ( t y p e   1   t o k e n ) 
 	 3 .   n u m e r i c   l i t e r a l   ( t y p e   2   t o k e n ) 
 	 4 .   n u m e r i c   d a t a   n a m e   ( t y p e   9   t o k e n ) 
 	 5 .   f i g u r a t i v e   c o n s t a n t s   o f   t h e   f o r m   A L L   " s t r i n g "   ( t y p e   3   t o k e n ) 
 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 d c l 	 o p e r a n d _ p t r 	 p t r ; 
 d c l 	 o t h e r _ o p e r a n d _ p t r 	 p t r ; 
 d c l 	 o u t p u t _ o p e r a n d _ p t r 	 p t r ; 
 d c l 	 e i s _ f i l l e r 	 c h a r   ( 1 ) ; 
 d c l 	 f i l l e r _ h i e r 	 f i x e d   b i n ; 
 
 / * 
 o p e r a n d _ p t r 	 P o i n t e r   t o   t h e   o p e r a n d   t o   b e   c o n v e r t e d .   ( i n p u t ) 
 o t h e r _ o p e r a d n _ p t r 	 P o i n t e r   t o   t h e   o t h e r   o p e r a n d   ( o t h e r   t h a n   t h a t 
 	 	 p o i n t e d   t o   b y   o p e r a n d _ p t r )   i n   t h e   a l p h a n u m e r i c 
 	 	 c o m p a r e .     ( i n p u t ) 
 o u t p u t _ o p e r a n d _ p t r 	 P o i n t e r   t o   t h e   u s e r   s u p p l i e d   b u f f e r   i n   w h i c h   t h i s 
 	 	 p r o c e d u r e   b u i l d s   a   t o k e n   ( t y p e   9 )   f o r   t h e   o u t p u t 
 	 	 o p e r a n d .     ( i n p u t ) 
 e i s _ f i l l e r   	 O n e   c h a r a c t e r   t h a t   i s   t o   b e   i n s e r t e d   i n t o   t h e 
 	 	 " f i l l "   f i l e d   o f   t h e   C M P C   i n s t r u c t i o n .     ( o u t p u t ) 
 f i l l e r _ h i e r 	 A   c o d e   t h a t   i n d i c a t e s   t h e   " h i e r a r c h y "   o f   t h e   f i l l 
 	 	 c h a r a c t e r   r e t u r n e d   b y   t h i s   p r o c e d u r u e .     T h e 
 	 	 h i e r a r c h y   v a l u e   i s   e q u a l   t o   1   f o r   t h e   f o l l o w i n g 
 	 	 i n p u t   o p e r a n d s : 
 	 	 	 a .   F i g u r a t i v e   c o n s t a n t s   Z E R O ,   S P A C E , 
 	 	 	 Q U O T E , H I G H - V A L U E ,   a n d   L O W - V A L U E . 
 
 	 	 	 b .   F i g u r a t i v e   c o n s t a n t s   o f   t h e   f o r m 
 	 	 	 A L L   " X " .     ( i . e .   o n l y   o n e   c h a r a c t e r 
 	 	 	 i s   s p e c i f i e d   i n   t h e   l i t e r a l   s t r i n g ) 
 
 	 	 T h e   h i e r a r c h y   v a l u e   r e t u r n e d   i s   0   f o r   a l l 
 	 	 o t h e r   i n p u t   o p e r a n d s . 
 
 * / 
 
 / * } * / 
 
 
 
 / *     D e f i n i t i o n   o f   i n p u t   s t r u c t u r e   t o   t h e   m o v e   g e n e r a t o r     * / 
 
 d c l 	 1   m o v e _ t o k e n , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   c o d e 	 	 f i x e d   b i n , 
 	     2   t o k e n _ p t r 	 ( 1 : 5 )   p t r ; 
 
 / *     T e m p o r a r y   w o r k   b u f f e r s     * / 
 
 d c l 	 e o s _ b u f f 	 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 d c l 	 w k b u f f 1 	 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 a l i t _ b u f f e r 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 t e m p _ t y p e 9 _ t o k e n 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 
 / *     V a r i a b l e s   r e q u i r e d   t o   a c c e s s   t h e   d e s c r i p t i o n   b i t s   o f   a   d a t a   n a m e   t o k e n     * / 
 
 d c l 	 d e s c r i p _ p t r 	 p t r ; 
 d c l 	 d e s c r i p 	 	 b i t   ( 7 2 )   b a s e d   ( d e s c r i p _ p t r ) ; 
 
 / *     O t h e r   w o r k   v a r i a b l e s     * / 
 
 d c l 	 s _ l e n g t h 	 	 f i x e d   b i n ; 
 d c l 	 s _ o f f s e t 	 	 f i x e d   b i n ; 
 d c l 	 t _ k e y 	 	 f i x e d   b i n ; 
 d c l 	 t e m p 9 _ p t r 	 	 p t r ; 
 
 d c l 	 d n _ b u f f 	 	 ( 1 : 4 0 )   f i x e d   b i n   b a s e d   ( o u t p u t _ o p e r a n d _ p t r ) ; 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 
 d c l 	 c h a n g e d _ d e s c r i p _ b i t s 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 s a v e _ d n _ p t r 	 p t r ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / *   	 c o n v e r t _ t o _ a l p h a 	 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 s t a r t _ c o n v e r t _ t o _ a l p h a : 
 	 d n _ p t r   =   o p e r a n d _ p t r ; 
 	 e i s _ f i l l e r   =   e i s _ f i l l _ d e f . s p a c e ; 
 	 f i l l e r _ h i e r   =   0 ; 
 	 c h a n g e d _ d e s c r i p _ b i t s   =   " 0 " b ; 
 
 	 i f   d a t a _ n a m e . t y p e   =   r t c _ a l p h a l i t 
 	 t h e n   d o ; 	 	 	 	 	 / *     I n p u t   o p e r a n d   i s   a n   a l p h a n u m e r i c   l i t e r a l     * / 
 
 	 	 a l i t _ p t r   =   o p e r a n d _ p t r ; 
 	 	 i f   ^ a l p h a n u m _ l i t . a l l _ l i t 
 	 	 t h e n   c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( o u t p u t _ o p e r a n d _ p t r ,   o p e r a n d _ p t r ) ; 
 	 	 	 	 	 	 / *     N o t   a l   " A L L "   l i t e r a l     * / 
 
 
 
 	 	 e l s e   d o ; 	 	 	 	 / *     A n   " A L L "   l i t e r a l     * / 
 
 	 	 	 i f   a l p h a n u m _ l i t . l i t _ s i z e   =   1 
 	 	 	 t h e n   d o ; 	 	 	 / *     f o r m   i s   A L L   " X "     * / 
 
 / *     B u i l d   a   d a t a   n a m e   t o k e n   ( t y p e   9 )       * / 
 
 
 	 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( o u t p u t _ o p e r a n d _ p t r ,   o p e r a n d _ p t r ) ; 
 
 
 
 / *     S e t   t h e   e i s   f i l l   c h a r a c t e r     * / 
 
 	 	 	 	 e i s _ f i l l e r   =   a l p h a n u m _ l i t . s t r i n g ; 
 	 	 	 	 f i l l e r _ h i e r   =   1 ; 
 
 	 	 	           e n d ; 	 	 	 / *     f o r m   i s   A L L   " X "     * / 
 
 
 
 	 	 	 e l s e   d o ; 	 	 	 / *     f o r m   i s   A L L   " X Y Z . . . "     * / 
 
 / *     D e t e r m i n e   t h e   l e n g t h   o f   t h e   o t h e r   o p e r a n d   i n   t h e   c o m p a r i s o n     * / 
 
 / *     H e r e   w e   a s s u m e   t h a t   t h e   o t h e r   o p e r a n d   i s   a   d a t a n a m e   ( t y p e   9 ) , 
 
 	 	 	 e i t h e r   n u m e r i c   o r   a l p h a n u m e r i c .     M u s t   a l s o   h a n d l e   i n d e x   n a m e   ( t y p e   1 0 )   l a t e r     * / 
 
 	 	 	 	 s _ l e n g t h   =   o t h e r _ o p e r a n d _ p t r   - >   d a t a _ n a m e . i t e m _ l e n g t h ; 
 	 	 	 	 i f   o t h e r _ o p e r a n d _ p t r   - >   d a t a _ n a m e . s i g n _ s e p a r a t e 
 	 	 	 	 t h e n   s _ l e n g t h   =   s _ l e n g t h   -   1 ; 
 
 / *     A l l o c a t e   s p a c e   o n   t h e   r u n - t i m e   s t a c k   e q u a l   t o   t h e   l e n g t h   o f   t h e 
 	 	 	 	 o t h e r   o p e r a n d     * / 
 
 
 	 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( s _ l e n g t h ,   0 ,   s _ o f f s e t ) ; 
 
 
 / *     B u i l d   a   d a t a   n a m e   t o k e n   t h a t   d e s c r i b e s   t h e   s t a c k   e n t r y   j u s t   a l l o c a t e d     * / 
 
 	 	 	 	 d n _ p t r   =   o u t p u t _ o p e r a n d _ p t r ; 
 	 	 	 	 	 	 / *     I n i t i a l i z e   t h e   b u f f e r   t o   z e r o e s .     * / 
 
 	 	 	 	 d o   i x   =   1   t o   4 0 ; 
 	 	 	 	           d n _ b u f f   ( i x )   =   0 ; 
 	 	 	 	 e n d ; 
 
 
 	 	 	 	 d a t a _ n a m e . s e g _ n u m   =   1 0 0 0 ; 
 	 	 	 	 	 	 / *     r u n - t i m e   s t a c k     * / 
 	 	 	 	 d a t a _ n a m e . o f f s e t   =   s _ o f f s e t ; 
 
 
 
 
 	 	 	 	 d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e ; 
 	 	 	 	 d e s c r i p _ p t r   =   a d d r   ( d a t a _ n a m e . f i l e _ s e c t i o n ) ; 
 	 	 	 	 d e s c r i p   =   " 0 " b ; 
 
 	 	 	 	 d a t a _ n a m e . e l e m e n t a r y   =   " 1 " b ; 
 	 	 	 	 d a t a _ n a m e . a l p h a n u m   =   " 1 " b ; 
 	 	 	 	 d a t a _ n a m e . d i s p l a y   =   " 1 " b ; 
 
 	 	 	 	 d a t a _ n a m e . i t e m _ l e n g t h   =   s _ l e n g t h ; 
 	 	 	 	 d a t a _ n a m e . p l a c e s _ l e f t   =   s _ l e n g t h ; 
 	 	 	 	 d a t a _ n a m e . p l a c e s _ r i g h t   =   0 ; 
 
 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   f i g u r a t i v e   c o n s t a n t   t o   t h e   s t a c k     * / 
 
 	 	 	 	 m o v e _ t o k e n . n   =   4 ; 
 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 2 )   =   o p e r a n d _ p t r ; 
 	 	 	 	 	 	 / *     S e n d i n g     * / 
 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 3 )   =   o u t p u t _ o p e r a n d _ p t r ; 
 	 	 	 	 	 	 / *   R e c e i v i n g     * / 
 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 4 )   =   a d d r   ( e o s _ b u f f   ( 1 ) ) ; 
 
 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 4 )   - >   e n d _ s t m t . v e r b   =   1 8 ; 
 	 	 	 	 	 	 / *     M O V E     * / 
 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 4 )   - >   e n d _ s t m t . e   =   1 ; 
 	 	 	 	 	 	 / *     O n e   o p e r a n d   t o   m o v e .     * / 
 
 	 	 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m o v e _ t o k e n ) ) ; 
 
 
 	 	 	           e n d ; 	 	 	 / *     F o r m   i s   A L L   " X Y Z . . . "     * / 
 
 	 	           e n d ; 	 	 	 	 / *     A N   " A L L "   L I T E R A L     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     I n p u t   o p e r a n d   i s   a n   a l p h a n u m e r i c   l i t e r a l     * / 
 
 
 	 e l s e   i f   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   |   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t   |   d a t a _ n a m e . t y p e   =   r t c _ i n d e x n a m e ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     I n p u t   o p e r a n d   i s   a   d a t a n a m e   ( t y p e   9 )   o r   n u m e r i c   l i t e r a l   ( t y p e   2 )     * / 
 	 	 	 	 	 	 / *   o r   i n d e x   n a m e   ( t y p e   1 0 )     * / 
 
 	 	 i f   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 	 t h e n   d o ; 	 	 	 	 / *     A   n u m e r i c   l i t e r a l     * / 
 	 	 	 	 	 	 / *     P o o l   t h e   l i t e r a l   a n d   b u i l d   a   t y p e   9       * / 
 	 	 	 t e m p 9 _ p t r   =   a d d r   ( w k b u f f 1   ( 1 ) ) ; 
 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t e m p 9 _ p t r ,   o p e r a n d _ p t r ) ; 
 
 	 	 	 o p e r a n d _ p t r   =   t e m p 9 _ p t r ; 
 	 	 	 d n _ p t r   =   t e m p 9 _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     a   n u m e r i c   l i t e r a l     * / 
 
 	 	 i f   ( d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e   &   d a t a _ n a m e . u s a g e _ i n d e x )   |   d a t a _ n a m e . t y p e   =   r t c _ i n d e x n a m e 
 	 	 t h e n   d o ; 	 	 	 	 / *     i n d e x   d a t a   i t e m   ( t y p e   9 )   t o k e n   o r   i n d e x   n a m e   ( t y p e   1 0 )   t o k e n     * / 
 
 / *     G e n e r a t e   c o d e   t o   c o n v e r t   t h e   i n d e x   v a l u e   f r o m   a   2   b y t e   f i x e d   b i n 
 	 	 	 	 	 t o   a   d e c i m a l     * / 
 
 
 	 	 	 c a l l   c o b o l _ g e t _ i n d e x _ v a l u e   ( 2 ,   o p e r a n d _ p t r ,   a d d r   ( t e m p _ t y p e 9 _ t o k e n   ( 1 ) ) ) ; 
 
 	 	 	 o p e r a n d _ p t r   =   a d d r   ( t e m p _ t y p e 9 _ t o k e n   ( 1 ) ) ; 
 	 	 	 s _ l e n g t h   =   6 ; 	 	 / *     M a x i m u m   n u m b e r   o f   d e c i m a l   d i g i t s .     * / 
 
 	 	           e n d ; 	 	 	 	 / *     I n d e x   d a t a   i t e m   ( t y p e   9 )   t o k e n   o r   i n d e x   n a m e   ( t y p e   1 0 )   t o k e n     * / 
 
 
 
 	 	 i f   ( d a t a _ n a m e . t y p e   ^ =   r t c _ i n d e x n a m e   &   d a t a _ n a m e . s i g n _ s e p a r a t e ) 
 	 	 t h e n   s _ l e n g t h   =   d a t a _ n a m e . i t e m _ l e n g t h   -   1 ; 
 	 	 e l s e   s _ l e n g t h   =   d a t a _ n a m e . i t e m _ l e n g t h ; 
 	 	 i f   d a t a _ n a m e . b i n _ 1 8   =   " 1 " b 
 	 	 t h e n   s _ l e n g t h   =   6 ; 
 	 	 e l s e   i f   d a t a _ n a m e . b i n _ 3 6   =   " 1 " b 
 	 	 t h e n   s _ l e n g t h   =   1 1 ; 
 	 	 e l s e   i f   d a t a _ n a m e . a s c i i _ p a c k e d _ d e c   =   " 1 " b 
 	 	 t h e n   s _ l e n g t h   =   d a t a _ n a m e . p l a c e s _ r i g h t   +   d a t a _ n a m e . p l a c e s _ l e f t ; 
 
 / *     A l l o c a t e   s p a c e   i n   t h e   r u n   t i m e   s t a c k   t o   h o l d   t h e   a l p h a n u m e r i c 
 	 	 	 	 r e p r e s e n t a t i o n   o f   t h e   n u m e r i c     * / 
 
 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( s _ l e n g t h ,   0 ,   s _ o f f s e t ) ; 
 
 	 	 s a v e _ d n _ p t r   =   d n _ p t r ; 	 	 / *     B u i l d   a   d a t a n a m e   t o k e n   f o r   t h e   s p a c e   j u s t   a l l o c a t e d   i n   t h e   s t a c k     * / 
 	 	 d n _ p t r   =   o u t p u t _ o p e r a n d _ p t r ; 
 
 / *     Z e r o   t h e   b u f f e r   i n   w h i c h   d a t a   n a m e   t o k e n   i s   b u i l t     * / 
 
 	 	 d o   i x   =   1   t o   4 0 ; 
 	 	           d n _ b u f f   ( i x )   =   0 ; 
 	 	 e n d ; 
 
 
 	 	 d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e ; 
 	 	 d a t a _ n a m e . s e g _ n u m   =   1 0 0 0 ; 	 	 / *     R u n   t i m e   s t a c k   s e g m e n t     * / 
 	 	 d a t a _ n a m e . o f f s e t   =   s _ o f f s e t ; 	 	 / *     O f f s e t   r e t u r n e d   b y   t h e   a l l o c a t e   p r o c e d u r e     * / 
 
 
 	 	 d e s c r i p _ p t r   =   a d d r   ( d a t a _ n a m e . f i l e _ s e c t i o n ) ; 
 	 	 d e s c r i p   =   " 0 " b ; 
 	 	 d a t a _ n a m e . a l p h a n u m   =   " 1 " b ; 
 	 	 d a t a _ n a m e . d i s p l a y   =   " 1 " b ; 
 	 	 d a t a _ n a m e . i t e m _ l e n g t h   =   s _ l e n g t h ; 
 
 / *     B u i l d   a n   E O S   t o k e n   f o r   a   M O V E     * / 
 
 	 	 e o s _ p t r   =   a d d r   ( e o s _ b u f f   ( 1 ) ) ; 
 	 	 e n d _ s t m t . v e r b   =   1 8 ; 	 	 	 / *     M O V E     * / 
 	 	 e n d _ s t m t . e   =   1 ; 	 	 	 / *     O n e   o p e r a n d   t o   m o v e     * / 
 
 / *     B u i l d   a n   i n p u t   s t r u c t u r e   b e f o r e   c a l l i n g   t h e   m o v e   g e n e r a t o r     * / 
 
 	 	 m o v e _ t o k e n . n   =   4 ; 
 	 	 m o v e _ t o k e n . c o d e   =   0 ; 
 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 2 )   =   o p e r a n d _ p t r ;   / *     N u m e r i c   d a t a   i t e m   * / 
 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 3 )   =   o u t p u t _ o p e r a n d _ p t r ; 
 	 	 	 	 	 	 / *     A l p h a n u m e r i c   i n   t h e   s t a c k     * / 
 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 4 )   =   e o s _ p t r ; 	 / *     E O S   t o k e n     * / 
 
 / *     C a l l   t h e   m o v e   g e n e r a t o r     * / 
 
 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m o v e _ t o k e n ) ) ; 
 
 	 	 d n _ p t r   =   s a v e _ d n _ p t r ; 
 
 	 	 i f   c h a n g e d _ d e s c r i p _ b i t s 
 	 	 t h e n   d o ; 	 	 	 	 / *     R e s e t   t h e   d e s c r i p t i o n   b i t s   i n   t h e   t o k e n   o f   t h e   o p e r a n d   b e i n g   c o n v e r t e d .     * / 
 	 	 	 d a t a _ n a m e . n u m e r i c   =   " 1 " b ; 
 	 	 	 d a t a _ n a m e . a l p h a n u m   =   " 0 " b ; 
 	 	           e n d ; 	 	 	 	 / *     R e s e t   t h e   d e s c r i p t i o n   b i t s   i n   t h e   t o k e n   o f   t h e   o p e r a n d   b e i n g   c o m v e r t e d .     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     I N p u t   o p e r a n d   i s   a   d a t a n a m e   ( t y p e   9 )   o r   n u m e r i c   l i t e r a l   ( t y p e 2 )     * / 
 
 
 	 e l s e   i f   d a t a _ n a m e . t y p e   =   r t c _ r e s w o r d 
 	 t h e n   d o ; 	 	 	 	 	 / *     A   r e s e r v e d   w o r d ,   a s s u m e   a   f i g u r a t i v e   c o n s t a n t     * / 
 
 	 	 r w _ p t r   =   d n _ p t r ; 
 
 	 	 f i l l e r _ h i e r   =   1 ; 
 	 	 t _ k e y   =   r e s e r v e d _ w o r d . k e y ; 
 
 	 	 i f   t _ k e y   =   r w k e y _ z e r o 
 	 	 t h e n   e i s _ f i l l e r   =   e i s _ f i l l _ d e f . z e r o ; 	 / *     Z E R O     * / 
 	 	 e l s e   i f   t _ k e y   =   r w k e y _ s p a c e 
 	 	 t h e n   e i s _ f i l l e r   =   e i s _ f i l l _ d e f . s p a c e ; 
 	 	 e l s e   i f   t _ k e y   =   r w k e y _ q u o t e 
 	 	 t h e n   e i s _ f i l l e r   =   e i s _ f i l l _ d e f . q u o t e ; 
 
 
 	 	 e l s e   i f   a l p h a _ f l a g 
 	 	 t h e n   d o ; 
 	 	 	 i f   t _ k e y   =   r w k e y _ h i g h v a l 
 	 	 	 t h e n   e i s _ f i l l e r   =   a l p h a b e t _ n a m e . h i v a l _ c h a r ; 
 	 	 	 e l s e   i f   t _ k e y   =   r w k e y _ l o w v a l 
 	 	 	 t h e n   e i s _ f i l l e r   =   a l p h a b e t _ n a m e . l o v a l _ c h a r ; 
 	 	           e n d ; 
 
 
 	 	 e l s e   d o ; 
 	 	 	 i f   t _ k e y   =   r w k e y _ h i g h v a l 
 	 	 	 t h e n   e i s _ f i l l e r   =   e i s _ f i l l _ d e f . h i g h _ v a l u e ; 
 	 	 	 e l s e   i f   t _ k e y   =   r w k e y _ l o w v a l 
 	 	 	 t h e n   e i s _ f i l l e r   =   e i s _ f i l l _ d e f . l o w _ v a l u e ; 
 	 	           e n d ; 
 
 
 / *     B u i l d   a n   a l p h a n u m e r i c   l i t e r a l   t o k e n   f o r   t h e   f i g u r a t i v e   c o n s t a n t     * / 
 
 	 	 a l i t _ p t r   =   a d d r   ( a l i t _ b u f f e r   ( 1 ) ) ; 
 
 	 	 a l p h a n u m _ l i t . s i z e   =   2 5 ; 
 	 	 a l p h a n u m _ l i t . l i n e   =   0 ; 
 	 	 a l p h a n u m _ l i t . c o l u m n   =   0 ; 
 	 	 a l p h a n u m _ l i t . t y p e   =   r t c _ a l p h a l i t ; 
 	 	 a l p h a n u m _ l i t . l i t _ t y p e   =   " 0 " b ; 	 	 / *     C h a r a c t e r   s t r i n g     * / 
 	 	 a l p h a n u m _ l i t . a l l _ l i t   =   " 0 " b ; 
 	 	 a l p h a n u m _ l i t . l i t _ s i z e   =   1 ; 
 	 	 a l p h a n u m _ l i t . s t r i n g   =   e i s _ f i l l e r ; 
 
 / *     P o o l   t h e   a l p h a n u m e r i c   l i t e r a l ,   a n d   b u i l d   a   d a t a   n a m e   t o k e n     * / 
 
 
 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( o u t p u t _ o p e r a n d _ p t r ,   a l i t _ p t r ) ; 
 
 
 
 	           e n d ; 	 	 	 	 	 / *     A   r e s e r v e d   w o r d   a s s u m e   a   f i g u r a t i v e   c o n s t a n t     * / 
 
 e x i t _ c o n v e r t _ t o _ a l p h a : 
 	 r e t u r n ; 
           e n d   c o n v e r t _ t o _ a l p h a ; 
  
 / * { * / 
 c l a s s _ c o n d i t i o n : 
           p r o c ; 
 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g ( c c ) ; / * * / 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   t h e   C o b o l   c l a s s   c o n d i t i o n . 
 * / 
 
 / * } * / 
 / *     B u f f e r   i n   w h i c h   a   d a t a   n a m e   t o k e n   f o r   s e p a r a t e   s i g n   o p e r a n d   i s   b u i l t     * / 
 
 d c l 	 s e p _ s i g n _ t y p e 9 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 s e p _ s i g n _ p t r 	 p t r ; 
 d c l 	 s e p a r a t e _ s i g n _ p r o c e s s i n g _ f l a g 
 	 	 	 b i t   ( 1 ) ; 
 
 / *     B u f f e r   i n   w h i c h   a   d a t a   n a m e   t o k e n   f o r   t h e   T C T   s u m m a r y   w o r d   ( d e s c r i p t o r   3 ) 
 	 i s   b u i l t .     * / 
 
 d c l 	 s u m m a r y _ b u f f 	 ( 1 : 4 0 )   f i x e d   b i n ; 
 d c l 	 s u m m a r y _ o p _ p t r 	 p t r ; 
 
 
 / *     O t h e r   w o r k   v a r i a b l e s     * / 
 
 d c l 	 i n _ o p _ p t r 	 	 p t r ; 
 d c l 	 t c t _ t a b l e _ p t r 	 p t r ; 
 d c l 	 o r i g i n a l _ i n _ o p _ p t r 	 p t r ; 
 d c l 	 s t _ o f f s e t 	 	 f i x e d   b i n ; 
 d c l 	 t c t _ p t r 	 	 p t r ; 
 d c l 	 s u m m a r y _ p t r 	 p t r ; 
 
 d c l 	 d e s c r i p _ p t r 	 p t r ; 
 d c l 	 d e s c r i p 	 	 b i t   ( 7 2 )   b a s e d   ( d e s c r i p _ p t r ) ; 
 d c l 	 w o r k _ b i n a r y 	 f i x e d   b i n   ( 3 5 ) ; 
 d c l 	 1   w o r k _ i n s t 	 b a s e d   ( i n s t _ p t r ) , 
 	     2   l e f t _ h a l f 	 b i t   ( 1 8 ) , 
 	     2   r i g h t _ h a l f 	 b i t   ( 1 8 ) ; 
 
 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n ; 
 d c l 	 e o s _ b u f f 	 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 d c l 	 t e m p _ e o s _ p t r 	 p t r ; 
 
 d c l 	 1   m o v e _ t o k e n 	 a l i g n e d , 
 	     2   c o u n t 	 	 f i x e d   b i n , 
 	     2   c o d e 	 	 f i x e d   b i n , 
 	     2   t o k e n _ p t r 	 ( 1 : 5 )   p t r ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c l a s s _ c o n d i t i o n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t _ c l a s s _ c o n d i t i o n : 
 	 s e p a r a t e _ s i g n _ p r o c e s s i n g _ f l a g   =   " 0 " b ; 	 	 / *     U s e d   t o   i n d i c a t e   w h e t h e r   n u m e r i c   i s   s e p a r a t e   s i g n   o r   o v e r p u n c h   * / 
 
 
 / *     G e t   a   p o i n t e r   t o   t h e   o p e r a n d   t o   b e   t e s t e d   f o r   c l a s s   c o n d i t i o n     * / 
 	 i n _ o p _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n   -   1 ) ; 
 
 	 i f   e n d _ s t m t . e   =   r w k e y _ a l p h a b e t i c 
 	 t h e n   d o ; 	 	 	 	 	 / *     A l p h a b e t i c   c l a s s   c o n d i t i o n     * / 
 
 	 	 i f   a l p h a _ t c t _ t a b l e _ a l l o c a t e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u s t   b u i l d   t h e   a l p h a b e t i c   t c t   t a b l e   i n   t h e   c o n s t a n t   s e c t i o n     * / 
 
 	 	 	 t y p e 9 _ a l p h a _ t c t _ p t r   =   a d d r   ( t y p e 9 _ a l p h a _ t c t   ( 1 ) ) ; 
 	 	 	 d n _ p t r   =   t y p e 9 _ a l p h a _ t c t _ p t r ; 
 	 	 	 t c t _ t a b l e _ p t r   =   a d d r   ( a l p h a _ t c t _ t a b l e ) ; 
 
 
 	 	 	 c a l l   t c t _ t a b l e _ b u i l d ; 
 
 
 	 	 	 a l p h a _ t c t _ t a b l e _ a l l o c a t e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	 	           e n d ; 	 	 	 	 / *     M u s t   b u i l d   t h e   a l p h a b e t i c   t c t   t a b l e   i n   t h e   c o n s t a n t   s e c t i o n     * / 
 
 
 	 	 t c t _ p t r   =   t y p e 9 _ a l p h a _ t c t _ p t r ; 
 
 	           e n d ; 	 	 	 	 	 / *     A l p h a b e t i c   c l a s s   c o n d i t i o n     * / 
 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     N u m e r i c   c l a s s   c o n d i t o n     * / 
 
 	 	 i f   n u m e r i c _ t c t _ t a b l e _ a l l o c a t e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u s t   b u i l d   t h e   n u m e r i c   t c t   t a b l e   i n   t h e   c o n s t a n t   s e c t i o n     * / 
 
 	 	 	 t y p e 9 _ n u m e r i c _ t c t _ p t r   =   a d d r   ( t y p e 9 _ n u m e r i c _ t c t   ( 1 ) ) ; 
 	 	 	 d n _ p t r   =   t y p e 9 _ n u m e r i c _ t c t _ p t r ; 
 	 	 	 t c t _ t a b l e _ p t r   =   a d d r   ( n u m e r i c _ t c t _ t a b l e ) ; 
 
 
 	 	 	 c a l l   t c t _ t a b l e _ b u i l d ; 
 
 
 	 	 	 n u m e r i c _ t c t _ t a b l e _ a l l o c a t e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	 	           e n d ; 	 	 	 	 / *     M u s t   b u i l d   t h e   n u m e r i c   t c t   t b l e   i n   t h e   c o n s t a n t   s e c t i o n     * / 
 
 
 	 	 t c t _ p t r   =   t y p e 9 _ n u m e r i c _ t c t _ p t r ; 
 
 
 
 	 	 i f   i n _ o p _ p t r   - >   d a t a _ n a m e . n u m e r i c 
 	 	 t h e n   d o ; 	 	 	 	 / *     O p e r a n d   b e i n g   t e s t e d   f o r   N U M E R I C   c l a s s   c o n d i t i o n   i s   a   n u m e r i c 
 	 	 (   a s   o p p o s e d   t o   a l p h a n u m e r i c )     * / 
 
 / *     M a k e   a   c o p y   o f   t h e   i n p u t   o p e r a n d   t o k e n .     * / 
 	 	 	 s e p _ s i g n _ p t r   =   n u l l   ( ) ; 
 
 	 	 	 c a l l   c o p y _ w h o l e _ t o k e n   ( s e p _ s i g n _ p t r ,   i n _ o p _ p t r ) ; 
 
 
 	 	 	 o r i g i n a l _ i n _ o p _ p t r   =   i n _ o p _ p t r ; 
 
 	 	 	 i n _ o p _ p t r   =   s e p _ s i g n _ p t r ; 
 	 	 	 i f   i n _ o p _ p t r   - >   d a t a _ n a m e . s i g n _ s e p a r a t e 
 	 	 	           |   ( i n _ o p _ p t r   - >   d a t a _ n a m e . i t e m _ s i g n e d   &   i n _ o p _ p t r   - >   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 	 	 t h e n   d o ; 	 	 	 / *     T h e   n u m e r i c   o p e r a n d   h a s   a   s e p a r a t e   s i g n   o r   o v e r p u n c h   s i g n .     * / 
 
 
 
 	 	 	 	 i f   i n _ o p _ p t r   - >   d a t a _ n a m e . s u b s c r i p t e d 
 	 	 	 	 t h e n   d o ; 	 	 / *     A   s u b s c r i p t e d   s e p a r a t e   s i g n   o r   o v e r p u n c h   s i g n   t o k e n .     * / 
 
 / *     M a k e   a   c o p y   o f   t h e   c o p y   o f   t h e   t o k e n   j u s t   m a d e .     * / 
 	 	 	 	 	 s e p _ s i g n _ p t r   =   n u l l   ( ) ; 
 
 
 	 	 	 	 	 c a l l   c o p y _ w h o l e _ t o k e n   ( s e p _ s i g n _ p t r ,   i n _ o p _ p t r ) ; 
 
 
 / *     M o d i f y   t h e   c o p y   s o   t h a t   i t   i s   n o t   s u b s c r i p t e d .     * / 
 	 	 	 	 	 s e p _ s i g n _ p t r   - >   d a t a _ n a m e . s u b s c r i p t e d   =   " 0 " b ; 
 	 	 	 	 	 s e p _ s i g n _ p t r   - >   d a t a _ n a m e . v a r i a b l e _ l e n g t h   =   " 0 " b ; 
 	 	 	 	 	 s e p _ s i g n _ p t r   - >   d a t a _ n a m e . o c c u r s _ p t r   =   0 ; 
 
 / *     A l l o c a t e   s p a c e   o n   t h e   s t a c k   t o   r e c e i v e   t h e   v a l u e   c o n t a i n e d 
 	 	 	 	 	 i n   t h e   s u b s c r i p t e d   v a r i a b l e .     * / 
 
 	 	 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 
 	 	 	 	 	           f i x e d   ( s e p _ s i g n _ p t r   - >   d a t a _ n a m e . i t e m _ l e n g t h ,   1 7 ) ,   0 ,   r e t _ o f f s e t ) ; 
 
 / *     M o d i f y   t h e   t o k e n   s o   t h a t   i t   d e s c r i b e s   t h e   s t a c k   s p a c e 
 	 	 	 	 	 	 j u s t   a l l o c a t e d .     * / 
 	 	 	 	 	 s e p _ s i g n _ p t r   - >   d a t a _ n a m e . s e g _ n u m   =   1 0 0 0 ; 
 	 	 	 	 	 	 / *     s t a c k     * / 
 	 	 	 	 	 s e p _ s i g n _ p t r   - >   d a t a _ n a m e . o f f s e t   =   r e t _ o f f s e t ; 
 
 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   n u m e r i c   v a l u e   t o   t h e   s t a c k .     * / 
 
 	 	 	 	 	 t e m p _ e o s _ p t r   =   a d d r   ( e o s _ b u f f   ( 1 ) ) ; 
 	 	 	 	 	 t e m p _ e o s _ p t r   - >   e n d _ s t m t . v e r b   =   1 8 ; 
 	 	 	 	 	 	 / *     M O V E     * / 
 	 	 	 	 	 t e m p _ e o s _ p t r   - >   e n d _ s t m t . e   =   1 ; 
 	 	 	 	 	 	 / *     O n e   r e c e i v i n g   f i e l d     * / 
 
 / *     B u i l d   a n   i n p u t   s t r u c t u r e   f o r   c a l l i n g   t h e   M O V E   g e n e r a t o r .     * / 
 	 	 	 	 	 m o v e _ t o k e n . c o u n t   =   4 ; 
 	 	 	 	 	 m o v e _ t o k e n . c o d e   =   0 ; 
 	 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 2 )   =   i n _ o p _ p t r ; 
 	 	 	 	 	 	 / *     S O U R C E     * / 
 	 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 3 )   =   s e p _ s i g n _ p t r ; 
 	 	 	 	 	 	 / *     D E S T I N A T I O N     * / 
 	 	 	 	 	 m o v e _ t o k e n . t o k e n _ p t r   ( 4 )   =   t e m p _ e o s _ p t r ; 
 
 
 	 	 	 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m o v e _ t o k e n ) ) ; 
 
 
 / *     P o i n t   t h e     o r i g i n a l   i n p u t   o p e r a n d   p o i n t e r   a t   t h e   t o k e n   t h a t 
 	 	 	 	 	 d e s c r i b e s   t h e   n u m e r i c   v a l u e   i n   t h e   s t a c k .     * / 
 
 	 	 	 	 	 o r i g i n a l _ i n _ o p _ p t r   =   s e p _ s i g n _ p t r ; 
 
 	 	 	 	 	 i n _ o p _ p t r   =   n u l l   ( ) ; 
 
 / *     M a k e   a   c o p y   o f   t h e   t o k e n   t h a t   d e s c r i b e s   t h e   s t a c k   v a l u e .     * / 
 
 	 	 	 	 	 c a l l   c o p y _ w h o l e _ t o k e n   ( i n _ o p _ p t r ,   s e p _ s i g n _ p t r ) ; 
 
 
 	 	 	 	           e n d ; 	 	 / *     A   s u u b s c r i p t e d ,   s e p a r a t e   s i g n   r e f e r e n c e .     * / 
 
 
 / *     M o d i f y   t h e   t o k e n   s o   t h a t   t h e   s e p a r a t e   s i g n   o r   o v e r p u n c h   s i g n   i s   e x c l u d e d .     * / 
 
 	 	 	 	 i f   i n _ o p _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 1 0 0 " b 
 	 	 	 	           |   ( i n _ o p _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 0 1 0 " b ) 
 	 	 	 	 	 	 / *     L e a d i n g   o v e r p u n c h     * / 
 	 	 	 	 t h e n   / *     L e a d i n g   s e p a r a t e   s i g n   o r   l e a d i n g   o v e r p u n c h   s i g n .     * / 
 	 	 	 	           / *     S e t   o f f s e t   t o   t h e   b y t e   f o l l o w i n g   t h e   s i g n   b y t e .     * / 
 	 	 	 	           i n _ o p _ p t r   - >   d a t a _ n a m e . o f f s e t   =   i n _ o p _ p t r   - >   d a t a _ n a m e . o f f s e t   +   1 ; 
 
 	 	 	 	 i n _ o p _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   =   " 0 0 0 " b ; 
 	 	 	 	 	 	 / *     U n s i g n e d     * / 
 
 / *     D e c r e a s e   t h e   l e n g t h   o f   t h e     n u m e r i c   b y   o n e   ( b e c a u s e   s i g n   b y t e 
 	 	 	 	 i s   b e i n g   i g n o r e d     )     * / 
 	 	 	 	 i n _ o p _ p t r   - >   d a t a _ n a m e . i t e m _ l e n g t h   =   i n _ o p _ p t r   - >   d a t a _ n a m e . i t e m _ l e n g t h   -   1 ; 
 
 	 	 	 	 s e p a r a t e _ s i g n _ p r o c e s s i n g _ f l a g   =   " 1 " b ; 
 
 	 	 	           e n d ; 	 	 	 / *     T h e   n u m e r i c   o p e r a n d   h a s   a   s e p a r a t e   s i g n .     * / 
 
 
 / *     M o d i f y   t h e   i n p u t   o p e r a n d   t o k e n   s o   t h a t   i s   n o   l o n g e r   r e f e r e n c e s   a   n u m e r i c     * / 
 	 	 	 i n _ o p _ p t r   - >   d a t a _ n a m e . n u m e r i c   =   " 0 " b ; 
 	 	 	 i n _ o p _ p t r   - >   d a t a _ n a m e . a l p h a n u m   =   " 1 " b ; 
 
 	 	           e n d ; 	 	 	 	 / *     O p e r a n d   b e i n g   t e s t e d   f o r   N U M E R I C   c l a s s   c o n d i t i o n   i s   a   n u m e r i c 
 
 	 	 	 (   a s   o p p o s e d   t o   a l p h a n u m e r i c )     * / 
 
 	           e n d ; 	 	 	 	 	 / *     N u m e r i c   c l a s s   c o n d i t i o n     * / 
 
 
 
 / *     A l l o c a t e   o n e   6 1 8 0   w o r d   i n   t h e   r u n - t i m e   s t a c k   t o   r e c e i v e   s u m m a r y   i n f o r m a t i o n     * / 
 
 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 4   / *   b y t e s   * / ,   0 ,   s t _ o f f s e t ) ; 
 
 
 / *     B u i l d   a   d a t a   n a m e   t o k e n   ( t y p e   9 )   f o r   t h e   s t a c k   e n t r y     * / 
 	 d n _ p t r   =   a d d r   ( s u m m a r y _ b u f f   ( 1 ) ) ; 
 
 	 d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e ; 
 	 d a t a _ n a m e . s e g _ n u m   =   1 0 0 0 ; 	 	 	 / *     s t a c k   s e g m e n t     * / 
 	 d a t a _ n a m e . o f f s e t   =   s t _ o f f s e t ; 	 	 	 / *     O f f s e t   r e t u r n e d   b y   t h e   a l l o c   p r o c e d u r e     * / 
 
 / *     Z e r o   t h e   d e s c r i p t i o n   b i t s     * / 
 	 d e s c r i p _ p t r   =   a d d r   ( d a t a _ n a m e . f i l e _ s e c t i o n ) ; 
 	 d e s c r i p   =   " 0 " b ; 
 
 	 d a t a _ n a m e . n u m e r i c   =   " 1 " b ; 
 	 d a t a _ n a m e . e l e m e n t a r y   =   " 1 " b ; 
 	 d a t a _ n a m e . d i s p l a y   =   " 1 " b ; 
 	 d a t a _ n a m e . i t e m _ l e n g t h   =   4 ; 
 
 / *     P o i n t   a t   t h e   o p e r a n d   f o r   t h e   s u m m a r y   o p e r a n d   j u s t   b u i l t     * / 
 	 s u m m a r y _ p t r   =   d n _ p t r ; 
 
 
 / *     A t   t h i s   p o i n t   i n   e x e c u t i o n   w e   h a v e   t h r e e   r e l e v a n t   p o i n t e r s : 
 
 	 	 1 .   i n _ o p _ p t r   p o i n t s   t o   t h e   i n p u t   o p e r a n d 
 	 	 2 .   t c t _ p t r   p o i n t s   t o   t h e   o p e r a n d   f o r   t h e   t c t   t a b l e 
 	 	 3 .   s u m m a r y _ p t r   p o i n t s   t o   t h e   o p e r a n d   f o r   t h e   s u m m a r y   w o r d   a l l o c a t e d 
 	 	 	 i n   t h e   s t a c k . 
 * / 
 
 
 	 c a l l   t e s t _ f o r _ n u m e r i c ; 
 
 
 
 / *     E m i t   t h e   i n s t r u c t i o n ( s )   f o l l o w i n g   t h e   t c t     * / 
 
 	 i f   ^ s e p a r a t e _ s i g n _ p r o c e s s i n g _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     N o t   s e p a r a t e   s i g n   o p e r a n d ,   s o   e m i t   a   s i n g l e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 	 	 i _ p t r   =   a d d r   ( e n d _ s t m t . i ) ; 
 	 	 i f   i b i t . n o t 
 	 	 t h e n   t o p c o d e   =   t t f _ o p ; 	 	 / *     N O T   C L A S S   C O N D I T I O N     * / 
 	 	 e l s e   t o p c o d e   =   t t n _ o p ; 	 	 / *     C L A S S   C O N D I T I O N     * / 
 
 / *     Z e r o   b i t s   t o   i n s t r u c t i o n     b e i n g   b u i l t     * / 
 	 	 n o n _ e i s _ w o r d   =   " 0 " b ; 
 	 	 n o n _ e i s _ p t r   =   a d d r   ( n o n _ e i s _ w o r d ) ; 
 
 / *     I n s e r t   o p c o d e   i n t o   t h e   i n s t r u c t i o n     * / 
 	 	 n o n _ e i s _ p t r   - >   e i s _ i n s t . o p c o d e   =   t o p c o d e ; 
 
 / *     B u i l d   r e l o c a t i o n   i n f o r m a t i o n     * / 
 
 	 	 r e l o c _ s t r u c   ( 1 )   =   " 0 " b ; 
 	 	 r e l o c _ s t r u c   ( 2 )   =   " 0 " b ; 
 
 / *     S a v e   t h e   t e x t   s e c t i o n   o f f s e t   a t   w h i c h   t h e   t r a n s f e r   i s   t o   b e   e m i t t e d     * / 
 	 	 s a v e _ l o c n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 / *     E m i t   t h e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 	 	 c a l l   c o b o l _ e m i t   ( n o n _ e i s _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 / *     I s s u e   a   r e f e r e n c e   t o   t h e   t a g   i n   e n d _ s t m t . h     * / 
 
 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( f i x e d   ( e n d _ s t m t . h ,   1 7 ) ,   s a v e _ l o c n o ,   n u l l   ( ) ) ; 
 
 
 	           e n d ; 	 	 	 	 	 / *     N o t   s e p a r a t e   s i g n   o p e r a n d ,   s o   e m i t   a   s i n g l e   t r a n s f e r   i n s t r u c t i o n     * / 
 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     S e p a r a t e   s i g n   o p e r a n d ,   m u s t   g e n e r a t e   c o d e   t o   i s o l a t e   a n d   t e s t   t h e   s i g n     * / 
 
 
 	 	 c a l l   s e p a r a t e _ s i g n _ p r o c e s s i n g ; 
 
 
 	           e n d ; 	 	 	 	 	 / *     S e p a r a t e   s i g n   o p e r a n d ,   m u s t   g e n e r a t e   c o d e   t o   i s o l a t e   a n d   t e s t   t h e   s i g n     * / 
 
 e x i t _ c l a s s _ c o n d i t i o n : 
 	 / * * * . . . . . 	 i f   T r a c e _ B i t   t h e n   c a l l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d ( c c ) ; / * * / 
 	 r e t u r n ; 
  
 / * { * / 
 t c t _ t a b l e _ b u i l d : 
           p r o c ; 
 
 / * 
 T h i s   i n t e r n a l   p r o c e d u r e   p o o l s   a   t c t   t a b l e   i m a g e   i n   t h e 
 c o n s t a n t   s e c t i o n   o f   t h e   C o b o l   t e x t   s e g m e n t ,   a n d   t h e n   b u i l d s 
 a   d a t a   n a m e   t o k e n   ( t y p e   9 )   t h a t   d e s c r i b e s   t h e   t a b l e . 
 * / 
 
 / *     A s s e r t i o n s   a t   e n t r y . 
 	 1 .   t c t _ t a b l e _ p t r   p o i n t s   t o   a n   i t e r n a l   s t a t i c   i n i t i a l i z e d 
 	 c h a r a c t e r   s t r i n g   t h a t   i s   t h e   t c t   t a b l e   t o   b e   p o o l e d . 
 
 	 2 .   d n _ p t r   p o i n t s   t o   a   b u f f e r   i n   w h i c h   t h e   d a t a   n a m e 
 	 t o k e n   ( t y p e   9 )   i s   t o   b e   b u i l t . 
 * / 
 
 / * } * / 
 
 d c l 	 t c t _ t a b l e 	 	 c h a r   ( 5 1 2 )   b a s e d   ( t c t _ t a b l e _ p t r ) ; 
 d c l 	 t _ o f f s e t 	 	 f i x e d   b i n ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 t c t _ t a b l e _ b u i l d 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t _ t c t _ t a b l e _ b u i l d : 	 	 	 	 / *     P o o l   t h e   t c t   t a b l e   i n   t h e   c o n s t a n t   s e c t i o n     * / 
 	 c a l l   c o b o l _ p o o l $ s e a r c h _ o p   ( t c t _ t a b l e ,   0 ,   t _ o f f s e t ,   i n _ o p ) ; 
 
 
 / *     B u i l d   a   d a t a   n a m e   ( t y p e   9 )   t o k e n   f o r   t h e   p o o l e d   c o n s t a n t     * / 
 	 d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e ; 
 	 i f   i n _ o p   =   1 
 	 t h e n   d a t a _ n a m e . s e g _ n u m   =   3 ; 
 	 e l s e   d a t a _ n a m e . s e g _ n u m   =   3 0 0 0 ; 	 	 / *     C o n s t a n t   s e c t i o n   o f   t h e   t e x t   s e g m e n t     * / 
 	 d a t a _ n a m e . o f f s e t   =   t _ o f f s e t ; 	 	 	 / *     O f f s e t   r e t u r n e d   b y   t h e   p o o l   p r o c e d u r e     * / 
 
 / *     Z e r o   t h e   d e s c r i p t i o n   b i t s   o f   t h e   d a t a   n a m e   t o k e n   b e i n g   b u i l t     * / 
 	 d e s c r i p _ p t r   =   a d d r   ( d a t a _ n a m e . f i l e _ s e c t i o n ) ; 
 	 d e s c r i p   =   " 0 " b ; 
 
 	 d a t a _ n a m e . a l p h a n u m   =   " 1 " b ; 
 	 d a t a _ n a m e . d i s p l a y   =   " 1 " b ; 
 	 d a t a _ n a m e . e l e m e n t a r y   =   " 1 " b ; 
 	 d a t a _ n a m e . i t e m _ l e n g t h   =   5 1 2 ; 
 
 
 
 e x i t _ t c t _ t a b l e _ b u i l d : 
 	 r e t u r n ; 
           e n d   t c t _ t a b l e _ b u i l d ; 
  
 
 t e s t _ f o r _ n u m e r i c : 
           p r o c ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   a   t c t   i n s t r u c t i o n   t h a t   t h e s t   w h e t h e r 
 a   d a t a   i t e m   i s   n u m e r i c . 
 * / 
 
 / *     A t   t h i s   p o i n t   i n   e x e c u t i o n   w e   h a v e   t h r e e   r e l e v a n t   p o i n t e r s : 
 
 	 	 1 .   i n _ o p _ p t r   p o i n t s   t o   t h e   i n p u t   o p e r a n d 
 	 	 2 .   t c t _ p t r   p o i n t s   t o   t h e   o p e r a n d   f o r   t h e   t c t   t a b l e 
 	 	 3 .   s u m m a r y _ p t r   p o i n t s   t o   t h e   o p e r a n d   f o r   t h e   s u m m a r y   w o r d   a l l o c a t e d 
 	 	 	 i n   t h e   s t a c k . 
 
 
 	 * / 
 
 s t a r t _ t e s t _ f o r _ n u m e r i c : 	 	 	 	 / *   N o w   w e   m u s t   b u i l d   t h e   T C T   i n s t r u c t i o n   a n d     d e s c r i p t o r s     * / 
 	 	 	 	 	 	 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   f o r   t h e   i n s t r u c t i o n   a n d   f i r s t   d e s c r i p t o r     * / 
 	 i n p u t _ s t r u c . t y p e   =   4 ; 	 	 	 / *     e i s ,   1   d e s c r i p t o r     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k s     * / 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   i n _ o p _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 / *     I n s e r t   t h e   t c t   o p c o d e   i n t o   t h e   i n s t r u c t i o n     * / 
 	 e i s _ p t r   =   i n s t _ p t r ; 
 	 e i s _ i n s t . o p c o d e   =   t c t _ o p ; 
 
 / *     E m i t   t h e   t c t   i n s t r u c t i o n   a n d   f i r s t   d e s c r i p t o r     * / 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   2 ) ; 
 
 
 / *     B u i l d   t h e   s e c o n d   d e s c r i p t o r     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   3 ; 	 	 	 / *     e i s ,   1   o p e r a n d ,   n o   d e s c r i p t o r s     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 	 	 	 / *     n o   l o c k s     * / 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   t c t _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 / *     S e t   t h e   o p c o d e   i n   t h e   r e t u r n e d   e i s   i n s t r u c t i o n   t o   z e r o   b i t s     * / 
 
 	 i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   " 0 " b ; 
 
 / *     I n c r e m e n t   t h e   a d d r e s s   r e t u r n e d   b y   c o b o l _ a d d r ,   b e c a u s e   c o b o l _ a d d r   g e n e r a t e s   t h e   a d d r e s s 
 	 r e l a t i v e   t o   t h e   I C   o f   t h i s   i n s t r u c t i o n ,   w h e n   w h a t   w e   n e e d   i s   a n   I C   a d d r e s s   r e l a t i v e   t o 
 	 t h e   T C T   i n s t r u c t i o n .     * / 
 
 	 w o r k _ b i n a r y   =   b i n a r y   ( w o r k _ i n s t . l e f t _ h a l f ,   1 8 )   +   2 ; 
 	 w o r k _ i n s t . l e f t _ h a l f   =   s u b s t r   ( u n s p e c   ( w o r k _ b i n a r y ) ,   1 9 ,   1 8 ) ; 
 
 / *     E m i t   t h e   s e c o n d   d e s c r i p t o r     * / 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 / *     B u i l d   t h e   t h i r d   d e s c r i p t o r     * / 
 
 	 i n p u t _ s t r u c . t y p e   =   3 ; 	 	 	 / *     e i s ,   1   o p e r a n d ,   n o   d e s c r i p t o r s     * / 
 	 i n p u t _ s t r u c . o p e r a n d _ n o   =   1 ; 
 	 i n p u t _ s t r u c . l o c k   =   0 ; 
 	 i n p u t _ s t r u c . o p e r a n d . t o k e n _ p t r   ( 1 )   =   s u m m a r y _ p t r ; 
 	 i n p u t _ s t r u c . o p e r a n d . s e n d _ r e c e i v e   ( 1 )   =   0 ; 
 	 i n p u t _ s t r u c . o p e r a n d . s i z e _ s w   ( 1 )   =   0 ; 
 
 
 	 c a l l   c o b o l _ a d d r   ( i n p u t _ p t r ,   i n s t _ p t r ,   r e l o c _ p t r ) ; 
 
 
 / *     S e t   t h e   o p c o d e   i n   t h e   r e t u r n e d   e i s   i n s t r u c t i o n   t o   z e r o   b i t s     * / 
 
 	 i n s t _ s t r u c _ b a s i c . f i l l 1 _ o p   =   " 0 " b ; 
 
 / *     E m i t   t h e   t h i r d   d e s c r i p t o r     * / 
 
 	 c a l l   c o b o l _ e m i t   ( i n s t _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 
 e x i t _ t e s t _ f o r _ n u m e r i c : 
 	 r e t u r n ; 
           e n d   t e s t _ f o r _ n u m e r i c ; 
  
 / * { * / 
 s e p a r a t e _ s i g n _ p r o c e s s i n g : 
           p r o c ; 
 
 / *     T h i s   i n t e r n a l   p r o c e d u r e   g e n e r a t e s   c o d e   t h a t   t e s t s   t o   d e t e r m i n e 
 w h e t h e r   t h e   s e p a r a t e   s i g n   b y t e   o f   a   n u m e r i c   o p e r a n d   i s   p l u s 
 o r   m i n u s .     * / 
 
 / * } * / 
 
 
 / *     D e c l a r a t i o n   o f   a u t o m a t i c   w o r k   b u f f e r s     * / 
 
 d c l 	 s e p a r a t e _ s i g n _ t y p e 9   ( 1 : 4 0 )   f i x e d   b i n ; 	 	 / *     U s e d   t o   c o n t a i n   t y p e   9   f o r   t h e   s i g n   b y t e     * / 
 
 d c l 	 s e p a r a t e _ s i g n _ e o s 	 ( 1 : 1 0 )   f i x e d   b i n ; 	 	 / *     U s e d   t o   b u i l d   E O S   f o r   r e c u r s i v e   c a l l s   t o   c o b o l _ c o m p a r e _ g e n     * / 
 
 d c l 	 s e p a r a t e _ s i g n _ i n p u t _ t o k e n 
 	 	 	 ( 1 : 1 5 )   f i x e d   b i n ; 	 	 / *     U s e d   t o   c o n t a i n   i n p u t   t o k e n   f o r   r e c u r s i v e   c a l l s   t o   m c 
 	 c o b o l _ c o m p a r e _ g e n     * / 
 
 / *     O t h e r   w o r k   v a r i a b l e s     * / 
 
 d c l 	 s a v e _ h 	 	 f i x e d   b i n ; 
 d c l 	 s a v e _ n o t 	 	 b i t   ( 1 ) ; 
 d c l 	 f a i l _ t a g 	 	 f i x e d   b i n ; 
 d c l 	 t e m p _ t a g 	 	 f i x e d   b i n ; 
 d c l 	 t e m p _ p t r 	 	 p t r ; 
 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 s e p a r a t e _ s i g n 	 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 
 s t a r t _ s e p a r a t e _ s i g n _ p r o c e s s i n g : 	 	 	 / *     B u i l d   a   d a t a   n a m e   t o k e n   f o r   t h e   s i g n   b y t e   o f   t h e   n u m e r i c   d a t a   n a m e   t o k e n     * / 
 	 	 	 	 	 	 / *     M a k e   a   c o p y   o f   t h e   o r i g i n a l   n u m e r i c   d a t a   n a m e   t o k e n     * / 
 	 d n _ p t r   =   a d d r   ( s e p a r a t e _ s i g n _ t y p e 9   ( 1 ) ) ; 
 
 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ c o p y   ( d n _ p t r ,   o r i g i n a l _ i n _ o p _ p t r ) ; 
 
 
 / *     M o d i f y   t h e   c o p y   o f   t h e   n u m e r i c   d a t a   n a m e     * / 
 
 	 d a t a _ n a m e . n u m e r i c   =   " 0 " b ; 
 	 d a t a _ n a m e . a l p h a n u m   =   " 1 " b ; 
 	 d a t a _ n a m e . p l a c e s _ l e f t   =   0 ; 
 	 d a t a _ n a m e . p l a c e s _ r i g h t   =   0 ; 
 
 	 i f   d a t a _ n a m e . s i g n _ t y p e   =   " 0 1 1 " b   / *     T r a i l i n g   s e p a r a t e     * / 
 	           |   d a t a _ n a m e . s i g n _ t y p e   =   " 0 0 1 " b   / *     t r a i l i n g ,   b u t   n o t   s e p a r a t e     * /   |   d a t a _ n a m e . s i g n _ t y p e   =   " 0 0 0 " b 
 	 	 	 	 	 	 / *     C l a u s e   n o t   s p e c i f i e d ,   d e f a u l t s   t o   t r a i l i n g   o v e r p u n c h .     * / 
 	 t h e n   / *     S e t   o f f s e t   t o   l a s t   c h a r a c t e r   i n   t h e   n u m e r i c   d a t a   i t e m     * / 
 	           d a t a _ n a m e . o f f s e t   =   d a t a _ n a m e . o f f s e t   +   d a t a _ n a m e . i t e m _ l e n g t h   -   1 ; 
 
 	 d a t a _ n a m e . i t e m _ l e n g t h   =   1 ; 
 
 / *     R e s e r v e   a   t a g     * / 
 	 f a i l _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 / *     S a v e   t h e   l o c a t i o n   a t   w h i c h   t h e   t t f   i n s t r u c t i o n   i s   t o   b e   e m i t t e d     * / 
 	 s a v e _ l o c n o   =   c o b o l _ $ t e x t _ w d _ o f f ; 
 
 / *     B u i l d   t h e   t t f   i n s t r u c t i o n     * / 
 	 n o n _ e i s _ w o r d   =   " 0 " b ; 
 	 n o n _ e i s _ p t r   =   a d d r   ( n o n _ e i s _ w o r d ) ; 
 	 n o n _ e i s _ p t r   - >   e i s _ i n s t . o p c o d e   =   t t f _ o p ; 
 
 / *     B u i l d   r e l o c a t i o n   b y t e s     * / 
 	 r e l o c _ s t r u c   ( 1 )   =   " 0 " b ; 
 	 r e l o c _ s t r u c   ( 2 )   =   " 0 " b ; 
 
 / *     E m i t   t h e   i n s t r u c t i o n     * / 
 
 
 	 c a l l   c o b o l _ e m i t   ( n o n _ e i s _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 
 	 i _ p t r   =   a d d r   ( e n d _ s t m t . i ) ; 
 
 / *     S a v e   t h e   t a g   f r o m   t h e   i n p u t   E O S     * / 
 	 s a v e _ h   =   e n d _ s t m t . h ; 
 
 / *     S a v e   t h e   " n o t "   b i t   f r o m   t h e   i n p u t   E O S     * / 
 	 s a v e _ n o t   =   i b i t . n o t ; 
 
 / *     I s s u e   a   r e f e r e n c e   t o   a   t a g   a t   t h e   i n s t r u c t i o n   j u s t   e m i t t e d     * / 
 
 
 	 i f   i b i t . n o t 
 	 t h e n   t e m p _ t a g   =   e n d _ s t m t . h ; 
 	 e l s e   t e m p _ t a g   =   f a i l _ t a g ; 
 
 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( t e m p _ t a g ,   s a v e _ l o c n o ,   n u l l   ( ) ) ; 
 
 
 
 	 i f   ( d a t a _ n a m e . i t e m _ s i g n e d   &   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     T e s t i n g   f o r   l e a d i n g   o r   t r a i l i n g   o v e r p u n c h   s i g n .     * / 
 
 	 	 i f   o p c h _ t c t _ t a b l e _ a l l o c a t e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u s t   b u i l d   t h e   o v e r p u n c h   s i g n   t c t   t a b l e   i n   t h e   c o n s t a n t   s e c t i o n .     * / 
 
 	 	 	 t e m p _ p t r   =   d n _ p t r ; 
 	 	 	 t y p e 9 _ o p c h _ t c t _ p t r   =   a d d r   ( t y p e 9 _ o p c h _ t c t   ( 1 ) ) ; 
 	 	 	 d n _ p t r   =   t y p e 9 _ o p c h _ t c t _ p t r ; 
 	 	 	 t c t _ t a b l e _ p t r   =   a d d r   ( o p c h _ t c t _ t a b l e ) ; 
 
 
 	 	 	 c a l l   t c t _ t a b l e _ b u i l d ; 
 
 	 	 	 o p c h _ t c t _ t a b l e _ a l l o c a t e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 	 	 	 d n _ p t r   =   t e m p _ p t r ; 
 	 	           e n d ; 	 	 	 	 / *     M u s t   b u i l d   t h e   o v e r p u n c h   s i g n   t c t   t a b l e   i n   t h e   c o n s t a n t   s e c t i o n .     * / 
 
 
 	 	 t c t _ p t r   =   t y p e 9 _ o p c h _ t c t _ p t r ; 
 	 	 i n _ o p _ p t r   =   d n _ p t r ; 
 
 
 	 	 c a l l   t e s t _ f o r _ n u m e r i c ; 
 
 
 	 	 i f   s a v e _ n o t   =   " 0 " b 
 	 	 t h e n   d o ; 	 	 	 	 / *     t e s t   i s   " i f   X   n u m e r i c " .     * / 
 	 	 	 	 	 	 / *     I f   s i g n   i s   a   v a l i d   o v e r p u n c h   s i g n ,   t h e n   w e   w a n t   t o   t r a n s f e r   t o 
 	 	 	 t h e   t a g   s p e c i f i e d   i n   t h e   E O S   t o k e n .     * / 
 	 	 	 t e m p _ t a g   =   e n d _ s t m t . h ; 
 	 	 	 n o n _ e i s _ p t r   - >   e i s _ i n s t . o p c o d e   =   t t n _ o p ; 
 	 	           e n d ; 	 	 	 	 / *     T e s t   i f   " i f   X   n u m e r i c " .     * / 
 
 
 
 
 	 	 c a l l   c o b o l _ e m i t   ( n o n _ e i s _ p t r ,   r e l o c _ p t r ,   1 ) ; 
 
 
 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( t e m p _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 
 
 	           e n d ; 	 	 	 	 	 / *     T e s t i n g   f o r   l e a d i n g   o r   t r a i l i n g   o v e r p u n c h   s i g n .     * / 
 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     T e s t i n g   f o r   l e a d i n g   o r   t r a i l i n g   s e p a r a t e   s i g n .     * / 
 
 / *     B u i l d   a n   E O S   t o   b e   u s e d   i n   r e c u r s i v e   c a l l s   t o   c o b o l _ c o m p a r e _ g e n     * / 
 
 	 	 i f   s e p a r a t e _ s i g n s _ p o o l e d   ^ =   c o b o l _ $ c o m p i l e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     P o o l   t h e   s i g n s ,   a n d   b u i l d   d a t a   n a m e   ( t y p e   9 )   t o k e n s   f o r   e a c h     * / 
 
 / *     P o o l   p l u s   a n d   m a k e   a   d a t a   n a m e     * / 
 	 	 	 s e p a r a t e _ s i g n _ l i t e r a l . l i t e r a l _ s t r i n g   =   " + " ; 
 
 	 	 	 t e m p _ p t r   =   a d d r   ( p l u s _ t y p e 9   ( 1 ) ) ; 
 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t e m p _ p t r ,   a d d r   ( s e p a r a t e _ s i g n _ l i t e r a l ) ) ; 
 
 
 / *     P o o l   m i n u s   a n d   m a k e   d a t a   n a m e     * / 
 	 	 	 s e p a r a t e _ s i g n _ l i t e r a l . l i t e r a l _ s t r i n g   =   " - " ; 
 	 	 	 t e m p _ p t r   =   a d d r   ( m i n u s _ t y p e 9   ( 1 ) ) ; 
 
 	 	 	 c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( t e m p _ p t r ,   a d d r   ( s e p a r a t e _ s i g n _ l i t e r a l ) ) ; 
 
 
 	 	 	 s e p a r a t e _ s i g n s _ p o o l e d   =   c o b o l _ $ c o m p i l e _ c o u n t ; 
 
 	 	           e n d ; 	 	 	 	 / *     P o o l   t h e   s i g n s ,   a n d   b u i l d   a   d a t a   n a m e   t o k e n   f o r   e a c h     * / 
 
 	 	 e o s _ p t r   =   a d d r   ( s e p a r a t e _ s i g n _ e o s   ( 1 ) ) ; 
 	 	 e n d _ s t m t . e   =   r w k e y _ e q u a l ; 
 	 	 i f   s a v e _ n o t 
 	 	 t h e n   e n d _ s t m t . h   =   f a i l _ t a g ; 
 	 	 e l s e   e n d _ s t m t . h   =   s a v e _ h ; 
 
 	 	 e n d _ s t m t . i   =   0 ; 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   t o   b e   u s e d   i n   r e c u r s i v e   c a l l s   t o   c o b o l _ c o m p a r e _ g e n     * / 
 
 	 	 w o r k _ i n _ t o k e n _ p t r   =   a d d r   ( w o r k _ i n _ t o k e n . n ) ; 
 	 	 w o r k _ i n _ t o k e n . n   =   3 ; 
 	 	 w o r k _ i n _ t o k e n . t o k e n _ p t r   ( w o r k _ i n _ t o k e n . n )   =   e o s _ p t r ; 
 	 	 	 	 	 	 / *     E O S   t o k e n   f o r   E Q U A L   c o m p a r e     * / 
 	 	 w o r k _ i n _ t o k e n . t o k e n _ p t r   ( w o r k _ i n _ t o k e n . n   -   1 )   =   a d d r   ( p l u s _ t y p e 9   ( 1 ) ) ; 
 	 	 	 	 	 	 / *     D a t a   n a m e   t o k e n   f o r   t h e   p l u s   s i g n     * / 
 	 	 w o r k _ i n _ t o k e n . t o k e n _ p t r   ( w o r k _ i n _ t o k e n . n   -   2 )   =   d n _ p t r ; 
 	 	 	 	 	 	 / *     D a t a   n a m e   t o k e n   f o r   t h e   s i g n   b y t e     * / 
 
 
 
 / *     B u i l d   t h e   i n p u t   s t r u c t u r e   f o r   t h e   s e c o n d   r e c u r s i v e   c a l l   ( N E C E S S A R Y   B E C A U S E   T H E   P R R O G R A M   B L O W S 
 
 	 	 U P   O T H E R W I S E ! ! ! !   )     * / 
 
 	 	 w o r k _ i n _ t o k e n 1 _ p t r   =   a d d r   ( w o r k _ i n _ t o k e n 1 . n ) ; 
 
 	 	 w o r k _ i n _ t o k e n 1 . n   =   3 ; 
 	 	 w o r k _ i n _ t o k e n 1 . t o k e n _ p t r   ( w o r k _ i n _ t o k e n 1 . n )   =   e o s _ p t r ; 
 	 	 w o r k _ i n _ t o k e n 1 . t o k e n _ p t r   ( w o r k _ i n _ t o k e n 1 . n   -   1 )   =   a d d r   ( m i n u s _ t y p e 9   ( 1 ) ) ; 
 	 	 w o r k _ i n _ t o k e n 1 . t o k e n _ p t r   ( w o r k _ i n _ t o k e n 1 . n   -   2 )   =   d n _ p t r ; 
 
 / *     C a l l   c o b o l _ c o m p a r e _ g e n   r e c u r s i v e l y   t o   g e n e r a t e   c o d e   t o   t e s t   w h e t h e r   t h e   s i g n   i s   p l u s     * / 
 
 	 	 c a l l   c o b o l _ c o m p a r e _ g e n   ( w o r k _ i n _ t o k e n _ p t r ,   n u l l   ( ) ) ; 
 
 
 
 / *     M o d i f y   t h e   i n p u t   t o k e n   f o r   n e x t   r e c u r s i v e   c a l l   t o   c o b o l _ c o m p a r e _ g e n     * / 
 
 / * ! ! ! * / 
 
 	 	 i f   s a v e _ n o t 
 	 	 t h e n   d o ; 	 	 	 	 / *     B r a n c h   o n   c o n d i t i o n   f a l s e ,   m u s t   c h a n g e   E O S     * / 
 	 	 	 e n d _ s t m t . e   =   r w k e y _ u n e q u a l ; 
 	 	 	 e n d _ s t m t . h   =   s a v e _ h ; 
 	 	           e n d ; 	 	 	 	 / *     B r a n c h   o n   c o n d i t i o n   f a l s e ,   m u s t   c h a n g e   E O S     * / 
 
 
 / *     C a l l   c o b o l _ c o m p a r e _ g e n   r e c u r s i v e l y   t o   g e n e r a t e   c o d e   t o   t e s t   w h e t h e r   t h e   s i g n   i s   m i n u s     * / 
 
 	 	 c a l l   c o b o l _ c o m p a r e _ g e n   ( w o r k _ i n _ t o k e n 1 _ p t r ,   n u l l   ( ) ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     T e s t i n g   f o r   l e a d i n g   o r   t r a i l i n g   s e p a r a t e   s i g n .     * / 
 
 
 
 / *     D e f i n e   t h e   l a b e l   " f a i l _ t a g "   a t   t h e   n e x t   w o r d   i n   t h e   t e x t   s e c t i o n     * / 
 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( f a i l _ t a g ) ; 
 
 
 
 e x i t _ s e p a r a t e _ s i g n _ p r o c e s s i n g : 
 	 r e t u r n ; 
           e n d   s e p a r a t e _ s i g n _ p r o c e s s i n g ; 
  
 
 c o p y _ w h o l e _ t o k e n : 
           p r o c   ( c o p i e d _ t o k e n _ p t r ,   s o u r c e _ t o k e n _ p t r ) ; 
 
 / *     T h i s   p r o c e d u r e   m a k e s   a   c o p y   o f   t h e   e n t i r e   c o n t e n t s 
 o f   a   t o k e n .     T h i s   p r o c e d u r e   i s   n e c e s s a r y   b e c a u s e 
 c o b o l _ m a k e _ t y p e 9 $ c o p y     c o p i e s   o n l y   t h e   h e a d e r   o f   a   t o k e n .     * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 d c l 	 c o p i e d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 s o u r c e _ t o k e n _ p t r 	 p t r ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 c o p i e d _ t o k e n _ p t r 	 P o i n t e r   t o   t h e   c o p y   m a d e   b y   t h i s   p r o c e d u r e . 
 	 	 ( i n p u t / o u t p u t )     O n   i n p u t ,   i f   t h i s   p o i n t e r 
 	 	 i s   n u l l ( ) ,   t h e n   t h i s   p r o c e d u r e   a l l o c a t e s 
 	 	 s p a c e   f o r   t h e   c o p y   o f   t h e   t o k e n   i n   t h e 
 	 	 t e m p o r a r y   t o k e n   a r e a ,   a n d   r e t u r n s   a   p o i n t e r 
 	 	 t o   t h e   t e m p o r a r y   t o k e n   i n   t h i s 
 	 	 p a r a m e t e r .     I f 
 	 	 t h i s   p o i n t e r   i s   n o t   n u l l ( )   o n   i n p u t , 
 	 	 t h e n   t h e   c o p i e d   t o k e n   i s   m a d e   i n   t h e   s p a c e 
 	 	 p o i n t e d   a t   t h e   t h e   i n p u t   v a l u e   o f   t h e   p o i n t e r . 
 s o u r c e _ t o k e n _ p t r 	 P o i n t e r   t o   t h e     t o k e n   t o   b e   c o p i e d .   ( i n p u t ) 
 
 * / 
 
 d c l 	 c o p y _ s t r i n g 	 c h a r   ( 1 0 0 0 )   b a s e d   ( c o p i e d _ t o k e n _ p t r ) ; 
 d c l 	 s o u r c e _ s t r i n g 	 c h a r   ( 1 0 0 0 )   b a s e d   ( s o u r c e _ t o k e n _ p t r ) ; 
 
 
 
 s t a r t _ c o p y _ w h o l e _ t o k e n : 
 	 i f   c o p i e d _ t o k e n _ p t r   =   n u l l   ( ) 
 	 t h e n   d o ; 	 	 	 	 	 / *     A l l o c a t e   s p a c e   f o r   t h e   t o k e n   i n   t h e   t e m p o r a r y   t o k e n   a r e a .     * / 
 
 	 	 c o p i e d _ t o k e n _ p t r   =   c o b o l _ $ t e m p _ t o k e n _ p t r ; 
 	 	 c o b o l _ $ t e m p _ t o k e n _ p t r   = 
 	 	           a d d r e l   ( c o b o l _ $ t e m p _ t o k e n _ p t r ,   f i x e d   ( ( s o u r c e _ t o k e n _ p t r   - >   d a t a _ n a m e . s i z e   +   3 )   /   4 ,   1 8 ) ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     A l l o c a t e   s p a c e   f o r   t h e   t o k e n   i n   t h e   t e m m p o r a r y   t o k e n   a a r e a .     * / 
 
 
 / *     C o p y   t h e     t o k e n .     * / 
 	 s u b s t r   ( c o p y _ s t r i n g ,   1 ,   s o u r c e _ t o k e n _ p t r   - >   d a t a _ n a m e . s i z e )   =   s u b s t r   ( s o u r c e _ s t r i n g ,   1 ) ; 
 
 e x i t _ c o p y _ w h o l e _ t o k e n : 
 	 r e t u r n ; 
           e n d   c o p y _ w h o l e _ t o k e n ; 
           e n d   c l a s s _ c o n d i t i o n ; 
 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ B e g   e n t r y ( c h a r ( * ) ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c o b o l _ g e n _ d r i v e r _ $ T r _ E n d   e n t r y ( c h a r ( * ) ) ; / * * / 
 
 	 / * * * . . . . . 	 d c l   T r a c e _ B i t   b i t ( 1 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L e v   f i x e d   b i n   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   T r a c e _ L i n e   c h a r ( 3 6 )   s t a t i c   e x t e r n a l ; / * * / 
 	 / * * * . . . . . 	 d c l   i o a _   e n t r y   o p t i o n s ( v a r i a b l e ) ;   / * * / 
 
 	 / * * * . . . . . 	 d c l   c c   c h a r ( 1 5 )   i n i t ( " C L A S S _ C O N D I T I O N " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   a c   c h a r ( 1 3 )   i n i t ( " A L P H A _ C O M P A R E " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c 6   c h a r ( 1 0 )   i n i t ( " C O M P 6 _ P R O C " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   n c   c h a r ( 1 5 )   i n i t ( " N U M E R I C _ C O M P A R E " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   r c   c h a r ( 1 8 )   i n i t ( " R E L A T I O N A L _ C O M P A R E " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   s c   c h a r ( 1 4 )   i n i t ( " S I G N _ C O N D I T I O N " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   u b   c h a r ( 7 )   i n i t ( " U B R A N C H " ) ; / * * / 
 	 / * * * . . . . . 	 d c l   c c g   c h a r ( 1 7 )   i n i t ( " C O B O L _ C O M P A R E _ G E N " ) ; / * * / 
 
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
  
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 d c l 	 ( m a x ,   m i n ) 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ ; 
 % i n c l u d e   c o b o l _ t y p e 4 0 ; 
 % i n c l u d e   c o b o l _ t y p e 1 ; 
 % i n c l u d e   c o b o l _ t y p e 2 ; 
 % i n c l u d e   c o b o l _ t y p e 3 ; 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
 % i n c l u d e   c o b o l _ m c d b ; 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 % i n c l u d e   c o b o l _ f i x e d _ c o m m o n ; 
 % i n c l u d e   c o b o l _ e x t _ ; 
 
           e n d   c o b o l _ c o m p a r e _ g e n ; 
        
 
 
  
 	 	         c o b o l _ c o m p u t e _ b i n _ g e n . p l 1               0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2             1 3 6 4 6 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c o m p u t e _ b i n _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 6 / 2 9 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   n o t   o p t i o n   a d d e d   f o r   d e b u g   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 / * { * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c o m p u t e _ b i n _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   t o   e v a l u a t e   a   c o m p u t e   s t a t e m e n t 
 b y   d o i n g   c o m p u t a t i o n   i n   t h e   h a r d w a r e   r e g i s t e r s . 
 * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 / *     D e c l a r e d   b e l o w   i n   a n   i n c l u d e   f i l e .     * / 
 d c l 	 n e x t _ s t m t _ t a g 	 f i x e d   b i n ; 
 d c l 	 t a r g e t _ c o d e 	 f i x e d   b i n ; 
 d c l 	 s o u r c e _ c o d e 	 f i x e d   b i n ; 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ a d d 2 _ b i n a r y _ l o n g 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d 2 _ b i n a r y _ s h o r t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m u l t i p l y 2 _ b i n a r y 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ s t o r e _ b i n a r y 	 e x t   e n t r y   ( p t r ,   p t r ,   b i t   ( 1 ) ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e x t   e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o n 	 e x t   e n t r y ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o f f   e x t   e n t r y ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ r e l e a s e 
 	 	 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ b i n _ c o n s t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 1   d e c _ z e r o _ t o k e n 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 ) , 
 	     2   s u b s c r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 
 d c l 	 p l u s _ o p 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 2 ) ; 
 d c l 	 m i n u s _ o p 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 3 ) ; 
 d c l 	 m u l t i p l y _ o p 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 4 ) ; 
 d c l 	 d i v i d e _ o p 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 5 ) ; 
 d c l 	 u n a r y _ m i n u s _ o p 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 7 ) ; 
 
 d c l 	 t o v _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     T O V     * / 
 
 d c l 	 t r a _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     T R A     * / 
 
 
 / *     D E C L A R A T T I O N   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 r e c e i v e _ c o u n t 	 f i x e d   b i n ; 
 d c l 	 o s e _ f l a g 	 	 b i t   ( 1 ) ; 
 d c l 	 i m p e r a t i v e _ s t m t _ t a g   f i x e d   b i n ; 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 d c l 	 r e s u l t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 t o p 	 	 f i x e d   b i n ; 
 d c l 	 o p e r a n d _ s t a c k 	 ( 1 : 2 5 6 )   p t r ; 
 d c l 	 c o m p u t e _ c o d e 	 f i x e d   b i n ; 
 d c l 	 s k i p p e d _ s o m e 	 b i t   ( 1 ) ; 
 d c l 	 c a l l _ a g a i n 	 b i t   ( 1 ) ; 
 d c l 	 t e m p _ p t r 	 	 p t r ; 
 
 d c l 	 1   r e g i s t e r _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   t o k _ p t r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * 	 S T A R T   O F   E X E C U T I O N 	 	 	 * / 
 / * 	 c o b o l _ c o m p u t e _ b i n _ g e n 	 	 * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s t a r t : 	 	 	 	 	 	 / *     D e t e r m i n e   w h e t h e r   t h e   c o m p u t a t i o n   s h o u l d   b e   d o n e   i n   t h e   A - Q   o r   i n   i n d e x   r e g i s t e r s .     * / 
 	 i f   t a r g e t _ c o d e   =   s o u r c e _ c o d e 
 	 t h e n   c o m p u t e _ c o d e   =   t a r g e t _ c o d e ; 
 	 e l s e   c o m p u t e _ c o d e   =   2 ; 	 	 	 / *     s o u r c e   a n d   t a r g e t   o f   d i f f e r e n t   l e n g t h s ,   d o   t h e   c o m p u t e 
 	 	 i n   t h e   l o n g e s t   l e n g t h   r e g i s t e r s .     * / 
 
 / *     D e t e r m i n e   t h e   n u m b e r   o f   r e c e i v i n g   o p e r a n d s .     * / 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 r e c e i v e _ c o u n t   =   e n d _ s t m t . e ; 
 
 	 o s e _ f l a g   =   e n d _ s t m t . b ; 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     R e s e r v e   t w o   t a g s   f o r   o n   s i z e   e r r o r   p r o c e s s i n g .     * / 
 	 	 i m p e r a t i v e _ s t m t _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 n e x t _ s t m t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   o n   t h e   f i x e d   o v e r f l o w   m a s k   i n d i c a t o r   b i t     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o n ; 
 
 	           e n d ; 	 	 	 	 	 / *     r e s e r v e   t w o   t a g s   f o r   o n   s i z e   e r r o r   p r o c e s s i n g .     * / 
 
 	 t o p   =   0 ; 
 
 	 d o   i x   =   2   t o   i n _ t o k e n . n   -   1 ; 	 	 	 / *     G e n e r a t e   c o d e   t o   e v a l u a t e   t h e   e x p r e s s i o n .     * / 
 
 	           e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i x ) ; 
 	           i f   e n d _ s t m t . t y p e   ^ =   r t c _ e o s 
 	           t h e n   d o ; 	 	 	 	 / *     N o t   a n   E O S ,   m u s t   b e   a n   o p e r a n d .     * / 
 
 	 	           i f   e n d _ s t m t . t y p e   =   r t c _ r e s w o r d 
 	 	           t h e n   d o ; 	 	 	 / *     A   r e s e r v e d _ w o r d ,   m u s t   b e   f i g   c o n s t a n t   Z E R O     * / 
 	 	 	           e o s _ p t r   =   n u l l   ( ) ; 	 / *     M a k e   a   d a t a   n a m e   t o k e n   f o r   d e c i m a l   z e r o .     * / 
 	 	 	           c a l l   c o b o l _ m a k e _ t y p e 9 $ t y p e 2 _ 3   ( e o s _ p t r ,   a d d r   ( d e c _ z e r o _ t o k e n ) ) ; 
 	 	 	 e n d ; 	 	 	 / *     A   r e s e r v e d   w o r d ,   m u s t   b e   f i g   c o n s t a n t   Z E R O     * / 
 
 	 	           t o p   =   t o p   +   1 ; 
 	 	           o p e r a n d _ s t a c k   ( t o p )   =   e o s _ p t r ; 
 	 	 e n d ; 	 	 	 	 / *     N o t   a n   E O S ,   m u s t   b e   a n   o p e r a n d .     * / 
 
 	           e l s e   d o ; 	 	 	 	 / *     A n   o p e r a t o r ,   p e r f o r m   a   c o m p u t a t i o n     * / 
 
 	 	           r e s u l t _ t o k e n _ p t r   =   n u l l   ( ) ; 
 	 	           i f   e n d _ s t m t . e   =   u n a r y _ m i n u s _ o p 
 	 	           t h e n   d o ; 	 	 	 / *     U n a r y   m i n u s   o p e r a t i o n     * / 
 	 	 	           e o s _ p t r   =   n u l l   ( ) ; 
 	 	 	           c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( a d d r   ( d e c _ z e r o _ t o k e n ) ,   e o s _ p t r ,   c o m p u t e _ c o d e ) ; 
 
 	 	 	           i f   c o m p u t e _ c o d e   =   2 	 / *     l o n g   b i n a r y   c o m p u t a t i o n     * / 
 	 	 	           t h e n   c a l l   c o b o l _ a d d 2 _ b i n a r y _ l o n g   ( e o s _ p t r ,   o p e r a n d _ s t a c k   ( t o p ) ,   r e s u l t _ t o k e n _ p t r ,   2 ) ; 
 	 	 	           e l s e   c a l l   c o b o l _ a d d 2 _ b i n a r y _ s h o r t   ( e o s _ p t r ,   o p e r a n d _ s t a c k   ( t o p ) ,   r e s u l t _ t o k e n _ p t r ,   2 ) ; 
 
 / *     R e p l a c e   t h e   t o p   e n t r y   o f   t h e   o p e r a n d   s t a c k   w i t h   t h e   r e s u l t i n g   n e g a t e d 
 	 	 	 	 	 t o k e n .     * / 
 	 	 	           o p e r a n d _ s t a c k   ( t o p )   =   r e s u l t _ t o k e n _ p t r ; 
 	 	 	 e n d ; 	 	 	 / *     u n a r y   m i n u s   o p e r a t i o n     * / 
 
 	 	           e l s e   d o ; 	 	 	 / *     B i n a r y   o p e r a t i o n     * / 
 
 	 	 	           i f   e n d _ s t m t . e   =   p l u s _ o p 
 	 	 	           t h e n   d o ; 	 	 / *     B i n a r y   a d d i t i o n     * / 
 
 	 	 	 	           i f   c o m p u t e _ c o d e   =   2 
 	 	 	 	 	 	 / *     l o n g   b i n a r y   a r i t h m e t i c     * / 
 	 	 	 	           t h e n   c a l l   c o b o l _ a d d 2 _ b i n a r y _ l o n g   ( o p e r a n d _ s t a c k   ( t o p   -   1 ) , 
 	 	 	 	 	           o p e r a n d _ s t a c k   ( t o p ) ,   r e s u l t _ t o k e n _ p t r ,   1 ) ; 
 	 	 	 	           e l s e   c a l l   c o b o l _ a d d 2 _ b i n a r y _ s h o r t   ( o p e r a n d _ s t a c k   ( t o p   -   1 ) , 
 	 	 	 	 	           o p e r a n d _ s t a c k   ( t o p ) ,   r e s u l t _ t o k e n _ p t r ,   1 ) ; 
 	 	 	 	 e n d ; 	 	 / *     B i n a r y   a d d i t i o n     * / 
 
 	 	 	           e l s e   i f   e n d _ s t m t . e   =   m i n u s _ o p 
 	 	 	           t h e n   d o ; 	 	 / *     B i n a r y   s u b t r a c t i o n     * / 
 
 	 	 	 	           i f   c o m p u t e _ c o d e   =   2 
 	 	 	 	           t h e n   c a l l   c o b o l _ a d d 2 _ b i n a r y _ l o n g   ( o p e r a n d _ s t a c k   ( t o p   -   1 ) , 
 	 	 	 	 	           o p e r a n d _ s t a c k   ( t o p ) ,   r e s u l t _ t o k e n _ p t r ,   2 ) ; 
 	 	 	 	           e l s e   c a l l   c o b o l _ a d d 2 _ b i n a r y _ s h o r t   ( o p e r a n d _ s t a c k   ( t o p   -   1 ) , 
 	 	 	 	 	           o p e r a n d _ s t a c k   ( t o p ) ,   r e s u l t _ t o k e n _ p t r ,   2 ) ; 
 	 	 	 	 e n d ; 	 	 / *     B i n a r y   s u b t r a c t i o n     * / 
 
 	 	 	           e l s e   i f   e n d _ s t m t . e   =   m u l t i p l y _ o p 
 	 	 	           t h e n   d o ; 	 	 / *     M u l t i p l y   o p e r a t i o n .     * / 
 	 	 	 	 	 	 / *     S e t   c o m p u t e   c o d e   t o   l o n g   b i n a r y ,   b e c a u s e   m u l t i p l i c a t i o n   i s 
 	 	 	 	 	 d o n e   i n   t h e   3 6   b i t   r e g i s t e r s .     * / 
 	 	 	 	           c o m p u t e _ c o d e   =   2 ; 
 	 	 	 	           c a l l   c o b o l _ m u l t i p l y 2 _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p   -   1 ) ,   o p e r a n d _ s t a c k   ( t o p ) , 
 	 	 	 	 	 r e s u l t _ t o k e n _ p t r ,   1 ) ; 
 	 	 	 	 e n d ; 	 	 / *     M u l t i p l y   o p e r a t i o n .     * / 
 
 	 	 	           e l s e   i f   e n d _ s t m t . e   =   d i v i d e _ o p 
 	 	 	           t h e n   d o ; 	 	 / *     D i v i d e   o p e r a t i o n .     * / 
 	 	 	 	 	 	 / *     S e t   c o m p u t e   c o d e   t o   l o n g   b i n a r y ,   b e c a u s e 
 	 	 	 	 	 	 d i v i s i o n   i s   d o n e   i n   3 6   b i t   r e g i s t e r s .     * / 
 	 	 	 	           c o m p u t e _ c o d e   =   2 ; 
 	 	 	 	           c a l l   c o b o l _ m u l t i p l y 2 _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p   -   1 ) ,   o p e r a n d _ s t a c k   ( t o p ) , 
 	 	 	 	 	 r e s u l t _ t o k e n _ p t r ,   2 ) ; 
 	 	 	 	 	 	 / *     R e l e a s e   t h e     A   r e g i s t e r ,   ( w h i c h   i s   l o c k e d   b y 
 	 	 	 	 	 	 t h e   m u l t i p l y   p r o c e d u r e . )     * / 
 	 	 	 	           r e g i s t e r _ s t r u c . r e g _ n o   =   " 0 0 0 1 " b ; 
 	 	 	 	 	 	 / *     A     * / 
 	 	 	 	           c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 	 	 	 	 e n d ; 	 	 / *     D i v i d e   o p e r a t i o n .     * / 
 
 
 	 	 	           t o p   =   t o p   -   1 ; 
 	 	 	           o p e r a n d _ s t a c k   ( t o p )   =   r e s u l t _ t o k e n _ p t r ; 
 	 	 	 e n d ; 	 	 	 / *     B i n a r y   o p e r a t i o n     * / 
 
 	 	           i f   o s e _ f l a g   &   ( e n d _ s t m t . e   =   p l u s _ o p   |   e n d _ s t m t . e   =   m i n u s _ o p ) 
 	 	           t h e n   d o ; 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   p r e s e n t ,   m u s t   t e s t   f o r   o v e r f l o w     * / 
 	 	 	 	 	 	 / *     N o t e   t h a t   o v e r f l o w   c a n   o c c u r   d u r i n g   t h e   e x e c u t i o n 
 	 	 	 	 	 o f   t h e   c o m p u t a t i o n   o n l y   f o r   a d d i t i o n   a n d   s u b t r a c t i o n .     * / 
 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	 	 / *     M a k e   a   r e f e r e n c e   t o   i m p e r a t i v e _ s t m t _ t a g   a t   t h e   T O V   j u s t   e m i t t e d     * / 
 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 e n d ; 	 	 	 / *     O n   s i z e   e r r o r   c l a u s e   p r e s e n t ,   m u s t   t e s t   f o r   o v e r f l o w     * / 
 	 	 e n d ; 	 	 	 	 / *     A n   o p e r a t o r ,   p e r f o r m   a   c o m p u t a t i o n     * / 
 	 e n d ; 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   e v a l u a t e   t h e   e x p r e s s i o n .     * / 
 
 
 / *     A t   t h i s   p o i n t   i n   p r o c e s s i n g ,   c o d e   h a s   b e e n   g e n e r a t e d   t o   c o m p u t e   t h e 
 	 	 	 e x p r e s s i o n .     o p e r a n d _ s t a c k ( t o p )   c o n t a i n s   a   p o i n t e r   t o   a   t o k e n   t h a t   d e s c r i b e s   t h e 
 	 	 	 r e s u l t   o f   t h e   c o m p u t a t i o n     * / 
 
 	 i f   o p e r a n d _ s t a c k   ( t o p )   ^ =   n u l l 
 	 t h e n   i f   o p e r a n d _ s t a c k   ( t o p )   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	           t h e n   d o ; 	 	 	 	 / *     R e s u l t   i s   a   n u m e r i c   l i t e r a l   c o n s t a n t .     * / 
 	 	 	 	 	 	 / *     C o n v e r t   t h e   n u m e r i c   l i t e r a l   t o   f i x e d   b i n a r y .     * / 
 	 	           t e m p _ p t r   =   n u l l   ( ) ; 
 	 	           c a l l   c o b o l _ m a k e _ b i n _ c o n s t   ( o p e r a n d _ s t a c k   ( t o p ) ,   t e m p _ p t r ,   c o m p u t e _ c o d e ) ; 
 	 	           o p e r a n d _ s t a c k   ( t o p )   =   t e m p _ p t r ; 
 	 	 e n d ; 	 	 	 	 / *     R e s u l t   i s   a   n u m e r i c   l i t e r a l   c o n s t a n t .     * / 
 
 	 i f   e n d _ s t m t . e   ^ =   m u l t i p l y _ o p 
 	 t h e n   d o ; 	 	 	 	 	 / *     O p e r a t i o n   w a s   a d d ,   s u b t r a c t ,   o r   d i v i d e     * / 
 
 / *     F o r   a d d ,   s u b t r a c t ,   o r   d i v i d e ,   t h e   r e s u l t   w i l l   a l w a y s   f i t   i n t o   a   3 6   b i t 
 	 	 r e g i s t e r .     H e r e ,   w e   s t o r e   t h e   r e s u l t ,   f i r s t   i n t o   a l l   l o n g   b i n a r y   r e c e i v i n g 
 	 	 f i e l d s ,   a n d   t h e n   i n t o   a n y   s h o r t   b i n a r y   r e c e i v i n g   f i e l d s .     * / 
 
 	 	 s k i p p e d _ s o m e   =   " 0 " b ; 
 
 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 	 / *     S t o r e   r e s u l t   i n t o   t a r g e t s   t h a t   w i l l   h o l d   t h e   r e s u l t     * / 
 
 	 	           i f   ( c o m p u t e _ c o d e   =   2   &   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 ) 
 	 	           t h e n   s k i p p e d _ s o m e   =   " 1 " b ; 
 
 	 	           e l s e   i f   o p e r a n d _ s t a c k   ( t o p )   ^ =   n u l l 
 	 	           t h e n   c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) ,   c a l l _ a g a i n ) ; 
 
 	 	 e n d ; 	 	 	 	 / *     S t o r e   r e s u l t   i n t o   t a r g e t s   t h a t   w i l l   h o l d   t h e   r e s u l t .     * / 
 
 	 	 i f   s k i p p e d _ s o m e 
 	 	 t h e n   d o ; 	 	 	 	 / *     M u s t   m o v e   t h e   r e s u l t   i n t o   t a r g e t s   t h a t   m a y   b e   t o o   s m a l l     * / 
 
 	 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 / *     s c a n   f o r   u n f i l l e d   t a r g e t s     * / 
 
 	 	 	           i f   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	           t h e n   c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) ,   c a l l _ a g a i n ) ; 
 
 	 	 	           i f   c a l l _ a g a i n 
 	 	 	           t h e n   d o ; 	 	 / *     R e s u l t   m o v e d   t o   t e m p ,   m u s t   n o w   m o v e   t e m p   t o   t a r g e t     * / 
 
 	 	 	 	           i f   o s e _ f l a g 
 	 	 	 	           t h e n   d o ; 
 	 	 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g , 
 	 	 	 	 	 	 c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 	 e n d ; 
 
 	 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) ,   c a l l _ a g a i n ) 
 	 	 	 	 	 ; 
 
 	 	 	 	 e n d ; 	 	 / *     R e s u l t   m o v e d   t o   t e e p ,   m u s t   n o w   m o v e   t e m p   t o   t a r g e t .     * / 
 
 	 	 	 e n d ; 	 	 	 / *     s c a n   f o r   u n f i l l e d   t a r g e t s   * / 
 
 	 	           e n d ; 	 	 	 	 / *     M o v e   t h e   r e s u l t   i n t o   t a r g e t s   t h a t   m a y   b e   t o o   s m a l l     * / 
 
 
 	           e n d ; 	 	 	 	 	 / *     O p e r a t i o n   w a s   a d d ,   s u b t r a c t ,   o r   d i v i d e .     * / 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     O p e r a t i o n   w a s   m u l t i p l y     * / 
 
 
 
 / *     T h e   r e s u l t   o f   a   f i x e d   b i n a r y   m u l t i p l i c a t i o n   i s   i n   t h e   A   a n d   Q   r e g i s t e r s , 
 	 	 a n d   c o u l d   p o t e n t i a l l y   o v e r f l o w   b o t h   l o n g   a n d   s h o r t   b i n a r y   t a r g e t s .     * / 
 / *     S t o r e   t h e   r e s u l t ,   f i r s t   i n t o   a l l   l o n g   b i n a r y   r e c e i v i n g   f i e l d s .     * / 
 	 	 s k i p p e d _ s o m e   =   " 0 " b ; 
 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 	 / *     S t o r e   i n t o   a l l   l o n g   b i n a r y   t a r g e t s .     * / 
 	 	           i f   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	           t h e n   s k i p p e d _ s o m e   =   " 1 " b ; 
 	 	           e l s e   d o ; 	 	 	 / *     T a r g e t   i s   l o n g   b i n a r y .     * / 
 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) ,   c a l l _ a g a i n ) ; 
 	 	 	           i f   c a l l _ a g a i n 
 	 	 	           t h e n   d o ; 	 	 / *     R e s u l t   m o v e d   t o   t e m p   i n   a n   a t t e m p t   t o   f o r c e   o v e r f l o w .     * / 
 	 	 	 	           i f   o s e _ f l a g 
 	 	 	 	           t h e n   d o ; 	 / *     M u s t   g e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w .     * / 
 	 	 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g , 
 	 	 	 	 	 	 c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 	 e n d ; 	 / *     M u s t   g e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w .     * / 
 	 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) ,   c a l l _ a g a i n ) 
 	 	 	 	 	 ; 
 	 	 	 	 e n d ; 	 	 / *     R e s u l t   m o v e d   t o   t e m p   i n   a n   a t t e m p t   t o   f o r c e   o v e r f l o w .     * / 
 	 	 	 e n d ; 	 	 	 / *     T a r g e t   i s   l o n g   b i n a r y .     * / 
 	 	 e n d ; 	 	 	 	 / *     S t o r e   i n t o   a l l   l o n g   b i n a r y   t a r g e t s .     * / 
 
 	 	 i f   s k i p p e d _ s o m e 
 	 	 t h e n   d o ; 	 	 	 	 / *     M o v e   r e s u l t   i n t o   s h o r t   b i n a r y   t a r g e t s .     * / 
 	 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 / *     S c a n   f o r   u n f i l l e d   t a r g e t s .     * / 
 	 	 	           i f   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . b i n _ 1 8 
 	 	 	           t h e n   d o ; 	 	 / *     A   s h o r t   b i n a r y   t a r g e t .     * / 
 	 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) ,   c a l l _ a g a i n ) 
 	 	 	 	 	 ; 
 	 	 	 	           i f   c a l l _ a g a i n 
 	 	 	 	           t h e n   d o ; 	 / *     R e s u l t   m o v e d   t o   t e m p   i n   a t t e m p t   t o   f o r c e   o v f l o w .     * / 
 	 	 	 	 	           i f   o s e _ f l a g 
 	 	 	 	 	           t h e n   d o ; 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w .     * / 
 	 	 	 	 	 	           c a l l   c o b o l _ e m i t   ( a d d r   ( t o v _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	 	           c a l l   c o b o l _ m a k e _ t a g r e f   ( i m p e r a t i v e _ s t m t _ t a g , 
 	 	 	 	 	 	 	 c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 	 	 e n d ; 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w .     * / 
 	 	 	 	 	 	 / *     N o w   m u s t   s t o r e   t h e   t e m p   i n t o   t h e   t a r g e t .     * / 
 	 	 	 	 	           c a l l   c o b o l _ s t o r e _ b i n a r y   ( o p e r a n d _ s t a c k   ( t o p ) ,   o p e r a n d _ s t a c k   ( i x ) , 
 	 	 	 	 	 	 c a l l _ a g a i n ) ; 
 	 	 	 	 	 e n d ; 	 / *     R e s u l t   m o v e d   t o   t e m p   i n   a t t e m p t   t o   f o r c e   o v f l o w     * / 
 	 	 	 	 e n d ; 	 	 / *     A   s h o r t   b i n a r y   t a r g e t .     * / 
 	 	 	 e n d ; 	 	 	 / *     S c a n   f o r   u n f i l l e d   t a r g e t s .     * / 
 	 	           e n d ; 	 	 	 	 / *     M o v e   r e s u l t   i n t o   s h o r t   b i n a r y   t a r g e t s .     * / 
 
 	           e n d ; 	 	 	 	 	 / *     O p e r a t i o n   w a s   m u l t i p l y     * / 
 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     E m i t   c o d e   t o   t r a n s f e r   o v e r   t h e   i m p e r a t i v e   s t m t .     * / 
 	 	 	 	 	 	 / *     T u r n   o f f   t h e   f i x e d   o v e r f l o w   m a s k   i n d i c a t o r   b i t .     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	 i f   e n d _ s t m t . f   =   " 0 1 " b 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 t h e n   n e x t _ s t m t _ t a g   =   i m p e r a t i v e _ s t m t _ t a g ; 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 e l s e   d o ; 
 
 / *     E m i t   c o d e   t o   t r a n s f e r   t o   t h e   n e x t   c o b o l   s t a t e m e n t .     * / 
 	 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t r a _ i n s t ) ,   n u l l   ( ) ,   1 ) ; 
 	 	 	 	 	 	 / *     M a k e   a   r e f e r e n c e   t o   t h e   n e x t   s t m t   a t   t h e   t r a n s f e r   i n s t r u c t i o n   j u s t   e m i t t e d     * / 
 	 	 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( n e x t _ s t m t _ t a g ,   c o b o l _ $ t e x t _ w d _ o f f   -   1 ,   n u l l   ( ) ) ; 
 	 	 	 	 	 	 / *     D e f i n e   t h e   i m p e r a t i v e   s t a t e m e n t   t a g   a t   t h e   N E X T   i n s t r u c t i o n     * / 
 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( i m p e r a t i v e _ s t m t _ t a g ) ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	           e n d ; 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   o f f   t h e   o v e r f l o w   m a s k   i n d i c a t o r   b i t .     * / 
 	 	 c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 	           e n d ; 	 	 	 	 	 / *     E m i t   c o d e   t o   t r a n s f e r   o v e r   t h e   i m p e r a t i v e   s t a t e m e n t .     * / 
 
 	 i f   o p e r a n d _ s t a c k   ( t o p )   ^ =   n u l l 
 	 t h e n   i f   o p e r a n d _ s t a c k   ( t o p )   - >   d a t a _ n a m e . t y p e   =   r t c _ r e g i s t e r 
 	           t h e n   d o ; 	 	 	 	 / *     S o u r c e   i s   i n   a   r e g i s t e r ,   a n d   h a s   b e e n   s t o r e d   i n t o   a l l   t a r g e t s .     R e l e a s e   t h e 
 	 	 r e g i s t e r   n o w .     * / 
 	 	           r e g i s t e r _ s t r u c . r e g _ n o   =   o p e r a n d _ s t a c k   ( t o p )   - >   c o b o l _ t y p e 1 0 0 . r e g i s t e r ; 
 	 	           c a l l   c o b o l _ r e g i s t e r $ r e l e a s e   ( a d d r   ( r e g i s t e r _ s t r u c ) ) ; 
 	 	 e n d ; 	 	 	 	 / *     S o u r c e   i s   i n   a   r e g i s t e r ,   a n d   h a s   b e e n   s t o r e d   i n t o   a l l   t a r g e t s .     R e l e a s e   t h e 
 	 	 r e g i s t e r   n o w .     * / 
 
 e x i t : 
 	 r e t u r n ; 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ t y p e 1 0 0 ; 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ ; 
           e n d   c o b o l _ c o m p u t e _ b i n _ g e n ; 
    
 
 
  
 	 	         c o b o l _ c o m p u t e _ g e n . p l 1                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2             2 9 1 3 2 1     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ c o m p u t e _ g e n . p l 1   A d d e d   T r a c e   s t a t e m e n t s . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 1 9 / 8 4   b y   F C H ,   [ 4 . 3 - 1 ] ,   B U G 5 6 3 ( p h x 1 8 3 8 1 ) ,   n e w   c o b o l _ a d d r _ t o k e n s . i n c l . p l 1   * / 
 / *   M o d i f i e d   o n   0 4 / 1 8 / 8 0   b y   F C H ,   n e w   i n c l u d e   f i l e   c o b o l _ a r i t h _ u t i l ,   f i x   n o t   o p t i o n   * / 
 / *   M o d i f i e d   o n   0 6 / 2 8 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   n o t   o p t i o n   a d d e d   f o r   d e b u g   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ c o m p u t e _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ) ; 
 
 / *     T h e   c o m p u t e   g e n e r a t o r :   c o b o l _ c o m p u t e _ g e n 
 
 F U N C T I O N 
 
 T h e   f u n c t i o n   o f   t h i s   p r o c e d u r e   i s   t o   g e n e r a t e   c o d e   t h a t 
 	 1 .   p e r f o r m s   t h e     o f   t h e   a r i t h m e t i c   
 	 e x p r e s s i o n   t o   b e   c o m p u t e d . 
 	 2 .   a s s i g n s   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n   i n t o   t h e   d a t a 
 	 i t e m s   t o   r e c e i v e   t h e   r e s u l t . 
 	 3 .   c h e c k s   f o r   s i z e   e r r o r s   d u r i n g   t h e   e v a l u a t i o n   o f   t h e 
 	 a r i t h m e t i c   e x p r e s s i o n . 
 	 4 .   c h e c k s   f o r   s i z e   e r r o r s   d u r i n g   t h e   a s s i g n i n g   o f   t h e 
 	 r e s u l t   t o   t h e   r e c e i v i n g   d a t a   i t e m s . 
 
 * / 
 
 / *     D E F I N I T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 d c l 	 n e x t _ s t m t _ t a g 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 
 i n _ t o k e n _ p t r 	 P o i n t s   t o   t h e   i n _ t o k e n   s t r u c t u r e ,   w h i c h 
 	 	 c o n t a i n s   i n f o r m a t i o n   d e s c r i b i n g   t h e   c o m p u t e 
 	 	 s t a t e m e n t   f o r   w h i c h   c o d e   i s   t o   b e   g e n e r a t e d . 
 	 	 ( i n p u t )   S e e   d e s c r i p t i o n   b e l o w   u n d e r   I N P U T   f o r   d e t a i l s . 
 	 	 N O T E :   T h i s   p a r a m e t e r   i s   a c t u a l l y   d e c l a r e d   i n 
 	 	 a n   i n c l u d e   f i l e   f o l l o w i n g   t h e   e x e c u t a b l e 
 	 	 s t a t e m e n t s   o f   t h i s   p r o c e d u r e . 
 n e x t _ s t m t _ t a g 	 C o n t a i n s   a   c o m p i l e r   g e n e r a t e d   t a g   n u m b e r   ( l a b e l ) 
 	 	 t o   b e   a s s o c i a t e d   w i t h   t h e   C o b o l   s t a t e m e n t 
 	 	 f o l l o w i n g   t h e   c o m p u t e   s t a t e m e n t   f o r   w h i c h 
 	 	 t h i s   p r o c e d u r e   w a s   c a l l e d .   ( o u t p u t ) 
 	 	 S e e   d i s c u s s i o n   b e l o w   u n d e r   O U T P U T   f o r   d e t a i l s . 
 
 
 I N P U T 
 
 T h e   i n p u t   t o   t h i s   p r o c e d u r e   i s   a   s t r u c t u r e ,   w h i c h   i s   d e f i n e d   b y   a 
 d e c l a r a t i o n   o f   t h e   f o l l o w i n g   f o r m a t : 
 
 d c l 	 1   i n _ t o k e n   b a s e d   ( i n _ t o k e n _ p t r ) , 
 	 	 2   n   f i x e d   b i n , 
 	 	 2   c o d e   f i x e d   b i n , 
 	 	 2   t o k e n _ p t r   (   0   r e f e r   ( i n _ t o k e n . n ) )   p t r ; 
 
 	 w h e r e : 
 
 	 i n _ t o k e n . n   c o n t a i n s   t h e   n u m b e r   o f   e n t r i e s   i n   t h e 
 	 t o k e n _ p t r   a r r a y . 
 
 	 t o k e n _ p t r ( 1 )   c o n t a i n s   a   p o i n t e r   t o   a   r e s e r v e d   w o r d   t o k e n 
 	 ( t y p e   1 )   f o r   t h e   r e s e r v e d   w o r d   C O M P U T E .     T h i s   p o i n t e r   i s 
 	 n o t   u s e d   b y   t h i s   p r o c e d u r e . 
 
 t o k e n _ p t r ( n )   c o n t a i n s   a   p o i n t e r   t o   a n   E O S   ( t y p e   1 9 )   t o k e n .     T h e 
 	 t y p e   1 9   t o k e n   c o n t a i n s   s o m e   i n f o r m a t i o n   t h a t   i s   v e r y 
 	 m e a n i n g f u l   t o   t h i s   p r o c e d u r e . 
 
 	 	 1 .   e n d _ s t m t . v e r b   c o n t a i n s   t h e   c o d e   f o r   t h e 
 	 	 r e s e r v e d   w o r d   C O M P U T E . 
 
 	 	 2 .   e n d _ s t m t . e   c o n t a i n s   a   c o u n t   o f   t h e   n u m b e r 
 	 o f   d a t a   i t e m s   t h a t   a r e   t o   r e c e i v e   t h e   r e s u l t   o f   t h e 
 	 c o m p u t a t i o n . 
 
 	 	 3 .   e n d _ s t m t . b   i s   s e t   t o   " 1 " b   i f   t h e   c o m p u t e 
 	 	 s t a t e m e n t   c o n t a i n e d   a n   O N   S I Z E   E R R O R 
 	 	 c l a u s e . 
 
 	 t o k e n _ p t r ( 2 )   t h r o u g h   t o k e n _ p t r ( n - 1 )   p o i n t   t o   t o k e n s 
 	 t h a t   d e s c r i b e : 
 
 	 	 1 .     t h e   d a t a   i t e m s   t h a t   a r e   t o   r e c e i v e   t h e 
 	 	 r e s u l t   o f   t h e   c o m p u t a t i o n .   ( a l l   a r e   d a t a   n a m e 
 	 	 ( t y p e   9 )   t o k e n s ) 
 
 	 	 2 .   t h e   t o k e n s   f o r   t h e   o p e r a n d s   t o   b e   u s e d   i n 
 	 	 e v a l u a t i n g   t h e   a r i t h m e t i c   e x p r e s s i o n .     T h e s e 
 	 	 t o k e n s   c a n   b e   d a t a   n a m e   ( t y p e   9 )   t o k e n s ,   n u m e r i c 
 	 	 l i t e r a l   ( t y p e   2 )   t o k e n s ,   o r   t h e   f i g u r a t i v e 
 	 	 c o n s t a n t   Z E R O   ( t y p e   1 )   t o k e n . 
 
 	 	 3 .   t h e   t o k e n s   t h a t   d e s c r i b e   t h e   a r i t h m e t i c 
 	 	 o p e r a t o r s   t o   b e   u s e d   i n   e v a l u a t i n g   t h e 
 	 	 a r i t h m e t i c   e x p r e s s i o n .     T h e s e   t o k e n s   a r e   E O S 
 	 	 t o k e n s   ( t y p e   1 9 ) .     T h e   c o n t e n t s   o f   t h e   f i e l d 
 	 	 e n d _ s t m e . e   i n   t h e s e   t y p e   1 9   t o k e n s   s p e c i f i e s 
 	 	 t h e   o p e r a t o r . 
 
 
 	 	 e n d _ s t m t . e 	 |   o p e r a t o r 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 	 1 8 2 	 |   +   ( b i n a r y   p l u s ) 
 	 	 	 1 8 3 	 |   -   ( b i n a r y   m i n u s ) 
 	 	 	 1 8 4 	 |   *   ( m u l t i p l y ) 
 	 	 	 1 8 5 	 |   /   ( d i v i d e ) 
 	 	 	 1 8 6 	 |   * *   ( e x p o n e n t i a t e ) 
 	 	 	 1 8 7 	 |   -   ( u n a r y   m i n u s ) 
 
 
 T h e   d a t a   n a m e   t o k e n s ,   a n d   E O S   t o k e n s   t h a t   s p e c i f y   o p e r a t o r s , 
 a r e   a r r a n g e d   i n   t r a i l i n g   p o l i s h   n o t a t i o n   i n   t h e   t o k e n _ p t r 
 a r r a y .     T h a t   i s ,   e a c h   o p e r a t o r   f o l l o w s   t h e   o p e r a n d   ( f o r   u n a r y   o p e r a t o r s ) 
 o r   t h e   t w o   o p e r a n d s   ( f o r   b i n a r y   o p e r a t o r s )   t o   w h i c h   i t   a p p l i e s . 
 
 O U T P U T 
 
 T h e   s e c o n d   p a r a m e t e r   p a s s e d   t o   c o b o l _ c o m p u t e _ g e n   i s   a n   o u t p u t   p a r a - 
 m e t e r .     A   v a l u e   i s   r e t u r n e d   t o   t h e   c a l l i n g   p r o g r a m 
 ( c o b o l _ g e n _ d r i v e r _ )   o n l y   f o r   t h o s e   c o m p u t e   s t a t e m e n t s   t h a t   h a v e   o n 
 s i z e   e r r o r   c l a u s e s . 
 
 I f   a n   o n   s i z e   e r r o r   c l a u s e   i s   s p e c i f i e d ,   t h e n ,   i n   a d d i t i o n   t o 
 t h e   c o d e   t h a t   e v a l u a t e s   t h e   a r i t h m e t i c   e x p r e s s i o n ,   a n d   a s s i g n s 
 i t   t o   t h e   r e c e i v i n g   d a t a   i t e m s ,   c o b o l _ c o m p u t e _ g e n   m u s t   a l s o   g e n e r a t e 
 c o d e   t h a t   c h e c k s   f o r   s i z e   e r r o r   c o n d i t i o n s .     I f   a   s i z e   e r r o r   i s 
 d e t e c t e d   b y   t h e   e x e c u t i o n   o f   t h e   g e n e r a t e d   c o d e ,   t h e n   t h e 
 i m p e r a t i v e   s t a t e m e n t   i n   t h e   C O M P U T E   s t a t e m e n t   i s   e x e c u t e d ,   o t h e r w i s e 
 t h e   i m p e r a t i v e   s t a t e m e n t   i s   s k i p p e d .     T h e   c o b o l _ c o m p u t e _ g e n 
 g e n e r a t o r ,   h o w e v e r ,   w h e n   g e n e r a t i n g   c o d e   t o   s k i p   o v e r   t h e   i m p e r a t i v e 
 s t a t m e e n t   t o   t h e   n e x t   s t a t e m e n t ,   d o e s   n o t   k n o w   a n y t h i n g   a b o u t 
 t h e   n e x t   s t a t e m e n t .     T h i s   s i t u a t i o n   i s   h a n d l e d   a s   f o l l o w s : 
 
 	 1 .   c o b o l _ c o m p u t e _ g e n   r e s e r v e s   a   t a g   f o r   t h e   n e x t   C o b o l 
 	 s t a t e m e n t . 
 	 2 .   a n y   t r a n s f e r s   t o   t h e   n e x t   s t a t e m e n t   r e f e r e n c e 
 	 t h e   t a g   r e s e r v e d   b y   c o b o l _ c o m p u t e _ g e n .     T h i s   t a g   i s   n o t   y e t 
 	 d e f i n e d .   ( a s s o c i a t e d   w i t h   a n   i n s t r u c t i o n   l o c a t i o n   i n 
 	 t h e   t e x t   s e g m e n t ) 
 	 3 .   a f t e r   g e n e r a t i o n   o f   c o d e   f o r   a   c o m p u t e   s t a t e m e n t   i s 
 	 c o m p l e t e d ,   c o b o l _ c o m p u t e _ g e n   p a s s e s   t h e   n e x t   s t a t e m e n t   t a g 
 	 b a c k   t o   i t s   c a l l e r ,   c o b o l _ g e n _ d r i v e r _ ,   i n   t h e   s e c o n d 
 	 p a r a m e t e r . 
 	 4 .   w h e n   c o b o l _ g e n _ d r i v e r _   d e t e c t s   t h e   e n d   o f   t h e   i m p e r a t i v e 
 	 s t a t e m e n t ,   t h e   t a g ,   r e s e r v e d   b y   c o b o l _ c o m p u t e _ g e n ,   i s 
 	 d e f i n e d . 
 
 
 I M P L E M E N T A T I O N   D E T A I L S 
 
 1 .     C o m p u t i n g   t h e   R e s u l t   o f   t h e   A r i t h m e t i c   E x p r e s s i o n 
 
 T h e   i n p u t   s t r u c t u r e   c o n t a i n s ,   i n   i t s   a r r a y   o f   p o i n t e r s ,   p o i n t e r s 
 t o   t o k e n s   t h a t   r e p r e s e n t   t h e   c o m p u t e   s t a t e m e n t .     T h e   f i r s t   m e a n i n g f u l 
 p o i n t e r   i s   c o n t a i n e d   i n   t o k e n _ p t r ( 2 )   ( b e c a u s e   t o k e n _ p t r ( 1 )   p o i n t s   t o   t h e 
 r e s e r v e d   w o r d   t o k e n   f o r   c o m p u t e ) ,   a n d   t h e   l a s t   m e a n i n g f u l   p o i n t e r   i s 
 c o n t a i n e d   i n   t o k e n _ p t r ( n - 1 )   ( b e c a u s e   t o k e n _ p t r ( n )   p o i n t s   t o   a n 
 E O S   t o k e n ) .     P r o c e s s i n g   t o   e v a l u a t e   t h e   r e s u l t   o f   t h e 
 e x p r e s s i o n   i s   d o n e   a s   f o l l o w s . 
 
 	 1 .   S t a r t i n g   a t   t h e   t o k e n   p o i n t e d   a t   b y   t o k e n _ p t r ( 2 )   ,   a n d 
 	 p r o c e e d i n g   t h r o u g h   t o k e n _ p t r ( n - 1 ) ,   t h e   t o k e n s   p o i n t e d   a t   a r e   s c a n n e d . 
 
 	 2 .   E a c h   t o k e n   t h a t   i s   n o t   a n   E O S   t o k e n   h a s   a   p o i n t e r   t o 
 	 i t   p u s h e d   i n t o   a   L I F O   s t a c k ,   r e f e r r e d   t o   h e r e   a s   t h e 
 	 o p e r a n d   s t a c k . 
 
 	 3 .   E a c h   t i m e   a n   E O S   t o k e n   i s   d e t e c t e d ,   i t   i s   a n   o p e r a t o r , 
 	 a n d   c o d e   i s   g e n e r a t e d .     T h e   t y p e   o f   p r o c e s s i n g   d o n e 
 	 t o   g e n e r a t e   c o d e   d e p e n d s   o n   t h e   o p e r a t o r : 
 
 	 	 a .   F o r   a   u n a r y   o p e r a t o r ,   t h e   c o d e   i s   g e n e r a t e d 
 	 	 t o   p e r f o r m   t h e   o p e r a t i o n   u s i n g   t h e   t o k e n   p o i n t e d 
 	 	 a t   b y   t h e   t o p   e n t r y   o f   t h e   o p e r a n d   s t a c k .   A 
 	 	 p o i n t e r   t o   t h e   d a t a   n a m e   t o k e n   t h a t   d e s c r i b e s 
 	 	 t h e   r e s u l t   o f   t h e   o p e r a t i o n   r e p l a c e s   t h e   t o p 
 	 	 e n t r y   o f   t h e   o p e r a n d   s t a c k . 
 
 	 	 b .   F o r   a   b i n a r y   o p e r a t o r ,   c o d e   i s   g e n e r a t e d 
 	 	 t o   p e r f o r m   t h e   o p e r a t i o n   o n   t h e   t w o   t o k e n s 
 	 	 p o i n t e d   a t   b y   t h e   t w o   t o p   e n t r i e s   o n   t h e 
 	 	 o p e r a n d   s t a c k .     T h e   t o p   e n t r y   o n   t h e   o p e r a n d   s t a c k 
 	 	 i s   t h e n   r e m o v e d   ( p o p p e d ! ) ,   a n d   a   p o i n t e r   t o 
 	 	 t h e   d a t a   n a m e   t o k e n   t h a t   d e s c r i b e s   t h e   r e s u l t 
 	 	 o f   t h e   o p e r a t i o n   r e p l a c e s   t h e   c u r r e n t   t o p 
 	 	 e n t r y   o f   t h e   o p e r a n d   s t a c k . 
 
 G e n e r a t i o n   o f   c o d e   i s   a c c o m p l i s h e d   b y   c a l l s   t o   a r i t h m e t i c   s u b g e n e r a t o r s . 
 T h e   s u b g e n e r a t o r s   c a l l e d   f o r   e a c h   o p e r a t i o n   a r e   g i v e n   i n   t h e 
 f o l l o w i n g   t a b l e : 
 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 o p e r a t i o n 	 	 |     s u b g e n e r a t o r   c a l l e d 
 	 	 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
 	 	 u n a r y   m i n u s 	 |   c o b o l _ a r i t h o p _ g e n 
 	 	 a d d i t i o n 	 	 |   c o b o l _ a d d 3 
 	 	 s u b t r a c t i o n 	 |   c o b o l _ a d d 3 
 	 	 m u l t i p l i c a t i o n 	 |   c o b o l _ m p y 3 
 	 	 d i v i s i o n 	 	 |   c o b o l _ m p y 3 
 	 	 e x p o n e n t i a t i o n 	 |   c o b o l _ e x p 3 
 
 A t   t h e   c o m p l e t i o n   o f   t h e   s c a n   o f   a l l   o f   t h e   t o k e n s ,   t h e   t o p 
 e n t r y   o n   t h e   o p e r a n d   s t a c k   p o i n t s   t o   a   t o k e n   t h a t   d e s c r i b e s   t h e 
 r e s u l t   o f   t h e   e v a l u a t i o n   o f   t h e   e x p r e s s i o n .     T h e   o t h e r   e n t r i e s 
 i n   t h e   o p e r a n d   s t a c k   p o i n t   t o   t h e   t o k e n s   t h a t   d e s c r i b e   t h e 
 r e c e i v i n g   d a t a   i t e m s . 
 
 
 2 .     A s s i g n i n g   t h e   R e s u l t   o f   t h e   C o m p u t a t i o n   t o   t h e   R e c e i v i n g 
 D a t a   I t e m s . 
 
 I f   n o   o n   s i z e   e r r o r   c h e c k i n g   w a s   r e q u e s t e d ,   t h e n   t h e   m o v e   g e n e r a t o r 
 i s   c a l l e d   t o   m o v e   t h e   r e s u l t   t o   t h e   r e c e i v i n g   d a t a   i t e m s . 
 
 I f   o n   s i z e   e r r o r   c h e c k i n g   w a s   r e q u e s t e d ,   p r o c e s s i n g   i s   m o r e 
 c o m p l i c a t e d .     T h e   d a t a   n a m e   ( t y p e   9 )   t o k e n   f o r   t h e   r e s u l t   o f   t h e 
 c o m p u t a t i o n   c o n t a i n s   t h e   f o l l o w i n g   i n f o r m a t i o n   a b o u t   t h e   r e s u l t a n t   v a l u e : 
 
 	 1 .   t o t a l   l e n g t h   o f   t h e   r e s u l t ,   i n   d i g i t s . 
 	 2   n u m b e r   o f   p l a c e s   t o   t h e   l e f t   o f   t h e   d e c i m a l   p o i n t . 
 	 3 .   n u m b e r   o f   p l a c e s   t o   t h e   r i g h t   o f   t h e   d e c i m a l   p o i n t . 
 
 T h e   d a t a   n a m e   t o k e n s   f o r   t h e   r e c e i v i n g   d a t a   i t e m s   c o n t a i n   t h e 
 s a m e   i n f o r m a t i o n .     T h e r e f o r e ,   i t   i s   p o s s i b l e   ,   a t   c o m p i l a t i o n 
 t i m e ,   t o   d e t e r m i n e   w h e t h e r   a n   o v e r f l o w   c o n d i t i o n   c o u l d   o c c u r   w h e n 
 a s s i g n i n g   a   r e s u l t   t o   a   r e c e i v i n g   d a t a   i t e m .     P r o c e s s i n g   f o r 
 a s s i g n i n g   t h e   r e s u l t   w h e n   o n   s i z e   e r r o r   c h e c k i n g   w a s   r e q u e s t e d 
 c o n s i s t s   o f   t h e   f o l l o w i n g   s e q u e n c e : 
 
 	 1 .   d e t e r m i n e   w h i c h   r e c e i v i n g   f i e l d s   c a n   c o n t a i n   t h e 
 	 r e s u l t   w i t h   n o   p o s s i b i l i t y   o f   a   s i z e   e r r o r . 
 
 	 2 .   c a l l   t h e   m o v e   g e n e r a t o r   t o   m o v e   t h e   r e s u l t   t o   a l l 
 	 r e c e i v i n g   f i e l d s   f o r   w h i c h   n o   o n   s i z e   e r r o r   c a n   o c c u r . 
 	 3 .   f o r   e a c h   r e c e i v i n g   f i e l d   f o r   w h i c h   a n   o n   s i z e   e r r o r 
 	 c o u l d   o c c u r ,   t h e   f o l l w o i n g   p r o c e s s i n g   i s   d o n e : 
 
 	 	 a .   g e n e r a t e   c o d e   t o   m o v e   t h e   c u r r e n t   c o n t e n t s 
 	 	 o f   t h e   r e c e i v i n g   f i e l d   t o   t e m p o r a r y   s t o r a g e 
 	 	 b y   c a l l i n g   t h e   m o v e   g e n e r a t o r . 
 	 	 b .   g e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   t o   t h e 
 	 	 r e c e i v i n g   f i e l d . 
 	 	 c .   g e n e r a t e   c o d e   t o   t e s t   f o r   a n   o v e r f l o w 
 	 	 d .   g e n e r a t e   c o d e   w h i c h   i s   e x e c u t e d   o n l y   i f 
 	 	 a n   o v e r f l o w   o c c u r s .     T h i s   c o d e   r e s t o r e s   t h e 
 	 	 o r i g i n a l   v a l u e   t o   t h e   r e c e i v i n g   f i e l d ,   a n d 
 	 	 s e t s   a   s i z e   e r r o r   f l a g   t h a t   i n d i c a t e s   t h a t 
 	 	 a n   o v e r f l o w   o c c u r r e d . 
 
 	 4 .   A f t e r   a l l   c o d e   t o   m o v e   t h e   r e s u l t   t o   r e c e i v i n g   f i e l d s 
 	 h a s   b e e n   g e n e r a t e d ,   a n d   i f   a n y   o v e r f l o w   c h e c k i n g 
 	 c o d e   w a s   g e n e r a t e d ,   t h e n   g e n e r a t e   a   t e s t   o f   t h e   s i z e 
 	 e r r o r   f l a g   t o   d e t e r m i n e   i f   a n   o v e r f l o w   o c c u r r e d ,   a n d 
 	 g e n e r a t e   a   t r a n s f e r   t o   t h e   n e x t   c o b o l   s t a t e m e n t 
 	 i f   t h e   s i z e   e r r o r   f l a g   i s   o f f . 
 
 * / 
 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 
 
 d c l 	 c o b o l _ f o f l _ m a s k $ o n 	 e x t   e n t r y ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o f f   e x t   e n t r y ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ c o p y 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e x t   e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 i o a _ $ i o a _ s t r e a m 	 e x t   e n t r y   o p t i o n s   ( v a r i a b l e ) ; 
 d c l 	 c o b o l _ a d d 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m p y 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ e x p 3 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ b u i l d _ r e s o p 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ,   p t r ,   b i t   ( 1 ) ,   f i x e d   b i n ,   b i t   ( 1 ) ) ; 
 d c l 	 c o b o l _ a r i t h o p _ g e n 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ a r i t h _ m o v e _ g e n 
 	 	 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m o v e _ g e n 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ c o m p a r e _ g e n 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ f i x e d _ b i n _ 3 5 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ b i n a r y _ c h e c k $ c o m p u t e 
 	 	 	 e x t   e n t r y   ( p t r ,   b i t   ( 1 ) ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ c o m p u t e _ b i n _ g e n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   V A R I A B L E S     * / 
 
 / *     D e c l a r a t i o n   o f   i n t e r n a l   s t a t i c   i n i t i a l i z e d   v a r i a b l e s   t h a t   d e f i n e   o p c o d e s   u s e d   i n   c o d e   g e n e r a t e d   b y   t h i s   p r o c     * / 
 
 
 d c l 	 s t z _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 0 0 1 0 1 0 0 0 0 " b   / * 4 5 0 ( 0 ) * / ) ; 
 d c l 	 t o v _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 1 1 1 1 0 " b   / * 6 1 7 ( 0 ) * / ) ; 
 d c l 	 t r a _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 1 0 0 1 0 0 0 0 " b   / * 7 1 0 ( 0 ) * / ) ; 
 d c l 	 a o s _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 1 0 1 1 0 0 0 " b   / * 0 5 4 ( 0 ) * / ) ; 
 d c l 	 l d a _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 0 1 0 " b   / * 2 3 5 ( 0 ) * / ) ; 
 d c l 	 l d q _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 1 0 0 " b   / * 2 3 6 ( 0 ) * / ) ; 
 d c l 	 t z e _ o p 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 0 0 " b   / * 6 0 0 ( 0 ) * / ) ; 
 
 / *     I n t e r n a l   s t a t i c   v a r i a b l e s   u s e d   t o   d e f i n e   c o d e s   f o r   o p e r a t o r s   t h a t   a p p e a r   i n   t h e   E O S   t o k e n s .     * / 
 
 d c l 	 p l u s _ o p 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 2 ) ; 
 d c l 	 m i n u s _ o p 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 3 ) ; 
 d c l 	 m u l t i p l y _ o p 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 4 ) ; 
 d c l 	 d i v i d e _ o p 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 5 ) ; 
 d c l 	 e x p o n e n t i a t e _ o p 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 6 ) ; 
 d c l 	 u n a r y _ m i n u s _ o p 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 1 8 7 ) ; 
 
 / *     D e c l a r a t i o n   o f   a n   i n i t i a l i z e d   v a r i a b l e   t h a t   d e f i n e s   t h e   f i r s t   m e a n i n g f u l   s u b s c r i p t   o f   t h e 
 	 i n _ t o k e n . t o k e n _ p t r   a r r a y   f r o m   t h e   p o i n t   o f   v i e w   o f   t h i s   p r o c e d u r e .     * / 
 
 d c l 	 f i r s t _ m e a n i n g f u l _ p t r _ i n d e x 
 	 	 	 f i x e d   b i n   i n t   s t a t i c   i n i t   ( 2 ) ; 
 
 / *     D e c l a r a t i o n   o f   a n   E O S   t o k e n   u s e d   i n   c a l l s   t o   t h e   m o v e   g e n e r a t o r     * / 
 
 d c l 	 1   m o v e _ e o s 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 8 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 9 ) , 
 	     2   v e r b 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 8 ) , 	 / *     M O V E     * / 
 	     2   e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   h 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   i 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   j 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   a 	 	 b i t   ( 1 6 )   i n i t   ( " 0 " b ) ; 
 
 
 
 / *     D E C L A R A T I O N   O F   A N   I M A G E   O F   A   N U M E R I C   L I T E R A L   Z E R O     * / 
 
 d c l 	 1   n u m e r i c _ z e r o 	 i n t e r n a l   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 7 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 )   i n i t   ( " 0 0 0 0 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 
 / *     D e c l a r a t i o n   o f   a n   E O S   t o k e n   u s e d   i n   c a l l s   t o   t h e   c o m p a r e   g e n e r a t o r     * / 
 
 d c l 	 1   c o m p a r e _ e o s 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 3 8 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 9 ) , 	 / *   E O S     * / 
 	     2   v e r b 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 0 2 ) , 	 / *     E Q U A L   C O M P A R E     * / 
 	     2   h 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   i 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   j 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   a 	 	 b i t   ( 1 6 )   i n i t   ( " 0 " b ) ; 
 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   A U T O M A T I C   V A R I A B L E S     * / 
 
 / *     S t r u c t u r e   u s e d   t o   c o m m u n i c a t e   w i t h   t h e   c o b o l _ r e g i s t e r   p r o c e d u r e .     * / 
 
 d c l 	 1   r e g i s t e r _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   d n a m e _ p t r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 
 
 d c l 	 o p e r a n d _ s t a c k 	 ( 1 : 1 0 0 )   p t r ; 	 	 / *     t h e   o p e r a n d   s t a c k     * / 
 
 d c l 	 m o v e _ e o s _ p t r 	 p t r ; 
 d c l 	 c o m p a r e _ e o s _ p t r 	 p t r ; 
 d c l 	 t o p 	 	 f i x e d   b i n ; 
 
 
 d c l 	 w o r k _ b u f f 	 	 ( 1 : 1 0 0 )   p t r ; 
 d c l 	 w o r k _ p t r 	 	 p t r ; 
 
 d c l 	 i x 	 	 f i x e d   b i n ; 
 d c l 	 o p e r a n d 1 _ p t r 	 p t r ; 
 d c l 	 o p e r a n d 2 _ p t r 	 p t r ; 
 d c l 	 r d m a x _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 r d m a x _ v a l u e 	 f i x e d   b i n ; 
 d c l 	 p o s s i b l e _ o v f l _ f l a g 	 b i t   ( 1 ) ; 
 d c l 	 g e n _ c o d e 	 	 f i x e d   b i n ; 
 d c l 	 r e s u l t a n t _ o p e r a n d _ p t r 
 	 	 	 p t r ; 
 
 d c l 	 m o v e _ i n _ t o k e n 	 ( 1 : 1 0 0 )   p t r ; 
 d c l 	 r e c e i v e _ c o u n t 	 f i x e d   b i n ; 
 d c l 	 o s e _ f l a g 	 	 b i t   ( 1 ) ; 
 d c l 	 r d t e m p 	 	 f i x e d   b i n ; 
 d c l 	 i y 	 	 f i x e d   b i n ; 
 d c l 	 s a v e _ i n _ t o k e n _ p t r 	 p t r ; 
 d c l 	 i m p e r a t i v e _ s t m t _ t a g   f i x e d   b i n ; 
 
 d c l 	 r e s o d _ l d 	 	 f i x e d   b i n ; 
 d c l 	 m u l t i p l e _ m o v e _ c o u n t   f i x e d   b i n ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n ; 
 
 d c l 	 s i z e _ e r r o r _ i n s t _ w o r d 
 	 	 	 b i t   ( 3 6 ) ; 
 d c l 	 s i z e _ e r r o r _ i n s t _ p t r   p t r ; 
 d c l 	 s i z e _ e r r o r _ f l a g _ p t r   p t r ; 
 
 d c l 	 t e m p _ s a v e _ p t r 	 p t r ; 
 d c l 	 t e m p _ i n s t _ w o r d 	 b i t   ( 3 6 ) ; 
 d c l 	 t e m p _ i n s t _ p t r 	 p t r ; 
 d c l 	 n o _ o v e r f l o w _ t a g 	 f i x e d   b i n ; 
 d c l 	 i n p u t _ b u f f e r 	 ( 1 : 2 0 )   f i x e d   b i n ; 
 d c l 	 r e l o c _ b u f f e r 	 ( 1 : 1 0 )   b i t   ( 1 0 )   a l i g n e d ; 
 d c l 	 i n s t _ b u f f e r 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 d c l 	 o v e r f l o w _ p o s s i b l e 	 b i t   ( 1 ) ; 
 d c l 	 s a v e _ l o c n o 	 f i x e d   b i n ; 
 d c l 	 s i z e _ e r r o r _ i n s t 	 b i t   ( 3 6 ) ; 
 d c l 	 s i z e _ e r r o r _ t o k e n _ p t r 
 	 	 	 p t r ; 
 d c l 	 s t o r e d _ t o k e n _ p t r 	 p t r ; 
 
 d c l 	 r e c e i v i n g _ i s _ n o t _ s t o r e d 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 ( b i n a r y _ o k ,   n o t _ b i t ) 
 	 	 	 b i t   ( 1 ) ; 
 d c l 	 t a r g e t _ c o d e 	 f i x e d   b i n ; 
 d c l 	 s o u r c e _ c o d e 	 f i x e d   b i n ; 
 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 
 / * } * / 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 	 	 	 	 	 	 / *     C h e c k   t o   s e e   i f   b i n a r y   a r i t h m e t i c   c a n   b e   d o n e   f o r   t h i s   c o m p u t e   s t a t e m e n t .     * / 
 	 c a l l   c o b o l _ b i n a r y _ c h e c k $ c o m p u t e   ( i n _ t o k e n _ p t r ,   b i n a r y _ o k ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 
 / *   T h i s   c o d e   i s   u s e d   o n l y   t o   c l e a n   t h e   w a r n i n g   m e s s a g e 	 * / 
 	 i f   " 0 " b 
 	 t h e n   i f   n o t _ d e c _ o p e r a n d   ( n u l l   ( ) ) 
 	           t h e n   ; 
 
 	 i f   b i n a r y _ o k 
 	 t h e n   d o ; 	 	 	 	 	 / *     B i n a r y   a i r t h m e t i c   c a n   b e   d o n e .     * / 
 	 	 c a l l   c o b o l _ c o m p u t e _ b i n _ g e n   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ,   t a r g e t _ c o d e ,   s o u r c e _ c o d e ) ; 
 	 	 r e t u r n ; 
 	           e n d ; 	 	 	 	 	 / *     B i n a r y   a r i t h m e t i c   c a n   b e   d o n e .     * / 
 
 
 / *     S a v e   t h e   i n p u t   p o i n t e r     * / 
 
 	 s a v e _ i n _ t o k e n _ p t r   =   i n _ t o k e n _ p t r ; 
 
 	 t o p   =   0 ; 
 	 w o r k _ p t r   =   a d d r   ( w o r k _ b u f f   ( 1 ) ) ; 
 
 
 
 / *     D e t e r m i n e   t h e   n u m b e r   o f   r e c e i v i n g   o p e r a n d s     * / 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 r e c e i v e _ c o u n t   =   e n d _ s t m t . e ; 
 
 / *     G e t   t h e   o n   s i z e   e r r o r   f l a g     * / 
 	 o s e _ f l a g   =   e n d _ s t m t . b ; 
 	 i f   o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     R e s e r v e   t w o   t a g s   f o r   o n   s i z e   e r r o r   p r o c e s s i n g .     * / 
 	 	 i m p e r a t i v e _ s t m t _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 n e x t _ s t m t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 
 
 	           e n d ; 	 	 	 	 	 / *     R e s e r v e   t w o   t a g s   f o r   o n   s i z e   e r r o r   p r o c e s s i n g     * / 
 	 e l s e   i m p e r a t i v e _ s t m t _ t a g   =   0 ; 	 	 	 / *     N o   o n   s i z e   e r r o r   c l a u s e   p r e s e n t   i n   t h e   c o m p u t e   s t a t e m e n t .     * / 
 
 / *     D e t e r m i n e   t h e   m a x i m u m   n u m b e r   o f   r i g h t   d i g i t s   r e q u i r e d   f o r   a n y   r e c e i v i n g   o p e r a n d     * / 
 
 	 r d m a x _ v a l u e   =   0 ; 
 	 r d m a x _ f l a g   =   " 1 " b ; 
 
 	 d o   i x   =   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x   t o   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x   +   r e c e i v e _ c o u n t   -   1 ; 
 
 	           r d t e m p   =   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . p l a c e s _ r i g h t ; 
 
 	           i f   i n _ t o k e n . t o k e n _ p t r   ( i x )   - >   d a t a _ n a m e . r o u n d e d 
 	           t h e n   r d t e m p   =   r d t e m p   +   1 ; 	 	 / *     R O U N D E D     * / 
 
 	           i f   r d t e m p   >   r d m a x _ v a l u e 
 	           t h e n   r d m a x _ v a l u e   =   r d t e m p ; 
 
 	 e n d ; 	 	 	 	 	 / *     G e t   m a x i m u m   r d m a x   v a l u e     * / 
 	 d o   i x   =   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x   t o   i n _ t o k e n . n   -   1 ; 
 	 	 	 	 	 	 / *     c o m p u t e   t h e   r e s u l t     * / 
 
 	           e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i x ) ; 
 
 	           i f   e n d _ s t m t . t y p e   ^ =   r t c _ e o s 
 	           t h e n   d o ; 	 	 	 	 / *     N o t   a n   o p e r a t o r ,   m u s t   b e   a n   o p e r a n d     * / 
 
 / *     S t a c k   t h e   p o i n t e r   t o   t h e   o p e r a n d   i n   t h e   o p e r a n d   s t a c k     * / 
 	 	           t o p   =   t o p   +   1 ; 
 	 	           o p e r a n d _ s t a c k   ( t o p )   =   e o s _ p t r ; 
 
 	 	 e n d ; 	 	 	 	 / *     N o t   a n   o p e r a t o r ,   m u s t   b e   a n   o p e r a n d     * / 
 
 	           e l s e   d o ; 	 	 	 	 / *     A n     o p e r a t o r ,   p e r f o r m   a   c o m p u t a t i o n     * / 
 
 	 	           i f   e n d _ s t m t . e   =   u n a r y _ m i n u s _ o p 
 	 	           t h e n   d o ; 	 	 	 / *     U n a r y   m i n u s     * / 
 	 	 	           w o r k _ p t r   - >   i n _ t o k e n . n   =   2 ; 
 	 	 	           w o r k _ p t r   - >   i n _ t o k e n . c o d e   =   0 ; 
 	 	 	           w o r k _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   o p e r a n d _ s t a c k   ( t o p ) ; 
 	 	 	 	 	 	 / *     o p e r a n d     * / 
 	 	 	           w o r k _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 2 )   =   e o s _ p t r ; 
 	 	 	 	 	 	 / *     U n a r y   m i n u s     * / 
 	 	 	           c a l l   c o b o l _ a r i t h o p _ g e n   ( w o r k _ p t r ) ; 
 	 	 	 	 	 	 / *     P e r f o r m   n e g a t i o n     * / 
 
 / *     R e p l a c e   t h e   t o p   o p e r a n d   e n t r y   o n   t h e   o p e r a n d   s t a c k   w i t h   t h e 
 	 	 	 	 r e s u l t a n t   o p e r a n d     * / 
 
 
 	 	 	           o p e r a n d _ s t a c k   ( t o p )   =   w o r k _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( w o r k _ p t r   - >   i n _ t o k e n . c o d e ) ; 
 
 
 	 	 	 e n d ; 	 	 	 / *     U n a r y   m i n u s     * / 
 
 	 	           e l s e   d o ; 	 	 	 / *     B i n a r y   o p e r a t o r     * / 
 
 	 	 	           o p e r a n d 1 _ p t r   =   o p e r a n d _ s t a c k   ( t o p   -   1 ) ; 
 	 	 	 	 	 	 / *     l e f t   o p e r a n d     * / 
 	 	 	           o p e r a n d 2 _ p t r   =   o p e r a n d _ s t a c k   ( t o p ) ; 
 	 	 	 	 	 	 / *     r i g h t   o p e r a n d     * / 
 
 / *     B u i l d   t h e   r e s u l t a n t   o p e r a n d   f o r   t h e   c o m p u t a t i o n     * / 
 	 	 	           c a l l   c o b o l _ b u i l d _ r e s o p   ( o p e r a n d 1 _ p t r ,   o p e r a n d 2 _ p t r ,   b i n   ( e n d _ s t m t . e ,   1 7 ) , 
 	 	 	 	 r e s u l t a n t _ o p e r a n d _ p t r ,   r d m a x _ f l a g ,   r d m a x _ v a l u e ,   p o s s i b l e _ o v f l _ f l a g ) ; 
 
 
 	 	 	           t o p   =   t o p   -   1 ; 	 	 / *     S e t   s u b s c r i p t   o f   r e s u l t a n t   o p e r a n d   a f t e r   c o m p u t a t i o n     * / 
 	 	 	           i f   e n d _ s t m t . e   =   p l u s _ o p   |   e n d _ s t m t . e   =   m i n u s _ o p 
 	 	 	           t h e n   d o ; 	 	 / *     p l u s   o r   m i n u s   o p e r a t o r     * / 
 
 	 	 	 	           i f   e n d _ s t m t . e   =   p l u s _ o p 
 	 	 	 	           t h e n   c a l l   c o b o l _ a d d 3   ( o p e r a n d 1 _ p t r ,   o p e r a n d 2 _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r , 
 	 	 	 	 	           1   / * a d d * / ) ; 
 
 	 	 	 	           e l s e   c a l l   c o b o l _ a d d 3   ( o p e r a n d 2 _ p t r ,   o p e r a n d 1 _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r , 
 	 	 	 	 	           2   / * s u b t r a c t * / ) ; 
 
 	 	 	 	 e n d ; 	 	 / *     p l u s   o r   m i n u s   o p e r a t o r     * / 
 
 	 	 	           e l s e   i f   e n d _ s t m t . e   =   m u l t i p l y _ o p   |   e n d _ s t m t . e   =   d i v i d e _ o p 
 	 	 	           t h e n   d o ; 	 	 / *     m u l t i p l y   o r   d i v i d e   o p e r a t o r     * / 
 
 	 	 	 	           i f   e n d _ s t m t . e   =   m u l t i p l y _ o p 
 	 	 	 	           t h e n   g e n _ c o d e   =   1 ; 
 	 	 	 	 	 	 / *     m u l t i p l y     * / 
 	 	 	 	           e l s e   d o ; 	 / *     d i v i d e     * / 
 	 	 	 	 	           g e n _ c o d e   =   2 ; 
 	 	 	 	 	           i f   o s e _ f l a g 
 	 	 	 	 	           t h e n   c a l l   d i v i d e _ c h e c k ; 
 	 	 	 	 	 	 / *     g e n e r a t e   c o d e 
 	 	 	 	 	 	 t o   t e s t   w h e t h e r   d i v i s o r   i s   z e r o     * / 
 	 	 	 	 	 e n d ; 	 / *     d i v i d e     * / 
 	 	 	 	 	 	 / *     H e r e ,   r e v e r s e   t h e   o p e r a n d s ,   s i n c e   f o r   d i v i s i o n ,   o p e r a n d 2 _ p t r 
 	 	 	 	 	 p o i n t s   t o   t h e   d i v i s o r ,   a n d   o p e r a n d 1 _ p t r   p o i n t s   t o   t h e   d i v i d e n d . 
 	 	 	 	 	 R e v e r s i n g   t h e   o p e r a n d s   f o r   m u l t i p l i c a t i o n   h a s   n o   e f f e c t ,   s i n c e 
 	 	 	 	 	 m u l t i p l i c a t i o n   i s   c o m m u t a t i v e .     * / 
 
 
 
 	 	 	 	           c a l l   c o b o l _ m p y 3   ( o p e r a n d 2 _ p t r ,   o p e r a n d 1 _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r ,   g e n _ c o d e ) 
 	 	 	 	 	 ; 
 	 	 	 	 e n d ; 	 	 / *     m u l t i p l y   o r   d i v i d e   o p e r a t o r     * / 
 
 	 	 	           e l s e   / *     A S S U M E   E X P O N E N T I A T E     * / 
 	 	 	 	 c a l l   c o b o l _ e x p 3   ( o p e r a n d 1 _ p t r ,   o p e r a n d 2 _ p t r ,   r e s u l t a n t _ o p e r a n d _ p t r , 
 	 	 	 	           i m p e r a t i v e _ s t m t _ t a g ) ; 
 
 
 / *     R e p l a c e   t h e   t o p   o p e r a n d   e n t r y   o n   t h e   o p e r a n d   s t a c k   w i t h   t h e 
 	 	 	 	 r e s u l t a n t   o p e r a n d     * / 
 
 	 	 	           o p e r a n d _ s t a c k   ( t o p )   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 
 	 	 	 e n d ; 	 	 	 / *     B i n a r y   o p e r a t o r     * / 
 
 
 
 
 	 	 e n d ; 	 	 	 	 / *     A n   o p e r a t o r ,   p e r f o r m   a   c o m p u t a t i o n     * / 
 
 	 e n d ; 	 	 	 	 	 / *     c o m p u t e   t h e   r e s u l t     * / 
 
 / *     A t   t h i s   p o i n t ,   t h e   f o l l o w i n g   c o o n d i t i o n s   a r e   t r u e : 
 
 	 	 1 .     T h e   t o p   e n t r y   i n   t h e   o p e r a n d   s t a c k   p o i n t s   t o   a   t o k e n   t h a t   d e s c r i b e s   t h e   r e s u l t   o f 
 	 	 	 t h e   c o m p u t a t i o n . 
 	 	 2 .   A l l   o t h e r   e n t r i e s   i n   t h e   o p e r a n d   s t a c k   p o i n t   t o   t o k e n s   f o r   r e c e i v i n g   f i e l d s , 
 	 	 	 i n t o   w h i c h   t h e   r e s u l t   m u s t   b e   m o v e d . 
 	 	 3 .   T h e   f i e l d   e n d _ s t m t . e   o f   t h e   E O S   t o k e n   f o r   c o m p u t e   ( e n d _ s t m t . v e r b   =   4 0 ) 
 	 	 	 c o n t a i n s   t h e   n u m b e r   o f   r e c e i v i n g   f i e l d . 
 * / 
 
 
 
 	 i f   ^ o s e _ f l a g 
 	 t h e n   d o ; 	 	 	 	 	 / *     N o   o n   s i z e   e r r o r   c h e c k i n g ,   g e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   t o 
 	 	 	 t h e   r e c e i v i n g   f i e l d ( s ) .     * / 
 
 / *     B a s e   i n _ t o k e n   t e m p l a t e   o n   t h e   m o v e   i n _ t o k e n   b u f f e r     * / 
 	 	 i n _ t o k e n _ p t r   =   a d d r   ( m o v e _ i n _ t o k e n ) ; 
 
 / *     S e t   i n _ t o k e n . t o k e n _ p t r ( 1 )   t o   p o i n t   t o   t h e   t y p e   1   t o k e n   f o r   C O M P U T E .     T h i s 
 	 	 i s   n e c e s s a r y   t o   p r o v i d e   l i n e   n u m b e r   a n d   c o l u m n   n u m b e r   f o r   t h e   c o m p u t e   s t m t 
 	 	 t o   t h e   M O V E   g e n e r a t o r   p r o c e d u r e .     * / 
 
 	 	 i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   s a v e _ i n _ t o k e n _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 ) ; 
 
 
 	 	 i n _ t o k e n . n   =   4 ; 
 
 
 / *     S e t   t h e   n u m b e r   o f   r e c e i v i n g   f i e l d s   i n t o   t h e   m o v e   E O S .     * / 
 	 	 m o v e _ e o s _ p t r   =   a d d r   ( m o v e _ e o s ) ; 
 	 	 m o v e _ e o s _ p t r   - >   e n d _ s t m t . e   =   1 ; 
 	 	 i n _ t o k e n . t o k e n _ p t r   ( 4 )   =   m o v e _ e o s _ p t r ; 
 
 	 	 i y   =   1 ; 
 
 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 	 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   t o   e a c h   r e c e i v i n g   f i e l d .     * / 
 
 
 	 	           i n _ t o k e n . t o k e n _ p t r   ( 2 )   =   o p e r a n d _ s t a c k   ( t o p ) ; 
 	 	 	 	 	 	 / *     R e s u l t   o f   c o m p u t a t i o n .     * / 
 	 	           i n _ t o k e n . t o k e n _ p t r   ( 3 )   =   o p e r a n d _ s t a c k   ( i y ) ; 
 	 	           i y   =   i y   +   1 ; 
 
 / *     C a l l   t h e   a r i t h m e t i c   m o v e   g e n e r a t o r   t o   d o   a   b r u t e   f o r c e   m o v e   i n   a n   a t t e m p t 
 	 	 	 	 t o   f o r c e   f i x e d o v e r f l o w .     * / 
 	 	           c a l l   c o b o l _ a r i t h _ m o v e _ g e n   ( i n _ t o k e n _ p t r ) ; 
 
 / *     O n   r e t u r n   f r o m   c o b o l _ a r i t h _ m o v e _ g e n ,   i f   t h e   r e c e i v i n g   f i e l d   w a s   a   n u m e r i c 
 	 	 	 e d i t e d ,   t h e n   t h e   r e s u l t   h a s   b e e n   s t o r e d   i n t o   a   n u m e r i c   i n   a n   a t t e m p t   t o 
 	 	 	 f o r c e   f i x e d o v e r f l o w ,   a n d   t h e   i n _ t o k e n   s t r u c t u r e   h a s   b e e n   m o d i f i e d   s o   t h a t 
 	 	 	 i f   c o b o l _ m o v e _ g e n   i s   n o w   c a l l e d ,   t h e   t e m p   v a l u e   w i l l   b e   m o v e d   i n t o   t h e 
 	 	 	 n u m e r i c   e d i t e d   f i e l d .     * / 
 
 	 	           i f   i n _ t o k e n . c o d e   ^ =   0 	 	 / *     R e c e i v i n g   f i e l d   i s   n u m e r i c   e d i t e d .     * / 
 	 	           t h e n   c a l l   c o b o l _ m o v e _ g e n   ( i n _ t o k e n _ p t r ) ; 
 
 	 	 e n d ; 	 	 	 	 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   t o   e a c h   r e c e i v i n g   f i e l d .     * / 
 
 	           e n d ; 	 	 	 	 	 / *     n o   o n   s i z e   e r r o r   c h e c k i n g ,   g e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   t o 
 	 	 	 t h e   r e c e i v i n g   f i e l d ( s )     * / 
 
 
 	 e l s e   d o ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c h e c k i n g   r e q u e s t e d ,   d o   i t   a n d   m o v e   r e s u l t   t o   r e c e i v i n g     * / 
 
 	 	 r e s u l t a n t _ o p e r a n d _ p t r   =   o p e r a n d _ s t a c k   ( t o p ) ; 
 	 	 o v e r f l o w _ p o s s i b l e   =   " 0 " b ; 
 
 	 	 i n _ t o k e n _ p t r   =   a d d r   ( m o v e _ i n _ t o k e n ) ; 
 	 	 i n _ t o k e n . n   =   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x   +   r e c e i v e _ c o u n t   +   1 ; 
 
 
 / *     S e t   i n _ t o k e n . t o k e n _ p t r ( 1 )   t o   p o i n t   t o   t h e   t y p e   1   t o k e n   f o r   C O M P U T E .     T h i s 
 	 	 i s   n e c e s s a r y   t o   p r o v i d e   l i n e   n u m b e r   a n d   c o l u m n   n u m b e r   f o r   t h e   c o m p u t e   s t m t 
 	 	 t o   t h e   M O V E   g e n e r a t o r   p r o c e d u r e .     * / 
 
 	 	 i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   s a v e _ i n _ t o k e n _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 ) ; 
 
 	 	 m u l t i p l e _ m o v e _ c o u n t   =   0 ; 
 	 	 i y   =   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x   +   1 ; 	 / *     S u b s c r i p t   o f   t h e   e l e m e n t   o f   i n _ t o k e n . t o k e n _ p t r 
 	 	 	 a r r a y   t o   r e c e i v e   t h e   p o i n t e r   t o   f i r s t   r e c e i v i n g   f i e l d     * / 
 
 	 	 i f   ( r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . t y p e   ^ =   r t c _ d a t a n a m e ) 
 	 	           |   ( r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 	           &   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . s i g n _ t y p e   ^ =   " 1 1 1 " b   / *     F L O A T I N G   D E C I M A L     * / ) 
 	 	 t h e n   d o ; 	 	 	 	 / *     R e s u l t   i s   n o t   d a t a n a m e   ( m u s t   b e   c o n s t a n t   o r   Z E R O ) 
 	 	 	 o r   i f   d a t a n a m e   i s   n o t   f l o a t i n g   d e c i m a l .     ( I f   f l o a t i n g   d e c i m a l ,   t h e n 
 	 	 	 m u s t   u n c o n d i t i o n a l l y   c h e c k   f o r   o v e r f l o w ! ! )     * / 
 	 	 	 	 	 	 / *     T h a t   m e a n s   t h a t   w e   m u s t   c h e c k   t o   s e e   i f   o v e r f l o w   c a n   o c c u r   f o r   a n y 
 	 	 	 o f   t h e   r e c e i v i n g   f i e l d s .     * / 
 
 
 	 	 	 i f   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ d a t a n a m e 
 	 	 	 t h e n   r e s o d _ l d   =   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . p l a c e s _ l e f t ; 
 
 	 	 	 e l s e   i f   r e s u l t a n t _ o p e r a n d _ p t r   - >   d a t a _ n a m e . t y p e   =   r t c _ n u m l i t 
 	 	 	 t h e n   r e s o d _ l d   =   r e s u l t a n t _ o p e r a n d _ p t r   - >   n u m e r i c _ l i t . p l a c e s _ l e f t ; 
 	 	 	 e l s e   r e s o d _ l d   =   1 ; 	 	 / *     R e s u l t   i s   f i g   c o n s t   Z E R O     * / 
 
 
 	 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 / *     C h e c k   t o   s e e   i f   o n   s i z e   e r r o r   c h e c k i n g   i s   n e c e s s a r y 
 	 	 	 	 f o r   a n y   r e c e i v i n g   f i e l d s .     * / 
 
 	 	 	           i f   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . p l a c e s _ l e f t   > =   r e s o d _ l d 
 	 	 	           t h e n   d o ; 	 	 / *     R e c e v i n g   f i e l d   c a n   h o l d   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n 
 	 	 	 	 	 w i t h   n o   p o s s i b i l i t y   o f   o v e r f l o w .     * / 
 
 	 	 	 	           m u l t i p l e _ m o v e _ c o u n t   =   m u l t i p l e _ m o v e _ c o u n t   +   1 ; 
 
 / *     M o v e   p o i n t e r   t o   t h e   r e c e i v n i g   f i e l d   i n t o   i n _ t o k e n   a r r a y     * / 
 	 	 	 	           i n _ t o k e n . t o k e n _ p t r   ( i y )   =   o p e r a n d _ s t a c k   ( i x ) ; 
 	 	 	 	           i y   =   i y   +   1 ; 
 
 / *     s e t   o p e r a n d   s t a c k   e n t r y   t o   n u l l ( ) ,   t o   i n d i c a t e   t h a t   i t   n e e d s 
 	 	 	 	 	 	 n o   o n   s i z e   e r r o r   c h e c k i n g     * / 
 	 	 	 	           o p e r a n d _ s t a c k   ( i x )   =   n u l l   ( ) ; 
 
 	 	 	 	 e n d ; 	 	 / *     R e c e i v i n g   f i e l d   c a n   h o l d   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n 
 	 	 	 	 	 w i t h   n o   p o s s i b i l i t y   o f   o v e r f l o w .     * / 
 	 	 	 e n d ; 	 	 	 / *     C h e c k   t o   s e e   i f   o n   s i z e   e r r o r   c h e c k i n g   i s   n e c e s s a r y 
 	 	 	 	 f o r   a n y   r e c e i v i n g   f i e l d s .     * / 
 
 	 	 	 i f   m u l t i p l e _ m o v e _ c o u n t   ^ =   0 
 	 	 	 t h e n   d o ; 	 	 	 / *     A   m o v e   w i t h   n o   o n   s i z e   e r r o r   c h e c k i n g   c a n   b e   g e n e r a t e d     * / 
 
 / *     S e t   p o i n t e r   t o   r e c e i v i n g   o p e r a n d   i n t o   t h e   i n _ t o k e n   s t r u c t u r e .     * / 
 	 	 	 	 i n _ t o k e n . t o k e n _ p t r   ( f i r s t _ m e a n i n g f u l _ p t r _ i n d e x )   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 
 / *     A d j u s t   i n _ t o k e n . n   t o   i t s   c o r r e c t   v a l u e   f o r   t h e   ( p o s s i b l y   m u l t i p l e 
 	 	 	 	 	 m o v e s .     * / 
 	 	 	 	 i n _ t o k e n . n   =   f i r s t _ m e a n i n g f u l _ p t r _ i n d e x   +   m u l t i p l e _ m o v e _ c o u n t   +   1 ; 
 
 / *     S e t   t h e   n u m b e r   o f   r e c e i v i n g   f i e l d s   i n t o   t h e   m o v e   E O S     * / 
 
 	 	 	 	 m o v e _ e o s _ p t r   =   a d d r   ( m o v e _ e o s ) ; 
 	 	 	 	 m o v e _ e o s _ p t r   - >   e n d _ s t m t . e   =   m u l t i p l e _ m o v e _ c o u n t ; 
 
 / *     S e t   t h e   l a s t   e n t r y   i n   t h e   m o v e   i n _ t o k e n   s t r u c t u r e   t o   p o i n t 
 	 	 	 	 t o   t h e   m o v e   E O S   t o k e n     * / 
 	 	 	 	 i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n )   =   m o v e _ e o s _ p t r ; 
 
 / *     C a l l   t h e   m o v e   g e n e r a t o r   t o   g e n e r a t e   ( p o s s i b l y   m u l t i p l e )   m o v e s 
 	 	 	 	 t o   t h o s e   r e c e i v i n g   f i e l d s   f o r   w h i c h   n o   o v e r f l o w   c a n   o c c u r .     * / 
 	 	 	 	 c a l l   c o b o l _ m o v e _ g e n   ( i n _ t o k e n _ p t r ) ; 
 
 
 
 	 	 	           e n d ; 	 	 	 / *     A   m o v e   w i t h   n o   o n   s i z e   e r r o r   c h e c k i n g   c a n   b e   g e n e r a t e d .     * / 
 
 	 	           e n d ; 	 	 	 	 / *     R e s u l t   i s   n o t   d a t a n a m e   o r   i f   d a t a n a m e ,   i s   n o t   f l o a t i n g   d e c i m a l .     * / 
 
 
 / *     A t   t h i s   p o i n t   i n   p r o c e s s i n g ,   m o v e   c o d e   h a s   b e e n   g e n e r a t e d   t o 
 
 	 	 m o v e   t h e   r e s u l t   t o   a l l   r e c i e v i n g   f i e l d s   w h i c h   c a n   h o l d   t h e   r e s u l t   o f   t h e 
 	 	 c o m p u t a t i o n   w i t h o u t   p o s s i b i l i t y   o f   o v e r f l o w .     N o w   w e   m u s t   g e n e r a t e   c o d e 
 	 	 t o   m o v e   t h e   r e s u l t   t o   t h o s e   r e c e i v i n g   f i e l d s   f o r   w h i c h   t h e   p o s s i b i l i t y   o f 
 	 	 o v e r f l o w   d o e s   e x i s t .     T h e   f o l l o w i n g   c o n d i t i o n s   a r e   n o w   t r u e : 
 
 	 	 	 1 .   r e c e i v e _ c o u n t   c o n t a i n s   t h e   n u m b e r   o f   r e c e i v i n g   f i e l d s . 
 	 	 	 2 .   o p e r a n d _ s t a c k ( 1 )   t h r o u g h   o p e r a n d _ s t a c k ( r e c e i v e _ c o u n t )   c o n t a i n 
 	 	 	 p o i n t e r s   t o   t h e   r e c e i v i n g   f i e l d s   f o r   w h i c h   t h e   p o s s i b i l i t y 
 	 	 	 o f   o v e r f l o w   e x i s t s ,   o r   t h e   n u l l ( )   p o i n t e r   v a l u e .     ( n u l l ( ) 
 	 	 	 w a s   s e t   i n t o   t h o s e   o p e r a n d _ s t a c k   e n t r i e s   f o r   w h i c h   n o 
 	 	 	 p o s s i b i l i t y   o f   o v e r f l o w   e x i s t e d ,   a b o v e . ) 
 	 	 	 3 .   m u l t i p l e _ m o v e _ c o u n t   c o n t a i n s   t h e   c o u n t   o f   t h e   r e c e i v i n g   f i e l d s 
 	 	 	 f o r   w h i c h     m o v e s   w i t h o u t   o n   s i z e   e r r o r   c h e c k i n g   h a v e   b e e n   g e n e r a t e d . 
 
 	 	 * / 
 
 	 	 i f   m u l t i p l e _ m o v e _ c o u n t   ^ =   r e c e i v e _ c o u n t 
 	 	 t h e n   d o ; 	 	 	 	 / *     O n   s i z e   e r r o r   c h e c k i n g   m u s t   b e   d o n e   f o r   s o m e   r e c e i v i n g   f i e l d s     * / 
 
 
 	 	 	 o v e r f l o w _ p o s s i b l e   =   " 1 " b ; 	 / *     G e n e r a t e   c o d e   t o   e n a b l e   t h e   C o b o l   f i x e d o v e r f l o w   h a n d l e r .     * / 
 
 
 / *     A l l o c a t e   a   s i z e   e r r o r   f l a g   i n   t h e   s t a c k   a n d   i n i t i a l i z e   i t   t o   z e r o .     * / 
 	 	 	 s i z e _ e r r o r _ i n s t _ p t r   =   a d d r   ( s i z e _ e r r o r _ i n s t ) ; 
 	 	 	 c a l l   g e t _ s i z e _ e r r o r _ f l a g   ( s i z e _ e r r o r _ t o k e n _ p t r ,   s i z e _ e r r o r _ i n s t _ p t r ) ; 
 
 
 
 	 	 	 d o   i x   =   1   t o   r e c e i v e _ c o u n t ; 	 / *     G e n e r a t e   m o v e s   w i t h   t e s t   f o r 
 	 	 	 o n   s i z e   e r r o r s     * / 
 
 	 	 	           i f   o p e r a n d _ s t a c k   ( i x )   ^ =   n u l l   ( ) 
 	 	 	           t h e n   d o ; 	 	 / *     T h i s   r e c e i v i n g   o p e r a n d   c o u l d   p o s s i b l y   o v e r f l o w     * / 
 
 	 	 	 	           r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 0 " b ; 
 
 / *     S t o r e   t h e   r e c e i v i n g   f i e l d   i n   a   t e m p o r a r y ,   i f   t h e   r e c e i v i n g   f i e l d 
 	 	 	 	 i s   n o t   n u m e r i c   e d a t e d .     * / 
 
 
 
 	 	 	 	           i f   o p e r a n d _ s t a c k   ( i x ) 
 	 	 	 	 	 - >   d a t a _ n a m e . n u m e r i c _ e d i t e d   / *     R e c e i v i n g   i s   n u m e r i c   e d i t e d .     * / 
 	 	 	 	 	 |   ( o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . d i s p l a y 
 	 	 	 	 	 &   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . i t e m _ s i g n e d 
 	 	 	 	 	 &   o p e r a n d _ s t a c k   ( i x )   - >   d a t a _ n a m e . s i g n _ s e p a r a t e   =   " 0 " b ) 
 	 	 	 	 	 	 / *     o v e r p u n c h   s i g n     * / 
 	 	 	 	           t h e n   r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 1 " b ; 
 	 	 	 	           e l s e   c a l l   r e c e i v i n g _ f i e l d   ( o p e r a n d _ s t a c k   ( i x ) ,   s t o r e d _ t o k e n _ p t r ,   1 ) ; 
 	 	 	 	 	 	 / *   S t o r e   r e c e i v i n g     * / 
 
 / *     R e s e r v e   a   t a g   t o   w h i c h   t o   t r a n s f e r   i f   n o   o v e r f l o w   o c c u r s .     * / 
 	 	 	 	           n o _ o v e r f l o w _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 	           c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 	 	           c a l l   c o b o l _ f o f l _ m a s k $ o n ; 
 
 / *     G e n e r a t e   c o d e   t o   m o v e   t h e   r e s u l t   o f   t h e   c o m p u t a t i o n   t o 
 	 	 	 	 	 t h e   r e c e i v i n g   f i e l d .     * / 
 
 / *     S e t   u p   t h e   i n _ t o k e n   s t r u c t u r e   f o r   t h e   m o v e   g e n e r a t o r .     * / 
 	 	 	 	           i n _ t o k e n . n   =   4 ; 
 	 	 	 	           i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   n u l l   ( ) ; 
 	 	 	 	           i n _ t o k e n . t o k e n _ p t r   ( 2 )   =   r e s u l t a n t _ o p e r a n d _ p t r ; 
 	 	 	 	 	 	 / *     r e s u l t     * / 
 	 	 	 	           i n _ t o k e n . t o k e n _ p t r   ( 3 )   =   o p e r a n d _ s t a c k   ( i x ) ; 
 	 	 	 	 	 	 / *     R e c e i v i n g   f i e l d     * / 
 
 	 	 	 	           m o v e _ e o s _ p t r   =   a d d r   ( m o v e _ e o s ) ; 
 	 	 	 	           m o v e _ e o s _ p t r   - >   e n d _ s t m t . e   =   1 ; 
 	 	 	 	 	 	 / *     O n e   r e c e i v i n g   f i e l d .     * / 
 	 	 	 	           i n _ t o k e n . t o k e n _ p t r   ( 4 )   =   m o v e _ e o s _ p t r ; 
 
 	 	 	 	           c a l l   c o b o l _ a r i t h _ m o v e _ g e n   ( i n _ t o k e n _ p t r ) ; 
 
 / *     G e n e r a t e   c o d e   t o   t e s t   f o r   o v e r f l o w ,       * / 
 	 	 	 	           c a l l   t e s t _ f o r _ o v e r f l o w   ( n o _ o v e r f l o w _ t a g ,   s i z e _ e r r o r _ i n s t _ p t r ,   i n _ t o k e n _ p t r ) ; 
 
 / *     I f   t h e   r e c e i v i n g   f i e l d   h a s   b e e n   s t o r e d   i n   a   t e m p o r a r y ,   t h e n   r e s t o r e   i t .     * / 
 	 	 	 	           i f   r e c e i v i n g _ i s _ n o t _ s t o r e d   =   " 0 " b 
 	 	 	 	           t h e n   c a l l   r e c e i v i n g _ f i e l d   ( o p e r a n d _ s t a c k   ( i x ) ,   s t o r e d _ t o k e n _ p t r , 
 	 	 	 	 	           2   / * R E S T O R E * / ) ; 
 
 / *     D e f i n e   t h e   n o _ o v e r f l o w _ t a g   a t   t h e   n e x t   i n s t r u c t i o n   l o c a t i o n .     * / 
 	 	 	 	           c a l l   c o b o l _ d e f i n e _ t a g   ( n o _ o v e r f l o w _ t a g ) ; 
 
 
 / *     G e n e r a t e   c o d e   t o   t u r n   O F F   t h e   o v e r f l o w   m a s k   i n d i c a t o r   b i t .     * / 
 	 	 	 	           c a l l   c o b o l _ f o f l _ m a s k $ o f f ; 
 
 	 	 	 	 e n d ; 	 	 / *     T h i s   o p e r a n d   c o u l d   p o s s i b l y   o v e r f l o w     * / 
 	 	 	 e n d ; 	 	 	 / *     G e n e r a t e   m o v e s   w i t h   t e s t   f o r   o n   s i z e   e r r o r s   * / 
 
 / *     A t   t h i s   p o i n t   i n   p r o c e s s i n g ,   o n e   o r   m o r e   m o v e s   w i t h   c h e c k i n g   f o r   o n 
 	 	 	 s i z e   e r r o r   h a v e   b e e n   g e n e r a t e d     * / 
 
 
 
 
 	 	           e n d ; 	 	 	 	 / *     O n   s i z e   e r r o r   c h e c k i n g   m u s t   b e   d o n e   f o r   s o m e   r e c e i v i n g   f i e l d s     * / 
 	 	 	 	 	 	 / *     G e n e r a t e   c o d e   t o   t e s t   t h e   s i z e   e r r o r   f l a g   ( i f   o n   s s i z e   e r r o r   c h e c k i n g   w a s   n e c e s s a r y ) 
 	 	 o r   t o   t r a n s f e r   u n c o n d i t i o n a l l y   t o   t h e   n e x t   s t a t e m e n t   ( i f   n o   o v e r f l o w   c h e c k i n g   w a s   d o n e ) .     * / 
 	 	 	 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 	 i f   e n d _ s t m t . f   =   " 0 1 " b 
 	 	 t h e n   n o t _ b i t   =   " 1 " b ; 
 	 	 e l s e   n o t _ b i t   =   " 0 " b ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 	 c a l l   t e s t _ s i z e _ e r r o r   ( s i z e _ e r r o r _ t o k e n _ p t r ,   s i z e _ e r r o r _ i n s t _ p t r ,   n e x t _ s t m t _ t a g ,   o v e r f l o w _ p o s s i b l e , 
 	 	           n o t _ b i t ) ; 
 
 	           e n d ; 	 	 	 	 	 / *     O n   s i z e   e r r o r   c h e c k i n g   r e q u e s t e d ,   d o   i t   a n d   m o v e   r e s u l t   t o   r e c e i v i n g     * / 
 
 
 / *     D e f i n e   t h e   i m p e r a t i v e   s t a t e m e n t   a t   t h e   n e x t   a v a i l a b l e   w o r d   i n 
 	 t h e   t e x t   s e g m e n t .     * / 
 	 i f   o s e _ f l a g 
 	 t h e n   c a l l   c o b o l _ d e f i n e _ t a g   ( i m p e r a t i v e _ s t m t _ t a g ) ;   / *     N O T E :     T h e   i m p e r a t i v e   s t m t   t a g   i s 
 	 	 	 d e f i n e d   w h e t h e r   i t   i s   r e f e r e n c e d   o r   n o t   i n   t h e   c o d e   g e n e r a t e d   f o r   t h e 
 	 	 	 c o m p u t e   s t a t e m e n t .     * / 
 
 / *     R e s t o r e   i n _ t o k e n _ p t r     * / 
 
 	 i n _ t o k e n _ p t r   =   s a v e _ i n _ t o k e n _ p t r ; 
 
 e x i t : 
 	 r e t u r n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 d i v i d e _ c h e c k : 
           p r o c ; 
 
 
 / *     T h i s   i n t e r n a l   p r o c e d u r e   g e n e r a t e s   c o d e   t h a t   c o m p a r e s   t h e 
 d i v i s o r   o f   a   d i v i s i o n   o p e r a t i o n   t o   z e r o ,   a n d   t r a n s f e r s   t o   t h e 
 i m p e r a t i v e   s t a t e m e n t   ( o n   s i z e   e r r o r   . . . )   i f   t h e   d i v i s o r   i s   i n   f a c t , 
 z e r o .     * / 
 
 
 / *     S e t   t h e   i m p e r a t i v e   s t a t e m e n t   t a g   i n t o   t h e   E O S   f o r   c o m p a r e     * / 
 	 c o m p a r e _ e o s _ p t r   =   a d d r   ( c o m p a r e _ e o s ) ; 
 	 c o m p a r e _ e o s _ p t r   - >   e n d _ s t m t . h   =   i m p e r a t i v e _ s t m t _ t a g ; 
 
 
 / *     B u i l d   a n   i n _ t o k e n   s t r u c t u r e   t o   p a s s   t o   c o b o l _ c o m p a r e _ g e n     * / 
 	 w o r k _ p t r   =   a d d r   ( w o r k _ b u f f   ( 1 ) ) ; 
 	 w o r k _ p t r   - >   i n _ t o k e n . n   =   3 ; 
 	 w o r k _ p t r   - >   i n _ t o k e n . c o d e   =   0 ; 
 	 w o r k _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 1 )   =   o p e r a n d 2 _ p t r ; / *     d i v i s o r     * / 
 	 w o r k _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 2 )   =   a d d r   ( n u m e r i c _ z e r o ) ; 
 	 	 	 	 	 	 / *     n u m e r i c   z e r o   t o k e n     * / 
 	 w o r k _ p t r   - >   i n _ t o k e n . t o k e n _ p t r   ( 3 )   =   c o m p a r e _ e o s _ p t r ; 
 
 / *     C a l l   c o b o l _ c o m p a r e _ g e n   t o   p e r f o r m   t h e   c o d e   g e n e r a t i o n     * / 
 
 	 c a l l   c o b o l _ c o m p a r e _ g e n   ( w o r k _ p t r ) ; 
 
 
 
           e n d   d i v i d e _ c h e c k ; 
 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 / *     I N C L U D E   F I L E S   U S E D   B Y   T H I S   P R O C E D U R E     * / 
 
 % i n c l u d e   c o b o l _ a r i t h _ u t i l ; 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ r e c o r d _ t y p e s ; 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
 % i n c l u d e   c o b o l _ ; 
 % i n c l u d e   c o b o l _ a d d r _ t o k e n s ; 
 % i n c l u d e   c o b o l _ t y p e 2 ; 
 
           e n d   c o b o l _ c o m p u t e _ g e n ; 
        
 
 
  
 	 	         c o b o l _ d e c l _ g e n . p l 1                             0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               3 1 7 7 9     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d e c l _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d e c l _ g e n : 
           p r o c   ( f x s _ t a g ) ; 
 
 / * 
 T h e   p r o c e d u r e   c o b o l _ d e c l _ g e n   i s   c a l l e d   b y   c o b o l _ g e n _ d r i v e r _   o n l y   i f   t h e 
 p r o g r a m   b e i n g   p r o c e s s e d   c o n t a i n s   D E C L A R A T I V E S   a n d   r e q u i r e s   n e i t h e r 
 d a t a   n o r   f i x e d   s e g m e n t   i n i t i a l i z a t i o n .     W h e n   c a l l e d   i t ; 
           1 .     R e s e r v e s   a   t a g ,   f x s _ t a g ,   t o   b e   a s s o c i a t e d   b y   c o b o l _ e n d _ g e n   
                   w i t h   t h e   f i r s t   i n s t r u c t i o n   o f   t h e   f i r s t   s t a t e m e n t   o f   t h e 
                   f i r s t   n o n _ D e d c l a r a t i v e   S e c t i o n   o f   t h e   p r o g r a m . 
           2 .     G e n e r a t e s   t h e   i n s t r u c t i o n   a n d   n e c e s s a r y   f i x - u p   d i r e c t i v e 
                   t o   a c h i e v e   u n c o n d i t i o n a l   t r a n s f e r   o f   c o n t r o l   t o   t h e 
                   i n s t r u c t i o n   t o   b e   a s s o c i a t e d   w i t h   f x s _ t a g . 
 
 U  _ _  s _  a _  g _  e :  _ 
 
           d e c l a r e   c o b o l _ d e c l _ g e n   e n t r y   ( f i x e d   b i n ) ; 
 
           c a l l   c o b o l _ d e c l _ g e n   ( f x s _ t a g ) ; 
 	 	 	 	 	 	       * / 
 d e c l a r e 	 f x s _ t a g 	 	 f i x e d   b i n ; 
 
 / * } * / 
 / * 
 f x s _ t a g   i s   t h e   n u m b e r   o f   t h e   t a g   a s s o c i a t e d   w i t h   t h e   f i r s t   i n - 
                 s t r u c t i o n   o f   t h e   f i r s t   e x e c u t a b l e   s t a t e m e n t   o f   t h e   p r o - 
                 g r a m   ( f i r s t   s t a t e m e n t   o f   t h e   f i r s t   n o n - D e c l a r a t i v e   S e c - 
                 t i o n ) .     T h i s   v a r i a b l e   i s   i n i t i a l l y   s e t   b y   c o b o l _ p o l o g u e _ g e n 
                 t o   z e r o   i f   n o   i n i t i a l i z a t i o n   ( e i t h e r   d a t a   o r   s e g m e n t )   i s 
                 r e q u i r e d   o r   t o   t h e   n e x t   a v a i l a b l e   t a g   n u m b e r   i f   i n i t i a l i - 
                 z a t i o n   i s   r e q u i r e d .     ( I n p u t / O u t p u t ) 
 	 	 	 	 	 	       * / 
 
 / * 
 G  _ _  e _  n _  e _  r _  a _  t _  e _  d _ C  _ _  o _  d _  e :  _ 
 
 T h e   f o l l o w i n g   c o d e   i s   g e n e r a t e d   b y   c o b o l _ d e c l _ g e n   o n l y   i f   f x s _ t a g   i s 
 z e r o .     I f   f x s _ t a g   i s   n o n _ z e r o   ,   n o   c o d e   i s   g e n e r a t e d . 
 
           t r a     f x s _ r e l p , i c 
 
 w h e r e : 
 f x s _ r e l p   i s   t h e   o f f s e t ,   r e l a t i v e   t o   t h e   i n s t r u c t i o n   i n   w h i c h   i t 
                   a p p e a r s ,   o f   t h e   f i r s t   i n s t r u c t i o n   o f   t h e   f i r s t   e x e c u t - 
                   a b l e   s t a t e m e n t   o f   t h e   p r o g r a m   ( f i r s t   s t a t e m e n t   o f   t h e 
                   f i r s t   n o n _ D e c l a r a t i v e   S e c t i o n ) . 
 	 	 	 	 	 	       * / 
 
 / * 
 D  _ _  a _  t _  a :  _ 
 
           %   i n c l u d e   c o b o l _ ; 
 
 	 I t e m s   i n   c o b o l _ $ i n c l . p l 1   u s e d   ( u )   a n d / o r   s e t   ( s )   b y 
 	 c o b o l _ d e c l _ g e n : 
 
 	           c o b o l _ p t r   ( u ) 
 	           n e x t _ t a g   ( u / s ) 
 	           t e x t _ w d _ o f f   ( u ) 
 	 	 	 	 	 	       * / 
 
 d c l 	 t r a _ i n s t 	 	 b i t   ( 3 6 )   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 " b ) ; 
 
 / * 
 w h e r e : 
 t r a _ i n s t   i s   a n   u n c o n d i t i o n a l   t r a n s f e r   i n s t r u c t i o n . 
 
 	 	 	 	 	 	       * / 
 
 / * 
 P  _ _  r _  o _  c _  e _  d _  u _  r _  e _  s _ C  _ _  a _  l _  l _  e _  d :  _ 
 	 	 	 	 	 	       * / 
 d c l 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) , 
 	 c o b o l _ m a k e _ t a g r e f 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 
 / * 
 B  _ _  u _  i _  l _  t -  _ _  i _  n _ F  _ _  u _  n _  c _  t _  i _  o _  n _  s _ U  _ _  s _  e _  d :  _ 
 	 	 	 	 	 	       * / 
 
 d c l 	 a d d r 	 	 b u i l t i n , 
 	 n u l l 	 	 b u i l t i n ; 
 
 % i n c l u d e   c o b o l _ ; 
 
 
 s t a r t : 
 	 f x s _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( t r a _ i n s t ) ,   n u l l ,   1 ) ; 
 	 c a l l   c o b o l _ m a k e _ t a g r e f   ( f x s _ t a g ,   t e x t _ w d _ o f f   -   1 ,   n u l l ) ; 
 
 	 r e t u r n ; 
 
           e n d   c o b o l _ d e c l _ g e n ; 
    
 
 
  
 	 	         c o b o l _ d e f _ i n i t . p l 1                             0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               5 7 5 1 0     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d e f _ i n i t . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 1 / 1 4 / 7 7   b y   O R N   t o   s i g n a l   c o m m a n d _ a b o r t   r a t h e r   t h a n   c o b o l _ c o m p i l e r _ e r r o r   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   2 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d e f _ i n i t : 
           p r o c ; 	 	 	 	 	 / * 
 T h e   p r o c e d u r e   c o b o l _ d e f _ i n i t   i n i t i a l i z e s   t h e   D e f i n i t i o n   S e c t i o n   a n d 
 o u t p u t s   c o r r e s p o n d i n g   r e l o c a t i o n   i n f o r m a t i o n .     I n   p a r t i c u l a r   i t : 
 
           1 .     I n i t i a l i z e s   a l l   i t e m s   i n   t h e   h e a d e r   a n d   i n s e r t s     a   w o r d 
                   o f   z e r o s   f o l l o w i n g   t h e   h e a d e r . 
 
           2 .     C r e a t e s   a   c l a s s - 3   d e f i n i t i o n   f o r   t h e   o b j e c t   s e g m e n t . 
 
           3 .     C r e a t e s   a   c l a s s - 2   d e f i n i t i o n   f o r   t h e   s y m b o l - t a b l e . 
 
           4 .     C r e a t e s   a n   a c c   s t r i n g   f o r   " s y m b o l _ t a b l e " . 
 
           5 .     C r e a t e s   a n   a c c   s t r i n g   f o r   t h e   o b j e c t   s e g m e n t   n a m e . 
 
 T h e s e   e n t i t i e s   a r e   p o s i t i o n e d   i n   t h e   D e f i n i t i o n   S e c t i o n   i n   t h e 
 o r d e r   g i v e n .     c o b o l _ d e f _ i n i t   i s   c a l l e d   o n c e   p e r   c o m p i l a t i o n ,   p r i o r 
 t o   c o d e   g e n e r a t i o n . 
 
 N o t e :   T h e   c l a s s - 0   d e f i n i t i o n   f o r   t h e   e n t r y   p o i n t   m u s t   i m m e d i a t e l y 
             f o l l o w   t h e   a c c   s t r i n g   f o r   t h e   o b j e c t   s e g m e n t   n a m e ;   i . e .   i t   
             m u s t   b e   l o c a t e d   a t   d e f _ w d _ o f f   a s   i t   e x i s t s   u p o n   r e t u r n   f r o m   
             c o b o l _ d e f _ i n i t . 
 
 
 U  _  _ _  s _  a _  g _  e :  _ 
 
           d e c l a r e   c o b o l _ d e f _ i n i t     e n t r y ; 
 
           c a l l   c o b o l _ d e f _ i n i t ; 
 
 
 D  _ _  a _  t _  a :  _ 
 
 
           %   i n c l u d e   c o b o l _ ; 
 
 	 I t e m s   i n   c o b o l _   i n c l u d e   f i l e   u s e d   ( u )   a n d / o r   s e t   ( s )   b y 
 	 c o b o l _ d e f _ i n i t : 
 
 	           c o b o l _ p t r   ( u ) 
 	           c o m _ p t r   ( u ) 
 	           d e f _ b a s e _ p t r   ( u ) 
 	           d e f _ w d _ o f f   ( s ) 
 	           d e f _ m a x   ( u ) 
 	           o b j _ s e g _ n a m e   ( u ) 
 	 	 	 	 	 	     * / 
 
 % i n c l u d e   c o b o l _ d e f i n i t i o n s ; 
 
 
 d c l 	 1   e r r o r _ s 	 	 a l i g n e d   s t a t i c , 
 	     2   m y _ n a m e 	 c h a r   ( 3 2 )   i n i t   ( " c o b o l _ d e f _ i n i t " ) , 
 	     2   m e s s a g e _ l e n 	 f i x e d   b i n   i n i t   ( 3 5 ) , 
 	     2   m e s s a g e 	 c h a r   ( 1 6 8 )   i n i t   ( " D e f i n i t i o n   S e c t i o n   l e n g t h   e x c e e d e d ! " ) ; 
 
 d c l 	 z e r o s 	 	 a l i g n e d   b i t   ( 3 6 )   a l i g n e d   b a s e d   ( d e f _ p t r ) ; 
 d c l 	 l e n _ s e g n a m e _ a c c _ s t r   f i x e d   b i n ; 
 d c l 	 w d _ l e n 	 	 f i x e d   b i n ; 
 d c l 	 t e m p 	 	 f i x e d   b i n ; 
 
 d c l 	 1   a c c 	 	 a l i g n e d   b a s e d   ( d e f _ p t r ) , 
 	     2   l e n g t h _ o f _ s t r i n g 
 	 	 	 f i x e d   b i n   ( 8 )   u n a l i g n e d , 
 	     2   s t r i n g 	 c h a r   ( 0   r e f e r   ( a c c . l e n g t h _ o f _ s t r i n g ) )   u n a l i g n e d ; 
 
 d c l 	 r e l o c _ i n f o 	 ( 4 4 )   b i t   ( 5 )   a l i g n e d   s t a t i c   i n i t   ( " 1 0 1 0 1 " b ,   " 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   f o r 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   h e a d e r 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   f o r   w d   o f   z e r o s     * / 
 	 	 	 " 1 0 1 0 1 " b ,   " 1 0 1 0 1 " b , 	 	 / *   f o r 	 	 * / 
 	 	 	 " 1 0 1 0 1 " b ,   " 0 0 0 0 0 " b , 	 	 / *   c l a s s - 3 	 * / 
 	 	 	 " 1 0 1 0 1 " b ,   " 1 0 1 0 1 " b , 	 	 / *   d e f i n i t i o n 	 * / 
 	 	 	 " 1 0 1 0 1 " b ,   " 1 0 1 0 1 " b , 	 	 / *   f o r 	 	 * / 
 	 	 	 " 1 0 1 1 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   c l a s s - 2 	 * / 
 	 	 	 " 1 0 1 0 1 " b ,   " 1 0 1 0 1 " b , 	 	 / *   d e f i n i t i o n 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   f o r 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   s y m b o l _ t a b l e 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   a c c 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   s t r i n g 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   f o r 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   o b j e c t   s e g m e n t 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   n a m e 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   a c c   s t r i n g 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   a l l o w s   	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   f o r 	 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   3 2 _ c h a r a c t e r 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b , 	 	 / *   m a x   n a m e 	 * / 
 	 	 	 " 0 0 0 0 0 " b ,   " 0 0 0 0 0 " b ) ; 	 / *   l e n g t h 	 	 * / 
 
 / * 
 P  _ _  r _  o _  c _  e _  d _  u _  r _  e _  s _ C  _ _  a _  l _  l _  e _  d :  _ 
 	 	 	 	 	 	     * / 
 
 d c l 	 s i g n a l _ 	 	 e n t r y   ( c h a r   ( * ) ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ r e l o c 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 
 
 / * 
 B  _ _  u _  i _  l _  t -  _ _  i _  n _ F  _ _  u _  n _  c _  t _  i _  o _  n _  s _ U  _ _  s _  e _  d :  _ 
 
 	 	 	 	 	 	     * / 
 d c l 	 n u l l 	 	 b u i l t i n ; 
 d c l 	 f i x e d 	 	 b u i l t i n ; 
 d c l 	 s u b s t r 	 	 b u i l t i n ; 
 d c l 	 u n s p e c 	 	 b u i l t i n ; 
 d c l 	 s e a r c h 	 	 b u i l t i n ; 
 d c l 	 s t r i n g 	 	 b u i l t i n ; 
 d c l 	 a d d r e l 	 	 b u i l t i n ; 
 d c l 	 a d d r 	 	 b u i l t i n ; 	 	 	 / * } * / 
 
 % i n c l u d e   c o b o l _ ; 
 % i n c l u d e   c o b o l _ f i x e d _ c o m m o n ; 
 % i n c l u d e   c o b o l _ e x t _ ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 	 	 	 	 	 	 / *     C O M P U T E   L E N G T H   O F   A C C   S T R I N G   F O R   O B J E C T   S E G M E N T   N A M E     * / 
 	 l e n _ s e g n a m e _ a c c _ s t r   =   s e a r c h   ( o b j _ s e g _ n a m e ,   "   " ) ; 
 
 	 i f   l e n _ s e g n a m e _ a c c _ s t r   =   0 
 	 t h e n   d o ; 
 
 	 	 l e n _ s e g n a m e _ a c c _ s t r   =   3 3 ; 
 	 	 w d _ l e n   =   9 ; 
 
 	           e n d ; 
 
 	 e l s e   d o ; 
 
 	 	 t e m p   =   l e n _ s e g n a m e _ a c c _ s t r   +   3 ; 
 	 	 w d _ l e n   =   f i x e d   ( s u b s t r   ( u n s p e c   ( t e m p ) ,   1 ,   3 4 ) ) ; 
 
 	           e n d ; 
 
 
 / *     U P D A T E   d e f _ w d _ o f f   A N D   T E S T   A G A I N S T   d e f _ m a x     * / 
 
 	 d e f _ w d _ o f f   =   w d _ l e n   +   1 3 ; 
 
 	 i f   d e f _ w d _ o f f   >   d e f _ m a x 
 	 t h e n   d o ; 
 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l ,   a d d r   ( e r r o r _ s ) ) ; 
 	 	 r e t u r n ; 
 
 	           e n d ; 
 
 
 / *     I N I T I A L I Z E   H E A D E R     * / 
 
 	 d e f _ l i s t _ r e l p   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 d e f _ h e a d e r . u n u s e d   =   ( 3 6 ) " 0 " b ; 
 	 d e f _ h e a d e r . f l a g s . n e w _ f o r m a t   =   " 1 " b ; 
 	 d e f _ h e a d e r . f l a g s . i g n o r e   =   " 1 " b ; 
 	 d e f _ h e a d e r . f l a g s . u n u s e d   =   ( 1 6 ) " 0 " b ; 
 
 
 / *     I N S E R T   W O R D   O F   Z E R O S   A F T E R   H E A D E R     * / 
 
 	 d e f _ p t r   =   a d d r e l   ( d e f _ b a s e _ p t r ,   2 ) ; 
 	 z e r o s   =   ( 3 6 ) " 0 " b ; 
 
 
 / *     C R E A T E   C L A S S - 3   D E F I N I T I O N   F O R   T H E   O B J E C T   S E G M E N T     * / 
 
 	 d e f _ p t r   =   a d d r e l   ( d e f _ p t r ,   1 ) ; 
 	 s e g n a m e . f o r w a r d _ t h r e a d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 " b ; 
 	 s e g n a m e . b a c k w a r d _ t h r e a d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ; 
 	 s e g n a m e . s e g n a m e _ t h r e a d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ; 
 	 s e g n a m e . f l a g s   =   " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 s e g n a m e . c l a s s   =   " 0 1 1 " b ; 
 	 s e g n a m e . s y m b o l _ r e l p   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 " b ; 
 	 s e g n a m e . f i r s t _ r e l p   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 " b ; 
 
 
 / *     C R E A T E   C L A S S - 2   D E F I N I T I O N   F O R   T H E   S Y M B O L _ T A B L E     * / 
 
 	 d e f _ p t r   =   a d d r e l   ( d e f _ p t r ,   3 ) ; 
 	 d e f i n i t i o n . f o r w a r d _ t h r e a d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ; 
 	 d e f i n i t i o n . b a c k w a r d _ t h r e a d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 	 d e f i n i t i o n . v a l u e   =   ( 1 8 ) " 0 " b ; 
 	 s t r i n g   ( d e f i n i t i o n . f l a g s )   =   " 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 d e f i n i t i o n . c l a s s   =   " 0 1 0 " b ; 
 	 d e f i n i t i o n . s y m b o l _ r e l p   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 " b ; 
 	 d e f i n i t i o n . s e g n a m e _ r e l p   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 
 
 / *     C R E A T E   A C C   S T R I N G   F O R   " s y m b o l _ t a b l e "     * / 
 
 	 d e f _ p t r   =   a d d r e l   ( d e f _ p t r ,   3 ) ; 
 	 l e n g t h _ o f _ s t r i n g   =   1 2 ; 
 	 a c c . s t r i n g   =   " s y m b o l _ t a b l e " ; 
 
 
 / *     C T E A T E   A C C   S T R I N G   F O R   O B J E C T   S E G M E N T   N A M E     * / 
 
 	 d e f _ p t r   =   a d d r e l   ( d e f _ p t r ,   4 ) ; 
 	 l e n g t h _ o f _ s t r i n g   =   l e n _ s e g n a m e _ a c c _ s t r   -   1 ; 
 	 a c c . s t r i n g   =   o b j _ s e g _ n a m e ; 
 
 
 / *     O U T P U T   R E L O C A T I O N   I N F O R M A T I I O N     * / 
 
 	 c a l l   c o b o l _ r e l o c   ( a d d r   ( r e l o c _ i n f o ) ,   d e f _ w d _ o f f   +   d e f _ w d _ o f f ,   3 0 0 3 ) ; 
 
 
 / *     I N I T I A L I Z A T I O N   C O M P L E T E     * / 
 e x i t : 
 	 r e t u r n ; 
 
           e n d   c o b o l _ d e f _ i n i t ; 
      
 
 
  
 	 	         c o b o l _ d e f _ u t i l . p l 1                             0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               6 4 8 8 1     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d e f _ u t i l . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 1 / 2 2 / 8 2   b y   F C H ,   [ 5 . 1 - 1 ] ,   c o b o l _ a r g _ d e s c r i p t o r $ t y p e 9   c a l l e d   w i t h   w r o n g   n u m b e r   o f   a r g s   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   5 . 1   * / 
 
 
 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d e f _ u t i l : 
           p r o c   ( n _ a r g s ,   o b j e c t _ n a m e ,   o b j e c t _ n a m e _ l e n ,   t e x t _ p t r ,   f l a g ,   d e s c r i p t o r _ p t r ,   i n _ t o k e n _ p t r ) ; 
 
 
 
 
 	 p a r m _ d e s c _ p t r   =   a d d r   ( w o r k _ s p a c e s ) ; 
 
 	 i f   n _ a r g s   >   1 2 7 
 	 t h e n   d o ; 
 
 o p d _ o f : 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l ,   a d d r   ( o p r n d _ o v f l ) ) ; 
 	 	 g o t o   o p d _ o f ; 
 	           e n d ; 
 
 	 c l a s s 0 _ d e f _ l e n   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( n _ a r g s ) ,   1 8 ,   1 8 ) )   +   4 ; 
 
 	 i f   s u b s t r   ( o b j e c t _ n a m e ,   1 ,   3 2 )   =   c o b o l _ $ o b j _ s e g _ n a m e 
 	 t h e n   d o ; 
 	 	 e p _ a c c _ w d _ l e n   =   0 ; 
 	 	 e p _ a c c _ r e l p   =   1 3 ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 e p _ a c c _ w d _ l e n   =   b i n a r y   ( s u b s t r   ( u n s p e c   ( o b j e c t _ n a m e _ l e n ) ,   1 7 ,   1 8 ) )   +   1 ; 
 	 	 e p _ a c c _ r e l p   =   c o b o l _ $ d e f _ w d _ o f f   +   c l a s s 0 _ d e f _ l e n ; 
 	           e n d ; 
 
 
 / *   E n t e r   c o b o l _ $ d e f _ w d _ o f f   i n   e n t r y   c o d e   s e q u e n c e   b e f o r e   u p d a t i n g   * / 
 
 	 d e f _ p t r   =   a d d r e l   ( c o b o l _ $ d e f _ b a s e _ p t r ,   d e f _ l i s t _ r e l p ) ; 
 	 t e m p _ p t r   =   a d d r e l   ( c o b o l _ $ d e f _ b a s e _ p t r ,   d e f i n i t i o n . f o r w a r d _ t h r e a d ) ; 
 
 	 d o   w h i l e   ( t e m p _ p t r   - >   a _ w o r d   ^ =   0 ) ; 
 
 	           t e m p _ t h r e a d   =   d e f i n i t i o n . f o r w a r d _ t h r e a d ; 
 	           d e f _ p t r   =   t e m p _ p t r ; 
 	           t e m p _ p t r   =   a d d r e l   ( c o b o l _ $ d e f _ b a s e _ p t r ,   d e f i n i t i o n . f o r w a r d _ t h r e a d ) ; 
 	 e n d ; 
 
 	 i f   d e f i n i t i o n . f o r w a r d _ t h r e a d   ^ =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b 
 	 t h e n   d o   w h i l e   ( d e f i n i t i o n . f o r w a r d _ t h r e a d   ^ =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ) ; 
 
 	 	 t e m p _ t h r e a d   =   d e f i n i t i o n . f o r w a r d _ t h r e a d ; 
 	 	 d e f _ p t r   =   a d d r e l   ( c o b o l _ $ d e f _ b a s e _ p t r ,   d e f i n i t i o n . f o r w a r d _ t h r e a d ) ; 
 	           e n d ; 
 
 	 d e f i n i t i o n . f o r w a r d _ t h r e a d   =   s u b s t r   ( u n s p e c   ( d e f _ w d _ o f f ) ,   1 9 ,   1 8 ) ; 
 	 d e f _ p t r   =   a d d r e l   ( c o b o l _ $ d e f _ b a s e _ p t r ,   c o b o l _ $ d e f _ w d _ o f f ) ; 
 	 e n t r y _ s e q . d e f _ r e l p   =   s u b s t r   ( u n s p e c   ( c o b o l _ $ d e f _ w d _ o f f ) ,   1 9 ,   1 8 ) ; 
 
 	 c o b o l _ $ d e f _ w d _ o f f   =   c o b o l _ $ d e f _ w d _ o f f   +   c l a s s 0 _ d e f _ l e n   +   e p _ a c c _ w d _ l e n ; 
 
 d e f _ e r r o r _ l o o p : 
 	 i f   c o b o l _ $ d e f _ w d _ o f f   >   c o b o l _ $ d e f _ m a x 
 	 t h e n   d o ; 
 	 	 c a l l   s i g n a l _   ( " c o m m a n d _ a b o r t _ " ,   n u l l ,   a d d r   ( d e f _ o v f l _ e r r o r ) ) ; 
 	 	 g o t o   d e f _ e r r o r _ l o o p ; 
 	           e n d ; 
 
 	 d e f i n i t i o n . f o r w a r d _ t h r e a d   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 " b ; 
 	 d e f i n i t i o n . b a c k w a r d _ t h r e a d   =   t e m p _ t h r e a d ; 
 
 	 t e m p   =   c o b o l _ $ t e x t _ w d _ o f f   +   2 ; 
 
 	 d e f i n i t i o n . v a l u e   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   1 9 ,   1 8 ) ; 
 	 s t r i n g   ( d e f i n i t i o n . f l a g s )   =   " 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 s t r i n g   ( e n t r y _ s e q . f l a g s )   =   " 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ; 
 	 d e f i n i t i o n . c l a s s   =   " 0 0 0 " b ; 
 	 d e f i n i t i o n . s y m b o l _ r e l p   =   s u b s t r   ( u n s p e c   ( e p _ a c c _ r e l p ) ,   1 9 ,   1 8 ) ; 
 	 d e f i n i t i o n . s e g n a m e _ r e l p   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 " b ; 
 
 	 c a l l   c o b o l _ r e l o c   ( a d d r   ( r e l o c _ c l 0 _ d e f _ f i x e d ) ,   6 ,   3 0 0 3 ) ; 
 
 	 i f   n _ a r g s   ^ =   0   &   f i x e d _ c o m m o n . d e s c r i p t o r   ^ =   " 0 0 " b 
 	 t h e n   d o ; 
 
 	 	 p a r m _ d e s c . n _ a r g s   =   n _ a r g s ; 
 	 	 e n t r y _ s e q . f l a g s . h a s _ d e s c r i p t o r s   =   " 1 " b ; 
 	 	 a r g _ r e l o c _ c o d e   ( 0 )   =   " 0 0 0 0 0 " b ; 
 
 	 	 d o   i   =   1   t o   n _ a r g s ; 
 
 	 	           i f   f l a g   =   0 
 	 	           t h e n   s u b s t r   ( a r g _ d e s c _ o f f ,   1 ,   1 8 )   =   s u b s t r   ( d e s c _ o f f   ( i ) ,   1 9 ,   1 8 ) ; 
 	 	 	 	 	 	 / * [ 5 . 1 . 1 ] * / 
 	 	           e l s e   c a l l   c o b o l _ a r g _ d e s c r i p t o r $ t y p e 9   ( i n _ t o k e n . t o k e n _ p t r   ( i   +   1 ) ,   a r g _ d e s c _ o f f ,   L O C ) ; 
 
 	 	           p a r m _ d e s c . d e s c r i p t o r _ r e l p   ( i )   =   s u b s t r   ( a r g _ d e s c _ o f f ,   1 ,   1 8 ) ; 
 	 	           a r g _ r e l o c _ c o d e   ( i )   =   " 1 0 0 0 0 " b ; 
 	 	 e n d ; 
 
 	 	 c a l l   c o b o l _ r e l o c   ( a d d r   ( a r g _ r e l o c _ c o d e   ( 0 ) ) ,   n _ a r g s   +   1 ,   3 0 0 3 ) ; 
 
 	 	 t e m p   =   2   +   2   *   n _ a r g s ; 
 	 	 c a l l   c o b o l _ p o o l   ( s u b s t r   ( w o r k _ s p a c e s ,   1 ,   t e m p ) ,   2 ,   t e m p 1 ) ; 
 
 	 	 t e m p 1   =   - t e m p 1 ; 
 	 	 e n t r y _ s e q . d e s c r _ r e l p _ o f f s e t   =   s u b s t r   ( u n s p e c   ( t e m p 1 ) ,   1 9 ,   1 8 ) ; 
 
 	           e n d ; 
 
 	 i f   e p _ a c c _ w d _ l e n   ^ =   0 
 	 t h e n   d o ; 
 	 	 d e f _ p t r   =   a d d r e l   ( d e f _ p t r ,   c l a s s 0 _ d e f _ l e n ) ; 
 	 	 a c c . l e n g t h _ o f _ s t r i n g   =   o b j e c t _ n a m e _ l e n ; 
 	 	 a c c . s t r i n g   =   s u b s t r   ( o b j e c t _ n a m e ,   1 ,   o b j e c t _ n a m e _ l e n ) ; 
 
 	 	 c a l l   c o b o l _ r e l o c   ( n u l l ,   e p _ a c c _ w d _ l e n   +   e p _ a c c _ w d _ l e n ,   3 0 0 3 ) ; 
 
 	           e n d ; 
 
 	 i f   f l a g   =   1 
 	 t h e n   d o ; 
 
 	 	 e n t r y _ s e q . e a x 7   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 " b ; 
 	 	 e n t r y _ s e q . e p p 2   =   " 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 1 0 0 0 0 " b ; 
 	 	 e n t r y _ s e q . t s p 2   =   " 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 " b ; 
 
 	           e n d ; 
 
 	 r e t u r n ; 
 
 
 d c l 	 n _ a r g s 	 	 f i x e d   b i n , 	 	 / *   N o   o f   o p e r a n d s   i n   U S I N G   p h r a s e * / 
 	 f l a g 	 	 f i x e d   b i n , 	 	 / *   i n i t i a l i z a t i o n   f o r   e a x 7   e t c .   
 	 	 I f   f l a g   =   1   :   e a x 7   e t x   a n d   d e s c r i p t o r   o f f s e t   a r e   s e t   h e r e . 
 	 	 E l s e   e a x 7   n o t   s e t   a n d   d e s c r i p t o r   o f f s e t   p a s s e d   f r o m   d e s c r i p t o r _ p t r .   * / 
 	 d e s c r i p t o r _ p t r 	 p t r , 
 	 d e s c _ o f f 	 	 ( n _ a r g s )   b i t   ( 3 6 )   b a s e d   ( d e s c r i p t o r _ p t r ) , 
 	 o b j e c t _ n a m e 	 c h a r   ( 3 2 ) , 
 	 o b j e c t _ n a m e _ l e n 	 f i x e d   b i n , 
 	 L O C 	 	 f i x e d   b i n , 
 	 a r g _ r e l o c _ c o d e 	 ( 0 : 2 5 6 )   b i t   ( 5 )   a l i g n e d , 	 / *   R e l o c a t i o n   c o d e   f o r   c l a s s - 0       * / 
 	 c l a s s 0 _ d e f _ l e n 	 f i x e d   b i n , 	 	 / *   L e n g t h   o f   c l a s s - 0   d e f i n i t i o n     * / 
 	 e p _ a c c _ w d _ l e n 	 f i x e d   b i n , 	 	 / *   L e n g t h   i n   w o r d s   o f   a c c   s t r i n g   * / 
 	 e p _ a c c _ r e l p 	 f i x e d   b i n , 	 	 / *   O f f s e t ,   r e l a t i v e   t o   b a s e   o f       * / 
 	 a r g _ d e s c _ o f f 	 b i t   ( 3 6 ) , 	 	 	 / *   O f f s e t   o f   a r g u m e n t   d e s c r i p t o r   * / 
 	 i 	 	 f i x e d   b i n , 	 	 / *   D o   l o o p   i n d e x 	       * / 
 	 o f f s e t 	 	 f i x e d   b i n , 	 	 / *   O f f s e t   a s   r e t u r n e d   b y   v a r i o u s   * / 
 	 n _ c o n 	 	 f i x e d   b i n , 	 	 / *   N o   o f   c o n d i t i o n s 	       * / 
 	 n _ o f f 	 	 f i x e d   b i n , 	 	 / *   O f f s e t   o f   1 s t   w d   o f   s t a c k           * / 
 	 n a m e 	 	 ( 2 )   c h a r   ( 3 2 ) , 	 	 / *   A r r a y   o f   c o n d i t i o n     n a m e s 	       * / 
 	 l n _ n m 	 	 ( 2 )   f i x e d   b i n , 	 	 / *   A r r a y   o f   c o n d i t i o n   n a m e   l n g t h s * / 
 	 t e m p _ p t r 	 	 p t r , 	 	 	 / *   T e m p o r a r y   p o i n t e r   u s e d   i n 	       * / 
 	 t e m p _ t h r e a d 	 b i t   ( 1 8 ) , 
 	 w o r k _ s p a c e s 	 c h a r   ( 2 5 6 )   s t a t i c   i n i t   ( "   " ) , 
 	 t e m p 	 	 f i x e d   b i n , 
 	 t e m p 1 	 	 f i x e d   b i n , 
 	 a _ w o r d 	 	 f i x e d   b i n   b a s e d ; 	 	 / *   A   w o r d   u s e d   i n   c r e a t i n g 	       * / 
 
 / *   a c c   s t r i n g   d e f i n i t i o n       * / 
 
 d c l 	 1   a c c 	 	 a l i g n e d   b a s e d   ( d e f _ p t r ) , 
 	     2   l e n g t h _ o f _ s t r i n g 
 	 	 	 f i x e d   b i n   ( 8 )   u n a l i g n e d , 
 	     2   s t r i n g 	 c h a r   ( 0   r e f e r   ( a c c . l e n g t h _ o f _ s t r i n g ) )   u n a l i g n e d ; 
 
 / *   R e l o c a t i o n   i n f o r m a t i o n   f o r   f i x e d   p a r t   o f   C l a s s - 0   d e f i n i t i o n   * / 
 / *   f o r   p r o g r a m ' s   e n t r y   p o i n t       * / 
 
 d c l 	 r e l o c _ c l 0 _ d e f _ f i x e d   ( 6 )   b i t   ( 5 )   a l i g n e d   s t a t i c 
 	 	 	 i n i t   ( " 1 0 1 0 1 " b ,   " 1 0 1 0 1 " b ,   " 1 0 0 0 0 " b ,   " 0 0 0 0 0 " b ,   " 1 0 1 0 1 " b ,   " 1 0 1 0 1 " b ) ; 
 
 / * 	 p r o c e d u r e   c a l l e d . 	 * / 
 
 d c l 	 c o b o l _ a r g _ d e s c r i p t o r $ t y p e 9 
 	 	 	 e n t r y   ( p t r ,   b i t   ( 3 6 ) ,   f i x e d   b i n ) , 
 	 c o b o l _ p o o l 	 e n t r y   ( c h a r   ( * ) ,   f i x e d   b i n ,   f i x e d   b i n ) , 
 	 c o b o l _ r e l o c 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) , 
 	 s i g n a l _ 	 	 e n t r y   ( c h a r   ( * ) ,   p t r ,   p t r ) ; 
 
 d c l 	 1   d e f _ o v f l _ e r r o r 	 a l i g n e d   s t a t i c , 
 	     2   m y _ n a m e 	 c h a r   ( 3 2 )   i n i t   ( " c o b o l _ d e f _ u t i l " ) , 
 	     2   m e s s a g e _ l e n 	 f i x e d   b i n   i n i t   ( 3 5 ) , 
 	     2   m e s s a g e 	 c h a r   ( 3 5 )   i n i t   ( " D e f i n i t i o n   S e c t i o n   l e n g t h   e x c e e d e d ! " ) ; 
 
 d e c l a r e 	 1   o p r n d _ o v f l 	 s t a t i c   a l i g n e d , 
 	     2   g e n _ n a m e 	 c h a r   ( 3 2 )   i n i t   ( " c o b o l _ d e f _ u t i l " ) , 
 	     2   m e s s a g e _ l e n 	 f i x e d   b i n   a l i g n e d   i n i t   ( 2 6 ) , 
 	     2   m e s s a g e 	 c h a r   ( 2 6 )   a l i g n e d   i n i t   ( " U S I N G   o p e r a n d s   e x c e e d   1 2 7 ! " ) ; 
 
 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ e n t r y _ s e q ; 
 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ ; 
 
 % i n c l u d e   c o b o l _ d e f i n i t i o n s ; 
 
 
 % i n c l u d e   c o b o l _ f i x e d _ c o m m o n ; 
 % i n c l u d e   c o b o l _ e x t _ ; 
           e n d   c o b o l _ d e f _ u t i l ; 
        
 
 
  
 	 	         c o b o l _ d e l e t e _ g e n . p l 1                         0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               8 0 2 1 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d e l e t e _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 3 / 1 8 / 8 1   b y   F C H ,   [ 4 . 4 - 1 ] ,   s e t   p r 1   t o   l o c   o f   k e y   * / 
 / *   M o d i f i e d   o n   0 6 / 2 7 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   n o t   o p t i o n   a d d e d   f o r   d e b u g   * / 
 / *   M o d i f i e d   o n   1 1 / 1 3 / 7 8   b y   F C H ,   [ 3 . 0 - 1 ] ,   a l t   r e c   k e y s   a d d e d   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   3 . 0   * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d e l e t e _ g e n : 
           p r o c   ( m p _ p t r ,   p a s s e d _ t a g ) ; 
 
 d c l 	 p a s s e d _ t a g 	 f i x e d   b i n ; 	 	 / *   f o r     i n - l i n e   e r r o r   h a n d l i n g   * / 
 d c l 	 p t a g 	 	 f i x e d   b i n ; 
 d c l 	 m p _ p t r 	 	 p t r ; 
 d c l 	 1   m p 	 	 b a s e d   ( m p _ p t r ) , 
 	     2   n 	 	 f i x e d   b i n , 	 	 / *   a l w a y s   3   * / 
 	     2   p t 1 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 1   t o k e n   f o r   D E L E T E   * / 
 	     2   p t 2 	 	 p t r , 	 	 	 / *   p t s   t o   t y p e 1 2   t o k e n   f o r   t h e   f i l e   * / 
 	     2   p t 3 	 	 p t r ; 	 	 	 / *   p t s   t o   t y p e 1 9   t o k e n   ( e o s )   * / 
 d c l 	 1   a r g s , 
 	     2   e n t r y n o 	 f i x e d   b i n , 
 	     2   a r g l i s t _ o f f 	 f i x e d   b i n , 
 	     2   s t a c k t e m p _ o f f 	 f i x e d   b i n , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   a r g 	 	 ( 4 ) , 
 	         3   p t 	 	 p t r , 
 	         3   t y p e 	 f i x e d   b i n , 
 	         3   o f f 1 	 f i x e d   b i n , 
 	         3   o f f 2 	 f i x e d   b i n , 
 	         3   v a l u e 	 b i t   ( 1 8 )   u n a l , 
 	         3   i n d i r e c t 	 b i t   ( 1 )   u n a l , 
 	         3   o v e r l a y 	 b i t   ( 1 )   u n a l , 
 	         3   r e p e a t _ n o g e n 	 b i t   ( 1 )   u n a l , 
 	         3   r e g s w 	 b i t   ( 1 )   u n a l , 
 	         3   r e g n o 	 b i t   ( 3 )   u n a l ; 
 
 
 d c l 	 a r g b 	 	 ( 4 )   b i t   ( 2 1 6 )   b a s e d   ( a d d r   ( a r g s . a r g   ( 1 ) ) ) ; 
 
 d c l 	 t e x t 	 	 ( 0 : 1 0 0 0 0 0 )   b i t   ( 3 6 )   b a s e d   ( c o b o l _ $ t e x t _ b a s e _ p t r ) ; 
 
 d c l 	 f t _ p t r 	 	 p t r ; 
 
 d c l 	 f k e y _ p t r 	 	 p t r ; 
 
 d c l 	 n a m e _ p t r 	 	 p t r ; 
 d c l 	 a r g _ p t r 	 	 p t r ; 
 
 d c l 	 i o e r r o r _ p t r 	 p t r ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 d e c l a r e 	 a l t _ s w 	 	 b i t   ( 1 ) ; 
 
 d c l 	 d e l e t e _ t a g 	 f i x e d   b i n ; 
 
 d c l 	 u n o p e n _ e r r o r _ t a g 	 f i x e d   b i n ; 
 d c l 	 s t o f f 	 	 f i x e d   b i n ; 
 
 d c l 	 a l o f f 	 	 f i x e d   b i n ; 
 d c l 	 s i z e 	 	 f i x e d   b i n ; 
 d c l 	 r e c l e n _ o f f 	 f i x e d   b i n ; 
 
 d c l 	 b u f _ o f f 	 	 f i x e d   b i n ; 
 d c l 	 n t a g 	 	 f i x e d   b i n ; 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / *   I N I T I A L I Z A T I O N   * / 
 s t a r t : 
 	 r w _ p t r   =   m p . p t 1 ; 
 	 e o s _ p t r   =   m p . p t 3 ; 
 	 i o e r r o r _ p t r   =   a d d r   ( i o e r r o r ) ; 
 	 i o e r r o r . c o b o l _ c o d e   =   0 ; 
 	 i o e r r o r . t y p e 1 _ p t r   =   m p . p t 1 ; 
 	 i o e r r o r . i s _ t a g   =   0 ; 
 	 i o e r r o r . m o d e   =   0 ; 
 	 i f   e n d _ s t m t . b   =   " 1 " b 
 	 t h e n   d o ; 	 	 	 	 	 / *   i n - l i n e   e r r o r   c o d i n g   f o l l o w s   * / 
 	 	 i o e r r o r . i s _ t a g   =   c o b o l _ $ n e x t _ t a g ; 	 / *   t o   b e   d e f i n e d   a t   e n d   o f   g e n e r a t e d   c o d e   f o r   W R I T E   * / 
 	 	 p t a g ,   p a s s e d _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ;   / *   t o   b e   d e f i n e d   b y   g e n   d r i v e r   a t   e n d   o f   i n - l i n e   c o d i n g   * / 
 	 	 i o e r r o r . n s _ t a g   =   p t a g ; 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 i o e r r o r . i s _ t a g   =   0 ; 
 	 	 p t a g   =   0 ; 
 	 	 i o e r r o r . n s _ t a g   =   c o b o l _ $ n e x t _ t a g ; 	 / *   t o   b e   d e f i n e d   a t   e n d   o f   g e n e r a t e d   c o d e   * / 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	           e n d ; 
 
 	 a r g _ p t r   =   a d d r   ( a r g s ) ; 
 
 	 c a l l   c o b o l _ r e a d _ f t   ( m p . p t 2   - >   f d _ t o k e n . f i l e _ n o ,   f t _ p t r ) ; 
 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 5 2 ,   2 ,   a l o f f ) ; 	 	 / *   e n o u g h   f o r   1 3   w o r d s   -   a l o f f   i s   a   w d   o f f s e t   * / 
 	 a r g s . a r g l i s t _ o f f   =   a l o f f ; 
 	 r e c l e n _ o f f   =   a l o f f   +   1 2 ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 / *   S T A R T   C O D E   G E N E R A T I O N   * / 
 s t a r t _ c o d e g e n : 	 	 	 	 	 / *   M A K E   S U R E   F I L E   I S   O P E N   * / 
 	 i o e r r o r . r e t r y _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 u n o p e n _ e r r o r _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   2 ; 
 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( i o e r r o r . r e t r y _ t a g ) ; 
 
 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 
 
 / *   O P E R A T O R 5 6 ( i n i t _ d e l e t e )   * / 
 	 c a l l   c o b o l _ c a l l _ o p   ( 5 6 ,   u n o p e n _ e r r o r _ t a g ) ; 	 / *   I N T _ D E L E T E _ O P   * / 
 
 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( u n o p e n _ e r r o r _ t a g ) ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 a l t _ s w   =   f i l e _ t a b l e . o r g a n i z a t i o n   =   3   / *   i n d   * /   / *   [ 3 . 0 - 1 ]   * /   &   / *   [ 3 . 0 - 1 ]   * /   f i l e _ t a b l e . a l t e r n a t e _ k e y s   ^ =   0 ; 
 
 
 
 
 	 i f   f i l e _ t a b l e . a c c e s s   <   2 
 	 t h e n   d o ; 	 	 	 	 	 / *   s e q u e n t i a l   a c c e s s   * / 
 
 	 	 n t a g   =   c o b o l _ $ n e x t _ t a g ; 
 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 c a l l   c o b o l _ i o _ u t i l $ b y p a s s _ s e q e r r o r   ( n t a g ) ; 
 
 	 	 c a l l   c o b o l _ i o o p _ u t i l $ s e t _ x 5   ( d e l e t e _ s e q _ e r r n o ) ; 
 	 	 	 	 	 	 / *   O P E R A T O R 5 4 ( d e l e t e _ e r r o r )   * / 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( 5 4 ,   n t a g ) ; 	 / *   E R R O R _ O P   * / 
 
 	 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 
 
 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n t a g ) ; 
 
 	 	 c a l l   c o b o l _ i o _ u t i l $ m o v e _ d i r e c t   ( " 0 0 1 " b ,   f s b _ k e y l e n _ s w ,   4 ,   1 ,   " " b ) ; 
 	 	 	 	 	 	 / *   z e r o   t h e   s w i t c h   * / 
 
 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 
 	 	 c a l l   d e l _ o p ; 
 
 	           e n d ; 
 
 	 e l s e   d o ; 	 	 	 	 	 / *   r a n d o m   o r   d y n a m i c   a c c e s s   * / 
 
 	 	 c a l l   c o b o l _ r e a d _ r a n d   ( 1 ,   f i l e _ t a b l e . r _ k e y _ i n f o ,   f k e y _ p t r ) ; 
 
 	 	 a d d r   ( f k e y _ t y p e 9 . f i l e _ k e y _ i n f o )   - >   f i l e _ k e y _ d e s c   =   f i l e _ k e y . d e s c ; 
 
 	 	 m p o u t . p t 1   =   m p . p t 1 ; 
 
 	 	 m p o u t . p t 2   =   a d d r   ( f k e y _ t y p e 9 ) ; 
 
 	 	 i f   f i l e _ t a b l e . o r g a n i z a t i o n   =   2 
 	 	 t h e n   d o ; 	 	 	 	 / *   r e l a t i v e   * / 
 
 	 	 	 m p o u t . p t 3   =   a d d r   ( n u m _ t y p e 9 ) ; 
 
 	 	 	 s i z e ,   n u m _ t y p e 9 . s i z e ,   n u m _ t y p e 9 . p l a c e s _ l e f t   =   1 6 ; 
 
 	 	 	 n u m _ t y p e 9 . s e g   =   5 0 0 1 ; 	 / *   f r o m   P R 1   * / 
 
 	 	 	 n u m _ t y p e 9 . o f f   =   f i l e _ t a b l e . f s b . o f f   +   f s b _ k e y ; 
 
 	 	           e n d ; 
 
 	 	 e l s e   d o ; 	 	 	 	 / *   i n d e x e d   * / 
 
 	 	 	 i f   f i l e _ t a b l e . a c c e s s   =   3   &   ( f i l e _ t a b l e . e x t e r n a l   |   f i l e _ t a b l e . o p e n _ o u t ) 
 	 	 	 t h e n   d o ; 
 
 	 	 	 	 n t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 	 	 c a l l   c o b o l _ i o _ u t i l $ b y p a s s _ m o d e _ e r r o r   ( n t a g ,   " 1 1 " b ) ; 
 	 	 	 	 	 	 / *   m u s t   p r e v e n t   d e l e t e s   i n   o u t p u t   m o d e   * / 
 
 	 	 	 	 c a l l   c o b o l _ i o o p _ u t i l $ s e t _ x 5   ( o u t p u t _ e r r n o ) ; 
 	 	 	 	 	 	 / *   O P E R A T O R 5 4 ( d e l e t e _ e r r o r )   * / 
 	 	 	 	 c a l l   c o b o l _ c a l l _ o p   ( 5 4 ,   n t a g ) ; 
 	 	 	 	 	 	 / *   E R R O R _ O P   * / 
 
 	 	 	 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n t a g ) ; 
 
 	 	 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 	 	 	           e n d ; 
 
 	 	 	 m p o u t . p t 3   =   a d d r   ( a l p h a _ t y p e 9 ) ; 
 	 	 	 s i z e ,   a l p h a _ t y p e 9 . s i z e   =   f k e y _ t y p e 9 . s i z e ; 
 	 	 	 a l p h a _ t y p e 9 . s e g   =   5 0 0 1 ; 	 / *   f r o m   p r 1   * / 
 	 	 	 a l p h a _ t y p e 9 . o f f   =   f i l e _ t a b l e . f s b . o f f   +   f s b _ k e y ; 
 
 	 	           e n d ; 	 	 	 	 / *   r e a d   k e y   * / 
 	 	 i f   ^ a l t _ s w   &   f i l e _ t a b l e . a c c e s s   =   3   &   f i l e _ t a b l e . r e a d _ n e x t 
 	 	 t h e n   d o ; 
 
 	 	 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( 2 6 0 ,   2 ,   s t o f f ) ; 
 	 	 	 	 	 	 / *   a r e a   k n o w n   a s   T E M P   r e a d   k e y   a r e a   * / 
 
 	 	 	 c a l l   c o b o l _ i o o p _ u t i l $ l d a _ d u   ( s t o f f ) ; 
 
 
 	 	 	 n t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 	 c a l l   c o b o l _ c a l l _ o p   ( 5 5 ,   n t a g ) ; / *   O P E R A T O R 5 5 ( r e a d _ k e y )   * / 
 
 	 	 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n t a g ) ; 
 
 	 	 	 m p o u t . p t 4   =   a d d r   ( t y p e 1 9 ) ; 
 
 	 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 
 	 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m p o u t ) ) ; 
 
 	 	 	 c a l l   c o b o l _ i o _ u t i l $ m o v e _ d i r e c t   ( " 0 0 1 " b ,   f s b _ k e y l e n _ s w ,   4 ,   1 ,   s u b s t r   ( u n s p e c   ( s i z e ) ,   1 9 ,   1 8 ) ) 
 	 	 	           ; 
 
 	 	 	 n t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 	 	 c a l l   c o b o l _ i o o p _ u t i l $ l d a _ d u   ( s t o f f ) ; 
 
 	 	 	 c a l l   c o b o l _ i o o p _ u t i l $ s e t _ i c o d e ; 
 
 	 	 	 c a l l   c o b o l _ c a l l _ o p   ( 5 7 ,   n t a g ) ; / *   O P E R A T O R 5 7 ( s p e c i a l _ d e l e t e )   * / 
 
 	 	 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n t a g ) ; 
 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 
 	 	 	 n t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 	 	 m p o u t . p t 4   =   a d d r   ( t y p e 1 9 ) ; 
 
 	 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 
 	 	 	 c a l l   c o b o l _ m o v e _ g e n   ( a d d r   ( m p o u t ) ) ; 
 
 	 	 	 c a l l   c o b o l _ i o _ u t i l $ m o v e _ d i r e c t   ( " 0 0 1 " b ,   f s b _ k e y l e n _ s w ,   4 ,   1 ,   s u b s t r   ( u n s p e c   ( s i z e ) ,   1 9 ,   1 8 ) ) 
 	 	 	           ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 	 	 i f   a l t _ s w 	 	 	 / * [ 4 . 4 - 1 ] * / 
 	 	 	 t h e n   d o ; 
 	 	 	 	 c a l l   c o b o l _ i o _ u t i l $ f s b _ k e y _ l o c   ( 6 ) ; 
 	 	 	 	 	 	 / *   e p p 1   p r 1 | 6   * / 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 	 	 c a l l   c o b o l _ i o _ u t i l $ f i l e _ d e s c   ( f i l e _ t a b l e . f i l e _ d e s c _ 1 _ o f f s e t ) ; 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 	 	 c a l l   c o b o l _ c a l l _ o p   ( 8 5 ,   0 ) ; 
 	 	 	 	 	 	 / *   O P E R A T O R 8 5 ( a l t _ s p e c i a l _ d e l e t e )   * / 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 	 	 	 	 	 	 / *   [ 3 . 0 1 ]   * / 
 	 	 	           e n d ; 
 
 	 	 	 c a l l   c o b o l _ i o o p _ u t i l $ s e t _ i c o d e ; 
 
 	 	 	 c a l l   c o b o l _ c a l l _ o p   ( 4 1 ,   n t a g ) ; / *   O P E R A T O R 4 1 ( s e e k _ k e y )   * / 
 
 	 	 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n t a g ) ; 
 
 	 	 	 c a l l   d e l _ o p ; 
 
 	 	           e n d ; 
 
 	           e n d ; 	 	 	 	 	 / *   D E L E T E   T H E   R E C O R D   * / 
 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 4 0 9 5   +   i o e r r o r . c o b o l _ c o d e ) ; 
 
 / * [ 4 . 0 - 1 ] * / 
 	 i f   e n d _ s t m t . f   =   " 0 1 " b 	 	 	 / * [ 4 . 0 - 1 ] * / 
 	 t h e n   p a s s e d _ t a g   =   i o e r r o r . i s _ t a g ; 	 	 / * [ 4 . 0 - 1 ] * / 
 	 e l s e   c a l l   c o b o l _ g e n _ i o e r r o r $ f i n i s h _ u p   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 r e t u r n ; 
 
 d e l _ o p : 
           p r o c ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 i f   a l t _ s w 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 t h e n   d o ; 
 	 	 n t a g   =   c o b o l _ $ n e x t _ t a g ; 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c a l l   c o b o l _ c a l l _ o p   ( 8 7 ,   n t a g ) ; 	 / *   O P E R A T O R 8 7 ( a l t _ r e w _ d e l , n t a g )   * / 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 	 	 	 	 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c a l l   c o b o l _ d e f i n e _ t a g   ( n t a g ) ; 	 	 / *   [ 3 . 0 - 1 ]   * / 
 	 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 	 / *   [ 3 . 0 - 1 ]   * / 
 	           e n d ; 
 
 	 d e l e t e _ t a g   =   c o b o l _ $ n e x t _ t a g ; 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 
 	 c a l l   c o b o l _ s e t _ f s b p t r   ( f t _ p t r ) ; 
 
 	 c a l l   c o b o l _ c a l l _ o p   ( 5 3 ,   d e l e t e _ t a g ) ; 	 	 / *   O P E R A T O R 5 3 ( d e l e t e )   * / 
 
 	 c a l l   c o b o l _ g e n _ i o e r r o r   ( f t _ p t r ,   i o e r r o r _ p t r ) ; 
 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( d e l e t e _ t a g ) ; 
 
 / *   [ 3 . 0 - 1 ]   * / 
 	 i f   a l t _ s w 
 	 t h e n   c a l l   c o b o l _ c a l l _ o p   ( 8 6 ,   0 ) ; 	 	 / *   O P E R T A T O R 8 6 ( a l t _ d e l e t e )   * / 
 
           e n d ; 
 
 % i n c l u d e   c o b o l _ d e l e t e _ g e n _ i n f o ; 
 % i n c l u d e   c o b o l _ d e l e t e _ g e n _ d a t a ; 
           e n d   c o b o l _ d e l e t e _ g e n ; 
        
 
 
  
 	 	         c o b o l _ d i s a b l e _ g e n . p l 1                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               5 0 4 7 2     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d i s a b l e _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 0 2 / 7 7   b y   B o b   C h a n g   t o   f i x   t h e   b u g   f o r   m c s _ i c d p .   * / 
 / *   M o d i f i e d   o n   0 3 / 2 5 / 7 7   b y   B o b   C h a n g   t o   i m p l e m e n t   c o m m u n i c a t i o n   d i s a b l e   v e r b . 	 * / 
 / *   C r e a t e d   a s   a   s t u b   o n   1 1 / 1 8 / 7 6   b y   O R N   * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d i s a b l e _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ) ; 
 
 / *   D e c l a r a t i o n   f o r   s t a t i c   d a t a . 	 * / 
 d c l 	 1   p r _ s t r u c 	 s t a t i c , 
 	     2   w h a t _ p t r 	 f i x e d   b i n   i n i t   ( 2 ) , 
 	     2   p o i n t e r _ n o 	 b i t   ( 3 ) , 
 	     2   l o c k 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   s w i t c h 	 f i x e d   b i n   i n i t   ( 0 ) ; 
 
 d c l 	 1   a l p h a _ t y p e 9 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ) , 
 	     2   r e p l _ p t r 	 ( 2 )   p t r   i n i t   ( ( 2 )   n u l l   ( ) ) , 
 	     2   f i l l 1 	 	 b i t   ( 1 0 8 )   i n i t   ( " " b ) , 
 	     2   f i l e _ k e y _ i n f o , 
 	         3   f b 1 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	         3   s i z e 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   f b 2 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	         3   f l a g s 1 	 b i t   ( 3 6 )   i n i t   ( " 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 " b ) , 
 	         3   f l a g s 2 	 b i t   ( 3 6 )   i n i t   ( " " b ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   o f f 	 	 f i x e d   b i n , 
 	     2   f i l l 2 	 	 ( 7 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ) ; 
 
 d c l 	 i n s t _ s e q 	 	 ( 1 2 )   b i t   ( 1 8 )   u n a l i g n e d   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   s p r i 2 	 p r 6 | o f f s e t 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 " b , 
 	 	 	 	 	 	 / *   l d a 	 0 , d l 	 	 * / 
 	 	 	 " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 1 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   s t a 	 p r 6 | o f f s e t 	 * / 
 	 	 	 " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   s t z 	 p r 6 | o f f s e t 	 * / 
 	 	 	 " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   s z n 	 p r 6 | o f f s e t 	 * / 
 	 	 	 " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ,   " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *   t z e 	 0 , i c 	 	 * / 
 
 
 / * 	 A u t o m a t i c   d a t a 	 * / 
 d c l 	 c o n o f f 	 	 f i x e d   b i n , 	 	 / *   P A R A M E T E R   f o r   N O   D A T A   s t a t e m e n t 	 * / 
 	 s t o f f 	 	 f i x e d   b i n , 
 	 d n _ p t r 	 	 p t r , 
 	 t e m p 	 	 f i x e d   b i n ; 
 
 / *   E x t e r n a l   p r o c e d u r e 	 * / 
 d c l 	 c o b o l _ c a l l _ o p 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ) , 
 	 c o b o l _ p o o l 	 e n t r y   ( c h a r   ( * ) ,   f i x e d   b i n ,   f i x e d   b i n ) , 
 	 c o b o l _ p o i n t e r _ r e g i s t e r $ p r i o r i t y 
 	 	 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   b i t   ( 3 ) ) , 
 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) , 
 	 c o b o l _ d e f i n e _ t a g 	 e n t r y   ( f i x e d   b i n ) , 
 	 c o b o l _ m a k e _ t a g r e f 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) , 
 	 c o b o l _ s e t _ p r 	 e n t r y   ( p t r ,   p t r ) , 
 	 c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p 
 	 	 	 e n t r y   ( f i x e d   b i n ) , 
 	 c o b o l _ g e t _ s i z e 	 e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 
 s t a r t : 	 	 	 	 	 	 / *   G e n e r a t e   e p p 2   i n s t r u c t i o n   f o r   c o m m u n i c a t i o n   t o k e n . 	 * / 
 	 c d t o k e n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 2 ) ; 
 	 a l p h a _ t y p e 9 . s e g   =   c d t o k e n . c d _ s e g ; 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 i f   ^ e n d _ s t m t . b 
 	 t h e n   a l p h a _ t y p e 9 . o f f   =   c d t o k e n . c d _ o f f   -   6 0 ; 
 	 e l s e   a l p h a _ t y p e 9 . o f f   =   c d t o k e n . c d _ o f f   -   2 0 ; 
 	 c a l l   c o b o l _ s e t _ p r   ( a d d r   ( p r _ s t r u c ) ,   a d d r   ( a l p h a _ t y p e 9 ) ) ; 
 
 / *   A l l o c a t e   1 2   w o r d s   i n   s t a c k   f r a m e   f o r   p a r a m e t e r s 	 * / 
 	 s t o f f   =   7 4 ; 	 	 	 	 / *   C o m m u n i c a t i o n   s t a c k   f r a m e     f r o m   p r 6 | 7 4 	 * / 
 
 / *   S t o r e   c d _ t o k e n   a d d r e s s . 	 * / 
 	 s u b s t r   ( i n s t _ s e q   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t o f f ) ,   2 2 ,   1 5 ) ; 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 1 ) ) ,   n u l l ,   1 ) ; 
 
 / *   S e t   u p   p a r a m e t e r   f o r   m e s s a g e   t y p e . 	 * / 
 	 e o s _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( i n _ t o k e n . n ) ; 
 	 i f   e n d _ s t m t . b   |   e n d _ s t m t . c 
 	 t h e n   d o ; 
 	 	 i n s t _ s e q   ( 3 )   =   " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 " b ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 3 ) ) ,   n u l l ,   1 ) ; 
 	           e n d ; 
 	 t e m p   =   s t o f f   +   5 ; 
 	 i f   e n d _ s t m t . b 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( i n s t _ s e q   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 5 ) ) ,   n u l l ,   1 ) ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 s u b s t r   ( i n s t _ s e q   ( 7 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 7 ) ) ,   n u l l ,   1 ) ; 
 	           e n d ; 
 	 t e m p   =   s t o f f   +   6 ; 
 	 i f   e n d _ s t m t . c 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( i n s t _ s e q   ( 5 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 5 ) ) ,   n u l l ,   1 ) ; 
 	           e n d ; 
 	 e l s e   d o ; 
 	 	 s u b s t r   ( i n s t _ s e q   ( 7 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 7 ) ) ,   n u l l ,   1 ) ; 
 	           e n d ; 
 
 / *   G e n e r a t e   e p p 2   i n s t r u c t i o n   f o r   r e c e i v i n g   d a t a   i t e m . 	 * / 
 	 d n _ p t r   =   i n _ t o k e n . t o k e n _ p t r   ( 3 ) ; 
 	 i f   d a t a _ n a m e . t y p e   =   3 
 	 t h e n   d o ; 
 	 	 a l i t _ p t r   =   d n _ p t r ; 
 	 	 a l p h a _ t y p e 9 . s e g   =   3 0 0 0 ; 
 	 	 a l p h a _ t y p e 9 . s i z e   =   a l p h a n u m _ l i t . l i t _ s i z e ; 
 	 	 c a l l   c o b o l _ p o o l   ( a l p h a n u m _ l i t . s t r i n g ,   1 ,   c o n o f f ) ; 
 	 	 a l p h a _ t y p e 9 . o f f   =   c o n o f f   *   4 ; 
 	 	 d n _ p t r   =   a d d r   ( a l p h a _ t y p e 9 ) ; 
 	           e n d ; 
 	 c a l l   c o b o l _ s e t _ p r   ( a d d r   ( p r _ s t r u c ) ,   d n _ p t r ) ; 
 
 / *   S t o r e   i n t o   s t a c k   f r a m e . 	 * / 
 	 t e m p   =   s t o f f   +   2 ; 
 	 s u b s t r   ( i n s t _ s e q   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( t e m p ) ,   2 2 ,   1 5 ) ; 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( i n s t _ s e q   ( 1 ) ) ,   n u l l ,   1 ) ; 
 
 / *   S e t   u p   t h e   s i z e   o f   t h e   d a t a   t o k e n . 	 * / 
 	 t e m p   =   s t o f f   +   4 ; 
 	 c a l l   c o b o l _ g e t _ s i z e   ( d n _ p t r ,   t e m p ,   0 ) ; 
 
 / *   C a l l   c o b o l _ o p e r a t o r s _ 	 * / 
 	 c a l l   c o b o l _ c a l l _ o p   ( 7 5 ,   0 ) ; 
 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 7 5 ) ; 
 
 e x i t : 
 	 r e t u r n ; 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 
 % i n c l u d e   c o b o l _ i n _ t o k e n ; 
 % i n c l u d e   c o b o l _ ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 1 3 ; 
 % i n c l u d e   c o b o l _ t y p e 3 ; 
           e n d   c o b o l _ d i s a b l e _ g e n ; 
  
 
 
  
 	 	         c o b o l _ d i s p l a y _ g e n . p l 1                       0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               6 4 1 9 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d i s p l a y _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   5 / 1 8 / 7 6   b y   G e o r g e   M e r c u r i   f o r   c h a n g e s   t o   e r r o r   i n t e r f a c e .   * / 
 / *   M o d i f i e d   o n   5 / 1 0 / 7 6   b y   G e o r g e   M e r c u r i   f o r   c h a n g e s   t o   e r r o r   h a n d l i n g .   * / 
 / *   M o d i f i e d   o n   5 / 5 / 7 6   b y   G e o r g e   M e r c u r i   f o r   e r r o r   h a n d l i n g   t e c h n i q u e s .   * / 
 / *   M o d i f i e d   o n   4 / 2 8 / 7 6   b y   G .   M e r c u r i   c h a n g e   c o d e   f o r   n e w   c o b o l _ o p e r a t o r s _ .   * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d i s p l a y _ g e n : 
           p r o c   ( m p _ p t r ) ; 
 
 d c l 	 s t o f f 	 	 f i x e d   b i n   i n i t   ( 0 ) ; 
 d c l 	 m p _ p t r 	 	 p t r ; 
 d c l 	 1   m p 	 	 b a s e d   ( m p _ p t r ) , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   p t 	 	 ( 0   r e f e r   ( m p . n ) )   p t r ; 
 
 d c l 	 1   a r g s 	 	 s t a t i c , 
 	     2   e n t r y n o 	 f i x e d   b i n   i n i t   ( 6 ) , 	 	 / *   p u t _ c h a r s   * / 
 	     2   a r g l i s t _ o f f 	 f i x e d   b i n , 
 	     2   s t a c k t e m p _ o f f 	 f i x e d   b i n   i n i t   ( 4 4 ) , 
 	     2   n 	 	 f i x e d   b i n   i n i t   ( 4 ) , 
 	     2   a r g 1 , 
 	         3   p t 	 	 p t r   i n i t   ( n u l l   ( ) ) , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   t y p e 	 f i x e d   b i n   i n i t   ( 4 ) , 	 	 / *   e n t r y   v a r i a b l e   * / 
 	         3   s e g 	 	 f i x e d   b i n , 	 	 / *   s e t   t o   l p | o f f   o f   l i n k   t o   i o x _ $ u s e r _ o u t p u t   o r   $ e r r o r _ o u t p u t * / 
 	         3   o f f 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   v a l u e 	 b i t   ( 1 8 )   u n a l i g n e d , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   i n d i r e c t 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   o v e r l a y 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   r e p e a t _ n o g e n 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	     2   a r g 2 , 
 	         3   p t 	 	 p t r , 	 	 	 / *   s e t   t o   p t   t o   t y p e   9   t o k e n   o r   v a r y i n g   l i t e r a l   s t r i n g   * / 
 	         3   t y p e 	 f i x e d   b i n   i n i t   ( 5 ) , 	 	 / *   v a r i a b l e   * / 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   o f f 	 	 f i x e d   b i n   i n i t   ( 4 2 ) , 	 / *   a l l o c a t e   p o i n t e r   t o   d a t a   a t   s p | 4 2   * / 
 	         3   v a l u e 	 b i t   ( 1 8 )   u n a l i g n e d , 	 	 / *   s e t   t o   i m m e d   v a l u e   w h e n   t y p e   =   2   * / 
 	         3   i n d i r e c t 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 1 " b ) , / *   p a s s   a   p t r   t o   t h e   d a t a   r a t h e r   t h a n   t h e   d a t a   * / 
 	         3   o v e r l a y 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   r e p e a t _ n o g e n 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	     2   a r g 3 , 
 	         3   p t 	 	 p t r   i n i t   ( n u l l   ( ) ) , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   t y p e 	 f i x e d   b i n   i n i t   ( 3 ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 8 0 ) , 	 / *   a l l o c a t e   l e n g t h   a t   s p | 8 0   * / 
 	         3   o f f 	 	 f i x e d   b i n , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   v a l u e 	 b i t   ( 1 8 )   u n a l i g n e d , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   i n d i r e c t 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   o v e r l a y 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   r e p e a t _ n o g e n 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	     2   a r g 4 , 
 	         3   p t 	 	 p t r   i n i t   ( n u l l   ( ) ) , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   t y p e 	 f i x e d   b i n   i n i t   ( 3 ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 4 0 ) , 	 / *   a l l o c a t e   m u l t i c s   c o d e   a t   s p | 4 0   * / 
 	         3   o f f 	 	 f i x e d   b i n , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   v a l u e 	 b i t   ( 1 8 )   u n a l i g n e d , 	 	 / *   n o t   m e a n i n g f u l   * / 
 	         3   i n d i r e c t 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   o v e r l a y 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) , 
 	         3   r e p e a t _ n o g e n 	 b i t   ( 1 )   u n a l i g n e d   i n i t   ( " 0 " b ) ; 
 
 d c l 	 1   s 	 	 a u t o , 
 	     2   n 	 	 f i x e d   b i n , 
 	     2   t a g 	 	 f i x e d   b i n , 
 	     2   r t p 	 	 p t r , 
 	     2   p t p 	 	 p t r , 
 	     2   s t r 	 	 ( 2 : 2 5 7 ) , 
 	         3   s t p 	 	 p t r , 
 	         3   d t p 	 	 p t r ; 
 
 d c l 	 1   n l _ t o k e n 	 s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   i n i t   ( 2 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   i n i t   ( 3 ) , 
 	     2   l i t _ t y p e 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   a l l _ l i t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 6 )   i n i t   ( " " b ) , 
 	     2   l i t _ s i z e 	 f i x e d   b i n   i n i t   ( 1 ) , 
 	     2   s t r i n g 	 c h a r   ( 1 )   i n i t   ( " 
 " ) ; 
 
 d c l 	 1   r t y p e 9 	 	 s t a t i c , 
 	     2   h e a d e r 	 ( 4 )   f i x e d   b i n   i n i t   ( 1 1 2 ,   0 ,   0 ,   9 ) , 
 	     2   r e p l _ p t r 	 ( 2 )   p t r   i n i t   ( ( 2 )   n u l l   ( ) ) , 
 	     2   f i l l 1 	 	 b i t   ( 1 0 8 )   i n i t   ( " " b ) , 
 	     2   f i l e _ k e y _ i n f o , 
 	         3   f b 1 	 	 ( 3 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ) , 
 	         3   s i z e 	 f i x e d   b i n   i n i t   ( 0 ) , 
 	         3   f b 2 	 	 ( 2 )   f i x e d   b i n   i n i t   ( 0 ,   0 ) , 
 	         3   f l a g s 1 	 b i t   ( 3 6 )   i n i t   ( " 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 " b ) , 
 	         3   f l a g s 2 	 b i t   ( 3 6 )   i n i t   ( " " b ) , 
 	         3   s e g 	 	 f i x e d   b i n   i n i t   ( 1 0 0 0 ) , 
 	         3   o f f 	 	 f i x e d   b i n , 
 	     2   f i l l 2 	 	 ( 7 )   f i x e d   b i n   i n i t   ( 0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ) ; 
 
 
 d c l 	 s t r e a m 	 	 c h a r   ( 2 0 ) ; 
 
 d c l 	 i 	 	 f i x e d   b i n ; 
 d c l 	 t f l e n 	 	 f i x e d   b i n ; 
 d c l 	 t v l e n 	 	 f i x e d   b i n ; 
 d c l 	 e r r o r n o 	 	 f i x e d   b i n ; 
 d c l 	 l i n e n o 	 	 f i x e d   b i n ; 
 d c l 	 t a g n o 	 	 f i x e d   b i n ; 
 d c l 	 t a g n o 1 	 	 f i x e d   b i n ; 
 
 d c l 	 a r g p t r 	 	 p t r   s t a t i c ; 
 d c l 	 d n _ p t r 	 	 p t r ; 
 
 d c l 	 c o b o l _ c a l l _ o p 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p 
 	 	 	 e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ i o o p _ u t i l 	 e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ s t r i n g 	 e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ i o _ u t i l $ m o v e _ d i r e c t 
 	 	 	 e n t r y   ( b i t   ( 3 )   a l i g n e d ,   f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ,   b i t   ( 1 8 )   a l i g n e d ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 
 	 t a g n o   =   c o b o l _ $ n e x t _ t a g ; 
 	 c o b o l _ $ n e x t _ t a g   =   c o b o l _ $ n e x t _ t a g   +   1 ; 
 	 c a l l   c o b o l _ d e f i n e _ t a g   ( t a g n o ) ; 
 	 r t y p e 9 . s i z e   =   0 ; 	 	 	 	 / *   s i g n a l   o f   n o   l i m i t   t o   c o b o l _ s t r i n g   * / 
 	 i f   m p . p t   ( m p . n )   - >   e n d _ s t m t . a   =   " 0 0 0 " b 
 	 t h e n   d o ; 	 	 	 	 	 / *   i o x _ $ e r r o r _ o u t p u t   * / 
 	 	 e r r o r n o   =   4 ; 
 	           e n d ; 
 	 e l s e   d o ; 	 	 	 	 	 / *   i o x _ $ u s e r _ o u t p u t   * / 
 	 	 e r r o r n o   =   3 ; 
 	           e n d ; 
 	 l i n e n o   =   m p . p t   ( 1 )   - >   r e s e r v e d _ w o r d . l i n e ; 
 
 	 s . n   =   m p . n   -   1 ; 
 	 s . t a g   =   0 ; 
 	 s . r t p   =   a d d r   ( r t y p e 9 ) ; 
 	 s . p t p   =   n u l l   ( ) ; 
 
 	 t f l e n ,   t v l e n   =   0 ; 
 	 d o   i   =   2   t o   m p . n   -   1 ; 
 	           d n _ p t r   =   m p . p t   ( i ) ; 
 	           i f   d a t a _ n a m e . t y p e   =   9 
 	           t h e n   d o ; 
 	 	           i f   d a t a _ n a m e . v a r i a b l e _ l e n g t h 
 	 	           t h e n   t v l e n   =   t v l e n   +   d a t a _ n a m e . i t e m _ l e n g t h ; 
 	 	           e l s e   t f l e n   =   t f l e n   +   d a t a _ n a m e . i t e m _ l e n g t h ; 
 	 	 e n d ; 
 	           e l s e   i f   d a t a _ n a m e . t y p e   =   2 
 	           t h e n   t f l e n   =   t f l e n   +   d n _ p t r   - >   n u m e r i c _ l i t . p l a c e s ; 
 	           e l s e   i f   d a t a _ n a m e . t y p e   =   3 
 	           t h e n   t f l e n   =   t f l e n   +   d n _ p t r   - >   a l p h a n u m _ l i t . l i t _ s i z e ; 
 	           e l s e   t f l e n   =   t f l e n   +   1 ; 	 	 	 / *   f i g u r a t i v e   c o n s t a n t   ( t y p e   1 )   * / 
 	           s . s t p   ( i )   =   d n _ p t r ; 
 	           s . d t p   ( i )   =   n u l l   ( ) ; 
 	 e n d ; 
 	 s . s t p   ( m p . n )   =   a d d r   ( n l _ t o k e n ) ; 
 	 s . d t p   ( m p . n )   =   n u l l   ( ) ; 
 	 t f l e n   =   t f l e n   +   1 ; 
 	 c a l l   c o b o l _ i o _ u t i l $ m o v e _ d i r e c t   ( " 1 1 0 " b ,   3 2 0 ,   4 ,   1 ,   s u b s t r   ( u n s p e c   ( t f l e n ) ,   1 9 ,   1 8 ) ) ; 
 
 	 c a l l   c o b o l _ a l l o c $ s t a c k   ( t f l e n   +   t v l e n ,   2 ,   s t o f f ) ;   / *   f o r   a r g   l i s t   +   c o m b i n e d   m a x   i t e m   l e n g t h   * / 
 	 r t y p e 9 . o f f   =   s t o f f   *   4 ; 	 	 	 / *   n e x t   a v a i l a b l e   l o c a t i o n   ( w i l l   b e   r e s e r v e d   l a t e r )   * / 
 	 c a l l   c o b o l _ s t r i n g   ( a d d r   ( s ) ) ; 
 
 	 a r g 2 . p t   =   a d d r   ( r t y p e 9 ) ; 
 	 c a l l   c o b o l _ i o o p _ u t i l   ( s t o f f ) ; 
 	 i f   e r r o r n o   =   3 
 	 t h e n   c a l l   c o b o l _ c a l l _ o p   ( 2 6 ,   t a g n o ) ; 	 	 / * 5 / 1 8 / 7 6 * / 
 	 e l s e   c a l l   c o b o l _ c a l l _ o p   ( 2 8 ,   t a g n o ) ; 	 	 / * 5 / 1 8 / 7 6 * / 
 	 c a l l   c o b o l _ r e g _ m a n a g e r $ a f t e r _ o p   ( 4 0 9 5   +   e r r o r n o ) ; 
 
 	 r e t u r n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 / * * * * * 	 D e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * * 	 E n d   o f   d e c l a r a t i o n   f o r   b u i l t i n   f u n c t i o n 	 * * * * * / 
 
 % i n c l u d e   c o b o l _ t y p e 1 ; 
 % i n c l u d e   c o b o l _ t y p e 2 ; 
 % i n c l u d e   c o b o l _ t y p e 3 ; 
 % i n c l u d e   c o b o l _ t y p e 9 ; 
 % i n c l u d e   c o b o l _ t y p e 1 9 ; 
 % i n c l u d e   c o b o l _ ; 
 
           e n d   c o b o l _ d i s p l a y _ g e n ; 
        
 
 
  
 	 	         c o b o l _ d i s p l a y _ t e x t . p l 1                     0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 1             1 5 9 2 3 7     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d i s p l a y _ t e x t . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 8 / 1 8 / 8 3   b y   F C H ,   [ 5 . 2 - 1 ] ,   e n t r y   t r a c e   a d d e d   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   5 . 0   * / 
 
 
 
 / *   P r o g r a m   t o   d i s p l a y   o u t p u t   t e x t   p r o d u c e d   b y   p l / 1   a n d   F o r t r a n .     A   r e d u c e d   v e r s i o n   o f 
       d i s p l a y _ t e x t .     N u m b e r s   i n   t h e   d i s a s s e m b l e d   i n s t r u c t i o n   a r e   d e c i m a l .     T h e   o f f s e t   a n d 
       t h e   i n s t r u c t i o n   a s   i t   a p e a r s   i n   c o r e   a r e   i n   o c t a l . 
 
     T h e   n u m b e r s   a r e   r e a l l y   i n   o c t a l ,   d e s p i t e   c o m m e n t .     M o d i f i e d   b y   J R D a v i s   1 9   M a r   8 0 
     t o   n o t   c a l l   b i n o c t   ( w h i c h   w a s   t r a n s f e r   v e c t o r   t o   p l 1   c o m p i l e r   l a n g _ u t i l _   M C R   4 4 2 2 
 * / 
 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d i s p l a y _ t e x t : 
           p r o c   ( t _ p t ,   a r g _ n u m b e r ,   o u t p u t _ s w i t c h ) ; 
 
 d c l 	 t _ p t 	 	 p t r , 	 	 	 / *   p o i n t s   a t   t e x t   b a s e   * / 
 	 a r g _ n u m b e r 	 f i x e d   b i n , 	 	 / *   m a x .   n o .   o f   w o r d s   t o   p r i n t   * / 
 	 o u t p u t _ s w i t c h 	 c h a r   ( * )   a l i g n e d , 	 	 / *   s w i t c h   n a m e   f o r   p r i n t i n g   d i s a s s e m b l e d   l i n e   * / 
 	 a r g _ o f f s e t 	 f i x e d   b i n   ( 1 8 ) ; 	 	 / *   r e a l   o f f s e t   t o   b e   p r i n t e d   i n s t e a d   o f   t _ p t   * / 
 
 
 d c l 	 n u m b e r 	 	 f i x e d   b i n ; 	 	 / *   n o .   o f   w o r d s   t o   p r i n t   * / 
 d c l 	 d e s c _ t y p e 	 	 f i x e d   b i n ; 	 	 / *   d e s c r i p t o r   t y p e :   0   =   a l p h a ,   1   =   b i t ,   2   =   n u m e r i c   * / 
 d c l 	 c o m m e n t 	 	 c h a r   ( 5 0 )   v a r ; 
 d c l 	 o p _ n a m e 	 	 c h a r   ( 3 2 )   a l i g n e d ; 
 d c l 	 ( p ,   p t ) 	 	 p t r , 
 	 ( n o _ t o _ p r i n t ,   j ,   k ,   m ,   o p _ i n d e x ,   i r a n d ,   n r a n d s ,   n d e s c ) 
 	 	 	 f i x e d   b i n , 
 	 ( f r a c t _ o f f s e t ,   o f f s e t ,   s c a l e ) 
 	 	 	 f i x e d   b i n   ( 1 8 ) , 
 	 ( d o u b l e ,   e i s ,   e i s _ d e s c ,   n e e d _ c o m m a ,   e x t _ b a s e ,   h a s _ i c ,   d e c i m a l ) 
 	 	 	 b i t   ( 1 ) , 
 	 h t 	 	 c h a r   ( 1 )   i n t   s t a t i c   a l i g n e d   i n i t   ( " 	 " ) , 
 	 	 	 	 	 	 / *   t a b   * / 
 	 h t h t 	 	 c h a r   ( 2 )   i n t   s t a t i c   a l i g n e d   i n i t   ( " 	 	 " ) , 
 	 	 	 	 	 	 / *   t w o   t a b s   * / 
 	 c s t r i n g 	 	 c h a r   ( 1 2 ) , 
 	 o p _ c o d e 	 	 c h a r   ( 5 ) , 
 	 t a g 	 	 c h a r   ( 3 ) , 
 	 l i n e 	 	 c h a r   ( 2 5 6 ) , 
 	 b u f f 	 	 c h a r   ( 1 2 )   v a r y i n g , 
 	 p l 1 _ o p e r a t o r s _ $ o p e r a t o r _ t a b l e 
 	 	 	 f i x e d   b i n   e x t ; 
 
 d c l 	 r e p e a t _ i n s t 	 b i t   ( 1 ) ; 	 	 	 / *   O N   f o r   r p d ,   r p t ,   r p l   * / 
 d c l 	 p r i n t _ i n s t r 	 b i t   ( 1 ) ; 	 	 	 / *   1 =   p r i n t   i n s t r ; 	     0 =   r e t u r n   f o r m a t t e d   s t r i n g   * / 
 d c l 	 r e a l _ o f f s e t _ e n t r y 	 b i t   ( 1 )   u n a l ; 	 	 / *   O N   i f   i n s t r u c t i o n   p t r   i s   d i f f e r e n t   f r o m   t e x t   l o c a t i o n   * / 
 d c l 	 r e a l _ o f f s e t 	 f i x e d   b i n   ( 1 8 ) ; 	 	 / *   u s e d   w i t h   $ f o r m a t ,   $ o f f s e t   e n t r i e s   * / 
 d c l 	 i o a _ $ i o a _ s t r e a m 	 e x t   e n t r y   o p t i o n s   ( v a r i a b l e ) ; 
 d c l 	 i o a _ $ r s n n l 	 e x t   e n t r y   o p t i o n s   ( v a r i a b l e ) ; 
 d c l 	 i o a _ 	 	 e n t r y   o p t i o n s   ( v a r i a b l e ) ; 
 d c l 	 f i n d _ o p e r a t o r _ n a m e _   e n t r y   ( c h a r   ( * )   a l i g n e d ,   p t r ,   c h a r   ( 3 2 )   a l i g n e d ) ; 
 
 d c l 	 ( a d d r ,   a d d r e l ,   f i x e d ,   l e n g t h ,   r e l ,   s t r i n g ,   s u b s t r ) 
 	 	 	 b u i l t i n ; 
 
 
 d c l 	 1   o p _ m n e m o n i c _ $ o p _ m n e m o n i c 
 	 	 	 ( 0 : 1 0 2 3 )   e x t   s t a t i c   a l i g n e d , 
 	     2   o p c o d e 	 c h a r   ( 6 )   u n a l , 
 	     2   d t y p e 	 	 f i x e d   b i n   ( 2 )   u n a l , 	 	 / *   0   =   a l p h a ,   1   =   b i t ,   2   =   n u m e r i c   * / 
 	     2   n u m _ d e s c 	 f i x e d   b i n   ( 5 )   u n a l , 
 	     2   n u m _ w o r d s 	 f i x e d   b i n   ( 8 )   u n a l ; 
 
 
 d c l 	 d i g i t 	 	 ( 0 : 9 )   c h a r   ( 1 )   a l i g n e d   i n t   s t a t i c   i n i t   ( " 0 " ,   " 1 " ,   " 2 " ,   " 3 " ,   " 4 " ,   " 5 " ,   " 6 " ,   " 7 " ,   " 8 " ,   " 9 " ) ; 
 	 	 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 d c l 	 i n s t r 	 	 c h a r   ( 1 2 8 )   v a r y i n g ; 
 
 d c l 	 b a s e 	 	 ( 0 : 7 )   c h a r   ( 4 )   a l i g n e d   i n t   s t a t i c 
 	 	 	 i n i t   ( " p r 0 | " ,   " p r 1 | " ,   " p r 2 | " ,   " p r 3 | " ,   " p r 4 | " ,   " p r 5 | " ,   " p r 6 | " ,   " p r 7 | " ) ; 
 
 d c l 	 m o d i f i e r 	 	 ( 0 : 6 3 )   c h a r   ( 3 )   a l i g n e d   i n t   s t a t i c 
 	 	 	 i n i t   ( "   " ,   " a u " ,   " q u " ,   " d u " ,   " i c " ,   " a l " ,   " q l " ,   " d l " ,   " 0 " ,   " 1 " ,   " 2 " ,   " 3 " ,   " 4 " ,   " 5 " ,   " 6 " ,   " 7 " , 
 	 	 	 " * " ,   " a u * " ,   " q u * " ,   " . . . " ,   " i c * " ,   " a l * " ,   " q l * " ,   " . . . " ,   " 0 * " ,   " 1 * " ,   " 2 * " ,   " 3 * " ,   " 4 * " ,   " 5 * " , 
 	 	 	 " 6 * " ,   " 7 * " ,   " f " ,   " i t p " ,   " . . . " ,   " i t s " ,   " s d " ,   " s c r " ,   " f 2 " ,   " f 3 " ,   " c i " ,   " i " ,   " s c " ,   " a d " ,   " d i " , 
 	 	 	 " d i c " ,   " i d " ,   " i d c " ,   " * n " ,   " * a u " ,   " * q u " ,   " * d u " ,   " * i c " ,   " * a l " ,   " * q l " ,   " * d l " ,   " * 0 " ,   " * 1 " ,   " * 2 " , 
 	 	 	 " * 3 " ,   " * 4 " ,   " * 5 " ,   " * 6 " ,   " * 7 " ) ; 
 
 d c l 	 w o r d 	 	 ( 0 : 1 )   b i t   ( 3 6 )   a l i g n e d   b a s e d   ( p ) ; 
 
 d c l 	 1   i n s t r u c t i o n 	 b a s e d   ( p )   a l i g n e d , 
 	     2   b a s e 	 	 u n a l i g n e d   b i t   ( 3 ) , 
 	     2   o f f s e t 	 u n a l i g n e d   b i t   ( 1 5 ) , 
 	     2   o p _ c o d e 	 u n a l i g n e d   b i t   ( 1 0 ) , 
 	     2   i n h i b i t 	 u n a l i g n e d   b i t   ( 1 ) , 
 	     2   e x t _ b a s e 	 u n a l i g n e d   b i t   ( 1 ) , 
 	     2   t a g 	 	 u n a l i g n e d   b i t   ( 6 ) ; 
 
 d c l 	 1   h a l f 	 	 b a s e d   ( p )   a l i g n e d , 
 	     2   l e f t 	 	 u n a l i g n e d   b i t   ( 1 8 ) , 
 	     2   r i g h t 	 	 u n a l i g n e d   b i t   ( 1 8 ) ; 
 
 d c l 	 1   m o d _ f a c t o r 	 a l i g n e d , 
 	     2   e x t _ b a s e 	 b i t   ( 1 )   u n a l , 
 	     2   l e n g t h _ i n _ r e g 	 b i t   ( 1 )   u n a l , 
 	     2   i n d i r e c t _ d e s c r i p t o r 
 	 	 	 b i t   ( 1 )   u n a l , 
 	     2   t a g 	 	 b i t   ( 4 )   u n a l ; 
 
 d c l 	 m f 	 	 ( 3 )   f i x e d   b i n   ( 6 )   i n t   s t a t i c   i n i t   ( 3 0 ,   1 2 ,   3 ) ; 
 	 	 	 	 	 	 / *   l o c a t i o n   o f   m o d i f i c a t i o n   f a c t o r   f i e l d s   i n   E I S   i n s t   * / 
 
 d c l 	 1   p a c k e d _ p t r _ s t 	 b a s e d   a l i g n e d , 
 	     2   p a c k e d _ p t r 	 p t r   u n a l ; 
 
 d c l 	 ( e b a s e ,   l e n _ r e g ,   i c ) 
 	 	 	 ( 3 )   b i t   ( 1 )   a l i g n e d ; 
 d c l 	 d e s c _ w o r d 	 	 c h a r   ( 8 )   v a r y i n g ; 
 
 d c l 	 d e s c _ o p 	 	 ( 0 : 3 )   c h a r   ( 8 )   v a r y i n g   i n t   s t a t i c   i n i t   ( " d e s c 9 a " ,   " d e s c b " ,   " d e s c 9 f l " ,   " d e s c 9 l s " ) ; 
 
 d c l 	 e i s _ m o d i f i e r 	 ( 0 : 1 5 )   c h a r   ( 3 )   a l i g n e d   i n t   s t a t i c 
 	 	 	 i n i t   ( " n " ,   " a u " ,   " q u " ,   " d u " ,   " i c " ,   " a l " ,   " q l " ,   " . . . " ,   " x 0 " ,   " x 1 " ,   " x 2 " ,   " x 3 " ,   " x 4 " ,   " x 5 " , 
 	 	 	 " x 6 " ,   " x 7 " ) ; 
 
 d c l 	 b o o l _ w o r d 	 	 ( 0 : 1 5 )   c h a r   ( 6 )   a l i g n e d   i n t   s t a t i c   v a r y i n g 
 	 	 	 i n i t   ( " c l e a r " ,   " a n d " ,   " a n d n o t " ,   " m o v e " ,   " " ,   " " ,   " x o r " ,   " o r " ,   " " ,   " " ,   " " ,   " " ,   " i n v e r t " ,   " " , 
 	 	 	 " n a n d " ,   " s e t " ) ; 
 
 d c l 	 1   d e s c r i p t o r 	 b a s e d   a l i g n e d , 	 	 / *   E I S   d e s c r i p t o r   * / 
 	     2   a d d r e s s 	 b i t   ( 1 8 )   u n a l , 
 	     2   c h a r 	 	 b i t   ( 2 )   u n a l , 
 	     2   b i t 	 	 b i t   ( 4 )   u n a l , 
 	     2   l e n g t h 	 b i t   ( 1 2 )   u n a l ; 
 
 / *      * / 
 
 	 n u m b e r   =   a r g _ n u m b e r ; 
 	 p r i n t _ i n s t r   =   " 1 " b ; 
 	 r e a l _ o f f s e t _ e n t r y   =   " 0 " b ; 
 	 p   =   t _ p t ; 
 
 b e g i n : 
 	 s u b s t r   ( l i n e ,   1 1 ,   3 )   =   "       " ; 
 	 e i s   =   " 0 " b ; 
 	 i r a n d   =   0 ; 
 
 	 d o   n o _ t o _ p r i n t   =   1   t o   n u m b e r ; 
 
 	           c o m m e n t   =   " " ; 
 	           t a g   =   "       " ; 
 	           s u b s t r   ( l i n e ,   7 ,   2 )   =   "     " ; 
 	           c s t r i n g   =   b i n o c t   ( p   - >   w o r d   ( 0 ) ) ; 
 
 	           i f   e i s 
 	           t h e n   o p _ i n d e x   =   0 ; 
 
 	           e l s e   d o ; 
 	 	           o p _ i n d e x   =   f i x e d   ( p   - >   i n s t r u c t i o n . o p _ c o d e ,   1 0 ) ; 
 	 	           o p _ c o d e   =   o p c o d e   ( o p _ i n d e x ) ; 
 	 	 e n d ; 
 
 	           i f   n u m _ w o r d s   ( o p _ i n d e x )   >   1 
 	           t h e n   c a l l   e i s _ i n s t r u c t i o n ; 
 
 	           e l s e   d o ; 
 	 	           h a s _ i c ,   d o u b l e ,   r e p e a t _ i n s t   =   " 0 " b ; 
 
 	 	           e i s _ d e s c   =   e i s   &   d e s c _ w o r d   ^ =   " a r g " ; 
 	 	           i f   e i s _ d e s c 
 	 	           t h e n   c a l l   e i s _ d e s c r i p t o r ; 
 
 	 	           e l s e   d o ; 
 	 	 	           s u b s t r   ( l i n e ,   1 3 ,   2 )   =   "     " ; 
 	 	 	           s u b s t r   ( l i n e ,   1 5 ,   6 )   =   s u b s t r   ( c s t r i n g ,   2 ,   5 ) ; 
 	 	 	           s u b s t r   ( l i n e ,   2 1 ,   5 )   =   s u b s t r   ( c s t r i n g ,   7 ,   4 ) ; 
 	 	 	           s u b s t r   ( l i n e ,   2 6 ,   8 )   =   s u b s t r   ( c s t r i n g ,   1 1 ,   2 )   | |   h t   | |   o p _ c o d e ; 
 	 	 	           k   =   3 4 ; 
 
 	 	 	           e x t _ b a s e   =   p   - >   i n s t r u c t i o n . e x t _ b a s e ; 
 
 	 	 	           i f   o p _ c o d e   =   " r p d     "   |   o p _ c o d e   =   " r p t     "   |   o p _ c o d e   =   " r p l     " 
 	 	 	           t h e n   d o ; 
 	 	 	 	           r e p e a t _ i n s t   =   " 1 " b ; 
 	 	 	 	           c a l l   i o a _ $ r s n n l   ( " ^ d " ,   t a g ,   j ,   f i x e d   ( p   - >   i n s t r u c t i o n . t a g ,   6 ) ) ; 
 	 	 	 	           o f f s e t   =   f i x e d   ( s u b s t r   ( p   - >   h a l f . l e f t ,   1 ,   8 ) ,   8 ) ; 
 	 	 	 	           s u b s t r   ( l i n e ,   1 4 ,   1 )   =   c s t r i n g ; 
 	 	 	 	           c a l l   i o a _ $ r s n n l   ( " 	 ^ d " ,   b u f f ,   j ,   o f f s e t ) ; 
 	 	 	 	           s u b s t r   ( l i n e ,   k ,   j )   =   b u f f ; 
 	 	 	 	           k   =   k   +   j ; 
 	 	 	 	 e n d ; 
 
 	 	 	           e l s e   d o ; 
 	 	 	 	           i f   n u m _ d e s c   ( o p _ i n d e x )   ^ =   0 
 	 	 	 	           t h e n   t a g   =   s u b s t r   ( b i n o c t   ( ( p   - >   i n s t r u c t i o n . t a g ) ) ,   1 ,   2 ) ; 
 
 	 	 	 	           e l s e   d o ; 
 	 	 	 	 	           i f   p   - >   i n s t r u c t i o n . t a g 
 	 	 	 	 	           t h e n   t a g   =   m o d i f i e r   ( f i x e d   ( p   - >   i n s t r u c t i o n . t a g ,   6 ) ) ; 
 	 	 	 	 	           d o u b l e   = 
 	 	 	 	 	 	 s u b s t r   ( o p _ c o d e ,   1 ,   2 )   =   " d f " 
 	 	 	 	 	 	 |   s u b s t r   ( o p _ c o d e ,   3 ,   2 )   =   " a q " 
 	 	 	 	 	 	 |   s u b s t r   ( o p _ c o d e ,   4 ,   2 )   =   " a q " ; 
 	 	 	 	 	           h a s _ i c   =   p   - >   i n s t r u c t i o n . t a g   =   " 0 0 0 1 0 0 " b ; 
 	 	 	 	 	 	 / *   I C   * / 
 	 	 	 	 	 e n d ; 
 	 	 	 	           c a l l   a d d r e s s ; 
 	 	 	 	 e n d ; 
 
 	 	 	           c a l l   s e t _ t a g ; 
 	 	 	 e n d ; 
 
 / *   P r i n t   d a t a   r e f e r r e d   t o   b y   s e l f   r e l a t i v e   a d d r e s s :   ( t a b )   ( t a b )   d a t a   o f f s e t   =   c o n t e n t s   * / 
 
 / * [ 5 . 2 - 1 ] * / 
 	 	           i f   p r i n t _ i n s t r   &   h a s _ i c 
 	 	           t h e n   d o ; 
 	 	 	           i f   r e a l _ o f f s e t _ e n t r y 
 	 	 	           t h e n   p t   =   p t r   ( p ,   r e a l _ o f f s e t   +   o f f s e t   -   i r a n d ) ; 
 	 	 	           e l s e   p t   =   a d d r e l   ( p ,   o f f s e t   -   i r a n d ) ; 
 	 	 	           s u b s t r   ( l i n e ,   k ,   8 )   =   h t h t   | |   b i n o c t   ( r e l   ( p t ) ) ; 
 	 	 	           k   =   k   +   8 ; 
 
 	 	 	           i f   s u b s t r   ( o p _ c o d e ,   1 ,   1 )   ^ =   " t " 
 	 	 	           t h e n   d o ; 
 	 	 	 	           c o m m e n t   =   "   =   "   | |   b i n o c t   ( p t   - >   w o r d   ( 0 ) ) ; 
 	 	 	 	           i f   d o u b l e 
 	 	 	 	           t h e n   c o m m e n t   =   c o m m e n t   | |   "   "   | |   b i n o c t   ( p t   - >   w o r d   ( 1 ) ) ; 
 	 	 	 	 e n d ; 
 	 	 	 e n d ; 
 
 	 	           e l s e   i f   e x t _ b a s e   &   ( p   - >   i n s t r u c t i o n . b a s e   =   " 0 0 0 " b ) 
 	 	           t h e n   d o ; 	 	 	 / *   i n f o   f o r   p r 0   o n l y   * / 
 
 	 	 	           i f   o p _ c o d e   =   " x e c     " 
 	 	 	           t h e n   d o ; 
 	 	 	 	           p t   =   a d d r e l   ( a d d r   ( p l 1 _ o p e r a t o r s _ $ o p e r a t o r _ t a b l e ) ,   o f f s e t ) ; 
 	 	 	 	           o p _ i n d e x   =   f i x e d   ( p t   - >   i n s t r u c t i o n . o p _ c o d e ,   1 0 ) ; 
 	 	 	 	           i f   n u m _ w o r d s   ( o p _ i n d e x )   >   1 
 	 	 	 	           t h e n   d o ; 
 
 / *   w e   a r e   e x e c u t i n g   a n   E I S   i n s t r u c t i o n   i n   p l 1 _ o p e r a t o r s _   * / 
 
 	 	 	 	 	           c a l l   i n i t _ e i s ; 
 
 	 	 	 	 	           d o   j   =   1   t o   n d e s c ; 
 	 	 	 	 	 	 e b a s e   ( j )   =   " 1 " b ; 
 	 	 	 	 	 	 l e n _ r e g   ( j )   =   ^ d e c i m a l ; 
 	 	 	 	 	 	 i c   ( j )   =   " 0 " b ; 
 	 	 	 	 	           e n d ; 
 	 	 	 	 	 e n d ; 
 	 	 	 	 e n d ; 
 
 	 	 	           i f   t a g   ^ =   "   " 
 	 	 	           t h e n   d o ; 
 	 	 	 	           c a l l   f i n d _ o p e r a t o r _ n a m e _   ( " p l 1 _ o p e r a t o r s _ " ,   p ,   o p _ n a m e ) ; 
 	 	 	 	           i f   o p _ n a m e   ^ =   "   " 
 	 	 	 	           t h e n   d o ; 
 	 	 	 	 	           s u b s t r   ( l i n e ,   k ,   3 4 )   =   h t h t   | |   o p _ n a m e ; 
 	 	 	 	 	           k   =   k   +   3 4 ; 
 	 	 	 	 	 e n d ; 
 
 	 	 	 	 e n d ; 
 	 	 	 e n d ; 
 	 	           i f   ^ e i s _ d e s c   &   ^ r e p e a t _ i n s t   &   p   - >   i n s t r u c t i o n . i n h i b i t 
 	 	           t h e n   c o m m e n t   =   c o m m e n t   | |   "   i n t e r r u p t   i n h i b i t " ; 
 
 	 	 e n d ; 
 
 	           i f   c o m m e n t   ^ =   " " 
 	           t h e n   d o ; 
 	 	           j   =   l e n g t h   ( c o m m e n t ) ; 
 	 	           s u b s t r   ( l i n e ,   k ,   j )   =   c o m m e n t ; 
 	 	           k   =   k   +   j ; 
 	 	 e n d ; 
 
 	           i f   p r i n t _ i n s t r 
 	           t h e n   c a l l   i o a _ $ i o a _ s t r e a m   ( o u t p u t _ s w i t c h ,   " ^ 6 o   ^ a " ,   f i x e d   ( r e l   ( p ) ,   1 7 ) ,   s u b s t r   ( l i n e ,   1 1 ,   k   -   1 1 ) ) ; 
 
 	           e l s e   d o ; 	 	 	 	 / *   r e t u r n   s t r i n g   f o r   o n e   l i n e   o n l y   * / 
 	 	           j   =   k   -   1 1 ; 	 	 	 / *   s a v e   l e n g t h   o f   s t r j n g   * / 
 	 	           k   =   1 ; 
 	 	           c a l l   b i n _ t o _ o c t   ( r e a l _ o f f s e t ) ; 
 	 	           i n s t r   =   s u b s t r   ( l i n e ,   1 ,   k   -   1 )   | |   s u b s t r   ( l i n e ,   1 1 ,   j ) ; 
 	 	 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 	           c a l l   i o a _   ( " ^ 4 0 x ^ a " ,   i n s t r ) ; 
 	 	 e n d ; 
 
 	           i f   e i s 
 	           t h e n   d o ; 
 	 	           i r a n d   =   i r a n d   +   1 ; 
 	 	           i f   i r a n d   >   n r a n d s 
 	 	           t h e n   d o ; 
 	 	 	           e i s   =   " 0 " b ; 
 	 	 	           i r a n d   =   0 ; 
 	 	 	 e n d ; 
 	 	           e l s e   i f   i r a n d   >   n d e s c 
 	 	           t h e n   o p _ c o d e ,   d e s c _ w o r d   =   " a r g " ; 
 	 	 e n d ; 
 
 	           p   =   a d d r e l   ( p ,   1 ) ; 
 	 e n d ; 
 
 	 r e t u r n ; 
 
 
 / *      * / 
 / *     E n t r y   p o i n t   t o   r e t u r n   a   f o r m a t t e d   s t r i n g   w i t h   t h e   d i s a s s e m b l e d   i n s t r u c t i o n .     T h e 
       r e a l   o f f s e t   i s   r e t u r n e d   i n   t h e   s t r i n g .     * / 
 
 t r a c e : 
           e n t r y   ( t _ p t ,   a r g _ n u m b e r ) ; 
 
 
 	 p   =   t _ p t ; 	 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 r e a l _ o f f s e t   =   0 ; 	 	 	 	 / * [ 5 . 2 - 1 ] * / 
 	 n u m b e r   =   a r g _ n u m b e r ; 	 	 	 / *   p r o c e s s   o n e   w o r d   o n l y   * / 
 	 p r i n t _ i n s t r   =   " 0 " b ; 	 	 	 	 / *   r e t u r n   s t r i n g   i n s t e a d   * / 
 	 r e a l _ o f f s e t _ e n t r y   =   " 1 " b ; 
 	 g o   t o   b e g i n ; 
 
 b i n _ t o _ o c t : 
           p r o c   ( n u m b e r ) ; 
 
 d c l 	 ( m ,   n u m b e r ) 	 f i x e d   b i n   ( 1 8 ) ; 
 
 	 c a l l   i o a _ $ r s n n l   ( " ^ d " ,   b u f f ,   m ,   n u m b e r ) ; 
 	 s u b s t r   ( l i n e ,   k ,   m )   =   b u f f ; 
 	 k   =   k   +   m ; 
 
           e n d   b i n _ t o _ o c t ; 
 
 
 i n i t _ e i s : 
           p r o c ; 
 
 	 e i s   =   " 1 " b ; 
 	 n r a n d s   =   n u m _ w o r d s   ( o p _ i n d e x )   -   1 ; 
 	 n d e s c   =   n u m _ d e s c   ( o p _ i n d e x ) ; 
 	 d e c i m a l   =   d t y p e   ( o p _ i n d e x )   =   2 ; 
 	 d e s c _ w o r d   =   d e s c _ o p   ( d t y p e   ( o p _ i n d e x ) ) ; 
 	 d e s c _ t y p e   =   d t y p e   ( o p _ i n d e x ) ; 
 	 i r a n d   =   0 ; 
 
           e n d   i n i t _ e i s ; 
 
 / *      * / 
 e i s _ i n s t r u c t i o n : 
           p r o c ; 
 
 	 c a l l   i n i t _ e i s ; 
 
 	 s u b s t r   ( l i n e ,   1 3 ,   4 )   =   s u b s t r   ( c s t r i n g ,   1 ,   3 ) ; 
 	 s u b s t r   ( l i n e ,   1 7 ,   4 )   =   s u b s t r   ( c s t r i n g ,   4 ,   3 ) ; 
 	 s u b s t r   ( l i n e ,   2 1 ,   4 )   =   s u b s t r   ( c s t r i n g ,   7 ,   3 ) ; 
 	 s u b s t r   ( l i n e ,   2 5 ,   3 )   =   s u b s t r   ( c s t r i n g ,   1 0 ,   3 ) ; 
 
 	 s u b s t r   ( l i n e ,   2 8 ,   1 )   =   h t ; 
 	 s u b s t r   ( l i n e ,   2 9 ,   5 )   =   o p _ c o d e ; 
 	 s u b s t r   ( l i n e ,   3 4 ,   1 )   =   h t ; 
 
 	 k   =   3 5 ; 
 
 	 d o   j   =   1   t o   n d e s c ; 
 	           s t r i n g   ( m o d _ f a c t o r )   =   s u b s t r   ( p   - >   w o r d   ( 0 ) ,   m f   ( j ) ,   7 ) ; 
 	           e b a s e   ( j )   =   m o d _ f a c t o r . e x t _ b a s e ; 
 	           l e n _ r e g   ( j )   =   m o d _ f a c t o r . l e n g t h _ i n _ r e g ; 
 
 	           s u b s t r   ( l i n e ,   k ,   1 )   =   " ( " ; 
 	           k   =   k   +   1 ; 
 	           n e e d _ c o m m a   =   " 0 " b ; 
 
 	           i f   e b a s e   ( j ) 
 	           t h e n   d o ; 
 	 	           s u b s t r   ( l i n e ,   k ,   2 )   =   " p r " ; 
 	 	           k   =   k   +   2 ; 
 	 	           n e e d _ c o m m a   =   " 1 " b ; 
 	 	 e n d ; 
 
 	           i f   l e n _ r e g   ( j ) 
 	           t h e n   d o ; 
 	 	           i f   n e e d _ c o m m a 
 	 	           t h e n   d o ; 
 	 	 	           s u b s t r   ( l i n e ,   k ,   1 )   =   " , " ; 
 	 	 	           k   =   k   +   1 ; 
 	 	 	 e n d ; 
 	 	           s u b s t r   ( l i n e ,   k ,   2 )   =   " r l " ; 
 	 	           k   =   k   +   2 ; 
 	 	           n e e d _ c o m m a   =   " 1 " b ; 
 	 	 e n d ; 
 
 	           i f   m o d _ f a c t o r . t a g 
 	           t h e n   d o ; 
 	 	           i f   n e e d _ c o m m a 
 	 	           t h e n   d o ; 
 	 	 	           s u b s t r   ( l i n e ,   k ,   1 )   =   " , " ; 
 	 	 	           k   =   k   +   1 ; 
 	 	 	 e n d ; 
 	 	           i c   ( j )   =   m o d _ f a c t o r . t a g   =   " 0 1 0 0 " b ;   / *   I C   * / 
 	 	           s u b s t r   ( l i n e ,   k ,   2 )   =   e i s _ m o d i f i e r   ( f i x e d   ( m o d _ f a c t o r . t a g ,   4 ) ) ; 
 	 	           k   =   k   +   2 ; 
 	 	 e n d ; 
 	           e l s e   i c   ( j )   =   " 0 " b ; 
 
 	           s u b s t r   ( l i n e ,   k ,   2 )   =   " ) , " ; 
 	           k   =   k   +   2 ; 
 	 e n d ; 
 
 
 	 i f   s u b s t r   ( p   - >   w o r d   ( 0 ) ,   1 0 ,   1 ) 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( l i n e ,   k ,   1 2 )   =   " e n a b l e f a u l t , " ; 
 	 	 k   =   k   +   1 2 ; 
 	           e n d ; 
 
 	 i f   d e s c _ w o r d   =   " d e s c 9 a " 
 	 t h e n   i f   n d e s c   <   3 
 	           t h e n   d o ; 
 	 	           i f   s u b s t r   ( o p _ c o d e ,   1 ,   2 )   ^ =   " s c " 
 	 	           t h e n   s u b s t r   ( l i n e ,   k ,   5 )   =   " f i l l ( " ; 
 	 	           e l s e   s u b s t r   ( l i n e ,   k ,   5 )   =   " m a s k ( " ; 
 	 	           k   =   k   +   5 ; 
 	 	           s u b s t r   ( l i n e ,   k ,   3 )   =   s u b s t r   ( c s t r i n g ,   1 ,   3 ) ; 
 	 	           k   =   k   +   3 ; 
 	 	           s u b s t r   ( l i n e ,   k ,   1 )   =   " ) " ; 
 	 	           k   =   k   +   1 ; 
 	 	 e n d ; 
 	           e l s e   k   =   k   -   1 ; 
 	 e l s e   i f   d e s c _ w o r d   =   " d e s c b " 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( l i n e ,   k ,   7 )   =   " f i l l ( "   | |   d i g i t   ( f i x e d   ( s u b s t r   ( p   - >   w o r d   ( 0 ) ,   1 ,   1 ) ,   1 ) )   | |   " ) " ; 
 	 	 	 	 	 	 / *   f i l l ( N )   * / 
 	 	 k   =   k   +   7 ; 
 
 	 	 i f   o p _ c o d e   ^ =   " c m p b   " 
 	 	 t h e n   d o ; 
 	 	 	 s u b s t r   ( l i n e ,   k ,   6 )   =   " , b o o l ( " ; 
 	 	 	 k   =   k   +   6 ; 
 	 	 	 j   =   f i x e d   ( s u b s t r   ( p   - >   w o r d   ( 0 ) ,   6 ,   4 ) ,   4 ) ; 
 	 	 	 m   =   l e n g t h   ( b o o l _ w o r d   ( j ) ) ; 
 	 	 	 i f   m   >   0 
 	 	 	 t h e n   d o ; 
 	 	 	 	 s u b s t r   ( l i n e ,   k ,   m )   =   b o o l _ w o r d   ( j ) ; 
 	 	 	 	 k   =   k   +   m ; 
 	 	 	           e n d ; 
 	 	 	 e l s e   d o ; 
 	 	 	 	 s u b s t r   ( l i n e ,   k ,   1 )   =   d i g i t   ( f i x e d   ( s u b s t r   ( p   - >   w o r d   ( 0 ) ,   6 ,   1 ) ,   1 ) ) ; 
 	 	 	 	 s u b s t r   ( l i n e ,   k   +   1 ,   1 )   =   d i g i t   ( f i x e d   ( s u b s t r   ( p   - >   w o r d   ( 0 ) ,   7 ,   3 ) ,   3 ) ) ; 
 	 	 	 	 k   =   k   +   2 ; 
 	 	 	           e n d ; 
 	 	 	 s u b s t r   ( l i n e ,   k ,   1 )   =   " ) " ; 
 	 	 	 k   =   k   +   1 ; 
 	 	           e n d ; 
 	           e n d ; 
 	 e l s e   i f   s u b s t r   ( p   - >   w o r d   ( 0 ) ,   1 1 ,   1 ) 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( l i n e ,   k ,   5 )   =   " r o u n d " ; 
 	 	 k   =   k   +   5 ; 
 	           e n d ; 
 	 e l s e   k   =   k   -   1 ; 
 
 	 r e t u r n ; 
 
           e n d   e i s _ i n s t r u c t i o n ; 
 
 / *      * / 
 
 e i s _ d e s c r i p t o r : 
           p r o c ; 
 
 d c l 	 l e n 	 	 f i x e d   b i n   ( 1 8 ) ; 
 d c l 	 t y p e 	 	 f i x e d   b i n ; 	 	 / *   d e s c r i p t o r   t y p e   * / 
 
 d c l 	 1   n _ d e s c 	 	 a l i g n e d   b a s e d   ( p ) , 
 	     2   y 	 	 b i t   ( 1 8 )   u n a l , 	 	 / *   a d d r e s s   f i e l d   * / 
 	     2   C N 	 	 b i t   ( 3 )   u n a l , 	 	 / *   c h a r a c t e r   p o s i t i o n   * / 
 	     2   T N 	 	 b i t   ( 1 )   u n a l , 	 	 / *   t y p e   0   =   9 b i t ;   1   =   4   b i t   * / 
 	     2   S 	 	 b i t   ( 2 )   u n a l , 	 	 / *   s i g n   t y p e   0   =   f l ,   1   =   l s ,   2   =   t s ,   3   =   n s   * / 
 	     2   S F 	 	 b i t   ( 6 )   u n a l , 	 	 / *   s c a l e   f a c t o r   * / 
 	     2   N 	 	 b i t   ( 6 )   u n a l ; 	 	 / *   l e n g t h   * / 
 
 d c l 	 1   b _ d e s c 	 	 a l i g n e d   b a s e d   ( p ) , 	 	 / *   b i t   d e s c r i p t o r   * / 
 	     2   y 	 	 b i t   ( 1 8 )   u n a l , 	 	 / *   a d d r e s s   f i e l d   * / 
 	     2   c 	 	 b i t   ( 2 )   u n a l , 	 	 / *   9   b i t   o f f s e t   * / 
 	     2   b 	 	 b i t   ( 4 )   u n a l , 	 	 / *   b i t   o f f s e t   * / 
 	     2   N 	 	 b i t   ( 1 2 )   u n a l ; 	 	 / *   l e n g t h   * / 
 
 d c l 	 1   a _ d e s c 	 	 a l i g n e d   b a s e d   ( p ) , 	 	 / *   a l p h a - n u m e r i c   d e s c r i p t o r   * / 
 	     2   y 	 	 b i t   ( 1 8 )   u n a l , 	 	 / *   a d d r e s s   f i e l d   * / 
 	     2   C N 	 	 b i t   ( 3 )   u n a l , 	 	 / *   c h a r a c t e r   o f f s e t   * / 
 	     2   T A 	 	 b i t   ( 2 )   u n a l , 
 	     2   p a d 	 	 b i t   ( 1 )   u n a l , 	 	 / *   a l w a y s   z e r o   * / 
 	     2   N 	 	 b i t   ( 1 2 )   u n a l ; 	 	 / *   l e n g t h   * / 
 
 d c l 	 t a b l e _ n _ S 	 	 ( 0 : 3 )   c h a r   ( 2 )   i n t   s t a t i c   i n i t   ( " f l " ,   " l s " ,   " t s " ,   " n s " ) ; 
 d c l 	 t a b l e _ a _ T A 	 ( 0 : 3 )   c h a r   ( 1 )   i n t   s t a t i c   i n i t   ( " 9 " ,   " 6 " ,   " 4 " ,   " ? " ) ; 
 
 	 s u b s t r   ( l i n e ,   1 3 ,   2 )   =   "     " ; 
 	 s u b s t r   ( l i n e ,   1 5 ,   6 )   =   s u b s t r   ( c s t r i n g ,   2 ,   5 ) ; 
 	 s u b s t r   ( l i n e ,   2 1 ,   3 )   =   s u b s t r   ( c s t r i n g ,   7 ,   2 ) ; 
 	 s u b s t r   ( l i n e ,   2 4 ,   4 )   =   s u b s t r   ( c s t r i n g ,   9 ,   4 ) ; 
 	 s u b s t r   ( l i n e ,   2 8 ,   1 )   =   h t ; 
 
 	 e x t _ b a s e   =   e b a s e   ( i r a n d ) ; 
 	 h a s _ i c   =   i c   ( i r a n d ) ; 
 
 	 t y p e   =   d e s c _ t y p e ; 
 	 i f   o p _ c o d e   =   " b t d "   &   i r a n d   =   1 
 	 t h e n   t y p e   =   0 ; 
 	 e l s e   i f   o p _ c o d e   =   " d t b "   |   o p _ c o d e   =   " m v n e " 
 	 t h e n   i f   i r a n d   >   1 
 	           t h e n   t y p e   =   0 ; 
 
 	 i f   t y p e   =   0 
 	 t h e n   d o ; 	 	 	 	 	 / *     a l p h a - n u m m e r i c   d e s c r i p t o r   * / 
 	 	 d e s c _ w o r d   =   " d e s c "   | |   t a b l e _ a _ T A   ( f i x e d   ( a _ d e s c . T A ,   2 ) )   | |   " a " ; 
 	 	 i f   a _ d e s c . T A   =   " 0 0 " b 
 	 	 t h e n   f r a c t _ o f f s e t   =   f i x e d   ( s u b s t r   ( a _ d e s c . C N ,   1 ,   2 ) ,   2 ) ; 
 	 	 e l s e   f r a c t _ o f f s e t   =   f i x e d   ( a _ d e s c . C N ,   3 ) ; 
 	 	 l e n   =   f i x e d   ( a _ d e s c . N ,   1 2 ) ; 
 	           e n d ; 
 
 	 e l s e   i f   t y p e   =   1 
 	 t h e n   d o ; 	 	 	 	 	 / *   b i t   d e s c r i p t o r   * / 
 	 	 d e s c _ w o r d   =   " d e s c b " ; 
 	 	 l e n   =   f i x e d   ( b _ d e s c . N ,   1 2 ) ; 
 	 	 f r a c t _ o f f s e t   =   f i x e d   ( b _ d e s c . c ,   2 )   *   9   +   f i x e d   ( b _ d e s c . b ,   4 ) ; 
 	           e n d ; 
 
 	 e l s e   d o ; 	 	 	 	 	 / *   n u m e r i c   d e s c r i p t o r   * / 
 	 	 i f   n _ d e s c . T N 
 	 	 t h e n   d o ; 
 	 	 	 d e s c _ w o r d   =   " d e s c 4 " ; 
 	 	 	 f r a c t _ o f f s e t   =   f i x e d   ( n _ d e s c . C N ,   3 ) ; 
 	 	           e n d ; 
 	 	 e l s e   d o ; 
 	 	 	 d e s c _ w o r d   =   " d e s c 9 " ; 
 	 	 	 f r a c t _ o f f s e t   =   f i x e d   ( s u b s t r   ( n _ d e s c . C N ,   1 ,   2 ) ,   2 ) ; 
 	 	           e n d ; 
 	 	 d e s c _ w o r d   =   d e s c _ w o r d   | |   t a b l e _ n _ S   ( f i x e d   ( n _ d e s c . S ,   2 ) ) ; 
 	 	 l e n   =   f i x e d   ( n _ d e s c . N ,   6 ) ; 
 
 	 	 i f   n _ d e s c . S 
 	 	 t h e n   d o ; 	 	 	 	 / *     f o r   S   =   0 0   t h e r e   i s   n o   s c a l e   f a c t o r   * / 
 	 	 	 s c a l e   =   f i x e d   ( n _ d e s c . S F ,   6 ) ; 
 	 	 	 i f   s c a l e   >   3 2 
 	 	 	 t h e n   s c a l e   =   s c a l e   -   6 4 ; 
 	 	           e n d ; 
 	           e n d ; 
 
 / *     d e s c _ w o r d       a d d r e s s ( f r a c t _ o f f s e t ) , t a g , l e n g t h , s c a l e       * / 
 
 	 k   =   l e n g t h   ( d e s c _ w o r d ) ; 
 	 s u b s t r   ( l i n e ,   2 9 ,   k )   =   d e s c _ w o r d ; 
 	 k   =   k   +   2 9 ; 
 	 c a l l   a d d r e s s ; 
 
 	 i f   f r a c t _ o f f s e t   ^ =   0 
 	 t h e n   d o ; 
 	 	 c a l l   i o a _ $ r s n n l   ( " ( ^ d ) " ,   b u f f ,   j ,   f r a c t _ o f f s e t ) ; 
 	 	 s u b s t r   ( l i n e ,   k ,   j )   =   b u f f ; 
 	 	 k   =   k   +   j ; 
 	           e n d ; 
 
 	 i f   l e n _ r e g   ( i r a n d ) 
 	 t h e n   d o ; 	 	 	 	 	 / *   p r i n t   r e g i s t e r   w h i c h   c o n t a i n s   l e n g t h   * / 
 	 	 t a g   =   e i s _ m o d i f i e r   ( f i x e d   ( s u b s t r   ( p   - >   d e s c r i p t o r . l e n g t h ,   9 ,   4 ) ,   4 ) ) ; 
 	 	 c a l l   s e t _ t a g ; 
 	           e n d ; 
 
 	 e l s e   d o ; 	 	 	 	 	 / *   p r i n t   l e n g t h   a s   g i v e n   * / 
 	 	 s u b s t r   ( l i n e ,   k ,   1 )   =   " , " ; 
 	 	 k   =   k   +   1 ; 
 	 	 c a l l   b i n _ t o _ o c t   ( l e n ) ; 
 	           e n d ; 
 
 	 i f   t y p e   =   2 
 	 t h e n   i f   n _ d e s c . S 
 	           t h e n   d o ; 	 	 	 	 / *   s c a l e   f a c t o r   f o r   n u m e r i c   o n l y   * / 
 	 	           s u b s t r   ( l i n e ,   k ,   1 )   =   " , " ; 
 	 	           k   =   k   +   1 ; 
 	 	           c a l l   b i n _ t o _ o c t   ( s c a l e ) ; 
 	 	 e n d ; 
 
 	 r e t u r n ; 
 
           e n d   e i s _ d e s c r i p t o r ; 
 
 / *      * / 
 
 / *   T h i s   p r o c e d u r e   d i s a s s e m b l e s   t h e   a d d r e s s   p o r t i o n .     I t   a d d s :   t a b   [ p r N | ]   o f f s e t 
       I t   a l s o   s e t s   t h e   f i r s t   o c t a l   d i g i t   s o   a   b l a n k   w i l l   s e p a r a t e   t h e   r e g i s t e r   f r o m   t h e   r e s t   o f   t h e   a d d r e s s   f i e l d . 
 
       c s t r i n g 	           T h e   o c t a l   r e p r e s e n t a t i o n   o f   t h e   w o r d . 
 
       e x t _ b a s e 	           O N   i f   t h e   a d d r e s s   u s e s   a   r e g i s t e r . 
 * / 
 
 a d d r e s s : 
           p r o c ; 
 
 	 s u b s t r   ( l i n e ,   k ,   1 )   =   h t ; 
 	 k   =   k   +   1 ; 
 
 	 i f   e x t _ b a s e 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( l i n e ,   k ,   4 )   =   b a s e   ( f i x e d   ( p   - >   i n s t r u c t i o n . b a s e ,   3 ) ) ; 
 	 	 o f f s e t   =   f i x e d   ( p   - >   i n s t r u c t i o n . o f f s e t ,   1 5 ) ; 
 	 	 i f   o f f s e t   >   1 6 3 8 4 
 	 	 t h e n   o f f s e t   =   o f f s e t   -   3 2 7 6 8 ; 
 	 	 k   =   k   +   4 ; 
 	 	 s u b s t r   ( l i n e ,   1 3 ,   1 )   =   c s t r i n g ; 
 	           e n d ; 
 
 	 e l s e   d o ; 
 	 	 o f f s e t   =   f i x e d   ( p   - >   h a l f . l e f t ,   1 8 ) ; 
 	 	 i f   o f f s e t   >   1 3 1 0 7 2 
 	 	 t h e n   i f   t a g   ^ =   " d u   "   &   t a g   ^ =   " d l   " 
 	 	           t h e n   o f f s e t   =   o f f s e t   -   2 6 2 1 4 4 ; 	 / *   2 ' s   c o m p   * / 
 	 	 s u b s t r   ( l i n e ,   1 4 ,   1 )   =   c s t r i n g ; 
 	           e n d ; 
 
 
 	 c a l l   b i n _ t o _ o c t   ( o f f s e t ) ; 
 
           e n d   a d d r e s s ; 
 
 
 / *     T h i s   p r o c e d u r e   s e t s   t h e   t a g   i n   t h e   i n s t r u c t i o n   l i n e .   * / 
 
 s e t _ t a g : 
           p r o c ; 
 
 	 i f   t a g   ^ =   "   " 
 	 t h e n   d o ; 
 	 	 s u b s t r   ( l i n e ,   k ,   4 )   =   " , "   | |   t a g ; 
 	 	 k   =   k   +   2 ; 
 	 	 i f   s u b s t r   ( l i n e ,   k ,   1 )   ^ =   "   " 
 	 	 t h e n   k   =   k   +   1 ; 
 	 	 i f   s u b s t r   ( l i n e ,   k ,   1 )   ^ =   "   " 
 	 	 t h e n   k   =   k   +   1 ; 
 	           e n d ; 
 
 	 r e t u r n ; 
           e n d   s e t _ t a g ; 
 
 b i n o c t : 
           p r o c   ( b i t s )   r e t u r n s   ( c h a r   ( 1 2 )   a l i g n e d ) ; 
 d c l 	 b i t s 	 	 b i t   ( * )   a l i g n e d   p a r a m e t e r ; 
 d c l 	 c 1 2 	 	 c h a r   ( 1 2 )   a l i g n e d ; 
 
 	 c a l l   i o a _ $ r s n n l   ( " ^ 1 2 . 3 b " ,   c 1 2 ,   j ,   b i t s ) ; 
 	 r e t u r n   ( c 1 2 ) ; 
           e n d   b i n o c t ; 
           e n d ; 
        
 
 
  
 	 	         c o b o l _ d i s p l a y _ u t i l . p l 1                     0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2               2 2 8 6 9     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d i s p l a y _ u t i l . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   1 0 / 2 1 / 8 2   b y   F C H ,   [ 5 . 1 - 1 ] ,   i n c o r r e c t   d i m e n s i o n   c h a n g e d   * / 
 / *   M o d i f i e d   o n   5 / 1 0 / 7 6   b y   G e o r g e   M e r c u r i   f o r   c h a n g e   t o   e r r o r   h a n d l i n g .   * / 
 / *   M o d i f i e d   o n   5 / 5 / 7 6   b y   G e o r g e   M e r c u r i   f o r     e r r o r   h a n d l i n g   t e c h n i q u e s .   * / 
 / *   C r e a t e d   o n   4 / 2 9 / 7 6   b y   G e o r g e   M e r c u r i   f o r   t h e   c a l l   t o   D I S P L A Y   o p e r a t o r s .   * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d i s p l a y _ u t i l : 
           p r o c   ( e r r o r o f f ,   s t o f f ) ; 
 
 d i s p : 
           e n t r y   ( e r r o r o f f ,   s t o f f ) ; 
 
 d c l 	 e r r o r o f f 	 	 f i x e d   b i n ; 	 	 / *   e r r o r o f f   1 0   = u s e r _ o u t p u t ,   1 1   = e r r o r _ o u t p u t .   * / 
 d c l 	 s t o f f 	 	 f i x e d   b i n ; 	 	 / *   [ 5 . 1 - 1 ]   * / 
 d c l 	 d i s p _ i n s t r 	 ( 2 )   b i t   ( 3 6 )   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 " b , 
 	 	 	 	 	 	 / *   e p p 5   p r 6 | < s t o f f >   * / 
 	 	 	 " 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *   e p p 1   p r 4 | o f f s e t = 6 0 , 6 2 	 * / 
 d c l 	 d i s p _ r e l o c 	 ( 4 )   b i t   ( 5 )   a l i g n e d   s t a t i c   i n i t   ( " " b ,   " " b ,   " " b ,   " " b ) ; 
 d c l 	 s t z _ i n s t r 	 	 ( 1 )   b i t   ( 3 6 )   s t a t i c   i n i t   ( " 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *   s t z   p r 6 | 5 4   * / 
 
 
 d c l 	 c o b o l _ e m i t 	 e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 s t a r t : 
 	 s u b s t r   ( d i s p _ i n s t r   ( 1 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( s t o f f ) ,   2 2 ,   1 5 ) ; 
 	 s u b s t r   ( d i s p _ i n s t r   ( 2 ) ,   4 ,   1 5 )   =   s u b s t r   ( u n s p e c   ( e r r o r o f f ) ,   2 2 ,   1 5 ) ; 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( d i s p _ i n s t r ) ,   a d d r   ( d i s p _ r e l o c ) ,   2 ) ; 
 
 	 r e t u r n ; 
 
 
 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * / 
 
 s e t _ s t z : 
           e n t r y ; 
 
 
 	 c a l l   c o b o l _ e m i t   ( a d d r   ( s t z _ i n s t r ) ,   n u l l   ( ) ,   1 ) ; 
 
 	 r e t u r n ; 
 
 / * * * * * *   D e c l a r a t i o n   f o r   B u i l t i n   f u n c t i o n 	 * * * * * / 
 
 d c l 	 ( s u b s t r ,   m o d ,   b i n a r y ,   f i x e d ,   a d d r ,   a d d r e l ,   r e l ,   l e n g t h ,   s t r i n g ,   u n s p e c ,   n u l l ,   i n d e x ) 
 	 	 	 b u i l t i n ; 
 
 / * * * * *   E n d   o f   d e c l a r a t i o n   d o r   b u i l t i n   f u n c t i o n   	 * * * * * / 
 
           e n d   c o b o l _ d i s p l a y _ u t i l ; 
        
 
 
  
 	 	         c o b o l _ d i v i d e _ b i n _ g e n . p l 1                 0 5 / 2 4 / 8 9     1 0 4 0 . 3 r e w   0 5 / 2 4 / 8 9     0 8 3 0 . 2             1 5 8 5 4 4     
 
 
 
 / * * * * ^     * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   B U L L   H N   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 9       * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t ,   ( C )   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s   I n c . ,   1 9 8 2   * 
                 *                                                                                                                   * 
                 *   C o p y r i g h t   ( c )   1 9 7 2   b y   M a s s a c h u s e t t s   I n s t i t u t e   o f                 * 
                 *   T e c h n o l o g y   a n d   H o n e y w e l l   I n f o r m a t i o n   S y s t e m s ,   I n c .             * 
                 *                                                                                                                   * 
                 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *   * / 
 
 
 
 
 / * * * * ^     H I S T O R Y   C O M M E N T S : 
     1 )   c h a n g e ( 8 9 - 0 4 - 2 3 , Z i m m e r m a n ) ,   a p p r o v e ( 8 9 - 0 4 - 2 3 , M C R 8 0 6 0 ) , 
           a u d i t ( 8 9 - 0 5 - 0 5 , R W a t e r s ) ,   i n s t a l l ( 8 9 - 0 5 - 2 4 , M R 1 2 . 3 - 1 0 4 8 ) : 
           M C R 8 0 6 0   c o b o l _ d i v i d e _ b i n _ g e n . p l 1   R e f o r m a t t e d   c o d e   t o   n e w   C o b o l   s t a n d a r d . 
                                                                                                       E N D   H I S T O R Y   C O M M E N T S   * / 
 
 
 / *   M o d i f i e d   o n   0 6 / 2 9 / 7 9   b y   F C H ,   [ 4 . 0 - 1 ] ,   n o t   o p t i o n   a d d e d   f o r   d e b u g   * / 
 / *   M o d i f i e d   s i n c e   V e r s i o n   4 . 0   * / 
 
 / * { * / 
 / *   f o r m a t :   s t y l e 3   * / 
 c o b o l _ d i v i d e _ b i n _ g e n : 
           p r o c   ( i n _ t o k e n _ p t r ,   n e x t _ s t m t _ t a g ) ; 
 
 / * 
 T h i s   p r o c e d u r e   g e n e r a t e s   c o d e   f o r   t h e   d i v i d e   s t a t e m e n t 
 w h i c h   u s e s   t h e   h a r d w a r e   r e g i s t e r s   (   A   a n d   Q   )   i n s t e a d 
 o f   u s i n g   E I S   i n s t r u c t i o n s .     * / 
 
 / *     D E C L A R A T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / *   d c l   i n _ t o k e n _ p t r   p t r ;     * / 
 / *     D e c l a r e d   b e l o w   i n   a n   i n c l u d e   f i l e .     * / 
 d c l 	 n e x t _ s t m t _ t a g 	 f i x e d   b i n ; 
 
 / *     D E S C R I P T I O N   O F   T H E   P A R A M E T E R S     * / 
 
 / * 
 P A R A M E T E R 	 	 D E S C R I P T I O N 
 
 i n _ t o k e n _ p t r 	 P o i n t e r   t o   a   s t r u c t u r r e   t h a t   c o n t a i n s   d a t a 
 	 	 a n d   p o i n t e r s   t h a t   d e s c r i b e s   t h e   d i v i d e 
 	 	 s t a t e m e n t   f o r   w h i c h   c o d e   i s   t o   b e 
 	 	 i m p l e m e n t e d .     ( i n p u t )     S e e   d e s c r i p t i o n 
 	 	 b e l o w   f o r   m o r e   d e t a i l s . 
 n e x t _ s t m t _ t a g 	 A   t a g   t h a t   i s   t o   b e   d e f i n e d   a t   t h e   n e x t 
 	 	 c o b o l   s t a t e m e n t   b y   c o b o l _ g e n _ d r i v e r _ . 
 	 	 ( o u t p u t )     S e e   b e l o w   f o r   d e t a i l s . 
 * / 
 
 
 / *     D E C L A R A T I O N   O F   E X T E R N A L   E N T R I E S     * / 
 
 d c l 	 c o b o l _ m a k e _ b i n _ c o n s t 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ s h o r t _ t o _ l o n g b i n $ r e g i s t e r 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ l o a d _ r e g i s t e r   e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ s h o r t _ t o _ l o n g b i n $ t e m p 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ) ; 
 d c l 	 c o b o l _ a l l o c $ s t a c k 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ m a k e _ t y p e 9 $ l o n g _ b i n 
 	 	 	 e x t   e n t r y   ( p t r ,   f i x e d   b i n ,   f i x e d   b i n   ( 2 4 ) ) ; 
 d c l 	 c o b o l _ s t o r e _ b i n a r y 	 e x t   e n t r y   ( p t r ,   p t r ,   b i t   ( 1 ) ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ r e l e a s e 
 	 	 	 e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ a d d r 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ) ; 
 d c l 	 c o b o l _ e m i t 	 e x t   e n t r y   ( p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o n 	 e x t   e n t r y ; 
 d c l 	 c o b o l _ f o f l _ m a s k $ o f f   e x t   e n t r y ; 
 d c l 	 c o b o l _ m u l t i p l y 2 _ b i n a r y 
 	 	 	 e x t   e n t r y   ( p t r ,   p t r ,   p t r ,   f i x e d   b i n ) ; 
 d c l 	 c o b o l _ m a k e _ t a g r e f 	 e x t   e n t r y   ( f i x e d   b i n ,   f i x e d   b i n ,   p t r ) ; 
 d c l 	 c o b o l _ d e f i n e _ t a g 	 e x t   e n t r y   ( f i x e d   b i n ) ; 
 d c l 	 c o b o l _ r e g i s t e r $ l o a d   e x t   e n t r y   ( p t r ) ; 
 d c l 	 c o b o l _ m a k e _ r e g _ t o k e n 
 	 	 	 e x t   e n t r y   ( p t r ,   b i t   ( 4 ) ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   S T A T I C   D A T A     * / 
 
 d c l 	 S T Z 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 1 0 0 1 0 1 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     4 5 0 ( 0 )     * / 
 d c l 	 A O S 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 0 0 1 0 1 1 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     0 5 4 ( 0 )     * / 
 d c l 	 L D A 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 0 1 0 " b ) ; 
 	 	 	 	 	 	 / *     2 3 5 ( 0 )     * / 
 d c l 	 L D Q 	 	 b i t   ( 1 0 )   i n t   s t a t i c   i n i t   ( " 0 1 0 0 1 1 1 1 0 0 " b ) ; 
 	 	 	 	 	 	 / *     2 3 6 	 ( 0 )     * / 
 
 d c l 	 t o v _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 ; 	 	 	 	 	 / *     t o v   0     * / 
 
 d c l 	 t r a _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     t r a   0     * / 
 
 d c l 	 t n z _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     t n z   0     * / 
 
 
 d c l 	 t z e _ i n s t 	 	 b i t   ( 3 6 )   i n t   s t a t i c   i n i t   ( " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 " b ) ; 
 	 	 	 	 	 	 / *     t z e   0     * / 
 d c l 	 1   d e c _ z e r o _ t o k e n 	 i n t   s t a t i c , 
 	     2   s i z e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   l i n e 	 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   c o l u m n 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   t y p e 	 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 2 ) , 
 	     2   i n t e g r a l 	 b i t   ( 1 )   i n i t   ( " 1 " b ) , 
 	     2   f l o a t i n g 	 b i t   ( 1 )   b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   f i l l e r 1 	 b i t   ( 5 ) , 
 	     2   s u b s c r i p t 	 b i t   ( 1 )   i n i t   ( " 0 " b ) , 
 	     2   s i g n 	 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ s i g n 	 c h a r   ( 1 )   i n i t   ( "   " ) , 
 	     2   e x p _ p l a c e s 	 f i x e d   b i n   ( 1 5 ) , 
 	     2   p l a c e s _ l e f t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   p l a c e s _ r i g h t 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 0 ) , 
 	     2   p l a c e s 	 f i x e d   b i n   ( 1 5 )   i n i t   ( 1 ) , 
 	     2   l i t e r a l 	 c h a r   ( 1 )   i n i t   ( " 0 " ) ; 
 
 / *     D E C L A R A T I O N   O F   I N T E R N A L   V A R I A B L E S     * / 
 
 d c l 	 1   i n p u t _ b u f f , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   f i x e d   b i n ; 
 
 d c l 	 1   r e l o c _ b u f f , 
 	     2   b u f f 	 	 ( 1 : 1 0 )   b i t   ( 5 )   a l i g n e d ; 
 
 
 
 d c l 	 1   r e g i s t e r _ s t r u c , 
 	     2   w h a t _ r e g 	 f i x e d   b i n , 
 	     2   r e g _ n o 	 b i t   ( 4 ) , 
 	     2   l o c k 	 	 f i x e d   b i n , 
 	     2   a l r e a d y _ t h e r e 	 f i x e d   b i n , 
 	     2   c o n t a i n s 	 f i x e d   b i n , 
 	     2   t o k _ p t r 	 p t r , 
 	     2   l i t e r a l 	 b i t   ( 3 6 ) ; 
 d c l 	 r e s u l t _ t o k e n _ p t r 	 p t r ; 
 d c l 	 w o r k _ t o k e n _ p t r 	 p t r ; 
 d c l 	 a d d e n d _ t o k e n _ p t r 	 p t r ; 
 d c l 	 r e c e i v e _ c o u n t 	 f i x e d   b i n ; 
 d c l 	 r e t _ o f f s e t 	 f i x e d   b i n   ( 2 4 ) ; 
 d c l 	 o v f l o _ f l