Aus RN-Wissen.de
Zeile 238: | Zeile 238: | ||
{|{{Blauetabelle}} | {|{{Blauetabelle}} | ||
− | | ''' | + | | '''CLRWDT''' |
− | | '''Clear | + | | '''Clear Watchdog Timer''' |
|- | |- | ||
|Syntax: | |Syntax: | ||
− | | | + | | CLRWDT |
+ | |- | ||
+ | |Operanten: | ||
+ | | / | ||
+ | |- | ||
+ | |Operation: | ||
+ | | 00h → WDT, | ||
+ | 0 → WDT prescaler, | ||
+ | 1 → TO, | ||
+ | 1 → PD | ||
+ | |- | ||
+ | |Beeinflusste Statusbits: | ||
+ | | TO, PD | ||
+ | |- | ||
+ | |Beschreibung: | ||
+ | | Der Watchdogtimer (TMR0) wird resettet. es wird ebenfalls der Prescaler resettet. Die Statusbits T0 und PD werden gesetzt. | ||
+ | |} | ||
+ | |||
+ | |||
+ | {|{{Blauetabelle}} | ||
+ | | '''COMF''' | ||
+ | | '''Complement f''' | ||
+ | |- | ||
+ | |Syntax: | ||
+ | | COMF f,d | ||
+ | |- | ||
+ | |Operanten: | ||
+ | | 0 ≤ f ≤ 127 und | ||
+ | d ∈ [0,1] | ||
+ | |- | ||
+ | |Operation: | ||
+ | | (f) → (destination) | ||
+ | |- | ||
+ | |Beeinflusste Statusbits: | ||
+ | | Z | ||
+ | |- | ||
+ | |Beschreibung: | ||
+ | | Alle Bits des Registers f werden invertiert (1 wird 0 und 0 wird 1) und das Ergebnis entweder in den Arbeitsregister W (d=0) oder wieder in das Register f (d=1) gespeichert. | ||
+ | |} | ||
+ | |||
+ | |||
+ | {|{{Blauetabelle}} | ||
+ | | '''DECF''' | ||
+ | | '''Decrement f''' | ||
+ | |- | ||
+ | |Syntax: | ||
+ | | DECF f,d | ||
|- | |- | ||
|Operanten: | |Operanten: | ||
| 0 ≤ f ≤ 127 | | 0 ≤ f ≤ 127 | ||
+ | d ∈ [0,1] | ||
|- | |- | ||
|Operation: | |Operation: | ||
− | | | + | | (f) – 1 → (destination) |
− | 1 → | + | |
|- | |- | ||
|Beeinflusste Statusbits: | |Beeinflusste Statusbits: | ||
Zeile 255: | Zeile 301: | ||
|- | |- | ||
|Beschreibung: | |Beschreibung: | ||
− | | Das | + | | Das Register f wird decrementiert (f=f-1) und das Ergebnis entweder in den Arbeitsregister W (d=0) oder wieder in das Register f (d=1) gespeichert. |
|} | |} | ||
+ | |||
+ | {|{{Blauetabelle}} | ||
+ | | '''DECFSZ''' | ||
+ | | '''Decrement f, skip if 0''' | ||
+ | |- | ||
+ | |Syntax: | ||
+ | | DECFSZ f,d | ||
+ | |- | ||
+ | |Operanten: | ||
+ | | 0 ≤ f ≤ 127 | ||
+ | d ∈ [0,1] | ||
+ | |- | ||
+ | |Operation: | ||
+ | | (f) – 1 → (destination), skip if result = 0 | ||
+ | |- | ||
+ | |Beeinflusste Statusbits: | ||
+ | | Z | ||
+ | |- | ||
+ | |Beschreibung: | ||
+ | | Das Register f wird decrementiert (f=f-1) und das Ergebnis entweder in den Arbeitsregister W (d=0) oder wieder in das Register f (d=1) gespeichert. Danach wird überprüft, ob das Ergebnis 0 war. Wenn ja, dann wird an Stelle des nächsten Befehls ein NOP durchgeführt. | ||
+ | |} | ||
+ | |||
+ | |||
+ | {|{{Blauetabelle}} | ||
+ | | '''Goto''' | ||
+ | | '''uncontitional Branch''' | ||
+ | |- | ||
+ | |Syntax: | ||
+ | | GOTO k | ||
+ | |- | ||
+ | |Operanten: | ||
+ | | 0 ≤ k ≤ 2047 | ||
+ | |- | ||
+ | |Operation: | ||
+ | | k → PC<10:0>, | ||
+ | PCLATH<4:3> → PC<12:11> | ||
+ | |- | ||
+ | |Beeinflusste Statusbits: | ||
+ | | / | ||
+ | |- | ||
+ | |Beschreibung: | ||
+ | | Goto veranlasst einen Sprung an die Adresse k im Programmspeicher. Es werden aber nur die 11 niedrigstens Bit der Adresse mit GOTO bestimmt, die beiden höchsten werden aus dem Register PCLATH geladen. | ||
|} | |} |
Version vom 10. April 2007, 13:47 Uhr
!!UNTER BEARBEITUNG!!
ADDLW | ADD Zahl und W |
Syntax: | ADDLW k |
Operanten: | 0 ≤ k ≤ 255 |
Operation: | (W) + k → (W) |
Beeinflusste Statusbits: | C, DC, Z |
Beschreibung: | Der Inhalt des W Registers wird mit der 8-Bit Zahl k ADD addiert und das Ergebnis landet wieder im W Register |
ADDWF | ADD W und f |
Syntax: | ADDWF f,d |
Operanten: | 0 ≤ f ≤ 127 und d ∈ [0,1] |
Operation: | (W) + (f) → (destination) |
Beeinflusste Statusbits: | C, DC, Z |
Beschreibung: | Der Inhalt des W Registers wird mit dem Register f addiert und das Ergebnis landet entweder im W Register (d=0) oder im Register f (d=1) |
ANDLW | AND Zahl mit W |
Syntax: | ADDLW k |
Operanten: | 0 ≤ k ≤ 255 |
Operation: | (W) + k → (W) |
Beeinflusste Statusbits: | Z |
Beschreibung: | Der Inhalt des W Registers wird mit der 8-Bit Zahl k verundent und das Ergebnis landet wieder im W Register |
ANDWF | AND W mit f |
Syntax: | ANDWF f,d |
Operanten: | 0 ≤ f ≤ 127 und d ∈ [0,1] |
Operation: | (W) .AND. (f) → (destination) |
Beeinflusste Statusbits: | Z |
Beschreibung: | Der Inhalt des W Registers wird mit dem Register f verundet und das Ergebnis landet entweder im W Register (d=0) oder im Register f (d=1) |
BCF | Bit Clear f |
Syntax: | BCF f,b |
Operanten: | 0 ≤ f ≤ 127 und 0 ≤ b ≤ 7 |
Operation: | 0 → (f) |
Beeinflusste Statusbits: | / |
Beschreibung: | Bit ‘b’ in Register ‘f’ wird auf 0 gesetzt |
BSF | Bit Set f |
Syntax: | BSF f,b |
Operanten: | 0 ≤ f ≤ 127 und 0 ≤ b ≤ 7 |
Operation: | 0 → (f<b>) |
Beeinflusste Statusbits: | / |
Beschreibung: | Bit ‘b’ in Register ‘f’ wird auf 1 gesetzt |
BTFSC | Bit Test f, Skip if Clear |
Syntax: | BTFSC f,b |
Operanten: | 0 ≤ f ≤ 127 und 0 ≤ b ≤ 7 |
Operation: | skip if (f<b>) = 0 |
Beeinflusste Statusbits: | / |
Beschreibung: | Wenn das Bit b im Register f 0 ist, dann wird der nachfolgende Befehl nicht und stattdessen ein NOP ausgeführt. Wenn das Bit b 1 ist, dann wird der nächste Befehl ausgeführt. |
BTFSS | Bit Test f, Skip if Set |
Syntax: | BTFSS f,b |
Operanten: | 0 ≤ f ≤ 127 und 0 ≤ b ≤ 7 |
Operation: | skip if (f<b>) = 1 |
Beeinflusste Statusbits: | / |
Beschreibung: | Wenn das Bit b im Register f 1 ist, dann wird der nachfolgende Befehl nicht und stattdessen ein NOP ausgeführt. Wenn das Bit b 0 ist, dann wird der nächste Befehl ausgeführt. |
CALL | Call Subroutine |
Syntax: | CALL k |
Operanten: | 0 ≤ k ≤ 2047 |
Operation: | (PC) + 1 → TOS,
k → PC<10:0>, (PCLATH<4:3>) → PC<12:11> |
Beeinflusste Statusbits: | / |
Beschreibung: | Als erstes wird die Rückkehradresse (PC+1) in den Stack geschrieben. Dann Die 11bit Sprungadresse in den PC geladen (die 2 MSB kommen aus dem PCLATH). |
CLRF | Clear f |
Syntax: | CLRF f |
Operanten: | 0 ≤ f ≤ 127 |
Operation: | 00h → (f),
1 → Z |
Beeinflusste Statusbits: | Z |
Beschreibung: | Das komplette Byte im Register f wird gelöscht (lauter 0er). Das hat zur folge, das Z gesetzt wird. |
CLRW | Clear W |
Syntax: | CLRW |
Operanten: | / |
Operation: | 00h → (W),
1 → Z |
Beeinflusste Statusbits: | Z |
Beschreibung: | Das Statusregister wird gelöscht und anschließed das Z-Bit auf 1 gesetzt. |
CLRWDT | Clear Watchdog Timer |
Syntax: | CLRWDT |
Operanten: | / |
Operation: | 00h → WDT,
0 → WDT prescaler, 1 → TO, 1 → PD |
Beeinflusste Statusbits: | TO, PD |
Beschreibung: | Der Watchdogtimer (TMR0) wird resettet. es wird ebenfalls der Prescaler resettet. Die Statusbits T0 und PD werden gesetzt. |
COMF | Complement f |
Syntax: | COMF f,d |
Operanten: | 0 ≤ f ≤ 127 und
d ∈ [0,1] |
Operation: | (f) → (destination) |
Beeinflusste Statusbits: | Z |
Beschreibung: | Alle Bits des Registers f werden invertiert (1 wird 0 und 0 wird 1) und das Ergebnis entweder in den Arbeitsregister W (d=0) oder wieder in das Register f (d=1) gespeichert. |
DECF | Decrement f |
Syntax: | DECF f,d |
Operanten: | 0 ≤ f ≤ 127
d ∈ [0,1] |
Operation: | (f) – 1 → (destination) |
Beeinflusste Statusbits: | Z |
Beschreibung: | Das Register f wird decrementiert (f=f-1) und das Ergebnis entweder in den Arbeitsregister W (d=0) oder wieder in das Register f (d=1) gespeichert. |
DECFSZ | Decrement f, skip if 0 |
Syntax: | DECFSZ f,d |
Operanten: | 0 ≤ f ≤ 127
d ∈ [0,1] |
Operation: | (f) – 1 → (destination), skip if result = 0 |
Beeinflusste Statusbits: | Z |
Beschreibung: | Das Register f wird decrementiert (f=f-1) und das Ergebnis entweder in den Arbeitsregister W (d=0) oder wieder in das Register f (d=1) gespeichert. Danach wird überprüft, ob das Ergebnis 0 war. Wenn ja, dann wird an Stelle des nächsten Befehls ein NOP durchgeführt. |
Goto | uncontitional Branch |
Syntax: | GOTO k |
Operanten: | 0 ≤ k ≤ 2047 |
Operation: | k → PC<10:0>,
PCLATH<4:3> → PC<12:11> |
Beeinflusste Statusbits: | / |
Beschreibung: | Goto veranlasst einen Sprung an die Adresse k im Programmspeicher. Es werden aber nur die 11 niedrigstens Bit der Adresse mit GOTO bestimmt, die beiden höchsten werden aus dem Register PCLATH geladen. |