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 :-)
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | FidoUsenet Gateway (3:770/3)
|