PICのアセンブラ命令一覧

バイト処理命令

命令 機能 影響を受けるフラグ 命令サイクル数
ADDWF f, d 加算 W + f → W か f へ格納 C, DC, Z 1
ANDWF f, d 論理積 W AND f → W か f へ格納 Z 1
CLRF f f をゼロクリア Z 1
CLRW W をゼロクリア Z 1
COMF f, d f の 0,1 反転 → W か f へ格納 Z 1
DECF f, d f - 1 → W か f へ格納 Z 1
DECFSZ f, d f - 1 → W か f 結果ゼロなら次命令スキップ なし 1(2)
INCF f, d f + 1 → W か f へ格納 Z 1
INCFSZ f, d f + 1 → W か f 結果ゼロなら次命令スキップ なし 1(2)
IORWF f, d 論理和 W OR f → W か f へ格納 Z 1
MOVF f, d 移動 f から W または f 自身へ格納 Z 1
MOVWF f 移動 W から f へ格納 なし 1
NOP 何もしない なし 1
RLF f, d 1ビット左へシフト → W か f へ格納 C 1
RRF f, d 1ビット右へシフト → W か f へ格納 C 1
SUBWF f, d 減算 f - W → W か f へ格納 C, DC, Z 1
SWAPF f, d f の上位と下位を入れ替え → W か f へ格納 なし 1
XORWF f, d 排他的論理和 W XOR f → W か f へ格納 Z 1

ビット処理命令

命令 機能 影響を受けるフラグ 命令サイクル数
BCF f, b f の b ビット目をゼロにクリアする なし 1
BSF f, b f の b ビット目を1にセットする。 なし 1
BTFSC f, b f の b ビット目がゼロだったら次命令スキップ なし 1(2)
BTFSS f, b f の b ビット目が1だったら次命令スキップ なし 1(2)

リテラル処理命令

命令 機能 影響を受けるフラグ 命令サイクル数
ADDLW k 定数加算 W + k → W へ格納 C, DC, Z 1
ANDLW k 定数論理積 W AND k → W へ格納 Z 1
IORLW k 定数論理和 W OR k → W へ格納 Z 1
MOVLW k 定数移動 k → W へ格納 なし 1
SUBLW k 定数減算 k - W → W へ格納 Z 1
XORLW k 排他的論理和 W XOR k → W へ格納 Z 1

ジャンプ命令

命令 機能 影響を受けるフラグ 命令サイクル数
CALL k サブルーチン k へジャンプ なし 2
GOTO k k 番地へジャンプ なし 2
RETFIE 割り込み許可で戻る なし 2
RETLW k W に k を格納して戻る なし 2
RETURN サブルーチンから戻る なし 2

その他

命令 機能 影響を受けるフラグ 命令サイクル数
CLRWDT ウォッチドックタイマクリア なし 1
SLEEP スリープモードにする なし 1

オペランド

フラグ(STATUS レジスタ)


PIC16F87レジスタ

Bank 0 Address Bank 1 Address Bank 2 Address Bank 3 Address
Indirect addr 00h Indirect addr 80h Indirect addr 100h Indirect addr 180h
TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
PORTA 05h TRISA 85h WDTCON 105h 使用不可 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
使用不可 07h 使用不可 87h 使用不可 107h 使用不可 187h
08h 88h 108h 188h
09h 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh
PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 18Ch
PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2 18Dh
TMR1L 0Eh PCON 8Eh EEDATH 10Eh Reserved 18Eh
TMR1H 0Fh OSCCON 8Fh EEADRH 10Fh Reserved 18Fh
T1CON 10h OSCTUNE 90h 汎用レジスタ
16Bytes
110h 汎用レジスタ
16Bytes
190h
TMR2 11h 使用不可 91h 111h 191h
T2CON 12h PR2 92h 112h 192h
SSPBUF 13h SSPADD 93h 113h 193h
SSPCON 14h SSPSTAT 94h 114h 194h
CCPR1L 15h 使用不可 95h 115h 195h
CCPR1H 16h 96h 116h 196h
CCP1CON 17h 97h 117h 197h
RCSTA 18h TXSTA 98h 118h 198h
TXREG 19h SPBRG 99h 119h 199h
RCREG 1Ah 使用不可 9Ah 11Ah 19Ah
使用不可 1Bh 9Bh 11Bh 19Bh
1Ch CMCON 9Ch 11Ch 19Ch
1Dh CVRCON 9Dh 11Dh 19Dh
1Eh 使用不可 9Eh 11Eh 19Eh
1Fh 9Fh 11Fh 19Fh
汎用レジスタ
96Bytes
20h 汎用レジスタ
80Bytes
A0h 汎用レジスタ
80Bytes
120h 汎用レジスタ
80Bytes
1A0h
- - - -
- - - -
- EFh 16Fh 1EFh
- accesses
70h-7Fh
F0h accesses
70h-7Fh
170h accesses
70h-7Fh
1F0h
- - - -
- - - -
7Fh FFh 17Fh 1FFh