As a subsystem, you should have your own recovery environment, so what you do won't interfere with the caller's error recovery. Using a recovery routine, whether to handle a program check or to handle the ABEND from an unhandled program check, has two advantages:
1. It works when the data were paged out 2. It solves the time-of-check to time-of-use problem. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [[email protected]] on behalf of Tony Thigpen [[email protected]] Sent: Saturday, March 5, 2022 5:11 PM To: [email protected] Subject: Re: Testing address validity My thoughts. Since I support software that is called by any number of users, I would like to validate that they provided valid parms. As a called subsystem, I can't be messing with the callers error handling routines that may already be handling SOC4s. I don't want to know if it's 'in storage', just that it is accessible even if a page-fault is needed. I wish there was a simple: TEST MEMORY AND BRANCH INVALID operands R1 is a register pair with R1=address and R1+1=length to validate. (Like an MVCL.) Instead of a SOC4, just branch to the address provided as the second operand where I have placed an error handler. Tony Thigpen Paul Gilmartin wrote on 3/5/22 16:48: > On Mar 5, 2022, at 05:44:41, João Reginato wrote: >> >> Which is the best instruction to test if a virtual address is still valid to >> avoid an unexpected S0C4? >> > How is that information useful? > > Is its usefulness diminished by "an unexpected S0C4"? > > -- > gil
