位运算后紧跟(-TCG_TARGET_STACK_MINFRAME)表示什么?
代码如下,其中SAVE, INSN_RD(TCG_REG_O6), INSN_RS1(TCG_REG_O6), INSN_IMM13, TCG_TARGET_STACK_MINFRAME都是宏定义的常量:
static inline void tcg_out32(TCGContext *s, uint32_t v)
{
*(uint32_t *)s->code_ptr = v;
s->code_ptr += 4;
}
static void tcg_target_qemu_prologue(TCGContext *s)
{
tcg_out32(s, SAVE | INSN_RD(TCG_REG_O6) | INSN_RS1(TCG_REG_O6) |
INSN_IMM13(-TCG_TARGET_STACK_MINFRAME));
...
}
调用tcg_out32时第二个参数是什么含义?这个参数在语法上怎么解释?
SAVE | INSN_RD(TCG_REG_O6) | INSN_RS1(TCG_REG_O6) | INSN_IMM13(-TCG_TARGET_STACK_MINFRAME)