Ik heb een onbekende bit.

00100000

Die moet ik veranderen in een register waarin al data zit.
Bijv.

01100000

of kan zijn.

11000000

Dus niet toggelen, maar er overheen drukken.

[Bericht gewijzigd door RES op (14%)]

Een OR-bewerking dan?
Toon anders eens wat het resultaat moet zijn.

AND, OR of EXOR heb ik al getest, gaat niet. (toch lijkt het wel OR te moeten zijn..)
Uitkomst moet worden.

00100000
01100000
---------
01100000

of met andere data.

00100000
11000000
---------
11100000

Die onbekende bit moet dezelfde worden in dat ander register.

Je zou het volgende kunnen doen:
Eerst reg AND'en met 1101 1111 daarme maak je je bit 0 en alle anderen blijven hetzelfde.
Vervolgens OR je met je onbekende bit.
Als je onbekende bit 0 is blijft het 0 als het een 1 is wordt het nu een 1.

Dan ga je het bit toggelen (XOR). Voor de voorbeelden die RES geeft volstaat een simpele OR-bewerking.

Eureka. @Floppy, wat jij zegt heb ik gedaan, dit werkt.
Ik heb dat bitmasker geinverteert en dan met AND.
@pros, EXOR is toggelen, ik moest die bit geforceert hebben.

Ik denk dat RES met "onbekend" bedoelt dat hij niet weet of het bit 0 danwel 1 is. Dan doet floppy's aanpak idd. wat gewenst wordt.

Zelf dacht ik, dat met "onbekend" bedoeld werd dat het om een bit ging dat steeds 1 was, maar waarvan de plaats in de byte niet gekend was...