.PL 66
.HE                  101.2341987.00102-01 33 03
.FO                            #
.PN 36

            /   " (.
5.2.4.).

          

        .SFCOND

         .SFCOND  FCOND 
   ON.

        

        .LFCOND

         .LFCOND  FCOND 
   OFF.
  
             

        .TFCOND

         .TFCOND  FCOND   - 
     STFCOND.  .TFCOND  
  STFCOND       
FCOND.
          FCOND     
      STFCOND.
           STFCOND     
.     ON.     
 /    OFF.


   !   /  !   /    
-----------------!----------!----------
-------------    !  ON      !  OFF
 .SFCOND         !  OFF     !  OFF
 .LFCOND         !  ON      !  ON
 .TFCOND         !  OFF     !  ON
 .TFCOND         !  ON      !  OFF
 .SFCOND         !  OFF     !  OFF
 .TFCOND         !  OFF     !  ON
 .TFCOND         !  ON      !  OFF
 .TFCOND         !  OFF     !  ON


           


            - 
       
(REPT, IRP, IRPC)       
-    .



         ,   

        .XALL

         .XALL  .   .XALL 
    ' ,   
.
         ,    ,  .
                                                                              
          

        .LALL

           .LALL    - 
  ,     .

           

        .SALL

           .SALL    - 
     .
             :

        MAC   MACRO     X,Y
        Y1    DEFL      Y
        ;  
              LD        X,Y1
        ENDM

           MAC B,4    - 
      ' 
:
                                .XALL
                                MAC     B,4
0000' 06  04    +                       LD     B,Y1
                                .LALL
                                MAC     B,4
0004            +               Y1      DEFL   4
        ;  
0002' 06  04    +                       LD     B,Y1
                                .SALL
                +               MAC     B,4
                                                                              
           

              
   ,     .  
   .CREF  .XCREF   
    .
                - 
    .
                
  .


          

        .XCREF

         .XCREF    .CREF, 
  .   .XCREF 
   ,      - 
  .CREF.
         .XCREF   ,    
      .
             .CREF   
.XCREF,         - 
  /,   .XCREF    - 
,     (  -    
).      ,    - 
  / .

          

        .CREF

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

        4.2. 

             , - 
    ,    - 
.
               - 
,    .   
 ENDM .3       
   .
             - 
 .
            , 
  :

        - :
                             MACRO
        - :
                             REPT  ()
                             IPR   ( )
                             IPRC  (    
                                     )
        - :
                             ENDM
                             EXITM

        -,      

 :
                             LOCAL
                                                                              
         ,  ,   
  :

             &     ;;     !     %

        4.2.1.  

        <>  MACRO  <..> [,<. .> ... ]
                .
                .
                .
                .
               ENDM

             MACRO  ENDM   
  .
           <>      
  .  <>    
,      16 .
         ,   ,  <> 
     .
         <. .>   , 
       
   .
           <. .>    32 
,       
 .       
.
               
   .
     
   : 

             
 .
        ,  , -       - 
   ,    
    .
               - 
,   ,   ,   - 
      .
           ,    - 
,   TITLE, SUBTTL  NAME,  - 
       .

        :     SUBTTL MACRO DEFINITION

              
  SUBTTL,  DEFINITION   .  
 ,      MACRO.
.PA

        

           - ,  
     .

        <>  <>[,<>... ]

           ,     .
       - 
.     - 
 .       .
         ,  ,    
,    ,     , 
   .

        :

           1,2,3,4,5

            5 .
                                                                              
          <1,2,3,4,5>

              .

              - 
       
 .
            ,  - 
  ,    .  
 ,      .
              - 
   .

        :

     EXCHNG    MACRO     X,Y
               PUSH      X
               RUSH      Y
               POP       X
               POP       Y
               ENDM

            :

               LD        A,(2FH)
               LD        H,A
               LD        A,(3FH)
               LD        D,A
               EXCHNG    HL,DE

              :

0000'     3A   002F      LD        A,(2FH)
0003'     67             LD        H,A

0004'     3A   003F      LD        A,(3FH)
0007'     57             LD        D,A
                         EXCHNG    HL,DE
0008'     E5        +    PUSH      HL
0009'     D5        +    PUSH      DE
000A'     E1        +    POP       HL
000B'     D1        +    POP       DE

        4.2.2.  

               
   ,  .
              - 
  :

        1.  MACRO   ,     
      .  
        - 
    .

        2.  MACRO     
 ,   ;    
.
             
     .
            , - 
         - 
       .
             - 
  ,   !
         ,      - 
  ENDM.

        

        REPT   <EXP>
           .
           .
        ENDM
                                                                              
             ,  
  REPT  ENDM,  ,  - 
 <>,  <>    16- 
 .
          <>     - 
 ,   .

        :

        X   DEFL      0
            REPT      10
        X   DEFL      X+1
            DB        X
            ENDM


    :

        0000        X    DEFL      0
                         REPT      10
                    X    DEFL      X+1
                         REPT      10
                         ENDM
        0000'  01    +   DB        X
        0001'  02    +   DB        X
        0002'  03    +   DB        X
        0003'  04    +   DB        X
        0004'  05    +   DB        X
        0005'  06    +   DB        X
        0006'  07    +   DB        X
        0007'  08    +   DB        X
        0008'  09    +   DB        X
        0009'  0A    +   DB        X
                                                                              
         

        IRP       <. .>,<>
          .
          .
        ENDM

              !

            ,  
,    .
             .   
     - 
   .
         -    ,  
      .

        :

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

               (DB 1 -:- DB 10), 
       REPT.
          IRP    - 
,   ,    ,  
    ,    
    .
        ,      ,   , 
     :

        MAC    MACRO     X
               IRP       Y,<X>
               DB        Y
               ENDM
                                                                              

           :

        MAC  <1,2,3,4,5,6,7,8,9,10>,

    :

        IRP  Y, 1,2,3,4,5,6,7,8,9,10
        DB   Y
        ENDM

                
    .

           

        IRPC    . .  , 
          .
          .
        ENDM

               
.
               - 
    .

        :

        IRPC     X,0123456789
        DB       X+1
        ENDM

                (DB 1 -:- DB 10), 
     .
                                                                              
        4.2.3.  

         

        ENDM

         ENDM  ,    
  .
          MACRO, REPT, IRP, IRPC  - 
   ENDM.      
,        :

        UNTERMINATED REPT/IRP/IRPC/MACRO
        (  REPT/IRP/IRPC/MACRO)

          ENDM     "".

                
   ,    - 
  EXITM.


          

        EXITM

         EXITM      
    ,  - 
 -     - 
   .    
EXITM     -  - 
.
           EXITM,   - 
 .    - 
  .
         ,    EXITM,   - 
-  ,     
  .

        :

        MAC      MACRO     X
        Y        DEFL      0
                 REPT      X
        Y        DEFL      Y+1
                 IFE       Y-0FFH ; TEST Y
                 EXITM            ; WENN 0, VERLASSEN REPT
                 ENDIF
                 DB        Y
                 ENDM
           ENDM

        4.2.4.  

        LOCAL   <. .>[,<. .> ... ]

         LOCAL      
.
          LOCAL ,   - 
      . .  - 
        .
               - 
   ,    - 
      
.
              
 ..0001  ..FFFF.     
  ..NNNN !  LOCAL   
    .
                                                                              
        :

        MAC     MACRO     NUM,Y
                LOCAL     A,B,C,D,E
        A:      DB        7
        B:      DB        8
        C:      DB        Y

        D:      DB        Y+1
        E:      DW        NUM+1
                JP        A
                ENDM

         MAC 0C00H,0BEH    
:

        0000'  07        + ..0000:   DB       7
        0001'  08        + ..0001:   DB       8
        0002'  BE        + ..0002:   DB       0BEH
        0003'  BF        + ..0003:   DB       0BEH+1
        0004'  0C01      + ..0004:   DW       0C00H+1
        0006'  C3 0000'  +           JP       ..0000

        4.2.5.  

               - 
     .

          &

              .   
    .
              - 
 ,       &.
                - 
 ,     &.

        :

        ERRGEN   MACRO       X
                 ERROR&X:    PUSH     BC
                             LD       B,'&X'
                             JP       ERROR&X
                             ENDM

         ERRGEN A  :

        0000' C5        +    ERROR&A:      PUSH     BC
        0001' 06 41     +                  LD       B,'A'
        0003' C3 0000'  +                  JP       ERROR&A

            ;;

        ,      ,  
      (  - 
 .LALL     ).
                
  .

          !

              - - 
,  ,       

  .   !;    
,   <;>.

          %

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

        :

        PRINTE     MACRO        MSG,N
        .PRINTX     *MSG,N*
        ENDM


        SYM1       EQU          100
        SYM2       EQU          200
                   PRINTE      SYM1+SYM2= ,% SYM1+SYM2


               
N        (SYM1+SYM2).
           :

        PRINTX*SYM1+SYM2=,(SYM1+SYM2)*

              %  ,   
:

        PRINTX*SYM1+SYM2=,300*

        4.3.  

             
   ,    - 
         
.
              
:

        IFXXXX[]              !     COND  []
           .                          !        .
           .                          !        .

           .                          !        .
        [ELSE                         !     [ELSE
           .                          !        .
           .                          !        .
           .]                         !        .]
        ENDIF                         !     ENDC

             IFXXXX  
   ENDIF.
            COND   - 
  ENDC.      - 
    :

        UNTERMINATED CONDITIONAL
        (  )

         ENDIF    IF  - 
 ENDC    COND   
 "".
              
  "", (  FFFFH,  -1, 
  ,  )     - 
 "",(  ).
           ,    
 ,      .
    ,    
   ,      , 
     ELSE ().
             255 .   
      ,   
  "V"   .   - 
 IF/IFT/COND  IFF/IFE   ,   
    .
          IFDEF  IFNDEF  ,   
      ,   
   .
              - 
 ELSE,     - 
 ,    .
          IFXXXX/COND    
  ELSE.
         ELSE      - 
 IF.     ELSE,   ,  
 ELSE  -     
"".

         

IF   <EXP>                            - 
IFT  <EXP>                    ,    
COND <EXP>                    <>   .

IFE  <EXP>                            - 
IFF  <EXP>                    ,    
                              <>  .

                                                                              
IF1                                   - 
                               ,    
                                 .

IF2                                   - 
                               ,    
                                 .    

IFDEF  <>                        - 
                               ,   - 
                                 '     
                               (EXTERNAL).

IFNDEF <>                        - 
                               ,     
                                 '    
                               (EXTERNAL).

IFB    <>                          <>     
                              .       
                                ,  
                                ( )     
                               (<>).

IFNB   <>                          <>     
                              .       
                                ,  
                                .
                                       
                                 -  
                              .
                                                                              
IFIDN <<1>>,<<2>>                <1>   
                               <2> .    
                                 - 
                              ,   <1>  
                               <2>.

IFDIF <<1>>,<<2>>                <1>  
                              <2> .      
                                 - 
                              ,   <1>    
                                <2>.

ELSE                                 ELSE - 
                                 -  
                               ,    
                               . - 
                               ELSE     
                                .

ENDIF                                 - 
ENDC                            .     
                                 -  

                               .
                                     ENDIF       
                                   
                              IFXXXX,   ENDC - - 
                               COND.
                              RHBS COND.
