|
Η σειρά PIC16, ονομάζεται RISC (Reduced
Instruction Set Computer) και χρησιμοποιεί ένα σετ 35 μόνο
εντολών. Κάνοντας κλικ στο μνημονικό κάθε εντολής,
θα γίνεται αυτόματη μεταφορά στην αναλυτική περιγραφή της.
| Επεξήγηση βασικών
εννοιών |
|
| Μνημονικό |
: Το αντίστοιχο δεκαεξαδικής εντολής σε απλή
μορφή, κατανοητή από τον άνθρωπο. |
| Τελεστής |
: Το λειτουργικό μέρος του μνημονικού
[ADDWF
f,1 (μνημονικό=πρόσθεσε στον W τον) (τελεστής= f και αποθήκευσε το αποτέλεσμα στον f)] |
| MSb |
: Το περισσότερο σημαντικό bit ενός
Byte |
| LSb |
: Το λιγότερο σημαντικό bit ενός
Byte |
| Flag |
: Σημαία, κατάσταση των bit του
καταχωρητή STAΤUS |
| f |
: Το όνομα του καταχωρητή |
| d |
: Η σταθερά που δείχνει τον προορισμό του
αποτελέσματος μιας πράξης (αποθήκευση στο w αν d=0 ή
αποθήκευση στο f αν d=1) |
| W |
: Η συντομογραφία του καταχωρητή γενικής
λειτουργίας (Working register) |
| k |
: Ένας σταθερός αριθμός που θέλετε να
χρησιμοποιήσετε |
|
|
| Επεξήγηση
συντομογραφιών |
|
| C |
: Κρατούμενο, αποτέλεσμα πράξης
(Carry) |
| DC |
: Ψηφιακό κρατούμενο, αποτέλεσμα πράξης
(Digital Carry) |
| Z |
: Μηδενικό αποτέλεσμα πράξης
(Zero) |
 |
: Ψηφία του καταχωρητή STATUS
που δείχνουν Time Out (TO) και Power Down (PD) |
| MSb |
: Most Significant bit :
Περισσότερο Σημαντικό Ψηφίο μιας ψηφιολέξης
(Byte) Π.Χ : 10101010 |
| LSb |
: Least Significant bit :
Λιγότερο Σημαντικό Ψηφίο μιας
ψηφιολέξης (Byte) Π.Χ : 10101010 |

|
Μνημονικό
Τελεστής |
Λειτουργία |
Κώδικας |
Σημαία -
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 |
 |
|
| Εντολές πράξεων με σταθερούς αριθμούς
και ελέγχου προγράμματος - Literal and control
operations |
| 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 |
| |