/* z80_cb.c: Z80 CBxx opcodes
   Copyright (c) 1999-2003 Philip Kendall

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License along
   with this program; if not, write to the Free Software Foundation, Inc.,
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

   Author contact information:

   E-mail: philip-fuse@shadowmagic.org.uk

*/

/* NB: this file is autogenerated by './z80/z80.pl' from 'opcodes_cb.dat',
   and included in 'z80_ops.c' */

    case 0x00:		/* RLC B */
      RLC(B);
      break;
    case 0x01:		/* RLC C */
      RLC(C);
      break;
    case 0x02:		/* RLC D */
      RLC(D);
      break;
    case 0x03:		/* RLC E */
      RLC(E);
      break;
    case 0x04:		/* RLC H */
      RLC(H);
      break;
    case 0x05:		/* RLC L */
      RLC(L);
      break;
    case 0x06:		/* RLC (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	RLC(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x07:		/* RLC A */
      RLC(A);
      break;
    case 0x08:		/* RRC B */
      RRC(B);
      break;
    case 0x09:		/* RRC C */
      RRC(C);
      break;
    case 0x0a:		/* RRC D */
      RRC(D);
      break;
    case 0x0b:		/* RRC E */
      RRC(E);
      break;
    case 0x0c:		/* RRC H */
      RRC(H);
      break;
    case 0x0d:		/* RRC L */
      RRC(L);
      break;
    case 0x0e:		/* RRC (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	RRC(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x0f:		/* RRC A */
      RRC(A);
      break;
    case 0x10:		/* RL B */
      RL(B);
      break;
    case 0x11:		/* RL C */
      RL(C);
      break;
    case 0x12:		/* RL D */
      RL(D);
      break;
    case 0x13:		/* RL E */
      RL(E);
      break;
    case 0x14:		/* RL H */
      RL(H);
      break;
    case 0x15:		/* RL L */
      RL(L);
      break;
    case 0x16:		/* RL (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	RL(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x17:		/* RL A */
      RL(A);
      break;
    case 0x18:		/* RR B */
      RR(B);
      break;
    case 0x19:		/* RR C */
      RR(C);
      break;
    case 0x1a:		/* RR D */
      RR(D);
      break;
    case 0x1b:		/* RR E */
      RR(E);
      break;
    case 0x1c:		/* RR H */
      RR(H);
      break;
    case 0x1d:		/* RR L */
      RR(L);
      break;
    case 0x1e:		/* RR (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	RR(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x1f:		/* RR A */
      RR(A);
      break;
    case 0x20:		/* SLA B */
      SLA(B);
      break;
    case 0x21:		/* SLA C */
      SLA(C);
      break;
    case 0x22:		/* SLA D */
      SLA(D);
      break;
    case 0x23:		/* SLA E */
      SLA(E);
      break;
    case 0x24:		/* SLA H */
      SLA(H);
      break;
    case 0x25:		/* SLA L */
      SLA(L);
      break;
    case 0x26:		/* SLA (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	SLA(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x27:		/* SLA A */
      SLA(A);
      break;
    case 0x28:		/* SRA B */
      SRA(B);
      break;
    case 0x29:		/* SRA C */
      SRA(C);
      break;
    case 0x2a:		/* SRA D */
      SRA(D);
      break;
    case 0x2b:		/* SRA E */
      SRA(E);
      break;
    case 0x2c:		/* SRA H */
      SRA(H);
      break;
    case 0x2d:		/* SRA L */
      SRA(L);
      break;
    case 0x2e:		/* SRA (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	SRA(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x2f:		/* SRA A */
      SRA(A);
      break;
    case 0x30:		/* SLL B */
      SLL(B);
      break;
    case 0x31:		/* SLL C */
      SLL(C);
      break;
    case 0x32:		/* SLL D */
      SLL(D);
      break;
    case 0x33:		/* SLL E */
      SLL(E);
      break;
    case 0x34:		/* SLL H */
      SLL(H);
      break;
    case 0x35:		/* SLL L */
      SLL(L);
      break;
    case 0x36:		/* SLL (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	SLL(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x37:		/* SLL A */
      SLL(A);
      break;
    case 0x38:		/* SRL B */
      SRL(B);
      break;
    case 0x39:		/* SRL C */
      SRL(C);
      break;
    case 0x3a:		/* SRL D */
      SRL(D);
      break;
    case 0x3b:		/* SRL E */
      SRL(E);
      break;
    case 0x3c:		/* SRL H */
      SRL(H);
      break;
    case 0x3d:		/* SRL L */
      SRL(L);
      break;
    case 0x3e:		/* SRL (HL) */
      {
	libspectrum_byte bytetemp = readbyte(HL);
	contend_read_no_mreq( HL, 1 );
	SRL(bytetemp);
	writebyte(HL,bytetemp);
      }
      break;
    case 0x3f:		/* SRL A */
      SRL(A);
      break;
    case 0x40:		/* BIT 0,B */
      BIT( 0, B );
      break;
    case 0x41:		/* BIT 0,C */
      BIT( 0, C );
      break;
    case 0x42:		/* BIT 0,D */
      BIT( 0, D );
      break;
    case 0x43:		/* BIT 0,E */
      BIT( 0, E );
      break;
    case 0x44:		/* BIT 0,H */
      BIT( 0, H );
      break;
    case 0x45:		/* BIT 0,L */
      BIT( 0, L );
      break;
    case 0x46:		/* BIT 0,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 0, bytetemp );
      }
      break;
    case 0x47:		/* BIT 0,A */
      BIT( 0, A );
      break;
    case 0x48:		/* BIT 1,B */
      BIT( 1, B );
      break;
    case 0x49:		/* BIT 1,C */
      BIT( 1, C );
      break;
    case 0x4a:		/* BIT 1,D */
      BIT( 1, D );
      break;
    case 0x4b:		/* BIT 1,E */
      BIT( 1, E );
      break;
    case 0x4c:		/* BIT 1,H */
      BIT( 1, H );
      break;
    case 0x4d:		/* BIT 1,L */
      BIT( 1, L );
      break;
    case 0x4e:		/* BIT 1,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 1, bytetemp );
      }
      break;
    case 0x4f:		/* BIT 1,A */
      BIT( 1, A );
      break;
    case 0x50:		/* BIT 2,B */
      BIT( 2, B );
      break;
    case 0x51:		/* BIT 2,C */
      BIT( 2, C );
      break;
    case 0x52:		/* BIT 2,D */
      BIT( 2, D );
      break;
    case 0x53:		/* BIT 2,E */
      BIT( 2, E );
      break;
    case 0x54:		/* BIT 2,H */
      BIT( 2, H );
      break;
    case 0x55:		/* BIT 2,L */
      BIT( 2, L );
      break;
    case 0x56:		/* BIT 2,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 2, bytetemp );
      }
      break;
    case 0x57:		/* BIT 2,A */
      BIT( 2, A );
      break;
    case 0x58:		/* BIT 3,B */
      BIT( 3, B );
      break;
    case 0x59:		/* BIT 3,C */
      BIT( 3, C );
      break;
    case 0x5a:		/* BIT 3,D */
      BIT( 3, D );
      break;
    case 0x5b:		/* BIT 3,E */
      BIT( 3, E );
      break;
    case 0x5c:		/* BIT 3,H */
      BIT( 3, H );
      break;
    case 0x5d:		/* BIT 3,L */
      BIT( 3, L );
      break;
    case 0x5e:		/* BIT 3,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 3, bytetemp );
      }
      break;
    case 0x5f:		/* BIT 3,A */
      BIT( 3, A );
      break;
    case 0x60:		/* BIT 4,B */
      BIT( 4, B );
      break;
    case 0x61:		/* BIT 4,C */
      BIT( 4, C );
      break;
    case 0x62:		/* BIT 4,D */
      BIT( 4, D );
      break;
    case 0x63:		/* BIT 4,E */
      BIT( 4, E );
      break;
    case 0x64:		/* BIT 4,H */
      BIT( 4, H );
      break;
    case 0x65:		/* BIT 4,L */
      BIT( 4, L );
      break;
    case 0x66:		/* BIT 4,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 4, bytetemp );
      }
      break;
    case 0x67:		/* BIT 4,A */
      BIT( 4, A );
      break;
    case 0x68:		/* BIT 5,B */
      BIT( 5, B );
      break;
    case 0x69:		/* BIT 5,C */
      BIT( 5, C );
      break;
    case 0x6a:		/* BIT 5,D */
      BIT( 5, D );
      break;
    case 0x6b:		/* BIT 5,E */
      BIT( 5, E );
      break;
    case 0x6c:		/* BIT 5,H */
      BIT( 5, H );
      break;
    case 0x6d:		/* BIT 5,L */
      BIT( 5, L );
      break;
    case 0x6e:		/* BIT 5,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 5, bytetemp );
      }
      break;
    case 0x6f:		/* BIT 5,A */
      BIT( 5, A );
      break;
    case 0x70:		/* BIT 6,B */
      BIT( 6, B );
      break;
    case 0x71:		/* BIT 6,C */
      BIT( 6, C );
      break;
    case 0x72:		/* BIT 6,D */
      BIT( 6, D );
      break;
    case 0x73:		/* BIT 6,E */
      BIT( 6, E );
      break;
    case 0x74:		/* BIT 6,H */
      BIT( 6, H );
      break;
    case 0x75:		/* BIT 6,L */
      BIT( 6, L );
      break;
    case 0x76:		/* BIT 6,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 6, bytetemp );
      }
      break;
    case 0x77:		/* BIT 6,A */
      BIT( 6, A );
      break;
    case 0x78:		/* BIT 7,B */
      BIT( 7, B );
      break;
    case 0x79:		/* BIT 7,C */
      BIT( 7, C );
      break;
    case 0x7a:		/* BIT 7,D */
      BIT( 7, D );
      break;
    case 0x7b:		/* BIT 7,E */
      BIT( 7, E );
      break;
    case 0x7c:		/* BIT 7,H */
      BIT( 7, H );
      break;
    case 0x7d:		/* BIT 7,L */
      BIT( 7, L );
      break;
    case 0x7e:		/* BIT 7,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	BIT_MEMPTR( 7, bytetemp );
      }
      break;
    case 0x7f:		/* BIT 7,A */
      BIT( 7, A );
      break;
    case 0x80:		/* RES 0,B */
      B &= 0xfe;
      break;
    case 0x81:		/* RES 0,C */
      C &= 0xfe;
      break;
    case 0x82:		/* RES 0,D */
      D &= 0xfe;
      break;
    case 0x83:		/* RES 0,E */
      E &= 0xfe;
      break;
    case 0x84:		/* RES 0,H */
      H &= 0xfe;
      break;
    case 0x85:		/* RES 0,L */
      L &= 0xfe;
      break;
    case 0x86:		/* RES 0,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xfe );
      }
      break;
    case 0x87:		/* RES 0,A */
      A &= 0xfe;
      break;
    case 0x88:		/* RES 1,B */
      B &= 0xfd;
      break;
    case 0x89:		/* RES 1,C */
      C &= 0xfd;
      break;
    case 0x8a:		/* RES 1,D */
      D &= 0xfd;
      break;
    case 0x8b:		/* RES 1,E */
      E &= 0xfd;
      break;
    case 0x8c:		/* RES 1,H */
      H &= 0xfd;
      break;
    case 0x8d:		/* RES 1,L */
      L &= 0xfd;
      break;
    case 0x8e:		/* RES 1,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xfd );
      }
      break;
    case 0x8f:		/* RES 1,A */
      A &= 0xfd;
      break;
    case 0x90:		/* RES 2,B */
      B &= 0xfb;
      break;
    case 0x91:		/* RES 2,C */
      C &= 0xfb;
      break;
    case 0x92:		/* RES 2,D */
      D &= 0xfb;
      break;
    case 0x93:		/* RES 2,E */
      E &= 0xfb;
      break;
    case 0x94:		/* RES 2,H */
      H &= 0xfb;
      break;
    case 0x95:		/* RES 2,L */
      L &= 0xfb;
      break;
    case 0x96:		/* RES 2,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xfb );
      }
      break;
    case 0x97:		/* RES 2,A */
      A &= 0xfb;
      break;
    case 0x98:		/* RES 3,B */
      B &= 0xf7;
      break;
    case 0x99:		/* RES 3,C */
      C &= 0xf7;
      break;
    case 0x9a:		/* RES 3,D */
      D &= 0xf7;
      break;
    case 0x9b:		/* RES 3,E */
      E &= 0xf7;
      break;
    case 0x9c:		/* RES 3,H */
      H &= 0xf7;
      break;
    case 0x9d:		/* RES 3,L */
      L &= 0xf7;
      break;
    case 0x9e:		/* RES 3,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xf7 );
      }
      break;
    case 0x9f:		/* RES 3,A */
      A &= 0xf7;
      break;
    case 0xa0:		/* RES 4,B */
      B &= 0xef;
      break;
    case 0xa1:		/* RES 4,C */
      C &= 0xef;
      break;
    case 0xa2:		/* RES 4,D */
      D &= 0xef;
      break;
    case 0xa3:		/* RES 4,E */
      E &= 0xef;
      break;
    case 0xa4:		/* RES 4,H */
      H &= 0xef;
      break;
    case 0xa5:		/* RES 4,L */
      L &= 0xef;
      break;
    case 0xa6:		/* RES 4,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xef );
      }
      break;
    case 0xa7:		/* RES 4,A */
      A &= 0xef;
      break;
    case 0xa8:		/* RES 5,B */
      B &= 0xdf;
      break;
    case 0xa9:		/* RES 5,C */
      C &= 0xdf;
      break;
    case 0xaa:		/* RES 5,D */
      D &= 0xdf;
      break;
    case 0xab:		/* RES 5,E */
      E &= 0xdf;
      break;
    case 0xac:		/* RES 5,H */
      H &= 0xdf;
      break;
    case 0xad:		/* RES 5,L */
      L &= 0xdf;
      break;
    case 0xae:		/* RES 5,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xdf );
      }
      break;
    case 0xaf:		/* RES 5,A */
      A &= 0xdf;
      break;
    case 0xb0:		/* RES 6,B */
      B &= 0xbf;
      break;
    case 0xb1:		/* RES 6,C */
      C &= 0xbf;
      break;
    case 0xb2:		/* RES 6,D */
      D &= 0xbf;
      break;
    case 0xb3:		/* RES 6,E */
      E &= 0xbf;
      break;
    case 0xb4:		/* RES 6,H */
      H &= 0xbf;
      break;
    case 0xb5:		/* RES 6,L */
      L &= 0xbf;
      break;
    case 0xb6:		/* RES 6,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0xbf );
      }
      break;
    case 0xb7:		/* RES 6,A */
      A &= 0xbf;
      break;
    case 0xb8:		/* RES 7,B */
      B &= 0x7f;
      break;
    case 0xb9:		/* RES 7,C */
      C &= 0x7f;
      break;
    case 0xba:		/* RES 7,D */
      D &= 0x7f;
      break;
    case 0xbb:		/* RES 7,E */
      E &= 0x7f;
      break;
    case 0xbc:		/* RES 7,H */
      H &= 0x7f;
      break;
    case 0xbd:		/* RES 7,L */
      L &= 0x7f;
      break;
    case 0xbe:		/* RES 7,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp & 0x7f );
      }
      break;
    case 0xbf:		/* RES 7,A */
      A &= 0x7f;
      break;
    case 0xc0:		/* SET 0,B */
      B |= 0x01;
      break;
    case 0xc1:		/* SET 0,C */
      C |= 0x01;
      break;
    case 0xc2:		/* SET 0,D */
      D |= 0x01;
      break;
    case 0xc3:		/* SET 0,E */
      E |= 0x01;
      break;
    case 0xc4:		/* SET 0,H */
      H |= 0x01;
      break;
    case 0xc5:		/* SET 0,L */
      L |= 0x01;
      break;
    case 0xc6:		/* SET 0,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x01 );
      }
      break;
    case 0xc7:		/* SET 0,A */
      A |= 0x01;
      break;
    case 0xc8:		/* SET 1,B */
      B |= 0x02;
      break;
    case 0xc9:		/* SET 1,C */
      C |= 0x02;
      break;
    case 0xca:		/* SET 1,D */
      D |= 0x02;
      break;
    case 0xcb:		/* SET 1,E */
      E |= 0x02;
      break;
    case 0xcc:		/* SET 1,H */
      H |= 0x02;
      break;
    case 0xcd:		/* SET 1,L */
      L |= 0x02;
      break;
    case 0xce:		/* SET 1,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x02 );
      }
      break;
    case 0xcf:		/* SET 1,A */
      A |= 0x02;
      break;
    case 0xd0:		/* SET 2,B */
      B |= 0x04;
      break;
    case 0xd1:		/* SET 2,C */
      C |= 0x04;
      break;
    case 0xd2:		/* SET 2,D */
      D |= 0x04;
      break;
    case 0xd3:		/* SET 2,E */
      E |= 0x04;
      break;
    case 0xd4:		/* SET 2,H */
      H |= 0x04;
      break;
    case 0xd5:		/* SET 2,L */
      L |= 0x04;
      break;
    case 0xd6:		/* SET 2,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x04 );
      }
      break;
    case 0xd7:		/* SET 2,A */
      A |= 0x04;
      break;
    case 0xd8:		/* SET 3,B */
      B |= 0x08;
      break;
    case 0xd9:		/* SET 3,C */
      C |= 0x08;
      break;
    case 0xda:		/* SET 3,D */
      D |= 0x08;
      break;
    case 0xdb:		/* SET 3,E */
      E |= 0x08;
      break;
    case 0xdc:		/* SET 3,H */
      H |= 0x08;
      break;
    case 0xdd:		/* SET 3,L */
      L |= 0x08;
      break;
    case 0xde:		/* SET 3,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x08 );
      }
      break;
    case 0xdf:		/* SET 3,A */
      A |= 0x08;
      break;
    case 0xe0:		/* SET 4,B */
      B |= 0x10;
      break;
    case 0xe1:		/* SET 4,C */
      C |= 0x10;
      break;
    case 0xe2:		/* SET 4,D */
      D |= 0x10;
      break;
    case 0xe3:		/* SET 4,E */
      E |= 0x10;
      break;
    case 0xe4:		/* SET 4,H */
      H |= 0x10;
      break;
    case 0xe5:		/* SET 4,L */
      L |= 0x10;
      break;
    case 0xe6:		/* SET 4,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x10 );
      }
      break;
    case 0xe7:		/* SET 4,A */
      A |= 0x10;
      break;
    case 0xe8:		/* SET 5,B */
      B |= 0x20;
      break;
    case 0xe9:		/* SET 5,C */
      C |= 0x20;
      break;
    case 0xea:		/* SET 5,D */
      D |= 0x20;
      break;
    case 0xeb:		/* SET 5,E */
      E |= 0x20;
      break;
    case 0xec:		/* SET 5,H */
      H |= 0x20;
      break;
    case 0xed:		/* SET 5,L */
      L |= 0x20;
      break;
    case 0xee:		/* SET 5,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x20 );
      }
      break;
    case 0xef:		/* SET 5,A */
      A |= 0x20;
      break;
    case 0xf0:		/* SET 6,B */
      B |= 0x40;
      break;
    case 0xf1:		/* SET 6,C */
      C |= 0x40;
      break;
    case 0xf2:		/* SET 6,D */
      D |= 0x40;
      break;
    case 0xf3:		/* SET 6,E */
      E |= 0x40;
      break;
    case 0xf4:		/* SET 6,H */
      H |= 0x40;
      break;
    case 0xf5:		/* SET 6,L */
      L |= 0x40;
      break;
    case 0xf6:		/* SET 6,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x40 );
      }
      break;
    case 0xf7:		/* SET 6,A */
      A |= 0x40;
      break;
    case 0xf8:		/* SET 7,B */
      B |= 0x80;
      break;
    case 0xf9:		/* SET 7,C */
      C |= 0x80;
      break;
    case 0xfa:		/* SET 7,D */
      D |= 0x80;
      break;
    case 0xfb:		/* SET 7,E */
      E |= 0x80;
      break;
    case 0xfc:		/* SET 7,H */
      H |= 0x80;
      break;
    case 0xfd:		/* SET 7,L */
      L |= 0x80;
      break;
    case 0xfe:		/* SET 7,(HL) */
      {
	libspectrum_byte bytetemp = readbyte( HL );
	contend_read_no_mreq( HL, 1 );
	writebyte( HL, bytetemp | 0x80 );
      }
      break;
    case 0xff:		/* SET 7,A */
      A |= 0x80;
      break;
