Home | History | Annotate | Download | only in libdisasm

Lines Matching defs:op

19 #define IS_SP( op )  (op->type == op_register && 	\
20 (op->data.reg.id == REG_ESP_INDEX || \
21 op->data.reg.alias == REG_ESP_INDEX) )
22 #define IS_IMM( op ) (op->type == op_immediate )
31 static INLINE int32_t long_from_operand( x86_op_t *op ) {
33 if (! IS_IMM(op) ) {
37 switch ( op->datatype ) {
39 return (int32_t) op->data.sbyte;
41 return (int32_t) op->data.sword;
43 return (int32_t) op->data.sqword;
45 return op->data.sdword;
63 dest = &insn->operands->op;
65 src = &insn->operands->next->op;
242 static void reg_32_to_16( x86_op_t *op, x86_insn_t *insn, void *arg ) {
245 if ( op->type == op_register && op->data.reg.size == 4 &&
246 (op->data.reg.type & reg_gen) ) {
248 ia32_handle_register( &(op->data.reg),
249 op->data.reg.id + 8 );
376 unsigned char *next, op = buf[0]; /* byte value -- 'opcode' */
383 op = GET_BYTE( buf, buf_len );
385 if ( table_desc->type == tbl_fpu && op > table_desc->maxlim) {
397 op >>= table_desc->shift;
401 op &= table_desc->mask;
406 if ( op > table_desc->maxlim ) {
408 and op is out of range! */
414 if ( table_desc->minlim > op ) {
416 and op is out of range! */
419 /* adjust op to be an offset from table index 0 */
420 op -= table_desc->minlim;
422 /* Yay! 'op' is now fully adjusted to be an index into 'table' */
423 *raw_insn = &(table_desc->table[op]);
424 //printf("BYTE %X TABLE %d OP %X\n", buf[0], table, op );