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