TIP: Click on subject to list as thread! ANSI
echo: rberrypi
to: JACK FEARNLEY
from: SCOTT LURNDAL
date: 2018-03-09 19:13:00
subject: Re: Compile Assembly and

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)

SOURCE: echomail via QWK@docsplace.org

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.