$ od -c -N 50000 [Indigo]<Daffodil>IBIP>Doc>OldIBIPSilDocumentation.dm!1>OldIBIPIFU52.sily 0000000 9 r \0 1 \0 4 \0 l \0 9 ` r 001 T \0 1 0000020 \0 4 \0 d \0 9 ` j 001 T \0 1 \0 4 \0 \ 0000040 \0 9 ` b 001 T \0 1 \0 4 \0 T \0 9 ` Z 0000060 001 T \0 1 \0 4 \0 D \0 9 ` J 001 T \0 1 0000100 \0 4 \0 < \0 9 ` B 001 T \0 1 \0 4 \0 , 0000120 \0 9 ` 2 001 T \0 1 \0 4 \0 4 \0 9 ` : 0000140 001 T \0 1 \0 # \0 260 \0 ' ` 264 001 S \0 1 0000160 \0 017 \0 260 \0 023 ` 264 001 S \0 1 \0 004 \0 260 0000200 \0 4 340 261 \0 1 \0 4 \0 \0 \0 5 340 260 \0 1 0000220 \0 001 \0 234 \0 006 ` 242 001 R \0 1 \0 001 \0 224 0000240 \0 006 ` 232 001 R \0 1 \0 001 \0 214 \0 006 ` 222 0000260 001 R \0 1 \0 001 \0 | \0 006 ` 202 001 R \0 1 0000300 \0 001 \0 d \0 006 ` j 001 R \0 1 \0 001 \0 l 0000320 \0 006 ` r 001 R \0 1 \0 001 \0 \ \0 006 ` b 0000340 001 R \0 1 \0 001 \0 T \0 006 ` Z 001 R \0 1 0000360 \0 001 \0 , \0 006 ` 2 001 R \0 1 \0 001 \0 4 0000400 \0 006 ` : 001 R \0 1 \0 001 \0 D \0 006 ` J 0000420 001 R \0 1 \0 001 \0 < \0 006 ` B 001 R \0 1 0000440 \0 001 \0 024 \0 006 ` 032 001 R \0 1 \0 001 \0 034 0000460 \0 006 ` " 001 R \0 1 \0 001 \0 \f \0 006 ` 022 0000500 001 R \0 1 \0 001 \0 004 \0 006 ` \n 001 R \0 1 0000520 \0 $ \0 l \0 3 s 003 Y B 0 \0 1 \0 $ 0000540 \0 d \0 3 k 003 Y B 1 \0 1 \0 $ \0 \ 0000560 \0 3 c 003 Y B 2 \0 1 \0 $ \0 T \0 3 0000600 [ 003 Y B 3 \0 1 \0 $ \0 D \0 3 K 0000620 003 Y A 0 \0 1 \0 $ \0 < \0 3 C 003 Y 0000640 A 1 \0 1 \0 $ \0 4 \0 3 ; 003 Y A 2 0000660 \0 1 \0 $ \0 , \0 3 3 003 Y A 3 \0 1 0000700 \0 004 \0 \0 \0 5 340 001 \0 1 \0 036 \0 250 \0 / 0000720 257 004 O E B ' \0 \0 1 \0 \n \0 250 \0 033 0000740 257 004 O E A ' \0 \0 1 \0 004 \0 \0 \0 005 0000760 340 260 \0 1 \0 \b \0 234 \0 ' 243 \a W E ' 0001000 / B L E \0 1 \0 \b \0 224 \0 032 233 004 W 0001020 E 2 ' \0 \0 1 \0 \b \0 214 \0 032 223 004 W 0001040 E 1 ' \0 \0 1 \0 \b \0 | \0 025 203 003 A 0001060 L E \0 1 \0 \b \0 l \0 022 s 002 B 0 \0 0001100 \0 1 \0 \b \0 d \0 022 k 002 B 1 \0 \0 1 0001120 \0 \b \0 \ \0 022 c 002 B 2 \0 \0 1 \0 \b 0001140 \0 T \0 022 [ 002 B 3 \0 \0 1 \0 \b \0 D 0001160 \0 022 K 002 A 0 \0 \0 1 \0 \b \0 < \0 022 0001200 C 002 A 1 A \0 1 \0 \b \0 4 \0 022 ; 0001220 002 A 2 \0 \0 1 \0 \b \0 , \0 022 3 002 A 0001240 3 \0 \0 1 \0 \b \0 034 \0 022 # 002 D 0 \0 0001260 \0 1 \0 \b \0 024 \0 022 033 002 D 1 \0 \0 1 0001300 \0 \b \0 \f \0 022 023 002 D 2 \0 \0 1 \0 \b 0001320 \0 004 \0 022 \v 002 D 3 \0 377 377 001 334 002 340 0001340 002 \f 002 351 \a 8 / 1 8 / 8 3 377 377 ! @ 0001360 001 364 002 036 ! 375 5 a b o v e b y 0001400 i n c r e m e n t i n g t h e 0001420 I B c o u n t e r s i n 0001440 P h a s e A , t h i s 377 377 ! @ 0001460 001 330 002 ' ! 341 8 i n a b l e t h 0001500 e t r a p l o g i c w h i 0001520 c h d i s a b l e s t h e 0001540 c o u n t e r u p d a t e s B 0001560 377 377 ! @ 001 320 001 377 ! 331 , o f P h 0001600 a s e F b e g i n s , f P C 0001620 A t E n d O f P a g e * I B D i 0001640 s p m u s t 377 377 ! @ 001 270 002 025 0001660 ! 301 2 H e n c e , i f t h e 0001700 f P C d c o u n t e r i s 0001720 i n c r e m e n t e d w h e 0001740 n t h e e 377 377 ! @ 001 374 002 036 " 005 0001760 5 c o n d i t i o n b e c o m 0002000 e s m o r e r e s t r i c t 0002020 i v e . W e w o u l d r 0002040 e q u i r e 377 377 ! @ 002 004 002 $ " \r 0002060 7 t h e t r a p l o g i c 0002100 t o b e a c t i v e b y 0002120 t h e b e g i n n i n g o f 0002140 P h a s e A . 377 377 ! @ 001 354 002 # 0002160 ! 365 6 N o t e t h a t i f 0002200 w e a t t e m p t t o f i 0002220 x t h e p r o b l e m s h 0002240 o w n i n # 6 m 377 377 ! @ 001 340 0002260 001 332 ! 351 $ b y t h e b e g i 0002300 n n i n g o f t h e n e x 0002320 t P h a s e B . \r 377 377 ! @ 001 310 0002340 002 . ! 321 9 w h e n P a u s e ' 0002360 g o e s H I w h i c h i 0002400 s w h e n t h e f i x e d 0002420 d e l a y s e c t i o n 377 377 0002440 ! @ 001 300 002 024 ! 311 7 F u l l b i 0002460 t i s s e t w h i c h i 0002500 s w h e n I B E m p t y i 0002520 s r e s e t w h i c h i s 0002540 377 377 ! @ 001 254 001 314 ! 265 ! c o u n t 0002560 e r s i n P h a s e B , t 0002600 h e n g o b a c k . 377 377 ! @ 0002620 001 244 002 027 ! 255 2 t h e t r a p 0002640 a d d r e s s , w e c a n n 0002660 o t b e g i n t o i n c r 0002700 e m e n t t h e e 377 377 ! @ 001 234 0002720 002 1 ! 245 : i n N I A . W h 0002740 i l e w e h a v e u n t i 0002760 l t h e e n d o f P h a 0003000 s e B t o g e n e r a t e a 0003020 377 377 ! @ 001 224 002 023 ! 235 1 a r e h 0003040 e l d a n d t h e p r o p 0003060 e r t r a p a d d r e s s 0003100 i s g e n e r a t e d 377 377 ! @ 0003120 001 214 002 6 ! 225 ; i n t h e n e 0003140 x t P h a s e B . T h e r 0003160 e , t h e v P C , u v P C 0003200 a n d F u l l c o u n t e 0003220 r s 377 377 ! @ 001 204 002 027 ! 215 5 I B D 0003240 i s p t o p r o c e e d . 0003260 T h e a c t u a l I B D i 0003300 s p T r a p t a k e s p l a 0003320 c e 377 377 ! @ 001 | 002 031 ! 203 4 a n d 0003340 a l l o w s P h a s e F o 0003360 f t h e m i c r o i n s t r 0003400 u c t i o n B E F O R E t h 0003420 e 244 377 377 ! @ 001 t 002 $ ! } ; I t 0003440 w i l l a l s o s e t o n 0003460 e o f t h e F u l l b i 0003500 t s , w h i c h r e s e t s 0003520 I B E m p t y 377 377 ! @ 001 l 002 > 0003540 ! u ; i n c r e m e n t t h e 0003560 n e w f P C d , w h i c h 0003600 s t a r t s t o s e t f 0003620 P C A t E n d O f P a g e . 377 377 0003640 ! @ 001 d 002 \r ! m 3 o f t h e 0003660 p a g e . A t t h e e n 0003700 d o f t h e f e t c h , 0003720 t h e I F U w i l l 377 377 ! @ 0003740 001 \ 002 037 ! e 9 I B D i s p w i 0003760 l l s t a l l a s t h e 0004000 I F U f e t c h e s t h e 0004020 l a s t d o u b l e w o r d 0004040 377 377 ! @ 001 T 002 " ! ] 5 b e c a u 0004060 s e f P C A t E n d O f P a g 0004100 e s h o u l d b e f a l s 0004120 e . I n s t e a d , t h e 0004140 377 377 ! @ 001 L 002 ( ! U : P C s _ 0004160 f o l l o w e d b y a n I 0004200 B D i s p . T h e I B D i 0004220 s p w i l l n o t t r a p 0004240 t h e n l 377 377 ! @ 001 D 002 037 ! M 0004260 9 I t i s q u i t e l i k 0004300 e l y t h a t t h e j u m 0004320 p m i c r o c o d e w i l l 0004340 e x e c u t e a 377 377 ! @ 001 < 0004360 002 . ! E 8 I B c a n ' t f e 0004400 t c h a n y m o r e w i t 0004420 h o u t c r o s s i n g a 0004440 p a g e b o u n d r y . l 377 377 0004460 ! @ 001 4 002 " ! = 6 w r i t t e n 0004500 a s s u m i n g a n I B D 0004520 i s p T r a p w i l l o c c 0004540 u r w h e n e v e r t h e t 0004560 377 377 ! @ 001 , 002 031 ! 5 5 b e f o r 0004600 e s t a r t i n g t h a t 0004620 f i r s t b y t e c o d e . 0004640 T h e E m u l a t o r i s 0004660 377 377 ! @ 001 $ 002 030 ! - 3 a n y o 0004700 f t h e l a s t 4 b y t 0004720 e s ) w e m u s t h a v e 0004740 a n I B D i s p T r a p 377 377 0004760 ! @ 001 034 002 + ! % 9 I f a M e 0005000 s a j u m p l a n d s o n 0005020 t h e l a s t b y t e o 0005040 f a p a g e ( a c t u a l 0005060 l y 377 377 ! 0 001 034 001 8 ! # 002 7 . . 0005100 377 377 0 001 @ \0 202 ! G 023 o f t h 0005120 e n e x t P h a s e B . 377 377 0005140 0 001 8 001 \t ! A 3 d e l a y f 0005160 r o m t h e b e g i n n i n 0005200 g o f P h a s e F t o t 0005220 h e b e g i n n i n g 377 377 0 0005240 001 0 \0 376 ! 9 1 u s e d t o c 0005260 a u s e a n I B D i s p T r 0005300 a p m u s t b e l e s s 0005320 t h a n t h e 377 377 0 001 ( \0 365 0005340 ! 1 / c a u s e s f P C A t E 0005360 n d O f P a g e t o b e s 0005400 e t u n t i l i t c a n 0005420 b e 377 377 0 001 001 001 ! ) 1 T h e 0005440 d e l a y f r o m w h e n 0005460 t h e I n s t r u c t i o n 0005500 F e t c h m a c h i n e 377 377 0005520 001 \0 ( ! ' 002 7 . . 377 377 ! @ 0005540 001 \f 002 031 ! 025 6 t h e c i r c u 0005560 i t c a n ' t s t a r t u 0005600 n t i l t h e b e g i n n i 0005620 n g o f P h a s e B . e 377 377 0005640 ! @ 001 004 002 # ! \v 4 a m u c h 0005660 m o r e s e r i o u s c o n 0005700 s t r a i n t t h a n # 5 0005720 a b o v e b e c a u s e P 377 377 0005740 ! @ \0 374 002 ) ! 005 < i t i s u 0005760 s e d t o a d d r e s s t 0006000 h e I B i n P h a s e A . 0006020 T h i s i s p o t e n t 0006040 i a l l y < 377 377 ! @ \0 364 002 035 375 0006060 6 c a n ' t b e c h a n g e 0006100 d u n t i l P h a s e B s 0006120 t a r t s . T h i s i s 0006140 b e c a u s e s 377 377 ! @ \0 354 002 035 0006160 365 6 T h i s i s s i m i l 0006200 a r t o t h e c a s e a 0006220 b o v e e x c e p t t h a t 0006240 t h e u v P C e 377 377 ! 0 \0 354 0006260 001 8 363 002 6 . o 377 377 0 001 004 \0 240 0006300 ! \v 032 P h a s e B t o t h e 0006320 P a u s e P o i n t . e 377 377 0006340 0 \0 364 001 021 375 8 b i t s t o 0006360 b e c l e a r e d u n t i 0006400 l t h e P a u s e ' s i g 0006420 n a l c a n b e r a i s e 0006440 d \ 377 377 0 \0 374 \0 372 ! 005 0 m u s 0006460 t b e l e s s t h a n t 0006500 h e t i m e f r o m t h e 0006520 b e g i n n i n g o f 377 377 0006540 0 \0 354 \0 376 365 0 T h e d e l 0006560 a y f r o m w h e n a n 0006600 I B C o n s u m e c a u s e s 0006620 t h e F u l l d 377 377 \0 354 0006640 \0 ( 363 002 6 . o 377 377 001 @ \0 330 001 302 0006660 337 036 o f P h a s e A a n d 0006700 t h e P a u s e P o i n t 0006720 . 377 377 001 @ \0 270 002 \b 301 0 v a l 0006740 i d b y t h e P a u s e 0006760 P o i n t . T h u s , t h 0007000 e p r o p a g a t i o n t 377 377 0007020 001 @ \0 220 001 370 231 2 I t w i l l 0007040 s t a r t c l e a r i n g 0007060 t h e F u l l b i t s a t 0007100 t h i s t i m e . i 377 377 001 @ 0007120 \0 210 001 226 221 024 b e g i n n i n g 0007140 o f P h a s e A . c 377 377 001 @ 0007160 \0 200 002 \f 211 0 b y P h a s e A 0007200 , h e n c e i t b e c o m 0007220 e s v a l i d s o o n a f 0007240 t e r t h e 377 377 001 @ \0 x 002 * 0007260 201 8 b y t h e n e w f e 0007300 t c h P C . T h e d e c 0007320 o d e d P C s _ s i g n a l 0007340 i s l a t c h e d 377 377 \0 0 0007360 \0 H \0 240 O 032 P h a s e A t o 0007400 t h e P a u s e P o i n t 0007420 . e 377 377 001 @ \0 320 002 035 331 4 m u s 0007440 t b e l e s s t h a n t 0007460 h e i n t e r v a l b e t w 0007500 e e n t h e b e g i n n i n 0007520 g f 377 377 001 @ \0 310 002 % 321 9 F u l 0007540 l b i t s , s e t I B E m 0007560 p t y a n d c a n a c t i 0007600 v a t e t h e P a u s e ' 0007620 s i g n a l 377 377 001 @ \0 300 002 * 311 0007640 : d e l a y o f t h e c i 0007660 r c u i t s t h a t g a t e 0007700 t h e P C s _ s i g n a l 0007720 , c l e a r t h e e 377 377 001 @ 0007740 \0 260 002 030 271 5 I n o r d e r 0007760 t o s t o p t h e c l o c 0010000 k , t h e P a u s e ' s i 0010020 g n a l m u s t b e 377 377 001 @ 0010040 \0 250 002 # 257 8 I n s t r u c t i 0010060 o n F e t c h u n i t r e 0010100 t r i v e s i n s t r u c t i 0010120 o n s t r e a m d a t a . a 0010140 377 377 001 @ \0 240 002 031 251 7 I B D i s 0010160 p , i t m u s t b e p o 0010200 s s i b l e t o s t o p t 0010220 h e c l o c k w h i l e t 0010240 h e 377 377 001 @ \0 230 002 - 241 < I f 0010260 t h e n e x t m i c r o i n 0010300 s t r u c t i o n c o n t a i 0010320 n s a n I B A c c e s s , 0010340 l i k e l y a n h 377 377 001 @ \0 p 0010360 002 0 w : s h o u l d b e r 0010400 e f i l l e d w i t h i n s 0010420 t r u c t i o n s t r e a m 0010440 d a t a r e f e r e n c e d u 0010460 377 377 001 @ \0 h 002 % q : F u l l 0010500 b i t s t o b e r e s e t 0010520 , i n d i c a t i n g t h a 0010540 t t h e I B i s e m p t 0010560 y a n d r 377 377 001 @ \0 ` 002 036 i 0010600 9 I B I P S i m 4 6 . s i l y ) 0010620 . I t a l s o c a u s e 0010640 s t h e I n s t r u c t i o 0010660 n B u f f e r ' s 377 377 001 @ \0 X 0010700 002 * a 9 8 b i t s o f t 0010720 h e f e t c h P r o g r a m 0010740 c o u n t e r ( s e e I B 0010760 I P S i m 4 4 . s i l y - 377 377 0011000 001 @ \0 P 002 $ Y 7 v i r t u a l 0011020 p r o g r a m c o u n t e r 0011040 ( v P C ) a n d t h e l 0011060 e a s t s i g n i f i c a n t 0011100 377 377 001 @ \0 H 002 031 Q 8 T h i s , 0011120 i n t u r n , s e t s t 0011140 h e l e a s t s i g n i f i 0011160 c a n t 1 6 b i t s o f 0011200 t h e d 377 377 001 @ \0 @ 002 021 I 2 i 0011220 n t h e E m u l a t o r ' s 0011240 j u m p c o d e e x e c u 0011260 t e a P C s _ c l a u s e 0011300 . 377 377 001 @ \0 8 002 . A : M e s 0011320 a P C . T h i s i s i 0011340 m p l e m e n t e d b y h a 0011360 v i n g a m i c r o i n s t 0011400 r u c t i o n A 377 377 001 @ \0 0 002 \r 0011420 9 2 A M e s a j u m p i 0011440 n s t r u c t i o n r e s u l 0011460 t s i n a c h a n g e i 0011500 n t h e t 377 377 001 0 \0 0 001 8 7 0011520 002 5 . 351 377 377 \0 0 \0 @ \0 372 I 0 m 0011540 u s t b e l e s s t h a n 0011560 t h e t i m e f r o m t 0011600 h e b e g i n n i n g o f 0011620 377 377 \0 0 \0 8 001 021 A 8 b i t s 0011640 t o b e c l e a r e d u n 0011660 t i l t h e P a u s e ' s 0011700 i g n a l c a n b e r a i 0011720 s e d \ 377 377 \0 0 \0 0 \0 376 9 1 T 0011740 h e d e l a y f r o m w h 0011760 e n a P C s _ c l a u s e 0012000 c a u s e s t h e F u l l 0012020 377 377 \0 \0 0 \0 ( 7 002 5 . 351 377 377 0012040 002 034 002 340 002 + 002 351 002 5 2 1 377 377 001 024 0012060 002 340 001 \ 002 353 016 I B I P S i m 5 2 0012100 . s i l y \0 377 377 001 < \0 030 001 p \0 ! 0012120 \b C o m m e n t s 034 377 377 \0 H \0 030 0012140 \0 321 \0 $ 032 C r i t i c a l D e 0012160 l a y A s s u m p t i o n s \0 0012200 377 377 \0 t 002 340 \0 375 002 354 032 C r i t i 0012220 c a l D e l a y A s s u m p 0012240 t i o n s \0 377 377 001 l 002 340 001 271 002 353 0012260 016 G a r n e r , D a v i e s ! 0012300 377 377 \0 p 002 324 \0 233 * 333 \t R e f e r 0012320 e n c e 377 377 \0 8 002 340 \0 T 002 353 005 D 0012340 a i s y 377 377 \0 \b 002 330 \0 , 002 341 005 X 0012360 E R O X 377 377 001 310 002 340 001 320 002 351 001 A 0012400 377 377 \0 020 002 344 \0 ! * 353 003 S D D 377 377 0012420 \0 \0 002 320 002 0 342 322 377 377 001 024 002 324 001 " 0012440 * 333 004 F i l e 273 377 377 \0 4 002 324 \0 T 0012460 * 335 \a P r o j e c t 377 377 001 h 002 324 0012500 001 214 * 335 \b D e s i g n e r 374 377 377 0012520 001 304 002 324 001 324 * 333 003 R e v 377 377 001 330 0012540 002 324 001 354 * 333 004 D a t e R 377 377 \0 \0 0012560 002 364 002 0 342 366 377 377 002 0 002 320 002 2 342 366 0012600 377 377 \0 \0 002 322 \0 002 342 364 377 377 \0 0 002 320 0012620 \0 2 342 364 377 377 \0 h 002 320 \0 j 342 364 377 377 0012640 001 020 002 320 001 022 342 364 377 377 001 d 002 320 001 f 0012660 342 364 377 377 001 300 002 320 001 302 342 364 377 377 001 324 0012700 002 320 001 326 342 364 377 377 002 020 002 320 002 022 342 364 0012720 377 377 002 024 002 324 002 ) * 335 004 P a g e \0 0012740