10.3. 位置无关代码
10.3.1. la 伪指令
10.3.1.1. 指令详解
la(Load Address)系列伪指令用于把符号地址装入通用寄存器,常用于获取数据地址或函数地址。其格式及常见变体如下:
la rd, symbol # 等价于 la.global(默认行为)
la.global rd, symbol # 加载全局符号地址(可能经过GOT,默认模式)
la.local rd, symbol # 加载局部符号地址(PC相对寻址)
la.got rd, symbol # 经GOT(全局偏移表)加载符号地址
la.pcrel rd, symbol # PC相对寻址加载地址
la.abs rd, symbol # 绝对地址加载
汇编器会结合地址范围和寻址模式,自动生成合适的实际指令序列。