関数呼び出し前後において、レジスタの値が同一であることを保証するかどうかは、レジスタにより異なります。また、オプションにより特定の用途向けに使用するレジスタがあります。レジスタの使用規則を表 9.1に示します。
|  |  |  |  |  |  |  | 
| 
R0 | 
保証する | 
スタックポインタ | 
スタックポインタ | 
- | 
- | 
- | 
| 
R1 | 
保証しない | 
引数1 | 
戻り値1 | 
- | 
- | 
- | 
| 
R2 | 
保証しない | 
引数2 | 
戻り値2 | 
- | 
- | 
- | 
| 
R3 | 
保証しない | 
引数3 | 
戻り値3 | 
- | 
- | 
- | 
| 
R4 | 
保証しない | 
引数4 | 
戻り値4 | 
- | 
- | 
- | 
| 
R5 | 
保証しない | 
- | 
(不定) | 
- | 
- | 
- | 
| 
R6 | 
保証する | 
- | 
(入口の値を保持) | 
- | 
- | 
- | 
| 
R7 | 
保証する | 
- | 
(入口の値を保持) | 
- | 
- | 
- | 
| 
R8 | 
保証する | 
- | 
(入口の値を保持) | 
- | 
○ | 
- | 
| 
R9 | 
保証する | 
- | 
(入口の値を保持) | 
- | 
○ | 
○ | 
| 
R10 | 
保証する | 
- | 
(入口の値を保持) | 
○ | 
○ | 
○ | 
| 
R11 | 
保証する | 
- | 
(入口の値を保持) | 
○ | 
○ | 
○ | 
| 
R12 | 
保証する | 
- | 
(入口の値を保持) | 
○ | 
○ | 
○ | 
| 
R13 | 
保証する | 
- | 
(入口の値を保持) | 
○ | 
○ | 
○ | 
| 
R14 | 
保証しない | 
- | 
(不定) | 
- | 
- | 
- | 
| 
R15 | 
保証しない | 
構造体戻り値へのポインタ | 
(不定) | 
- | 
- | 
- | 
| 
DR0~DR15【V3.01.00以降】
 | 
保証する | 
- | 
(入口の値を保持) | 
- | 
- | 
- | 
| 
DCMR【V3.01.00以降】
 | 
保証する | 
- | 
(入口の値を保持) | 
- | 
- | 
- | 
| 
DPSWDECNT
 DEPC
 【V3.01.00以降】
 | 
保証しない | 
- | 
(不定) | 
- | 
- | 
- | 
| 
ISP 
USP | 
スタックポインタの場合はR0と同じ。 
そうでない場合は変化しません。*4 | 
- | 
- | 
- | 
| 
PC | 
- | 
プログラムカウンタ*5 | 
- | 
- | 
- | 
| 
PSW | 
保証しない | 
- | 
(不定) | 
- | 
- | 
- | 
| 
FPSW | 
保証しない | 
- | 
(不定) | 
- | 
- | 
- | 
| 
ACC | 
保証しない*6 | 
- | 
(不定) *6 | 
- | 
- | 
- | 
| 
ACC0 
ACC1 | 
保証しない*6 | 
- | 
(不定) *6 | 
- | 
- | 
- | 
| 
INTB 
BPC 
BPSW 
FINTV | 
- | 
変化しません*4 | 
- | 
- | 
- | 
- | 
| 
注 1. | R10~R13の4本は、fint_registerオプションにより、一部または全部が「高速割り込み機能」に使われることがあります。「高速割り込み機能」に割り当てられたレジスタは、他の用途に使用することはできません。機能の詳細はオプションの説明を参照してください。 | 
| 
注 2. | R8~R13の6本は、baseオプションにより、一部または全部が「ベースレジスタ機能」に使われることがあります。「ベースレジスタ機能」に割り当てられたレジスタは、他の用途に使用することはできません。機能の詳細はオプションの説明を参照してください。 | 
| 
注 3. | R9~R13のうちの1本は、pidオプションにより「PID機能」に使われることがあります。「PID機能」に割り当てられたレジスタは、他の用途に使用することはできません。機能の詳細はオプションの説明を参照してください。 | 
| 
注 4. | 組み込み関数または#pragma inline_asmで、これらのレジスタを設定したり更新したりする場合を除きます。 | 
| 
注 5. | 関数の呼び出しに使用する命令の仕様に従います。関数の呼び出しには、BSR, JSR, BRA および JMPのいずれかの命令を用います。 | 
| 
注 6. | アキュムレータ(ACC, ACC0, ACC1)を更新する命令は、RXのソフトウェアマニュアルを参照してください。 |