[Info-vax] BASIC and AST routines

Simon Clubley clubley at remove_me.eisner.decus.org-Earth.UFP
Wed Nov 24 14:14:04 EST 2021


On 2021-11-24, Arne Vajhøj <arne at vajhoej.dk> wrote:
> On 11/24/2021 1:34 PM, Simon Clubley wrote:
>> On 2021-11-24, Arne Vajhøj <arne at vajhoej.dk> wrote:
>>> On 11/24/2021 9:08 AM, Simon Clubley wrote:
>>>>
>>>> I suggested it was needed because clearly something needs to be manually
>>>> preserved by the programmer in Macro-32 code that simply would not be
>>>> an issue if VMS was based around an higher-level language instead.
>>>
>>> But it is an observable fact that it is not needed.
>> 
>> Turns out it's not the programmer who needs to preserve the registers
>> but the OS and it turns out that VMS did it by pushing the registers
>> directly into the user-visible call frame and hence making them directly
>> available to the callback function. :-(
>> 
>> That is incredibly ugly. It should have been handled by either the
>> compiler itself generating the required AST code sequence or the OS ABI
>> saving the registers privately outside of the user-visible call frame
>> before calling the AST.
>
> So do we now agree that the Macro-32 thing was pure manure?
>
>:-)
>

I agree that the real reason for them being there is so horrible
and ugly that it never occurred to me as a possibility. :-)

VMS should have been designed 5-10 years later on than when it was.

It would have been so much cleaner internally if it had been.

Simon.

-- 
Simon Clubley, clubley at remove_me.eisner.decus.org-Earth.UFP
Walking destinations on a map are further away than they appear.



More information about the Info-vax mailing list