assembly - 汇编仅在软件中实现吗?

标签 assembly cpu cpu-architecture

我有一些困惑

  • 汇编是否仅在带有汇编程序的软件中实现?

  • 谁更新和编写汇编器?

  • 难道 cpu 甚至不知道程序集的存在吗?

  • 假设 Intel 发布了一个新的 cpu 并添加了新的指令,需要做什么才能使用这些新指令?

    我的意思是最后 cpu 只执行机器代码,然后通过微代码引擎将其转换为电信号。

最佳答案

Is assembly implemented only in software with assembler?

是的。汇编语言和其他任何语言一样是一种编程语言,它只是使用非常接近处理器指令集的操作代码。它仍然从包含源代码的文本文件编译为处理器可以使用的机器代码。

Who updates and writes assemblers?

任何喜欢的人,来自大型软件公司,如 MASM from Microsoft , 开源项目如 The netwide assembler (NASM) .

创建处理器的公司指定了指令集,任何人都可以编写一个汇编程序来编译该指令集。

Is the cpu not even aware that assembly exists?

没错。处理器只执行机器代码,它不知道它是编译汇编源代码还是Visual Basic源代码创建的。

If let's say Intel releases a new cpu with added new instructions, what needs to be done to utilize those new instructions?

只需将指令的字节代码放入代码中,即可在汇编器中直接使用它们。如果要使用汇编操作码来使用,需要在汇编器中添加。

关于assembly - 汇编仅在软件中实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398713/

相关文章:

javascript - 获取 JavaScript 编译器生成的汇编代码

hardware - 片外内存?

x86 - x86 处理器增加多少 IP 寄存器?

cpu-architecture - 为什么有这么多CPU架构: x86, x64,x87等…?

c - 函数参数加载到 x64 上的寄存器

assembly - 为什么要在汇编中添加一个值来初始化堆栈指针(R7)?

c - CLFLUSH 如何处理尚未在高速缓存中的地址?

assembly - 处理器是否可以同时进行存储和算术运算?

Java:来自字节码的新实例

assembly - 先读后条件写 vs. 写