8086汇编语言是否适用于现代CPU?

时间:2011-02-01 04:35:15

标签: assembly x86

8086汇编语言在intel pentium D计算机上是否可行? 我正在从一本只涉及8086处理器的书中学习汇编语言编程,这是16位。像奔腾D这样的现代处理器的汇编语言是不同的吗?

4 个答案:

答案 0 :(得分:2)

这是我在问这个问题后学到的。汇编语言始终是ISA特定的。 x86汇编语言是x86处理器的汇编语言系列。英特尔于1978年首次推出了x86 ISA。它适用于16位处理器。随后英特尔开发出具有更宽数据总线的新处理器,在每个阶段都在x86 ISA中添加了新功能和指令。所以随着x86处理器的发展,用于编程的汇编语言,也得到了扩展和发展。因为我从一本只讨论8086处理器的书中学习汇编语言,所以我不会知道更多先进的x86处理器的新功能和新指令。由于向后兼容性,8086汇编语言的程序甚至可以在大多数现代x86系列处理器上运行,这是一个恩惠,同样是一个诅咒..

答案 1 :(得分:1)

现代处理器支持32位汇编语言,这有一些区别。要使用16位(8086)汇编语言,您必须汇编并链接DOS程序(并在支持DOS仿真的操作系统上运行它,例如32位Windows XP)。

答案 2 :(得分:1)

是的,它与众不同。特别是现代处理器在保护模式下运行,而不是8086目标的实模式。您可以改为下载这样的模拟器:

http://www.emu8086.com/

答案 3 :(得分:-1)

是的,它仍然会执行旧的操作码。您的程序不会利用现代的奔腾设施,例如指令流水线和分支预测。只有为奔腾优化的代码才能利用这些功能。