Microsoft has hatched a plan to get resellers to help wean customers off Windows XP by April 2014. Windows XP currently holds the second largest percentage of the computer operating system market right below Windows 7. According to Net Applications, Windows XP holds 37.17% of the operating system market while Windows 7 holds 44.37%.

Microsoft is reminding resellers and customers that there is less than a year left until all support for Windows XP is stopped. On April 8, 2014, Windows XP will no longer receive patches or updates including critical security updates. Moving consumers from Windows XP to a newer version of Windows is reportedly one of Microsoft's top priorities for its fiscal 2014, which began on July 1.

That could be a tall order for Microsoft since the software giant and its partners would reportedly need to migrate 586,000 computers per day over the next 273 days to eliminate all machines running Windows XP.

Microsoft is rolling out several programs, offers, and tools to encourage users to leave Windows XP behind. Those programs include Accelerate where Microsoft will pay some reseller and integrator partners to create a proof of concept Metro-style apps to help lure customers to Windows 8. Microsoft is also going to extend the program call Get to Modern aimed at small and medium businesses.

32-bit applications run perfectly fine on 64-bit versions of Windows (assuming they don't do stupid undocumented s*** and even then they still may work). Microsoft includes both 32-bit and 64-bit libraries in 64-bit builds of Windows as well. It's the DOS and 16-bit applications that are the problem.

NTVDM (which handles 16-bit executables) heavily uses a feature of x86 protected mode called Virtual 8086 mode. This is essentially like a hardware-virtualized 8086 real-mode CPU that retains support for many protected-mode features like memory protection (invisible to the real-mode program). This is much lighter weight and easier than doing full software emulation (like DOSBox), because the hardware handles most of the overhead for you.

When AMD was designing the x86_64 specification, they purposefully left out support for virtual 8086 mode in long mode. This meant that 16-bit compatibility would have needed to be rewritten for 64-bit versions of Windows.