On Mon, May 04, 2026 at 06:25:43AM +0000, Jim Mulder wrote: > You are correct. I will submit a documentation update request. > Originally, CALLDISP BRANCH=YES referenced CVT0DS, not the SVT.
> However, even prior to that, CVT0DS pointed to entry point IEA0DS in > module IEAVEDS0, and in the MVS 3.8 code, that would have gotten a 0C4 > abend trying to store into the PSA if not running in PSW key 0. > I don't know if there was a CALLDISP in OS 360 - that is too far before > my time and I don't have source code from that era). Looking at the MVT source in MODGEN of macro CVT I see: CVT0DS DC V(IEA0DS) - ENTRY POINT ADDR OF DISPATCHER And in macro IEAQNU I find the source for IEA0DS. IEA0DS doesn't do any key switching. Remember that on the 360 the only instruction to switch the running key was LPSW. The dispatcher path to run anything involves moving the PSW to low storage (IEAPSW in macro IEAQFX) so it's addressable without a base register, restore all 16 registers and LPSW. So in MVT the caller to IEA0DS has to be key zero for IEAPSW alteration and supervisor for LPSW. I'm thinking that there wasn't a CALLDISP macro before MVS and a caller would just get the address of the dispatcher from CVT0DS and branch there. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
