RES
RES
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%)]
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
RES
RES
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.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Dan ga je het bit toggelen (XOR). Voor de voorbeelden die RES geeft volstaat een simpele OR-bewerking.
RES
RES
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.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
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...