do koszyka |
do koszyka |
do koszyka |
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 BTS (BIT TEST AND SET - PRZETESTOWANIE BITU I JEGO USTAWIENIE)
Instrukcja testuje stan określonego przez źródło bitu w przeznaczeniu, a następnie ustawia określony bit źródła
, przeznaczenie nie ulega zmianie.
Dopuszczalna postać instrukcji: bts rejestr,pamięć; bts pamięć,rejestr; Przyklady zastosowania: bts bx,5; - testowanie bitu 5 (liczba 5) w rejestrze 16-bitowym BX, następnie jego ustawienie bts edx,ebx; - testowanie bitu w EDX określonego zawartością rejestru EBX, jeśli np w EBX znajduje się liczba 10 przetestowany a następnie ustawiony zostanie bit nr 10 z rejestru EDX bts ecx,[esi]; - przetestowanie bitu z rejestru ECX określonego w pamięci pod adresem wskazywanym przez rejestr ESI, np jeśli pod adresem wskazanym przez ESI znajduje się liczba $00000000 to zostanie przetestowany a następnie ustawiony bit 0 rejestru ECX Instrukcja BTS testuje stan a następnie ustawia określony bit a dokładniej to kopiuje wybrany bit do flagi C rejestru statusowego a następnie go ustawia, na tej podstawie program może odpowiednio zareagować wykorzystując skoki warunkowe jc oraz jnc. Przykład: mov edx,12 bt eax,edx ;oryginalny stan bitu 12 z rejestru EAX jest kopiowany do flagi C a następnie bit 12 jest ustawiany(1) jc skok ;skok zostanie wykonany gdy 12 bit rejestru EAX był oryginalnie ustawiony (zawierał 1). |
|