The following illustrates the sample online program as output from the assembler.
1 *DMLIST 2 *NO-ACTIVITY-LOG 00000 3 R0 EQU 0 00001 4 R1 EQU 1 00002 5 R2 EQU 2 00003 6 R3 EQU 3 00004 7 R4 EQU 4 00005 8 R5 EQU 5 00006 9 R6 EQU 6 00007 10 R7 EQU 7 00008 11 R8 EQU 8 00009 12 R9 EQU 9 0000A 13 R10 EQU 10 0000B 14 R11 EQU 11 0000C 15 R12 EQU 12 0000D 16 R13 EQU 13 0000E 17 R14 EQU 14 0000F 18 R15 EQU 15 20 * ENTER FROM NEXT HIGHER LEVEL 22 PRINT GEN ASSEMBLER PRINT OPTIONS 000000 23 SYBPG2 CSECT 000000 18CF 24 LR R12,R15 ESTABLISHES REGISTER 12 AS THE 00000 25 USING SYBPG2,R12 BASE REGISTER 00000 26 USING STORAGE,R10 ESTABLISH ADDRESSABILITY OF DSECT 000002 47F0 C03A 0003A 27 B PROCESS BRANCH TO FIND INVOKING TASKCODE PAGE 3 29 * @INVOKE MODE=IDMSDC,MAP=SYBMAP 30 @INVOKE MRBTYPE=STANDARD,PAGING=NO 31 * OPERATING MODE: IDMS DC/MAPPING PAGE 4 000006 34 RETURN DS 0H 35 #FREESTG STGID='SYB4' FREE THE STORAGE ACQUIRED EARLIER 36+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000006 47F0 C010 00010 37+ B $$LD0002 + 01-#FREE 00000A 0700 38+ CNOP 0,4 + 01-#FREE 00000C E2E8C2F4 39+$$GC0002 DC CL4'SYB4' + 01-#FREE 00010 40+$$LD0002 EQU * + 01-#FREE 000010 5810 C00C 0000C 41+ L 1,$$GC0002 + 01-#FREE 000014 4100 0012 00012 42+ LA 0,18 + 01-#FREE 000018 58F0 C240 00240 43+ L 15,=V(IDCSACON) + 02-#ENTE 00001C 05EF 44+ BALR 14,15 + 02-#ENTE 00001E 0002 45+ DC AL2(2) + 02-#ENTE 46+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 47 #RETURN RETURN TO HIGHER LEVEL 48+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000020 1B00 49+ SR 0,0 + 01-#RETU 000022 1B11 50+ SR 1,1 + 01-#RETU 000024 58F0 C240 00240 51+ L 15,=V(IDCSACON) + 02-#ENTE 000028 05EF 52+ BALR 14,15 + 02-#ENTE 00002A 0005 53+ DC AL2(5) + 02-#ENTE 54+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00002C 56 RETURNXT DS 0H 57 #RETURN NXTTASK=SYBTSK03 PASS CONTROL BACK TO ITSELF 58+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00002C 1B00 59+ SR 0,0 + 01-#RETU 00002E 4110 C214 00214 60+ LA 1,SYBTSK03 + 01-#RETU 000032 58F0 C240 00240 61+ L 15,=V(IDCSACON) + 02-#ENTE 000036 05EF 62+ BALR 14,15 + 02-#ENTE 000038 0005 63+ DC AL2(5) + 02-#ENTE 64+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 66 * MAINLINE PROGRAM 00003A 68 PROCESS DS 0H 69 #GETSTG TYPE=(USER,LONG,KEEP),PLIST=*,LEN=STORLGTH, * STGID='SYB4',COND=(ALL),ERROR=ERRORTN,ADDR=(R10), * INIT=X'40' 70+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 00003A 0700 71+ CNOP 0,4 + 01-#GETS 00003C 4510 C058 00058 72+ BAL 1,*+28 + 01-#GETS 000040 0000004C 73+ DC A(*+12) ADDR OF PARM1 + 01-#GETS 000044 00000054 74+ DC A(*+16) ADDR OF PARM2 + 01-#GETS 000048 00000050 75+ DC A(*+8) ADDR OF PARM3 + 01-#GETS 00004C 00000120 76+ DC A(STORLGTH) + 01-#GETS 000050 E2E8C2F4 77+ DC CL4'SYB4' + 01-#GETS 000054 40 78+ DC AL1(X'40') + 01-#GETS 000055 41 79+ DC AL1(65) + 01-#GETS 000056 ED 80+ DC AL1(237) + 01-#GETS 000057 00 81+ DC AL1(0) + 01-#GETS 000058 58F0 C240 00240 82+ L 15,=V(IDCSACON) + 02-#ENTE 00005C 05EF 83+ BALR 14,15 + 02-#ENTE 00005E 0001 84+ DC AL2(1) + 02-#ENTE 000060 49F0 C248 00248 85+ CH 15,=H'8' + 01-#GETS PAGE 5 000064 47B0 C1DA 001DA 86+ BNL ERRORTN + 01-#GETS 000068 18A1 87+ LR R10,1 + 01-#GETS 88+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 89 * ACQUIRE VARIABLE STORAGE 91 * #MAPBIND MRB=SYBMAP BIND MAP AND RECORDS 92 #MAPBIND MRB=SYBMAP, * TSTAMP='11/25/91171238R2', * SSNAME=' ', * NFLDS=1, * NRECS=1, * SEG=NO 00006A 93+ DS 0H +++++++++ BIND MAP ++++++++++++++++++++++++++++++++++ 01-#MAPB 00006A D207 A000 C220 00000 00220 94+ MVC SYBMAP(8),=CL8'SYBMAP' X01-#MAPB + MAP NAME 000070 D743 A008 A008 00008 00008 95+ XC SYBMAP+8(76-8),SYBMAP+8 CLEAR REST OF BASIC MRB 01-#MAPB 000076 D20F A008 C228 00008 00228 96+ MVC SYBMAP+8(16),=CL16'11/25/91171238R2' X01-#MAPB + COMPILE DATE/TIME 00007C D207 A018 C238 00018 00238 97+ MVC SYBMAP+24(8),=CL8' ' X01-#MAPB + SUBSCHEMA NAME 000082 4100 004C 0004C 98+ LA 0,76 01-#MAPB 000086 4000 A03C 0003C 99+ STH 0,SYBMAP+60 MRE OFFSET 01-#MAPB 00008A 4100 0001 00001 100+ LA 0,1 NUMBER OF FIELDS 01-#MAPB 00008E 4000 A02A 0002A 101+ STH 0,SYBMAP+42 01-#MAPB 000092 4110 0001 00001 102+ LA 1,1 NUMBER OF RECORDS 01-#MAPB 000096 4010 A02C 0002C 103+ STH 1,SYBMAP+44 01-#MAPB 00009A 41F0 000E 0000E 104+ LA 15,14 LENGTH OF ONE MAP REQ ELEMENT 01-#MAPB 00009E 4CF0 A02A 0002A 105+ MH 15,SYBMAP+42 TIMES NUMBER OF FIELDS 01-#MAPB 0000A2 41FF 0003 00003 106+ LA 15,3(15) ROUND UP TO NEXT FULLWORD 01-#MAPB 0000A6 88F0 0002 00002 107+ SRL 15,2 RECOF=((L'MRE*#FIELDS)+3)/4)*4 01-#MAPB 0000AA 89F0 0002 00002 108+ SLL 15,2 01-#MAPB 0000AE 40F0 A02E 0002E 109+ STH 15,SYBMAP+46 EQUALS LENGTH OF ALL MRE'S 01-#MAPB 0000B2 92D5 A03A 0003A 110+ MVI SYBMAP+58,C'N' SUBSCHEMA VIEW NOT SEGMENTED 01-#MAPB 0000B6 41E0 A04C 0004C 111+ LA 14,SYBMAP+76 POINT TO END OF BASIC MRB 01-#MAPB 0000BA D70D E000 E000 00000 00000 112+ XC 0(1*14,14),0(14) CLEAR MAP REQUEST ELEMENTS 01-#MAPB 0000C0 41E0 A04C 0004C 113+ LA 14,SYBMAP+76 POINT TO END OF MRB 01-#MAPB 0000C4 4AE0 A02E 0002E 114+ AH 14,SYBMAP+46 POINT TO RECORD ADDRESS SLOTS 01-#MAPB 0000C8 D703 E000 E000 00000 00000 115+ XC 0(1*4,14),0(14) CLEAR DATA RECORD ADDRESS SLOTS 01-#MAPB 116+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 118 * #MAPBIND MRB=SYBMAP,RECNAME=SYBREC 119 #MAPBIND MRB=SYBMAP, * RECNUM=1, * RECADDR=SYBREC 0000CE 120+ DS 0H +++++++++ BIND MAP ++++++++++++++++++++++++++++++++++ 01-#MAPB 0000CE 41E0 A04C 0004C 121+ LA 14,SYBMAP+76 POINT TO END OF BASIC MRB 01-#MAPB 0000D2 4AE0 A02E 0002E 122+ AH 14,SYBMAP+46 PNT TO START OF DATA REC SLOTS 01-#MAPB 0000D6 41F0 A0C0 000C0 123+ LA 15,SYBREC DATA RECORD ADDRESS 01-#MAPB 0000DA 50FE 0000 00000 124+ ST 15,4*(1-1)(14) STORE IN MRB SLOT 01-#MAPB 125+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 128 ACCEPTSK #ACCEPT TYPE=TASKCODE,FIELD=TASKCODE 129+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 0000DE 130+ACCEPTSK DS 0H + 01-#ACCE PAGE 6 0000DE 4100 0000 00000 131+ LA 0,1-1 SET RQST TYPE. + 01-#ACCE 0000E2 4110 A114 00114 132+ LA 1,TASKCODE POINT TO RECEIVING FIELD + 01-#ACCE 0000E6 58F0 C240 00240 133+ L 15,=V(IDCSACON) + 02-#ENTE 0000EA 05EF 134+ BALR 14,15 + 02-#ENTE 0000EC 0033 135+ DC AL2(51) + 02-#ENTE 136+*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 137 * ACCEPT TASK CODE TO INVOKE TASK 0000EE D507 A114 C20C 00114 0020C 138 CLC TASKCODE,SYBTSK2 FIRST TIME CALLED ? 0000F4 4770 C144 00144 139 BNE RECCUR YES - OUTPUT FIRST SCREEN 140 * NO - INPUT DATA FROM SCREEN 0000F8 141 FIRSTIME DS 0H 0000F8 D203 A0C0 C244 000C0 00244 142 MVC SYBDEPID,=C'0000' PRIME DATA FIELD 144 #MREQ OUT,MRB=SYBMAP,OPTNS=(NEWPAGE),ERROR=ERRORTN, * COND=(ALL) 0000FE 145+ DS 0H ++++++MAPPING REQUEST +++++++++++++++++++++++++++++++ 01-#MREQ 0000FE 9205 A020 00020 146+ MVI 32+SYBMAP,B'00101' REQUEST TYPE FLAGS + 01-#MREQ 000102 9601 A021 00021 147+ OI 33+SYBMAP,B'00000001' FRST OPTION BYTE+ 01-#MREQ 000106 9601 A022 00022 148+ OI 34+SYBMAP,B'00000001' SECOND OPTION BYTE + 01-#MREQ 00010A 9600 A047 00047 149+ OI 71+SYBMAP,B'00000000' THIRD OPTION BYTE + 01-#MREQ 00010E 92FF A023 00023 150+ MVI 35+SYBMAP,B'11111111' COND FLAGS + 01-#MREQ 000112 920F A03B 0003B 151+ MVI 59+SYBMAP,B'1111' COND FLAGS + 01-#MREQ 000116 41F0 A0C4 000C4 152+ LA 15,SYSPLIST + 01-#MREQ 00011A D703 F000 F000 00000 00000 153+ XC 0(4,15),0(15) INITIALIZE THIS FULLWORD XA + 01-#MREQ 000120 4110 A000 00000 154+ LA 1,SYBMAP + 01-#MREQ 000124 501F 0004 00004 155+ ST 1,4(15) XA + 01-#MREQ 000128 927F F000 00000 156+ MVI 0(15),X'7F' INDICATE RELEASE 2+ PARMLIST XA + 01-#MREQ 00012C 9680 F004 00004 157+ OI 4(15),X'80' INDICATE END OF PLIST XA + 01-#MREQ 000130 181F 158+ LR 1,15 + 01-#MREQ 000132 58F0 C240 00240 159+ L 15,=V(IDCSACON) + 02-#ENTE 000136 05EF 160+ BALR 14,15 + 02-#ENTE 000138 002E 161+ DC AL2(46) + 02-#ENTE 00013A 12FF 162+ LTR 15,15 WERE THERE ANY ERRORS AT ALL? + 01-#MREQ 00013C 4770 C1DA 001DA 163+ BNZ ERRORTN YES + 01-#MREQ 164+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 166 * MAP OUT PROMPT 000140 47F0 C02C 0002C 168 B RETURNXT EXIT & WAIT FOR OPERATOR RESPONSE 000144 170 RECCUR DS 0H 171 #MREQ IN,MRB=SYBMAP,ERROR=ERRORTN,COND=(ALL) 000144 172+ DS 0H ++++++MAPPING REQUEST +++++++++++++++++++++++++++++++ 01-#MREQ 000144 9206 A020 00020 173+ MVI 32+SYBMAP,B'00110' REQUEST TYPE FLAGS + 01-#MREQ 000148 9600 A021 00021 174+ OI 33+SYBMAP,B'00000000' FRST OPTION BYTE+ 01-#MREQ 00014C 9600 A022 00022 175+ OI 34+SYBMAP,B'00000000' SECOND OPTION BYTE + 01-#MREQ 000150 9600 A047 00047 176+ OI 71+SYBMAP,B'00000000' THIRD OPTION BYTE + 01-#MREQ 000154 92FF A023 00023 177+ MVI 35+SYBMAP,B'11111111' COND FLAGS + 01-#MREQ 000158 920F A03B 0003B 178+ MVI 59+SYBMAP,B'1111' COND FLAGS + 01-#MREQ 00015C 41F0 A0C4 000C4 179+ LA 15,SYSPLIST + 01-#MREQ 000160 D703 F000 F000 00000 00000 180+ XC 0(4,15),0(15) INITIALIZE THIS FULLWORD XA + 01-#MREQ 000166 4110 A000 00000 181+ LA 1,SYBMAP + 01-#MREQ 00016A 501F 0004 00004 182+ ST 1,4(15) XA + 01-#MREQ 00016E 927F F000 00000 183+ MVI 0(15),X'7F' INDICATE RELEASE 2+ PARMLIST XA + 01-#MREQ PAGE 7 000172 9680 F004 00004 184+ OI 4(15),X'80' INDICATE END OF PLIST XA + 01-#MREQ 000176 181F 185+ LR 1,15 + 01-#MREQ 000178 58F0 C240 00240 186+ L 15,=V(IDCSACON) + 02-#ENTE 00017C 05EF 187+ BALR 14,15 + 02-#ENTE 00017E 002E 188+ DC AL2(46) + 02-#ENTE 000180 12FF 189+ LTR 15,15 WERE THERE ANY ERRORS AT ALL? + 01-#MREQ 000182 4770 C1DA 001DA 190+ BNZ ERRORTN YES + 01-#MREQ 191+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 193 * MAP IN TERMINAL INPUT 195 * #MAPINQ MRB=SYBMAP,AID=AIDBYTE 196 #MAPINQ MRB=SYBMAP,AID=AIDBYTE 000186 197+ DS 0H +++++++++++ INQUIRE ABOUT LAST MAP OPERATION ++++++++ 01-#MAPI 000186 D200 A11C A038 0011C 00038 198+ MVC AIDBYTE(1),56+SYBMAP X01-#MAPI + ATTENTION IDENTIFIER 199+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 201 * MOVE MAP DATA TO PROG VARIABLE STG 00018C 956D A11C 0011C 202 CLI AIDBYTE,CLEAR DID THE OPERATOR REQUEST FINISH? 000190 4780 C006 00006 203 BE RETURN YES - EXIT PGM, BACK TO IDMS DC 205 #MREQ OUT,MRB=SYBMAP,ERROR=ERRORTN, * COND=(ALL) 000194 206+ DS 0H ++++++MAPPING REQUEST +++++++++++++++++++++++++++++++ 01-#MREQ 000194 9205 A020 00020 207+ MVI 32+SYBMAP,B'00101' REQUEST TYPE FLAGS + 01-#MREQ 000198 9600 A021 00021 208+ OI 33+SYBMAP,B'00000000' FRST OPTION BYTE+ 01-#MREQ 00019C 9600 A022 00022 209+ OI 34+SYBMAP,B'00000000' SECOND OPTION BYTE + 01-#MREQ 0001A0 9600 A047 00047 210+ OI 71+SYBMAP,B'00000000' THIRD OPTION BYTE + 01-#MREQ 0001A4 92FF A023 00023 211+ MVI 35+SYBMAP,B'11111111' COND FLAGS + 01-#MREQ 0001A8 920F A03B 0003B 212+ MVI 59+SYBMAP,B'1111' COND FLAGS + 01-#MREQ 0001AC 41F0 A0C4 000C4 213+ LA 15,SYSPLIST + 01-#MREQ 0001B0 D703 F000 F000 00000 00000 214+ XC 0(4,15),0(15) INITIALIZE THIS FULLWORD XA + 01-#MREQ 0001B6 4110 A000 00000 215+ LA 1,SYBMAP + 01-#MREQ 0001BA 501F 0004 00004 216+ ST 1,4(15) XA + 01-#MREQ 0001BE 927F F000 00000 217+ MVI 0(15),X'7F' INDICATE RELEASE 2+ PARMLIST XA + 01-#MREQ 0001C2 9680 F004 00004 218+ OI 4(15),X'80' INDICATE END OF PLIST XA + 01-#MREQ 0001C6 181F 219+ LR 1,15 + 01-#MREQ 0001C8 58F0 C240 00240 220+ L 15,=V(IDCSACON) + 02-#ENTE 0001CC 05EF 221+ BALR 14,15 + 02-#ENTE 0001CE 002E 222+ DC AL2(46) + 02-#ENTE 0001D0 12FF 223+ LTR 15,15 WERE THERE ANY ERRORS AT ALL? + 01-#MREQ 0001D2 4770 C1DA 001DA 224+ BNZ ERRORTN YES + 01-#MREQ 225+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 227 * MAP OUT DATA 0001D6 47F0 C02C 0002C 229 B RETURNXT EXIT & WAIT FOR OPERATOR RESPONSE 230 * NO - MAPOUT, WAIT ON OPERATOR 0001DA 231 ERRORTN DS 0H HERE FOR NONZERO RETURN CODE 232 #SNAP AREA=(SYBMAP,SYBMAPLN) 233+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 0001DA 90E1 A0C4 000C4 234+ STM 14,1,SYSPLIST + 01-#SNAP 0001DE 4110 A0C4 000C4 235+ LA 1,SYSPLIST + 01-#SNAP 0001E2 9268 1010 00010 236+ MVI 16(1),96+8 + 01-#SNAP PAGE 8 0001E6 D702 1011 1011 00011 00011 237+ XC 17(3,1),17(1) + 01-#SNAP 0001EC 41E0 A000 00000 238+ LA 14,SYBMAP + 01-#SNAP 0001F0 50E0 1014 00014 239+ ST 14,20(,1) + 01-#SNAP 0001F4 41E0 00C0 000C0 240+ LA 14,SYBMAPLN + 01-#SNAP 0001F8 50E0 1018 00018 241+ ST 14,20+4(,1) + 01-#SNAP 0001FC 9680 1018 00018 242+ OI 28-4(1),X'80' + 01-#SNAP 000200 58F0 C240 00240 243+ L 15,=V(IDCSACON) + 02-#ENTE 000204 05EF 244+ BALR 14,15 + 02-#ENTE 000206 001D 245+ DC AL2(29) + 02-#ENTE 247+*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 000208 47F0 C006 00006 248 B RETURN EXIT 0006D 249 CLEAR EQU X'6D' CLEAR AIDBYTE VALUE 00020C E2E8C2E3E2D2F240 250 SYBTSK2 DC CL8'SYBTSK2 ' DC TASK INVOKING VALUE (EXTERNAL) 000214 E2E8C2E3E2D2F0F3 251 SYBTSK03 DC CL8'SYBTSK03' DC TASK INVOKING VALUE (INTERNAL) 000220 252 LTORG 000220 E2E8C2D4C1D74040 253 =CL8'SYBMAP' 000228 F1F161F2F561F9F1 254 =CL16'11/25/91171238R2' 000238 4040404040404040 255 =CL8' ' 000240 00000000 256 =V(IDCSACON) 000244 F0F0F0F0 257 =C'0000' 000248 0008 258 =H'8' 259 #BALI 000250 260+IDCSACON CSECT , IDMS DC ASSEMBLER PROGRAM INTERFACE 01-#BALI 000250 58FF 0008 00008 261+ L 15,8(15) ADDRESS OF DC'S COMMON STORAGE AREA 01-#BALI 000254 07FF 262+ BR 15 01-#BALI 000258 264+ DS 0F FORCE ALIGNMENT 01-#BALI 265+* THE FOLLOWING AD-CON IS FILLED IN BY THE DC PROGRAM LOADER. 000258 00000258C35BC15B 266+ DC A(*),C'C$A$' 01-#BALI 00024A 268+SYBPG2 CSECT 01-#BALI 270 ******************************************************************** 000000 271 STORAGE DSECT STORAGE DSECT 272 * @COPY IDMS,MAP-CONTROL=SYBMAP 273 #MRB MAPNAME=SYBMAP,FIELDS=0001,RECORDS=0001 000000 274+ DS 0A FORCE FULL-WORD ALIGNMENT 01-#MRB 000000 0000000000000000 275+SYBMAP DC XL76'0' BASIC MAP REQUEST BLOCK 01-#MRB 00004C 0000000000000000 276+ DC (0001)XL14'0' MAP REQUEST ELEMENTS 01-#MRB 00005A 0000 00005C 00000000 277+ DC (0001)A(0) DATA RECORD ADDRESS SLOTS 01-#MRB 000060 0000000000000000 278+MRBPLIST DC 20A(0) 01-#MRB 0000B0 0000000000000000 279+MRBPGDS DC 4A(0) #STRTPAG, #ENDPAG PARM LIST 01-#MRB 000C0 280 SYBMAPLN EQU *-SYBMAP LENGTH OF #MRB FOR SNAP 282 * @COPY IDMS,MAP-RECORDS 0000C0 283 DS 0D 0000C0 284 SYBREC DS 0CL4 0000C0 285 SYBDEPID DS CL4 286 **************************************** 0000C4 288 SYSPLIST DS 20F MAP OUT PARAMETER LIST AREA 000114 289 TASKCODE DS CL8 TASK CODE WHICH INVOKED PROGRAM PAGE 9 00011C 290 AIDBYTE DS X ATTENTION IDENTIFIER BYTE 00011D 291 DS 3X RESERVED 00120 292 STORLGTH EQU *-STORAGE TOTAL LENGTH OF STORAGE NEEDED 000000 294 END SYBPG2
|
Copyright © 2014 CA.
All rights reserved.
|
|