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