Scott Lurndal wrote:
> Jack Fearnley writes:
>> 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.
>
> The B2500 dates back to 1965, and it did have a 1401 compability mode :-)
>
Not a compatibility mode, but a software emulator (which was little used by
1967).
--
-michael - NadaNet 3.1 and AppleCrate II: http://michaeljmahon.com
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|