一. 汇编语言
1. 汇编语言,用符号代替机器语言的,也被称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。如:mov ax,bx
2. 高级代码在终端上运行过程
二. 汇编语言的特点
可以直接访问,控制各种硬件设备,如存储器,CPU等,能最大限度的发挥硬件的功能
三. 汇编的用途
1. 编写驱动程序,操作系统
2. 对性能要求极高的程序或者代码片段,可以与高级语言混合使用(内联汇编)
3. 软件安全
4. 弄清楚代码的本质
5. 为编写高效代码,打下基础
四. 汇编语言的种类
1. 目前讨论比较多的汇编语言有
8086汇编(8086处理器是16bit的CPU)
Win32汇编
Win64汇编
ARM 汇编(嵌入式,Mac,iOS)
2. iPhone 里用到的是ARM汇编,但是不同的设备也有差异,因CPU的架构不同
五. 学汇编所需要的必备知识
1. 要想学好汇编,必须了解CPU等硬件结构
2. APP/程序的执行过程
3. 硬件相关最重要的是 CPU/内存
4. 在汇编中,大部分指令都是和CPU与内存相关的
六. 总线
每一个CPU都有许多管脚,这些管脚和总线相连,CPU通过总线跟外部器件进行交互。
总线:一根根导线的集合
1. 总线的分类
1>.地址总线
2>.数据总线
3>. 控制总线
例如:
2. 地址总线
1>. 它的宽度决定了CPU的寻址能力
2>. 8086的地址宽度为20 ,所以它的寻址能力为1M(2^20)