ca.portal.admin

IDCSACON Assembler routine

Discussion created by ca.portal.admin on Dec 12, 2007
Latest reply on Dec 12, 2007 by ca.portal.admin
I've written a macro level (not idmsdmla) assembler routine with a #MOPT
ENV=USER, and a #BALI. Unfortunately the #LINEOUT expansion is using
register 11 to load the idcsacon from, instead of R12. The program's
csect is based on r12 (using r12), and the branches that the assembler
generates are based on r12. The vcon v=(idcsacon) is in the right place
in the program and idcsacon has its own csect, due to the #BALI macro
expansion. Why on earth is the #LINEOUT creating code that's basing
IDCSACON on r11? The parameter list is based in r11, sysplist.
Any ideas?
simple IDMS SOAP server
Lutz Petzold
TDM UDB/IDMS Support
Wednesday, Thursday (860) 636 0291
Monday, Tuesday, Friday (401) 782 2265
Anytime (860) 366 0865 or Telalert



This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
IDCSACON Assembler routine
"I've written a macro level (not idmsdmla) assembler routine with a #MOPT
ENV=USER, and a #BALI. Unfortunately the #LINEOUT expansion is using
register 11 to load the idcsacon from, instead of R12. The program's
csect is based on r12 (using r12), and the branches that the assembler
generates are based on r12. The vcon v=(idcsacon) is in the right place
in the program and idcsacon has its own csect, due to the #BALI macro
expansion. Why on earth is the #LINEOUT creating code that's basing
IDCSACON on r11? The parameter list is based in r11, sysplist.
Any ideas?

Lutz Petzold
TDM UDB/IDMS Support
Wednesday, Thursday (860) 636 0291
Monday, Tuesday, Friday (401) 782 2265
Anytime (860) 366 0865 or Telalert



This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: IDCSACON Assembler routine
"Hi Chuck. Thanks for replying. I have a #enter in the same maclib as
the #lineout and it does contain the same source code that you
mentioned. Only, my assembler is generating a machine instruction like
this:

00009A 58F0 B0E0 000E0 2872+ L 15,=V(IDCSACON)

The assembler is thinking that r14 is the base for the IDCSACON. But,
it is defined as follows, so the machine instruction should be 58f0
c200. I'm thinking that the #BALI isn't needed, as it's really not
generating a Vcon. Maybe it's been too long since I had my head in
this, but I thought a VCON was resolved by IDMS runtime and should be
the core address for the common point of entry for idms requests.

2985 #BALI

000200 00200 00010 2986+IDCSACON CSECT ,
IDMS
2987+IDCSACON AMODE 31

2988+IDCSACON RMODE ANY

000200 58FF 0008 00008 2989+ L 15,8(15)
ADDR
000204 07FF 2990+ BR 15

000208 2992+ DS 0F
FORC
2993+* THE FOLLOWING AD-CON IS FILLED
IN BY
000208 00000208C35BC15B 2994+ DC A(*),C'C$A$'

0001EA 00050 001A9 2996+WHOGOT CSECT



Lutz Petzold
TDM UDB/IDMS Support
Wednesday, Thursday (860) 636 0291
Monday, Tuesday, Friday (401) 782 2265
Anytime (860) 366 0865 or Telalert



This e-mail may contain confidential or privileged information. If
you think you have received this e-mail in error, please advise the
sender by reply e-mail and then delete this e-mail immediately.
Thank you. Aetna
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: IDCSACON Assembler routine
"Lutz, have you tried putting an LTORG before the Csect that is addressed
by R11
M.

===>> .-----Original Message-----
===>> .From: IDMS Public Discussion Forum
===>> .[mailTo:IDMS-L@LISTSERV.IUASSN.COM] On Behalf Of Petzold, Lutz
===>> .Sent: Wednesday, December 12, 2007 12:04 PM
===>> .To: IDMS-L@LISTSERV.IUASSN.COM
===>> .Subject: Re: IDCSACON Assembler routine
===>> .
===>> .
===>> .Hi Chuck. Thanks for replying. I have a #enter in the
===>> .same maclib as
===>> .the #lineout and it does contain the same source code
===>> .that you mentioned. Only, my assembler is generating a
===>> .machine instruction like
===>> .this:
===>> .
===>> .00009A 58F0 B0E0 000E0 2872+ L
===>> .15,=V(IDCSACON)
===>> .
===>> .The assembler is thinking that r14 is the base for the
===>> .IDCSACON. But, it is defined as follows, so the
===>> .machine instruction should be 58f0
===>> .c200. I'm thinking that the #BALI isn't needed, as
===>> .it's really not
===>> .generating a Vcon. Maybe it's been too long since I
===>> .had my head in this, but I thought a VCON was resolved
===>> .by IDMS runtime and should be the core address for the
===>> .common point of entry for idms requests.
===>> .
===>> . 2985 #BALI
===>> .
===>> .000200 00200 00010 2986+IDCSACON CSECT ,
===>> .IDMS
===>> . 2987+IDCSACON AMODE 31
===>> .
===>> . 2988+IDCSACON RMODE ANY
===>> .
===>> .000200 58FF 0008 00008 2989+ L 15,8(15)
===>> .ADDR
===>> .000204 07FF 2990+ BR 15
===>> .
===>> .000208 2992+ DS 0F
===>> .FORC
===>> . 2993+* THE FOLLOWING
===>> .AD-CON IS FILLED IN BY
===>> .000208 00000208C35BC15B 2994+ DC
===>> .A(*),C'C$A$'
===>> .
===>> .0001EA 00050 001A9 2996+WHOGOT CSECT
===>> .
===>> .
===>> .
===>> .Lutz Petzold
===>> .TDM UDB/IDMS Support
===>> .Wednesday, Thursday (860) 636 0291
===>> .Monday, Tuesday, Friday (401) 782 2265
===>> .Anytime (860) 366 0865 or Telalert
===>> .
===>> .
===>> .
===>> .This e-mail may contain confidential or privileged
===>> .information. If you think you have received this e-mail
===>> .in error, please advise the sender by reply e-mail and
===>> .then delete this e-mail immediately. Thank you. Aetna
===>> .
"
IDMS Public Discussion Forum
IDMS-L@LISTSERV.IUASSN.COM
SMTP
IDMS-L@LISTSERV.IUASSN.COM
IDMS-L@LISTSERV.IUASSN.COM
SMTP








Normal

Normal
Re: IDCSACON Assembler routine
"Hi Lutz,

Now I see what you are getting at.

Michel is on track here. The =V(IDCSACON) is getting localized by the
assembler to the last location within your program, within the CSECT where
it was referenced (I think those are the rules the assembler uses).
Anyway, what's happening is it is getting pooled into an assembler collected
constant area which happens to be addressed off of R11.
As Michel said, try inserting an LTORG statement somewhere more appropriate
for the R12 range.

And yes, you do not have to include the #BALI, but if you don't, you will
need to include IDMSBALI in your link edit.

Chuck

Outcomes