
    case RB_SHL:
	abc = getabc(regs, mem, i);
	*abc.dst = abc.b &lt;&lt; abc.c;
	break;
    case RB_NAND:
	abc = getabc(regs, mem, i);
	*abc.dst = ~(abc.b &amp; abc.c);
	break;
    case RB_XOR:
	abc = getabc(regs, mem, i);
	*abc.dst = abc.b ^ abc.c;
	break;
    case RB_BR: {
	/* Branch is special because it only has one argument. */
	rabbitw src = i.modes.immediate  ? fetch_immediate() : regs[i.regc];
	regs[RB_IP] = i.modes.regc_deref ? mem[src] : src;
	break;
    }
    case RB_BRZ:
	/* Branch if zero is s