Assembly-språk og x86-programmering på lavt systemnivå · leksjon

Bitvise instruksjoner og skiftinstruksjoner

Få kontroll på bitmanipulering i x86: AND, OR, XOR, NOT samt skift- og rotasjonsinstruksjonene som brukes til maskering, endring av flagg og rask multiplikasjon.

Leksjon 4 av 413 trinn

Bitvise instruksjoner og skiftinstruksjoner er en gratis leksjon i Assembly-språk og x86-programmering på lavt systemnivå på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Assembly-språk og x86-programmering på lavt systemnivå, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Assembly-språk og x86-programmering på lavt systemnivå inneholder totalt 4 leksjoner.

Hvorfor bitoperasjoner?

Lavnivåkode manipulerer hele tiden individuelle biter: setter flagg, pakker felt, bruker masker og utfører rask matematikk. x86 har egne bitvise instruksjoner og skiftinstruksjoner.

AND for maskering

AND beholder bare bitene som er satt i begge operandene. Dette er standardmåten å maskere bort uønskede biter på.

and eax, 0x0F   ; keep low nibble

OR for å sette biter

OR tvinger bestemte biter til 1, mens de andre forblir uendret.

or eax, 0x80    ; set bit 7

XOR for å veksle biter

XOR snur bitene der masken er 1. Et kjent idiom nullstiller et register raskt:

xor eax, eax    ; eax = 0

NOT for invertering

NOT snur hver bit (ones-komplement).

not eax

Logisk venstreskift (SHL)

SHL skifter biter mot venstre og fyller på med nuller. Hvert venstreskift multipliserer en unsigned-verdi med to.

shl eax, 1      ; eax = eax * 2

Logisk høyreskift (SHR)

SHR skifter mot høyre og fyller på med nuller, slik at en unsigned-verdi divideres med potenser av to.

shr eax, 2      ; unsigned eax / 4

Aritmetisk skift (SAR)

SAR skifter mot høyre, men bevarer fortegnsbiten, slik at signed-verdier divideres riktig.

sar eax, 1      ; signed eax / 2

Rotasjonsinstruksjoner

ROL og ROR roterer bitene rundt: Biten som faller ut på den ene siden, kommer inn igjen på den andre. Dette brukes i hashing og kryptografi.

rol eax, 4

Bit-testinstruksjoner

BT kopierer en valgt bit til CF, slik at De kan teste den, mens BTS/BTR tester og setter eller nullstiller den.

bt eax, 3       ; CF = bit 3 of eax

Vanlige idiomer

Nyttige mønstre:

  • xor reg, reg for å nullstille
  • shl/shr for matematikk med potenser av to
  • and reg, mask for å hente ut felt

Kort sjekk

Test forståelsen Deres av bitoperasjoner.

Oppsummering

De lærte om bitvise instruksjoner og skiftinstruksjoner:

  • AND maskerer, OR setter, XOR veksler, NOT inverterer
  • SHL/SHR for unsigned-matematikk med potenser av to
  • SAR bevarer fortegnet ved signed-divisjon
  • ROL/ROR roterer, mens BT tester en bit inn i CF
Gratis å komme i gang

Lær deg Assembly med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Bitvise instruksjoner og skiftinstruksjoner» gratis?

Ja – hele teksten i «Bitvise instruksjoner og skiftinstruksjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Assembly-språk og x86-programmering på lavt systemnivå-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Assembly-språk og x86-programmering på lavt systemnivå inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bitvise instruksjoner og skiftinstruksjoner»?

Få kontroll på bitmanipulering i x86: AND, OR, XOR, NOT samt skift- og rotasjonsinstruksjonene som brukes til maskering, endring av flagg og rask multiplikasjon. Du øver på Assembly-språk og x86-programmering på lavt systemnivå med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Assembly-språk og x86-programmering på lavt systemnivå?

Ingen tidligere erfaring er nødvendig. Assembly-språk og x86-programmering på lavt systemnivå på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Bitvise instruksjoner og skiftinstruksjoner»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Assembly-språk og x86-programmering på lavt systemnivå-leksjonen?

Ja. Alle Assembly-språk og x86-programmering på lavt systemnivå-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Instruksjoner for dataflytting (MOV, PUSH, POP)
  2. Aritmetiske og logiske operasjoner
  3. Betingede hopp og løkker
  4. Bitvise instruksjoner og skiftinstruksjoner
← Tilbake til Assembly-språk og x86-programmering på lavt systemnivå