Kotisivu
Elektroniikka sivulle
PIC16F84
PIC16F877
![]()
PIC16xxx piirien käskyt.
|
f = |
Rekisteriosoite ( 0x00 ... 0x7F ), tai rekisterille annettu nimi | |
|
d = |
Kohteen valinta. | |
| d = 0 palauttaa tuloksen W-rekiseriin | ||
| d = 1 palauttaa tuloksen f-rekisteriin (käskyissä oletusarvona palautus f-rekisteriin) | ||
| ADDWF | f,d | (W) rekisterin sisältö lisätään (f) rekisteriin, tulos d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin C, DC, Z | ||
| ANDWF | f,d | Looginen vertailuoperaatio (W) AND (f), tulos d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z | ||
| CLRF | f | Tyhjentää rekisterin f = 00 |
| CLRW | Tyhjentää rekisterin W = 00 | |
| COMF | f,d | Muodostaa (f) rekisterin komplementin tulos siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z | ||
| DECF | f,d | Vähentää rekisteristä (f) 1, tulos siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z. Z=1 käskyn jälkeen jos tulos on 0 | ||
| DECFSZ | f,d | Vähentää rekisteristä (f) 1, tulos siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Ohitetaan seuraava käsky jos tulos on 0 | ||
| INCF | f,d | Lisätään rekisteriin (f) 1, tulos siirretään d:n määräämään paikkaan, jos d = 0, tulos (W), tai d = 1, niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z. Z=1 käskyn jälkeen jos tulos on 0 | ||
| INCFSZ | f,d | Lisätään rekisteriin (f) 1, tulos siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Ohitetaan seuraava käsky jos tulos on 0 | ||
| IORFW | f,d | Looginen vertailuoperaatio (W) TAI (f) , tulos d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z. Z=0 käskyn jälkeen jos tulos on 0 | ||
| MOVF | f,d | (f) rekisterin sisältö siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z | ||
| MOVWF | f | (W) rekisterin sisältö siirretään paikkaan (f) |
| NOP | Odottaa yhden käskyjakson ei tapahdu muuta toimintoa. | |
| RLF | f,d | Siirtää (f) rekisterin sisältöä yhden bitin vasemmalle, tulos siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin C, jos suurin bitti on 1 käskyn jälkeen C =1 | ||
| RRF | f,d | Siirtää (f) rekisterin sisältöä yhden bitin oikealle, tulos siirretään d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin C, käskyn jälkeen C =1 | ||
| SUBWF | f,d | Vähentää (W) rekisterin sisällön (f') sisällöstä, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin C, DC, Z . C = 1 jos tulos positiivinen, C=1 jos tulos on 0, C=0 jos tulos on negatiivinen. | ||
| SWAPF | f,d | Vaihtaa 8bit luvussa 4:n ensimmäisen ja viimeisen bitin paikkaa, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| (Luku 29h luvuksi 92h) | ||
| XORWF | f,d | Looginen vertailuoperaatio (W) XOR (f) , tulos d:n määräämään paikkaan, jos d = 0 tulos (W), tai d = 1 niin tulos (f) |
| Vaikuttaa STATUS rekisteriin Z | ||
|
b = |
bitti numero kohderekisterissä | |
| BCF | f,b | Kirjoitetaan 0 (f) rekisterin bittiin (b) |
| BSF | f,b | Kirjoitetaan 1 (f) rekisterin bittiin (b) |
| BTFSC | f,b | Ohitetaan seuraava käskyrivi jos (f) rekisterin bitti (b) = 0 |
| BTFSS | f,b | Ohitetaan seuraava käskyrivi jos (f) rekisterin bitti (b) = 1 |
|
k = |
luku 00h ... FFh, voidaan käyttää myös nimettyä rekisteriä. | |
| ADDLW | k | Lisää luku (k) (W) rekisterin sisältöön tulos (W) rekisteriin. |
| ANDLW | k | Looginen vertailuoperaatio luku (k) AND (W), tulos (W) rekisteriin. |
| Vaikuttaa STATUS rekisteriin Z | ||
| CALL | k | Aliohjelmakutsu (k) aliohjelman nimi tai muu aloituspaikka, lopetus vaatii aliohjelman palautuskäskyn. |
| CLRWDT | Nollataan Watchdog ajastin, rekisterit WDT ja WDT esijakaja = 00h ja TO ja PD = 1 | |
| GOTO | k | Hyppykäsky paikkaan (k) ei erillistä paluu käskyä. |
| IORLW | k | Looginen vertailuoperaatio luku (k) OR (W), tulos (W) rekisteriin. |
| Vaikuttaa STATUS rekisteriin Z | ||
| MOVLW | k | Kirjoitetaan luku (k) rekisteriin (W) |
| RETFIE | Ohjelman palautus keskeytyksestä | |
| RETLW | k | Aliohjelman palautus pääohjelmaan palautusosoite taulukon kautta |
| RETURN | Aliohjelman palautus pääohjelmaan | |
| SLEEP | Power down status bitti (PD) nollataan. Time-out status bitti (TO) asetetaan. Watchdog ajastin ja esijakaja nollataan. | |
| Prosessori asetetaan SLEEP tilaan ja oskillaattori pysäytetään. | ||
| SUBLW | k | Vähentää (W) rekisterin sisällön (k):sta tulos (W) rekisteriin. |
| Vaikuttaa STATUS rekisteriin C, DC, Z . C = 1 jos tulos positiivinen, C=1 jos tulos on 0, C=0 jos tulos on negatiivinen. | ||
| XORLW | k | Looginen vertailuoperaatio (W) XOR (k) , tulos (W) rekisteriin |
| Vaikuttaa STATUS rekisteriin Z | ||
| OPTION | Option rekisteriin kirjoitus tapahtuu siten että , ensiksi valitaan BANK1, siirretään luku (W-rekisteriin) ja sen jälkeen käskyllä MOVF OPTION siirretään (W- rekisterin) sisältö option rekisterin sisällöksi. Ja lopuksi taas siirrytään BANK0:aan. | |
| TRIS | TRISA tai TRISB rekisteriin kirjoitetaan lisäämällä luku ensin W rekisteriin ja siirtämällä se sieltä MOVWF TRISA tai MOVWF TRISB käskyillä TRISA tai TRISB rekistereihin. |