2.22  
RL78命令シミュレータ【シミュレータ】
 
この節では,RL78命令シミュレータについて説明します。
 
RL78 命令シミュレータは下記機能のシミュレーションを行います。
-  | 命令(RL78-S1コア,RL78-S2コア,RL78-S3コアの各命令)  | 
 
RL78-S3コアは乗除積和算命令を含みます。
RL78-S2コアのみ,乗除積和算器をサポートしています。
16ビット×16ビット = 32ビット(符号なし)
16ビット×16ビット = 32ビット(符号付)
16ビット×16ビット+32ビット = 32ビット(符号なし)
16ビット×16ビット+32ビット = 32ビット(符号付)
32ビット÷32ビット = 32ビット 剰余32ビット(符号なし)
MDAL/MDAH/MDBH/MDBL/MDCL/MDCH/MDUC
注意 1.  | 乗除算器や積和演算器を除算モードで使用した場合,除算処理は1クロックで終了します。  | 
 
注意 2.  | 乗除算器や積和演算器を除算モードで使用した場合,除算完了割り込みは発生しません。 
ただし,除算完了を示すSFR は変化します(乗除算コントロール・レジスタ(MDUC)のDIVST ビットが0 になります)。  | 
 
10進補正(BCD)回路をサポートしています。
BCDADJ
CPUクロックはRL78/G13のクロック発生回路の仕様(一部RL78/G14の仕様)で生成します。
下記のSFRのみサポートしています。
| 
 | 
 | 
| 
 
CMC 
 | 
 
ビット0, 1, 2(AMPH, AMPHS0, AMPHS1)は未サポートです。 
 | 
| 
 
CKC 
 | 
 
  
 | 
| 
 
CSC 
 | 
 
  
 | 
| 
 
OSTC 
 | 
 
注意1. を参照してください。 
 | 
| 
 
OSTS 
 | 
 
  
 | 
| 
 
HOCODIV 
 | 
 
RL78/G14の仕様で動作します。 
 | 
 
ユーザ・オプション・バイト(000C2H)の高速オンチップ・オシレータの周波数の設定のみ,RL78/G14の仕様でFRQSEL0 ~ FRQSEL4(ビット0~4)をサポートします。
-  | X1発振回路のクロックは,プロパティ パネルの[接続用設定]タブ上の[クロック]カテゴリ内[メイン・クロック周波数[MHz]]プロパティで指定します。  | 
 
-  | XT1発振回路のクロックは,プロパティ パネルの[接続用設定]タブ上の[クロック]カテゴリ内[サブ・クロック周波数[kHz]]プロパティで指定します。  | 
 
注意 1.  | シミュレータは発振安定時間に対応していません。発振を開始するとOSTCレジスタはカウントアップ動作せずにOSTSの設定に従った値になります。  | 
 
注意 2.  | 選択しているマイクロコントローラのSFRの仕様がRL78/G13と異なる場合,RL78命令シミュレータはRL78/G13の仕様で動作します。  | 
 
注意 3.  | 選択しているマイクロコントローラに当該SFRが存在しない場合,RL78命令シミュレータはRL78/G13の当該SFRのリセット後の値で動作します。  | 
 
注意 4.  | 選択しているマイクロコントローラのユーザ・オプション・バイト(000C2H)の仕様がRL78/G14のオプション・バイトと異なる場合,RL78命令シミュレータはRL78/G14の仕様で動作します。  | 
 
注意 5.  | 選択しているマイクロコントローラにオプション・バイトが存在しない場合でも,RL78命令シミュレータは000C2H番地をユーザ・オプション・バイトとして読み,RL78/G14の仕様で動作します。  | 
 
注意 6.  | RL78/G13仕様のクロックソースが選択しているマイクロコントローラにない場合でも,クロックソースはRL78/G13仕様で動作します。  | 
 
注意 7.  | 選択しているマイクロコントローラの低速オンチップ・オシレータ・クロック(fIL),高速オンチップ・オシレータ・クロック周波数(fIH)の仕様がRL78/G13と異なる場合,RL78命令シミュレータはRL78/G13の仕様で動作します。  | 
 
 
注意  | 下記機能のシミュレーションは対応していません。  | 
 
-  | パイプライン(従ってサイクル精度はありません。)  | 
 
-  | フラッシュ・メモリ(フラッシュセルフプログラミング機能やデータフラッシュのアクセス手順 等)  | 
 
なお,以下のPython 関数を使用して,疑似的な割り込みを発生することは可能です。
詳細は,「CS+ Python コンソール編」を参照してください。
-  | debugger.Interrupt.PseudoInterrupt  | 
 
-  | debugger.PseudoTimer.Set  | 
 
-  | debugger.PseudoTimer.Delete  | 
 
-  | debugger.PseudoTimer.Information  |