case ORC_X86_INSN_TYPE_BRANCH:
case ORC_X86_INSN_TYPE_NONE:
case ORC_X86_INSN_TYPE_LABEL:
+ case ORC_X86_INSN_TYPE_IMM32_A:
op1_str[0] = 0;
break;
case ORC_X86_INSN_TYPE_REG_REGM:
case ORC_X86_INSN_TYPE_REG16_REGM:
sprintf(op1_str, "%%%s, ", orc_x86_get_regname_16 (xinsn->src));
break;
- case ORC_X86_INSN_TYPE_IMM32_A:
default:
ORC_ERROR("%d", xinsn->opcode->type);
ORC_ASSERT(0);
op2_str[0] = 0;
break;
case ORC_X86_INSN_TYPE_IMM32_A:
+ sprintf(op2_str, "%%%s", orc_x86_get_regname_size (X86_EAX, xinsn->size));
+ break;
default:
ORC_ERROR("%d", xinsn->opcode->type);
ORC_ASSERT(0);
output_opcode (p, xinsn->opcode, 4, xinsn->dest, 0);
break;
case ORC_X86_INSN_TYPE_MMX_REGM_REV:
+ case ORC_X86_INSN_TYPE_MMXM_MMX_REV:
output_opcode (p, xinsn->opcode, 4, xinsn->dest, xinsn->src);
break;
case ORC_X86_INSN_TYPE_REG_REGM:
case ORC_X86_INSN_TYPE_REG16_REGM:
output_opcode (p, xinsn->opcode, xinsn->size, xinsn->dest, xinsn->src);
break;
- case ORC_X86_INSN_TYPE_MMXM_MMX_REV:
case ORC_X86_INSN_TYPE_IMM8_MMXM_MMX:
case ORC_X86_INSN_TYPE_MMXM_MMX:
case ORC_X86_INSN_TYPE_SSEM_SSE:
case ORC_X86_INSN_TYPE_NONE:
output_opcode (p, xinsn->opcode, 4, 0, 0);
break;
+ case ORC_X86_INSN_TYPE_IMM32_A:
+ output_opcode (p, xinsn->opcode, xinsn->size, 0, 0);
+ break;
case ORC_X86_INSN_TYPE_BRANCH:
case ORC_X86_INSN_TYPE_LABEL:
break;