Τι είναι μια Γλώσσα Συνέλευσης
Οι γλώσσες συναρμολόγησης είναι γλώσσες χαμηλού επιπέδου που είναι συγκεκριμένες για μια συγκεκριμένη αρχιτεκτονική υπολογιστή. Συγκριτικά, πολλές γλώσσες προγραμματισμού υψηλού επιπέδου μπορούν να χρησιμοποιηθούν σε πολλές αρχιτεκτονικές, αλλά απαιτούν διερμηνεία ή σύνταξη πριν φθάσουν στον επεξεργαστή.
ΔΙΑΚΟΠΗ ΓΛΩΣΣΑ Γλώσσα συναρμολόγησης
Οι γλώσσες συναρμολόγησης έχουν αντικατασταθεί σε μεγάλο βαθμό από γλώσσες προγραμματισμού υψηλού επιπέδου. Οι μηχανικοί λογισμικού προτιμούν να γράφουν μια ενιαία εφαρμογή που να λειτουργεί σε όλους τους υπολογιστές - ανεξάρτητα από το αν έχουν επεξεργαστές Intel ή AMD - χρησιμοποιώντας γλώσσες υψηλού επιπέδου. Συγκριτικά, θα πρέπει να γράφουν ξεχωριστές εφαρμογές για κάθε τύπο αρχιτεκτονικής υπολογιστή χρησιμοποιώντας γλώσσες συναρμολόγησης. Αυτές οι εφαρμογές θα γίνονταν εξαιρετικά δύσκολο να διατηρηθούν, δεδομένου ότι κάθε ενημέρωση θα απαιτούσε την ενημέρωση πολλών διαφορετικών εφαρμογών.
Οι βασικότερες οδηγίες που εκτελούνται από έναν υπολογιστή είναι δυαδικοί κώδικες, αποτελούμενοι από αυτά και μηδενικά, καθώς αυτοί είναι απευθείας μεταφρασμένοι στις καταστάσεις ενεργοποίησης και απενεργοποίησης για ηλεκτρική ενέργεια που μετακινείται μέσω επεξεργαστή. Φυσικά, είναι ανέφικτο για τους μηχανικούς λογισμικού - ή για οποιονδήποτε άνθρωπο - να μεταφράζουν τις πληροφορίες σε αυτά και τα μηδενικά, έτσι ώστε οι γλώσσες συναρμολόγησης αναπτύχθηκαν για να απλουστευθεί η διαδικασία. Αυτές οι γλώσσες συναρμολόγησης εξακολουθούσαν να περιλαμβάνουν πολλούς κώδικες μεταφράσεων εργασίας σε διάφορες αρχιτεκτονικές, έτσι οι γλώσσες προγραμματισμού υψηλότερου επιπέδου ήρθαν μετά από αυτές.
Ωστόσο, οι γλώσσες συναρμολόγησης εξακολουθούν να είναι κοινές σε ορισμένες αγορές που απαιτούν υψηλή ταχύτητα και απόδοση. Οι προσομοιωτές πτήσης μπορούν να χρησιμοποιούν εξειδικευμένες αρχιτεκτονικές όπου οι γλώσσες υψηλότερου επιπέδου δεν λειτουργούν, πράγμα που σημαίνει ότι οι γλώσσες συναρμολόγησης μπορεί να είναι αναγκαιότητα. Οι συναλλαγές υψηλής συχνότητας μπορούν επίσης να χρησιμοποιούν γλώσσες συναρμολόγησης, δεδομένου ότι μπορούν να εκτελούν αναλύσεις και συναλλαγές πολύ πιο γρήγορα από τις γλώσσες υψηλού επιπέδου, γεγονός που μπορεί να οδηγήσει σε καλύτερη απόδοση των συναλλαγών και κερδοφορία σε σχέση με τον ανταγωνισμό.
Παράδειγμα γλωσσών συναρμολόγησης
Οι γλώσσες συναρμολόγησης στέλνουν οδηγίες στον επεξεργαστή, στη μνήμη και σε άλλα στοιχεία του υπολογιστή. Αυτές οι οδηγίες είναι ελαφρώς πιο αφηρημένες εκδοχές του δυαδικού κώδικα, που αποτελείται καθαρά από αυτά και τα μηδενικά. Για παράδειγμα, ο κώδικας 10110000 01100001 λέει σε έναν επεξεργαστή να μετακινήσει μια τιμή 8-bit σε ένα μητρώο. Χρησιμοποιώντας δεκαεξαδική μορφή, αυτές οι οδηγίες μπορούν να συντομευτούν στο B0 61. Οι γλώσσες συναρμολόγησης καθιστούν αυτό πιο κατανοητό εισάγοντας χειριστές, όπως το MOV AL, 61h, όπου το MOV είναι μια σύντμηση για την "κίνηση".
Οι γλώσσες προγραμματισμού υψηλότερου επιπέδου αντιμετωπίζουν αυτόματα αυτές τις εργασίες αυτόματα και επιτρέπουν στους μηχανικούς λογισμικού να επικεντρώνονται σε εργασίες πολύ υψηλότερου επιπέδου, όπως η ανάθεση μεταβλητών και η ολοκλήρωση λειτουργιών σε αυτές. Για παράδειγμα, ένας μηχανικός λογισμικού μπορεί να ορίσει μια μεταβλητή στο JavaScript χρησιμοποιώντας το let myVariable = 123 και αυτή η μεταβλητή θα ανατεθεί αυτόματα σε μια θέση στη μνήμη με βάση το μέγεθος του ακέραιου 123 και άλλους παράγοντες. Ο μηχανικός λογισμικού δεν χρειάζεται να ανησυχεί για τη διαχείριση της μνήμης και μπορεί να επικεντρωθεί σε αυτό που κάνει η μεταβλητή.
