首先针对同一种操作,我们看看在三种类别的语言下,它是如何表示的。操作为:讲十进制数2移入到0000地址上。
高级语言可以通过编译来生成汇编语言或者机器语言,汇编语言生成机器语言叫做汇编。
先看看流程:
$$
源程序 \
\downarrow \
预处理器(Preprocessor)\
\downarrow \
经过预处理的源程序 \
\downarrow \
编译器 \
\downarrow \
汇编语言程序 \
\downarrow \
汇编器(Assembler) \
\downarrow \
可重定位的机器代码 \
\downarrow \
链接器(Linker)/加载器(Loader) \
\downarrow \
目标机器代码
$$
预处理器:
可重定位(Relocatable):
在内存中存放的起始位置L不是可固定的
加载器:
修改可重定位地址:将修改后的指令和数据放到内存中适当的位置
连接器:
编译器的结构