Lines Matching refs:op
38 opr_cast(struct ud* u, struct ud_operand* op) in opr_cast() argument
43 switch(op->size) { in opr_cast()
59 static void gen_operand(struct ud* u, struct ud_operand* op, int syn_cast) in gen_operand() argument
61 switch(op->type) { in gen_operand()
63 ud_asmprintf(u, "%s", ud_reg_tab[op->base - UD_R_AL]); in gen_operand()
68 opr_cast(u, op); in gen_operand()
74 if (op->base) { in gen_operand()
75 ud_asmprintf(u, "%s", ud_reg_tab[op->base - UD_R_AL]); in gen_operand()
77 if (op->index) { in gen_operand()
78 ud_asmprintf(u, "%s%s", op->base != UD_NONE? "+" : "", in gen_operand()
79 ud_reg_tab[op->index - UD_R_AL]); in gen_operand()
80 if (op->scale) { in gen_operand()
81 ud_asmprintf(u, "*%d", op->scale); in gen_operand()
84 if (op->offset != 0) { in gen_operand()
85 ud_syn_print_mem_disp(u, op, (op->base != UD_NONE || in gen_operand()
86 op->index != UD_NONE) ? 1 : 0); in gen_operand()
92 ud_syn_print_imm(u, op); in gen_operand()
97 ud_syn_print_addr(u, ud_syn_rel_target(u, op)); in gen_operand()
101 switch (op->size) { in gen_operand()
103 ud_asmprintf(u, "word 0x%x:0x%x", op->lval.ptr.seg, in gen_operand()
104 op->lval.ptr.off & 0xFFFF); in gen_operand()
107 ud_asmprintf(u, "dword 0x%x:0x%x", op->lval.ptr.seg, in gen_operand()
108 op->lval.ptr.off); in gen_operand()
114 if (syn_cast) opr_cast(u, op); in gen_operand()
115 ud_asmprintf(u, "%d", op->lval.udword); in gen_operand()