以下内容均为个人理解

# 编译原理

​ 以我们现在常使用的编程语言来讲 (python,java 等) 都隶属于高级语言,要让计算机理解,必须要转化为二进制,毕竟,计算机的本质其实是集成电路,对于电路来讲,通路只有开和关两种区别。

​ 一般来讲,程序往往会先被翻译为汇编语言,然后在转化为二进制数据,汇编语言的产生,主要是为了解决二进制数据艰涩难懂的问题,以及编程的困难性。同时,汇编语言作为一个桥梁,所有的高级语言都是基于此演变而来的,所以,各种语言在本质上都是一样的。

# 编译过程

​ 这个过程其实就是,先对代码遍历,然后句法分析,词法分析,语义分析转化为一个语法树 (ast),然后在翻译为汇编吧。

​ 然后,汇编这个东西的语法貌似是个三元式子 MOV R0,R1 ,第一个指代的是汇编指令 (这个主要是为了方便看),后面的一般是寄存器或具体的运算子啥的。

寄存器:个人对这个的理解,大致上就是,存数据啥的地方吧,

Edited on

Give me a cup of [coffee]~( ̄▽ ̄)~*

Mr2 WeChat Pay

WeChat Pay