Talking about The Art of Computer Programming... this non-stack based calling convention made me think of Knuth's Coroutines. I'm quite interested on them, but although I've seen libraries for managing them, I've never seen a real useful program based on them. I think they could be used with advantages over the thread or normal function call abstractions.
Maybe someone in this list can provide a good example of coroutines use? 2008/2/16, Paweł Lasek <[EMAIL PROTECTED]>: > 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 >