$ od -c -N 50000 [Indigo]<Daffodil>DaffodilSoftware.dm!1 0000000 377 \0 \0 D a f f D a t a . a s m \0 0000020 373 233 M 303 220 \0 \0 376 001 \0 \t 3 \t P A G 0000040 E 7 4 , 9 7 \r \t T I T L E \t D 0000060 a f f o d i l D a t a S e g 0000100 m e n t \r ; D a f f D a t a . 0000120 a s m \r ; L a s t m o d i f 0000140 i e d J u l y 2 6 , 1 9 8 0000160 3 4 : 5 9 P M b y D i 0000200 e b e r t \r \r ; T h i s i s 0000220 t h e m a i n m o d u l e 0000240 f o r t h e D a f f o d i 0000260 l R A M m e m o r y a s s 0000300 i g n m e n t s \r \r D a t a S e 0000320 g m e n t \t S E G M E N T \t P U 0000340 B L I C ' D a t a S e g m e n 0000360 t ' \r \r \r ; T h i s a r e a 0000400 i s u s e d t o h o l d 0000420 t h e r e g i s t e 376 001 \0 204 0000440 026 r s o f t h e d e b u g 0000460 e e u p o n e n t r y t o 0000500 \r ; t h e m o n i t o r . 0000520 \r \r \t P U B L I C \t R e g S a v 0000540 e A r e a \r \t P U B L I C \t R e 0000560 g A X \r \t P U B L I C \t R e g B 0000600 X \r \t P U B L I C \t R e g C X \r 0000620 \t P U B L I C \t R e g D X \r \t P 0000640 U B L I C \t R e g S P \r \t P U B 0000660 L I C \t R e g B P \r \t P U B L I 0000700 C \t R e g S I \r \t P U B L I C \t 0000720 R e g D I \r \t P U B L I C \t R e 0000740 g C S \r \t P U B L I C \t R e g D 0000760 S \r \t P U B L I C \t R e g S S \r 0001000 \t P U B L I C \t R e g E S \r \t P 0001020 U B L I C \t R e g F R \r \t P U B 0001040 L 376 001 \0 244 T I C \t R e g X S \r \t 0001060 P U B L I C \t R e g Y S \r \t P U 0001100 B L I C \t R e g I P \r \r R e g S 0001120 a v e A r e a \t L A B E L \t W O 0001140 R D \r R e g A X \t D W \t ? \r R e 0001160 g B X \t D W \t ? \r R e g C X \t D 0001200 W \t ? \r R e g D X \t D W \t ? \r R 0001220 e g S P \t D W \t ? \r R e g B P \t 0001240 D W \t ? \r R e g S I \t D W \t ? \r 0001260 R e g D I \t D W \t ? \r R e g C S 0001300 \t D W \t ? \r R e g D S \t D W \t ? 0001320 \r R e g S S \t D W \t ? \r R e g E 0001340 S \t D W \t ? \r R e g F R \t D W \t 0001360 ? \r R e g X S \t D W \t ? \r R e g 0001400 Y S \t D W \t ? \r R e g I P \t D W 0001420 \t ? \r \r \r ; T h e s e w o r 0001440 d s a r e 376 001 \0 " 266 u s e d 0001460 b y D D M t o s a v e 0001500 t a r g e t s t a t e b e t 0001520 w e e n i n v o c a t i o n s 0001540 \r ; o f t h e d e b u g g 0001560 e r . \r ; T a r g e t S e g \t 0001600 i s u s e d t o r e m e m 0001620 b e r t h e S e g m e n t 0001640 t o b e u s e d \r ; T a r 0001660 g e t O f f s e t \t i s u s e 0001700 d t o r e m e m b e r t h 0001720 e o f f s e t i n t o S e 0001740 g W o r d s e g m e n t \r ; 0001760 T a r g e t M o d e \t i s u s 0002000 e d t o r e m e m b e r t 0002020 h e a d d r e s s s p a c e 0002040 w e a r e u s i 376 001 \0 222 . 0002060 n g . \r ; \t \t ( I / O , R e g 0002100 o r M e m o r y ) \r \r \t \t P 0002120 U B L I C \t T a r g e t S e g \r 0002140 \t \t P U B L I C \t T a r g e t O 0002160 f f s e t \r \t \t P U B L I C \t T 0002200 a r g e t M o d e \r T a r g e t 0002220 S e g \t D W \t ? \r T a r g e t O 0002240 f f s e t \t D W \t ? \r T a r g e 0002260 t M o d e \t D B \t ? \r \r ; T h 0002300 e f o l l o w i n g i s u 0002320 s e d a s a b r e a k p o 0002340 i n t t a b l e c o n s i s 0002360 t i n g o f a n e n t r y 0002400 f o r t h e \r ; s e g m e 0002420 n t , o f f s e t a n d t 0002440 h e O P b y t e t h a t 0002460 376 001 \0 G ? w a s r e p l a c e 0002500 d . \r \r \t \t P U B L I C \t B k p 0002520 t S e g \r \t \t P U B L I C \t B k 0002540 p t O f f s e t \r \t \t P U B L I 0002560 C \t B k p t O P c o d e \r \t \t P 0002600 U B L I C \t B k p t E n t r i e 0002620 s \r \t \t E V E N \r B k p t S e g 0002640 \t D W \t 8 D U P ( ? ) \r B k 0002660 p t O f f s e t \t D W \t 8 D U 0002700 P ( ? ) \r B k p t O P c o d e 0002720 \t D B \t 8 D U P ( ? ) \r \r B 0002740 k p t E n t r i e s \t D B \t ? \r 0002760 \r \r ; A r e a u s e d b y 0003000 t h e c o m s o f t w a r 0003020 e f o r a n i n p u t b 0003040 u f f e r . \r \r \t \t P U B L I C 0003060 \t S t r L 376 \0 261 377 265 e n \r \t \t P 0003100 U B L I C \t I n S t r \r \t \t E V 0003120 E N \r S t r L e n \t \t D B \t ? \r 0003140 I n S t r \t \t D B \t 1 2 8 D U 0003160 P ( ? ) \r \r ; T h e s e a 0003200 r e u s e f u l l t e m p 0003220 r e g s . \r \t \t P U B L I C \t T 0003240 e m p \r \t \t P U B L I C \t T e m 0003260 p W o r d \r T e m p \t \t D B \t ? 0003300 \r \t \t E V E N \r T e m p W o r d 0003320 \t D W \t ? \r D a t a S e g m e n 0003340 t \t E N D S \r E N D \r 377 \0 \0 D a 0003360 f f M o n . a s m \0 373 233 M 303 7 \0 0003400 \0 376 001 \0 230 330 \t P A G E 7 4 , 9 0003420 7 \r \t T I T L E \t D a f f o d i 0003440 l D e b u g g i n g M o n i 0003460 t o r M a i n \r ; D a f f M 0003500 o n . a s m \r ; L a s t m o 0003520 d i f i e d J u l y 2 6 , 0003540 1 9 8 3 4 : 5 8 P M b y 0003560 D i e b e r t \r \r ; T h i s 0003600 i s t h e m a i n m o d 0003620 u l e f o r t h e D a f f 0003640 o d i l D e b u g g i n g M 0003660 o n i t o r \r ; I t c o n t 0003700 i a n s t h e i n i t i a l 0003720 i z e i n g c o d e c a l l 0003740 s a s w e l l a s a l l 0003760 o f \r ; t h e D a t a a 0004000 r e a d e 376 001 \0 313 242 f s . \r \t 0004020 P A G E \r \t I N C L U D E \t D a 0004040 f f E Q U s . d \r \t I N C L U D 0004060 E \t D a f f E x t D . d \r C o d 0004100 e S e g m e n t \t S E G M E N T 0004120 \t P U B L I C ' C o d e S e g 0004140 m e n t ' \r \t A S S U M E \t \t C 0004160 S : C o d e S e g m e n t \r \t A 0004200 S S U M E \t \t D S : S E G D a 0004220 t a S e g m e n t \r \r \r ; E x 0004240 t e r n a l s f r o m D a f 0004260 f S u b s . a s m \r \r \t E X T R 0004300 N \t C o n v e r t B i n a r y : 0004320 \t N E A R \r \t E X T R N \t G e t 0004340 C m d : \t N E A R \r \t E X T R N 0004360 \t G e t N e w W o r d : \t N E A 0004400 R \r \t E X T R N \t L o 376 001 \0 Y 242 0004420 o k u p R e g s : \t N E A R \r \t 0004440 E X T R N \t P r i n t A d d r e 0004460 s s : \t N E A R \r \t E X T R N \t 0004500 P r i n t C h a r : \t N E A R \r 0004520 \t E X T R N \t P r i n t C R L F 0004540 : \t N E A R \r \t E X T R N \t P r 0004560 i n t S t r : \t N E A R \r \t E X 0004600 T R N \t R e a d W o r d : \t N E 0004620 A R \r \t E X T R N \t W r i t e W 0004640 o r d : \t N E A R \r \r ; T h i 0004660 s a r e a i s u s e d f 0004700 o r c o n s t a n t s t o 0004720 b e p r i n t e d e t c . \r 0004740 \r \t P U B L I C \t H e r a l d \r 0004760 H e r a l d \t L A B E L \t W O R 0005000 D \r \t D B \t " W e l c o m e t 0005020 376 001 \0 272 017 o D D M " , C R 0005040 , L F \r H e r a l d L e n \t E 0005060 Q U \t 1 7 \r \r \t P U B L I C \t P 0005100 r o m p t \r P r o m p t \t L A B 0005120 E L \t W O R D \r \t D B \t C R , 0005140 L F , " > " \r P r o m p t L e 0005160 n \t E Q U \t 3 \r \r \r ; T h i s 0005200 i s t h e t e x t f o r 0005220 L o o k u p R e g s \r \r \t P U B 0005240 L I C \t R e g N a m e T a b l e 0005260 \r R e g N a m e T a b l e \t L A 0005300 B E L \t W O R D \r \t D W \t " A X 0005320 " \r \t D W \t " B X " \r \t D W \t " 0005340 C X " \r \t D W \t " D X " \r \t D W 0005360 \t " S P " \r \t D W \t " B P " \r \t 0005400 D W \t " S I " \r \t D W \t " D I " 0005420 \r \t D W \t 376 001 \0 m i " C S " \r \t 0005440 D W \t " D S " \r \t D W \t " S S " 0005460 \r \t D W \t " E S " \r \t D W \t " F 0005500 R " \r \t D W \t " X S " \r \t D W \t 0005520 " Y S " \r \t D W \t " I P " \r \t D 0005540 W \t " P C " \r \r \r \t P A G E \r ; 0005560 S t a r t u p D D M \r \r \t 0005600 P U B L I C \t D D M \r D D M \t L 0005620 A B E L \t F A R \r \r \t C L I \t \t 0005640 ; R e s e t I n t e r r u p t 0005660 s j u s t i n c a s e . \r 0005700 \r \t C A L L \t I n i t W o r l d 0005720 \t ; S e t u p w o r l d \r 0005740 \r \t M O V \t B P , H e r a l d 0005760 \t ; S e t u p f o r P r i 0006000 n t o f t h e W e l c o m 0006020 e H e r a l d \r \t 376 001 \0 f \0 M 0006040 O V \t C L , H e r a l d L e n 0006060 \r \t C A L L \t P r i n t S t r \r 0006100 \r \r P o l l : \r \t M O V \t B P , 0006120 P r o m p t \t ; P r i n t p 0006140 r o m p t \r \t M O V \t C L , P 0006160 r o m p t L e n \r \t C A L L \t P 0006200 r i n t S t r \r \r \t C A L L \t G 0006220 e t C m d \t \t ; B u i l d u p 0006240 c o m m a n d s t r i n g \r 0006260 \r \r ; P a r s e c o m m a n d 0006300 s t r i n g f o r a d d r 0006320 e s s \r \t C M P \t D H , 0 \t \t 0006340 ; C h e c k t o s e e i f 0006360 t h e r e i s a n y t h i 0006400 n g t o p a r s e \r \t J N E 0006420 \t P o l l 5 \t \t ; S o m e t h 376 0006440 001 \0 263 376 i n g t o p a r s e 0006460 \r \t J M P \t P o l l 1 0 0 \t ; T 0006500 h i s i s t o f i x t h 0006520 e f u c k i n g s m a l l 0006540 c o n d i t i o n a l j u m p 0006560 \r P o l l 5 : \r \t C M P \t D H , 0006600 2 \t \t ; C h e c k t o s e 0006620 e i f t h e r e a r e o 0006640 n l y 2 b y t e s \r \t J N E 0006660 \t P o l l 1 0 \t \t ; N o , t h 0006700 e r e a r e m o r e o r 0006720 l e s s \r \r \r ; S u s p e c t 0006740 a r e g i s t e r h e r e \r 0006760 \t M O V \t A X , I n S t r \t ; 0007000 P u t f i r s t t w o b y 0007020 t e s o f s t r i n g i n 0007040 t o A 376 001 \0 ' R X \r \t C A L L 0007060 \t L o o k u p R e g s \t ; S e e 0007100 i f i t i s i n R e g 0007120 T a b l e s e t s c a r r y 0007140 i f f o u n d \r \t J N C \t P 0007160 o l l 1 0 \t \t ; I t e m n o t 0007200 i n t a b l e . \r \r \r ; A t 0007220 t h i s p o i n t w e h 0007240 a v e a r e g i s t e r . 0007260 S e t u p R e g d i s p 0007300 l a y m o d e \r \t M O V \t A L 0007320 , T a r g e t M o d e \t ; s e 0007340 t r e g i s t e r m o d e \r 0007360 \t A N D \t A L , 0 F 0 h \t ; B 0007400 l o c k o f f a n y p r e 0007420 v i o u s m o d e s t u f f 0007440 \r \t O R \t A L , 376 001 \0 = 230 M o 0007460 d e R e g \t ; S e t R e g i s 0007500 t e r m o d e \r \t M O V \t T a 0007520 r g e t M o d e , A L \r \t M O 0007540 V \t T a r g e t O f f s e t , 0007560 S I \t ; S a v e r e g i s t e 0007600 r o f f s e t i n m e m o 0007620 r y \r \t J M P \t P o l l 1 0 0 \t 0007640 ; D o n e ! \r \r \r ; N o t a 0007660 r e g i s t e r C h e c k t 0007700 o s e e i f I / O \r P o l 0007720 l 1 0 : \r \t C M P \t I n S t r , 0007740 " I " \t ; C h e c k t o s 0007760 e e i f t h i s i s a n 0010000 I / O o p e r a t i o n \r \t 0010020 J N E \t P o l l 3 0 \r \r \r ; A t 0010040 t h i s p o i n t w e 376 001 0010060 \0 c h a v e a n I / O 0010100 o p \r P o l l 2 0 : \r \t M O V \t 0010120 A L , T a r g e t M o d e \t ; 0010140 s e t r e g i s t e r m o d 0010160 e \r \t A N D \t A L , 0 F 0 h \t 0010200 ; B l o c k o f f a n y p 0010220 r e v i o u s m o d e s t u 0010240 f f \r \t O R \t A L , M o d e I 0010260 O \t ; S e t I / O m o d e \r 0010300 \t M O V \t T a r g e t M o d e , 0010320 A L \r \t M O V \t A X , I n S 0010340 t r [ 1 ] \t ; G e t s t r i n 0010360 g i n t o A X t h e 2 0010400 b y t e s a f t e r t h e 0010420 " I " \r \t C A L L \t L o o k u p 0010440 R e g s \t ; S e e i f t h e 0010460 s t 376 001 \0 $ 351 r i n g i s 0010500 i n t h e R e g T a b l e \r 0010520 \t J N C \t P o l l 2 5 \t \t ; N o 0010540 t a R e g s t r i n g \r \r 0010560 \r ; A t t h i s p o i n t 0010600 t h e I O o f f s e t i s 0010620 i n a r e g i s t e r . 0010640 M o v e r e g i s t e r c 0010660 o n t e n t s t o \r ; t h e 0010700 T a r g e t O f f s e t . R 0010720 e m e m b e r o f f s e t i 0010740 s i n B X \r \t M O V \t B P , 0010760 R e g S a v e A r e a \r \t M O 0011000 V \t A X , [ S I + B P ] \t ; F 0011020 e t c h t h e v a l u e \r \t 0011040 M O V \t T a r g e t O f f s e t 0011060 , A X \r \t J M 376 001 \0 365 m P \t P 0011100 o l l 1 0 0 \t ; D o n e ! \r \r \r 0011120 ; N o w w e h a v e a h 0011140 e x v a l u e s t i l l i 0011160 n t h e I / O s p a c e . 0011200 I f n o t p r i n t ? 0011220 a n d p r o m p t . \r P o l 0011240 l 2 5 : \r \t M O V \t B P , I n 0011260 S t r [ 1 ] \t ; P o i n t t o 0011300 t h e s t a r t o f t h 0011320 e s t r i n g \r \t M O V \t C L 0011340 , S t r L e n \t ; G e t t h 0011360 e s t r i n g l e n g t h \r 0011400 \t C A L L \t C o n v e r t B i n 0011420 a r y \t ; C o n v e r t i n p 0011440 u t s t r i n g t o b i n 0011460 a r y . \r \t J N C \t P r i 376 001 \0 0011500 235 304 n t Q u e s t i o n \t ; T a 0011520 k e b r a n c h i f s t r 0011540 i n g c o u l d n o t b e 0011560 c o n v e r t e d \r \t M O V \t 0011600 T a r g e t O f f s e t , A X 0011620 \t ; P u t i n t h e o f f 0011640 s e t \r \t J M P \t P o l l 1 0 0 0011660 \t ; D o n e ! \r \r \r ; A t t h 0011700 i s p o i n t t h e v a l 0011720 u e i s a m e m o r y p 0011740 a i r o r g a r b a g e \r P 0011760 o l l 3 0 : \r \t M O V \t A L , 0012000 T a r g e t M o d e \t ; S e t 0012020 u p f o r m e m o r y m o 0012040 d e \r \t A N D \t A L , 0 F h \t 0012060 ; M a s k o f f t h e m o 0012100 d e 376 001 \0 q 023 i n f o \r \t O R 0012120 \t A L , M o d e M e m o r y \r 0012140 \t M O V \t T a r g e t M o d e , 0012160 A L \t ; S a v e i t \r \t M O 0012200 V \t B P , I n S t r \t ; S e t 0012220 u p t o s c a n s t r i 0012240 n g f o r " : " \r \t S U B \t 0012260 C X , C X \t \t ; G e t l e n 0012300 g t h \r \t M O V \t C L , S t r 0012320 L e n \r \t S U B \t S I , S I \t 0012340 \t ; C l e a r c o u n t \r P o 0012360 l l 3 2 : \r \t M O V \t A L , [ 0012400 B P + S I ] \t ; C h e c k t o 0012420 s e e i f b y t e i s 0012440 " : " \r \t C M P \t A L , " : " 0012460 \r \t J E \t P o l l 3 5 \t \t ; Y e 0012500 s i t i s 376 001 \0 214 022 a " 0012520 : " \r \t I N C \t S I \t \t ; I n c 0012540 r e m e n t s t r i n g p o 0012560 i n t e r \r \t L O O P \t P o l l 0012600 3 2 \t \t ; l o o p u n t i l 0012620 e n d o r c h a r f o u n 0012640 d \r \r \r ; A t t h i s p o i 0012660 n t w e d o n ' t h a v e 0012700 a " : " s o v a l u e 0012720 i s a h e x s t r i n g 0012740 o f f s e t \r \t M O V \t B P , 0012760 I n S t r \t ; P o i n t t o 0013000 t h e s t a r t o f t h e 0013020 s t r i n g \r \t M O V \t C L , 0013040 S t r L e n \t ; G e t t h e 0013060 s t r i n g l e n g t h \r \t 0013100 C A L L \t C o n v e r t 376 001 \0 255 0013120 + B i n a r y \t ; C o n v e r t 0013140 i n p u t s t r i n g t o 0013160 b i n a r y . \r \t J N C \t P r 0013200 i n t Q u e s t i o n \t ; T a k 0013220 e b r a n c h i f s t r i 0013240 n g c o u l d n o t b e 0013260 c o n v e r t e d \r \t M O V \t T 0013300 a r g e t O f f s e t , A X \t 0013320 ; P u t i n t h e o f f s 0013340 e t \r \t J M P \t P o l l 1 0 0 \t 0013360 ; D o n e ! \r \r \r ; A t t h i 0013400 s p o i n t w e h a v e 0013420 f o u n d t h e " : " a n 0013440 d i t ' s o f f s e t i s 0013460 i n C I \r P o l l 3 5 : \r \t 0013500 M O V \t A X , S I \t \t ; S a v 0013520 e 376 001 \0 364 \ l o c a t i o n 0013540 o f " : " \r \t M O V \t T e m p 0013560 , A L \r \t C M P \t A L , 0 \t 0013600 \t ; S e e i f " : " w a s 0013620 t h e f i r s t c h a r \r 0013640 \t J L E \t P r i n t Q u e s t i 0013660 o n \t ; i f " : " w a s f 0013700 i r s t i t i s a n e r 0013720 r o r p r i n t ? a n d 0013740 p r o m p t \r \t C M P \t A L , 0013760 3 \t \t ; T e s t c o u n t o 0014000 f b y t e s e q u a l t o 0014020 3 \r \t J N E \t P o l l 3 7 \t \t 0014040 ; P r o b a b l y n o t a 0014060 r e g i s t e r d e s i g n a 0014100 t i o n \r \r \r ; A t t h i s 0014120 p o i n t 376 001 \0 V 022 i t s h 0014140 o u l d b e a r e g i s t 0014160 e r \r \t M O V \t A X , I n S t 0014200 r \t ; G e t 2 b y t e s t 0014220 r i n g \r \t C A L L \t L o o k u 0014240 p R e g s \t ; S e e i f i t 0014260 s v a l i d \r \t J N C \t P r i 0014300 n t Q u e s t i o n \t ; N o t 0014320 a r e g i s t e r s o p r 0014340 i n t ? a n d p r o m p t 0014360 \r \t M O V \t B P , R e g S a v 0014400 e A r e a \r \t M O V \t A X , [ 0014420 B P + S I ] \t ; F e t c h t h 0014440 e r e g i s t e r s a v e 0014460 v a l u e \r \t M O V \t T a r g e 0014500 t S e g , A X \t ; a n d s a 0014520 v e i t i n S e 376 001 \0 B 327 0014540 g \r \t J M P \t P o l l 4 0 \r \r \r 0014560 ; A t t h i s p o i n t t 0014600 h e v a l u e o f t h e 0014620 s t r i n g s h o u l d b e 0014640 a h e x c o n s t a n t \r 0014660 P o l l 3 7 : \r \t M O V \t B P , 0014700 I n S t r \t ; S e t p t r 0014720 t o s t a r t o f s t r i 0014740 n g \r \t M O V \t C L , T e m p 0014760 \t ; L o a d t h e c o u n t 0015000 o f t h e b y t e b e f 0015020 o r e t h e " : " \r \t D E C 0015040 \t C L \r \t C A L L \t C o n v e r 0015060 t B i n a r y \t ; C o n v e r t 0015100 t h e s t r i n g t o b 0015120 i n a r y \r \t J N C \t P r i n t 0015140 376 001 \0 z 231 Q u e s t i o n \t ; S 0015160 t r i n g c o u l d n o t 0015200 b e c o n v e r t e d t o 0015220 b i n . \r \t M O V \t T a r g e t 0015240 S e g , A X \t ; S a v e s e 0015260 g m e n t v a l u e . \r \r \r ; 0015300 N o w g o a n d g e t t 0015320 h e o f f s e t f r o m t 0015340 h e s t r i n g \r P o l l 4 0 0015360 : \r \t M O V \t B P , I n S t r 0015400 \t ; S e t u p p t r \r \t M O 0015420 V \t A L , S t r L e n \t ; G e 0015440 t s t r i n g l e n g t h \r 0015460 \t M O V \t B L , T e m p \t ; G 0015500 e t l o c a t i o n o f " 0015520 : " \r \t S U B \t A L , B L \t \t 0015540 ; A L n 376 001 \0 271 255 o w h o l 0015560 d s t h e l e n g t h o f 0015600 t h e r e m a i n i n g s 0015620 t r i n g \r \t S U B \t B H , B 0015640 H \r \t A D D \t B P , B X \t \t ; 0015660 B P n o w p o i n t s t o 0015700 t h e l o c a t i o n o f 0015720 t h e " : " \r \t I N C \t B P 0015740 \t \t ; B P i s a t " : " 0015760 + 1 \r \t M O V \t T e m p , A 0016000 L \t ; S a v e l e n g t h p 0016020 a s t " : " \r \r \t C M P \t A L 0016040 , 2 \t \t ; T e s t t o s e 0016060 e i f n e x t e n t r y 0016100 i s 2 b y t e s m a y b e 0016120 r e g \r \t J N E \t P o l l 4 5 0016140 \t \t ; N o p \r \r \t M 376 001 \0 ' X O 0016160 V \t A X , [ B P ] \t ; G e t 0016200 t h e 2 b y t e s \r \t C A L 0016220 L \t L o o k u p R e g s \t ; S e 0016240 e i f i t i s a v a l 0016260 i d r e g i s t e r \r \t J N C 0016300 \t P o l l 4 5 \t \t ; N o , c h 0016320 e c k t o s e e i f i t 0016340 i s a h e x v a l u e \r 0016360 \t M O V \t B P , R e g S a v e 0016400 A r e a \t ; S e t u p t o 0016420 g e t r e g i s t e r c o n 0016440 t e n t s \r \t M O V \t A X , [ 0016460 B P + S I ] \t ; F e t c h t h 0016500 e w o r d \r \t M O V \t T a r g 0016520 e t O f f s e t , A X \t ; P u 0016540 t i t i n t o T a r g e 376 0016560 001 \0 036 327 t O f f s e t \r \t J M P 0016600 \t P o l l 1 0 0 \t ; D o n e ! \r 0016620 \r \r ; H e r e w e a r e w 0016640 i t h a s u s p e c t e d 0016660 h e x v a l u e \r P o l l 4 5 0016700 : \r ; B P s t i l l c o n 0016720 t a i n s t h e a d d r e s 0016740 s o f t h e b y t e a f 0016760 t e r t h e " : " \r \t M O V 0017000 \t C L , T e m p \t ; G e t l 0017020 e n g t h t o e n d o f 0017040 s t r i n g \r \t C A L L \t C o n 0017060 v e r t B i n a r y \t ; C o n v 0017100 e r t t h e s t r i n g t 0017120 o b i n . \r \t J N C \t P r i n 0017140 t Q u e s t i o n \t ; N o t c 0017160 o n v e 376 001 \0 277 \0 r t a b l e \r 0017200 \t M O V \t T a r g e t O f f s e 0017220 t , A X \t ; S a v e i t o 0017240 f f . \r \r \r ; D o c o m m a n 0017260 d d i s p a t c h o n D L 0017300 \r \r P o l l 1 0 0 : \r \r ; A C 0017320 R , L F o r " ^ " a t 0017340 t h i s p o i n t d o e s 0017360 n o t h i n g e v e n i f 0017400 t h e c o m m a n d l i n e 0017420 c o n t a i n e d \r ; v a l 0017440 i d s t u f f . \r \t C M P \t D 0017460 L , C R \r \t J E \t P o l l \r \t 0017500 C M P \t D L , " ^ " \r \t J E \t 0017520 P o l l \r \t C M P \t D L , L F 0017540 \r \t J E \t P o l l \r \r \t C M P \t 0017560 D L , " / " \t ; 376 001 \0 ] 306 C h 0017600 e c k f o r / \r \t J E \t M e 0017620 m R e a d \r \r \t C M P \t D L , 0017640 " \ " \t ; C h e c k f o r \ 0017660 \r \t J E \t M e m W r i t e \r \r \t 0017700 C M P \t D L , C n t l B \t ; C 0017720 h e c k f o r ^ B \r \t J E \t 0017740 S e t B k p t \r \r \t C M P \t D L 0017760 , C n t l K \t ; C h e c k f 0020000 o r ^ K \r \t J E \t C l e a r B 0020020 k p t \r \r \t C M P \t D L , C n 0020040 t l Z \t ; C h e c k f o r ^ 0020060 Z \r \t J E \t C l e a r A l l B k 0020100 p t \r \r \t C M P \t D L , C n t 0020120 l P \t ; C h e c k f o r ^ P 0020140 \r \t J E \t P r o c e e d \r \r \t C 0020160 M P \t D L , C n t l S \t ; 376 001 0020200 \0 025 275 C h e c k f o r ^ S \r 0020220 \t J E \t S i n g l e S t e p \r \r 0020240 \t C M P \t D L , C n t l L \t ; 0020260 C h e c k f o r ^ L \r \t J E 0020300 \t L o a d H e x \r \r ; H a v i n 0020320 g g o t t e n h e r e t h 0020340 e c o m m a n d i s n o t 0020360 r e c o g n i z e d a n d 0020400 t h e " ? " i s p r i n t 0020420 e d a n d \r ; a n e w p r 0020440 o m p t i s i s s u e d . 0020460 T h e c o m m a n d l i n 0020500 e i s i g n o r e d . \r P r 0020520 i n t Q u e s t i o n : \r \t M O 0020540 V \t A L , " ? " \r \t C A L L \t 0020560 P r i n t C h a r \r \t J M P \t P 0020600 o l l 376 001 \0 240 304 \r \t P A G E \r ; 0020620 S t a r t m e m o r y d i s 0020640 p l a y s t u f f \r M e m R e 0020660 a d : \r \t M O V \t A L , T a r 0020700 g e t M o d e \t ; S e t u p 0020720 f o r o p . \r \t A N D \t A L , 0020740 0 F h \t \t ; C l e a r r e a 0020760 d w r i t e m o d e \r \t O R 0021000 \t A L , M o d e R e a d W r i 0021020 t e \t ; S e t r e a d b e f 0021040 o r e p r o m p t \r \t M O V \t 0021060 T a r g e t M o d e , A L \r \t 0021100 J M P \t M e m O p \r \r M e m W r 0021120 i t e : \r \t M O V \t A L , T a 0021140 r g e t M o d e \t ; S e t u p 0021160 f o r o p . \r \t A N D \t A L 0021200 , 0 F h \t \t ; 376 001 \0 254 F C l e 0021220 a r r e a d w r i t e m o 0021240 d e \r \t O R \t A L , M o d e R 0021260 e a d O n l y \t ; S e t n o 0021300 r e a d b e f o r e p r o m 0021320 p t \r \t M O V \t T a r g e t M o 0021340 d e , A L \r \r \r M e m O p : \r 0021360 \t C A L L \t P r i n t A d d r e 0021400 s s \t \t ; P r i n t t h e c 0021420 u r r e n t t a r g e t a d 0021440 d r e s s \r \r \t T E S T \t T a r 0021460 g e t M o d e , M o d e R e a 0021500 d O n l y \t ; S h o u l d w e 0021520 r e a d t a r g e t ? \r \t J 0021540 N E \t M e m O p 1 0 \t \t ; N o \r 0021560 \r \t C A L L \t R e a d W o r d \t 0021600 ; R e a d s i n t o C 376 001 \0 0021620 ( 224 X \r \r M e m O p 1 0 : \r \t C 0021640 A L L \t G e t N e w W o r d \t ; 0021660 P o l l i n p u t f o r n 0021700 e w w o r d , C R , L F , 0021720 ^ , \ o r / \r \t J N C \t 0021740 M e m O p 2 0 \t ; N o n e w 0021760 c o n t e n t s \r \r \t C a l l \t 0022000 W r i t e W o r d \t ; W o r d 0022020 t o w r i t e i n C X \r \r 0022040 M e m O p 2 0 : \r \t C M P \t D L 0022060 , C R \t \t ; I s c o m m a n 0022100 d a C R \r \t J E \t P o l l \t 0022120 \t ; Y e s ; g o b a c k t 0022140 o n o r m a l m o d e a n 0022160 d p r o m p t \r \r \t C M P \t D 0022200 L , L F \t \t ; I s c o m m a 0022220 n d 376 001 \0 223 370 a L F \r \t J N 0022240 E \t M e m O p 3 0 \t ; N o \r \r ; 0022260 C o m m a n d i s a L F \r 0022300 \t M O V \t A X , T a r g e t O 0022320 f f s e t \t ; I n c r e m e n 0022340 t T a r g e t O f f s e t \r \t 0022360 I N C \t A X \r \t I N C \t A X \r \t 0022400 M O V \t T a r g e t O f f s e t 0022420 , A X \r \t C A L L \t P r i n t 0022440 C R L F \t ; P r i n t a C R 0022460 L F s t r i n g \r \t J M P \t 0022500 M e m O p \t \t ; D o n e \r \r M e 0022520 m O p 3 0 : \r \t C M P \t D L , 0022540 " ^ " \t ; I s c o m m a n d 0022560 a n ^ \r \t J N E \t M e m O p 4 0022600 0 \t ; n o \r \r ; C o m m a n d 0022620 i s a ^ \r 376 001 \0 266 205 \t M O V 0022640 \t A X , T a r g e t O f f s e 0022660 t \t ; d e c r e m e n t T 0022700 a r g e t O f f s e t \r \t D E C 0022720 \t A X \r \t D E C \t A X \r \t M O V 0022740 \t T a r g e t O f f s e t , A 0022760 X \r \t C A L L \t P r i n t C R L 0023000 F \t ; P r i n t a C R L F 0023020 s t r i n g \r \t J M P \t M e m 0023040 O p \t \t ; D o n e \r \r M e m O p 0023060 4 0 : \r \t C M P \t D L , " / " 0023100 \t ; C h e c k f o r " / " \r 0023120 \t J N E \t M e m O p 5 0 \t ; N o 0023140 \r \r ; C o m m a n d i s a 0023160 / \r \t M O V \t A L , " " \t ; 0023200 S p a c e o n s a m e l i 0023220 n e . \r \t C A L L \t P r 376 001 \0 [ 0023240 230 i n t C h a r \r \t J M P \t M e 0023260 m O p \t \t ; D o i t a l l 0023300 a g a i n \r \r M e m O p 5 0 : \r 0023320 \t C M P \t D L , " \ " \t ; C h 0023340 e c k f o r " \ " \r \t J N E 0023360 \t M e m O p 6 0 \t ; N o \r \r ; C 0023400 o m m a n d i s a \ \r \t M 0023420 O V \t A L , " " \t ; S p a c 0023440 e o n s a m e l i n e \r \t 0023460 C A L L \t P r i n t C h a r \r \t 0023500 J M P \t M e m O p \t \t ; D o i 0023520 t a l l a g a i n \r \r M e m 0023540 O p 6 0 : \r \t J M P \t P r i n t 0023560 Q u e s t i o n \t ; U n k n o w 0023600 n c o m m a n d ; p r i n t 0023620 ? a n d p r o m p t \r \t P 0023640 A 376 \0 " 251 375 G E \r \r \r \r \r \t \t \r 0023660 \r C o d e S e g m e n t \t E N D 0023700 S \r \t E N D \r \r 377 \0 \0 D a f f S 0023720 u b s . a s m \0 373 233 M 257 z \0 \0 376 0023740 001 \0 333 301 \t P A G E \t 7 4 , 9 7 \r 0023760 \t T I T L E \t D a f f o d i l 0024000 S u b r o u t i n e s \r ; D a 0024020 f f S u b s . a s m \r ; L a s 0024040 t m o d i f i e d J u l y 0024060 2 6 , 1 9 8 3 3 : 3 3 P 0024100 M b y D i e b e r t \r \r ; 0024120 T h e s e a r e t h e s u 0024140 b r o u t i n e s u s e d b 0024160 y t h e D a f f o d i l D 0024200 e b u g g i n g M o n i t o r 0024220 \r \t P A G E \r \t I N C L U D E \t 0024240 D a f f E Q U s . d \r \t I N C L 0024260 U D E \t D a f f E x t D . d \r C 0024300 o d e S e g m e n t \t S E G M E 0024320 N T \t P U B L I C ' C o d e S 0024340 e g m e 376 001 \0 N K n t ' \r \t A S 0024360 S U M E \t \t C S : C o d e S e g 0024400 m e n t , D S : D a t a S e g 0024420 m e n t \r \t E X T R N \t H e r a 0024440 l d : \t N E A R \r \t E X T R N \t 0024460 P r o m p t : \t N E A R \r \t E X 0024500 T R N \t R e g N a m e T a b l e 0024520 : \t N E A R \r \t P A G E \r \t P U 0024540 B L I C \t C o n v e r t B i n a 0024560 r y \r C o n v e r t B i n a r y 0024600 \t P R O C \r \r ; T h i s s u 0024620 b r c o n v e r t s t h e 0024640 s t r i n g p o i n t e d t 0024660 o b y B P t o b i n a r 0024700 y . A s m a n y \r ; p 0024720 r e c e e d i n g 0 c a n 0024740 b e a d d e d . 376 001 \0 362 \ \r ; 0024760 \r ; \t I n p u t R e g i s t e 0025000 r s \r ; \t B P \t C o n t a i n s 0025020 a p o i n t e r t o t h 0025040 e s t a r t o f t h e a 0025060 r e a t o b e c o n v e r 0025100 t e d \r ; \t C L \t C o n t a i n 0025120 s t h e l e n g t h o f 0025140 t h e s t r i n g t o b e 0025160 c o n v e r t e d \r ; \r ; \t O 0025200 u t p u t R e g i s t e r s \r 0025220 ; \t A X \t C o n t a i n s t h 0025240 e c o n v e r t e d v a l u 0025260 e \r ; \r ; \t O u t p u t M e m 0025300 o r y l o c a t i o n s \r ; \t 0025320 N o n e \r ; \r ; \t R e g i s t e 0025340 r s n o t r e t u r n e 376 001 0025360 \0 343 3 d a s c a l l e d \r ; 0025400 \t C X , F R , C I \r ; \r ; \t 0025420 R e t u r n s C a r r y F l 0025440 a g i f c o n v e r t e d 0025460 o k \r \r \r C o n v e r t B i n a 0025500 r y \t E N D P \r \t \t P A G E \r \t 0025520 \t P U B L I C \t G e t C m d \r G 0025540 e t C m d \t \t P R O C \r \r ; T 0025560 h i s s u b r b u i l d s 0025600 t h e c o m m a n d s t r i 0025620 n g f r o m t h e i n p u 0025640 t d e v i c e t h r o u g h 0025660 \r ; t h e u s e o f G e 0025700 t C h a r & P u t C h a r . 0025720 T h e s t r i n g c o l 0025740 l e c t i o n i s t e r m i 0025760 n a t 376 001 \0 e \t e d \r ; w h e 0026000 n a c o n t r o l c h a r 0026020 a c t e r , " / " , " \ " , 0026040 " ^ " , C R o r L F i 0026060 s e n c o u n t e r e d . \r ; 0026100 A l l t y p e d k e y s t 0026120 r o k e s a r e e c h o e d 0026140 e x c e p t f o r t h e 0026160 c o m m a n d c h a r . \r ; \r 0026200 ; \t I n p u t R e g i s t e r 0026220 s \r ; \t N o n e \r ; \r ; \t O u t 0026240 p u t R e g i s t e r s \r ; \t 0026260 D L \t B y t e v a l u e o f 0026300 t h e c o m m a n d c h a 0026320 r a c t e r \r ; \t D H \t T h e 0026340 l e n g t h o f t h e s t 0026360 r i n g n o t 376 001 \0 347 o c o 0026400 u n t i n g t h e c o m m a 0026420 n d c h a r \r ; \r ; \t O u t p 0026440 u t M e m o r y l o c a t i 0026460 o n s \r ; \t I n S t r \t C o n t 0026500 a i n s t h e i n p u t s 0026520 t r i n g w i t h o u t t h 0026540 e c o m m a n d c h a r \r ; 0026560 \t S t r L e n \t C o n t a i n s 0026600 t h e l e n g t h o f t 0026620 h e s t r i n g n o t c o 0026640 u n t i n g t h e c o m m a 0026660 n d c h a r \r ; \r ; \t R e g i 0026700 s t e r s n o t r e t u r n 0026720 e d a s c a l l e d \r ; \t F 0026740 R \r ; \r \r G e t C m d \t \t E N D 0026760 P \r \t \t P A G E \r \t \t P U 376 001 \0 0027000 366 370 B L I C \t G e t N e w W o r 0027020 d \r G e t N e w W o r d \t P R O 0027040 C \r \r ; T h i s s u b r b 0027060 u i l d s a b i n a r y n 0027100 u m b e r f r o m t h e i 0027120 n p u t d e v i c e t h r o 0027140 u g h \r ; t h e u s e o f 0027160 G e t C h a r & P u t C h 0027200 a r . T h e n u m b e r 0027220 c o l l e c t i o n i s t e 0027240 r m i n a t e d \r ; w h e n 0027260 a " / " , " \ " , " ^ " , 0027300 C R o r L F i s e n c 0027320 o u n t e r e d . \r ; A l l 0027340 t y p e d k e y s t r o k e s 0027360 a r e e c h o e d e x c e 0027400 p t 376 001 \0 335 237 f o r t h e 0027420 c o m m a n d c h a r . \r ; \r 0027440 ; \t I n p u t R e g i s t e r 0027460 s \r ; \t N o n e \r ; \r ; \t O u t 0027500 p u t R e g i s t e r s \r ; \t 0027520 D L \t B y t e v a l u e o f 0027540 t h e c o m m a n d c h a 0027560 r a c t e r \r ; \t C X \t B i n a 0027600 r y w o r d a s e n t e r 0027620 e d \r ; \r ; \t O u t p u t M e 0027640 m o r y l o c a t i o n s \r ; 0027660 \t N o n e \r ; \r ; \t R e g i s t 0027700 e r s n o t r e t u r n e d 0027720 a s c a l l e d \r ; \t F R \r 0027740 ; \r ; \t C a r r y F l a g i 0027760 s s e t i f e n t e r e d 0030000 v a l u e 376 001 \0 237 313 w a s 0030020 a v a l i d n u m b e r \r \r 0030040 G e t N e w W o r d \t E N D P \r 0030060 \t \t P A G E \r \t \t P U B L I C \t 0030100 L o o k u p R e g s \r L o o k u 0030120 p R e g s \t P R O C \r \r ; T h 0030140 i s s u b r t a k e s t h 0030160 e s t r i n g i n A X a 0030200 n d s e a r c h e s f o r 0030220 a m a t c h i n t h e R 0030240 e g i s t e r \r ; l o o k u p 0030260 t a b l e . \r ; \r ; \t I n p u 0030300 t R e g i s t e r s \r ; \t A X 0030320 \t C o n t a i n s t h e 2 0030340 b y t e s t r t o c o m p 0030360 a r e a g a i n s t t a b l 0030400 e \r ; \r ; \t O u t p u t 376 001 \0 { 0030420 _ R e g i s t e r s \r ; \t B X 0030440 \t O f f s e t o f t h e s 0030460 e n t r e g i s t e r i n 0030500 t h e t a b l e \r ; \r ; \t O u 0030520 t p u t M e m o r y l o c a 0030540 t i o n s \r ; \t N o n e \r ; \r ; 0030560 \t R e g i s t e r s n o t r 0030600 e t u r n e d a s c a l l e 0030620 d \r ; \t C X , F R \r ; \r ; \t R 0030640 e t u r n s C a r r y F l a 0030660 g i f f o u n d \r \r \r L o o 0030700 k u p R e g s \t E N D P \r \t \t P 0030720 A G E \r \t \t P U B L I C \t P r i 0030740 n t A d d r e s s \r P r i n t A 0030760 d d r e s s \t P R O C \r \r ; T 0031000 h i s s u b r p r i n t s 0031020 t 376 001 \0 k q o t h e o u t p 0031040 u t d e v i c e ( u s i n g 0031060 P u t C h a r ) t h e a d 0031100 d r e s s s t r i n g \r ; 0031120 a s s p e c i f i e d b y 0031140 T a r g e t S e g : T a r g e t 0031160 O f f s e t . A d d r e s s 0031200 i s p r i n t e d i n d 0031220 i f f e r e n t \r ; w a y s 0031240 b a s e d o n T a r g e t M 0031260 o d e . \r ; \r ; \t I n p u t R 0031300 e g i s t e r s \r ; \t N o n e \r 0031320 ; \r ; \t O u t p u t R e g i s 0031340 t e r s \r ; \t N o n e \r ; \r ; \t 0031360 O u t p u t M e m o r y l o 0031400 c a t i o n s \r ; \t N o n e \r ; 0031420 \r ; \t R e g 376 001 \0 360 340 i s t e r 0031440 s n o t r e t u r n e d a 0031460 s c a l l e d \r ; \t C X , F 0031500 R , C I \r ; \r \r \r P r i n t A 0031520 d d r e s s \t E N D P \r \t \t P A 0031540 G E \r \t \t P U B L I C \t P r i n 0031560 t C h a r \r P r i n t C h a r \t 0031600 P R O C \r \r ; T h i s s u b 0031620 r p r i n t s a a s i g 0031640 l e c h a r t o t h e o 0031660 u t p u t d e v i c e ( u s 0031700 i n g P u t C h a r ) . \r ; 0031720 T h e c h a r t o p r i n 0031740 t i s i n A L \r \r ; \t I n 0031760 p u t R e g i s t e r s \r ; \t 0032000 A L \t C h a r a c t e r t o 0032020 b e p r i n t e d \r 376 001 \0 377 364 0032040 ; \r ; \t O u t p u t R e g i s 0032060 t e r s \r ; \t N o n e \r ; \r ; \t 0032100 O u t p u t M e m o r y l o 0032120 c a t i o n s \r ; \t N o n e \r ; 0032140 \r ; \t R e g i s t e r s n o t 0032160 r e t u r n e d a s c a l 0032200 l e d \r ; \t A L , C X , F R 0032220 , C I \r ; \r \r \r P r i n t C h 0032240 a r \t E N D P \r \t \t P A G E \r \t 0032260 \t P U B L I C \t P r i n t C R L 0032300 F \r P r i n t C R L F \t P R O C 0032320 \r \r ; T h i s s u b r p r 0032340 i n t s a C R L F t o t 0032360 h e o u t p u t d e v i c e 0032400 ( u s i n g P u t C h a r ) 0032420 . \r ; \r ; \t I n p u t R e g i 0032440 376 001 \0 @ " s t e r s \r ; \t N o n 0032460 e \r ; \r ; \t O u t p u t R e g 0032500 i s t e r s \r ; \t N o n e \r ; \r 0032520 ; \t O u t p u t M e m o r y 0032540 l o c a t i o n s \r ; \t N o n e 0032560 \r ; \r ; \t R e g i s t e r s n 0032600 o t r e t u r n e d a s c 0032620 a l l e d \r ; \t C X , F R , 0032640 C I \r ; \r \r \r P r i n t C R L F 0032660 \t E N D P \r \t \t P A G E \r \t \t P 0032700 U B L I C \t P r i n t S t r \r P 0032720 r i n t S t r \t P R O C \r \r ; 0032740 T h i s s u b r t a k e s 0032760 t h e s t r i n g s p e c i 0033000 f i e d b y B X a n d s 0033020 e n d s i t t o t h e o 0033040 u t p u t 376 001 \0 201 376 d e v i c 0033060 e \r ; u s i n g P u t C h a 0033100 r . \r ; \r ; \t I n p u t r e g 0033120 i s t e r s \r ; \t B P \t P o i n 0033140 t e r t o s t a r t o f 0033160 s t r i n g \r ; \t C L \t L e n g 0033200 t h o f t h e s t r i n g 0033220 t o b e p r i n t e d \r ; 0033240 \r ; \t O u t p u t R e g i s t 0033260 e r s \r ; \t N o n e \r ; \r ; \t O 0033300 u t p u t M e m o r y l o c 0033320 a t i o n s \r ; \t N o n e \r ; \r 0033340 ; \t R e g i s t e r s n o t 0033360 r e t u r n e d a s c a l l 0033400 e d \r ; \t C X \r ; \r \r P r i n t 0033420 S t r \t E N D P \r \t \t P A G E \r 0033440 \t \t P U B L I C \t R 376 001 \0 224 373 e 0033460 a d W o r d \r R e a d W o r d \t 0033500 P R O C \r \r ; T h i s s u b 0033520 r r e a d s t h e l o c a 0033540 t i o n s p e c i f i e d b 0033560 y T a r g e t M o d e , T a 0033600 r g e t S e g a n d \r ; T a 0033620 r g e t O f f s e t . \r ; \r ; \t 0033640 I n p u t r e g i s t e r s \r 0033660 ; \t N o n e \r ; \r ; \t O u t p u 0033700 t R e g i s t e r s \r ; \t C X 0033720 \t C o n t a i n s t h e v a 0033740 l u e a t t h e s p e c i 0033760 f i e d a d d r e s s \r ; \r ; 0034000 \t O u t p u t M e m o r y l 0034020 o c a t i o n s \r ; \t N o n e \r 0034040 ; \r ; \t R e g i s t e r s n 376 0034060 001 \0 S h o t r e t u r n e d 0034100 a s c a l l e d \r ; \t C X \r ; 0034120 \r \r R e a d W o r d \t E N D P \r 0034140 \t \t P A G E \r \t \t P U B L I C \t 0034160 W r i t e W o r d \r W r i t e W 0034200 o r d \t P R O C \r \r ; T h i s 0034220 s u b r w r i t e s t h e 0034240 l o c a t i o n s p e c i f 0034260 i e d b y T a r g e t M o d 0034300 e , T a r g e t S e g a n d 0034320 \r ; T a r g e t O f f s e t 0034340 f r o m t h e C X r e g i 0034360 s t e r . \r ; \r ; \t I n p u t 0034400 r e g i s t e r s \r ; \t C X \t C 0034420 o n t a i n s t h e v a l u 0034440 e t o b e w r i t t e d 0034460 a t t 376 \0 223 273 k h e s p e c 0034500 i f i e d a d d r e s s \r ; \r 0034520 ; \t O u t p u t R e g i s t e 0034540 r s \r ; \t N o n e \r ; \r ; \t O u 0034560 t p u t M e m o r y l o c a 0034600 t i o n s \r ; \t N o n e \r ; \r ; 0034620 \t R e g i s t e r s n o t r 0034640 e t u r n e d a s c a l l e 0034660 d \r ; \t N o n e \r ; \r \r R e a d 0034700 W o r d \t E N D P \r \r \r 377 \0 \0 D 0034720 a f f E Q U s . d \0 373 233 M 250 6 \0 0034740 \0 376 001 \0 307 257 ; D a f f E Q U s 0034760 . d \r ; L a s t m o d i f i 0035000 e d b y D i e b e r t J u 0035020 l y 2 6 , 1 9 8 3 3 : 0 0035040 2 P M \r ; \r ; T h i s f i 0035060 l e p r o v i d e s t h e 0035100 b a s i c e q u a t e s a n 0035120 d o t h e r g o o d i e s 0035140 f o r t h e D a f f o d i l 0035160 \r ; i 8 0 1 8 6 I O P s y 0035200 s t e m . \r \t . X L I S T \r \r \r 0035220 ; i 8 0 1 8 6 I n t e r n a 0035240 l C o n t r o l B l o c k \r 0035260 \r I C B b a s e \t \t E Q U \t 0 F 0035300 F 0 0 h \r \r \r ; i 8 0 1 8 6 0035320 C h i p s e l e c t s \r \r U M 0035340 C S r e g \t 376 001 \0 024 b \t E Q U \t 0035360 I C B b a s e + 0 A 0 h \r L 0035400 M C S r e g \t \t E Q U \t I C B b 0035420 a s e + 0 A 2 h \r M M C S r 0035440 e g \t \t E Q U \t I C B b a s e 0035460 + 0 A 6 h \r M P C S r e g \t \t 0035500 E Q U \t I C B b a s e + 0 A 0035520 8 h \r P A C S r e g \t \t E Q U \t 0035540 I C B b a s e + 0 A 4 h \r \r 0035560 U M C S v a l \t \t E Q U \t 0 F C 0035600 3 9 h \t \t ; s t a r t i n g 0035620 b a s e = 0 F C 0 0 0 h , 0035640 1 w s \r L M C S v a l \t \t E Q 0035660 U \t 0 0 3 F 9 h \t \t ; s t a r 0035700 t i n g b a s e = 0 0 0 0 0035720 0 0 h , 1 w s \r M P C S v a 0035740 l \t \t E Q U \t 0 8 2 B 376 001 \0 $ ) 0035760 9 h \t \t ; s t a r t i n g b 0036000 a s e = 0 F 8 0 0 0 h , 1 0036020 w s \r M M C S v a l \t \t E Q U 0036040 \t 0 F 9 F 9 h \t \t ; 1 6 k m 0036060 i d m e m , p e r i p h I 0036100 / O s p a c e \r \t \t \t \t \t ; 0036120 1 w s \r P A C S v a l \t \t E Q 0036140 U \t 0 0 0 3 9 h \t \t ; p e r i 0036160 p h b a s e = 0 0 0 0 0 0 0036200 h , 1 w s \r \r \r P e r i p h 0036220 b a s e \t E Q U \t 0 \r \r f d T e 0036240 r m C n t \t E Q U \t P e r i p h 0036260 b a s e \r f d D M A a c k \t E Q 0036300 U \t P e r i p h b a s e + 0 0036320 0 0 8 0 h \r f d S t a t u s \t E 0036340 Q U \t P e r i p h b a s e + 0036360 376 001 \0 253 5 0 0 1 0 0 h \r f d D a 0036400 t a \t \t E Q U \t P e r i p h b a 0036420 s e + 0 0 1 0 2 h \r c o m D 0036440 a t a \t E Q U \t P e r i p h b a 0036460 s e + 0 0 1 8 0 h \r c o m C 0036500 t l \t \t E Q U \t P e r i p h b a 0036520 s e + 0 0 1 8 4 h \r k e y D 0036540 a t a \t E Q U \t P e r i p h b a 0036560 s e + 0 0 1 8 2 h \r k e y C 0036600 t l \t \t E Q U \t P e r i p h b a 0036620 s e + 0 0 1 8 6 h \r e t h e 0036640 r C A \t \t E Q U \t P e r i p h b 0036660 a s e + 0 0 2 0 0 h \r P c h 0036700 i p S t b \t E Q U \t P e r i p h 0036720 b a s e + 0 0 2 8 0 h \r \r \r 0036740 ; i 8 0 1 8 6 D M A C o n 0036760 t r o l 376 001 \0 D } r e g s . \r 0037000 \r f d D M A C t l \t E Q U \t I C 0037020 B b a s e + 0 C A h \t ; F l 0037040 o p p y d i s k D M A c h 0037060 a n n e l \r f d D M A T C \t \t E 0037100 Q U \t I C B b a s e + 0 C 8 0037120 h \r f d D M A D P h i \t E Q U \t 0037140 I C B b a s e + 0 C 6 h \r f 0037160 d D M A D P l o \t E Q U \t I C B 0037200 b a s e + 0 C 4 h \r f d D M 0037220 A S P h i \t E Q U \t I C B b a s 0037240 e + 0 C 2 h \r f d D M A S P 0037260 l o \t E Q U \t I C B b a s e + 0037300 0 C 0 h \r \r D M A 1 C t l \t \t 0037320 E Q U \t I C B b a s e + 0 D 0037340 A h \t ; S p a r e D M A c h 0037360 a n n e l \r D M A 1 376 001 \0 021 370 T 0037400 C \t \t E Q U \t I C B b a s e + 0037420 0 D 8 h \r D M A 1 D P h i \t E 0037440 Q U \t I C B b a s e + 0 D 6 0037460 h \r D M A 1 D P l o \t E Q U \t I 0037500 C B b a s e + 0 D 4 h \r D M 0037520 A 1 S P h i \t E Q U \t I C B b a 0037540 s e + 0 D 2 h \r D M A 1 S P 0037560 l o \t E Q U \t I C B b a s e + 0037600 0 D 0 h \r \r \r ; i 8 0 1 8 6 0037620 T i m e r C o n t r o l r 0037640 e g s . \r \r B R c o m C t l \t E 0037660 Q U \t I C B b a s e + 0 5 6 0037700 h \r B R c o m M C B \t E Q U \t I 0037720 C B b a s e + 0 5 4 h \r B R 0037740 c o m M C A \t E Q U \t I C B b a 0037760 s e + 0 5 2 h \r B R c o m 376 0040000 001 \0 226 207 C n t \t E Q U \t I C B b 0040020 a s e + 0 5 0 h \r \r B R k e 0040040 y C t l \t E Q U \t I C B b a s e 0040060 + 0 5 E h \r B R k e y M C B 0040100 \t E Q U \t I C B b a s e + 0 0040120 5 C h \r B R k e y M C A \t E Q U 0040140 \t I C B b a s e + 0 5 A h \r 0040160 B R k e y C n t \t E Q U \t I C B 0040200 b a s e + 0 5 8 h \r \r T M R 0040220 2 C t l \t \t E Q U \t I C B b a s 0040240 e + 0 6 6 h \r T M R 2 M C A 0040260 \t \t E Q U \t I C B b a s e + 0040300 0 6 2 h \r T M R 2 C n t \t \t E Q 0040320 U \t I C B b a s e + 0 6 0 h 0040340 \r \r \r ; i 8 0 1 8 6 I n t e 0040360 r r u p t c o n t r o l l e r 0040400 r e g 376 001 \0 342 373 s . \r \r e t h 0040420 e r I C t l \t E Q U \t I C B b a 0040440 s e + 0 3 E h \r c o m I C t 0040460 l \t \t E Q U \t I C B b a s e + 0040500 0 3 C h \r f d I C t l \t E Q U 0040520 \t \t I C B b a s e + 0 3 A h 0040540 \r P c h i p I C t l \t E Q U \t I 0040560 C B b a s e + 0 3 8 h \r D M 0040600 A 1 I C t l \t E Q U \t I C B b a 0040620 s e + 0 3 6 h \r f d D M A I 0040640 C t l \t E Q U \t I C B b a s e 0040660 + 0 3 4 h \r T M R 2 I C t l \t 0040700 E Q U \t I C B b a s e + 0 3 0040720 2 h \r I n t S t a t \t \t E Q U \t 0040740 I C B b a s e + 0 3 0 h \r I 0040760 n t R e q \t \t E Q U \t I C B b a 0041000 s e + 0 2 E h 376 001 \0 023 033 \r I 0041020 n S e r v \t \t E Q U \t I C B b a 0041040 s e + 0 2 C h \r P r i R e g 0041060 \t \t E Q U \t I C B b a s e + 0041100 0 2 A h \r I n t M a s k \t \t E Q 0041120 U \t I C B b a s e + 0 2 8 h 0041140 \r P o l l S t a t \t E Q U \t I C 0041160 B b a s e + 0 2 6 h \r P o l 0041200 l R e g \t \t E Q U \t I C B b a s 0041220 e + 0 2 4 h \r I n t E O I \t 0041240 \t E Q U \t I C B b a s e + 0 0041260 2 2 h \r \r ; I n t e r r u p t 0041300 S o u r c e t y p e s \r \r i 0041320 D i v E r r \t \t E Q U \t 0 \t ; D 0041340 i v i d e E r r o r \r i S n g 0041360 l S t p \t E Q U \t 1 \t ; S i n g 0041400 l e s t e p \r i N M I \t \t 376 001 0041420 \0 020 f E Q U \t 2 \t ; n o n m a 0041440 s k a b l e i n t e r r u p t 0041460 \r i B k p t \t \t E Q U \t 3 \t ; b 0041500 r e a k p o i n t \r i I N T O \t 0041520 \t E Q U \t 4 \t ; i n t e r r u p 0041540 t o n o v e r f l o w \r i B 0041560 o u n d s \t \t E Q U \t 5 \t ; b o 0041600 u n d s c h e c k \r i B a d O 0041620 p \t \t E Q U \t 6 \t ; u n i m p l 0041640 i m e n t e d o p c o d e \r i 0041660 E S C \t \t E Q U \t 7 \t ; e s c a 0041700 p e i n s t r u c t i o n \r i 0041720 B R c o m \t \t E Q U \t 8 \t ; c o 0041740 m m b a u d r a t e t i m 0041760 e r i n t e r r u p t \r i B R 0042000 k e y \t \t E Q U \t 1 8 \t ; k e y 0042020 b o a 376 001 \0 226 l r d b a u d 0042040 t i m e r i n t e r r u p t \r 0042060 i T M R 2 \t \t E Q U \t 1 9 \t ; T 0042100 i m e r 2 i n t e r r u p t 0042120 \r i f d D M A \t \t E Q U \t 1 0 \t 0042140 ; f l o p p y d i s k D M 0042160 i n t e r r u p t \r i D M A 1 \t 0042200 \t E Q U \t 1 1 \t ; D M A c h a 0042220 n n e l 1 i n t e r r u p t 0042240 \r i P c h i p \t \t E Q U \t 1 2 \t 0042260 ; P c h i p i n t e r r u p 0042300 t \r i f d \t \t E Q U \t 1 3 \t ; f 0042320 l o p p y d i s k i n t e r 0042340 r u p t \r i c o m \t \t E Q U \t 1 0042360 4 \t ; c o m m c h i p i n t 0042400 e r r u p t \r i e t h e r \t \t E 0042420 Q U \t 1 5 \t ; e 376 001 \0 202 i t h e 0042440 r n e t i n t e r r u p t \r \t 0042460 \t . L I S T \r \r ; M o n i t o 0042500 r D i s p l a y m o d e e 0042520 q u a t e s \r M o d e M e m o r 0042540 y \t E Q U \t 0 0 h \r M o d e I 0042560 O \t \t E Q U \t 0 1 h \r M o d e R 0042600 e g \t E Q U \t 0 2 h \r M o d e R 0042620 e a d W r i t e \t E Q U \t 1 0 h 0042640 \r M o d e W r i t e O n l y \t E 0042660 Q U \t 2 0 h \r \r ; M i s c E 0042700 q u a t e s \r t r u e \t \t E Q U 0042720 \t 1 \r f a l s e \t \t E Q U \t 0 \r 0042740 C R \t \t E Q U \t 0 D h \r L F \t \t 0042760 E Q U \t 0 A h \r C n t l B \t \t E 0043000 Q U \t 0 2 h \r C n t l K \t \t E Q 0043020 U \t 0 B h \r C n t l L \t \t 376 \0 5 0043040 252 270 E Q U \t 0 C h \r C n t l P \t 0043060 \t E Q U \t 1 0 h \r C n t l S \t \t 0043100 E Q U \t 1 3 h \r C n t l Z \t \t E 0043120 Q U \t 1 A h \r 377 \0 \0 D a f f E x 0043140 t D . d \0 373 233 M 303 315 \0 \0 376 001 \0 020 0043160 217 ; D a f f E x t D . d \r ; 0043200 L a s t m o d i f i e d J u 0043220 l y 2 6 , 1 9 8 3 5 : 0 0043240 0 P M b y D i e b e r t \r 0043260 \r ; T h e s e a r e t h e 0043300 e x t e r n a l r e f e r e 0043320 n c e s f o r t h e D a f 0043340 f o d i l R A M m e m o r y 0043360 a s s i g n m e n t s \r \r \t E 0043400 X T R N \t D a t a S e g m e n t 0043420 : \t W O R D \r \r ; T h e s e 0043440 a r e u s e d t o h o l 0043460 d t h e r e g i s t e r s 0043500 o f t h e d e b u g e e u 0043520 p o n e n t r y t o \r ; 0043540 t h e m o n i t o r . \r \r \t E 0043560 X 376 001 \0 252 ? T R N \t R e g S a v 0043600 e A r e a : \t W O R D \r \r \t E X 0043620 T R N \t R e g A X : \t W O R D \r 0043640 \t E X T R N \t R e g B X : \t W O 0043660 R D \r \t E X T R N \t R e g C X : 0043700 \t W O R D \r \t E X T R N \t R e g 0043720 D X : \t W O R D \r \t E X T R N \t 0043740 R e g S P : \t W O R D \r \t E X T 0043760 R N \t R e g B P : \t W O R D \r \t 0044000 E X T R N \t R e g C I : \t W O R 0044020 D \r \t E X T R N \t R e g D I : \t 0044040 W O R D \r \t E X T R N \t R e g C 0044060 S : \t W O R D \r \t E X T R N \t R 0044100 e g D S : \t W O R D \r \t E X T R 0044120 N \t R e g S S : \t W O R D \r \t E 0044140 X T R N \t R e g E S : \t W O R D 0044160 \r \t E X T R 376 001 \0 p 270 N \t R e g 0044200 F R : \t W O R D \r \t E X T R N \t 0044220 R e g X S : \t W O R D \r \t E X T 0044240 R N \t R e g Y S : \t W O R D \r \t 0044260 E X T R N \t R e g I P : \t W O R 0044300 D \r \r ; T h e s e w o r d s 0044320 a r e u s e d b y D D M 0044340 t o s a v e t a r g e t 0044360 s t a t e b e t w e e n i n 0044400 v o c a t i o n s \r ; o f t 0044420 h e d e b u g g e r . \r ; T 0044440 a r g e t S e g \t i s u s e d 0044460 t o r e m e m b e r t h e 0044500 S e g m e n t t o b e u 0044520 s e d \r ; T a r g e t O f f s 0044540 e t \t i s u s e d t o r e 0044560 m e m b e r t h e 376 001 \0 213 030 0044600 o f f s e t i n t o S e g W 0044620 o r d s e g m e n t \r ; T a 0044640 r g e t M o d e \t i s u s e d 0044660 t o r e m e m b e r t h e 0044700 a d d r e s s s p a c e w 0044720 e a r e u s i n g . \r ; \t \t 0044740 ( I / O , R e g o r M e m 0044760 o r y ) \r \r \t E X T R N \t T a r 0045000 g e t S e g : \t W O R D \r \t E X 0045020 T R N \t T a r g e t O f f s e t 0045040 : \t W O R D \r \t E X T R N \t T a 0045060 r g e t M o d e : \t B Y T E \r \r 0045100 ; T h e f o l l o w i n g 0045120 i s u s e d a s a b r e 0045140 a k p o i n t t a b l e c o 0045160 n s i s t i n g o f a n e 0045200 376 001 \0 217 2 n t r y f o r t h 0045220 e \r ; s e g m e n t , o f f 0045240 s e t a n d t h e O P b 0045260 y t e t h a t w a s r e p 0045300 l a c e d . \r \r \t E X T R N \t B 0045320 k p t S e g : \t W O R D \r \t E X 0045340 T R N \t B k p t O f f s e t : \t 0045360 W O R D \r \t E X T R N \t B k p t 0045400 O P c o d e : \t B Y T E \r \t E X 0045420 T R N \t B k p t E n t r i e s : 0045440 \t B Y T E \r \r ; A r e a u s 0045460 e d b y t h e c o m s o 0045500 f t w a r e f o r a n i n 0045520 p u t b u f f e r . \r \r \t E X 0045540 T R N \t S t r L e n : \t B Y T E 0045560 \r \t E X T R N \t I n S t r : \t \t 0045600 B Y T E \r 376 \0 H > 356 \r ; T h e 0045620 s e a r e u s e f u l l t 0045640 e m p r e g s . \r \t E X T R N 0045660 \t T e m p : \t B Y T E \r \t E X T 0045700 R N \t T e m p W o r d : \t W O R 0045720 D \r 374 0045723