$ 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