> Any assistance would be greatly appreciated.
>
> I am working on a SNA interface for a batch framework. This is mostly just
> a massive learning exercise that will likely never be utilized, but I have
> learned SO much while working on this project (currently 6 years in the
> making).

I'm confused about what this is part of.  Is this a TSO program
or something else (saying SNA? VTAM APPL?).  

I ask that because as far as I know GTTERM is TSO only.  But
you got return code 0 so perhaps the GTTERM is being issued
from TSO.
 
> The address space accepts terminals with MOD2 terminals and everything

"Terminals" plural.  A TSO session with more than one?

> I check register 15 after the SVC, and it is zero. But the SVC parameter
> values are still zero.

When using MF=L and MF=E macro forms, usually it's necessary to copy
an MF=L list into the DSECT area before using the MF=E form...

This is not true for all macros, but perhaps for GTTERM.

So somewhere in the source should be a GTTERM MF=L and then it should
be copied (MVC) into GTTLIST in the DSECT before issuing the GTTERM
MF=(E,GTTLIST).  I'd suggest looking at the full expansion of the GTTERM
(both MF=L and MF=E) to see if this is needed.

Other points:

> WORKREG  EQU   R3
> SESSREG  EQU   R5

I've only used 16 registers R0->R15.  You can do what you want but I'd
be very careful that additional register equates didn't result in some
duplicate register usage.  I saw some IBM source which had:

  R15   EQU  R9

I'd prefer better comments, or when trivial, no comment.   As an
example:

>          LR    R2,R1                   SAVE REGISTER 2

This appears backwards, saving R1 in R2.   Also R2 is a problematic
register as some hardware instructions alter it without it being specified
(TRT translate and test at least).  I'd be careful when I used it and
treat it as a bit less temporary than R0, R1, R14, R15.

More comments on comments (& register usage):
 
>          LR    R6,WORKREG              LOAD REGISTER
>          LA    R8,0                    SET DUMMY FROM ADDRESS
>          XR    R9,R9                   SET PADDING TO LOW VALUES
>          MVCL  R6,R8                   INITIALIZE AREA

I'd suggest something like:

           LR    R6,WORKREG              @ workarea to clear, len in R7
           SR    R15,R15        
           MVCL  R6,R14

The contents of R14 don't matter for the MVCL as the length in R15 is zero.

----------------------------------------------------------------------
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