Różnica między językiem maszynowym a językiem asemblera

Kluczowa różnica - maszyna Język a język asemblera
 

Języki programowania pozwalają ludziom tworzyć instrukcje dla komputera do wykonywania zadań. Istnieją trzy kategorie języków programowania, takie jak języki programowania wysokiego poziomu, język asemblera i język maszynowy. Języki programowania wysokiego poziomu są łatwiejsze do zrozumienia dla ludzi. Język rozpoznawany przez komputer jest znany jako język maszynowy. Język asemblera to język między językami wysokiego poziomu a językiem maszynowym. The kluczowa różnica między językiem maszynowym a językiem asemblera jest to, język maszynowy jest wykonywany bezpośrednio przez komputer, a język asemblera wymaga konwersji do kodu maszynowego lub kodu obiektowego do wykonania przez CPU.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to jest język maszynowy
3. Co to jest język asemblera
4. Podobieństwa między językiem maszynowym a językiem asemblera
5. Porównanie obok siebie - język maszynowy a język asemblera w formie tabelarycznej
6. Podsumowanie

Co to jest język maszynowy?

Ludzie mogą zrozumieć języki programowania wysokiego poziomu. Nie jest konieczne głębokie zrozumienie wewnętrznego procesora, aby programować w językach wysokiego poziomu. Stosują składnię podobną do języka angielskiego. Java, C, C ++, Python to niektóre języki programowania wysokiego poziomu. Komputer rozpoznaje język maszynowy, ale nie rozumie języków wysokiego poziomu. Dlatego programy te należy przekonwertować na język maszynowy zrozumiały dla komputera. To tłumaczenie odbywa się za pomocą kompilatora lub interpretera.

Rysunek 01: Język maszynowy zer i jedynek.

Język maszynowy składa się z cyfr binarnych, które są zerami i jeden raz. Komputer jest cyfrowym urządzeniem elektronicznym, więc używa operacji binarnych. Jeden wskazuje stan prawdziwy / stan włączenia, a zero wskazuje stan fałszywy / stan wyłączenia. Sposób konwersji programu z języka wysokiego poziomu na język maszynowy zależy od procesora.

Co to jest język asemblera?

Język asemblera to język pośredni między językami programowania wysokiego poziomu a językiem maszynowym. Jest to jeden poziom powyżej języka maszynowego. Język asemblera jest łatwiejszy do zrozumienia niż język maszynowy, ale trudniejszy niż języki programowania wysokiego poziomu. Ten język jest również znany jako język niskiego poziomu, ponieważ jest zbliżony do poziomu sprzętowego. Aby pisać efektywne programy przy użyciu asemblera, programista powinien dobrze rozumieć architekturę komputera i strukturę rejestru. Specjalny kompilator znany jako asembler służy do konwersji instrukcji języka asemblera na kod maszynowy lub obiektowy.

Instrukcje języka asemblera mają cztery sekcje. Są etykietą, mnemonikiem, operandem, komentarzem. Etykieta i komentarze są opcjonalne. Mnemonic to instrukcja do wykonania, a operandy są parametrami dla polecenia. Język asemblera obsługuje również makra. Makro można zdefiniować jako zestaw instrukcji o nazwie. Można go użyć w innym miejscu programu.

Niektóre przykłady instrukcji języka asemblera są następujące.

MOV SUM, 50 - Ta instrukcja kopiuje wartość 50 do zmiennej SUM.

DODAJ WARTOŚĆ 1,20 - Dodanie 20 do zmiennej WARTOŚĆ1

DODAJ AH, BH - Ta instrukcja służy do skopiowania zawartości rejestru AH do rejestru BH.

INC COUNT - ma to na celu zwiększenie zmiennej COUNT o jeden.

ORAZ WARTOŚĆ 1100 - służy do wykonania operacji ORAZ na zmiennej WARTOŚĆ 1 i 100.

MOV AL, 20 - Skopiowanie wartości 20 do rejestru AL

Rysunek 02: Program napisany przy użyciu języka asemblera

Zestaw instrukcji asemblera to program asemblera. Można zauważyć, że język asemblera jest łatwiejszy niż język maszynowy. Ma składnię podobną do języka angielskiego. Język asemblera zawiera około trzydziestu instrukcji. Wymagana pamięć i czas wykonania jest minimalny w porównaniu do języków wysokiego poziomu.

W systemach czasu rzeczywistego mogą wystąpić zdarzenia wymagające natychmiastowego działania procesora. Te zdarzenia są specjalnymi podprogramami zwanymi rutynową usługą przerywającą (ISR). Język asemblera jest przydatny do programowania ISR.

Jakie jest podobieństwo między językiem maszynowym a językiem asemblera?

  • Zarówno język maszynowy, jak i język asemblera są powiązane z poziomem sprzętu.

Jaka jest różnica między językiem maszynowym a językiem asemblera?

Język maszynowy a język asemblera

Język maszynowy to język programowania najniższego poziomu, w którym instrukcje są wykonywane bezpośrednio przez CPU. Język asemblera jest językiem programowania niskiego poziomu, który wymaga asemblera do konwersji na kod maszynowy / kod obiektowy.
Zrozumiałość
Język maszynowy jest zrozumiały tylko dla komputerów. Język asemblera jest zrozumiały dla ludzi.
Składnia
Język maszynowy składa się z cyfr binarnych. Język asemblera ma składnię podobną do języka angielskiego.
Zależność
Język maszyny różni się w zależności od platformy. Język asemblera składa się ze standardowego zestawu instrukcji.
Aplikacje
Językiem maszynowym jest kod maszynowy. Język asemblera jest używany w systemach opartych na mikroprocesorach w czasie rzeczywistym.

Podsumowanie - maszyna Język a język asemblera 

Różnica między językiem maszynowym a językiem asemblera polega na tym, że język maszynowy jest wykonywany bezpośrednio przez komputer, a język asemblera jest językiem programowania niskiego poziomu, który wymaga asemblera do konwersji na kod obiektowy lub kod maszynowy. Język asemblera jest o krok przed językiem maszynowym. Język asemblera jest idealnym językiem do programowania systemów opartych na mikrokontrolerach. Ten język zapewnia również dobre zrozumienie działania procesora i wewnętrznych elementów komputera.

Pobierz wersję PDF języka maszynowego a języka asemblera

Możesz pobrać wersję PDF tego artykułu i używać go do celów offline zgodnie z cytatem. Pobierz wersję PDF tutaj Różnica między językiem maszynowym a językiem asemblera

Zdjęcie dzięki uprzejmości:

1.'Machine language 'Autor Turkei89 - Praca własna (CC BY-SA 3.0) przez Commons Wikimedia  
2. „Zstr count x86 assembly” Autor: OldCodger2, (domena publiczna) przez Commons Wikimedia