On Fri, 09 Mar 2018 18:29:25 +0000, Scott Lurndal wrote:
> Dennis Lee Bieber writes:
>>On Fri, 09 Mar 2018 17:16:19 +0100, David Brown
>>
>>declaimed the following:
>
>>
>>
>> There is always the convention used by Xerox Sigma Fortran-IV.
>>Non-recursive, non-stack...
>>
>> Arguments were passed by putting them immediately after the CALL
>>(branch and link opcode, and referenced by return address (saved in a
>>register; I think 15 was the standard) + index.
>
> This was very common in the 1970s. The PDP-8 had similar parameter
> passing as did the Burroughs B2500 and descendents until the early 80's
> when a re-entrant call (Virtual Enter (VEN)) was added to the
> architecture.
>
> Unix system calls (UnixV6 on the PDP-11) embedded the system call
> arguments in the instruction stream following the system call
> instruction.
>
> The B2500 system call instruction (BCT) had the following general form:
>
> BCT NNNN # NNNN selects the system call BUN +Skip
> # Branch Unconditional to after the parameters ACON label #
> first parameter (address constant)
> DATA 2 UN 01 # second parameter, two digit numeric, value 01
> .Skip
>
> The operating system would bump the return address by the size of the
> branch instruction (8 or 10 digits) to get the parameters.
Even further back. This was the standard method in the IBM1401 which I
was programming in 1960.
Best Regards,
Jack Fearnley
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|