private LegacyInstr decode_3(int word1) throws InvalidInstruction {
        // get value of bits logical[13:15]
        int value = (word1) & 0x00007;
        switch ( value ) {
            case 0x00002: return decode_BRMI_0(word1);
            case 0x00004: return decode_BRLT_0(word1);
            case 0x00006: return decode_BRTS_0(word1);
            case 0x00001: return decode_BREQ_0(word1);
            case 0x00003: return decode_BRVS_0(word1);
            case 0x00007: return decode_BRIE_0(word1);
            case 0x00005: return decode_BRHS_0(word1);
            case 0x00000: return decode_BRCS_0(word1);
            default:
            return null;
        }
    }