Assembler och lågnivåprogrammering för x86-system · Lektion

Bitvisa instruktioner och skiftinstruktioner

Lär er behärska bitmanipulering i x86 med AND, OR, XOR, NOT samt skift- och rotationsinstruktioner som används för maskning, växling av flaggor och snabb multiplikation.

Lektion 4 av 413 steg

Bitvisa instruktioner och skiftinstruktioner är en gratis lektion i Assembler och lågnivåprogrammering för x86-system på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Assembler och lågnivåprogrammering för x86-system, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Assembler och lågnivåprogrammering för x86-system innehåller totalt 4 lektioner.

Varför bitoperationer?

Lågnivåkod manipulerar ständigt enskilda bitar: sätter flaggor, packar fält, maskerar och utför snabb matematik. x86 tillhandahåller särskilda bitvisa instruktioner och skiftinstruktioner.

AND för maskering

AND behåller endast de bitar som är satta i båda operanderna och är standardmetoden för att maskera bort oönskade bitar.

and eax, 0x0F   ; keep low nibble

OR för att sätta bitar

OR tvingar specifika bitar till 1 och lämnar övriga oförändrade.

or eax, 0x80    ; set bit 7

XOR för växling

XOR vänder på bitar där masken är 1. Ett välkänt idiom nollställer snabbt ett register:

xor eax, eax    ; eax = 0

NOT för invertering

NOT vänder på varje bit (ettkomplement).

not eax

Logiskt vänsterskift (SHL)

SHL skiftar bitar åt vänster och fyller på med nollor. Varje vänsterskift multiplicerar ett värde utan tecken med två.

shl eax, 1      ; eax = eax * 2

Logiskt högerskift (SHR)

SHR skiftar åt höger och fyller på med nollor, vilket dividerar ett värde utan tecken med tvåpotenser.

shr eax, 2      ; unsigned eax / 4

Aritmetiskt skift (SAR)

SAR skiftar åt höger men bevarar teckenbiten, så att värden med tecken divideras korrekt.

sar eax, 1      ; signed eax / 2

Rotationsinstruktioner

ROL och ROR roterar bitar genom att föra tillbaka den bit som faller bort på andra sidan. De används vid hashing och kryptografi.

rol eax, 4

Bittestinstruktioner

BT kopierar en vald bit till CF så att du kan testa den, medan BTS/BTR testar och sätter eller återställer den.

bt eax, 3       ; CF = bit 3 of eax

Vanliga idiom

Användbara mönster:

  • xor reg, reg för att nollställa
  • shl/shr för matematik med tvåpotenser
  • and reg, mask för att extrahera fält

Snabbtest

Testa din förståelse av bitoperationer.

Sammanfattning

Du har lärt dig bitvisa instruktioner och skiftinstruktioner:

  • AND maskerar, OR sätter, XOR växlar och NOT inverterar
  • SHL/SHR används för matematik med tvåpotenser utan tecken
  • SAR bevarar tecknet vid division med tecken
  • ROL/ROR roterar; BT testar en bit till CF
Gratis att börja

Lär dig Assembly med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Bitvisa instruktioner och skiftinstruktioner” gratis?

Ja – hela texten till ”Bitvisa instruktioner och skiftinstruktioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Assembler och lågnivåprogrammering för x86-system, kan Ni uppgradera till CoddyKit PRO. Kursen i Assembler och lågnivåprogrammering för x86-system innehåller totalt 4 lektioner.

Vad lär jag mig i ”Bitvisa instruktioner och skiftinstruktioner”?

Lär er behärska bitmanipulering i x86 med AND, OR, XOR, NOT samt skift- och rotationsinstruktioner som används för maskning, växling av flaggor och snabb multiplikation. Ni övar på Assembler och lågnivåprogrammering för x86-system med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Assembler och lågnivåprogrammering för x86-system?

Du behöver inga förkunskaper. Utbildningen i Assembler och lågnivåprogrammering för x86-system på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Bitvisa instruktioner och skiftinstruktioner”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Assembler och lågnivåprogrammering för x86-system-lektionen?

Ja. Varje Assembler och lågnivåprogrammering för x86-system-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Instruktioner för dataflytt (MOV, PUSH, POP)
  2. Aritmetiska och logiska operationer
  3. Villkorliga hopp och loopar
  4. Bitvisa instruktioner och skiftinstruktioner
← Tillbaka till Assembler och lågnivåprogrammering för x86-system