break;
    public boolean emit(String mnemonic, List operands, int operandSize) {        this.operands = operands;        this.operandSize = operandSize;        Integer key = (Integer) INSTRUCTION_MAP.get(mnemonic);        if (key == null) return false;        switch (key.intValue()) {            case ADC_ISN:                emitADC();                break;            case ADD_ISN:                emitADD();                break;            case ALIGN_ISN:                emitALIGN();                break;            case AND_ISN:                emitAND();                break;            case CALL_ISN:                emitCALL();                break;            case CLD_ISN:                emitCLD();                break;            case CLI_ISN:                emitCLI();                break;            case CLTS_ISN:                emitCLTS();                break;            case CMP_ISN:                emitCMP();                break;            case CPUID_ISN:                emitCPUID();                break;            case DEC_ISN:                emitDEC();                break;            case DIV_ISN:                emitDIV();                break;            case FLDCW_ISN:                emitFLDCW();                break;            case FNINIT_ISN:                emitFNINIT();                break;            case FNSAVE_ISN:                emitFNSAVE();                break;            case FRSTOR_ISN:                emitFRSTOR();                break;            case FSTCW_ISN:                emitFSTCW();                break;            case FXRSTOR_ISN:                emitFXRSTOR();                break;            case FXSAVE_ISN:                emitFXSAVE();                break;            case HLT_ISN:                emitHLT();                break;            case IN_ISN:                emitIN();                break;            case INC_ISN:                emitINC();                break;            case INT_ISN:                emitINT();                break;            case IRET_ISN:                emitIRET();                break;            case JA_ISN:                emitJCC(X86Assembler.JA);            case JAE_ISN:                emitJCC(X86Assembler.JAE);            case JB_ISN:                emitJCC(X86Assembler.JB);                break;            case JE_ISN:                emitJCC(X86Assembler.JE);                break;            case JECXZ_ISN:                emitJECXZ();                break;            case JL_ISN:                emitJCC(X86Assembler.JL);                break;            case JLE_ISN:                emitJCC(X86Assembler.JLE);                break;            case JMP_ISN:                emitJMP();                break;            case JNE_ISN:                emitJCC(X86Assembler.JNE);                break;            case JNZ_ISN:                emitJCC(X86Assembler.JNZ);                break;            case JZ_ISN:                emitJCC(X86Assembler.JZ);                break;            case LDMXCSR_ISN:                emitLDMXCSR();                break;            case LEA_ISN:                emitLEA();                break;            case LGDT_ISN:                emitLGDT();                break;            case LIDT_ISN:                emitLIDT();                break;            case LMSW_ISN:                emitLMSW();                break;            case LODSW_ISN:                emitLODSW();                break;            case LOOP_ISN:                emitLOOP();                break;            case LTR_ISN:                emitLTR();                break;            case MOV_ISN:                emitMOV();                break;            case MOVSB_ISN:                emitMOVSB();                break;            case MOVSW_ISN:                emitMOVSW();                break;            case MOVSD_ISN:                emitMOVSD();                break;            case MOVZX_ISN:                emitMOVZX();                break;            case NEG_ISN:                emitNEG();                break;            case NOP_ISN:                emitNOP();                break;            case OR_ISN:                emitOR();                break;            case OUT_ISN:                emitOUT();                break;            case POP_ISN:                emitPOP();                break;            case POPA_ISN:                emitPOPA();                break;            case POPF_ISN:                emitPOPF();                break;            case PUSH_ISN:                emitPUSH();                break;            case PUSHA_ISN:                emitPUSHA();                break;            case PUSHF_ISN:                emitPUSHF();                break;            case RET_ISN:                emitRET();                break;            case SHL_ISN:                emitSHL();                break;            case SHR_ISN:                emitSHR();                break;            case STD_ISN:                emitSTD();                break;            case STI_ISN:                emitSTI();                break;            case STMXCSR_ISN:                emitSTMXCSR();                break;            case STOSB_ISN:                emitSTOSB();                break;            case STOSD_ISN:                emitSTOSD();                break;            case STOSW_ISN:                emitSTOSW();                break;            case SUB_ISN:                emitSUB();                break;            case TEST_ISN:                emitTEST();                break;            case XCHG_ISN:                emitXCHG();                break;            case XOR_ISN:                emitXOR();                break;            default:                throw new Error("Invalid instruction binding " + key.intValue() + " for " + mnemonic);        }        return true;    }