再请教一PPC汇编指令bnslr+(手册上我查不到)
10007db8: 38 00 00 a2 li r0,162
10007dbc: 44 00 00 02 sc
10007dc0: 4c a3 00 20 bnslr+
系统调用后 bnslr+ 是什么指令? 代表什么意思?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
kernel 2.6.35
archpowerpcxmonppc-opc.c
const struct powerpc_opcode powerpc_opcodes[] = {
...
{ "bnslr+", XLOCB(19,BOFP4,CBSO,16,0), XLBOCBBB_MASK, POWER4, { CR } },
...
}
#define XLOCB(op, bo, cb, xop, lk)
(XLO ((op), (bo), (xop), (lk)) | ((((unsigned long)(cb)) & 3) << 16))
#define XLOCB_MASK XLOCB (0x3f, 0x1f, 0x3, 0x3ff, 1)
实际e500 core datasheet pdf里
bnslr解释为
Branch if not summary overflow (bclr without
comparison conditions and LR updating)
再仔细理解下