V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
blackbeardd
V2EX  ›  问与答

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

  •  
  •   blackbeardd · 2023-03-27 13:47:50 +08:00 via Android · 756 次点击
    这是一个创建于 584 天前的主题,其中的信息可能已经有所发展或是发生改变。
    汇编器是怎么将汇编语言翻译成机器代码再让 cpu 去执行的?一直不太理解这个,想知道具体的工作细节
    3 条回复    2023-03-29 11:26:29 +08:00
    julyclyde
        1
    julyclyde  
       2023-03-27 15:37:40 +08:00   ❤️ 1
    汇编和机器码就是直接对应的
    没有什么语法分析之类的过程
    jmdonj
        2
    jmdonj  
       2023-03-27 17:57:11 +08:00
    汇编语言是人类可读的低级编程语言,它使用特定的助记符来代替二进制指令,使得编写和理解程序更加容易。当程序员使用汇编语言编写程序时,这些助记符最终需要被转换成机器代码,以便计算机能够理解和执行这些指令。

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

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

    ------来自 chatgpt
    shendaowu
        3
    shendaowu  
       2023-03-29 11:26:29 +08:00
    机器码被 CPU 执行的部分也许应该看计算机组成原理?推荐《计算机组成与设计:硬件 /软件接口》。再细的话也许就应该看数字电路方面的东西了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4938 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:11 · PVG 09:11 · LAX 18:11 · JFK 21:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.