Kluczowa różnica - język maszynowy 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 nazywany językiem maszynowym. Język asemblera to język pomiędzy językami wysokiego poziomu a językiem maszynowym. Kluczowa 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 wymaga konwersji na kod maszynowy lub kod obiektowy do wykonania przez procesor.
ZAWARTOŚĆ
1. Przegląd i kluczowe różnice
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
asemblerowym 5. Porównanie obok siebie - język maszynowy a asembler w formie tabelarycznej
6. Podsumowanie
Co to jest język maszynowy?
Ludzie rozumieją języki programowania wysokiego poziomu. Do programowania przy użyciu języków wysokiego poziomu nie jest konieczne głębokie zrozumienie wewnętrznego procesora. Mają 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 te programy powinny być przekonwertowane 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 raz. Komputer jest cyfrowym urządzeniem elektronicznym, więc do operacji używa binarnego. Jeden wskazuje prawdziwy stan / stan włączenia, podczas gdy zero wskazuje fałszywy stan / 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 jest językiem pośrednim między językami programowania wysokiego poziomu a językiem maszynowym. Jest to poziom wyżej niż język maszynowy. 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 w asemblerze, programista powinien dobrze rozumieć architekturę komputera i strukturę rejestrów. Specjalny kompilator znany jako asembler służy do konwersji instrukcji języka asemblera na kod maszynowy lub kod obiektowy.
Instrukcje języka asemblera mają cztery sekcje. Są etykietą, mnemonikiem, operandem, komentarzem. Etykieta i komentarze są opcjonalne. Mnemonik to instrukcja do wykonania, a operandy to parametry polecenia. Język asemblera obsługuje również makra. Makro można zdefiniować jako zestaw instrukcji z nazwą. Można go używać w innym miejscu programu.
Oto kilka przykładów instrukcji języka asemblera.
MOV SUM, 50 - Ta instrukcja kopiuje wartość 50 do zmiennej SUM.
ADD VALUE1,20 - Ma to na celu dodanie 20 do zmiennej VALUE1
ADD AH, BH - Ta instrukcja ma na celu skopiowanie zawartości rejestru AH do rejestru BH.
INC COUNT - ma to na celu zwiększenie zmiennej COUNT o jeden.
AND VALUE1,100 - służy do wykonywania operacji AND na zmiennych VALUE1 i 100.
MOV AL, 20 - Służy to kopiowaniu wartości 20 do rejestru AL
Rysunek 02: Program napisany przy użyciu języka asemblera
Zestaw instrukcji Assembly to program Assembly. 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 ma około trzydziestu instrukcji. Wymagana pamięć i czas wykonania są minimalne w porównaniu z językami wysokiego poziomu.
W systemach czasu rzeczywistego mogą wystąpić zdarzenia, które wymagają natychmiastowego działania procesora. Te zdarzenia to specjalne podprogramy zwane procedurą obsługi przerwań (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?
Porównaj środek artykułu przed tabelą
Język maszynowy a język asemblera |
|
Język maszynowy jest językiem programowania najniższego poziomu, w którym instrukcje są wykonywane bezpośrednio przez procesor. | Język asemblera to język programowania niskiego poziomu, który wymaga od asemblera 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 maszynowy różni się w zależności od platformy. | Język asemblera składa się ze standardowego zestawu instrukcji. |
Aplikacje | |
Język maszynowy to kod maszynowy. | Język asemblera jest używany w systemach czasu rzeczywistego opartych na mikroprocesorach. |
Podsumowanie - język maszynowy a asembler
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 wynikowy lub kod maszynowy. Język asemblerowy jest o krok przed językiem maszynowym. Język asemblera jest idealnym językiem do programowania systemów opartych na mikrokontrolerach. Język ten daje również dobre zrozumienie działania procesora i wewnętrznych elementów komputera.
Pobierz wersję PDF języka maszynowego i języka asemblera
Możesz pobrać wersję PDF tego artykułu i używać jej w trybie offline, zgodnie z notą cytowania. Proszę pobrać wersję PDF tutaj Różnica między językiem maszynowym a językiem asemblera
Zdjęcie dzięki uprzejmości:
1. `` język maszynowy
'' autorstwa Turkei89 - praca własna, (CC BY-SA 3.0) za pośrednictwem Commons Wikimedia 2. `` zestaw Zstr count x86 '' Autor OldCodger2, (domena publiczna) za pośrednictwem Commons Wikimedia