Co to jest język asemblera
Języki asemblera to języki niskiego poziomu, które są specyficzne dla konkretnej architektury komputera. Dla porównania, wiele języków programowania wysokiego poziomu może być używanych na wielu architekturach, ale wymagają interpretacji lub kompilacji, zanim dotrą do procesora.
ŁAMANIE W DÓŁ Asembler
Języki asemblera zostały w dużej mierze zastąpione przez języki programowania wysokiego poziomu. Inżynierowie oprogramowania wolą napisać jedną aplikację, która działa na wszystkich komputerach - niezależnie od tego, czy mają procesory Intel czy AMD - w językach wysokiego poziomu. Dla porównania będą musieli pisać osobne aplikacje dla każdego typu architektury komputera przy użyciu języków asemblera. Aplikacje te byłyby niezwykle trudne w utrzymaniu, ponieważ każda aktualizacja wymagałaby aktualizacji kilku różnych aplikacji.
Najbardziej podstawowymi instrukcjami wykonywanymi przez komputer są kody binarne, składające się z zer i jedynek, ponieważ można je bezpośrednio przełożyć na stany włączenia i wyłączenia dla energii elektrycznej przepływającej przez procesor. Oczywiście, tłumacze informacji na jedynki i zera jest niepraktyczne dla inżynierów oprogramowania, więc opracowano języki asemblera, aby uprościć ten proces. Te języki asemblerowe wciąż wymagały dużo pracy przy tłumaczeniu kodu na różne architektury, więc pojawiły się języki programowania wyższego poziomu.
To powiedziawszy, języki asemblera są nadal popularne na niektórych rynkach, które wymagają dużej szybkości i wydajności. Symulatory lotów mogą wykorzystywać wysoce wyspecjalizowane architektury, w których języki wyższego poziomu nie działają, co oznacza, że języki asemblera mogą być koniecznością. Operacje handlu z wysoką częstotliwością mogą również wykorzystywać języki asemblera, ponieważ mogą przeprowadzać analizy i transakcje znacznie szybciej niż języki wysokiego poziomu, co może skutkować lepszymi przychodami z transakcji i zyskownością w porównaniu z konkurencją.
Przykład języków asemblera
Języki asemblera wysyłają wskazówki do procesora, pamięci i innych komponentów komputera. Te kierunki są nieco bardziej abstrakcyjnymi wersjami kodu binarnego, który składa się wyłącznie z zer i jedynek. Na przykład kod 10110000 01100001 nakazuje procesorowi przeniesienie 8-bitowej wartości do rejestru. Korzystając z formatu szesnastkowego, instrukcje te można skrócić do B0 61. Języki asemblowania czynią to jeszcze bardziej zrozumiałym, wprowadzając operatory, takie jak MOV AL, 61h, gdzie MOV jest skrótem od „move”.
Języki programowania wyższego poziomu często obsługują te zadania automatycznie i pozwalają inżynierom oprogramowania skoncentrować się na zadaniach znacznie wyższego poziomu, takich jak przypisywanie zmiennych i wykonywanie na nich operacji. Na przykład inżynier oprogramowania może zdefiniować zmienną w JavaScript za pomocą let myVariable = 123, a tej zmiennej zostanie automatycznie przypisane miejsce w pamięci na podstawie wielkości liczby całkowitej 123 i innych czynników. Inżynier oprogramowania nie musi martwić się o zarządzanie pamięcią i może zamiast tego skupić się na tym, co robi zmienna.
