core/x86/instr.c
/* Returns the pos-th source operand of instr.
 * If instr's operands are not decoded, goes ahead and decodes them.
 * Assumes that instr is a single instr (i.e., NOT Level 0).
 */
Returns the pos-th source operand of instr.
If instr's operands are not decoded, goes ahead and decodes them.
Assumes that instr is a single instr .
Returns the pos - th source operand of instr . If instr ' s operands are not decoded goes ahead and decodes them . Assumes that instr is a single instr .
opnd_t
instr_get_src(instr_t *instr, uint pos)
{
    if ((instr->flags & INSTR_OPERANDS_VALID) == 0)
        instr_decode(get_thread_private_dcontext(), instr);
    CLIENT_ASSERT(pos >= 0 && pos < instr->num_srcs, "instr_get_src: ordinal invalid");
    if (pos == 0)
        return instr->src0;
    else
        return instr->srcs[pos-1];
}
opnd_t instr_get_src ( instr_t * instr , uint pos ) { if ( ( instr -> flags & INSTR_OPERANDS_VALID ) == 0 ) instr_decode ( get_thread_private_dcontext ( ) , instr ) ; CLIENT_ASSERT ( pos >= 0 && pos < instr -> num_srcs , " " ) ; if ( pos == 0 ) return instr -> src0 ; else return instr -> srcs [ pos - 1 ] ; }
Returns the pos-th source operand of instr.
Returns the pos - th source operand of instr .
/* remember that src0 is static, rest are dynamic */