viladamat.net

Home / Technika / Informatyka / Programowanie / Różnica między asemblerem a tłumaczem

Różnica między asemblerem a tłumaczem

28 czerwca 2011 Wysłane przez Indika

Asembler vs Interpreter

Ogólnie rzecz biorąc, kompilator to program komputerowy, który odczytuje program napisany w jednym języku, zwanym językiem źródłowym, i tłumaczy go na inny język, zwany językiem docelowym. Tradycyjnie język źródłowy jest językiem wysokiego poziomu, takim jak C++, a język docelowy jest językiem niskiego poziomu, takim jak język asembler. Jednak istnieją kompilatory, które mogą konwertować program źródłowy napisany w języku asemblera i konwertować go na kod maszynowy lub kod obiektowy. Takimi narzędziami są asemblery. Z drugiej strony, interpretery to narzędzia, które wykonują instrukcje napisane w jakimś języku programowania. Interpreter może albo bezpośrednio wykonać kod źródłowy wysokiego poziomu, albo przetłumaczyć go na kod pośredni, a następnie zinterpretować go lub wykonać kod prekompilowany.

Kim jest asembler?

Assembler to oprogramowanie lub narzędzie, które tłumaczy język asemblera na kod maszynowy. Tak więc asembler jest rodzajem kompilatora, a kod źródłowy jest napisany w języku asemblera. Asembler jest językiem czytelnym dla człowieka, ale zazwyczaj ma związek jeden do jednego z odpowiednim kodem maszynowym. Dlatego mówi się, że asembler wykonuje translację izomorficzną (mapowanie jeden do jednego). Zaawansowane asemblery zapewniają dodatkowe funkcje, które wspierają procesy rozwoju i debugowania programów. Na przykład typ asemblerów nazywanych asemblerami makr zapewnia funkcję makr.

Kim jest tłumacz?

Interpreter to program komputerowy lub narzędzie, które wykonuje instrukcje programowania. Interpreter może albo wykonać kod źródłowy bezpośrednio, albo przekonwertować kod źródłowy na kod pośredni i wykonać go bezpośrednio lub wykonać prekompilowany kod wyprodukowany przez kompilator (niektóre systemy interpreterów zawierają kompilator do tego zadania). Języki takie jak Perl, Python, MATLAB i Ruby to przykłady języków programowania wykorzystujących kod pośredni. UCSD Pascal interpretuje prekompilowany kod. Języki takie jak Java, BASIC i Samlltalk najpierw kompilują kod źródłowy do kodu pośredniego zwanego kodem bajtowym, a następnie go interpretują.

Jaka jest różnica między asemblerem a tłumaczem?

Asembler może być uważany za specjalny typ kompilatora, który tłumaczy tylko język asemblera na kod maszynowy. Tłumacze to narzędzia, które wykonują instrukcje napisane w jakimś języku. Systemy interpretera mogą zawierać kompilator do wstępnej kompilacji kodu przed interpretacją, ale interpretera nie można nazwać specjalnym typem kompilatora. Asemblery wytwarzają kod wynikowy, który może wymagać połączenia za pomocą programów konsolidujących w celu uruchomienia na maszynie, ale większość interpreterów może samodzielnie dokończyć wykonanie programu. Asembler zazwyczaj wykonuje tłumaczenie jeden na jeden, ale nie jest to prawdą w przypadku większości tłumaczy. Ponieważ język asemblera ma odwzorowanie jeden do jednego z kodem maszynowym, asembler może być używany do tworzenia kodu, który działa bardzo wydajnie w sytuacjach, w których wydajność jest bardzo ważna (np. silniki graficzne, systemy wbudowane z ograniczonymi zasobami sprzętowymi w porównaniu z komputerem osobistym jak kuchenki mikrofalowe, pralki itp.). Z drugiej strony tłumacze ustni są wykorzystywani, gdy potrzebujesz dużej przenośności. Na przykład ten sam kod bajtowy Java można uruchomić na różnych platformach za pomocą odpowiedniego interpretera (JVM).

Powiązane posty:

Różnica między asemblerem a kompilatorem Difference Between Source Program and Object Program Różnica między programem źródłowym a programem obiektowym Różnica między debugerem a kompilatorem Różnica między JDK a JRE Różnica między kompilatorem a tłumaczem

Filed Under: Programowanie Z tagiem: asemblery , język asemblera , kod bajtowy , kompilator , język wysokiego poziomu , kod pośredni , interpreter , tłumacze , JVM , język niskiego poziomu , kod maszynowy , asembler makr , język programowania , kod źródłowy, język źródłowy, język docelowy

O autorze: Indika

Indika, BSc.Inż, MSCE Inżynieria komputerowa, PhD. Informatyka, jest adiunktem i ma zainteresowania badawcze w dziedzinie bioinformatyki, biologii obliczeniowej i biomedycznego przetwarzania języka naturalnego.

Możesz polubić

Różnica między przekupstwem a wymuszeniem

Różnica między badaniem otwartej i zamkniętej książki

Różnica między HTC Incredible S a Apple iPhone 4

Różnica między szczeliną a ciasnym złączem

Różnica między środowiskiem a ekosystemem

Najnowsze posty

  • Jaka jest różnica między PCV13 a PPSV23?
  • Różnica między przedsiębiorcą a intraprzedsiębiorcą
  • Jaka jest różnica między krwiakiem opłucnowym a odmą opłucnową?
  • Jaka jest różnica między związkami międzymetalicznymi a stopami w roztworze stałym?
  • Jaka jest różnica między rytmem złączowym a idiokomorowym?
  • Jaka jest różnica między mięsem czerwonym a białym?

Copyright © 2021 Różnica między . Wszelkie prawa zastrzeżone. Warunki użytkowania i polityka prywatności: prawne .