Hello all, 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). The address space accepts terminals with MOD2 terminals and everything displays great. However, I would like to support larger terminal sizes. My first hurdle is GTTERM. I understand that my program should be in RMODE24 and AMODE24. The program is assembled with AMODE 31, but performs a SAM24 and SAM31 before and after the SVC call. The dynamic storage area for the program is also acquired below the line. I check register 15 after the SVC, and it is zero. But the SVC parameter values are still zero. Here is my source: REGEQU COPY SESSBLK * WORKAREA DSECT WORKNAME DS CL8 SAVEAREA DS 18F SAVERC DS F SAVEPARM DS F * GTTLIST GTTERM MF=L * WORKLEN EQU *-WORKAREA * WORKREG EQU R3 SESSREG EQU R5 * PORTTC04 CSECT PORTTC04 AMODE 31 PORTTC04 RMODE 24 STM R14,R12,12(R13) SAVE REGISTERS LR R12,R15 ESTABLISH BASE USING PORTTC04,R12 * B START * DC CL9'PORTTC04' DC CL9'&SYSDATC' DC CL5'&SYSTIME' * START DS 0H LR R2,R1 SAVE REGISTER 2 LHI R7,WORKLEN LOAD WORK AREA LENGTH GETMAIN RU,LV=(R7),LOC=BELOW LR WORKREG,R1 * USING WORKAREA,WORKREG SET ADDRESSIBILITY * 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 * ST R13,SAVEAREA+4 CHAIN CALLER'S SAVEAREA ADDRESS LA R13,SAVEAREA ST R13,SAVEAREA+8 SAVE CURRENT SAVEAREA ADDRESS MVC SAVEAREA(4),=CL4'F4SA' MVC WORKNAME(8),=CL8'PORTTC04' * GETLINK DS 0H LR R1,R2 RESTORE REGISTER 2 ST R1,SAVEPARM LT SESSREG,4(R1) GET ADDRESS OF SESSBLK BZ BADLINK NO LINKAGE PASSED USING SESSBLK,SESSREG SET ADDRESSIBILITY * GETTERM DS 0H SAM24 * GTTERM PRMSZE=SESSPRI,ALTSZE=SESSALT,ATTRIB=SESSATTR, * MF=(E,GTTLIST) * ABEND 91,DUMP SAM31 * LTR R15,R15 BNZ BADRC * ST R15,SESSATTR+4 * B RETURN * BADRC DS 0H WTO 'PORTTC04 BAD GTTERM RC' MVHI SAVERC,16 SET BAD RETURN CODE ABEND 98,DUMP * BADLINK DS 0H WTO 'PORTTC04 INVALID LINKAGE PARAMETERS' MVHI SAVERC,16 SET BAD RETURN CODE ABEND 99,DUMP * RETURN DS 0H L R13,SAVEAREA+4 RESTORE R13 L R2,SAVERC LOAD RC * LHI R0,WORKLEN LOAD WORK AREA LENGTH FREEMAIN RU,LV=(R0),A=(WORKREG) * LR R15,R2 LOAD RC FROM R2 L R14,12(R13) RESTORE R14 LM R0,R12,20(R13) RESTORE R0-R12 (RETAIN R15) BR R14 RETURN TO CALLER * LTORG * END I added the ABEND 91 instruction to produce a dump. Register 3 contains the SVC plist. The SESSBLK contains the SESSPRI, SESSALT, and SESSATTR fields (addressed by register 5). Here are the dump contents: Program PORTTC04 issued an SVC 13 (ABEND) code U0091 at address 00000000_00007A5C, offset B4 in Program PORTTC04 Registers when request issued. 0 00000000_80000000 1 00000000_8000005B 2 00000000_000943C8 3 00000000_ 0002CF48 4 00000000_362BC048 5 00000000_0002CBF0 6 00000000_B5D08928 7 00000000_B5D08A28 8 00000000_00000000 9 00000000_00000000 A 00000000_40404040 B 00000000_00000000 C 00000000_800079A8 D 00000000_0002CF50 E 00000000_B5FA5C56 F 00000000_00000000 Last Instruction: SVC 13 ABEND Instruction has no operands PSW when request issued: 078D1000 00007A5E PER-Mask . . . . . . . . . . OFF DAT Mode . . . . . . . . . . ON I/O Mask . . . . . . . . . . ON External Mask. . . . . . . . ON PSW Key. . . . . . . . . . . 8 EC Mode. . . . . . . . . . . ON Machine-Check Mask . . . . . ON Wait State . . . . . . . . . OFF Problem State. . . . . . . . ON Address Space Control. . . . Primary ASC Mode Condition Code . . . . . . . 1 Program Mask . . . . . . . . 0 Addressing Mode. . . . . . . 24 bit Instruction Address. . . . . 007A5E The program's dynamic storage area: Address Offset from 00000000_0002C000 Origin STORAGE 0001 0002CF48 000F48 D7D6D9E3 E3C3F0F4 C6F4E2C1 000945C0 *PORTTC04F4SA.. {* R3 0002CF58 000F58 0002CF50 00000000 00000000 00000000 *.. &............* 0002CF68 000F68 00000000 00000000 00000000 00000000 *................* 0002CF78 000F78 00000000 00000000 00000000 00000000 *................* 0002CF88 000F88 00000000 00000000 00000000 00000000 *................* 0002CF98 000F98 00000000 000943C8 00000000 00000000 *...... H........* 0002CFA8 000FA8 00000000 00000000 0002CBFC 0002CBFE *.......... .. * 0002CFB8 000FB8 8002CC00 00000000 00000000 00000000 * .รถ.............* 0002CFC8 000FC8 00000000 00000000 00000000 00000000 *................* 0002CFD8 000FD8 00000000 00000000 00000000 00000000 *................* 0002CFE8 000FE8 00000000 00000000 00000000 00000000 *................* Address Offset from 00000000_0002C000 Origin STORAGE 0001 0002CBFC 000BFC 00000000 00000000 00000000 00000000 *................* Address Offset from 00000000_0002C000 Origin STORAGE 0001 0002CBFE 000BFE 00000000 00000000 00000000 00000000 *................* Address Offset from 00000000_0002C000 Origin STORAGE 0001 0002CC00 000C00 00000000 00000000 00000000 00000000 *................* Thank you, Brian Chapman ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN