TITLE 'DEMONSTRATE MACROS, A SIMPLE ADDITION MACRO'
         MACRO
         ADD   &A,&B,&C
*        ADDS A TO B GIVING C, ASSUMES REGISTER 0 IS AVAILABLE
         LCLC  &FO
         LCLB  &BFLAG
&FO      SETC  '&A'
         AIF   (K'&A EQ 1).SEQ03
         AIF  (NOT((K'&A EQ 2)AND('&A'(2,2) GE '0')AND('&A'(2,2) LE
               AND('&A'(1,1) EQ 'R'))).SEQ01
&FO      SETC  '&A'(2,2)
&BFLAG   SETB  1
         AGO .SEQ03
.SEQ01   ANOP
         AIF (NOT((K'&A EQ 3)AND('&A'(2,3) GE '10')AND
               ('&A'(2,3) LE '15')AND('&A'(1,1) EQ 'R'))).SEQ02
&FO      SETC '&A'(2,3)
&BFLAG   SETB  1
         AGO .SEQ03
.SEQ02   ANOP
.SEQ03   ANOP
         AIF   (&BFLAG).SEQ04
         L     0,&A
         AGO   .SEQ05
.SEQ04   ANOP
         LR    0,&FO
.SEQ05   ANOP
         A     0,&B
         ST    0,&C
         MEND
P1       START
         BALR  12,0
         USING *,12
*        YOUR PROGRAM GOES HERE
         ADD   A,B,C
         L     5,D
         L     13,=F'100'
         ADD   R5,E,F
         ADD   D5,E,F1
         ADD   R13,E,F2
         ADD   D13,E,F3
         BR    14
*        END OF YOUR PROGRAM
A        DC    F'3'
B        DC    F'4'
C        DS    F
D        DC    F'8'
D5       DC    F'5'
D13      DC    F'13'
E        DC    F'4'
F        DS    F
F1       DS    F
F2       DS    F
F3       DS    F
         END