Path: utzoo!attcan!uunet!husc6!rutgers!cmcl2!adm!smoke!gwyn From: gwyn@smoke.BRL.MIL (Doug Gwyn ) Newsgroups: comp.sys.apple Subject: Re: 65816 v. 680x0 Message-ID: <8878@smoke.BRL.MIL> Date: 14 Nov 88 08:25:10 GMT References: <8811132232.aa14565@SMOKE.BRL.MIL> Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) ) Organization: Ballistic Research Lab (BRL), APG, MD. Lines: 39 In article <8811132232.aa14565@SMOKE.BRL.MIL> AWCTTYPA@UIAMVS.BITNET ("David A. Lyons") writes: >>From: Doug Gwyn >>[...] Also, even the 65816 still has too small a virtual >>address space (64K 8-bit bytes). Although one can cope with this by >>using segmenting schemes, it does get in the way. >Eh? The 65816 has a 16 Meg ->physical<- address space and no >support for virtual memory. There are addressing modes that can >access the whole thing, with no need for segmentation. The only >kind of segmentation you need is at a high level (the linker and >loader level), since _executing code_ can't cross a 64K boundary. >(This is a reasonable restriction, since code that _could_ cross a >64K boundary would have to _always_ use JSL/RTL rather than JSR/RTS, >pushing 3-byte rather than 2-byte return addresses on the stack.) A virtual address space doesn't necessarily have anything to do with virtual memory. It's the addressable scope of program code without having to alter any memory mapping tables or registers (such as "base" or "bank" registers). Although most accumulator-oriented 65816 instructions can be used in a "long" (24-bit) mode, many useful instructions cannot. In fact, the hodge-podge mixture of base instructions and addressing modes has always been one of the annoying features of the 65xx family architecture. The various strange addressing quirks once, for example, limited APW C arrays to 64Kb in early releases (now arrays are permitted to exceed 64Kb, at the expense of slower code generated to access them). The typical continual shuffling of the data bank register is a far cry from the 68000's simple addressing scheme. And the crucial role played by the 256-byte direct page in making many addressing modes work leads to a turf fight that requires a lot of unnecessary work to avoid. The 68000 architecture has a few quirks of its own, but it is MUCH cleaner in its overall design. On the other hand, there's always the 808* family to poke fun at! Almost anything looks good by comparison..