是否可以在支持Intel IA-32e模式的操作系统中运行16位代码?

Gar*_*Yin 8 x86 x86-64

在Intel 64和IA-32架构手册第3A卷第9章处理器管理和初始化中,我发现了以下内容:

在代码段的基础上选择兼容模式执行.此模式允许旧版应用程序与以64位模式运行的64位应用程序共存.在IA-32e模式下运行的操作系统可以通过将其代码段描述符的CS.L位清除为0来执行现有的16位和32位应用程序.

这是否意味着传统的16位和32位应用程序可以与在IA-32e模式下运行的操作系统上的64位应用程序共存.

但据我所知,64位操作系统通常不支持传统的16位代码.如果支持,我该如何启动16位应用程序?

phu*_*clv 7

Windows 64位不支持16位应用程序的原因不是因为64位模式无法运行16位指令.

主要原因是句柄在64位Windows上有32位有效位.因此,句柄不能被截断并传递给16位应用程序而不会丢失数据.

http://msdn.microsoft.com/en-us/library/aa384249%28VS.85%29.aspx