Okay got it thanks
> On May 22, 2017, at 12:16 AM, Tony Harminc <[email protected]> wrote: > >> On 21 May 2017 at 21:16, Joseph Reichman <[email protected]> wrote: >> >> TPROT like the shift instruction second operand address is not used to >> address data rather for simplistic terms is prog key checking if the user >> can access/store the storage. >> >> So what If I am not sure what the key is. >> > > I assume by "not sure" you mean you won't know until run time, but then you > will be sure. This kind of situation is why, as with the shift > instructions, the second operand has a base register. Put the key in the > register, use a displacement of zero, and you're set. Standard addressing > arithmetic is performed on the displacement and the register, but the > result is, as you say, not used to address data. It would be very rare, but > not impossible, for both the base and the displacement values to be > non-zero. Normally the key is in either the register or the displacement, > and not split across the two, but if you like obfuscated code it can be > done. > >> >> I guess I can do the following. Is my understanding ? >> >> MVC PROGKEY,CHKKEY >> EX R0,TPROT >> BC 3,ERROR_ADDRESS >> > > >> TPROT TPROT ADRESS,0 >> ORG TPROT+5 >> PROGKEY DS X >> > > This is doubly overcomplicated. First you change the instruction in > storage, and then you EXecute it. Don't do either. > > Tony H. > > ---------------------------------------------------------------------- > 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
