CPU如何将汇编转换为二进制?

Tho*_* L. 2 cpu assembly

我听说计算机多年来只能理解以二为底(二进制)的数字。最近,我想通过停止高级脚本语言并阅读少量汇编来深入了解我的机器是如何工作的。我明白这种语言的目标是让 CPU 更快:它很简单,CPU 可以轻松地解码汇编指令。对不起,如果我的问题不清楚,我会尽量消除疑虑:CPU 如何将程序集转换为二进制?我的问题可能毫无意义,因为计算机也玩电,在这种情况下,我的问题是:“计算机只懂二进制”是什么意思?

Rya*_* B. 5

汇编语言只是人类可以读取的东西(操作码)和机器可以读取的东西(二进制电子符号)之间的中间表示。

当您在汇编中编写程序时,您的汇编程序将其转换为二进制,这种二进制表示被存储到某种支持中(硬盘驱动器、软盘、磁带......等)。

当计算机执行你的二进制文件时,这里(基本上)会发生什么:

  1. 二进制格式的程序从驱动器中取出并加载到 RAM 中;
  2. 的指令被加载逐个放入从RAM中的CPU,与该指令(二进制形式10110 = current, no current, current, current, no current)触发某些动作到CPU的内部电路(它可能会引发例如加法,或负载或任何其它操作所支持CPU 电路)。

了解这一点的最好方法是尝试构建一个非常简单的 4 位处理器(假设有 4 个操作和 16 个字节的 RAM)。网上有很多教程。

什么意思:“计算机只理解二进制”?

它只是意味着 CPU 仅在其逻辑门中理解形式为 {current, no current} 的“指令”,并且这些符号的每个特定系列都会触发 CPU 某个部分的特定操作并提供一些结果。