論理演算命令 |
命令 |
|
変化するフラグ |
機能 |
AND |
fr, W |
Z |
fr = fr & W
|
|
AND |
W, fr |
Z |
W = W & fr
|
|
AND |
W, #lit |
Z |
W = W & #lit
|
|
NOT |
fr |
Z |
fr = /fr |
NOT |
W |
Z |
W = /W |
MOV |
W, /fr |
Z |
W = /fr |
OR |
fr, W |
Z |
fr = fr | W |
OR |
W, fr |
Z |
W = fr | W |
OR |
W, #lit |
Z |
W = W | #lit |
XOR |
fr, W |
Z |
fr = fr ^ W |
XOR |
W, fr |
Z |
W = W ^ fr |
XOR |
W, #lit |
Z |
W = W ^ #lit |
算術・シフト演算命令 |
ADD |
fr, W |
C,DC,Z |
fr = fr + W (+C; CF=1のとき) |
ADD |
W, fr |
C,DC,Z |
W = W + fr (+C; CF=1のとき) |
SUB |
fr, W |
C,DC,Z |
fr = fr - W (+C; CF=0のとき) |
MOV |
W, fr-W |
C,DC,Z |
W = fr - W (+C; CF=0のとき) |
CLR |
fr |
Z |
fr = 0 |
CLR |
W |
Z |
W = 0 |
CLR |
!WDT |
TO,PD |
WDTとプリスケーラをクリア |
DEC |
fr |
Z |
fr-- |
INC |
fr |
Z |
fr++ |
MOV |
W, --fr |
Z |
W = fr-1 |
MOV |
W, ++fr |
Z |
W = fr+1 |
MOV |
W, << fr |
C |
frを左ローテートした結果をWにセット |
MOV |
W, >> fr |
C |
frを右ローテートした結果をWにセット |
MOV |
W, <> fr |
- |
frの上位4ビットと下位4ビットを入れ換えた結果をWにセット |
RL |
fr |
C |
frを左ローテート |
RR |
fr |
C |
frを右ローテート |
SWAP |
fr |
- |
frの上位4ビットと下位4ビットの入れ換え |
NOP |
|
- |
No operation |
ビット操作命令 |
SETB |
fr.bit |
- |
fr.bit = 1 |
CLRB |
fr.bit |
- |
fr.bit = 0 |
CLC |
|
C |
Cフラグをクリア |
CLZ |
|
Z |
Zフラグをクリア |
|
|
データ転送命令 |
命令 |
|
変化するフラグ |
機能 |
MOV |
fr, W |
- |
fr = W |
MOV |
W, fr |
Z |
W = fr |
MOV |
W, #lit |
- |
W = #lit |
MOV |
W, M |
- |
W = MODE |
MOV |
M, W |
- |
MODE = W |
MOV |
M, #lit |
- |
MODE = #lit |
MOV |
!rx, W |
- |
!rx(ポートコントロールレジスタ) = W |
MOV |
!OPTION, W |
- |
OPTION = W |
TEST |
fr |
Z |
fr = 0 なら Zをセット |
スキップ命令 |
SB |
fr.bit |
- |
fr.bit = 1 のとき次の命令をスキップ |
SNB |
fr.bit |
- |
fr.bit = 0のとき次の命令をスキップ |
MOVSZ |
W, --fr |
- |
W = fr-1, 結果が0なら次の命令をスキップ |
MOVSZ |
W, ++fr |
- |
W = fr+1, 結果が0なら次の命令をスキップ |
SC |
|
C |
Cがセットされているとき次の命令をスキップ |
DECSZ |
fr |
- |
fr--, 結果が0なら次の命令をスキップ |
INCSZ |
fr |
- |
fr++, 結果が0なら次の命令をスキップ |
ジャンプ命令 |
CALL |
addr8 |
- |
addr8をコール |
JMP |
addr9 |
- |
addr9にジャンプ |
JMP |
W |
- |
PC(L) = W |
JMP |
PC+W |
C,DC,Z |
PC(L) += W |
RET |
|
- |
call命令からのリターン |
RETP |
|
- |
call命令からのリターン。PA2:PA0の値をセット |
RETI |
|
- |
割込みからのリターン |
RETIW |
|
- |
割込みからのリターン。RTCC=RTCC-W |
RETW |
lit |
- |
W = #litとしてリターン |
SKIP |
|
- |
次の命令をスキップ |
システムコントロール命令 |
BANK |
n |
- |
バンク切り替え |
IREAD |
|
- |
MODE:W の指すプログラムメモリの値を MODE:Wに読み出す |
MODE |
n |
- |
MODE = n |
PAGE |
n |
- |
PA2: PA0 = n |
SLEEP |
|
TO,PD |
WDTをクリアし, スリープモードに入る |
|
|