do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
do koszyka![]() |
![]() ASEMBLER 80x86
Informacje ogólne
Operacje arytmetyczne: add, sub, inc, dec, mul/imul, div/idiv,Operacje logiczne: and, bt, btr, bts, not, or, rol, ror, shl, shr,Operacje sterujące: cmp, loop, skoki (rozgałęzienia), call, ret,Operacje przesyłania danych: lea, mov,Operacje na stosie: push, pop, pusha, popa,Pojęcia: EtykietyProcedury (podprogramy) Rejestry procesora Stos Zmienne - deklaracja zmiennych (db,dw,dd,rb) ostatnia aktualizacja: 15.04.2005 SHR (PRZESUNIĘCIE BITÓW W PRAWO)
Instrukcja shr dokonuje przesunięcia bitów w prawo. Bity przeznaczenia są przesuwane w prawą stronę o ilość podaną w liczniku,
bity "wypadające" z rejestru kolejno są kopiowane do flagi C rejestru statusowego, z lewej strony do przeznaczenia w miejsce
"brakujących" bitów wstawiane (wsuwane) są zera.
Dopuszczalna postać instrukcji: shr rejestr,cl; shr pamięć,wartość natychmiastowa; shr pamięć,cl; Przykłady zastosowania: shr bx,5; - przesuń w prawo zawartość rejestru bx o 5 bitów (wartość natychmiastowa 5) mov cl,12 shr edx,cl; - przesuń w prawo zawartość rejestru edx o ilość bitów podaną w rejestrze cl (w tym przypadku 12) shr word [zmienna],5; - przesuń w prawo zawartość słowa (2 bajty) wskazywanego przez etykietę zmienna o 5 bitów (wartość natychmiastowa 5) Operacja shr służy czasem jako zamiennik do instrukcji dzielenia: shr eax,1; - podziel zawartość eax przez 2 shr eax,2; - podziel zawartość eax przez 4 shr eax,3; - podziel zawartość eax przez 8 shr eax,4; - podziel zawartość eax przez 16 shr eax,5; - podziel zawartość eax przez 32 itd. Oczywiście reszta z dzielenia jest tracona. |
|






