Φάση Σεναρίου
Ηλεκτρολογία (Ε.Ε.) (Επαγγελματικό Λύκειο)
Βασικές εντολές σε γλώσσα Assembly
Οι εντολές της γλώσσας Assembly του PIC
Ο πίνακας παραθέτει τις 35 εντολές που αποτελούν τη γλώσσα Assembly των μιρκοελεγκτών PIC.
Οι εντολές των ελεγκτών PIC μπορούν να χωριστούν σε τέσσερις κατηγορίες.
- Αριθμητικές εντολές
- Ελέγχου εκτέλεσης
- Ελέγχου του μικροεπεξεργαστή
- Χειρισμού των bit των καταχωρητών
Η πρώτη κατηγορία αποτελείται από τις «αριθμητικές» εντολές, που περιλαμβάνουν τη πράξη της πρόσθεσης και της αφαίρεσης ανάμεσα στα περιεχόμενα καταχωρητών, καθώς και πράξεις αύξησης ή μείωσης των τιμών τους και πράξεις σε επίπεδο bit.
Στην επόμενη κατηγορία εντολών, ανήκουν οι εντολές «ελέγχου εκτέλεσης». Αυτές, τις αποτελούν οι εντολές άλματος (goto), κλήσης υπορουτίνας (call) και οι εντολές επιστροφής (return) από κάποια υπορουτίνα, καθώς επίσης και οι εντολές διακλάδωσης υπό όρους.
Στην επόμενη κατηγορία ανήκουν οι εντολές «ελέγχου του μικροεπεξεργαστή». Οι εντολές αυτές επηρεάζουν βασικά τη λειτουργία του επεξεργαστή και τα κυκλώματα που συσχετίζονται με αυτόν.
Η τελευταία κατηγορία αποτελείται από τις εντολές «χειρισμού των bit των καταχωρητών» (τοποθέτηση ή μηδενισμός bit). Με τις εντολές αυτές ελέγχουμε άμεσα, κάθε ένα ξεχωριστό bit των καταχωρητών. Η πιο προφανής χρήση των εντολών αυτών είναι ο άμεσος έλεγχος επιμέρους κυκλωμάτων και ακροδεκτών του μικροελεγκτή.
Μνημονικό Τελεστής |
Λειτουργία |
Σημαία - Flag |
||||
Εντολές χειρισμού ψηφιολέξεων - Byte oriented file register operations |
||||||
ADDWF |
f, d |
Πρόσθεσε το W και το f |
C, DC, Z |
|||
ANDWF |
f, d |
Κάνε την λογική πράξη AND ανάμεσα στο W και το f |
Z |
|||
CLRF |
f |
Μηδένισε το f |
Z |
|||
CLRW |
- |
Μηδένισε το W |
Z |
|||
COMF |
f, d |
Φτιάξε το συμπλήρωμα του f και αποθήκευσέ το στο d |
Z |
|||
DECF |
f, d |
Μείωσε την τιμή του f |
Z |
|||
DECFSZ |
f, d |
Μείωσε την τιμή του f, παρέκαμψε την επόμενη εντολή αν ο f γίνει 0 |
|
|||
INCF |
f, d |
Αύξησε την τιμή του f |
Z |
|||
INCFSZ |
f, d |
Αύξησε την τιμή του f, παρέκαμψε την επόμενη εντολή αν ο f γίνει 0 |
|
|||
IORWF |
f, d |
Κάνε την λογική πράξη IOR ανάμεσα στο W και το f |
Z |
|||
MOVF |
f, d |
Μετέφερε το περιεχόμενο του f |
Z |
|||
MOVWF |
f |
Μετέφερε το περιεχόμενο του W στο f |
|
|||
NOP |
- |
Εντολή δίχως λειτουργία (απλή χρονική καθυστέρηση ενός κύκλου μηχανής) |
|
|||
RLF |
f, d |
Μετέφερε προς τα αριστερά το περιεχόμενο του f μέσο του ψηφίου Carry |
C |
|||
RRF |
f, d |
Μετέφερε προς τα δεξιά το περιεχόμενο του f μέσο του ψηφίου Carry |
C |
|||
SUBWF |
f, d |
Αφαίρεσε το W από το f |
C, DC, Z |
|||
SWAPF |
f, d |
Αντιμετάθεσε τα δύο μισά της ψηφιολέξης (Byte) στο f |
|
|||
XORWF |
f, d |
Λογική πράξη XOR ανάμεσα στο W και το f
|
Z |
|||
Εντολές χειρισμού ψηφίων - Bit oriented file register operations |
||||||
BCF |
f, b |
Μηδένισε το ψηφίο b του καταχωρητή f |
|
|||
BSF |
f, b |
Κάνε λογικό 1 το ψηφίο b του καταχωρητή f |
|
|||
BTFSC |
f, b |
Εξέτασε το ψηφίο b του καταχωρητή f, παρέκαμψε την επόμενη εντολή αν είναι 0 |
|
|||
BTFSS |
f, b |
Εξέτασε το ψηφίο b του καταχωρητή f, παρέκαμψε την επόμενη εντολή αν είναι 1 |
|
|||
Εντολές πράξεων με σταθερούς αριθμούς. Εντολές ελέγχου προγράμματος |
||||||
ADDLW |
k |
Πρόσθεσε τον σταθερό αριθμό k με το W |
C, DC, Z |
|||
ANDLW |
k |
Κάνε την λογική πράξη AND ανάμεσα στο k και το W |
Z |
|||
CALL |
k |
Κάλεσε την υπορουτίνα k |
|
|||
CLRWDT |
- |
Μηδένισε τον επιτηρητή Watchdog Timer |
|
|||
GOTO |
k |
Πήγαινε και εκτέλεσε την εντολή που υπάρχει στην διεύθυνση k |
|
|||
IORLW |
k |
Κάνε την λογική πράξη IOR ανάμεσα στο k και το W |
Z |
|||
MOVLW |
k |
Μετέφερε το περιεχόμενο του k στο W |
|
|||
RETFIE |
- |
Επέστρεψε στην διεύθυνση που ήσουν πριν συμβεί η διακοπή (interrupt) |
|
|||
RETLW |
k |
Επέστρεψε από υπορουτίνα και φόρτωσε τον σταθερό αριθμό k στο W |
|
|||
RETURN |
- |
Επέστρεψε από υπορουτίνα |
|
|||
SLEEP |
- |
Ενεργοποίησε την λειτουργία χαμηλής κατανάλωσης (Sleep - κατανάλωση 2μA) |
|
|||
SUBLW |
k |
Αφαίρεσε το περιεχόμενο του W από το σταθερό αριθμό k |
C, DC, Z |
|||
XORLW |
k |
Κάνε την λογική πράξη XOR ανάμεσα στο k και το W |
Z |
|||
: Οι εντολές του μικροελεγκτή PICΟι PIC υποστηρίζουν τρία είδη διευθυνσιοδότησης: την άμεση, την έμμεση και την απευθείας. Με την απευθείας διευθυνσιοδότηση, μεταφέρουμε τα δεδομένα από ένα καταχωρητή σε μια θέση μνήμης. Με την άμεση διευθυνσιοδότηση μεταφέρουμε αριθμητικά δεδομένα (literals) στον καταχωρητή εργασίας W. Τέλος, στην έμμεση διευθυνσιοδότηση, προσπελαύνουμε ένα καταχωρητή μέσω ενός βοηθητικού, ο οποίος περιέχει την διεύθυνση του καταχωρητή που θέλουμε να εγγράψουμε ή να διαβάσουμε. |
||||||
|