Bitvise instruktioner og skiftinstruktioner
Lær at manipulere bits i x86 med AND, OR, XOR, NOT samt skift- og rotationsinstruktioner, der bruges til maskering, skift af flag og hurtig multiplikation.
Bitvise instruktioner og skiftinstruktioner er en gratis Assembly-sprog og x86-systemprogrammering på lavt niveau-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Assembly-sprog og x86-systemprogrammering på lavt niveau, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Assembly-sprog og x86-systemprogrammering på lavt niveau-kurset indeholder 4 lektioner i alt.
Hvorfor bitoperationer?
Kode på lavt niveau manipulerer hele tiden individuelle bits: den sætter flag, pakker felter, anvender masker og udfører hurtig matematik. x86 har dedikerede bitvise instruktioner og skiftinstruktioner.
AND til maskering
AND bevarer kun de bits, der er sat i begge operander, og er den normale måde at maskere uønskede bits væk på.
and eax, 0x0F ; keep low nibbleOR til at sætte bits
OR tvinger bestemte bits til 1, mens de øvrige forbliver uændrede.
or eax, 0x80 ; set bit 7XOR til at skifte bits
XOR vender de bits, hvor masken er 1. Et velkendt idiom nulstiller hurtigt et register:
xor eax, eax ; eax = 0NOT til invertering
NOT vender alle bits (enskomplement).
not eaxLogisk venstreskift (SHL)
SHL skifter bits mod venstre og udfylder med nuller. Hvert venstreskift ganger en værdi uden fortegn med to.
shl eax, 1 ; eax = eax * 2Logisk højreskift (SHR)
SHR skifter mod højre og udfylder med nuller, så en værdi uden fortegn divideres med potenser af to.
shr eax, 2 ; unsigned eax / 4Aritmetisk skift (SAR)
SAR skifter mod højre, men bevarer fortegnsbitten, så værdier med fortegn divideres korrekt.
sar eax, 1 ; signed eax / 2Rotationsinstruktioner
ROL og ROR roterer bits rundt: den bit, der falder ud, indsættes igen i den anden side. Det bruges i hashing og kryptografi.
rol eax, 4Instruktioner til bitkontrol
BT kopierer en valgt bit til CF, så du kan teste den, mens BTS/BTR tester og sætter eller nulstiller den.
bt eax, 3 ; CF = bit 3 of eaxAlmindelige idiomer
Nyttige mønstre:
xor reg, regtil nulstillingshl/shrtil matematik med potenser af toand reg, masktil at udtrække felter
Hurtig kontrol
Test din forståelse af bitoperationer.
Opsummering
Du lærte bitvise instruktioner og skiftinstruktioner:
- AND maskerer, OR sætter, XOR skifter, NOT inverterer
- SHL/SHR til matematik med potenser af to uden fortegn
- SAR bevarer fortegnet ved division med fortegn
- ROL/ROR roterer, og BT tester en bit ind i CF
Lær Assembly med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Bitvise instruktioner og skiftinstruktioner” gratis?
Ja — hele teksten til “Bitvise instruktioner og skiftinstruktioner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Assembly-sprog og x86-systemprogrammering på lavt niveau-kurset, skal du opgradere til CoddyKit PRO. Assembly-sprog og x86-systemprogrammering på lavt niveau-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Bitvise instruktioner og skiftinstruktioner”?
Lær at manipulere bits i x86 med AND, OR, XOR, NOT samt skift- og rotationsinstruktioner, der bruges til maskering, skift af flag og hurtig multiplikation. Du øver dig i Assembly-sprog og x86-systemprogrammering på lavt niveau med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Assembly-sprog og x86-systemprogrammering på lavt niveau?
Der kræves ingen tidligere erfaring. Assembly-sprog og x86-systemprogrammering på lavt niveau på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Bitvise instruktioner og skiftinstruktioner”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Assembly-sprog og x86-systemprogrammering på lavt niveau-lektion?
Ja. Alle Assembly-sprog og x86-systemprogrammering på lavt niveau-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Instruktioner til dataflytning (MOV, PUSH, POP)
- Aritmetiske og logiske operationer
- Betingede spring og løkker
- Bitvise instruktioner og skiftinstruktioner