在Intel 64和IA-32架构手册第3A卷第9章处理器管理和初始化中,我发现了以下内容:
在代码段的基础上选择兼容模式执行.此模式允许旧版应用程序与以64位模式运行的64位应用程序共存.在IA-32e模式下运行的操作系统可以通过将其代码段描述符的CS.L位清除为0来执行现有的16位和32位应用程序.
这是否意味着传统的16位和32位应用程序可以与在IA-32e模式下运行的操作系统上的64位应用程序共存.
但据我所知,64位操作系统通常不支持传统的16位代码.如果支持,我该如何启动16位应用程序?
Windows 64位不支持16位应用程序的原因不是因为64位模式无法运行16位指令.
主要原因是句柄在64位Windows上有32位有效位.因此,句柄不能被截断并传递给16位应用程序而不会丢失数据.
http://msdn.microsoft.com/en-us/library/aa384249%28VS.85%29.aspx
归档时间: |
|
查看次数: |
1233 次 |
最近记录: |