Assembly (γλώσσα προγραμματισμού): Διαφορά μεταξύ των αναθεωρήσεων

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Χωρίς σύνοψη επεξεργασίας
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 1: Γραμμή 1:
Μια '''συμβολική γλώσσα''' (Αγγλικά: assembly language) είναι μια χαμηλού επιπέδου γλώσσα προγραμματισμού, δηλαδή μια γλώσσα πολύ κοντά στη [[γλώσσα μηχανής]]. Κάθε συγκεκριμένη [[αρχιτεκτονική υπολογιστή]], δηλαδή συγκεκριμένος [[Κεντρική Μονάδα Επεξεργασίας|επεξεργαστής]], έχει τη δική της συμβολική γλώσσα που δίνεται συνήθως από τον κατασκευαστή του επεξεργαστή.
Μια '''συμβολική γλώσσα''' (Αγγλικά: assembly language) είναι μια χαμηλού επιπέδου γλώσσα προγραμματισμού, δηλαδή μια γλώσσα πολύ κοντά στη [[γλώσσα μηχανής]] και στο υλικό του υπολογιστή. Κάθε συγκεκριμένη [[αρχιτεκτονική υπολογιστή]], δηλαδή κάθε οικογένεια [[Κεντρική Μονάδα Επεξεργασίας|επεξεργαστών]], έχει τη δική της συμβολική γλώσσα, η οποία δίνεται συνήθως από τον κατασκευαστή της.


Ένα πρόγραμμα σε γλώσσα μηχανής είναι ένα μοτίβο από bits που κωδικοποιούνται εντολές του επεξεργαστή. Αυτό γίνεται πιο ευανάγνωστο αντικαθιστώντας τις ακολουθίες των bits με μνημονικά σύμβολα.
Ένα πρόγραμμα σε γλώσσα μηχανής είναι ένα μοτίβο από bits στα οποία κωδικοποιούνται εντολές του επεξεργαστή και δεδομένα. Αυτό γίνεται πιο ευανάγνωστο αντικαθιστώντας τις ακολουθίες των bits με μνημονικά ''σύμβολα''.
Για παράδειγμα ένας [[Κεντρική Μονάδα Επεξεργασίας|επεξεργαστής]] της αρχιτεκτονικής [[x86]]/[[IA-32]] θα καταλάβει την εντολή σε
Για παράδειγμα ένας [[Κεντρική Μονάδα Επεξεργασίας|επεξεργαστής]] της αρχιτεκτονικής [[x86]]/[[IA-32]] θα καταλάβει την εντολή σε
Γραμμή 8: Γραμμή 8:
10110000 01100001
10110000 01100001
</source>
</source>
Για τους προγραμματιστές όμως είναι πιο εύκολο να θυμούνται την ισοδύναμη συμβολική αναπαράσταση:
Ένας προγραμματιστής όμως είναι πιο εύκολο να θυμάται την ισοδύναμη συμβολική αναπαράσταση, για παράδειγμα μια τυπική εντολή σε συμβολική γλώσσα είναι η εξής:
<source lang="asm">
<source lang="asm">
mov al, 061h
mov al, 061h
</source>
</source>
που είναι συντομογραφία της αγγλικής λέξης move ( μετακίνησε ) την τιμή στο [[Δεκαεξαδικό σύστημα αρίθμησης|δεκαεξαδικό]] 61 (97 στο [[Δεκαδικό σύστημα|δεκαδικό]] σύστημα) στον [[Καταχωρητής|καταχωρητή]] με το όνομα "al".
που είναι συντομογραφία της αγγλικής λέξης move ("μετακίνησε"). Η εντολή αυτή μετακινεί τη [[Δεκαεξαδικό σύστημα αρίθμησης|δεκαεξαδική]] τιμή 61 (97 στο [[Δεκαδικό σύστημα|δεκαδικό]] σύστημα) στον [[Καταχωρητής|καταχωρητή]] με το όνομα "al".
Αυτή είναι μια τυπική εντολή σε συμβολική γλώσσα.


Η μετατροπή ενός προγράμματος από συμβολική γλώσσα σε γλώσσα μηχανής γίνεται από ένα [[συμβολομεταφραστής|συμβολομεταφραστή]] και το αντίστροφο γίνεται από έναν [[αντισυμβολομεταφραστή]].
Η μετατροπή ενός προγράμματος από συμβολική γλώσσα σε γλώσσα μηχανής γίνεται από ένα [[συμβολομεταφραστής|συμβολομεταφραστή]] (assembler) και το αντίστροφο γίνεται από έναν [[αντισυμβολομεταφραστή]] (disassembler).


==Εξωτερικοί Σύνδεσμοι==
== Εξωτερικοί Σύνδεσμοι ==
*[http://www.ceid.upatras.gr/faculty/alexiou/eis_sys/material/Manual_1_3.pdf Εγχειρίδο Χρήσης AT91] του Χαρίδημου Βέργου και του Νικόλαου Κωστάρα.
* [http://www.ceid.upatras.gr/faculty/alexiou/eis_sys/material/Manual_1_3.pdf Εγχειρίδο Χρήσης AT91] του Χαρίδημου Βέργου και του Νικόλαου Κωστάρα.
* [http://dmst.aueb.gr/dds/arch/asm/index.htm Αρχιτεκτονική Η/Υ ΙΙ - Συμβατική μηχανή και συμβολική γλώσσα], Δ. Σπινέλλης, ΟΠΑ.


[[Κατηγορία:Γλώσσες προγραμματισμού]]
[[Κατηγορία:Γλώσσες προγραμματισμού]]

Έκδοση από την 00:33, 28 Οκτωβρίου 2010

Μια συμβολική γλώσσα (Αγγλικά: assembly language) είναι μια χαμηλού επιπέδου γλώσσα προγραμματισμού, δηλαδή μια γλώσσα πολύ κοντά στη γλώσσα μηχανής και στο υλικό του υπολογιστή. Κάθε συγκεκριμένη αρχιτεκτονική υπολογιστή, δηλαδή κάθε οικογένεια επεξεργαστών, έχει τη δική της συμβολική γλώσσα, η οποία δίνεται συνήθως από τον κατασκευαστή της.

Ένα πρόγραμμα σε γλώσσα μηχανής είναι ένα μοτίβο από bits στα οποία κωδικοποιούνται εντολές του επεξεργαστή και δεδομένα. Αυτό γίνεται πιο ευανάγνωστο αντικαθιστώντας τις ακολουθίες των bits με μνημονικά σύμβολα.

Για παράδειγμα ένας επεξεργαστής της αρχιτεκτονικής x86/IA-32 θα καταλάβει την εντολή σε γλώσσα μηχανής:

 10110000 01100001

Ένας προγραμματιστής όμως είναι πιο εύκολο να θυμάται την ισοδύναμη συμβολική αναπαράσταση, για παράδειγμα μια τυπική εντολή σε συμβολική γλώσσα είναι η εξής:

 mov  al, 061h

που είναι συντομογραφία της αγγλικής λέξης move ("μετακίνησε"). Η εντολή αυτή μετακινεί τη δεκαεξαδική τιμή 61 (97 στο δεκαδικό σύστημα) στον καταχωρητή με το όνομα "al".

Η μετατροπή ενός προγράμματος από συμβολική γλώσσα σε γλώσσα μηχανής γίνεται από ένα συμβολομεταφραστή (assembler) και το αντίστροφο γίνεται από έναν αντισυμβολομεταφραστή (disassembler).

Εξωτερικοί Σύνδεσμοι