On Tue, 26 Aug 2008, Perry E. Metzger wrote:
There are a load of weird things out there that don't look like this. Have a gander at Palm's operating system for their handhelds sometime -- or the original Mac OS.
If/when I can get such a gander and have time to take it, I will...;-) I don't know how much of current compiler design was bent by Intel's original segmented memory model. They had code data stack and extra (or something like that -- but I recall EX,SX,DX, and CX). But then motorola's memory model was flat instead of segmented, and it wasn't until the 386 or 486 or thereabouts before one "could" run an x86 flat and there was too much legacy code about at that point and it never really happened. But way, way long ago -- on IBM mainframes and with cards -- my original and only "real computer science course" was on computer architecture and microprogramming and so on, and IIRC even then the subroutine call ritual was push arguments onto the stack, allocate locals by moving the stack pointer, then dereference both by relative displacement from the stack pointer. C calls by reference in part because a function return simply restores the pointer (de facto losing the locals) and then pops the stack (de facto losing the arguments, although one "can" get them if one is working in assembler and can prevent stack movement in the meantime. rgb
Perry
-- Robert G. Brown Phone(cell): 1-919-280-8443 Duke University Physics Dept, Box 90305 Durham, N.C. 27708-0305 Web: http://www.phy.duke.edu/~rgb Book of Lilith Website: http://www.phy.duke.edu/~rgb/Lilith/Lilith.php Lulu Bookstore: http://stores.lulu.com/store.php?fAcctID=877977 _______________________________________________ Beowulf mailing list, Beowulf@beowulf.org To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf