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 SHL (PRZESUNIĘCIE BITÓW W LEWO)
Instrukcja shl dokonuje przesunięcia bitów w lewo. Bity przeznaczenia są przesuwane w lewą stronę o ilość podaną w liczniku,
bity "wypadające" z rejestru kolejno są kopiowane do flagi C rejestru statusowego, z prawej strony do przeznaczenia w miejsce
"brakujących" bitów wstawiane (wsuwane) są zera.
Dopuszczalna postać instrukcji: shl rejestr,cl; shl pamięć,wartość natychmiastowa; shl pamięć,cl; Przykłady zastosowania: shl bx,5; - przesuń w lewo zawartość rejestru bx o 5 bitów (wartość natychmiastowa 5) mov cl,12 shl edx,cl; - przesuń w lewo zawartość rejestru edx o ilość bitów podaną w rejestrze cl (w tym przypadku 12) shl word [zmienna],5; - przesuń w lewo zawartość słowa (2 bajty) wskazywanego przez etykietę zmienna o 5 bitów (wartość natychmiastowa 5) Operacja shl służy czasem jako zamiennik do instrukcji mnożenia: shl eax,1; - pomnóż zawartość eax przez 2 shl eax,2; - pomnóż zawartość eax przez 4 shl eax,3; - pomnóż zawartość eax przez 8 shl eax,4; - pomnóż zawartość eax przez 16 shl eax,5; - pomnóż zawartość eax przez 32 itd. |
|






