Hallo Jungs,
wenn ich einen Datenbereich ca. 3MB festgelegt habe.
Und möchte nun Bits an verschiedenen Stellen von 0 auf 1 ändern.
Ansonsten darf sich an den Datenbereich nix ändern.
Als nächstes möchte ich den Datenbereich auslesen und zählen wieviel Bits auf 1 gestzt sind.
Kann man sowas einfach umsetzen?
Datenbereich Bitweise ändern?
Datenbereich Bitweise ändern?
Ich progge PureBasic weil Jägermeister nen dicken Kopf macht.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Ich schätze mal, er meint Speicherbereich.
Mein Vorschlag wäre, das ganze über ASM an zu gehen.
Zum Ändern einzelner Bits einfach die Bitadresse/8 an Bytes anspringen, dann das einzelne Bit ändern über:
Zum Durchzählen kannst du über einen AND-Vergleich arbeiten 
Mein Vorschlag wäre, das ganze über ASM an zu gehen.
Zum Ändern einzelner Bits einfach die Bitadresse/8 an Bytes anspringen, dann das einzelne Bit ändern über:
Code: Alles auswählen
bit=Bits%8
Mov Eax,ByteAdresse
mov EBx,0
Mov bl, 1
dec bit
SAL bl,bit
Xor byte[eax],bl ;Status umkehren
AND byte[eax],bl;Setzen
NOT byte[eax],bl;Nicht setzen

Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden 

Bits zu ändern geht auch einfacher über And und Or ohne Assembler.Franky hat geschrieben: Zum Ändern einzelner Bits einfach die Bitadresse/8 an Bytes anspringen, dann das einzelne Bit ändern über:Code: Alles auswählen
bit=Bits%8 Mov Eax,ByteAdresse mov EBx,0 Mov bl, 1 dec bit SAL bl,bit Xor byte[eax],bl ;Status umkehren AND byte[eax],bl;Setzen NOT byte[eax],bl;Nicht setzen
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
