




                         


                            M80


                          
.PA

			

                 1.  M80
                 ---------------------

1.1.          .... 3
2.	      .............. 3
2.1.	    ............................ 3
2.1.1.	  ............................................ 3
2.1.2.	  ,   .......................... 3
2.1.3.	   ................................ 4
2.2.   ............................................... 4
2.2.1.	     ............... 4
2.2.2.	     .................... 5
2.2.3.	   ..................................... 5
2.3.     ...................... 6
2.3.1.	  .............................................. 6
2.3.2.	  ........................................... 6
2.3.3.	    .............................. 6
2.4.   ........................................... 7
2.4.1.	   .......................... 7
2.4.1.1.    ASEG............................................... 7
2.4.1.2.    COMMON............................................. 7
2.4.1.3.    CSEG............................................... 7
2.4.1.4.    DSEG............................................... 8
2.4.2.	  DB -  ............................... 8
2.4.3.      DC -  ............................. 8
2.4.4.	  DS -  ............................ 8
2.4.5.	  DW -  .............................. 9
2.4.6.	  END................................................ 9
2.4.7.	  ENTRY/PUBLIC........................................9
2.4.8.	  EQU.................................................9
2.4.9.	  EXT/EXTRN..........................................10
2.4.10.	  INCLUDE............................................10
2.4.11.	  NAME...............................................10
2.4.12.	  ORG -   ........................10
2.4.13.	  PAGE...............................................11
2.4.14.	  SET................................................11
2.4.15.     TITLE..............................................11
2.4.16.	  SUBTTL.............................................11
2.4.17.	  .COMMENT...........................................11
2.4.18.	  .PRINTX............................................12
2.4.19.	  .RADIX.............................................12
2.4.20.	  .REQUEST...........................................12
2.4.21	   .............................13
2.4.21.1.   ELSE...............................................13
2.4.21.2.   ENDIF..............................................13
2.4.22.        .........14
2.4.23.	    ........................14
2.5.          ...............................15
2.5.1.	  .......................................15
2.5.2.	   REPT-ENDM.....................................15
2.5.3.	    IRP-ENDM.....................................15
2.5.4.	   IRPC-ENDM.....................................16
2.5.5.	  MACRO..............................................16
2.5.6.	  EXITM..............................................17
2.5.7.	  LOCAL..............................................17
2.5.8.	     .................18
3.              M80........20
3.1.          .    .20
3.2.         ...................................21
3.3.         ....................................21
3.4.          ...............................22

4.              - CREF........24

5.           L80....................................25

5.1.         ............................25
5.2.          ...........................25
5.3.         ...................................26
5.4.          ...............................28

6.           LIB...................................29

6.1.         ............................29
6.2.          ...........................29
6.3.          ..........................29
6.4.         .................................30
6.5.          .................31

                  1
                 ------------
              58080.................32

                  2
                 ------------
               58080.............34

                  3
                 ------------
               58080......................36

                  4
                 ------------
               ................42

                  5
                 ------------
               
              ..........................47



                    1.  - M80
                    -----------------------

     1.1.     

      -     -
  ( ).   
,    ,   .
     L80    
(    )  ,   .

          
     .

         
        .

              M80.COM.

     2.     

     2.1.   

     2.1.1. 

         M80   .
    :
     -    A  Z ;
     -  0  9 ;
     -  + - , : ; ( ) ' # $  ;

     2.1.2. ,   

      -   16- .   
     ,     
 :

    NNNNNNNN B        -     (  N - 0  1 )

    NNNN O  NNNN Q -  (  N - 0...7 )

    NNNN H  NNNN X -  (  N - 0...9,
                        A,B,C,D,E,F ),  
                         ,     0
                        0NNNN H  0NNNN X

             .
   .    .RADIX  
     2  16.   
       16 .

       -  ,    
  .

       ,   , 
    ,  
  () CP/M. ,   "A"
 41H.

       ,   , 
 ,       
,     -   .  ,
  "AB"   41H*256+42H.

      -   ,     .
     ,     
. , 

        DB """"""

 

       ""

         ,    
 .

     2.1.3.  

                
,       6 .    
  :

       A  Z ,   0  9 , $ , . , ? , @

      .
             
  .


     2.2. 

     2.2.1.    

         ,  
    .

	NUL
	LOW,HIGH
	*,/,MOD,SHR,SHL
	 
	+,-
	EQ,NE,LT,LE,GT,GE
	NOT
	AND
	OR,XOR

           
.       ,
   .   , 
    ,    .

       ,  +,-,*,/,     
    .     (HIGH,LOW)
    8    16- .
      ,  HIGH 
LOW   ,    .

     2.2.2.    

       ,     
,    ,   .
      ,
    COMMON (.2.4.1.).

       ,    ASEG,
CSEG ( )  DSEG,   , 
    .   
COMMON       COMMON,  
    COMMON.    
COMMON  ,      
COMMON.

       ,    ,  
  .

         :

1)         ;
2)  +  = .

        :

1)  -  = ;
2)  -  = ,

  2)        .

            
  ,     
.  ,  FOO,BAZ  ZAZ -   
,  :

	FOO + BAZ - ZAZ

   , ..     
  .    , :

	FOO + (BAZ - ZAZ)

     2.2.3.  

          (EXTRN)   (. .
2.2.9.).     2 .   
       :

1) EXTRN      ;
2)       EXTRN,
       EXTRN;
3)     (   )
     EXTRN;
4)        EXTRN.

     2.3.   

          .
    :

	: () () ;

      ,     .


     2.3.1. 

      -   ,    .
  ,      
.        .
     ,    
 (PUBLIC)        .


     2.3.2. 

          ,    
.     :

     1)   58080 ;
	2)  ;
	3)  ;
	4) .

          ,   
   DB.

     2.3.3.   

         .  
       ,   
.

           
 58080.     , 
      .

     .

	MVI A,JMP
	ADI CPI
	MVI B,RNZ
	CPI INX H
	ACI LXI B
	MVI C,MOV A,B

             (CPI 5,
LXI B,LAM,JMP A5),      .

         .  
    ;   CR ().

     2.4. 

     2.4.1.  

        M80  
  .      
 ,      ,
   .   ,    
  ,       
( ),        (
 ).       
DSEG  CSEG.   ASEG   
 () .  COMMON  
        COMMON.

         ASEG, CSEG  DSEG  
 ,      
   ,   
 .      
     ORG (.2.4.12).   
   CSEG.

     2.4.1.1. ASEG

      :

	ASEG

     ASEG       
 .       ASEG (
 0),   ASEG   ORG.


     2.4.1.2. COMMON

      :

     COMMON /" "/

     COMMON       
 .     COMMON   
     .  " "  
  ,   COMMON  .


     2.4.1.3. CSEG

      :

     CSEG


     CSEG      
   ,   .
      CSEG (
 0),    CSEG    ORG. 
 CSEG    .

  2.4.1.4. DSEG

      :

     DSEG

     DSEG      
   ,  .  
     DSEG (  0),
    ORG.


     2.4.2. DB -  

      :

     DB "","",...   
     DB "" [""...]

       DB     . DB 
        
,   ,    . 
     .   
 0  255,      .  
   A.

          ,   2-
.     ,   
,  .

	:

	0000'  41 42     DB 'AB'
	0002'  42        DB 'AB' AND 0FFH
	0003'  41 42 43  DB 'ABC'


     2.4.3. DC -  


      :

     DC ""

     DC  ,  "",,
  ,    .    DB
 ,     ,   
 1.   ,     .


     2.4.4. DS -  

      :

     DS ""

     DS   .    ,
    .   , 
 ,        
  .      
  V,     -  U.   
  U  ,        ,
.. DS    .


     2.4.5. DW - ) 

      :

     DW "","",...

     DW       ,
  ,    .   
  .


     2.4.6. END

      :

     END ""

      END    .   
"",       .  
"" ,   L80   
.

     *) .     
          ,      
         .      L80 
           "  ".   
              
        , , ,  ,  
           , ..     
        .


     2.4.7. ENTRY/PUBLIC

      :

     ENTRY "","",...  
     PUBLIC "","",...

     ENTRY  PUBLIC   ,   ,
 ,  .      
   .     ENTRY/PUBLIC 
 ,      U. , 
ENTRY  PUBLIC,       
 L80    .

     2.4.8. EQU

      :

     "" EQU ""

       EQU    
.   ""  EXTRN,    
.

     2.4.9. EXT/EXTRN

      :

     EXT "","",...   
     EXTRN "","",...

     EXT  EXTRN     (EXTRN), ..
   .   ,   ,
   ,       M.
     (##),    
 .


     2.4.10. INCLUDE

      :

     INCLUDE " "

       INCLUDE, $INCLUDE  MACLIB .
 INCLUDE      
,    . " " -   ,
  .      .MAC.

     ,    INCLUDE,  
        INCLUDE.

          ,  
 ,        "+".

       INCLUDE  .   ,
  INCLUDE,  ,     
 "V"    .

     2.4.11. NAME

      :

     NAME (' ')

     NAME   .    ""  
  .        
TITLE.     NAME  TITLE,    
   .


     2.4.12. ORG -   

      :

     ORG ""

        .     
     .

     2.4.13. PAGE

      :

     PAGE ""

      PAGE      
 .      "", 
     .       
 1  255.       50.


     2.4.14. SET

      :

     "" SET ""

     SET    ,   EQU,   
 SET    .    
SET   .


     2.4.15. TITLE

      :

     TITLE ""

     TITLE   ,    
   .      
  TITLE      Q.  
  NAME,      
 .       NAME,  TITLE,   
     .


     2.4.16. SUBTTL

      :

     SUBTTL ""

          , 
 TITLE.   ""    60 .
      SUBTTL.

     2.4.17.  .COMMENT

      :

     .COMMENT """"""

      ,   .COMMENT    ,
 .     
     .  
,     -   
,       .
     2.4.18.  .PRINTX

      :

     .PRINTX """"""

        .PRINTX,   , 
. ,   ,   
     ,    
 -    .

     *) . .PRINTX     
        , ,      
        - ,      IF1
         IF2.


     2.4.19.  .RADIX

      :

     .RADIX ""

           - .
 .RADIX      
 ( 2  16).  ""  .RADIX   
      ,
   .


     2.4.20.  .REQUEST

      :

     .REQUEST " "," ",...

          L80  
    ,   . 
           . L80
         .REL   
.


     2.4.21.  

       

   IF/IFT ""    ,  ""   0
   IFE/IFF ""   ,  ""  0
   IF1                      
   IF2                      
   IFDEP ""        ,  ""    
                         EXTERNAL

   IFDEF ""        ,  ""     
                          EXTERNAL

   IFB ""        ,  ""  .
                              

   IFNB ""       ,  ""  .
                            
                         .      
                         .

  IFIDN "1",    ,   "1" 
        "2"      "2".     
                         .

   IFDIF "1",   ,   "1"   
         "2"     "2".

         :

     IF XXX []
     .
     .
     .
     [ELSE
     .
     .
     ]
     ENDIF

        , ..  
 .       
      .   IF, IFT,
IFF  IFE        
   .


     2.4.21.1.  ELSE

           
 ELSE,     ,
    .    IF  
 ELSE,   ELSE    IF.

     2.4.21.2.  ENDIF

       IF    
 ENDIF,  .

     2.4.22.  ,   

             
: .LIST  .XLIST

        ,    .

          .LIST,   
.    .XLIST,   
,     .LIST.

      ,   , 
 :

   .SFCOND         ,   
                "";

   .LFCOND         ,   
                "";

   .TFCOND         ,   
                "",     /X.

          .CREF 
.XCREF.   -  ,   
.     - .CREF.  
 .XCREF,       
,      .CREF.

         MACRO/REPT/IRP/IRPC    
:

   .LALL         ;
   .SALL        ;
   .XALL          
              (  ).



     2.4.23.    

            
: .PHAZE  .DEPHAZE    
   ,     , ,
.

       .PHAZE    ,  
 .DEPHAZE -  .

	.

	0000'                  .PHAZE
	0100   CD 0106   F00:  CALL BAZ
	0103   C3 0007         JMP Z00
	0106   C9        BAZ:  RET
	0007'  C3 0005   Z00:  JMP 5

         .PHAZE    
     .PHAZE. , ,
     (..  0000'   ).
      100H  .

     2.5.   

       MACRO     
 (REPT, IRP, IRPC)    (MACRO).
     ENDM.


     2.5.1. 

          :
1) ".." -  

        
   ,     ;

2) " .." -   , 
   ;

3) " ." -  ,  .  
        .    
          ,   
     .      (  )
         
    .     
   ;

4) " ." -  ,  .


     2.5.2.  REPT-ENDM

      :

     REPT ""
     .
     .
     ENDM

       ""   ,
  REPT  ENDM,    .
""       .

     .

     X   SET    0
         REPT   10   ; DB 1 - DB 10
     X   SET    X+1
         DB     X
         ENDM

     2.5.3.  IRP-ENDM

      :

     IRP "..",< .>
     .
     .
     .
     ENDM

         ,    
 ,   IRP  ENDM.  
      
    .     
(<>),     1    
   .

     .

     IRP   X, <1,2,3,4,5,6,7,8,9,10>
     DB    X
     ENDM

         .



     2.5.4.  IRPC-ENDM

      :

     IRPC  "..", ( "")
     .
     .
     .
     ENDM

         ,    
   IRPC  ENDM.     
 .       
     .

     .

     IRPC   X, 0123456789
     DB     X+1
     ENDM

         .


     2.5.5.  MACRO

      :

     "" MACRO " .."
     .
     .
     .
     ENDM

       MACRO       
     .

     "" -   ,     
  .

     " .." -   ,  
 (  )  
 .   MACRO  ENDM 
 .

         :

     "" " ."

  "" -    MACRO  ;
     " ." -    ,   
          .

            
,     .    
     ,   
     .

     .

     F00  MACRO  X
     Y    SET    0
          REPT   X
     Y    SET    Y+1
          DB     Y
          ENDM
          ENDM

       F00 10     
,     .


     2.5.6. EXITM

      EXITM    REPT/IRP/IRPC  
 MACRO.    EXITM   
,        .  
 ,  EXITM,    ,   
 .


     2.5.7. LOCAL

      :

     LOCAL " .."

           MACRO.  
  LOCAL      
          
         
.  ,     
     MACRO.    
       
  .   ,   
 LOCAL,     ..0001  ..FFFF.  
        ..NNNN. 
    LOCAL ,  LOCAL     
 .


     2.5.8.    

     &        
          .   ,  
            ,     , 
               .    
                 
            &.

     .

     ERG    MACRO   X
     ERROR&X: PUSH   BX
              MVI    BX,'&X'
              JMP    ERROR
              ENDM


         ERG A    
:

     ERROR&A: PUSH B
              MVI B,'A'
	      JMP ERROR

     *) .     , 
        .  
  ERRORA   ERROR&A.

     ;;             
           ,        
           ,    .LALL;

     $          ;

     !     ,      
           ;

     NUL    ,   "",   
             .     NUL
               NUL.  IF NUL
             "",      
                   "CR" ().  
                 
                 IFB  
           IFNB;

     %          
          .  %      
          (  )      
          .       
             .   % 
               (  
          -      ).  ,  
           %,     ,   
           DS.

	.

      LB,    MACLAB,   
  MACRO. %  LB     Y 
  .   %     'ERROR 
LB'.

	MACLAB MACRO  Y
	ERR&Y: DB 'ERROR &Y',0
	       ENDM
	MACERR MACRO X
	LB     SET 0
	       REPT X
	LB     SET LB+1
	       MACLAB %LB
	       ENDM
	       ENDM

       MACERR  3 :

	ERR1: DB 'ERROR 1',0
	ERR2: DB 'ERROR 2',0
	ERR3: DB 'ERROR 3',0

  TYPE     TYPE  ,   
           :      
            (EXTRN)  .    TYPE  
             (, , ).  
           ,  TYPE  .  
            :      
             :

            0   ;
	    1    ;
	    2    ;
	    3   COMMON .

            (80H) -  EXTRN.     
           ,    1.    - (20H).  
            ,     1.    
               EXTRN,    
           0. TYPE    ,  
             .


         3.     M80

     3.1.   .    

          ,  
       MAC.   
      REL,   
  .   ,      
       .

           
 :

	1)	M80
	2)	M80 " "

       (1) M80     "*"   
 .   (2)    
  M80.

       :

     " 1"," 2"=" 3"

   " 1" -  ,      
       ;

      " 2" - ,     . 
          (TTY:),   
      (LST:)    ;

       " 3" -  ,    .

      " 1"  " 2" ,       
 .    " 1"  REL,  " 2",  
   PRN,   " 3"  MAC.    
    ,        
.

     :

   *=SOURSE.MAC         SOURSE.MAC   
                          SOURSE.REL

   *,LST:=TEST          TEST.MAC   
                         LST;

   *SMALL,TTY:=TEST     TEST.MAC,   
                        SMALL.REL,     
                      .



     3.2.  

            ,  
     .

                        
     ----                   --------
      /O            ..   
               

      /H            .. 
                 ( 
              )

      /X        ,    
             ""

      /P      

      /L       

      /C       


       .

       *=TEST/L/P        TEST.MAC.   
                          TEST.REL,   -   
                       TEST.LST.


     3.3.  

            :

	[TITLE ]      MACRO        PAGE  X [-Y]
	[SUBTITLE ]

     TITLE  -    TITLE; X - 
          .      
              .  
           X=S; Y -   . 
           -   PAGE   
          ;

        SUBTITLE - ,  SUBTITLE.   
               ,   
          .    :

    [CRF#]   [ERROR]   LOC#M   !XX!XXXX! ......   

         ,     
 -   ,     .

     ERROR -   ,     .  
  ,   ERROR  .  
   ,      
.

     LOG#M -   ,      
/M  /0   16- ,  4 ,  8- 
,  6 .    -   
:

	'	  ;
	"	  ;
	!	 COMMON ;
           ;
	*	 .

        ,       
 (     ).    
  ,    INCLUDE,   
   C.     (MACRO, REPT, 
IRP, IRPT),      "+".    
 .

           .    
     ,   
    .    
    ,    
  .    PUBLIC,    
   I.      
:

	U	 ;
	C	  COMMON;
	*	 ;
           ;
	'	 ;
	"	 ;
	!	COMMON .


     3.4.   

           ()   
 .        ,  
    .

            
	----		 --------
      A     .     
               .

      C     . ELSE  IF; ENDIF  IF;  
          ELSE   IF.

	 D	   .

      E      EXTRN.    
           ,  EXTRN.

	 M	   .

      N     .     ( 8Q).

      O        . ENDM, LOCAL 
           ; SET, EQU  MACRO  ;   
            ;    .

      P    .       EQU  
		 .

      Q   .   ,    .
		    .

      R   .      
          .

 	 U	  .

	 V	 .
                 
            .  , 
            ,  ,    
            U   .

            :

  'NO END STATEMENT ENCOUNTED ON INPUT FILE '
    END

  'UNTERMINATED CONDITIONAL'
            

  'UNTERMINATED REPT/IRP/IRPC/MACRO'
        

  [XX]  [NO]  FATAL ERROR(S)  [,XX WARNINGS]
      .     
         



     4.     - CREF

             
M80    .  MACRO   ,  
  /C.     /C   .LST  
   .CRF.   ,  M80  ,  
  CREF.

       CREF     *   
 .     CREF:

     * . = .

          - .CRF.   CREF  
  .PRN,    .   
    :

   -     ;
   -        
          ,   .  
      ,      , 
       #.


                  5.  - L80
                  --------------------

   5.1.  

          ,   
.        
,     .

   5.2.   

            L80.COM    
    :

1)     L80
2)     L80 " "

        (1)         
*     .

       (2)      
.

       L80     ,  
,   .       
.   :

	 1, 2,..., N

        - REL.
            ,    
  .       .

          ,  
 ,     
( EXTRN),  *.   ,   
     .

	.

* MAIN
  DATA   0100  0200     100H-200H
  SUBR1* 	    (SUBR1  )
* SUBR1
  DATA   0100  0300     100H-300H
*

             
    ,  .

   5.3.  

               
     .    :

     -   ;
     -   ;
     -    .

                       
   ----                   ---------------------

   /R          .  L80   .

   /E        ,   L80   
   /E:""     .       
                     
                .      L80 
                 :   ,   
                     ( 256
               ).    "",     
                 . ""     
                 .  /E    
                      .

   /G           .  L80 
   /G:""       ,     /E,  
                      
               .    L80  
               :

			BEGIN EXECUTION

   /N            " " /N,     
                   .    COM. 
                        /E 
                /G.

   /P  /D     /P  /D      
                 . /P  /D    
                 .

		 :

                /P:<>  /D:<>

             <> -       
                   (16-  ; 
                 /O  8-  ,  /H 
                - 16-).   L80   /P:103, 
                 3   JMP   .

          *) .    /P  /D  
                 ,    100,  
                      .   
                 /D  ,       
                   .     
                /D,   DATA  COMMON    
                .

		.

     */P:200             200

     */R             
     */P:200 /D:400     200,    
                     400  F00.


   /U                 ,  
                  EXTRN    
                 .     
                 ,    /D.

   /M                 ,  
                EXTRN       
               EXTRN.

   /S             EXTRN  
                 ,     
               /S.

   /X           :  /N,  /X    
               "".HEX

	:

* EX,EX1,EXAM/N/E       EX.REL
			 EX1.REL.     EXAM.COM

* MYLIB/S,MYSUB,MYPOG/N,MYPROG/M/G
                 EXTRN   MYLIB.REL.    
                 MYSUB.REL  MYPROG.REL.   
                MYPROG.COM.    EXTRN.  
                MYPROG.

            /E  /G.


   5.4.   

        L80     
:

? NO START ADDRESS
                 .     /G,  
                  .

? LOADING ERROR
                .      
                      L80 .

? OUT OF MEMORY
                .     
                

? COMMAND ERROR  
                 .  L80    .

? FILE NOT FOUND
                 .     REL   
                .

% 2ND COMMON LARGER /XXXXXX/
                COMMON .     COMMON 
                 COMMON  .   
                     
               COMMON.

% MULT.DEF.GLOBAL YYYYYY
                  .     
                   ENTRY   .

% OVERLAYING PROGRAM AREA, START=XXXX
	     DATA	 , PUBLIC="."(XXXX)
			 , EXTERNAL="."(XXXX)
                 .   /P  /D 
                   .

? INTERSECTING PROGRAM AREA
	       DATA
                   .

? START SYMBUL-""-UNDEFINED
                   .    /E: 
                /G: ,   ,   
               .

ORIGIN ABOVE LOADER MEMORY< MOVE ANYWAY (J OR N)?
      [BELOW]
                   .     
               ?

                 6.  - LIB
                 ---------------------

   6.1.  

            
  .     
     .


   6.2.   

           LIB.COM.    
   :

		LIB

              
 * .  ,         
 .       - 
(       ),    
 -.     , 
       .   
     REL,     
    REL.    -  ,  
    FORLIB.LIB.

       -     
.       - 
        .

            LIB.

	.

	LIB MYLIB = ALFA,BETA,GAMMA


   6.3.  -

     -     :

     -     .    
       ;
     -     .       
             .        
       .             
            .  
           .

	.

	BILIB <FIRST,MIDDLE,LAST>

          ,     
 (..).
     <.."  ">     ,
    .
     <" "..>    ,  
 .
     <"  1".."  2">   
  ,    "  1"   "
 2".

        " "+-N,  N   255.
     <""+1>  ,   .
     <""-1>  ,   .

	.

	<SIN+1..COS-1>   ,   ,
	     SIN,   ,
	   COS.


   6.4.  

          :

  /O     /L    ;

  /H     /L    ;

  /U       ,    
           ;

  /L             
           ;

  /C      ;

  /E         .    ,
           LIB,     REL.
              ;

  /R        ,       /E,        
         .


	        !
	-----------------
	/E     FORLIB.REL.  
            ,    
	""    ^C.         
          "".LIB.   , 
         ERA.

     *) .       ,
          ,    ,   
          ENTRY.    , ..  
                .

   6.5. ,  

           LIB    /L,  
        , 
    :

     MODULE " " OF " "
     LENTH OF PROGRAM ""	-   
     LENTH DATA AREA ""	-   

     ENTRY POINT(S):		-  
     				"         ,
                                       
                                ENTRY,   "

     COMMON BLOCK(S):		-  COMMON
				"  COMMON"

     EXTERNAL REFERENCE(S):	-    
				"  ,
				    
				EXTRN"

              
    ,      ENTRY.

SYMBOL VALUE DEFINED REFERENCED -
			     
			"  "


        LIB    
 :

     OUT OF MEMORY		 

     COMMAND ERROR		 

     FILE READ ERROR		   

     FILE NOT FOUND		  

     CAN'T ENTER FILE		   

     MODULE NAME/NUMBER NOT FOUND IN FILE
               /    

     FIRST MODULE IN UNTIL CLAUSE AFTER LAST
	          

     LIBRARY WRITE ERROR	    

     UNSATISFIED EXTERNAL REQUEST(S)
				  EXTRN


                                         1

            58080
          ----------------------------------

                                             
                          
  ---------            ---------            ---------
40  MOV B,B          60  MOV H,B           06  MVI B,D8
41  MOV B,C          61  MOV H,C           0E  MVI C,D8
42  MOV B,D          62  MOV H,D           16  MVI D,D8
43  MOV B,E          63  MOV H,E           1E  MVI E,D8
44  MOV B,H          64  MOV H,H           26  MVI H,D8
45  MOV B,L          65  MOV H,L           2E  MVI L,D8
46  MOV B,M          66  MOV H,M           36  MVI M,D8
47  MOV B,A          67  MOV H,A           3E  MVI A,D8

48  MOV C,B          68  MOV L,B           01  LXI B, D16
49  MOV C,C          69  MOV L,C           11  LXI D, D16
4A  MOV C,D          6A  MOV L,D           21  LXI H, D16
4B  MOV C,E          6B  MOV L,E           31  LXI SP,D16
4C  MOV C,H          6C  MOV L,H
4D  MOV C,L          6D  MOV L,L              
4E  MOV C,M          6E  MOV L,M             --------
4F  MOV C,A          6F  MOV L,A           0A  LDAX B
                                           1A  LDAX D
50  MOV D,B          70  MOV M,B           2A  LHLD ADR
51  MOV D,C          71  MOV M,C           3A  LDA  ADR
52  MOV D,D          72  MOV M,D
53  MOV D,E          73  MOV M,E              
54  MOV D,H          74  MOV M,H             --------
55  MOV D,L          75  MOV M,L           02  STAX B
56  MOV D,M                                12  STAX D
57  MOV D,A          77  MOV M,A           22  SHLD ADR
                                           32  STA  ADR
58  MOV E,B          78  MOV A,B
59  MOV E,C          79  MOV A,C           
5A  MOV E,D          7A  MOV A,D             
5B  MOV E,E          7B  MOV A,E           -----------
5C  MOV E,H          7C  MOV A,H           00  NOP
5D  MOV E,L          7D  MOV A,L           76  HLT
5E  MOV E,M          7E  MOV A,M           F3  DI
5F  MOV E,A          7F  MOV A,A           FB  EI

                                   16-
             -              
-----------          ----------            ------------
C5  PUSH B           D3  OUT D8            09  DAD B
D5  PUSH D           DB  IN  D8            19  DAD D
E5  PUSH H                                 29  DAD H
F5  PUSH PSW                               39  DAD SP

C1  POP B                            
D1  POP D                            
E1  POP H            -------               --------
F1  POP PSW          07  RLC               EB  XCHG
                     0F  RRC               27  DAA
E3  XTHL             17  RAL               2F  CMA
F9  SPHL             1F  RAR               37  STC
                                           3F  CMC

       
                           
--------------       ----------            ---------
80  ADD B            A0  ANA B             04  INR B
81  ADD C            A1  ANA C             0C  INR C
82  ADD D            A2  ANA D             14  INR D
83  ADD E            A3  ANA E             1C  INR E
84  ADD H            A4  ANA H             24  INR H
85  ADD L            A5  ANA L             2C  INR L
86  ADD M            A6  ANA M             34  INR M
87  ADD A            A7  ANA A             3C  INR A

88  ADC B            A8  XRA B             03  INX B
89  ADC C            A9  XRA C             13  INX D
8A  ADC D            AA  XRA D             23  INX H
8B  ADC E            AB  XRA E             33  INX SP
8C  ADC H            AC  XRA H
8D  ADC L            AD  XRA L             
8E  ADC M            AE  XRA M             ---------
8F  ADC A            AF  XRA A             05  DCR B
                                           0D  DCR C
90  SUB B            B0  ORA B             15  DCR D
91  SUB C            B1  ORA C             1D  DCR E
92  SUB D            B2  ORA D             25  DCR H
93  SUB E            B3  ORA E             2D  DCR L
94  SUB H            B4  ORA H             35  DCR M
95  SUB L            B5  ORA L             3D  DCR A
96  SUB M            B6  ORA M
97  SUB A            B7  ORA A             0B  DCX B
                                           1B  DCX D
98  SBB B            B8  CMP B             2B  DCX H
99  SBB C            B9  CMP C             3B  DCX SP
9A  SBB D            BA  CMP D
9B  SBB E            BB  CMP E             .
9C  SBB H            BC  CMP H             ----------
9D  SBB L            BD  CMP L             C7  RST 0
9E  SBB M            BE  CMP M             CF  RST 1
9F  SBB A            BF  CMP A             D7  RST 2
                                           DF  RST 3
C6  ADI,D8           E6  ANI,D8            E7  RST 4
CE  ACI,D8           EE  XRI,D8            EF  RST 5
D6  SUI,D8           F6  ORI,D8            F7  RST 6
DE  SBI,D8           FE  CPI,D8            FF  RST 7

                                
-------              ---------             ---------
C3  JMP  ADR         CD  CALL  ADR         C9  RET
C2  JNZ  ADR         C4  CNZ   ADR         C0  RNZ
CA  JZ   ADR         CC  CZ    ADR         C8  RZ
D2  JNC  ADR         D4  CNC   ADR         D0  RNC
DA  JC   ADR         DC  CC    ADR         D8  RC
E2  JPO  ADR         E4  CPO   ADR         E0  RPO
EA  JPE  ADR         EC  CPE   ADR         E8  RPE
F2  JP   ADR         F4  CP    ADR         F0  RP
FA  JM   ADR         FC  CM    ADR         F8  RM
E9  PCHL


: D8- , D16- ,
            ADR-  (), - ,
            A,B,C,D,E,H,L,SP,PSW -  .
                                         2

             58080
          --------------------------------------

00  NOP                 30  -----             60  MOV H,B
01  LXI B,D16           31  LXI SP,D16        61  MOV H,C
02  STAX B              32  STA ADR           62  MOV H,D
03  INX B               33  INX SP            63  MOV H,E
04  INR B               34  INR M             64  MOV H,H
05  DCR B               35  DCR M             65  MOV H,L
06  MVI B,D8            36  MVI M,D8          66  MOV H,M
07  RLC                 37  STC               67  MOV H,A
08  -----               38  -----             68  MOV L,B
09  DAD B               39  DAD SP            69  MOV L,C
0A  LDAX B              3A  LDA ADR           6A  MOV L,D
0B  DCX B               3B  DCX SP            6B  MOV L,E
0C  INR C               3C  INR A             6C  MOV L,H
0D  DCR C               3D  DCR A             6D  MOV L,L
0E  MVI C,D8            3E  MVI A,D8          6E  MOV L,M
0F  RRC                 3F  CMC               6F  MOV L,A



10  -----               40  MOV B,B           70  MOV M,B
11  LXI D,D16           41  MOV B,C           71  MOV M,C
12  STAX D              42  MOV B,D           72  MOV M,D
13  INX D               43  MOV B,E           73  MOV M,E
14  INR D               44  MOV B,H           74  MOV M,H
15  DCR D               45  MOV B,L           75  MOV M,L
16  MVI D,D8            46  MOV B,M           76  HLT
17  RAL                 47  MOV B,A           77  MOV M,A
18  -----               48  MOV C,B           78  MOV A,B
19  DAD D               49  MOV C,C           79  MOV A,C
1A  LDAX D              4A  MOV C,D           7A  MOV A,D
1B  DCX D               4B  MOV C,E           7B  MOV A,E
1C  INR E               4C  MOV C,H           7C  MOV A,H
1D  DCR E               4D  MOV C,L           7D  MOV A,L
1E  MVI E,D8            4E  MOV C,M           7E  MOV A,M
1F  RAR                 4F  MOV C,A           7F  MOV A,A



20  -----               50  MOV D,B           80  ADD B
21  LXI H,D16           51  MOV D,C           81  ADD C
22  SHLD ADR            52  MOV D,D           82  ADD D
23  INX H               53  MOV D,E           83  ADD E
24  INR H               54  MOV D,H           84  ADD H
25  DCR H               55  MOV D,L           85  ADD L
26  MVI H,D8            56  MOV D,M           86  ADD M
27  DAA                 57  MOV D,A           87  ADD A
28  -----               58  MOV E,B           88  ADC B
29  DAD H               59  MOV E,C           89  ADC C
2A  LHLD ADR            5A  MOV E,D           8A  ADC D
2B  DCX H               5B  MOV E,E           8B  ADC E
2C  INR L               5C  MOV E,H           8C  ADC H
2D  DCR L               5D  MOV E,L           8D  ADC L
2E  MVI L,D8            5E  MOV E,M           8E  ADC M
2F  CMA                 5F  MOV E,A           8F  ADC A


90  SUB B               C0  RNZ               F0  RP
91  SUB C               C1  POP B             F1  POP PSW
92  SUB D               C2  JNZ ADR           F2  JP ADR
93  SUB E               C3  JMP ADR           F3  DI
94  SUB H               C4  CNZ ADR           F4  CP ADR
95  SUB L               C5  PUSH B            F5  PUSH PSW
96  SUB M               C6  ADI D8            F6  ORI D8
97  SUB A               C7  RST 0             F7  RST 6
98  SBB B               C8  RZ                F8  RM
99  SBB C               C9  RET               F9  SPHL
9A  SBB D               CA  JZ ADR            FA  JM ADR
9B  SBB E               CB  -----             FB  EI
9C  SBB H               CC  CZ ADR            FC  CM ADR
9D  SBB L               CD  CALL ADR          FD  -----
9E  SBB M               CE  ACI D8            FE  CPI D8
9F  SBB A               CF  RST 1             FF  RST 7


A0  ANA B               D0  RNC
A1  ANA C               D1  POP D
A2  ANA D               D2  JNC ADR
A3  ANA E               D3  OUT D8
A4  ANA H               D4  CNC ADR
A5  ANA L               D5  PUSH D
A6  ANA M               D6  SUI D8
A7  ANA A               D7  RST 2
A8  XRA B               D8  RC
A9  XRA C               D9  -----
AA  XRA D               DA  JC ADR
AB  XRA E               DB  IN D8
AC  XRA H               DC  CC ADR
AD  XRA L               DD  -----
AE  XRA M               DE  SBI D8
AF  XRA A               DF  RST 3


B0  ORA B               E0  RPO
B1  ORA C               E1  POP H
B2  ORA D               E2  JPO ADR
B3  ORA E               E3  XTHL
B4  ORA H               E4  CPO ADR
B5  ORA L               E5  PUSH H
B6  ORA M               E6  ANI D8
B7  ORA A               E7  RST 4
B8  CMP B               E8  RPE
B9  CMP C               E9  PCHL
BA  CMP D               EA  JPE ADR
BB  CMP E               EB  XCHG
BC  CMP H               EC  CPE ADR
BD  CMP L               ED  -----
BE  CMP M               EE  XRI D8
BF  CMP A               EF  RST 5





: D8- , D16- ,
            ADR-  (), - ,
            A,B,C,D,E,H,L,SP,PSW -  .

                                              3

                  58080

+------------+---------------------+--------------------------+
!   !             !                !
+------------+---------------------+--------------------------+
!            !                     !   (D8) -!
! MVI R,D8   !      R <--- D8      !    (R) !
!            !                     !     (M). !
! MVI M,D8   !  M(HL) <--- D8      !    - !
!            !                     !    HL!
!            !  R=A,B,C,D,E,H,L    !      !
+------------+---------------------+--------------------------+
!            !                     !  16-   !
! LXI YZ,D16 !     YZ <--- D16     !     !
!            !                     ! YZ (BC,DE,HL,SP).        !
!            ! YZ=B(C),D(E),H(L),SP!      !
+------------+---------------------+--------------------------+
! MOV R,R1   !      R <--- R1      !    -   !
! MOV M,R    !      R ---> M(HL)   !    .  !
! MOV R,M    !      R <--- M(HL)   !                          !
!            ! R,R1=A,B,C,D,E,H,L  !      !
+------------+---------------------+--------------------------+
!            !                     !   ,!
!            !                     !    !
! LDA ADR    !      A <--- M(ADR)  ! (ADR),  - !
!            !                     ! .               !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !   ,!
! LDAX B     !      A <--- M(BC)   !   -!
!            !                     !  (BC)  (DE),- !
! LDAX D     !      A <--- M(DE)   !   .  !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !     !
!            !   L <--- M(ADR)     !  ,!
! LHLD ADR   !                     !   (ADR),-!
!            !   H <--- M(ADR+1)   !      !
!            !                     ! (HL).                    !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !    !
!            !                     !    -!
! STA ADR    !      A ---> M(ADR)  ! ,  -  !
!            !                     !  (ADR).           !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !    !
! STAX B     !      A ---> M(BC)   !    -!
!            !                     ! ,   !
! STAX D     !      A ---> M(DE)   !  (BC)  (DE). !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !   !
!            !    L ---> M(ADR)    ! (HL),  -!
! SHLD ADR   !                     !   ,-!
!            !    H ---> M(ADR+1)  !    (ADR).!
!            !                     !      !
+------------+---------------------+--------------------------+
+------------+---------------------+--------------------------+
!   !             !                !
+------------+---------------------+--------------------------+
!            !                     !     !
!  XCHG      !    HL <---> DE      !  (HL)  (DE).   !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !       !
!  SPHL      !     HL ---> SP      !       !
!            !                     !  (HL).          !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !   !
!  XTHL      !    L <---> M(SP)    !    (HL).   !
!            !    H <---> M(SP+1)  !      !
+------------+---------------------+--------------------------+
!            !    YZ ---> M(SP-1), !    -!
!            !    YZ ---> M(SP-2), !    (YZ)  !
! PUSH YZ    !   (SP-2) ---> SP    !      !
!            !                     !    2.    !
!            !YZ=B(C),D(E),H(L),PSW!      !
+------------+---------------------+--------------------------+
!            !                     !   -!
!            !     M(SP) ---> YZ   !     (YZ) !
!            !   M(SP+1) ---> YZ   !      !
!  POP YZ    !    (SP+2) ---> SP   !    2.    !
!            !                     !   POP PSW - !
!            !YZ=B(C),D(E),H(L),PSW!   .     !
+------------+---------------------+--------------------------+
!            !                     !    - !
!  PCHL      !    HL ---> PC       !    - !
!            !                     !  (HL).            !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !   D8(N) ---> A      !     (N)  !
!  IN N      !                     !  .           !
!            !    N = 00...FF      !      !
+------------+---------------------+--------------------------+
!            !   A ---> D8(N)      !   -!
!  OUT N     !                     !    (N).       !
!            !    N = 00...FF      !      !
+------------+---------------------+--------------------------+
!  NOP       !          !          !
+------------+---------------------+--------------------------+
!            !                     !      !
!            !                     !    ,!
!  HLT       !              !     !
!            !                     !   "".  !
+------------+---------------------+--------------------------+
!  EI        !      INTE=1         !       !
+------------+---------------------+--------------------------+
!  DI        !      INTE=0         !       !
+----------------+-----------------+--------------------------+
!    !     !                          !
+----------------+-----------------+      !
!  RST 0   0000  !  RST 4   0020   !                          !
!  RST 1   0008  !  RST 5   0028   !    !
!  RST 2   0010  !  RST 6   0030   !                          !
!  RST 3   0018  !  RST 7   0038   !                          !
+----------------+-----------------+--------------------------+

+------------+---------------------+--------------------------+
!   !             !                !
+------------+---------------------+--------------------------+
!  ADD R     !     A+R ---> A      !   -   !
!            !                     !     !
!  ADD M     ! A+M(HL) ---> A      !  .         !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !                     !   -   !
!  ADC R     ! A+R+CARRY ---> A    !     !
!            !                     !    -!
!  ADC M     ! A+M(HL)+CARRY --> A !   .  !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !                     !   - !
!  SUB R     !     A-R ---> A      !   - !
!            !                     !      !
!  SUB M     ! A-M(HL) ---> A      ! .                  !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !                     !   - !
!  SBB R     ! A-R-CARRY ---> A    !   - !
!            !                     !      !
!  SBB M     ! A-M(HL)-CARRY --> A !    -!
!            !                     !  .           !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !    X1   X2   Y      !  ""  -!
!  ANA R     !   -------------     !      !
!            !    1    1    1      !      !
!  ANA M     !    0    1    0      ! ().            !
!            !    1    0    0      !   S,Z,P.   !
!            !    0    0    0      ! CARRY ---> 0             !
+------------+---------------------+--------------------------+
!            !    X1   X2   Y      !  "." !
!  XRA R     !   -------------     !     !
!            !    1    1    0      !     -!
!  XRA M     !    0    1    1      !  ().  !
!            !    1    0    1      !   S,Z,P.   !
!            !    0    0    0      ! CARRY ---> 0             !
+------------+---------------------+--------------------------+
!            !    X1   X2   Y      !  ""  -!
!  ORA R     !   -------------     !    - !
!            !    1    1    1      !    !
!  ORA M     !    0    1    1      ! ().            !
!            !    1    0    1      !   S,Z,P.   !
!            !    0    0    0      ! CARRY ---> 0             !
+------------+---------------------+--------------------------+
!            !            _        !      !
!   CMA      !     A ---> A        !      !
+------------+---------------------+--------------------------+
!            !                     !   - !
!   STC      !   CARRY ---> 1      !   "1"               !
!            !                     !  . .!
+------------+---------------------+--------------------------+
!            !              _____  !   -!
!   CMC      !   CARRY ---> CARRY  ! .                      !
!            !                     !  . .!
+------------+---------------------+--------------------------+


+------------+---------------------+--------------------------+
!   !             !                !
+------------+---------------------+--------------------------+
!            !                     !   - !
! ADI D8     !    A+D8 ---> A      !     (D8).  !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !                     !   - !
!            !                     !    (D8)   !
!  ACI D8    !  A+D8+CARRY ---> A  !  .         !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !                     !      !
!            !                     ! ,  !
!  SUI D8    !     A-D8 ---> A     !  (D8).              !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !                     !      !
!            !                     ! ,  !
!  SBI D8    !  A-D8-CARRY ---> A  !  (D8)   -!
!            !                     ! .                    !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            !   X1   X2   Y       !  ""  !
!            !  -------------      !    (D8)!
!  ANI D8    !   1    1    1       !                          !
!            !   0    1    0       !   S,Z,P.   !
!            !   1    0    0       ! CARRY ---> 0             !
!            !   0    0    0       !                          !
+------------+---------------------+--------------------------+
!            !   X1   X2   Y       !  ". "   !
!            !  -------------      !   !
!            !   1    1    0       !   (D8).            !
!  XRI D8    !   0    1    1       !                          !
!            !   1    0    1       !   S,Z,P.   !
!            !   0    0    0       ! CARRY ---> 0             !
+------------+---------------------+--------------------------+
!            !   X1   X2   Y       !  ""  -  !
!            !  -------------      !        !
!            !   1    1    1       !  (D8).              !
!  ORI D8    !   0    1    1       !                          !
!            !   1    0    1       !   S,Z,P.   !
!            !   0    0    0       ! CARRY ---> 0             !
+------------+---------------------+--------------------------+
!            !                     !   -!
!            !                     !    -!
!  CMP R     !    A-R ---> A       !    ,!
!            !                     !  .     !
!  CMP M     !  A-M(HL) ---> A     ! A = R ---> Z=1           !
!            !                     ! A < R ---> CARRY=1       !
!            !                     ! A >= R --> CARRY=0       !
+------------+---------------------+--------------------------+
!            !                     !   -!
!            !                     !       !
!            !                     !  (D8),    !
!  CPI D8    !    A-R ---> A       ! .                !
!            !                     ! A = R ---> Z=1           !
!            !                     ! A < R ---> CARRY=1       !
!            !                     ! A >= R --> CARRY=0       !
+------------+---------------------+--------------------------+

+------------+---------------------+--------------------------+
!   !             !                !
+------------+---------------------+--------------------------+
!            !                     !   1 !
!  INR R     !     R+1 ---> R      !    -!
!            !                     ! .                      !
!  INR M     ! M(HL)+1 ---> M(HL)  !   S,Z,AC,P.!
+------------+---------------------+--------------------------+
!            !                     !   1 !
!  INX YZ    !    YZ+1 ---> YZ     !   (YZ)      !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !   1 !
!  DCR R     !     R-1 ---> R      !    -!
!            !                     ! .                      !
!  DCR M     ! M(HL)-1 ---> M(HL)  !   S,Z,AC,P.!
+------------+---------------------+--------------------------+
!            !                     !   1 !
!  DCX YZ    !    YZ-1 ---> YZ     !   (YZ).     !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !     !
!  DAD YZ    !   YZ+HL ---> HL     !  (YZ)  -!
!            !                     !   (HL).     !
!            !                     !   CARRY    !
+------------+---------------------+--------------------------+
!            !                     !   - !
!   DAA      !                     !     !
!            !                     ! .  !
+------------+---------------------+--------------------------+
!            ! CARRY <--- 7 ,      !   - !
!            ! 7 <-- 6 , 6 <-- 5 , !   !
!   RLC      ! 5 <-- 4 , 4 <-- 3 , !                          !
!            ! 3 <-- 2 , 2 <-- 1 , !                          !
!            ! 1 <-- 0 , 0 <-- 7 . !   CARRY    !
+------------+---------------------+--------------------------+
!            ! 0 ---> CARRY ,      !   - !
!            ! 0 --> 7 , 7 --> 6 , !        !
!   RRC      ! 6 --> 5 , 5 --> 4 , ! .                  !
!            ! 4 --> 3 , 3 --> 2 , !                          !
!            ! 2 --> 1 , 1 --> 0 , !   CARRY    !
+------------+---------------------+--------------------------+
!            ! CARRY <--- 7 ,      !   - !
!            ! 7 <-- 6 , 6 <-- 5 , !   !
!   RAL      ! 5 <-- 4 , 4 <-- 3 , !   !
!            ! 3 <-- 2 , 2 <-- 1 , ! .                !
!            ! 1 <-- 0 , 0 <--CARRY!    CARRY   !
+------------+---------------------+--------------------------+
!            ! CARRY ---> 7 ,      !   - !
!            ! 7 --> 6 , 6 --> 5 , !        !
!   RAR      ! 5 --> 4 , 4 --> 3 , !     !
!            ! 3 --> 2 , 2 --> 1 , !  .       !
!            ! 1 --> 0 , 0 -->CARRY!   CARRY    !
+------------+---------------------+--------------------------+
!   !             !                !
+------------+---------------------+--------------------------+
!            !                     !      !
!  JMP ADR   !   ADR ---> PC       !  (ADR).            !
!            !                     !      !
+------------+---------------------+--------------------------+
!            !                     !       !
!            !   PC ---> M(SP-1),  !      !
!  CALL ADR  !   PC ---> M(SP-2),  ! (ADR)    -!
!            ! SP-2 ---> SP,       !   .      !
!            !  ADR ---> PC.       !      !
+------------+---------------------+--------------------------+
!            !     M(SP) ---> PC,  !     !
!   RET      !   M(SP+1) ---> PC,  !  .         !
!            !      SP+2 ---> SP   !      !
+------------+---------------------+--------------------------+
!                                             !
+---------+--------------+--------------+---------------------+
!  !      !     !           !
!         !  !  !                     !
+---------+--------------+--------------+---------------------+
! JNZ ADR !   CNZ ADR    !     RNZ      ! Z=0,   0 !
+---------+--------------+--------------+---------------------+
! JZ  ADR !   CZ  ADR    !     RZ       ! Z=1,  = 0  !
+---------+--------------+--------------+---------------------+
! JNC ADR !   CNC ADR    !     RNC      ! C=0,     !
+---------+--------------+--------------+---------------------+
! JC  ADR !   CC  ADR    !     RC       ! C=1,     !
+---------+--------------+--------------+---------------------+
! JPO ADR !   CPO ADR    !     RPO      ! P=0,  .  !
+---------+--------------+--------------+---------------------+
! JPE ADR !   CPE ADR    !     RPE      ! P=1,  .!
+---------+--------------+--------------+---------------------+
! JP  ADR !   CP  ADR    !     RP       ! S=0, ..   !
+---------+--------------+--------------+---------------------+
! JM  ADR !   CM  ADR    !     RM       ! S=1, ..   !
+---------+--------------+--------------+---------------------+

                 
                --------------------
D8    -   ;
D16   -   ;
ADR   -   () ;
R     -  A,B,C,D,E,H,L
YZ    -   BC,DE,HL,SP,PSW ;
M     -   ;
M(HL) -   (     HL) ;
(N)   -   /   (N=00...FF) .


                     
                   -------------------------
      7     6     5      4     3     2     1     0
   +-----+-----+-----+------+-----+-----+-----+-----+
   !  S  !  Z  !  0  !  AC  !  0  !  P  !  1  !  C  !
   +-----+-----+-----+------+-----+-----+-----+-----+

S-SIGN ( ), Z-ZERO (  ),
AC-AUX CARRY (  ),
P-PARITY ( ), C-CARRY ( ).

 4
                  
      
    .
          COPY.MAC.  
  COPY.COM    :

A>M80 =COPY/L            <---   COPY.REL  COPY.PRN


A>L80 COPY,COPY/N/E      <---   COPY.COM

         COPY.

	     ;
             ;     COPY
             ;
0000                         ASEG
                             ORG 0100H
0000         BOOT    EQU 0000H       ;  
0005         BDOS    EQU 0005H       ;    BDOS
005C         FCBL    EQU 005CH       ;   
005C         SFCB    EQU FCBL        ; FCB  
006C         FCB2    EQU 006CH       ;   
0080         DBUFF   EQU 0080H       ;    
0100         TPA     EQU 0100H       ;   TPA
             ;
0009         PRINTF  EQU 9           ;    
000F         OPENF   EQU 15          ;    
0010         CLOSEF  EQU 16          ;    
0013         DELETEF EQU 19          ;    
0014         READF   EQU 20          ;  
0015         WRITEF  EQU 21          ;  
0016         MAKEF   EQU 22          ;    
             ;
             ;
             ;
0100 310265          LXI SP,STACK    ;  
             ;
             ;      DFCB
             ;
0103 0E10            MVI C,16        ;    FCB
0105 11006C          LXI D,FCB2      ;   
0108 210224          LXI H,DFCB      ;  FCB
010B 1A      MFCB:   LDAX D          ;  FCB
010C 13              INX D           ;  
010D 77              MOV M,A         ;  FCB
010E 23              INX H           ;  
010F 0D              DCR C           ;   16 ... 0
0110 C2010B          JNZ MFCB        ;   16 
             ;
             ;   ,  CR
             ;
0113 AF              XRA A           ; A=00H
0114 320244          STA DFCBCR      ;  =0
             ;
             ;    FCB 
             ;
0117 11005C          LXI D,SFCB      ;  
011A CD0169          CALL OPEN       ; 255,  
011D 110187          LXI D,NOFILE    ;   
0120 3C              INR A           ; 255   0
0121 CC0161          CZ FINIS        ;   , 
             ;
             ;   ,  
             ;
0124 110224          LXI D,DFCB      ;  FCB
0127 CD0173          CALL DELETE     ;   
             ;
012A 110224          LXI D,DFCB      ;  FCB
012D CD0182          CALL MAKE       ;  
0130 1101C1          LXI D,NODIR     ;   
0133 3C              INR A           ;  255  0
0134 CC0161          CZ FINIS        ;   , 
             ;
             ;   ,   ,
             ;     
             ;
0137 11005C  COPY:   LXI D,SFCB      ;  
013A CD0178          CALL READ       ;   
013D B7              ORA A           ;   ?
013E C20151          JNZ EOFILE      ;  ,    
                                     ;  
             ;
             ;   ,  
             ;
0141 110224          LXI D,DFCB      ;   FCB
0144 CD017D          CALL WRITE      ;  
0147 1101DA          LXI D,SPACE     ;   
014A B7              ORA A           ;    ,  00
014B C40161          CNZ FINIS       ;  
014E C30137          JMP COPY        ;     
             ;
0151         EOFILE:                 ;  ,  
                                     ; 
0151 110224          LXI D,DFCB      ;   FCB
0154 CD016E          CALL CLOSE      ;  ,   255
0157 2101F3          LXI H,WRPROT    ;   
015A 3C              INR A           ;  255  0
015B CC0161          CZ FINIS        ;  
             ;
             ;  ,  
             ;
015E 11020A          LXI D,NORMAL    ;   
             ;
             ;
0161         FINIS:                  ;    DE,
                                     ;  
0161 0E09            MVI C,PRINTF    ;
0163 CD0005          CALL BDOS       ;  
0166 C30000          JMP BOOT        ; 
             ;
             ;    
             ; (    BDOS)
             ;
0169 0E0F    OPEN:   MVI C,OPENF
016B C30005          JMP BDOS
016E 0E10    CLOSE:  MVI C,CLOSEF
0170 C30005          JMP BDOS
0173 0E13    DELETE: MVI C,DELETEF
0175 C30005          JMP BDOS
0178 0E14    READ:   MVI C,READF
017A C30005          JMP BDOS
017D 0E15    WRITE:  MVI C,WRITEF
017F C30005          JMP BDOS
0182 0E16    MAKE:   MVI C,MAKEF
0184 C30005          JMP BDOS
             ;
             ;   
             ;
0187 0D0A6E65 NOFILE: DB 0DH,0AH,' .   '
018B 74206661
018F 6A6C612E
0193 202020
0196 666F726D         DB ': COPY A:< > B:< >'
019A 61743A20
019E 434F5059
01A2 20413A3C
01A6 696D7120
01AA 66616A6C
01AE 613E2042
01B2 3A3C696D
01B6 71206661
01BA 6A6C613E
01BE 0D0A24           DB 0DH,0AH,'$'
01C1 0D0A6E65 NODIR:  DB 0DH,0AH,'   ',0DH,0AH,'$'
01C5 74206D65
01C9 73746120
01CD 77206B61
01D1 74616C6F
01D5 67650D0A
01D9 24
01DA 0D0A6E65 SPACE:  DB 0DH,0AH,'   ',0DH,0AH,'$'
01DE 74206D65
01E2 73746120
01E6 646C7120
01EA 64616E6E
01EE 79680D0A
01F2 24
01F3 0D0A7A61 WRPROT: DB 0DH,0AH,'  ',0DH,0AH,'$'
01F7 7D697D65
01FB 6E6F206F
01FF 74207A61
0203 70697369
0207 0D0A24
020A 0D0A6B6F NORMAL: DB 0DH,0AH,' ',0DH,0AH,'$'
020E 7069726F
0212 77616E69
0216 65207A61
021A 7765727B
021E 656E6F0D
0222 0A24
             ;
             ;  
             ;
0224         DFCB:   DS 33           ;  FCB
0244         DFCBCR  EQU DFCB+32     ;  
             ;
0245                 DS 32           ;   16 
0265         STACK:
                     END
MACROS:

SYMBOLS:
0005   BDOS            0000    BOOT            016E	CLOSE
0010   CLOSEF          0137    COPY            0080     DBUFF
0173   DELETE          0013    DELETEF         0224     DFCB
0244   DFCBCR          0151    EOFILE          006C     FCB2
005C   FCBL            0161    FINIS           0182     MAKE
0016   MAKEF           010B    MFCB            01C1     NODIR
0187   NOFILE          020A    NORMAL          0169     OPEN
000F   OPENF           0009    PRINTF          0178     READ
0014   READF           005C    SFCB            01DA     SPACE
0265   STACK           0100    TPA             017D     WRITE
0015   WRITEF          01F3    WRPROT

N FATAL ERROR(S)


 5
          
  DUMP            
     .
               DUMP.MAC.  
  DUMP.COM    :

A>M80 =DUMP/L            <---   DUMP.REL  DUMP.PRN

A>L80 DUMP,DUMP/N/E      <---   DUMP.COM

         DUMP.

             ;  DUMP
             ;     
             ;    

0000                         ASEG
                             ORG 0100H
0005         BDOS    EQU 0005H       ;    BDOS
0001         CONS    EQU 1           ;   
0002         TYPEF   EQU 2           ;   
0009         PRINTF  EQU 9           ;    
000B         BRKF    EQU 11          ;  
             ;                       ; (""   )
             ;
000F         OPENF   EQU 15          ;  
0014         READF   EQU 20          ;  
             ;
005C         FCB     EQU 5CH         ;   
0080         BUFF    EQU 80H         ;      
             ;
000D         CR      EQU 0DH         ;  
000A         LF      EQU 0AH         ;  
             ;
             ;   
             ;
005C         FCBDN   EQU FCB+0       ;  
005D         FCBFN   EQU FCB+1       ;  
0065         FCBFT   EQU FCB+9       ;   (3 )
0068         FCBRL   EQU FCB+12      ;  
006B         FCBRC   EQU FCB+15      ;    (0...128)
007C         FCBCR   EQU FCB+32      ;   () 
007D         FCBIN   EQU FCB+33      ;  FCB
             ;
             ;
             ;
             ;
0100 210000          LXI H,0         ;  
0103 39              DAD SP
             ;
             ;    HL    CCP
             ;
0104 220211          SHLD OLDSP
             ;
             ;  SP   
             ; (   FINIS)
             ;
0107 310253          LXI SP,STKTOP
             ;
             ;     
             ;
010A CD01CB          CALL SETUP      ;   
010D FEFF            CPI 255         ;   , 255
010F C2011B          JNZ OPENOK      ; ,   
             ;
             ;  ,  
             ;    
             ;
0112 1101E7          LXI D,OPNMSG
0115 CD01A6          CALL ERR
0118 C3015B          JMP FINIS       ;    
             ;
             ;   ,
             ;     
             ;
011B 3E80    OPENOK: MVI A,80H
011D 32020F          STA IBP         ;     
                                     ; 80H
             ;                       ;    
             ;   HL
0120 210000          LXI H,0         ;   0000
             ;
0123         GLOOP:
0123 E5              PUSH H          ;     
                                     ; 
0124 CD01AC          CALL GNB        ;
0127 E1              POP H           ;     
0128 DA015B          JC FINIS        ;   ,
                                     ; 
             ;                       ;  
012B 47              MOV B,A
             ;
             ;  16- 
             ;   
             ;
012C 7D              MOV A,L
012D E60F            ANI 0FH         ;   4 
012F C2014E          JNZ NONUM
             ;
             ;   
             ;
0132 CD017C          CALL CRLF
             ;
             ;    
             ;
0135 CD0163          CALL BREAK
             ;
             ;   ,    LSB=1
             ;
0138 0F              RRC             ;   
0139 DA015B          JC FINIS        ;    
             ;
013C 7C              MOV A,H         ;  
013D CD0199          CALL PHEX
0140 7D              MOV A,L
0141 CD0199          CALL PHEX
0144 3E20            MVI A,' '       ;    
0146 CD016F          CALL PCHAR
0149 3E20            MVI A,' '
014B CD016F          CALL PCHAR
014E         NONUM:
014E 23              INX H           ;    
                                     ; 
014F 3E20            MVI A,' '
0151 CD016F          CALL PCHAR
0154 78              MOV A,B
0155 CD0199          CALL PHEX
0158 C30123          JMP GLOOP
             ;
015B         FINIS:
             ;
             ;  ,    CCP
             ; (   0000 - )
             ;
015B CD017C          CALL CRLF
015E 2A0211          LHLD OLDSP
0161 F9              SPHL
             ;
             ;      CCP
             ;     
             ;
0162 C9              RET             ;   CCP
             ;
             ;
             ;   
             ;   ------------
             ;
             ;    
             ; (     )
             ;
0163         BREAK:                  ;   
0163 E5              PUSH H
0164 D5              PUSH D
0165 C5              PUSH B
0166 0E0B            MVI C,BRKF
0168 CD0005          CALL BDOS       ;   
016B C1              POP B
016C D1              POP D
016D E1              POP H
016E C9              RET
             ;
             ;  
             ;
016F         PCHAR:
016F E5              PUSH H
0170 D5              PUSH D
0171 C5              PUSH B
0172 0E02            MVI C,TYPEF
0174 5F              MOV E,A
0175 CD0005          CALL BDOS
0178 C1              POP B
0179 D1              POP D
017A E1              POP H
017B C9              RET
             ;
             ;     
             ;
017C         CRLF:
017C 3E0D            MVI A,CR
017E CD016F          CALL PCHAR
0181 3E0A            MVI A,LF
0183 CD016F          CALL PCHAR
0186 C9              RET
             ;
             ;     A
             ;
0187         PNIB:
0187 E60F            ANI 0FH         ;  4  
0189 FE0A            CPI 10
018B D20193          JNC P10
             ;
             ;    9
             ;
018E C630            ADI '0'
0190 C30195          JMP PRN
             ;
             ;    10
             ;
0193 C637    P10:    ADI 'A'-10
0195 CD016F  PRN:    CALL PCHAR
0198 C9              RET
             ;
0199         PHEX:                   ;  16-   
                                     ; A
0199 F5              PUSH PSW
019A 0F              RRC
019B 0F              RRC
019C 0F              RRC
019D 0F              RRC
019E CD0187          CALL PNIB
01A1 F1              POP PSW
01A2 CD0187          CALL PNIB
01A5 C9              RET
             ;
             ;    
             ;    DE,   - $
             ;
01A6         ERR:
01A6 0E09            MVI C,PRINTF    ;   
01A8 CD0005          CALL BDOS
01AB C9              RET
             ;
             ;   
             ;
01AC         GNB:
01AC 3A020F          LDA IBP
01AF FE80            CPI 80H
01B1 C201BD          JNZ G0
             ;
             ;   
             ;
01B4 CD01D8          CALL DISKR
01B7 B7              ORA A           ;   ,
01B8 CA01BD          JZ G0           ;    
             ;
             ;  ,    ,
             ; ,   EOF
             ;
01BB 37              STC
01BC C9              RET
             ;
01BD         G0:                     ;    +
                                     ; A
01BD 5F              MOV E,A         ;     
01BE 1600            MVI D,0         ;    DE
01C0 3C              INR A           ;  = +1
01C1 32020F          STA IBP         ;   
             ;
             ;   ,
             ;   
             ;
01C4 210080          LXI H,BUFF
01C7 19              DAD D
             ;
             ;      HL
             ;
01C8 7E              MOV A,M
             ;
             ;    
             ;
01C9 B7              ORA A           ;   
01CA C9              RET
             ;
01CB         SETUP:                  ;  
             ;    
01CB AF              XRA A           ;  
01CC 32007C          STA FCBCR       ;    
             ;
01CF 11005C          LXI D,FCB
01D2 0E0F            MVI C,OPENF
01D4 CD0005          CALL BDOS
             ;      - 255  
01D7 C9              RET
             ;
01D8         DISKR:                  ;   
01D8 E5              PUSH H
01D9 D5              PUSH D
01DA C5              PUSH B
01DB 11005C          LXI D,FCB
01DE 0E14            MVI C,READF
01E0 CD0005          CALL BDOS
01E3 C1              POP B
01E4 D1              POP D
01E5 E1              POP H
01E6 C9              RET
             ;
             ;    
             ;
01E7 0D0A6E65 OPNMSG: DB CR,LF,' .   : DUMP < >$'
01EB 74206661
01EF 6A6C612E
01F3 20202066
01F7 6F726D61
01FB 743A2044
01FF 554D5020
0203 3C696D71
0207 2066616A
020B 6C613E24
             ;
             ;  
             ;
020F         IBP:    DS 2            ;   
0211         OLDSP:  DS 2            ;  SP    CCP
             ;
             ;  
             ;
0213                 DS 64           ;    - 32 
0253         STKTOP:

                     END
MACROS:

SYMBOLS:
0005   BDOS            0163    BREAK           000B    BRKF
0080   BUFF            0001    CONS            000D    CR
017C   CRLF            01D8    DISKR           01A6    ERR
005C   FCB             007C    FCBCR           005C    FCBDN
005D   FCBFN           0065    FCBFT           007D    FCBIN
006B   FCBRC           0068    FCBRL           015B    FINIS
01BD   G0              0123    GLOOP           01AC    GNB
020F   IBP             000A    LF              014E    NONUM
0211   OLDSP           000F    OPENF           011B    OPENOK
01E7   OPNMSG          0193    P10             016F    PCHAR
0199   PHEX            0187    PNIB            0009    PRINTF
0195   PRN             0014    READF           01CB    SETUP
0253   STKTOP          0002    TYPEF

N FATAL ERROR(S)
            MOV A,B
0155 CD0199          CALL PHEX
0158 C30123          JMP GLOOP
             ;
015B         FINIS:
    