Απλά προγράμματα γλωσσών συναρμολόγησης 8086 με επεξήγηση

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Ο προγραμματισμός σε επίπεδο συναρμολόγησης είναι πολύ σημαντικός σε χαμηλό επίπεδο ενσωματωμένο σύστημα Ο σχεδιασμός χρησιμοποιείται για την πρόσβαση στις οδηγίες του επεξεργαστή για χειρισμό υλικού. Είναι μια πιο πρωτόγονη γλώσσα σε επίπεδο μηχανής που χρησιμοποιείται για τη δημιουργία αποδοτικού κώδικα που καταναλώνει λιγότερο αριθμό κύκλων ρολογιού και παίρνει λιγότερη μνήμη σε σύγκριση με το γλώσσα προγραμματισμού υψηλού επιπέδου . Είναι μια πλήρης γλώσσα προγραμματισμού προσανατολισμένη στο υλικό για να γράψετε ένα πρόγραμμα που ο προγραμματιστής πρέπει να γνωρίζει για το ενσωματωμένο υλικό. Εδώ, παρέχουμε βασικά στοιχεία του προγραμματισμού επιπέδου συναρμολόγησης 8086.

Προγραμματισμός επιπέδου συναρμολόγησης 8086

Προγραμματισμός επιπέδου συναρμολόγησης 8086



Προγραμματισμός επιπέδου συναρμολόγησης 8086

ο γλώσσα προγραμματισμού συναρμολόγησης είναι μια γλώσσα χαμηλού επιπέδου που αναπτύσσεται με τη χρήση μνημονικών. Ο μικροελεγκτής ή ο μικροεπεξεργαστής μπορεί να καταλάβει μόνο τη δυαδική γλώσσα όπως 0 ή 1, επομένως ο συναρμολογητής μετατρέπει τη γλώσσα συναρμολόγησης σε δυαδική γλώσσα και αποθηκεύει τη μνήμη για την εκτέλεση των εργασιών. Πριν από τη σύνταξη του προγράμματος, οι ενσωματωμένοι σχεδιαστές πρέπει να έχουν επαρκείς γνώσεις σχετικά με το συγκεκριμένο υλικό του ελεγκτή ή του επεξεργαστή, οπότε πρώτα πρέπει να γνωρίζουμε το υλικό του επεξεργαστή 8086.


Υλικό του επεξεργαστή

Υλικό του επεξεργαστή



8086 Αρχιτεκτονική επεξεργαστών

Το 8086 είναι ένας επεξεργαστής που αντιπροσωπεύεται για όλες τις περιφερειακές συσκευές, όπως σειριακός δίαυλος, και συσκευές RAM και ROM, I / O και ούτω καθεξής, οι οποίοι συνδέονται εξωτερικά με τη CPU χρησιμοποιώντας έναν δίαυλο συστήματος. Ο μικροεπεξεργαστής 8086 έχει Αρχιτεκτονική βασισμένη σε CISC και έχει περιφερειακά όπως 32 I / O, Σειριακή επικοινωνία , αναμνήσεις και μετρητές / χρονόμετρα . Ο μικροεπεξεργαστής απαιτεί ένα πρόγραμμα για την εκτέλεση των λειτουργιών που απαιτούν μνήμη για ανάγνωση και αποθήκευση των λειτουργιών.

8086 Αρχιτεκτονική επεξεργαστών

8086 Αρχιτεκτονική επεξεργαστών

Ο προγραμματισμός επιπέδου συναρμολόγησης 8086 βασίζεται στους καταχωρητές μνήμης. Το Μητρώο είναι το κύριο μέρος του μικροεπεξεργαστές και ελεγκτές που βρίσκονται στη μνήμη που παρέχει έναν γρηγορότερο τρόπο συλλογής και αποθήκευσης των δεδομένων. Εάν θέλουμε να χειριστούμε δεδομένα σε έναν επεξεργαστή ή ελεγκτή εκτελώντας πολλαπλασιασμό, προσθήκη κ.λπ., δεν μπορούμε να το κάνουμε απευθείας στη μνήμη όπου χρειάζονται καταχωρητές για επεξεργασία και αποθήκευση των δεδομένων. Ο μικροεπεξεργαστής 8086 περιέχει διάφορα είδη καταχωρητών που μπορούν να ταξινομηθούν σύμφωνα με τις οδηγίες τους όπως

Μητρώα γενικού σκοπού : Ο επεξεργαστής 8086 αποτελείται από καταχωρητές γενικού σκοπού 8 και κάθε καταχωρητής έχει το δικό του όνομα όπως φαίνεται στην εικόνα όπως AX, BX, CX, DX, SI, DI, BP, SP. Όλα αυτά είναι καταχωρητές 16-bit όπου τέσσερις καταχωρητές χωρίζονται σε δύο μέρη όπως τα AX, BX, CX και DX τα οποία χρησιμοποιούνται κυρίως για τη διατήρηση των αριθμών.

Μητρώα ειδικού σκοπού : Η 8086 CPU αποτελείται από 2- ειδικούς καταχωρητές λειτουργιών όπως IP και flag register. Ο καταχωρητής IP δείχνει την τρέχουσα εντολή εκτέλεσης και λειτουργεί πάντα για να συγκεντρωθεί με τον καταχωρητή τμημάτων CS. Η κύρια λειτουργία των καταχωρητών σημαίας είναι η τροποποίηση των λειτουργιών της CPU μετά την ολοκλήρωση των μηχανικών λειτουργιών και δεν μπορούμε να έχουμε άμεση πρόσβαση
Καταχωρητές τμημάτων: Ο επεξεργαστής 8086 αποτελείται από καταχωρητές τεσσάρων τμημάτων, όπως CS, DS, ES, SS, ο οποίος χρησιμοποιείται κυρίως για πιθανή αποθήκευση δεδομένων σε καταχωρητές τμημάτων και μπορούμε να έχουμε πρόσβαση σε ένα μπλοκ μνήμης χρησιμοποιώντας καταχωρητές τμημάτων.


Απλά προγράμματα γλωσσών συναρμολόγησης 8086

Ο προγραμματισμός γλώσσας συναρμολόγησης 8086 έχει ορισμένους κανόνες όπως

  • Το επίπεδο συναρμολόγησης προγραμματισμός 8086 Ο κωδικός πρέπει να είναι γραμμένος με κεφαλαία γράμματα
  • Οι ετικέτες πρέπει να ακολουθούνται από άνω και κάτω τελεία, για παράδειγμα: label:
  • Όλες οι ετικέτες και τα σύμβολα πρέπει να ξεκινούν με ένα γράμμα
  • Όλα τα σχόλια πληκτρολογούνται με πεζά γράμματα
  • Η τελευταία γραμμή του προγράμματος πρέπει να τερματιστεί με την οδηγία ΤΕΛΟΣ

Οι 8086 επεξεργαστές έχουν δύο άλλες οδηγίες για πρόσβαση στα δεδομένα, όπως WORD PTR - για λέξη (δύο bytes), BYTE PTR - για byte.

Op-Code και Operand

Op-Code και Operand

Κωδικός Op: Μια μεμονωμένη εντολή καλείται ως op-code που μπορεί να εκτελεστεί από την CPU. Εδώ η εντολή «MOV» ονομάζεται op-code.

Λειτουργίες: Τα δεδομένα ενός τεμαχίου ονομάζονται τελεστές που μπορούν να χρησιμοποιηθούν από τον κώδικα op. Παράδειγμα, η λειτουργία αφαίρεσης εκτελείται από τους τελεστές που αφαιρούνται από τον τελεστή.
Σύνταξη: SUB β, γ

8086 προγράμματα γλωσσών συναρμολόγησης μικροεπεξεργαστών

Γράψτε ένα πρόγραμμα για ανάγνωση ενός χαρακτήρα από το πληκτρολόγιο

MOV ah, 1 ώρα // υποπρόγραμμα εισόδου πληκτρολογίου
Εισαγωγή χαρακτήρων INT 21h //
// ο χαρακτήρας αποθηκεύεται στο al
MOV c, al // αντιγραφή χαρακτήρα από alto c

Γράψτε ένα πρόγραμμα για ανάγνωση και εμφάνιση ενός χαρακτήρα

MOV ah, 1 ώρα // υποπρόγραμμα εισόδου πληκτρολογίου
INT 21h // διαβάστε τον χαρακτήρα στο al
MOV dl, al // αντιγραφή χαρακτήρα σε dl
MOV ah, 2h // υποπρόγραμμα εξόδου χαρακτήρων
INT 21h // εμφάνιση χαρακτήρων σε dl

Συντάξτε ένα πρόγραμμα χρησιμοποιώντας μητρώα γενικού σκοπού

ORG 100 ώρες
MOV AL, VAR1 // ελέγξτε την τιμή του VAR1 μετακινώντας το στο AL.
LEA BX, VAR1 // λάβετε τη διεύθυνση VAR1 στο BX.
MOV BYTE PTR [BX], 44h // τροποποίηση του περιεχομένου του VAR1.
MOV AL, VAR1 // ελέγξτε την τιμή του VAR1 μετακινώντας το στο AL.
ΣΩΣΤΑ
VAR1 DB 22 ώρες
ΤΕΛΟΣ

Γράψτε ένα πρόγραμμα για την εμφάνιση της συμβολοσειράς χρησιμοποιώντας λειτουργίες βιβλιοθήκης

include emu8086.inc // Διακήρυξη μακροεντολών
ORG 100 ώρες
ΕΚΤΥΠΩΣΗ «Γεια σου Κόσμος!»
GOTOXY 10, 5
PUTC 65 // 65 - είναι κωδικός ASCII για το «A»
PUTC «Β»
RET // επιστροφή στο λειτουργικό σύστημα.
END // οδηγία για διακοπή του μεταγλωττιστή.

Οδηγίες αριθμητικής και λογικής

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

Ο προγραμματισμός γλώσσας συναρμολόγησης 8086 μνημονικά έχει τη μορφή op-code, όπως MOV, MUL, JMP και ούτω καθεξής, που χρησιμοποιούνται για την εκτέλεση των λειτουργιών. Παραδείγματα προγραμματισμού γλώσσας συναρμολόγησης 8086

Πρόσθεση
ORG0000 ώρες
MOV DX, # 07H // μετακινήστε την τιμή 7 στον καταχωρητή AX //
MOV AX, # 09H // μετακινήστε την τιμή 9 στον συσσωρευτή AX //
Προσθήκη AX, 00H // προσθήκη τιμής CX με τιμή R0 και αποθήκευση του αποτελέσματος σε AX //
ΤΕΛΟΣ
Πολλαπλασιασμός
ORG0000 ώρες
MOV DX, # 04H // μετακινήστε την τιμή 4 στον καταχωρητή DX //
MOV AX, # 08H // μετακινήστε την τιμή 8 στον συσσωρευτή AX //
MUL AX, 06H // Το πολλαπλασιαστικό αποτέλεσμα αποθηκεύεται στον συσσωρευτή AX //
ΤΕΛΟΣ
Αφαίρεση
ORG 0000 ώρες
MOV DX, # 02H // μετακινήστε την τιμή 2 για να εγγραφείτε DX //
MOV AX, # 08H // μετακινήστε την τιμή 8 στον συσσωρευτή AX //
SUBB AX, 09H // Η τιμή του αποτελέσματος αποθηκεύεται στον Συσσωρευτή A X //
ΤΕΛΟΣ
Διαίρεση
ORG 0000 ώρες
MOV DX, # 08H // μετακινήστε την τιμή 3 για να εγγραφείτε DX //
MOV AX, # 19H // μετακινήστε την τιμή 5 στον συσσωρευτή AX //
DIV AX, 08H // η τελική τιμή αποθηκεύεται στον συσσωρευτή AX //
ΤΕΛΟΣ

Επομένως, όλα αυτά αφορούν απλά προγράμματα προγραμματισμού 8086, 8086 Processor Architecture απλά παραδείγματα προγραμμάτων για επεξεργαστές 8086, Arithmetic και Logic Instructions. Επιπλέον, για τυχόν απορίες σχετικά με αυτό το άρθρο ή έργα ηλεκτρονικών, μπορείτε να επικοινωνήσετε μαζί μας σχολιάζοντας την παρακάτω ενότητα σχολίων.