「这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战」。
介绍
汇编是一类编程语言,每种cpu对应一种cpu语言,这些语言语法大同小异,指令集有所不同,
那么这些cpu语言统称为汇编语言,与java,c++,python等高级语言无异, 只不过汇编更加接近硬件,代码执行效率高
二进制>汇编>c>java
所有编程语言都有相应语法,汇编也不例外, 语法是人定的,只是一套公共协议,目的是方便程序员进行程序开发
为什么要学汇编
- 了解程序的本质, 利于日常开发
- 从事硬件相关开发工作
- 进行反编译逆向
- 装X
常见的cpu架构
-
x86 架构 : PC 端主流 高性能高功耗
-
ARM 架构: 移动端主流 体积小低功耗
-
MIPS 架构: 龙芯3号 国产cpu
不同架构使用的指令集也不一样, X86使用了CISC复杂指令集 ARM采用了RISC精简指令集
RISC可以说是从CISC中取其精华去其糟粕,简化指令功能,让指令的平均执行周期减少,达到提升计算机工作主频的目的,同时引入大量通用寄存器减少不必要的读写过程,提高子程序执行速度,这样一来程序运行时间缩短并且减少了寻址,提高了编译效率,最终达到高性能目的
不同cpu架构所对应的汇编语法大致相同, 只是指令集不同
寄存器
顾名思义, 寄存器可以理解为是寄生在cpu上存放数据的容器, 在计算机当中,用于存放数据的容器有很多,比如内存条,硬盘等等, 那寄存器有什么不一样呢?
- 寄存器靠近cpu,读写数据速度远大于内存
- 进行数据的临时存储
当然 cpu内部除了有寄存器之外,还有运算器和控制器, 对于我们程序员来讲,只需要学习寄存器即可