Kod maszynowy

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Kod maszynowy to najniższy poziom kodu programu, który może być bezpośrednio wykonywany przez procesor. Składa się z instrukcji zapisanych w postaci binarnej, zrozumiałych dla konkretnej architektury procesora.

Zależność od architektury

Kod maszynowy jest zależny od typu procesora. Inne zestawy instrukcji mają na przykład procesory x86/x64, a inne ARM. Dlatego program skompilowany do kodu maszynowego dla jednej architektury zwykle nie uruchomi się bezpośrednio na innej.

Przykład:

  • program skompilowany dla x64 działa na komputerze z procesorem x64,
  • ten sam program może wymagać ponownej kompilacji dla urządzenia z procesorem ARM.

Jak powstaje kod maszynowy?

W językach kompilowanych, takich jak C++, kod źródłowy jest tłumaczony przez kompilator na plik wykonywalny zawierający kod maszynowy.

Schemat:

kod źródłowy C++ -> kompilator -> kod maszynowy -> uruchomienie programu

Kod maszynowy a bajtkod

Nie każdy język kompilowany tworzy od razu kod maszynowy. Java kompiluje program do bajtkodu, który jest wykonywany przez maszynę wirtualną JVM. Dzięki temu ten sam bajtkod może działać na różnych systemach, jeśli mają odpowiednią maszynę wirtualną.

W pytaniach egzaminacyjnych określenie „skompilowany do kodu maszynowego konkretnej architektury procesora” najczęściej wskazuje na języki takie jak C lub C++.