On Sun, Aug 03, 1997 at 04:03:26AM -0400, Mike wrote: > At 05:41 PM 8/3/97 +1000, you wrote: > I seem to recall that the 'true' 32 bit code was slower and occupied more > space than 'selectively' preparing the appropriate segment registers, doing 32 bit code tends to be smaller (because of better addressing modes) - if you avoid doing any segment register loads, 16 bit code could execute as fast as 32 - it's unlikely to be faster except in very exceptional circumstances. In practice, any 16 bit Windows application will use segment register loads, which really kills performance (each segment register load actually loads several hidden registers from the segment table). > can't see how you could write an OS which ONLY had 32 bit instructions on > the 486/Pentium processor - there must be some 8/16 bit instruction - at Of course. The 8 bit addressing is still available in 32 bit mode, and has no performance penalty, but trying to use 16 bit index registers is costly, and offers no benefit (since the 386 and up have 32 bit data buses anyway). > least in terms of word size - is there a 32bit IO space as well as memory Again, of course the address space is 32 bit - the external data bus requires that. But there's no problem accessing data 8 bits at a time, it's just you get a 32 bit address put out (though the external hardware may see less than 32 bits). -- Clyde Smith-Stubbs |HI-TECH Software, |Email: clyde@htsoft.com Ph: +61 7 3354 2411|P.O. Box 103, Alderley,|WWW: http://www.htsoft.com/ Fax: +61 7 3354 2422|QLD, 4051, AUSTRALIA. |PGP: finger clyde@htsoft.com --------------------------------------------------------------------------- ANSI C for the PIC! Now shipping! See www.htsoft.com for more info.