|
The following
two programs are used in the TEST tutorial. The first program is used
early in the tutorial and must be placed in a sequential data set
named ‘prefix.SAMPLE1.ASM’. The
second program is used later in the tutorial and must be placed in
a sequential data set named ‘prefix.SAMPLE2.ASM’.
Source
for first sample program
**************************************************************
** *
** This is a sample assembler language program that is *
** used with the TEST tutorial in the publication, *
** TSO/E Programming Guide. *
** *
**************************************************************
SAMP1 CSECT
STM 14,12,12(13)
BALR 12,0
USING *,12
ST 13,SAVE+4
LA 15,SAVE
ST 15,8(13)
LR 13,15
STOP1 LH 3,HALFCON
STOP2 A 3,FULLCON
STOP3 ST 3,HEXCON
L 13,4(13)
LM 14,12,12(13)
BR 14
SAVE DC 18F'0'
ADCON DC A(SAVE)
FULLCON DC F'-1'
HEXCON DC XL4'FD38'
HALFCON DC H'32'
CHARCON DC CL10'TEST EXAMP'
PACKCON DC PL4'25'
BINCON DC B'10101100'
END SAMP1
Listing
for first sample program
External Symbol Dictionary
Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2008/09/23 11.08
SAMP1 SD 00000001 00000000 00000091 00
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT HLASM R6.0 2008/09/23 11.08
1 **************************************************************
2 ** *
3 ** This is a sample assembler language program that is *
4 ** used with the TEST tutorial in the publication, *
5 ** TSO/E Programming Guide. *
6 ** *
7 **************************************************************
000000 00000 00091 8 SAMP1 CSECT
000000 90EC D00C 0000C 9 STM 14,12,12(13)
000004 05C0 10 BALR 12,0
R:C 00006 11 USING *,12
000006 50D0 C02A 00030 12 ST 13,SAVE+4
00000A 41F0 C026 0002C 13 LA 15,SAVE
00000E 50FD 0008 00008 14 ST 15,8(13)
000012 18DF 15 LR 13,15
000014 4830 C07A 00080 16 STOP1 LH 3,HALFCON
000018 5A30 C072 00078 17 STOP2 A 3,FULLCON
00001C 5030 C076 0007C 18 STOP3 ST 3,HEXCON
000020 58DD 0004 00004 19 L 13,4(13)
000024 98EC D00C 0000C 20 LM 14,12,12(13)
000028 07FE 21 BR 14
00002A 0000
00002C 0000000000000000 22 SAVE DC 18F'0'
000074 0000002C 23 ADCON DC A(SAVE)
000078 FFFFFFFF 24 FULLCON DC F'-1'
00007C 0000FD38 25 HEXCON DC XL4'FD38'
000080 0020 26 HALFCON DC H'32'
000082 E3C5E2E340C5E7C1 27 CHARCON DC CL10'TEST EXAMP'
00008C 0000025C 28 PACKCON DC PL4'25'
000090 AC 29 BINCON DC B'10101100'
000000 30 END SAMP1
Relocation Dictionary
Pos.Id Rel.Id Address Type Action HLASM R6.0 2008/09/23 11.08
00000001 00000001 00000074 A 4 +
Ordinary Symbol and Literal Cross Reference
Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2008/09/23 11.08
FULLCON 4 00000078 00000001 F F 24 17
HALFCON 2 00000080 00000001 H H 26 16
HEXCON 4 0000007C 00000001 X X 25 18M
SAMP1 1 00000000 00000001 J 8 30
SAVE 4 0000002C 00000001 F F 22 12M 13 23
Unreferenced Symbols Defined in CSECTs
Defn Symbol HLASM R6.0 2008/09/23 11.08
23 ADCON
29 BINCON
27 CHARCON
28 PACKCON
16 STOP1
17 STOP2
18 STOP3
Using Map
HLASM R6.0 2008/09/23 11.08
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
11 00000006 00000001 USING ORDINARY 00000006 00001000 00000001 12 0007A 18 *,12
General Purpose Register Cross Reference
Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2008/09/23 11.08
0(0) 9 20M
1(1) 9 20M
2(2) 9 20M
3(3) 9 16M 17M 18 20M
4(4) 9 20M
5(5) 9 20M
6(6) 9 20M
7(7) 9 20M
8(8) 9 20M
9(9) 9 20M
10(A) 9 20M
11(B) 9 20M
12(C) 9 10M 11U 20M
13(D) 9 12 14N 15M 19M 19N 20
14(E) 9 20M 21B
15(F) 9 13M 14 15 20M
Diagnostic Cross Reference and Assembler Summary
HLASM R6.0 2008/09/23 11.08
No Statements Flagged in this Assembly
HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157
SYSTEM: z/OS 01.10.00 JOBNAME: MKASPERN STEPNAME: SAMPLE1 PROCSTEP: (NOPROC)
Data Sets Allocated for this Assembly
Con DDname Data Set Name Volume Member
P1 SYSIN MKASPER.SAMPLE1.SAM SL8D18
L1 SYS1.MODGEN PRIPKR
L2 SYS1.MACLIB PRIPKR
SYSLIN NULLFILE
SYSPRINT SYS08267.T110803.RA000.MKASPERN.ASMPRT.H01 SMSSC5
SYSPUNCH SYS08267.T110803.RA000.MKASPERN.OBJKEEP.H01
1533936K allocated to Buffer Pool Storage required 228K
30 Primary Input Records Read 0 Library Records Read 0 Work File Reads
0 ASMAOPT Records Read 188 Primary Print Records Written 0 Work File Writes
6 Object Records Written 0 ADATA Records Written
Assembly Start Time: 11.08.03 Stop Time: 11.08.03 Processor Time: 00.00.00.0004
Return Code 000
Source
for second sample program
**************************************************************
** *
** This is a sample assembler language program that is *
** used with the TEST tutorial in the publication, *
** TSO/E Programming Guide. *
** *
** NOTE: There is an error in this program. It is intended *
** to be located and fixed in the TEST tutorial. *
**************************************************************
TABAVG CSECT
STM 14,12,12(13)
BALR 12,0
USING *,12
ST 13,SAVE+4
LA 15,SAVE
ST 15,8(13)
LR 13,15
OPEN (OUTDCB,(OUTPUT))
L 7,TABSIZE
SR 6,6
SR 5,5
ADDIT AH 5,TAB(6)
LA 6,2(6)
BCT 7,ADDIT
ST 5,SUM
SR 4,4
DR 4,7
STM 4,5,AVG
PUT OUTDCB,OUTMSG
CLOSE (OUTDCB)
L 13,4(13)
LM 14,12,12(13)
BR 14
SAVE DC 18F'0'
TABSIZE DC F'12'
AVG DC 2F'0'
SUM DC F'0'
TAB DC H'31'
DC H'29'
DC H'31'
DC H'30'
DC H'31'
DC H'30'
DC H'31'
DC H'31'
DC H'30'
DC H'31'
DC H'30'
DC H'31'
OUTMSG DC CL50'TABLE AVERAGE PROGRAM '
OUTDCB DCB DDNAME=OUTDD,LRECL=50,BLKSIZE=50,RECFM=F, *
MACRF=(PM),DSORG=PS
END TABAVG
Listing
for second sample program
External Symbol Dictionary
Symbol Type Id Address Length Owner Id Flags Alias-of HLASM R6.0 2008/09/23 11.25
TABAVG SD 00000001 00000000 00000168 00
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT HLASM R6.0 2008/09/23 11.25
1 **************************************************************
2 ** *
3 ** This is a sample assembler language program that is *
4 ** used with the TEST tutorial in the publication, *
5 ** TSO/E Programming Guide. *
6 ** *
7 ** NOTE: There is an error in this program. It is intended *
8 ** to be located and fixed in the TEST tutorial. *
9 **************************************************************
000000 00000 00168 10 TABAVG CSECT
000000 90EC D00C 0000C 11 STM 14,12,12(13)
000004 05C0 12 BALR 12,0
R:C 00006 13 USING *,12
000006 50D0 C062 00068 14 ST 13,SAVE+4
00000A 41F0 C05E 00064 15 LA 15,SAVE
00000E 50FD 0008 00008 16 ST 15,8(13)
000012 18DF 17 LR 13,15
18 OPEN (OUTDCB,(OUTPUT))
000014 19+ CNOP 0,4 ALIGN LIST TO FULLWORD
000014 4510 C016 0001C 20+ BAL 1,*+8 LOAD REG1 W/LIST ADDR. @L2A
000018 8F 21+ DC AL1(143) OPTION BYTE
000019 000108 22+ DC AL3(OUTDCB) DCB ADDRESS
00001C 0A13 23+ SVC 19 ISSUE OPEN SVC
00001E 5870 C0A6 000AC 24 L 7,TABSIZE
000022 1B66 25 SR 6,6
000024 1B55 26 SR 5,5
000026 4A56 C0B6 000BC 27 ADDIT AH 5,TAB(6)
00002A 4166 0002 00002 28 LA 6,2(6)
00002E 4670 C020 00026 29 BCT 7,ADDIT
000032 5050 C0B2 000B8 30 ST 5,SUM
000036 1B44 31 SR 4,4
000038 1D47 32 DR 4,7
00003A 9045 C0AA 000B0 33 STM 4,5,AVG
34 PUT OUTDCB,OUTMSG
00003E 4110 C102 00108 36+ LA 1,OUTDCB LOAD PARAMETER REG 1
000042 4100 C0CE 000D4 37+ LA 0,OUTMSG LOAD PARAMETER REG 0
000046 1FFF 38+ SLR 15,15 CLEAR REGISTER @L1A
000048 BFF7 1031 00031 39+ ICM 15,7,49(1) LOAD PUT ROUTINE ADDR @L1C
00004C 05EF 40+ BALR 14,15 LINK TO PUT ROUTINE
41 CLOSE (OUTDCB)
00004E 0700 42+ CNOP 0,4 ALIGN LIST TO FULLWORD
000050 4510 C052 00058 43+ BAL 1,*+8 LOAD REG1 W/LIST ADDR. @L2A
000054 80 44+ DC AL1(128) OPTION BYTE
000055 000108 45+ DC AL3(OUTDCB) DCB ADDRESS
000058 0A14 46+ SVC 20 ISSUE CLOSE SVC
00005A 58DD 0004 00004 47 L 13,4(13)
00005E 98EC D00C 0000C 48 LM 14,12,12(13)
000062 07FE 49 BR 14
000064 0000000000000000 50 SAVE DC 18F'0'
0000AC 0000000C 51 TABSIZE DC F'12'
0000B0 0000000000000000 52 AVG DC 2F'0'
0000B8 00000000 53 SUM DC F'0'
0000BC 001F 54 TAB DC H'31'
0000BE 001D 55 DC H'29'
0000C0 001F 56 DC H'31'
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
0000C2 001E 57 DC H'30'
0000C4 001F 58 DC H'31'
0000C6 001E 59 DC H'30'
0000C8 001F 60 DC H'31'
0000CA 001F 61 DC H'31'
0000CC 001E 62 DC H'30'
0000CE 001F 63 DC H'31'
0000D0 001E 64 DC H'30'
0000D2 001F 65 DC H'31'
0000D4 E3C1C2D3C540C1E5 66 OUTMSG DC CL50'TABLE AVERAGE PROGRAM '
67 OUTDCB DCB DDNAME=OUTDD,LRECL=50,BLKSIZE=50,RECFM=F, *
MACRF=(PM),DSORG=PS
70+* DATA CONTROL BLOCK
71+*
000106 0000
000108 72+OUTDCB DC 0F'0' ORIGIN ON WORD BOUNDARY
73+* DIRECT ACCESS DEVICE INTERFACE
000108 0000000000000000 74+ DC BL16'0' FDAD, DVTBL
000118 00000000 75+ DC A(0) KEYLEN, DEVT, TRBAL
76+* COMMON ACCESS METHOD INTERFACE
00011C 00 77+ DC AL1(0) BUFNO, NUMBER OF BUFFERS
00011D 000001 78+ DC AL3(1) BUFCB, BUFFER POOL CONTROL BLOCK
000120 0000 79+ DC AL2(0) BUFL, BUFFER LENGTH
000122 4000 80+ DC BL2'0100000000000000' DSORG, DATA SET ORGANIZATION
000124 00000001 81+ DC A(1) IOBAD FOR EXCP OR RESERVED
82+* FOUNDATION EXTENSION
000128 00 83+ DC BL1'00000000' BFTEK, BFALN, DCBE INDICATORS
000129 000001 84+ DC AL3(1) EODAD (END OF DATA ROUTINE ADDRESS)
00012C 80 85+ DC BL1'10000000' RECFM (RECORD FORMAT)
00012D 000000 86+ DC AL3(0) EXLST (EXIT LIST ADDRESS)
87+* FOUNDATION BLOCK
000130 D6E4E3C4C4404040 88+ DC CL8'OUTDD' DDNAME
000138 02 89+ DC BL1'00000010' OFLGS (OPEN FLAGS)
000139 00 90+ DC BL1'00000000' IFLGS (IOS FLAGS)
00013A 0050 91+ DC BL2'0000000001010000' MACR (MACRO FORMAT)
92+* BSAM-BPAM-QSAM INTERFACE
00013C 00 93+ DC BL1'00000000' OPTCD, OPTION CODES
00013D 000001 94+ DC AL3(1) CHECK OR INTERNAL QSAM SYNCHRONIZING RTN.
000140 00000001 95+ DC A(1) SYNAD, SYNCHRONOUS ERROR RTN. (3 BYTES)
000144 0000 96+ DC H'0' INTERNAL ACCESS METHOD FLAGS
000146 0032 97+ DC AL2(50) BLKSIZE, BLOCK SIZE
000148 00000000 98+ DC F'0' INTERNAL ACCESS METHOD FLAGS
00014C 00000001 99+ DC A(1) INTERNAL ACCESS METHOD USE
100+* QSAM INTERFACE
000150 00000001 101+ DC A(1) EOBAD
000154 00000001 102+ DC A(1) RECAD
000158 0000 103+ DC H'0' QSWS (FLAGS) AND EITHER DIRCT OR BUFOFF
00015A 0032 104+ DC AL2(50) LRECL
00015C 00 105+ DC BL1'00000000' EROPT, ERROR OPTION
00015D 000001 106+ DC AL3(1) CNTRL
000160 00000000 107+ DC H'0,0' RESERVED AND PRECL
000164 00000001 108+ DC A(1) EOB, INTERNAL ACCESS METHOD FIELD
000000 109 END TABAVG
Relocation Dictionary
Pos.Id Rel.Id Address Type Action HLASM R6.0 2008/09/23 11.25
00000001 00000001 00000019 A 3 +
00000001 00000001 00000055 A 3 +
Ordinary Symbol and Literal Cross Reference
Symbol Length Value Id R Type Asm Program Defn References HLASM R6.0 2008/09/23 11.25
ADDIT 4 00000026 00000001 I 27 29B
AVG 4 000000B0 00000001 F F 52 33M
OUTDCB 4 00000108 00000001 F F 72 22 36 45
OUTMSG 50 000000D4 00000001 C C 66 37
SAVE 4 00000064 00000001 F F 50 14M 15
SUM 4 000000B8 00000001 F F 53 30M
TAB 2 000000BC 00000001 H H 54 27
TABAVG 1 00000000 00000001 J 10 109
TABSIZE 4 000000AC 00000001 F F 51 24
Using Map
HLASM R6.0 2008/09/23 11.25
Stmt -----Location----- Action ----------------Using----------------- Reg Max Last Label and Using Text
Count Id Type Value Range Id Disp Stmt
13 00000006 00000001 USING ORDINARY 00000006 00001000 00000001 12 00102 43 *,12
General Purpose Register Cross Reference
Register References (M=modified, B=branch, U=USING, D=DROP, N=index) HLASM R6.0 2008/09/23 11.25
0(0) 11 37M 48M
1(1) 11 20M 36M 39 43M 48M
2(2) 11 48M
3(3) 11 48M
4(4) 11 31M 31 32M 33 48M
5(5) 11 26M 26 27M 30 32M 33 48M
6(6) 11 25M 25 27N 28M 28N 48M
7(7) 11 24M 29M 32 48M
8(8) 11 48M
9(9) 11 48M
10(A) 11 48M
11(B) 11 48M
12(C) 11 12M 13U 48M
13(D) 11 14 16N 17M 47M 47N 48
14(E) 11 40M 48M 49B
15(F) 11 15M 16 17 38M 38 39M 40B 48M
Diagnostic Cross Reference and Assembler Summary
HLASM R6.0 2008/09/23 11.25
No Statements Flagged in this Assembly
HIGH LEVEL ASSEMBLER, 5696-234, RELEASE 6.0, PTF UK37157
SYSTEM: z/OS 01.10.00 JOBNAME: MKASPERO STEPNAME: SAMPLE2 PROCSTEP: (NOPROC)
Data Sets Allocated for this Assembly
Con DDname Data Set Name Volume Member
P1 SYSIN MKASPER.SAMPLE2.SAM SL6294
L1 SYS1.MODGEN PRIPKR
L2 SYS1.MACLIB PRIPKR
SYSLIN NULLFILE
SYSPRINT SYS08267.T112528.RA000.MKASPERO.ASMPRT.H01 SMSSC4
SYSPUNCH SYS08267.T112528.RA000.MKASPERO.OBJKEEP.H01
1533756K allocated to Buffer Pool Storage required 500K
53 Primary Input Records Read 2675 Library Records Read 0 Work File Reads
0 ASMAOPT Records Read 268 Primary Print Records Written 0 Work File Writes
10 Object Records Written 0 ADATA Records Written
Assembly Start Time: 11.25.29 Stop Time: 11.25.29 Processor Time: 00.00.00.0116
Return Code 000
|