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 BTR (BIT TEST AND RESET - TESTOWANIE BITU I JEGO SKASOWANIE)
Instrukcja testuje stan określonego przez źródło bitu w przeznaczeniu, a następnie zeruje określony bit źródła
, przeznaczenie nie ulega zmianie.
Dopuszczalna postać instrukcji: btr rejestr,pamięć; btr pamięć,rejestr; Przyklady zastosowania: btr bx,5; - testowanie bitu 5 (liczba 5) w rejestrze 16-bitowym BX, następnie jego zerowanie btr 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 wyzerowany zostanie bit nr 10 z rejestru EDX btr 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 wyzerowany bit 0 rejestru ECX Instrukcja BTR testuje stan a następnie zeruje określony bit a dokładniej to kopiuje wybrany bit do flagi C rejestru statusowego a następnie go kasuje, na tej podstawie program może odpowiednio zareagować wykorzystując skoki warunkowe jc oraz jnc. Przykład: mov edx,12 btr eax,edx ;oryginalny stan bitu 12 z rejestru EAX jest kopiowany do flagi C a następnie bit 12 jest zerowany(0) jc skok ;skok zostanie wykonany gdy 12 bit rejestru EAX był oryginalne ustawiony (zawierał 1). |
|