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