asembler4

asembler4



EAX (32 bity)

31

15

WWWMKBiBISIBBk-i

7 0

Starsze bity

--

Młodsze bity

Carry Flag

(znacznik przeniesienia)

Rysunek 2.5. Rysunek prezentujący, jak obracają się bity dla instrukcji RCL

ROR/RCR (rotacja w prawo bez użycia flagi CF/z użyciem flagi CF)

Składnia:

ROR operandl, operand2 RCR operandl, operand2

Pierwsza instrukcja przesuwa logicznie w prawo pierwszy operand o liczbę bitów podaną w operandzie drugim. Nie używa flagi CF, więc najstarszy bit przyjmuje wartość najmłodszego bitu. Druga instrukcja przeprowadza tę samą czynność, ale przy użyciu flagi CF. Najstarszy bit przyjmuje wartość, która była w CF, a znacznik CF przyjmuje wartość najmłodszego bitu. Sposób obracania się bitów w 32-bitowym rejestrze dla instrukcji ROR został zaprezentowany na rysunku 2.6, a dla instrukcji RCR — na rysunku 2.7.

EAX(32 bity)

31

Starsze bity

15

7 0 Młodsze bity

mc-

Carry Flag

(znacznik przeniesienia)

Rysunek 2.6. Rysunek prezentujący, jak obracają się bity dla instrukcji ROR

SHLD/SHRD (przesunięcie logiczne w lewo/w prawo podwójnego rejestru)

Składnia:

SHLD operandl, operand2, operand3 SHRD operandl, operand2, operand3

Carry Flag

(znacznik przeniesienia)

Rysunek 2.7. Rysunek prezentujący, jak obracają się bity dla instrukcji RCR

l’ierwsza instrukcja (SHLD) przesuwa w lewo bity w operandzie pierwszym o liczbę bitów podaną w operandzie trzecim. Najstarsze bity pierwszego operandu zostają wyrzucone (flaga CF przyjmuje wartość ostatniego wyrzuconego bitu), a najmłodsze bity przyjmują wartości najstarszych bitów z drugiego operandu. Uwaga! Bity drugiego operandu pozostają niezmienione. SHRD przesuwa natomiast bity pierwszego operandu o liczbę bitów podaną w operandzie trzecim. Najmłodsze bity pierwszego operandu zostają wyrzucone, a najstarsze bity przyjmują wartość najmłodszych bitów z operandu drugiego. Bity drugiego operandu pozostają niezmienione. Sposób przesuwania się bitów dla instrukcji SHLD został zaprezentowany na rysunku 2.8, a dla instrukcji SHRD — na rysunku 2.9.

1’rzykład dla instrukcji SHLD:

mov ecx, 0 ; zerujemy ECX

mov eax, OFFFFFFFFh ; do EAX wartość OFFFFFFFFh shld ecx, eax, 2 ; EAXbędzie równy OFFFFFFFCh, gdyż ; dwa jego najmłodsze bity zostały zastąpione ; przez dwa najstarsze bity rejestru ECX,

; które miały wartość zero.

1’rzykład dla instrukcji SHRD:

mov ecx, 0 ; zerujemy ECX

mov eax, OFFFFFFFFh ; do EAX wartość OFFFFFFFFh shrd ecx, eax, 2 ; EAXbędzie równy 3FFFFFFFh, gdyż ; dwa jego najstarsze bity zostały ; zastąpione dwoma najmłodszymi bitami ; z rejestru ECX, które miały wartość zero.


Wyszukiwarka

Podobne podstrony:
asembler5 EAX(32 bity) 31 Starsze bity 15 7 0 Młodsze bity ECX (32 bity) 31 9 Starsze
p1020911 (2) SCSI - 3 §€ 16 i 32 bity 840, 80, 160, 320 MB/s 87,15, 31 urządzeń Leszek Borzemski 31
p1020911 (2) SCSI - 3 §€ 16 i 32 bity 840, 80, 160, 320 MB/s 87,15, 31 urządzeń Leszek Borzemski 31
skanowanie 10 11 15 32 10POLITYKA SPOŁECZNA WOBEC LUDZI STARSZYCHI NIEPEŁNOSPRAWNYCH Dr Michał Kubi
asembler3 Przesuwa w lewo bity pierwszego operandu o podaną liczbę bitów w operandzie drugim. Stars
24 (296) ‘ 32.22 31 27. 24 36 28,36 30 23 37 13 15,21.17 16 13 22.20 •5.17 1.2 5, 4,3.12,13,14
tcp (2) numer portu źródłowego 1*3 bitów numer portu przeznaczenia 1*3 bitów numer sekwencyjny 32 bi
rom4 32 •* ^ V #wT y 31 nr ^ • * -w« • • • • • jt
•Adres IP składa się z 32 bitów. •Zamiast pracować z 32 bitami jednocześnie, przyjęto dzielić 32 bit
Adres: WYDZIAŁ ZARZĄDZANIA I EKONOMIKI USŁUG ul. Cukrowa 8, 71-004 Szczecin TEŁ. 444 31 15, fax 444
Statystyka i rachunek prawdopodobieństwa Lista 31 15 października 20121 Wprowadzenie w modele
IMG31 (15) -mt ps^tn Jt JbLaki. 1 li Ul hr Tt i—r M • Ttit^ II" +-
Dianaw50009 Modeli 14 GróBe: Ca 32 cm DurchmesserModeli 15 GróBe: Ca 23 x 33 cm Garnę: Anchor, Anhak

więcej podobnych podstron