What value do you have on the NUMETE keyword on the ETDEF SET,HEADER=xxxx statement?
Rob Scott Lead Developer Rocket Software 77 Fourth Avenue . Suite 100 . Waltham . MA 02451-1468 . USA Tel: +1.781.684.2305 Email: [email protected] Web: www.rocketsoftware.com -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of [email protected] Sent: 16 February 2013 16:15 To: [email protected] Subject: Load To Global with PC_cp Load To Global with PC_cp It is/was my understanding that a Service Provider Address Space could issue a Load To Global for a program *and* use that program as a Non Space Switching PC routine (PC_cp). Is my understanding incorrect ? In My Service Provider Address Space I issued the following Macro R7 Has the Address Of The Name of the Program To Load... * LOAD EPLOC=(R7), GLOBAL=(YES,P),ERRET=ZERR14,EOM=YES * STM R15,R1,SVLOADZ Save Registers From Load * * I follow the previous macro with a SETDEF macro as follows: LR R2,R0 Address Of Loaded Module * ETDEF TYPE=SET,ETEADR=ETD2,ROUTINE=(2),RAMODE=31, STATE=SUPERVISOR,PC=STACKING,SSWITCH=NO, SASN=NEW,ASCMODE=PRIMARY, PKM=OR, AKM=(0:15),EKM=(0:15) The Program Call Number for this routine is X'0000DD04'. Routines 0000DD00 thru 0000DD03 are space switching routines. When My user program executes, It issues a PC instruction to call the Non Space Switching PC routine. The user program Abends with a x'0D6' and interrupt code of x'22'. Register 14 did in fact have the right PC# 0000DD04 This appears to be a Linkage Translation Exception A linkage index (LX) translation exception occurred; the program interruption code is X'22' So I said To Myself - Self, What is a Linkage Translation Exception ? Looking At Principals Of Operation (POP) I see that a Linkage Translation Exception can occur under two conditions. 1)The linkage-table entry designated by the linkage-index part of the PC number is beyond the end of the linkage table as designated by the linkage-table designation used. 2)Bit 0 of the linkage-table entry is not zero. For the first condition The Linkage-Index is 00DD00. And I have invoked PC# 0000DD00 thru 0000DD03 as space switching routines PC_ss. My Non Space Swithcing routine is associated with PC# 0000DD04. So I ruled that condition out. The second condition refers to a Non Zero Bit In the Linkage Table. Im not understanding how my Cross Memory Setup would affect the Linkage Table in this way. Actually I am really courious to know How I affected The Linkage Table. So ... Can some one Explaing why I am Abending with a 0D6 - 22 For A Non Space Switching Routine PC_cp that was loaded to common storage via a Load To Global ? Im not understanding this. Should I be able to issue a Load To Global and expect it to be the target of a Non Space Switching PC Routine from Other users. SYSTEM COMPLETION CODE=0D6 REASON CODE=00000022 TIME=22.58.35 SEQ=04217 CPU=0000 ASID=0024 PSW AT TIME OF ERROR 078D0000 9DC00F6A ILC 4 INTC 22 ACTIVE LOAD MODULE ADDRESS=1DC003E8 OFFSET=00000B82 NAME=XMSDRIVP DATA AT PSW 1DC00F64 - 000058E0 C3B0B218 E000D203 GR 0: 00000000 1: 1DC008E4 2: 1DC008E4 3: 1DC008E4 4: 006D09B0 5: 006FF438 6: 1DC00E80 7: 1DC00958 8: 006E2EC8 9: 006FF6F8 A: 00000000 B: 006FF438 C: 1DC003E8 D: 1DC006D4 E: 0000DD04 F: 00000000 END OF SYMPTOM DUMP Thank You Paul D'Angelo --------------------------------------------------- ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
