ARM base instruction -- blr
BLR
Branch with Link to Register calls a subroutine at an address in a register, setting register X30 to PC+4.
带寄存器链接的分支在寄存器中的某个地址调用一个子程序,将寄存器 X30 (lr) 设置为 PC+4。
BLR <Xn>
BLR 跳转到reg内容地址,将返回地址保存在 lr (x30) 返回寄存器中。
Operation
bits(64) target = X[n];
X[30] = PC[] + 4;
BranchTo(target, BranchType_INDCALL);
404b3c: f942fe62 ldr x2, [x19, #1528]
404b40: b4fffea2 cbz x2, 404b14 <ferror@plt+0x2c34>
404b4c: d63f0040 blr x2
404b50: 3914227f strb wzr, [x19, #1288]
404b54: 17fffff1 b 404b18 <ferror@plt+0x2c38>