At 05:41 PM 8/3/97 +1000, you wrote: Hi Clyde, Thanks for clarifying the preliminaries re apps etc >> It may not load a 16bit dll 'app' BUT I would be willing to bet it is >> riddled with 16 bit code since its more efficient to selectively use >> 16 bit instructions when its just a complete waste of resources to try > >Wrong! On an x86 processor in 32 bit mode, 16 bit addressing (i.e. using >a 16 bit index register or even loading a 16 bit register) is very >inefficient, due to the prefix byte required to force 16 bit addressing. In >this mode, 32 bit addressing is much more efficient. And 32 bit mode is >more efficient than 16 bit mode since the flat model eliminates the >very costly segment register loads required by the 16 bit segmented model >used in 16 bit mode. Any memory intensive 32 bit code will run much faster >than 16 bit code that has to address more than 64K memory. mmm - I'm not so sure. I remember seeing this sort of debate some time ago when Win95 first came out at that time I was shown code snippets in 'true' 32 bit mode and 'hybrid' which had about 70% in NON 32 bit mode, I think the data structures being operated on were around the 64K sixe, since that involved a peculiarity of the processor. I seem to recall that the 'true' 32 bit code was slower and occupied more space than 'selectively' preparing the appropriate segment registers, doing the required operations in NON 32 bit mode, then cleaning up the various segment registers at the end - OVERALL the 16 bit code was faster and about 20% smaller. There was apparantly no way the task could be put into 32 bit only mode AND have it run faster or be smaller. The task had a lot to do with 'real world' data processing and preparing output for display. I'll try and dig this up, but it was about 15 months ago... So - would you suggest that in NT (ignore 16 bit ported app/dlls) every single instruction operates on the 32 bit model and there are no 16 bit instructions or other instructions which are less than a 32 bit 'lump', frankly I 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 least in terms of word size - is there a 32bit IO space as well as memory address space - and would you want that ? Rgds Mike