little bash script

Malutki skrypcik na potrzeby zajęć z assemblera na uczelni – po raz kolejny lenistwo przyczynia sie do powstania kodu =]

#!/bin/bash

if [ ! -e $1.asm  ]; then
    echo "$1.asm : nie ma takiego pliku";
    exit;
fi
nasm -f elf $1.asm
if [ $? = 0 ]; then
    ld -melf_i386 -o $1 $1.o;
    if [ $? = 0 ]; then
        echo "Zrobione, uruchamiam: $1";
        ./$1
    fi
fi

Małe howto gdyby ktoś przypadkiem chciał użyć, a nie ma pojęcia co się dzieje:
Skrypcik przyjmuje nazwę pliku źródłowego jako parametr wywołania (bez rozszerzenia!)
Następnie używa tego pliku jako parametru wywołania nasm.
Jeśli nasm zakończy bez błędu plik wynikowy jest wrzucany do ld jako parametr (pracuje na systemie 64bitowym, jednak kod wynikowy chce mieć 32 bitowy stąd parametr -melf_i386). Ponownie, jeśli ld zakończy bez błędu, program wynikowy jest uruchamiany.

Zapewne da się to napisać lepiej, ale z racji czysto leniwego podejścia, ta wersja wystarcza jak dla mnie.

Ten wpis został opublikowany w kategorii techblog?! i oznaczony tagami , . Dodaj zakładkę do bezpośredniego odnośnika.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s