Assembly Language & x86 Low-Level Systems Programming · Lekcja

Instrukcje bitowe i przesunięcia

Opanuj operacje na bitach w x86: AND, OR, XOR, NOT oraz instrukcje przesunięcia i rotacji używane do maskowania, przełączania flag i szybkiego mnożenia.

Lekcja 4 z 413 kroki

Instrukcje bitowe i przesunięcia to bezpłatna lekcja Assembly Language & x86 Low-Level Systems Programming na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Assembly Language & x86 Low-Level Systems Programming, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Assembly Language & x86 Low-Level Systems Programming zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Why Bit Operations?

Low-level code constantly manipulates individual bits: setting flags, packing fields, masking, and fast math. x86 provides dedicated bitwise and shift instructions.

AND for Masking

AND keeps only the bits set in both operands, the standard way to mask out unwanted bits.

and eax, 0x0F   ; keep low nibble

OR for Setting Bits

OR forces specific bits to 1 while leaving others unchanged.

or eax, 0x80    ; set bit 7

XOR for Toggling

XOR flips bits where the mask is 1. A famous idiom zeroes a register quickly:

xor eax, eax    ; eax = 0

NOT for Inversion

NOT flips every bit (ones complement).

not eax

Logical Shift Left (SHL)

SHL shifts bits left, filling with zeros. Each shift left multiplies an unsigned value by two.

shl eax, 1      ; eax = eax * 2

Logical Shift Right (SHR)

SHR shifts right with zero fill, dividing an unsigned value by powers of two.

shr eax, 2      ; unsigned eax / 4

Arithmetic Shift (SAR)

SAR shifts right but preserves the sign bit, so it divides signed values correctly.

sar eax, 1      ; signed eax / 2

Rotate Instructions

ROL and ROR rotate bits around, wrapping the bit that falls off back in on the other side, used in hashing and crypto.

rol eax, 4

Bit Test Instructions

BT copies a chosen bit into CF so you can test it, while BTS/BTR test and set/reset it.

bt eax, 3       ; CF = bit 3 of eax

Common Idioms

Handy patterns:

  • xor reg, reg to zero
  • shl/shr for power-of-two math
  • and reg, mask to extract fields

Quick Check

Test your understanding of bit operations.

Recap

You learned bitwise and shift instructions:

  • AND mask, OR set, XOR toggle, NOT invert
  • SHL/SHR for unsigned power-of-two math
  • SAR preserves sign for signed division
  • ROL/ROR rotate; BT tests a bit into CF
Bezpłatny start

Ucz się Assembly dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
12
Lekcje
48

Często zadawane pytania

Czy lekcja „Instrukcje bitowe i przesunięcia” jest bezpłatna?

Tak — pełny tekst „Instrukcje bitowe i przesunięcia” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Assembly Language & x86 Low-Level Systems Programming, przejdź na CoddyKit PRO. Kurs Assembly Language & x86 Low-Level Systems Programming zawiera 4 lekcji w sumie.

Co nauczysz się w „Instrukcje bitowe i przesunięcia”?

Opanuj operacje na bitach w x86: AND, OR, XOR, NOT oraz instrukcje przesunięcia i rotacji używane do maskowania, przełączania flag i szybkiego mnożenia. Ćwiczysz Assembly Language & x86 Low-Level Systems Programming z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Assembly Language & x86 Low-Level Systems Programming?

Nie wymagamy żadnego doświadczenia. Assembly Language & x86 Low-Level Systems Programming w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Instrukcje bitowe i przesunięcia”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Assembly Language & x86 Low-Level Systems Programming?

Tak. Każda lekcja Assembly Language & x86 Low-Level Systems Programming zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Instrukcje przenoszenia danych (MOV, PUSH, POP)
  2. Operacje arytmetyczne i logiczne
  3. Skoki warunkowe i pętle
  4. Instrukcje bitowe i przesunięcia
← Powrót do Assembly Language & x86 Low-Level Systems Programming