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