汇编语言
汇编语言Assembly language是一种低级语言,与机器语言(不同的ISA)对应。
- 缺点:难读难写难移植
- 优点:灵活强大
- 应用场景:需要直接访问底层硬件的地方(编写操作系统、引导程序)、需要对性能进行极致优化的地方(绕开编译器去优化指令)
汇编语言语法介绍(GNU版本)
- 汇编程序文件后缀是.s(纯汇编指令)或.S(包含预处理语句 include /define等)。
- 一个完整的RISC-V汇编程序由多条语句(statement)组成。
汇编语句
一条典型的RISC-V汇编语句包含三部分([]表示可选):
[label:] [operation] [comment]
- label标号:必须以冒号结尾,相当于id/地址,引用时可以用
- operation可以有以下多种类型:
- instruction(指令):原生指令,直接对应二进制机器指令的字符串
- pseudo-instruction(伪指令):为了提高编写代码的效率,可以用一条伪指令指示汇编器产生多条实际的指令。
- directive(指示/伪操作):通过类似指令的形式(以.开头),通知汇编器如何控制代码的产生等,不对应具体的指令
- macro:采用.macro / .endm自定义的宏(指示/伪操作),达到替换效果
- comment(注释)常用#开始到当前行结束(也能用; //)
网友评论