Lines Matching refs:u
38 opr_cast(struct ud* u, struct ud_operand* op) in opr_cast() argument
42 ud_asmprintf(u, "*"); break; in opr_cast()
52 gen_operand(struct ud* u, struct ud_operand* op) in gen_operand() argument
56 ud_asmprintf(u, "$0x%x", op->lval.udword); in gen_operand()
60 ud_asmprintf(u, "%%%s", ud_reg_tab[op->base - UD_R_AL]); in gen_operand()
64 if (u->br_far) { in gen_operand()
65 opr_cast(u, op); in gen_operand()
67 if (u->pfx_seg) { in gen_operand()
68 ud_asmprintf(u, "%%%s:", ud_reg_tab[u->pfx_seg - UD_R_AL]); in gen_operand()
71 ud_syn_print_mem_disp(u, op, 0); in gen_operand()
74 ud_asmprintf(u, "(%%%s", ud_reg_tab[op->base - UD_R_AL]); in gen_operand()
78 ud_asmprintf(u, ","); in gen_operand()
80 ud_asmprintf(u, "("); in gen_operand()
82 ud_asmprintf(u, "%%%s", ud_reg_tab[op->index - UD_R_AL]); in gen_operand()
85 ud_asmprintf(u, ",%d", op->scale); in gen_operand()
88 ud_asmprintf(u, ")"); in gen_operand()
93 ud_asmprintf(u, "$"); in gen_operand()
94 ud_syn_print_imm(u, op); in gen_operand()
98 ud_syn_print_addr(u, ud_syn_rel_target(u, op)); in gen_operand()
104 ud_asmprintf(u, "$0x%x, $0x%x", op->lval.ptr.seg, in gen_operand()
108 ud_asmprintf(u, "$0x%x, $0x%x", op->lval.ptr.seg, in gen_operand()
123 ud_translate_att(struct ud *u) in ud_translate_att() argument
129 if (! P_OSO(u->itab_entry->prefix) && u->pfx_opr) { in ud_translate_att()
130 switch (u->dis_mode) { in ud_translate_att()
132 ud_asmprintf(u, "o32 "); in ud_translate_att()
136 ud_asmprintf(u, "o16 "); in ud_translate_att()
142 if (! P_ASO(u->itab_entry->prefix) && u->pfx_adr) { in ud_translate_att()
143 switch (u->dis_mode) { in ud_translate_att()
145 ud_asmprintf(u, "a32 "); in ud_translate_att()
148 ud_asmprintf(u, "a16 "); in ud_translate_att()
151 ud_asmprintf(u, "a32 "); in ud_translate_att()
156 if (u->pfx_lock) in ud_translate_att()
157 ud_asmprintf(u, "lock "); in ud_translate_att()
158 if (u->pfx_rep) { in ud_translate_att()
159 ud_asmprintf(u, "rep "); in ud_translate_att()
160 } else if (u->pfx_repe) { in ud_translate_att()
161 ud_asmprintf(u, "repe "); in ud_translate_att()
162 } else if (u->pfx_repne) { in ud_translate_att()
163 ud_asmprintf(u, "repne "); in ud_translate_att()
167 switch (u->mnemonic) { in ud_translate_att()
169 ud_asmprintf(u, "lret "); in ud_translate_att()
172 ud_asmprintf(u, ".byte 0x%x", u->operand[0].lval.ubyte); in ud_translate_att()
176 if (u->br_far) ud_asmprintf(u, "l"); in ud_translate_att()
177 if (u->operand[0].type == UD_OP_REG) { in ud_translate_att()
180 ud_asmprintf(u, "%s", ud_lookup_mnemonic(u->mnemonic)); in ud_translate_att()
184 if (u->operand[0].type != UD_NONE) in ud_translate_att()
185 gen_operand(u, &u->operand[0]); in ud_translate_att()
186 if (u->operand[1].type != UD_NONE) { in ud_translate_att()
187 ud_asmprintf(u, ","); in ud_translate_att()
188 gen_operand(u, &u->operand[1]); in ud_translate_att()
192 ud_asmprintf(u, "%s", ud_lookup_mnemonic(u->mnemonic)); in ud_translate_att()
196 ud_asmprintf(u, "b"); in ud_translate_att()
198 ud_asmprintf(u, "w"); in ud_translate_att()
200 ud_asmprintf(u, "q"); in ud_translate_att()
204 ud_asmprintf(u, " *"); in ud_translate_att()
206 ud_asmprintf(u, " "); in ud_translate_att()
209 if (u->operand[3].type != UD_NONE) { in ud_translate_att()
210 gen_operand(u, &u->operand[3]); in ud_translate_att()
211 ud_asmprintf(u, ", "); in ud_translate_att()
213 if (u->operand[2].type != UD_NONE) { in ud_translate_att()
214 gen_operand(u, &u->operand[2]); in ud_translate_att()
215 ud_asmprintf(u, ", "); in ud_translate_att()
217 if (u->operand[1].type != UD_NONE) { in ud_translate_att()
218 gen_operand(u, &u->operand[1]); in ud_translate_att()
219 ud_asmprintf(u, ", "); in ud_translate_att()
221 if (u->operand[0].type != UD_NONE) { in ud_translate_att()
222 gen_operand(u, &u->operand[0]); in ud_translate_att()