Hi, This patch fixes a problem I ran across while working on an internal port. Incorrect opcodes and masks were sometimes being generated for the short insns of variable length ISAs because of two problems in -opcode-slots: 1) The test of bit positions against the insn-length was off by one. Thjs could lead to incorrect opcode bits being generated. 2) While the 'compute' function correctly generated zeroes for the extra bits when computing 'opcode', it was also generating zeroes for these bits when computing 'opcode-mask', thus rendering these bits irrelevent. This could lead to the generation of numerous unreachable cases in the generated decoder switch. The patch corrects the comparison of bit position against the insn-length and also allows the caller of 'compute' to specify the default bit value which should be generated bits beyond the length of a short insn. This allows 0 to be specified when computing 'opcode' and 1 to be specified when computing opcode-mask. The patch also changes some of the logit calls to print values in hex which is more appropriate when examining bitmasks This patch corrects the problem encountered with my internal port. I know of no other port which is affected by this bug. I have tested it against frv and xstormy16 and verified no changes to the generated decoders. OK to commit? Dave