Deutsch   English   Français   Italiano  
<lm0hnrFmmqaU31@mid.individual.net>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.nobody.at!weretis.net!feeder8.news.weretis.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: Bob Eager <news0009@eager.cx>
Newsgroups: alt.folklore.computers,comp.os.linux.misc
Subject: Re: The joy of FORTRAN-like languages
Date: 30 Sep 2024 20:58:35 GMT
Lines: 44
Message-ID: <lm0hnrFmmqaU31@mid.individual.net>
References: <pan$96411$d204da43$cc34bb91$1fe98651@linux.rocks>
	<vd8o1s$178gk$5@dont-email.me> <llr46dFmeudU2@mid.individual.net>
	<vd9r10$1d6gq$4@dont-email.me> <vd9rub$18mq$2@gal.iecc.com>
	<vd9see$1d6gq$5@dont-email.me> <AF4KO.179529$1m96.177503@fx15.iad>
	<vdarvh$1l4ch$6@dont-email.me> <mddbk046f1m.fsf@panix5.panix.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: individual.net V2afFWfF0FQ3D5Q05d55Swua0HuQzVw3PhYnnV5ne/LILQfTNa
Cancel-Lock: sha1:TyLPy2o3fBiniQCcc7AlJ34EP3g= sha256:NdejjlWrdmy16vx1wr1zYiZiuTey/rXQmyQqTlQGo5U=
User-Agent: Pan/0.145 (Duplicitous mercenary valetism; d7e168a
 git.gnome.org/pan2)
Bytes: 2576

On Mon, 30 Sep 2024 16:51:33 -0400, Rich Alderson wrote:

> The Natural Philosopher <tnp@invalid.invalid> writes:
> 
>> On 29/09/2024 05:26, Charlie Gibbs wrote:
> 
>>> That's assuming your machine has a stack, which the IBM 360 didn't.
> 
>> Well there are probably other ways to implement a stack than having it
>> built into a computer.
>> Like a having a general purpose register reserved for a stack pointer
>> and manually creating push pop call and return as macros
> 
> Or actual machine instruction codes, as on the PDP-6 and PDP-10:
> 
> 	PUSH ac,address		;any accumulator can be a stack pointer 
POP ac,address
> 
> 	PUSHJ ac,address	;address of next instruction on stack, 
jump to address
> 	POPJ ac,		;pop address from stack and jump to it

Unfortunately not well known, but the ICL 2900 series has a good stack 
implementation.

It has a stack frame pointer (ONB, or Local Name Base), a stack front 
pointer (SF) as well as off stack bases. The accumulator is variable size 
(32, 64, 128).

There are 32 address mode, including those that use the top of stack. So 
ST.T stores the accumulator at top of stack, and LSS.T (also LSD.T and 
LSQ.T for the larger sizes) to unstack. Most other instructions can 
equally well use top of stack in the same way.

(yes, there's just one accumulator, but the stack etc. are heavily 
cached).



-- 
Using UNIX since v6 (1975)...

Use the BIG mirror service in the UK:
 http://www.mirrorservice.org