> MVC TOKEN_OUTPUT_AREA+10,C'''' THAT IS 4 TICK MARKS IN A ROW ITYM: MVI TOKEN_OUTPUT_AREA+10,C'''' THAT IS 4 TICK MARKS IN A ROW
= > Date: Sun, 21 Jul 2013 16:42:40 -0500 > From: [email protected] > Subject: Re: Question About storing a Value in a Macro > To: [email protected] > > What, exactly is YTOKEN. You said "The Macro statemnents are genereated by > a program. The program generates a TOKEN ..." Sounds like program #1 > creates program #2 and program #2 contains the SRVRCONN macros which are > assembled after program #1 finishes (reminds me of an NCP gen, sort of). If > so, instead of program #1 outputting > > SRVRCONN SRVRCONN CITI_TO_QSTB,YTOKEN,A0000203 > > it needs to output: > > SRVRCONN CITI_TO_QSTB,X'2E47B000',A0000203 > > which would then expand into what you indicated that you need. I don't have > your program #1, of course, but assume at some point the value x'2E47B000' > resides in program #1's data area in the 4 byte area labelled TOKEN. > > Instead of moving the value C'TOKEN' into the output area, you need to > convert the hex value contained in the TOKEN area into a hexadecimal > character constant. There is the old way and the new way. The old way is > basically: > > TOKEN DS XL4 TOKEN > HTOKEN DS XL9 HEX TOKEN > TOHEX DC C'0123456789ABCDEF' > .. > UNPK HTOKEN(9),TOKEN(5) UNPACK TOKEN > TR HTOKEN(8),TOHEX-C'0' > > Where the code in program #1 now does something like: > > MVC TOKEN_OUTPUT_AREA(6),=CL6'YTOKEN' > > You need something like: > > MVC TOKEN_OUTPUT_AREA(2),=CL2'X''' THAT IS 3 TICK MARKS IN A ROW > MVC TOKEN_OUTPUT_AREA+2(8),HTOKEN MOVE IN HEX VALUE OF TOKEN > MVC TOKEN_OUTPUT_AREA+10,C'''' THAT IS 4 TICK MARKS IN A ROW > > > If someone knows an easier way, I would love to learn it. > > To me, the above is simple and well known. There is another way, using the > TROT, but that I consider it to be a bother. Too much setup, and a problem > if ETF-2 (Extended Translate Facility 2) is not available on the hardware. > OK, It's on all the current hardware. But nuff said from me. > > > > > On Sun, Jul 21, 2013 at 3:47 PM, [email protected] <[email protected]> wrote: > > > I have simple Macro with three positional parameters: > > SRVRCONN &C,&T,&G > > > > The Macro generation is as follows: > > .A020 ANOP > > DC CL20'&C' .Name > > DC AL4(&T) .Generated Token > > DC A(&G-DSSCNTL) .Offset IP List Address > > DC A(#&G) .Name Count > > DC CL8'&G' .Host Name > > * > > > > The Macro statemnents are genereated by a program. The program generates a > > TOKEN and its generated value is to be stored in the macro expansion. > > After this program generates the macro statements the output is assembled. > > > > In the Assembly, the macro expands as follows: > > SRVRCONN CITI_TO_QSTB,YTOKEN,A0000203 > > DC CL20'CITI_TO_QSTB' .Name > > DC AL4(YTOKEN) .Gene > > > > DC A(A0000203-DSSCNTL) .Offs > > DC A(#A0000203) .Name > > DC CL8'A0000203' .Host > > > > > > My question concerns the "YTOKEN" parameter. > > I would Like to Store the "value" of YTOKEN and not YTOKEN itself, > > as its not defined in the final assembly. Hence an error is generated > > YTOKEN not defined. > > > > For example If YTOKEN contained a value of 2E47B000, I wanted the macro > > expansion to be: > > SRVRCONN CITI_TO_QSTB,YTOKEN,A0000203 > > DC CL20'CITI_TO_QSTB' .Name > > DC AL4(2E47B000) .Gene > > DC A(A0000203-DSSCNTL) .Offs > > DC A(#A0000203) . > > DC CL8'A0000203' > > > > Can someone suggest How I can get the Value of the variable YTOKEN stored > > as an AL4(xxxxxxxx) or XL4(xxxxxxxx) in the Macro Expansion, and not an > > AL4(YTOKEN)... > > > > Paul > > ----------------------------------- > > > > > > -- > This is a test of the Emergency Broadcast System. If this had been an > actual emergency, do you really think we'd stick around to tell you? > > Maranatha! <>< > John McKown
