Problem solve Get help with specific problems with your technologies, process and projects.

What's the difference between 16 bit and 32 bit memory addressing?

Could you possibly outline the difference between 16 bit and 32 bit memory addressing and explain how older 16 bit programs work on modern 32bit operating systems?
Whole books can be written on topics like this. Basically, what Windows 2000 does is implement a complete virtual machine (VM) in NTVDM.EXE (NTVDM == NT Virtual DOS Machine). That provides the loader and executer for the 16-bit programs. Unlike cross machine VMs, NTVDM is a little simpler in that it does not have to provide the execution engine because it can just pass the instructions right on to the CPU to execute. From what I gather in talks with people on the Windows team at Microsoft, NTVDM is essentially a complete copy of Windows 3.1.
This was last published in October 2001

Dig Deeper on 64-bit Architecture for Windows

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.