【发布时间】:2011-02-01 04:35:15
【问题描述】:
8086 汇编语言可以在 intel pentium D 计算机上使用吗? 我正在从一本仅讨论 8086 处理器(即 16 位)的书中学习汇编语言编程。像 pentium D 这样的现代处理器的汇编语言有什么不同吗?
【问题讨论】:
8086 汇编语言可以在 intel pentium D 计算机上使用吗? 我正在从一本仅讨论 8086 处理器(即 16 位)的书中学习汇编语言编程。像 pentium D 这样的现代处理器的汇编语言有什么不同吗?
【问题讨论】:
这是我问这个问题后学到的。汇编语言始终是 ISA 特定的。 x86 汇编语言是 x86 处理器的汇编语言家族。英特尔于 1978 年首次推出 x86 ISA。这适用于 16 位处理器。后来随着英特尔开发具有更宽数据总线的新处理器,x86 ISA 在每个阶段都添加了新功能和指令。所以随着x86处理器的演进,用来编程的汇编语言也得到了扩展和发展。因为我是从一本只讨论 8086 处理器的书中学习汇编语言的,所以我不会知道更先进的 x86 处理器的新特性和新指令。由于向后兼容性,8086 汇编语言程序甚至可以在最现代的 x86 系列处理器上运行,这是一个福音,同样也是一个诅咒。
【讨论】:
现代处理器支持 32 位汇编语言,这有一些区别。要使用 16 位 (8086) 汇编语言,您必须汇编和链接一个 DOS 程序(并在支持 DOS 仿真的操作系统上运行它,例如 32 位 Windows XP)。
【讨论】:
是的,它不同。尤其是现代处理器以保护模式运行,而不是 8086 所针对的实模式。你可以下载一个模拟器,比如:
【讨论】:
是的,它仍然会执行旧的操作码。但是,您的程序不会利用现代奔腾设施,例如指令流水线和分支预测。只有针对奔腾优化的代码才能利用这些功能。
【讨论】: