我无法解决的问题是,我们在计算机中输入并从屏幕读取的内容将变成计算机可以利用和执行的内容。即使是最低级的汇编语言,我也读到“汇编是高级语言与实际机器代码本身之间的桥梁”。但真的,这是如何工作的。如果计算机只能操作高低信号,那么我们如何能够编写一个用字母数字和符号操作的编译器。这些代码串如何实际成为通过晶体管门触发的高低信号?当你输入一个键时,实际上是一系列信号存储在计算机电路中的某个寄存器中吗?那也会将该角色的信号发送到屏幕上,还是一个完全独立的过程,当你按下一个键时它会被当作?
答案 0 :(得分:2)
你实际上问过很多(虽然是相关的)问题。
我建议钻研大会。处理器在一个叫做“机器代码”的东西上运行,它实际上只是数字,其中像“0x1234 0x001A 0x0002”这样的东西可能意味着“将2添加到寄存器X的内容”。大多数汇编指令直接转换为它们的机器代码对应物,因此您将了解处理器如何逐个执行指令。在那之后,您可以更进一步阅读处理器架构(如TheZ建议的那样),在那里您将了解这些机器代码指令实际上如何转换为不同的晶体管切换和存储位。
CPU也有一些称为“中断”的东西,这些线路(非常简单地说是)在其上,例如键盘输出高电压,并且CPU被触发以执行某个子程序以便例如处理。按键。从这个中断到屏幕上出现的一封信,尽管它仍然是一次旅行。不要只是潜入这个,因为它只会让你感到困惑,一步一步地学习。