【发布时间】:2020-04-07 01:07:31
【问题描述】:
LE (linear executable) file 有什么指令集架构?链接的文章说:混合 16/32 位。
- 是否意味着同一个LE文件可以包含16位和32位代码?
- 如何检测是否包含 16 位 (8086) 代码?
- 如何检测它是否包含 32 位 (i386) 代码?
请注意,我知道可以区分 80286 和 i386 (80386) 的 CPU 类型 字段(请参阅 here)。但是,我将此解释为 CPU 类型要求,因此未指定架构,例如十六进制 40 在两者中都有效:在 16 位代码中表示 inc ax,在 32 位代码中表示 inc eax,两者都可以由 80386 CPU 执行。我对 LE 文件代码中的十六进制 40 的含义很感兴趣。
【问题讨论】:
-
致反对者:你能建议我改进这个问题的方法吗?我非常仔细地研究它以使其具体且易于回答(对于那些知道答案的人)。