On Thu, Nov 10, 2022 at 07:14:34AM -0500, Brian Chapman wrote:
> Michael,
> 
> Are you saying that sense code 084E is only applicable for LU6.2? 

I'm saying the page you linked to was for LU6.2 and as far as I know
3270s aren't LU6.2.

Also I'm still very very uncertain what you are doing.  At least I now
know you aren't running a TSO session, but what you are doing is still
unclear.  I've just sort of assumed it's some sort of VTAM application
and talks to 3270s.

So what's unknown is the VTAM network environment like (modetab?, cross
domain?), what kind of 3270 you have: LU type? (or emulate?), what the
VTAM application is doing (like code?).

In trying to guess what's needed (it's been a long time) I looked at some
old VTAM application code which talked to 3270s (back then real 3270s).
They don't seem to deal with the session parameters so they are getting
set somewhere else than in the VTAM application...

The question is then why is your application different?

> You have 3 R6's?:
...
> DMHREG is only in effect for the small section of code before the DROP
> instruction. I could have used the VTAMREG equate in the MVCL section, but
> I wanted to be sure that it utilized an even-odd pair. In this case it
> would have, but I like the flexibility of changing my equate assignments if
> necessary.

Yes, even-odd pair is yet another reason to use only numbered registers.

You can do whatever you want, but I'd recommend:

a. only use r0-r15 
b. include comments on register usage at important points

I feel that part of writing assembly code is register assignment and
it should be clear from the code and comments what is assigned. 

And the information on register usage should be local to where the
registers are used, not hidden at the beginning of the program (or worse
hidden in another source / macro file).

*VTAMREG  EQU   R6
*NIBREG   EQU   R8

# ----

*ALLOCATE DS    0H
*         LHI   R7,TASKANCH_LEN         LOAD SESSION ANCHOR LENGTH
*         GETMAIN R,LV=(7),LOC=31
*         LR    R6,R1                   LOAD REGISTER
**
*         LA    R8,0                    SET DUMMY FROM ADDRESS
*         SR    R15,R15                 ZERO FROM LENGTH
*         MVCL  R6,R14                  INITIALIZE WITH LOW VALUES   

So NIBREG has 0 now?

# ----

The following DS 0F and ORG leave a "hole" in your code which in the load
module might contain anything.  And it might change every time your
code was reassembled or linked.

I don't know what is in that offset in the SESSVTAM DSECT but the
begining of it is being initalized to unknown values...

Likely the area should be zeroed after the GETMAIN and only the needed
fields initialized (or else the ORG area replaced with zeros?).

*INITVTAM DS    0F
*         ORG   INITVTAM+SESSVTAM_INIT
*INITRPL  RPL   AM=VTAM,RESPOND=FME
*INITNIB  NIB   MODE=RECORD,PROC=(RESPX,TRUNC,NEGBIND)
*INITVTAL EQU   *-INITVTAM

PS: I believe that there are 3270 type VTAM application codes on the
    cbttape as well as elsewhere.  While these may not be the best code,
    they might give you hints as to what is needed to get you past
    connecting to a 3270.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to