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 REJESTRY ![]() Rejestry danych Jak sama nazwa sugeruje służą one do przechowywania danych chwilowych. Mamy dostęp bezpośredni do 4 tego typu rejestrów: EAX - akumulator. Spełnia on także ważną rolę w operacjach arytmetycznych DIV i MUL. EBX - rejestr bazowy. Służy dodatkowo do pośredniego adresowania pamięci. ECX - licznik. Najczęściej wykorzystywany jako licznik do budowy np. pętli EDX - rejestr danych. Dodatkowe funkcje przy operacjach arytmetycznych DIV i MUL Każdy z ww rejestrów oprócz wymienionych specjalizowanych zastosowań jest także rejestrem ogólnego przeznaczenia tzn. możemy go wykorzystać do praktycznie dowolnych operacji. Dostęp do rejestrów danych został zorganizowany w następujący sposób: ![]() Na przykładzie pokazano rejestr EAX lecz identyczny podział zastosowany jest także przy dostępie do rejestrów EBX, ECX oraz EDX. Rejestry AH i AL są rejestrami 8 bitowymi. Rejestr AX jest rejestrem 16 bitowym. Tak więc ogólnie mamy dostęp do: 8 rejestrów 8 bitowych - AL,AH,BL,BH,CL,CH,DL,DH 4 rejestrów 16 bitowych - AX,BX,CX,DX 4 rejestrów 32 bitowych - EAX,EBX,ECX,EDX Oczywiście jak widać na rysunku rejestry podrzędne (?H,?L,?X) są częścią rejestru E?X, więc poprzez każdą zmianę rejestrów podrzędnych zmianie ulega także zawartość rejestru nadrzędnego. ![]() Rejestry adresowe Służą do przechowywania adresów. Mamy dostęp do następujących rejestrów: ESI - źródło. EDI - przeznaczenie. ESP - wskaźnik wierzchołka stosu. EBP - wskaźnik bazowy Dostęp do rejestrów adresowych został zorganizowany w trybie 16 bitowym SI, DI, SP, BP oraz 32 bitowym ESI, EDI, ESP, EBP ![]() Rejestry ESI i EDI zazwyczaj można stosować zamiennie za wyjątkiem operacji kopiowania blokowego wtedy ich rola jest z góry ściśle określona. Rejestr ESP zawiera aktualny adres wierzchołka stosu. Rejestr EBP zawiera aktualny adres dna stosu. W szczególnych przypadkach można potraktować rejestry adresowe jako rejestry danych. |
|