[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