La funcion XOR es igual que OR pero da 0 si ambas entradas son iguales, por eso es OR exclusivo, porque funciona como OR pero solo una entrada puede estar en 1 para dar 1.
Lo interesante de esta pequeña diferencia, es que si miramos la tabla, da 1 si las dos entradas son distintas (solo hay un 1 en cualquiera de las entradas, y la otra es 0), y da 0 si las dos entradas son iguales, ya que si las dos eran 0 ya daba 0 (por ser OR), y ahora por ser exclusivo, si ambas son 1 tambien da 0.
Por esta razon XOR sirve para dos aplicaciones muy utiles, la primera es la comparacion exacta de dos valores, si cada uno de los bits correspondientes de cada parametro son iguales, el resultado sera 0, si alguno de los bits son distintos, por ejemplo el bit 0 de un parametro es 0 y el bit 0 del otro es 1, va a dar 1 como una OR normal, y esto da un resultado general distinto de 0. En resumen, que si se hace XOR entre dos bytes, solo da 0 si son iguales, si da distinto de 0 es que los dos bytes tienen algun bit diferente.
La otra aplicacion que es mas util, es que invierte solo los bits que estan a 1 en uno de los parametros, por eso para invertir todo un byte hay que hacer XOR con $FF, si hacemos XOR con $00 no se altera nada. La funcion XOR es muy utilizada para simular sprites en maquinas como los Spectrum, donde se usan graficos monocromaticos, ya que invierte solo los bits a los que se haga XOR con 1, lo que se suele hacer es dibujar un "sprite" sobre el bitmap de pantalla aplicando XOR entre el sprite y la pantalla. El resultado de esto es que el sprite aparece pintado en negro si el fondo era blanco, y en blanco si el fondo era negro. Justo antes de volver a redibujarlo en otras coordenadas, se vuelve a aplicar XOR en la pantalla en el mismo lugar, y la pantalla vuelve a quedar como antes, invirtiendo los puntos correspondientes del sprite (los puntos del sprite que vendrian a ser "transparentes" estarian a 0, y no afectarian para nada al bitmap al aplicarle XOR). Tambien puede verse este efecto en sistemas como el Workbench de Amiga y otros sistemas graficos de los 80s, cuando se muestra el recuadro que simboliza el borde de una ventana, al mover la ventana a otra posicion, solo que en Amiga se hace XOR con los colores, pero se puede apreciar que el color cambia segun lo que haya en el fondo.