I checked SPL: Supervisor. CALLDISP did not exist in OS.VS2 R3.0 and did exist in R3.7.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Seymour J Metz <[email protected]> Sent: Monday, May 4, 2026 11:44 AM To: [email protected] <[email protected]> Subject: Re: Using CALLDISP BRANCH=YES,FIXED=NO External Message: Use Caution In OS/360 the Dispatcher was only used by OS components and had no user API. I'd check MVS/SE, MVS/SE2, MVS/SP, SU64 and OS/VS2 R3.8 as the most likely culprits. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 עַם יִשְׂרָאֵל חַי נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר ________________________________________ From: IBM Mainframe Discussion List <[email protected]> on behalf of Michael Stein <[email protected]> Sent: Monday, May 4, 2026 10:11 AM To: [email protected] <[email protected]> Subject: Re: Using CALLDISP BRANCH=YES,FIXED=NO External Message: Use Caution 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 ---------------------------------------------------------------------- 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
