汇编语言,究竟什么是专业指令?

时间:2013-08-16 19:59:19

标签: assembly x86 computer-architecture instruction-set

我目前正在攻读汇编语言考试,并在过去的论文中遇到过这个问题,

  

在汇编中,专业指令是什么意思?给一个   一个例子。 CPU设计者如何决定使用哪条指令   专门化?

让我感到难过,而且我的讲师笔记也没有帮助。

我们使用的模拟器与x86系列的8位类似,以便澄清。

3 个答案:

答案 0 :(得分:1)

我认为“xlat”(来自Intel x86)相当专业。特别是那些没有大量需求的东西。

答案 1 :(得分:1)

有趣。我之前没有听说过,谷歌也没有显示任何内容(这个页面出现在第3页)。但是通过推理,我们可以找出讲师的意思:为了使某些指导变得专业化,它只需要做一个单一的任务。

因此,它可能意味着MOV是一个“通用”指令,它可以根据操作数执行许多不同的操作。但另一方面,NOPHALT指令只做一件事而不做其他事。当然,单一的东西可以用来执行许多不同的任务。例如,NOP可用于延迟或仅用作占位符。但NOP最终只做了一件事。

同样INT 3虽然看起来像参数INT的{​​{1}}指令实际上是单个操作码,3。那是因为0xCC用于断点,因此必须能够适应单个操作码。这就是为什么它是专门的。

答案 2 :(得分:1)

我认为这里的“专业”意味着:针对某些相当复杂的事情量身定制的指令通常由一组更简单的更类似RISC的指令完成,但是需求量很大(或者如果CPU设计者认为的话)可能很有用,或者他可以在硬件或微代码流程中做得更好) - 在ISA中添加了一个特殊指令(或其类似系列)。在这种意义上的一个很好的例子是AES ISA,例如 - http://en.wikipedia.org/wiki/AES_instruction_set