Assembly σε Ubuntu UE 1.8 ?

Vasilis_F | Δευ, 10/13/2008 - 23:32 | 1' | 10

Γεια σε όλους. Γνωρίζει κάποιος αν γίνεται να βάλω assembly σε Ubuntu UE 1.8 ? Στη σχολή μου, ο καθηγητής μου μας έδωσε ένα cd που περιέχει δύο φακέλους NASM και DJGPP (assembler και compiler) και σε περιβάλλον windows, μας είπε να κάνουμε τους φακέλους copy-paste στο c:\. και μετά να πάμε my computer-->properties-->environment variables και στο system variables να κάνουμε κάποιες αλλαγές στη variable path (τη διαδικασία την περιγράφω για να καταλάβετε καλύτερα τί θέλω να κάνω). Μπορώ να κάνω κάτι στο Ubuntu ? Δε θα χρειαστώ DOS prompt ? Ευχαριστώ προκαταβολικά.

Δώσε αστέρια!

MO: (ψήφοι: 0)

Σχόλια

Δε ξερω κατα πόσο μπορω να σε βοηθήσω διότι δεν έχω ασχοληθεί, πάντως ο assembler nasm υπάρχει στα repositories του debian οπότε υποθέτω οτι θα υπάρχει και στα repos του ubuntu.
Για τον djgpp με μια γρήγορη αναζήτηση βρήκα τα παρακάτω:

http://ap1.pp.fi/djgpp/gcc/4.1.0/gcc410.html

http://www.delorie.com/howto/djgpp/linux-x-djgpp-revised.html

Περίμενε μήπως απαντήσει κάποιος γνώστης του θέματος.

Ναι, όπως τα είπε ο Centient. Πέρι djgpp δε γνωρίζω, αλλά ο nasm υπάρχει στο ubuntu, απλά τον εγκαθιστάς από τον διαχειριστή πακέτων που χρησιμοποιείς κ αυτό είναι.

Στη συνέχεια, ίσως το καλύτερο επόμενο βήμα είναι να πας στο φάκελο /usr/share/doc/nasm κ να δεις τα παραδείγματα, καθώς κ το documentation σε html. Επίσης υπάρχει φυσικά κ το man page του nasm (man nasm).

Υπάρχει επίσης κ ο yasm στο ubuntu, μια εναλλακτική πρόταση για assembler.

Αχαχαχα :D Γελάω μόνος μου!

Το djgpp είναι απλά port για DOS του διάσημου GNU toolchain (binutils, gcc, κλπ κλπ). Όπως λέει κ στο site του:

DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS. It includes ports of many GNU development utilities.

Σε Linux φίλε Βασίλη δε χρειάζεσαι τίποτα τέτοιο. Το djgpp υπάρχει για τους καϋμένους που θα ήθελαν να έχουν τα εργαλεία του linux σε dos...

Απλά βεβαιώσου ότι έχεις εγκατεστημένο το πακέτο gcc (τελευταία έκδοση είναι η 4.3) κ το nasm όπως είπαμε, κ είσαι έτοιμος νομίζω.

Αν δεις ότι σου λείπει κάποιο άλλο εργαλείο ή εντολή, ρώτα κ τα βρίσκουμε.

edit: A! Κ πες του καθηγητή σου ότι είναι λίγο απαράδεκτος να διδάσκει προγραμματισμό σε C/C++ κ assembly σε DOS/Windows χρησιμοποιώντας ports του gcc compiler, όταν υπάρχει το linux, κ είναι κ δωρεάν!

Παιδιά ευχαριστώ πολύ για τη βοήθεια. Θα τα δοκιμάσω και θα σας πω εάν έχω κάποιο πρόβλημα. Gnu_labis, ότι προσπάθεια έχω κάνει να πείσω έστω και έναν, να ασχοληθεί με το Linux, προς το παρών έχει πέσει στο κενό. Αλλά δεν τα παρατάμε, έστω και έναν να πείσω θα είναι κέρδος.

Cerca, trova

Μπορεί να έχεις ένα μικρό πρόβλημα με τη σύνταξη του assembly source αν χρησιμοποιήσεις εξαρχής gnu binutils. Ο assembler τους, gas καταλαβαίνει σύνταξη της AT&T ενώ ο NASM σύνταξη της intel

Παραδειγμα

NASM : mov eax,ebx

gas: movl ebx,eax

Υπάρχουν απ'ότι ξέρω εργαλεία για μετατροπή από τη μία σύνταξη στην άλλη αλλά δεν έχω πολυασχοληθεί.

Έχει δίκιο ο geonik250, ο GAS ακολουθεί διαφορετική σύνταξη, γι'αυτό κ απέφυγα να τον αναφέρω. Δεν νομίζω να χρειαστεί πάντως, φαντάζομαι ότι από το toolchain θα χρησιμοποιήσουν τον gcc κυρίως, κ για assembly αποκλειστικά nasm.

Πρέπει πάντως να υπάρχουν κ τα εργαλεία μετατροπής. Από την άλλη, ο yasm που ανέφερα αναγνωρίζει κ τις δύο μορφές σύνταξης

Από την περιγραφή του πακέτου yasm στο Debian:

Yasm is a complete rewrite of the NASM assembler. It supports multiple
assembler syntaxes (eg, NASM, GAS, etc.) in addition to multiple
output object formats (binary objects, COFF, Win32, ELF32, ELF64) and
even multiple instruction sets (including AMD64). It also has an
optimiser module.

Αλήθεια, για τι μάθημα πρόκειται; (ό,τι θυμάμαι χαίρομαι...)

Εγκατέστησα τα NASM και YASM. Δε θα χρειαστώ και κάποιο text editor ?

Cerca, trova

Ναι βέβαια. Από editor, άλλο τίποτα. Εγώ ψηφίζω Emacs, άλλοι θα πουν Vi, άλλοι GVim, κ άλλοι πάλι gedit κ kedit ή kate.

Emacs κ Vi είναι πανίσχυρα προγράμματα, χρόνια τώρα μάχονται για τον τίτλο του απόλυτου editor (κ όχι μόνο), αλλά είναι κ λίγο "διαφορετικά" από τα συνηθισμένα, κ θέλουν εξάσκηση στη χρήση. Ίσως να μη θες να ανοίξεις πολλά μέτωπα ταυτόχρονα.

Εσύ τελικά διάλεξε όποιον σου αρέσει. Η λίστα είναι αλήθεια ατελείωτη.

Τελικά είχα και το GCC εγκατεστημένο. Ελπίζω σε συνδιασμό με το YASM να μην αντιμετωπίσω πρόβλημα. Ελπίζω να μην ενοχλήσω τους moderators και τους administrators, αλλά για να μην ανοίξω και άλλο θέμα, μήπως γνωρίζει κάποιος γιατί στο Netbeans 6.0.1 όταν πάω να ξεκινήσω καινούριο project ΔΕ βρήσκω την επιλογή Java Application? Έχει μόνο Samples, το οποίο περιέχει Java, Netbean Modules και Standard τα οποία με τη σειρα τους περιέχουν τα anagram game, GUI form examples, document editor, mars rover viewer, client ediror, feed reader, paint application, java project with existing ant script. Υποθέτω ότι κάτι λείπει. Καμειά ιδέα ; 'Οπως καταλάβατε, οι γνώσεις μου για προγραμματισμό είναι μηδενικές. Ευχαριστώ.

Cerca, trova

Τελικά το μόνο που έπρεπε να κάνω ήταν απεγκατάσταση,download του αρχείου netbeans-6.1-ml-linux.sh,καινούρια εγκατάσταση και όλα είναι ΟΚ.

Cerca, trova