Asembler rejestruje: typy, terminy i funkcje zespołu

Komórki procesora, zwane także rejestrami asemblera, za pomocą kontrolera języka niskiego poziomu reprezentują rodzaj bloku wolnych elementów w pamięci. Ich szczególną cechą jest szybki dostęp do pamięci. Często rejestry są używane podczas wykonywania poleceń procesora i nie są dostępne dla programisty. Na przykład, podczas próbkowania dostępnej ultraszybkiej pamięci następnego numeru polecenia, jego kod w systemie binarnym jest umieszczany w rejestrze. Bezpośredni dostęp do rejestru nie jest możliwy. Ponadto istnieje wiele dostępnych bloków pamięci, ale dostęp do nich jest możliwy tylko z powłoki systemu operacyjnego. Należą do nich rejestry segmentów kontrolnych, a także deskryptory systemu cienia. W swoich rejestrach danych służbowych są wyłącznie twórcy systemów operacyjnych.


Rodzaje rejestrów

Różne rejestry asemblera są wykorzystywane do różnych potrzeb programowania. Użyj ich w zależności od celów. Na przykład licznik służy do rozmieszczenia pętli prostych i zagnieżdżonych. Poniżej znajdują się główne typy rejestrów zespołów:
  • Rejestry ogólnego przeznaczenia.
  • Rejestry indeksu.
  • Rejestry indeksu.
  • Jednostki pamięci segmentów.
  • Rejestr flag.
  • W rzeczywistości wszystkie rejestry zajmują 32 bity pamięci. Oznacza to, że mogą zawierać liczby od zera do 4294967295. Niektóre rejestry są podzielone na kilka części za pomocą 16 i 8 bitów. Pozwala to kontrolować dowolną część blokupamięć lub komórka całkowicie, zapisując w niej tylko część danych.
    Rejestruje zespół nazywane w zależności od ich funkcji
  • EAX - rejestr akumulatora baterii;
  • EBX - Baza - baza;
  • ECX - Counter - odpowiada za wydatek;
  • EDX - Dane - blok danych komórki;
  • ESI - Indeks Źródłowy - rejestr źródłowy;
  • EDI - Destination Index - rejestr odbiornika;
  • ESP - Wskaźnik stosu - wskaźnik do stosu;
  • EBP - Base Pointer - wskaźnik do podstawy stosu.
  • Cechy rejestrów

    Należy pamiętać, że każdy z zaznaczonych rejestrów mogą być wykorzystywane nie tylko do wprowadzania danych. Na przykład, w przypadku bazy można dokonać dowolną liczbę dziesiętną i używać go jako licznik. Jednak jest niepożądany użyć do tego celu bloków pamięci, które odpowiadają znaki - ESP i EBP, jak to może mieć problemy z dostępem do komórki abstrakcyjny typ danych. Celem rejestruje montaż - przechowywanie wszelkich informacji, które mogą być jakakolwiek z nich.


    rejestry ogólnego przeznaczenia

    Tego typu zestaw rejestrów do przechowywania danych dotyczących operacji komputerowych. W rzeczywistości, mogą korzystać z mov polecenie udostępnienia informacji w jakiejkolwiek formie iw notacji: binarny, ósemkowy, dziesiętny lub szesnastkowy. Inna nazwa to rejestry danych asemblera. Listy rejestrów ogólnego przeznaczenia montera obejmują:
  • EAX (akumulator) rejestruje akumulacji. Składa się ona z trzech głównych bloków 8 bitów, AH, AA, AL. Jeśli to koniecznemożesz skontaktować się z dwoma młodszymi jednostkami.
  • ЕВХ (baza) - blok danych, który odpowiada za bazę. Tak samo jak wszystkie rejestry ogólnego przeznaczenia, które składają się z dwóch mniejszych rozdziałów po 8 bitów i jednego szesnastkowego. Zatem w jednym rejestrze można umieścić jednocześnie kilka wartości liczbowych.
  • ECC (licznik) - odpowiada za licznik. Używane podczas cykli. Bez niego polecenie pętli nie działa. Składa się z dwóch części, z których jedna zawiera dwa ośmiobitowe bloki CH i CL.
  • EDX - Dane są wymagane do precyzyjnego działania adresu pamięci dla funkcji wejścia i wyjścia. Ponadto w tym rejestrze można umieścić dane do przekierowania do wykorzystania w procedurach i szablonach.
  • Wskaźniki rejestru

    W przypadku pracy ze stosami w asemblerze programiści mają dwa typy rejestrów. Aby uzyskać do nich dostęp, wykonywana jest operacja dodawania do indeksu wierzchołka abstrakcyjnego typu wartości bitness pewnego typu danych, które zostały umieszczone na stosie. Wszystkie obliczenia są wykonywane ręcznie. Oszczędza to dużą ilość danych i jest przesyłane do podprogramu - procedur i tablic. Spośród rejestrów wskaźników w asemblerze rozróżnij:
  • Rejestr ESP jest wskaźnikiem do wierzchołka stosu. Zawsze zawiera adres pierwszego elementu, który został umieszczony w stosie w pamięci podręcznej procesora. W razie potrzeby może być wypełniony innymi danymi. Obejmuje rejestr SP, składający się z 16 bitów.
  • Rejestr podstawowego rejestru jest blokiem komórek pamięci potrzebnych do adresowania danych,które są zawarte w stosie. Znacznie ułatwia dostęp do wszystkich danych i zmiennych. Obejmuje junior stopnia BP.
  • Rejestry indeksu

    Bloki indeksów pamięci są wymagane do rozszerzonego indeksowania. Ponadto uczestniczą w pracy niektórych operacji arytmetycznych i przetwarzania ciągów bajtów - sekwencji bajtów zawierających dowolne wartości. Asembler zawiera dwa rejestry odpowiedzialne za indeksowanie ESI i EDI. Opiszmy je:
  • ESI (Source index) zawiera indeks źródłowy (miejsce, w którym gromadzone są dane) i jest wymagany dla części działań nad wierszami bajtów;
  • EDI (wskaźnik przeznaczenia) jest wymagany do zapisywania wyników obliczeń. Jest również używany do części akcji strajkowej. Częściowo związane z rejestrem segmentów ES.
  • Rejestry segmentów

    to pierwsze bloki pamięci. Są nazywane segmentami bieżącymi. Oprogramowanie może dystrybuować więcej niż cztery jednostki pamięci. Jednak jednocześnie pamiętaj o podaniu adresów bloków w komórce pamięci między rejestrami segmentowymi. Ten rodzaj bloków pamięci jest ściśle określony, co uniemożliwia wypełnienie ich osobnym typem danych. Kolejność bloków rejestrów pamięci może być różna. Przechowywanie rejestrów segmentów odbywa się w losowej kolejności w losowych miejscach pamięci.
  • Kod rejestru CS w zwykłej formie zawiera adres początku segmentu kodu oprogramowania (początek reprezentacji kodu maszynowego). W ten sposób polecenia są wykonywane kosztem wskaźnika poleceń IP.
  • Rejestr danych zawiera adres danych przetwarzanych przez programczas uruchomienia Transfer danych odbywa się kosztem przemieszczenia zapisanego w rejestrze EIP.
  • ​​
  • Segment stosów (ESS) jest wymagany do utrzymania początku segmentu abstrakcyjnego typu danych.
  • Segment dodatkowy jest rejestrem pomocniczym zawierającym pusty obszar do zapisu danych podczas niektórych działań w wierszach bajtów. Może zawierać informacje podobne do rejestru danych.
  • Rejestr listy poleceń

    Ten typ należy do zespołu. Za pomocą tego indeksu przeprowadzany jest rejestr asemblera na liście. Obejmuje dane dotyczące wzorcowania dla następnego polecenia w stosunku do poprzedniego. Kiedy jednak rozwój oprogramowania praktycznie nie jest używany, konieczne jest przejrzenie listy wykonywania kodu. W ten sposób śledzą błędy.

    Rejestracja zespołu flag

    Odpowiada bieżącemu procesorowi CPU. Składa się z 16 bitów, z czego tylko 9 może być zajęte Wypełnianie tego bloku pamięci odbywa się po wykonaniu hasła lub kodu błędu w wyniku poprzedniego polecenia. Ponadto część bitów jest wykorzystywana przez procesor i może być inicjowana i usuwana przy użyciu określonego systemu poleceń. W ten sposób zarządza się systemem poleceń.

    Powiązane publikacje