Instructions sur les registres en octets
Mnémonique |
Opérandes |
Description |
Bits |
Opcode |
Opcode |
Cycles |
Notes |
ADDWF | f,d | Add W and f | C,DC,Z | 00 0111 dfff ffff | 07ff |
1
|
1,2 |
ANDWF | f,d | And W with f | Z | 00 0101 dfff ffff | 05ff |
1
|
1,2 |
CLRF | f | Clear f | Z | 00 0001 1fff ffff | 01ff |
1
|
2 |
CLRW | Clear W | Z | 00 0001 0xxx xxxx | 0100 |
1
|
||
COMF | f,d | Complement f | Z | 00 1001 dfff ffff | 09ff |
1
|
1,2 |
DECF | f,d | Decrement f | Z | 00 0011 dfff ffff | 03ff |
1
|
1,2 |
DECFSZ | f,d | Decrement f, Skip if 0 | 00 1011 dfff ffff | 0Bff |
1(2)
|
1,2,3 | |
INCF | f,d | Increment f | Z | 00 1010 dfff ffff | 0Aff |
1
|
1,2 |
INCFSZ | f,d | Increment f, Skip if 0 |
|
00 1111 dfff ffff | 0Fff |
1(2)
|
1,2,3 |
IORWF | f,d | Inclusive OR W with f | Z | 00 0100 dfff ffff | 04ff |
1
|
1,2 |
MOVF | f,d | Move f | Z | 00 1000 dfff ffff | 08ff |
1
|
1,2 |
MOVWF | f | Move W to f | 00 0000 1fff ffff | 00ff |
1
|
||
NOP | No Operation | 00 0000 0xx0 0000 | 0000 |
1
|
|||
RLF | f,d | Rotate Left through Carry | C | 00 1101 dfff ffff | 0Dff |
1
|
1,2 |
RRF | f,d | Rotate Right f through Carry | C | 00 1100 dfff ffff | 0Cff |
1
|
1,2 |
SUBWF | f,d | Subtract W from f | C,DC,Z | 00 0010 dfff ffff | 02ff |
1
|
1,2 |
SWAPF | f,d | Swap nibbles in f | 00 1110 dfff ffff | 0Eff |
1
|
1,2 | |
XORWF | f,d | Exclusive OR W with f | Z | 00 0110 dfff ffff | 06ff |
1
|
1,2 |
Note 1 : Quand un registre d’entrées/sorties est modifié en fonction de lui-même (ex : MOVF PORTB,1), la valeur utilisée sera la valeur présente sur les broches elles-mêmes.
Note 2 : Si l’instruction est exécutée sur le registre TMR0 (et si d=1), le prédiviseur sera mis à zéro s’il est affecté au module Timer0.
< Précédent | Suivant > |
---|