Can anyone help on this compilation error(related to USING instruction)?
Here's my sample program:
ASMTEST CSECT
STM 14,12,12(13)
BALR 12,0
USING *,12
OPEN (VSAMACB)
CH 15,=H'4'
GET RPL=VSAMRPL
WTO 'GET A VSAM RECORD!'
LM 14,12,12(13)
XR 15,15
CLOSE (VSAMACB)
BR 14
VSAMACB ACB AM=VSAM,
DDNAME=VSAMFILE,
MACRF=(SEQ,IN)
VSAMRPL RPL AM=VSAM,
ACB=VSAMACB,
AREA=IOAREA,
AREALEN=7500
SPACE 1
IOAREA DS CL7500
END
STM 14,12,12(13)
BALR 12,0
USING *,12
OPEN (VSAMACB)
CH 15,=H'4'
GET RPL=VSAMRPL
WTO 'GET A VSAM RECORD!'
LM 14,12,12(13)
XR 15,15
CLOSE (VSAMACB)
BR 14
VSAMACB ACB AM=VSAM,
DDNAME=VSAMFILE,
MACRF=(SEQ,IN)
VSAMRPL RPL AM=VSAM,
ACB=VSAMACB,
AREA=IOAREA,
AREALEN=7500
SPACE 1
IOAREA DS CL7500
END
Here's the error message in the compilation listing:
000012 0000 0000 00000 12 CH 15,=H'4'
** ASMA034E Operand =H'4' beyond active USING range by 3643 bytes
I know the USING instruction is to establish the addressability, but can anyone explain in detail by USING *,12 what
addressability established from the above program? and how the 3643 bytes beyond the USING range was calculated?
Also, what the '=' in the literal =H'4' mean? is it a MUST to have the '=' to specify a literal constant?
Thanks, Roy