汇编语言是怎么变成机器代码再被 cpu 执行的?

2023-03-27 13:47:50 +08:00
 blackbeardd
汇编器是怎么将汇编语言翻译成机器代码再让 cpu 去执行的?一直不太理解这个,想知道具体的工作细节
804 次点击
所在节点    问与答
3 条回复
julyclyde
2023-03-27 15:37:40 +08:00
汇编和机器码就是直接对应的
没有什么语法分析之类的过程
jmdonj
2023-03-27 17:57:11 +08:00
汇编语言是人类可读的低级编程语言,它使用特定的助记符来代替二进制指令,使得编写和理解程序更加容易。当程序员使用汇编语言编写程序时,这些助记符最终需要被转换成机器代码,以便计算机能够理解和执行这些指令。

机器代码是计算机硬件可直接执行的指令序列,每个指令都以二进制形式表示。在将汇编代码转换成机器代码的过程中,编译器将汇编指令转换为等效的二进制指令,并且指定指令的位置和地址。这个过程通常称为汇编。

一旦程序被汇编成机器代码,它就可以被计算机的中央处理器(CPU)读取和执行。CPU 会将机器代码从计算机的存储设备中加载到其内部寄存器中,并按照指令的顺序执行。每个指令都会执行一个特定的操作,如算术操作、逻辑操作或存储操作,然后 CPU 将控制权转移到下一个指令。这样就完成了将汇编语言代码转换成机器代码并被 CPU 执行的过程。

------来自 chatgpt
shendaowu
2023-03-29 11:26:29 +08:00
机器码被 CPU 执行的部分也许应该看计算机组成原理?推荐《计算机组成与设计:硬件 /软件接口》。再细的话也许就应该看数字电路方面的东西了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/927520

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX