- .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 - 括号() - ==待补充==