カテゴリ | ニモニック | 意味 | コード | |
---|---|---|---|---|
加算・減算 | ADDWF f, d | W + f → d | Add W and f | 00 0111 dfff ffff |
SUBWF f, d | f - W → d | Subtract W from f | 00 0010 dfff ffff | |
ADDLW k | W + k → W | Add literal and W | 11 111x kkkk kkkk | |
SUBLW k | k - W → W | Subtract W from literal | 11 110x kkkk kkkk | |
論理演算 | ANDWF f, d | W AND f → d | AND W with f | 00 0101 dfff ffff |
IORWF f, d | W OR f → d | Inclusive OR W with f | 00 0100 dfff ffff | |
XORWF f, d | W XOR f → d | Exclusive OR W with f | 00 0110 dfff ffff | |
ANDLW k | W AND k → W | And literal with W | 11 1001 kkkk kkkk | |
IORLW k | W OR k → W | Inclusive OR literal with W | 11 1000 kkkk kkkk | |
XORLW k | W XOR k → W | Exclusive OR literal with W | 11 1010 kkkk kkkk | |
COMF f, d | f → d | Complement f | 00 1001 dfff ffff | |
移動 | MOVF f, d | f → d | Move f | 00 1000 dfff ffff |
MOVWF f | W → f | Move W to f | 00 0000 1fff ffff | |
MOVLW k | k → W | Move litaral to W | 11 00xx kkkk kkkk | |
クリア | CLRF f | 0 → f | Clear f | 00 0001 1fff ffff |
CLRW W | 0 → W | Clear W | 00 0001 0xxx xxxx | |
インクリメント デクリメント |
DECF f, d | f - 1 → d | Decrement f | 00 0011 dfff ffff |
INCF f, d | f + 1 → d | Increment f | 00 1010 dfff ffff | |
DECFSZ f, d | f - 1 → d Skip if result = 0 |
Decrement f, Skip if 0 | 00 1011 dfff ffff | |
INCFSZ f, d | f + 1 → d Skip if result = 0 |
Increment f, Skip if 0 | 00 1111 dfff ffff | |
ビット操作 | BCF f, b | 0 → f[b] | Bit Clear f | 01 00bb bfff ffff |
BSF f, b | 1 → f[b] | Bit set f | 01 01bb bfff ffff | |
スキップ | BTFSC f, b | Skip if f[b] = 0 | Bit Test f, Skip if Clear | 01 10bb bfff ffff |
BTFSS f, b | Skip if f[b] = 1 | Bit Test f, Skip if Set | 01 11bb bfff ffff | |
シフト | RLF f, d |
f[n] → d[n+1] f[7] → C → d[0] |
Rotate Left f through Carry (左巡回シフト) |
00 1101 dfff ffff |
RRF f, d |
f[n] → d[n-1] f[0] → c → d[7] |
Rotate Right f through Carry (右巡回シフト) |
00 1100 dfff ffff | |
SWAPF f, d |
f[0:3] → d[4:7] f[4:7] → d[0:3] |
Swap nibbles in f (上位ビット ⇔ 下位ビット) |
00 1110 dfff ffff | |
ジャンプ | GOTO k | Go to address | 10 1kkk kkkk kkkk | |
CALL k | Call subroutine | 10 0kkk kkkk kkkk | ||
RETFIE | Return from interrupt | 00 0000 0000 1001 | ||
RETLW k | Return with literal in W | 11 01xx kkkk kkkk | ||
RETURN | Return from Subroutine | 00 0000 0000 1000 | ||
その他 | CLRWDT | Clear Watchdog Timer | 00 0000 0110 0100 | |
NOP | No Operation | 00 0000 0xx0 0000 | ||
SLEEP | Go into standby mode | 00 0000 0110 0011 |
Field | Size | Description |
---|---|---|
f | 7 | ワーキングレジスタのアドレス (0x00 ~ 0x7F) |
W | ─ | ワーキングレジスタ(アキュムレータ) |
b | 3 | 8 ビットファイルレジスタ内のビットアドレス |
k | 8/11 |
リテラル、定数またはラベル (0 ~ 255) or (-128 ~ 127) or (アスキーコード 'A' とか) |
x | ─ |
無効 (0 or 1) アセンブラは x=0 としてコードを生成します。 すべてのソフトウェアツールとの互換性を確保するために x=0 を推奨します。 |
d | 1 |
結果格納先指名子 (0 or 1) 0: W に格納 1: ファイルレジスタ f に格納 (Default) |
PC | ─ | プログラムカウンタ |
TO | ─ | タイムアウトビット |
PD | ─ | パワーダウンビット |