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.
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 nibbleOR for å sette biter
OR tvinger bestemte biter til 1, mens de andre forblir uendret.
or eax, 0x80 ; set bit 7XOR for å veksle biter
XOR snur bitene der masken er 1. Et kjent idiom nullstiller et register raskt:
xor eax, eax ; eax = 0NOT for invertering
NOT snur hver bit (ones-komplement).
not eaxLogisk 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 * 2Logisk 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 / 4Aritmetisk skift (SAR)
SAR skifter mot høyre, men bevarer fortegnsbiten, slik at signed-verdier divideres riktig.
sar eax, 1 ; signed eax / 2Rotasjonsinstruksjoner
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, 4Bit-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 eaxVanlige idiomer
Nyttige mønstre:
xor reg, regfor å nullstilleshl/shrfor matematikk med potenser av toand reg, maskfor å 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
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
- Instruksjoner for dataflytting (MOV, PUSH, POP)
- Aritmetiske og logiske operasjoner
- Betingede hopp og løkker
- Bitvise instruksjoner og skiftinstruksjoner