代码是如何控制计算机运行程序的?

作者:风

链接:/question/20492284/answer/15279863

来源:知乎。

版权归作者所有。商业转载请联系作者授权,非商业转载请注明出处。

我怎么发现得票数最多的人并没有真正回答问题?....

以下是我的回答:

先说代码:

我们用计算机键盘输入指令,每条指令对应一个ASCII码,而这里的ASCII码就是有序的电压电平(或者有无电流,下面只说电压电平),也就是我们输入电压电平,你看到的代码就是这些电压控制的显示器显示的图像。实际上,计算机并不知道它是什么,只知道如何显示它。

结论:代码实际上是存储在存储器(内存、硬盘或闪存等)中的有序电压的电平。).

除了编译:

编译是从一个有序电压电平到另一个有序电压电平的转换过程。我们以52单片机为例。我们的编译是从代表ASCII码的有序电压电平到52单片机能识别的另一个指定的有序电压电平,也就是代表HEX文件的电压电平。

结论:编译结果仍然是存储在计算机中的有序电压。

刻录到MCU:

接下来的两个是燃,理解了以上两点就很容易理解下面的内容了。烧是将电脑中的有序电压通过数据线传输到单片机中的ROM。

然后,ROM可以释放电压来控制外围电路。

总结:从代码的编辑到电路的最终控制,都是电压在起作用,但对我们来说不一样,其本质是电压,所以没有转换。

世界上没有软件,软件只是硬件的反映,就像意识是世界的反映一样!

我相信这个很好理解。

很高兴看到有人认同我的观点。我想就这个话题再补充一点:

只要提到0/1和软件,这个问题就无法理解...因为包括0/1在内的软件和硬件之间总是有不可逾越的鸿沟;

你说你在单片机里写了0。0是怎么写的?在键盘上敲个0?实际水平和我们理解的数字无关。那个0只是你的水平在电脑显示器上的呈现。所谓0,本质上就是电平可以传输到单片机中的ROM。电平控制电平毫无疑问,所以输出低电平。...

请指出任何错误。