huchuan2025/20-Area/22-Work/222-ReadNote/armv8体系结构/ARMv8汇编语法汇总 (重要).md

33 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- .macro .endm 汇编宏
- .macro .endm 声明一个汇编宏
- .macro中后面 逗号或者空格 用来分隔参数 冒号用来指定参数类型req(requirement)
- 例如: .macro el1_interrupt_handler, handler:req
- 宏不会显示在elf文件
- .text 代码段
- .text 标记代码段的开始? 这玩意有用么?
- .align 对齐
- .align n
- n对应着2的几次方 比如2的11次方就一共是0x800对齐 例如linux的vectors
- .global 全局符号定义
- 声明一个全局符号 ==elf中类型是什么样的呢==
- 也可以声明一个定义在别的文件中的符号也可以是c文件
- 具体的定义还得是 symbol:
- .set 别名设置
- .set 一般给一个标签地址(.global)设置一个别名
- .org 位置设置
- .org 见
- Linux下一组新的定义方式
- 函数定义 类似C语言的函数定义
- SYM_FUNC_START/SYM_FUNC_END elf类型显示为FUNC
- SYM_FUNC_START_LOCAL/SYM_FUNC_END
- 特殊函数定义 使用特殊堆栈?
- SYM_CODE_START/SYM_CODE_END 外部函数定义elf中显示为GLOBAL类型显示位Notype
- SYM_CODE_START_LOCAL/SYM_CODE_END static函数定义elf中显示为LOCAL
- 数据定义
- SYM_DATA_START 类型是OBJECT
- 括号()
- ==待补充==