> Well, there are plenty of word-but-not-byte/character addressable > machines out there, which makes life interesting for the likes of C.
C is able to support them just fine, though a whole lot of C code isn't (beacuse it assumes things like "all pointers are the same size", or even more specifically, "all pointers are just memory addresses"). Such machines typically just have void * and char * occupying more space than pointers to word-and-larger types. > One thing that I've wondered about is "does the current HLL-du-juor > dictate processor architecture?"--and not the reverse. Dictate, probably not quite. Influence, certainly. > Does anyone consider a machine that doesn't implement any sort of > hardware stack, for example, a marketplace contender? I don't, for the simple reason that I don't know of any that aren't, by today's standards, ludicrously slow. If a hypothetical machine were to be released that didn't have stack support of some sort in hardware (even if just autodecrement and autoincrement addressing modes - for example, the Super-H)? I'd want to know what it had that made its maker think it worth making despite that. However, I have trouble imagining a machine on which it is difficult to implement a stack. Even the machines of old which "didn't have stacks" generally had (what we would today call) addressing modes that made it possible to implement them without too much pain. (What they usually didn't have was an easy way to get procedure call return addresses onto the stack, like one I remember hearing of whose call instruction stored the return address just before the beginning of the called procedure. While I don't know any such machines well enough to be sure, I would imagine a return stack could be maintained there by slightly complicating the procedurecall and return sequences - in this crowd, I'm sure I'll be corrected if I'm wrong! :-) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML [email protected] / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
