I've got some time to delve into Fascicle One again and indeed, MMIX
doesn't have any stack at all. When you need stack, you implement it
yourself. Anyone knows of other CPU's using this method for stack
(i.e. no in-built support for stack in memory)? There is stack based
on registers, though.

On Sat, Feb 16, 2008 at 12:47 AM, Paweł Lasek <[EMAIL PROTECTED]> wrote:
> I don't have latest version of fascicle one (MMIX processor
>  architecture and MMIXAL assembler language, from new version of The
>  Art of Computer Programming) at hand, so I can't confirm it, but I
>  remember that MMIX had a special register which implemented a
>  "border", shifting register numbers to use them for procedure data
>  separation.
>
>  And as in all RISC architectures, storing as many parameters in the
>  call stack is the way to go. Especially when you have 256 64-bit
>  general purpose registers :-) (Now if only someone implemented a sane
>  architecture using MMIX as main processor...)
>
>
>
>
>  On 2/16/08, Pietro Gagliardi <[EMAIL PROTECTED]> wrote:
>  > - DOS interrupt function calls use the registers, not the stack.
>  > - SPARC and MIPS registers are provided to pass parameters.
>  >
>  > On Feb 15, 2008, at 6:37 PM, Lyndon Nerenberg wrote:
>  >
>  > >>
>  > >> The calling conventions I have seen are the ccall, stdcall
>  > >> (Windows' slightly modified version of the ccall), and pascal. All
>  > >> of them push parameters on the stack.
>  > >
>  > > Take a look at the R-call and S-call conventions used on the IBM
>  > > System 360 architecture. These machines didn't even have a stack.
>  > >
>  > > --lyndon
>  >
>  >
>
>
>  --
>  Paul Lasek
>



-- 
Paul Lasek

Reply via email to