MACRO TO DO AN IF STATEMENT
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
2 MACRO
3 IF &COND
4 GBLC &STACK(100)
5 GBLA &STACKPT
6 GBLB &ELSEF(100)
7 &STACKPT SETA &STACKPT+1
8 &STACK(&STACKPT) SETC '&SYSNDX'
9 &ELSEF(&STACKPT) SETB 0
10 L 0,&COND(1)
11 C 0,&COND(3)
12 AIF ('&COND(2)' NE 'EQ').SEQ01
13 BNE IFA&SYSNDX
14 .SEQ01 ANOP
15 AIF ('&COND(2)'NE 'LT').SEQ02
16 BC 10,IFA&SYSNDX
17 .SEQ02 ANOP
18 AIF ('&COND(2)'NE 'GT').SEQ03
19 BC 12,IFA&SYSNDX
20 .SEQ03 ANOP
21 MEND
22 MACRO
23 ELSE
24 GBLC &STACK(100)
25 GBLA &STACKPT
26 GBLB &ELSEF(100)
27 &ELSEF(&STACKPT) SETB 1
28 B IFB&STACK(&STACKPT)
29 IFA&STACK(&STACKPT) EQU *
30 MEND
31 MACRO
32 ENDIF
33 GBLC &STACK(100)
34 GBLA &STACKPT
35 GBLB &ELSEF(100)
36 AIF (&ELSEF(&STACKPT)).SEQ02
37 IFA&STACK(&STACKPT) EQU *
38 AGO .SEQ01
39 .SEQ02 ANOP
40 IFB&STACK(&STACKPT) EQU *
41 .SEQ01 ANOP
42 &STACKPT SETA &STACKPT-1
i 43 MEND
MACRO TO DO AN IF STATEMENT
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
000000 45 P1 START
000000 05C0 46 BALR 12,0
00002 47 USING *,12
48 * YOUR PROGRAMGOES HERE
49 IF (A,LT,B)
000002 5800 C05A 0005C 50+ L 0,A
000006 5900 C05E 00060 51+ C 0,B
00000A 47A0 C028 0002A 52+ BC 10,IFA0001
53 IF (A,LT,C)
00000E 5800 C05A 0005C 54+ L 0,A
000012 5900 C062 00064 55+ C 0,C
000016 47A0 C020 00022 56+ BC 10,IFA0002
00001A 5810 C05A 0005C 57 L 1,A
58 ELSE
00001E 47F0 C024 00026 59+ B IFB0002
00022 60+IFA0002 EQU *
000022 5810 C062 00064 61 L 1,C
62 ENDIF
00026 63+IFB0002 EQU *
64 ELSE
000026 47F0 C040 00042 65+ B IFB0001
0002A 66+IFA0001 EQU *
67 IF (C,GT,B)
00002A 5800 C062 00064 68+ L 0,C
00002E 5900 C05E 00060 69+ C 0,B
000032 47C0 C03C 0003E 70+ BC 12,IFA0006
000036 5810 C05E 00060 71 L 1,B
72 ELSE
00003A 47F0 C040 00042 73+ B IFB0006
0003E 74+IFA0006 EQU *
00003E 5810 C062 00064 75 L 1,C
76 ENDIF
00042 77+IFB0006 EQU *
78 ENDIF
00042 79+IFB0001 EQU *
000042 5010 C066 00068 80 ST 1,MIN
81 * TEST IF WITHOUT ELSE
82 IF(MIN,LT,=F'0')
000046 5800 C066 00068 83+ L 0,MIN
00004A 5900 C06E 00070 84+ C 0,=F'0'
00004E 47A0 C056 00058 85+ BC 10,IFA0010
000052 1B11 86 SR 1,1
000054 5010 C066 00068 87 ST 1,MIN
88 ENDIF
00058 89+IFA0010 EQU *
000058 07FE 90 BR 14
91 * END OF YOUR PROGRAM
00005A 0000
00005C 00000003 92 A DC F'3'
000060 00000004 93 B DC F'4'
000064 00000002 94 C DC F'2'
000068 95 MIN DS F
96 END
000070 00000000 97 =F'0'