[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rep:Re: [f-cpu] Stack handling



Yes i know, i was thinking about allocating first stack space then filling
them to avoid the stack crashing problem, but I didn't speak about.

----- Original Message -----
From: "Michael Riepe" <michael@stud.uni-hannover.de>
To: <f-cpu@seul.org>
Sent: Tuesday, July 23, 2002 3:20 PM
Subject: Re: Rep:Re: [f-cpu] Stack handling


> Hi!
>
> Guys, you're on the wrong track. You're still thinking Intel-style.
>
> On Tue, Jul 23, 2002 at 01:39:53PM +0200, Christophe Avoinne wrote:
> > If you want to invent a new OS which doesn't need a stack, well okay.
But my
> > oppinion is that you would need to be friendly with software programmers
and
> > don't complicate their jobs because you only think about the hardware
part
> > without any regard about the habits of programmers.
> >
> > I really understand the whys you prefer to avoid a
pre-increment/decrement,
> > but the fact is there are situations we need it.
>
> Then do it manually:
>
> subi 8, <sp>, <sp> // <sp> is the register used as a stack pointer
> storei -8, <sp>, ...
> ...
> store <sp>, ... // last push doesn't use postdecrement
>
> Alternatively, allocate a larger piece of stack memory at once and fill it
> later. In either case, calling a signal handler is not a problem at all,
> as long as user and kernel mode agree on the stack pointer register (which
> will be defined in the user<->kernel API and/or the calling conventions).
>
> In general, doing stack-like operations on a register machine is not a
> good idea. On Intel CPUs, you're forced to do it because you have only
> eight registers, but the F-CPU has 63 of them (r0 not counted). There
> should rarely be a need for stack operations, except on function
> entry/exit (where you can use storem/loadm).
>
> --
>  Michael "Tired" Riepe <Michael.Riepe@stud.uni-hannover.de>
>  "All I wanna do is have a little fun before I die"
> *************************************************************
> To unsubscribe, send an e-mail to majordomo@seul.org with
> unsubscribe f-cpu       in the body. http://f-cpu.seul.org/

*************************************************************
To unsubscribe, send an e-mail to majordomo@seul.org with
unsubscribe f-cpu       in the body. http://f-cpu.seul.org/