Οι παρακάτω εντολές αφορούν τους μικροελεγκτές 8 bit, οικογένειας PIC της εταιρίας Microchip.
Δεν περιέχοντε όλες οι εντολές απο το ρεπερτόριο των συγκεκριμένων μικροελεγκτών αλλά υπάρχουν οι πιο σημαντικές για την συγγραφή ενός τόσο απλού όσο και σύνθετου προγράμματος.
MOVLW
Φόρτωσε μία τιμή στον W
Πχ. MOVLW B’01011010’ Δυαδικό
MOVLW 0x5A Δεκαεξαδικό
MOVLW D’90’ Δεκαδικό
MOVWF
Μεταφορά δεδομένων από W σε άλλο καταχωρητή.
Πχ. MOVWF PORTB
MOVWF REG1
MOVF
Μεταφορά δεδομένων από ένα καταχωρητή στον W.
Πχ. MOVF REG1,1 ή 0
MOVF PORTA,1 ή 0
Με 1 τα δεδομένα δεν μεταφέρονται στον W, τα δεδομένα κάνουν κύκλο και επιστρέφουν πίσω.
Με 0 τα δεδομένα μεταφέρονται στον W.
BFS
Αλλαγή ενός bit, ενός καταχωρητή σε λογικό 1.
Πχ. BSF REG2,3 (Θέσε λογικό 1 το bit 3 του καταχωρητή REG2).
BCF
Αλλαγή ενός bit, ενός καταχωρητή σε λογικό 0.
Πχ. BCF REG2,3 (θέσε λογικό 0 το bit 3 του καταχωρητή REG2).
SWAPF
Εναλλαγή των 4 λιγότερο σημαντικών ψηφίων με τα 4 περισσότερα σημαντικά ψηφία.
Πχ. SWAPF REG1,1 (Με 1 το αποτέλεσμα παραμένει στον REG1).
SWAPF REG1,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
ANDLW
Λογική πράξη AND μεταξύ του W και ενός αριθμού.
Πχ. ANDLW B’01011010’ Δυαδικό
ANDLW 0x5A Δεκαεξαδικό
ANDLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
ANDWF
Λογική πράξη AND μεταξύ του W και ενός καταχωρητή.
Πχ. ANDWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
ANDWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
IORLW
Λογική πράξη OR μεταξύ W και ενός αριθμού.
Πχ. IORLW B’01011010’ Δυαδικό
IORLW 0x5A Δεκαεξαδικό
IORLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
IORWF
Λογική πράξη OR μεταξύ W και ενός καταχωρητή.
Πχ. IORWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
IORWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
XORLW
Λογική πράξη XOR μεταξύ W και ενός αριθμού.
Πχ. XORLW B’01011010’ Δυαδικό
XORLW 0x5A Δεκαεξαδικό
XORLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
XORWF
Λογική πράξη XOR μεταξύ W και ενός καταχωρητή.
Πχ. XORWF REG3,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG3).
XORWF REG3,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
COMF
Συμπλήρωμα ως προς 1 στο περιεχόμενο ενός καταχωρητή.
Πχ. COMF REG1,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG1).
COMF REG1,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
RLF
Αριστερή ολίσθηση κατά μία θέση, στο περιεχόμενο ενός καταχωρητή
Πχ. RLF REG,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG).
RLF REG,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
RRF
Δεξιά ολίσθηση κατά μία θέση, στο περιεχόμενο ενός καταχωρητή
Πχ. RRF REG,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG).
RRF REG,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
ADDLW
Αριθμητική πράξη πρόσθεσης μεταξύ του W και ενός αριθμού.
Πχ. ADDLW B’01011010’ Δυαδικό
ADDLW 0x5A Δεκαεξαδικό
ADDLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
ADDWF
Αριθμητική πράξη πρόσθεσης μεταξύ του W και ενός καταχωρητή.
Πχ. ADDWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
ADDWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
SUBLW
Αριθμητική πράξη αφαίρεσης μεταξύ του W και ενός αριθμού.
Πχ. SUBLW B’01011010’ Δυαδικό
SUBLW 0x5A Δεκαεξαδικό
SUBLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
SUBWF
Αριθμητική πράξη αφαίρεσης μεταξύ του W και ενός καταχωρητή.
Πχ. SUBWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
SUBWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
INCF
Αύξηση στο περιεχόμενο ενός καταχωρητή κατά 1.
Πχ. INCF REG1,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG1).
INCF REG1,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
BTFSC
Έλεγχος ενός bit, ενός καταχωρητή.
Αν αυτό είναι 1 εκτελείται η επόμενη κατά σειρά εντολή, αλλιώς, αν αυτό είναι 0 εκτελείται η μεθεπόμενη εντολή.
Πχ. BTFSC REG,3 (Αν το bit3 του καταχωρητή REG είναι 1 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 0 εκτελείται η μεθεπόμενη).
BTFSC REG,6 (Αν το bit6 του καταχωρητή REG είναι 1 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 0 εκτελείται η μεθεπόμενη).
BTFSS
Έλεγχος ενός bit, ενός καταχωρητή.
Αν αυτό είναι 0 εκτελείται η επόμενη κατά σειρά εντολή, αλλιώς, αν αυτό είναι 1 εκτελείται η μεθεπόμενη εντολή.
Πχ. BTFSS REG,2 (Αν το bit2 του καταχωρητή REG είναι 0 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 1 εκτελείται η μεθεπόμενη).
BTFSS REG,7 (Αν το bit7 του καταχωρητή REG είναι 0 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 1 εκτελείται η μεθεπόμενη).
DECFSZ
Μείωση του περιεχόμενου ενός καταχωρητή κατά 1 και παράλειψη της επόμενης εντολής για Z=0.
Πχ. DECFSZ
GOTO
Μεταφορά της ροής εκτέλεσης ενός προγράμματος σε άλλο σημείο.
Για τη μεταφορά χρειάζεται ετικέτα.
Πχ. GOTO LOOP
GOTO TIME
CALL
Κάλεσμα μιας υπορουτίνας.
Πχ. CALL DELAY
CALL LOOP4
RETURN
Επιστροφή της ροής εκτέλεσης του προγράμματος μετά από αλλαγή (CALL) και εκτέλεση της επόμενης κατά σειρά εντολής.
Πχ. CALL DELAY1
… … … … … …
… … … … … …
RETURN
Δεν περιέχοντε όλες οι εντολές απο το ρεπερτόριο των συγκεκριμένων μικροελεγκτών αλλά υπάρχουν οι πιο σημαντικές για την συγγραφή ενός τόσο απλού όσο και σύνθετου προγράμματος.
MOVLW
Φόρτωσε μία τιμή στον W
Πχ. MOVLW B’01011010’ Δυαδικό
MOVLW 0x5A Δεκαεξαδικό
MOVLW D’90’ Δεκαδικό
MOVWF
Μεταφορά δεδομένων από W σε άλλο καταχωρητή.
Πχ. MOVWF PORTB
MOVWF REG1
MOVF
Μεταφορά δεδομένων από ένα καταχωρητή στον W.
Πχ. MOVF REG1,1 ή 0
MOVF PORTA,1 ή 0
Με 1 τα δεδομένα δεν μεταφέρονται στον W, τα δεδομένα κάνουν κύκλο και επιστρέφουν πίσω.
Με 0 τα δεδομένα μεταφέρονται στον W.
BFS
Αλλαγή ενός bit, ενός καταχωρητή σε λογικό 1.
Πχ. BSF REG2,3 (Θέσε λογικό 1 το bit 3 του καταχωρητή REG2).
BCF
Αλλαγή ενός bit, ενός καταχωρητή σε λογικό 0.
Πχ. BCF REG2,3 (θέσε λογικό 0 το bit 3 του καταχωρητή REG2).
SWAPF
Εναλλαγή των 4 λιγότερο σημαντικών ψηφίων με τα 4 περισσότερα σημαντικά ψηφία.
Πχ. SWAPF REG1,1 (Με 1 το αποτέλεσμα παραμένει στον REG1).
SWAPF REG1,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
ANDLW
Λογική πράξη AND μεταξύ του W και ενός αριθμού.
Πχ. ANDLW B’01011010’ Δυαδικό
ANDLW 0x5A Δεκαεξαδικό
ANDLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
ANDWF
Λογική πράξη AND μεταξύ του W και ενός καταχωρητή.
Πχ. ANDWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
ANDWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
IORLW
Λογική πράξη OR μεταξύ W και ενός αριθμού.
Πχ. IORLW B’01011010’ Δυαδικό
IORLW 0x5A Δεκαεξαδικό
IORLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
IORWF
Λογική πράξη OR μεταξύ W και ενός καταχωρητή.
Πχ. IORWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
IORWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
XORLW
Λογική πράξη XOR μεταξύ W και ενός αριθμού.
Πχ. XORLW B’01011010’ Δυαδικό
XORLW 0x5A Δεκαεξαδικό
XORLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
XORWF
Λογική πράξη XOR μεταξύ W και ενός καταχωρητή.
Πχ. XORWF REG3,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG3).
XORWF REG3,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
COMF
Συμπλήρωμα ως προς 1 στο περιεχόμενο ενός καταχωρητή.
Πχ. COMF REG1,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG1).
COMF REG1,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
RLF
Αριστερή ολίσθηση κατά μία θέση, στο περιεχόμενο ενός καταχωρητή
Πχ. RLF REG,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG).
RLF REG,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
RRF
Δεξιά ολίσθηση κατά μία θέση, στο περιεχόμενο ενός καταχωρητή
Πχ. RRF REG,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG).
RRF REG,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
ADDLW
Αριθμητική πράξη πρόσθεσης μεταξύ του W και ενός αριθμού.
Πχ. ADDLW B’01011010’ Δυαδικό
ADDLW 0x5A Δεκαεξαδικό
ADDLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
ADDWF
Αριθμητική πράξη πρόσθεσης μεταξύ του W και ενός καταχωρητή.
Πχ. ADDWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
ADDWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
SUBLW
Αριθμητική πράξη αφαίρεσης μεταξύ του W και ενός αριθμού.
Πχ. SUBLW B’01011010’ Δυαδικό
SUBLW 0x5A Δεκαεξαδικό
SUBLW D’90’ Δεκαδικό
Το αποτέλεσμα αποθηκεύεται πάντα στον W.
SUBWF
Αριθμητική πράξη αφαίρεσης μεταξύ του W και ενός καταχωρητή.
Πχ. SUBWF REG2,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG2).
SUBWF REG2,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
INCF
Αύξηση στο περιεχόμενο ενός καταχωρητή κατά 1.
Πχ. INCF REG1,1 (Με 1 το αποτέλεσμα παραμένει στον καταχωρητή REG1).
INCF REG1,0 (Με 0 το αποτέλεσμα μεταφέρετε στον W).
BTFSC
Έλεγχος ενός bit, ενός καταχωρητή.
Αν αυτό είναι 1 εκτελείται η επόμενη κατά σειρά εντολή, αλλιώς, αν αυτό είναι 0 εκτελείται η μεθεπόμενη εντολή.
Πχ. BTFSC REG,3 (Αν το bit3 του καταχωρητή REG είναι 1 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 0 εκτελείται η μεθεπόμενη).
BTFSC REG,6 (Αν το bit6 του καταχωρητή REG είναι 1 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 0 εκτελείται η μεθεπόμενη).
BTFSS
Έλεγχος ενός bit, ενός καταχωρητή.
Αν αυτό είναι 0 εκτελείται η επόμενη κατά σειρά εντολή, αλλιώς, αν αυτό είναι 1 εκτελείται η μεθεπόμενη εντολή.
Πχ. BTFSS REG,2 (Αν το bit2 του καταχωρητή REG είναι 0 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 1 εκτελείται η μεθεπόμενη).
BTFSS REG,7 (Αν το bit7 του καταχωρητή REG είναι 0 εκτελείται η επόμενη εντολή, αλλιώς, αν είναι 1 εκτελείται η μεθεπόμενη).
DECFSZ
Μείωση του περιεχόμενου ενός καταχωρητή κατά 1 και παράλειψη της επόμενης εντολής για Z=0.
Πχ. DECFSZ
GOTO
Μεταφορά της ροής εκτέλεσης ενός προγράμματος σε άλλο σημείο.
Για τη μεταφορά χρειάζεται ετικέτα.
Πχ. GOTO LOOP
GOTO TIME
CALL
Κάλεσμα μιας υπορουτίνας.
Πχ. CALL DELAY
CALL LOOP4
RETURN
Επιστροφή της ροής εκτέλεσης του προγράμματος μετά από αλλαγή (CALL) και εκτέλεση της επόμενης κατά σειρά εντολής.
Πχ. CALL DELAY1
… … … … … …
… … … … … …
RETURN