GNU Assembler – GAS – programowanie przy użyciu terminalu

Żeby tradycji stało się zadość:

Języki asemblera (zwyczajowo asemblery) to rodzina języków programowania niskiego poziomu, których jedno polecenie odpowiada zasadniczo jednemu rozkazowi procesora. Języki te powstały na bazie języków maszynowych danego procesora poprzez zastąpienie kodów operacji ich mnemonikami. Dzięki stosowaniu kilkuliterowych skrótów poleceń zrozumiałych dla człowieka pozwala to z jednej strony na tworzenie oprogramowania, z drugiej strony bezpośrednia odpowiedniość mnemoników oraz kodu maszynowego umożliwia zachowanie wysokiego stopnia kontroli programisty nad działaniem procesora. Składnia języka asemblera zależy od architektury procesora, ale i używanego asemblera, jednak zwykle autorzy asemblerów dla danego procesora trzymają się oznaczeń danych przez producenta.

Tyle Wikipedia.

Na początek konieczna jest instalacja pakietu binutils:

sudo apt-get install binutils

Teraz pora utworzyć plik z rozszerzeniem *.s, w którym umieścisz kod źródłowy programu:

gedit plik_zrodlowy.s

Umieść w nim kod i zapisz zmiany. Teraz „kompilacja”:

as plik_zrodlowy.s -o plik_wynikowy.o

Teraz linkowanie:

ld plik_wynikowy.o -o plik_wykonywalny

Nadajemy uprawnienia do wykonywania jako program:

chmod +x plik_wykonywalny

I na koniec, testujemy:

./plik_wykonywalny
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Kamila

    hej robie wszystko jak napisales jednak po otwarciu ./hello otrzymuje
    bash: ./hello: Brak dostępu
    co robie nie tak ?

    • wrzomar

      Sprawdź uprawnienia dla tego pliku, np. poleceniem „ls -l hello” (bez cudzysłowów). Zapewne zapomniałaś nadać prawo do wykonania poleceniem „chmod +x hello”.