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