10.6MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
はじめに
■ 本書の目的と対象読者
富士通マイクロエレクトロニクス製品につきまして,平素より格別のご愛読を賜
り厚くお礼申し上げます。
MB90435シリーズは,ASIC(Application Specific IC)対応が可能なオリジナル16
®
ビット・ワンチップマイクロコントローラであるF2MC -16LXシリーズの汎用品の一
つとして開発された製品です。
本書は,実際にこの半導体を使って製品を設計する技術者の方を対象に,MB90435
シリーズの機能や動作について記載しています。本書をご一読ください。
■ 商標
F2MCは,FUJITSU Flexible Microcontrollerの略で富士通マイクロエレクトロニ
クス株式会社の商標です。
そのほか,本書で登場するシステム名,製品名はそれぞれの会社もしくは組織の
商標です。
なお,本文中では™マークや®マークを必ずしも明記していません。
i
■ 本書の全体構成
本書は,以下に示す24の章および付録から構成されています。
第1章
概要
この章では,MB90435シリーズの特長や基本的な仕様について示します。
第2章
CPU
この章では,CPUについて説明します。
第3章
割込み
この章では,割込みの機能と動作について説明します。
第4章
クロックとリセット
この章では,クロックとリセットの機能と動作について説明します。
第5章
低消費電力制御回路
この章では,低消費電力制御回路の機能と動作について説明します。
第6章
低消費電力モード
この章では,低消費電力モードの機能と動作について説明します。
第7章
メモリアクセスモード
この章では,メモリアクセスモードの機能と動作について説明します。
第8章
I/Oポート
この章では,I/Oポートの機能と動作について説明します。
第9章
タイムベースタイマ
この章では,タイムベースタイマの機能と動作について説明します。
第10章
ウォッチドッグタイマ
この章では,ウォッチドッグタイマの機能と動作について説明します。
第11章
時計タイマ
この章では,時計タイマの機能と動作について説明します。
第12章
16ビット入出力タイマ
この章では,16ビット入出力タイマの機能と動作について説明します。
第13章
16ビットリロードタイマ(イベントカウント機能付)
この章では,イベントカウント機能付の16ビットリロードタイマ(イベントカ
ウント機能付)の機能と動作について説明します。
第14章
8/16ビットPPG
この章では,8/16ビットPPGの機能と動作について説明します。
第15章
遅延割込み
この章では,遅延割込みの機能と動作について説明します。
第16章
DTP/外部割込み
この章では,DTP/外部割込みの機能と動作について説明します。
第17章
A/Dコンバータ
この章では,A/Dコンバータの機能と動作について説明します。
ii
第18章
UART0
この章では,UART0の機能と動作について説明します。
第19章
UART1(SCI)
この章では,UART1の機能と動作について説明します。
第20章
シリアルI/O
この章では,シリアルI/Oの機能と動作について説明します。
第21章
アドレス一致検出機能
この章では,アドレス一致検出機能の機能と動作について説明します。
第22章
ROMミラー機能選択モジュール
この章では,ROMミラー機能選択モジュールの機能と動作について説明します。
第23章
1M/2Mビットフラッシュメモリ
この章では,1M/2Mビットフラッシュメモリの機能と動作について説明します。
第24章
MB90F438L(S)/F439(S)シリアル書込み接続例
この章では,MB90F438L(S)/F439(S)のシリアル書込みの接続例について説明
します。
付録
付録では,I/Oマップ,命令概要について示します。
iii
・本資料の記載内容は, 予告なしに変更することがありますので, ご用命の際は営業部門にご確認ください。
・本資料に記載された動作概要や応用回路例は, 半導体デバイスの標準的な動作や使い方を示したもので, 実際
に使用する機器での動作を保証するものではありません。したがいまして, これらを使用するにあたってはお
客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについては, 当社はその
責任を負いません。
・本資料に記載された動作概要・回路図を含む技術情報は, 当社もしくは第三者の特許権, 著作権等の知的財産
権やその他の権利の使用権または実施権の許諾を意味するものではありません。また, これらの使用について,
第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。したがって, これ
らの使用に起因する第三者の知的財産権やその他の権利の侵害について, 当社はその責任を負いません。
・本資料に記載された製品は, 通常の産業用, 一般事務用, パーソナル用, 家庭用などの一般的用途に使用され
ることを意図して設計・製造されています。極めて高度な安全性が要求され, 仮に当該安全性が確保されない
場合, 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力施設における
核反応制御, 航空機自動飛行制御, 航空交通管制, 大量輸送システムにおける運行制御, 生命維持のための医
療機器, 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性が要求される用途(海
底中継器, 宇宙衛星をいう)に使用されるよう設計・製造されたものではありません。したがって, これらの
用途にご使用をお考えのお客様は, 必ず事前に営業部門までご相談ください。ご相談なく使用されたことによ
り発生した損害などについては, 責任を負いかねますのでご了承ください。
・半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても, 結果的に人身事故, 火災
事故, 社会的な損害を生じさせないよう,お客様は, 装置の冗長設計, 延焼対策設計, 過電流防止対策設計, 誤
動作防止設計などの安全設計をお願いします。
・本資料に記載された製品を輸出または提供する場合は, 外国為替及び外国貿易法および米国輸出管理関連法規
等の規制をご確認の上, 必要な手続きをおとりください。
・本書に記載されている社名および製品名などの固有名詞は, 各社の商標または登録商標です。
Copyright ©2002-2008 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iv
目次
第1章
概要 ............................................................ 1
1.1
製品概要 ............................................................... 2
1.2
特長 ................................................................... 3
1.3
ブロックダイヤグラム ................................................... 5
1.4
パッケージ外形寸法図 ................................................... 6
1.5
端子配列図 ............................................................. 8
1.6
端子機能説明 .......................................................... 10
1.7
入出力回路形式 ........................................................ 14
1.8
デバイスの取扱いに関する注意事項....................................... 17
第2章
CPU ............................................................ 21
2.1
CPUの概要 ............................................................. 22
2.2
メモリ空間 ............................................................ 23
2.3
メモリ空間マップ ...................................................... 24
2.4
リニア方式によるアドレス指定 .......................................... 25
2.5
バンク方式によるアドレス指定 .......................................... 26
2.6
メモリ空間における多バイト長データ..................................... 28
2.7
レジスタ .............................................................. 29
2.7.1
アキュムレータ(A) ................................................... 32
2.7.2
ユーザスタックポインタ(USP)とシステムスタックポインタ(SSP) .......... 33
2.7.3
プロセッサステータス(PS) ............................................ 34
2.7.4
プログラムカウンタ(PC) .............................................. 37
2.8
レジスタバンク ........................................................ 38
2.9
プリフィックスコード .................................................. 40
2.10
割込み抑止命令 ........................................................ 42
2.11
「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意......................... 44
第3章
割込み ......................................................... 47
3.1
割込みの概要 .......................................................... 48
3.2
割込み要因 ............................................................ 49
3.3
割込みベクタ .......................................................... 51
v
3.4
ハードウェア割込み .................................................... 53
3.4.1
ハードウェア割込みの動作 ............................................ 55
3.4.2
ハードウェア割込みの動作フロー ...................................... 57
3.5
ソフトウェア割込み .................................................... 58
3.6
拡張インテリジェントI/Oサービス(EI2OS) ................................. 60
3.7
第4章
3.6.1
割込み制御レジスタ(ICR) ............................................. 62
3.6.2
拡張インテリジェントI/Oサービスディスクリプタ(ISD) .................. 65
3.6.3
拡張インテリジェントI/Oサービス(EI2OS)の動作......................... 68
3.6.4
拡張インテリジェントI/Oサービス(EI2OS)の実行時間..................... 70
未定義命令の実行による例外発生 ........................................ 71
クロックとリセット ............................................. 73
4.1
クロック発生部 ........................................................ 74
4.2
リセット要因の発生 .................................................... 75
4.3
リセット要因 .......................................................... 79
第5章
低消費電力制御回路 ............................................. 81
5.1
低消費電力制御回路の概要 .............................................. 82
5.2
低消費電力制御回路のブロックダイヤグラム............................... 84
5.3
低消費電力制御回路のレジスタ .......................................... 85
5.4
第6章
6.1
5.3.1
低消費電力モード制御レジスタ(LPMCR) ................................. 86
5.3.2
クロック選択レジスタ(CKSCR) ......................................... 88
クロック選択の状態遷移 ................................................ 91
低消費電力モード ............................................... 95
低消費電力モード ...................................................... 96
6.1.1
スリープモード ..................................................... 100
6.1.2
擬似時計モード ..................................................... 101
6.1.3
時計モード ......................................................... 102
6.1.4
ストップモード ..................................................... 103
6.1.5
ハードウェアスタンバイモード ....................................... 104
6.1.6
CPU間欠動作 ........................................................ 105
6.2
低消費電力モードの状態遷移 ........................................... 106
6.3
低消費電力モード状態遷移図 ........................................... 110
vi
第7章
7.1
7.2
7.3
第8章
メモリアクセスモード .......................................... 119
メモリアクセスモードの概要 ........................................... 120
7.1.1
モード端子 ......................................................... 121
7.1.2
モードデータ ....................................................... 122
7.1.3
バスモード別メモリ空間 ............................................. 123
外部メモリアクセス(バス端子制御回路).................................. 125
7.2.1
外部メモリアクセス(外部バス端子制御回路)のレジスタ ................. 126
7.2.2
自動レディ機能選択レジスタ(ARSR) ................................... 127
7.2.3
外部アドレス出力制御レジスタ(HACR) ................................. 129
7.2.4
バス制御信号選択レジスタ(ECSR) ..................................... 130
外部メモリアクセス制御信号の動作...................................... 132
7.3.1
レディ機能 ......................................................... 134
7.3.2
ホールド機能 ....................................................... 136
I/Oポート ..................................................... 137
8.1
I/Oポート ............................................................ 138
8.2
I/Oポートのレジスタ一覧 .............................................. 139
第9章
8.2.1
ポートデータレジスタ(PDR) .......................................... 140
8.2.2
ポート方向レジスタ(DDR) ............................................ 141
8.2.3
プルアップ制御レジスタ(PUCR) ....................................... 142
8.2.4
アナログ入力許可レジスタ(ADER) ..................................... 143
タイムベースタイマ ............................................ 145
9.1
タイムベースタイマの概要 ............................................. 146
9.2
タイムベースタイマ制御レジスタ(TBTC).................................. 148
9.3
タイムベースタイマの動作 ............................................. 149
第10章
ウォッチドッグタイマ .......................................... 151
10.1
ウォッチドッグタイマの概要 ........................................... 152
10.2
ウォッチドッグタイマ制御レジスタ(WDTC)................................ 154
10.3
ウォッチドッグタイマの動作 ........................................... 156
第11章
時計タイマ .................................................... 157
11.1
時計タイマの概要 ..................................................... 158
11.2
時計タイマ制御レジスタ(WTC) .......................................... 160
vii
11.3
第12章
時計タイマの動作 ..................................................... 162
16ビット入出力タイマ .......................................... 163
12.1
16ビット入出力タイマの概要 ........................................... 164
12.2
16ビット入出力タイマのレジスタ ....................................... 166
12.3
16ビットフリーランタイマ ............................................. 167
12.4
12.5
第13章
12.3.1
16ビットフリーランタイマのレジスタ ................................. 168
12.3.2
タイマカウンタコントロールステータスレジスタ ....................... 169
12.3.3
16ビットフリーランタイマの動作 ..................................... 171
アウトプットコンペア ................................................. 173
12.4.1
アウトプットコンペアのレジスタ ..................................... 174
12.4.2
アウトプットコンペアのコントロールステータスレジスタ ............... 175
12.4.3
16ビットアウトプットコンペアの動作 ................................. 177
インプットキャプチャ ................................................. 179
12.5.1
インプットキャプチャのレジスタ ..................................... 180
12.5.2
16ビットインプットキャプチャの動作 ................................. 182
16ビットリロードタイマ(イベントカウント機能付) ................ 185
13.1
16ビットリロードタイマ(イベントカウント機能付)の概要.................. 186
13.2
16ビットリロードタイマのレジスタ...................................... 187
13.2.1
タイマコントロールステータスレジスタ(TMCSR) ........................ 188
13.2.2
16ビットタイマレジスタ(TMR) /16ビットリロードレジスタ (TMRLR)のレジスタ
配置 ............................................................... 191
13.3
16ビットリロードタイマの内部クロック動作と外部クロック動作............ 192
13.4
16ビットリロードタイマのアンダフロー動作.............................. 194
13.5
16ビットリロードタイマの出力端子機能.................................. 195
13.6
カウンタの動作状態 ................................................... 196
第14章
8/16ビットPPG ................................................. 197
14.1
8/16ビットPPGの概要 .................................................. 198
14.2
8/16ビットPPGのブロックダイヤグラム................................... 199
14.3
8/16ビットPPGのレジスタ .............................................. 201
14.3.1
PPG0動作モード制御レジスタ (PPGC0) ................................. 202
14.3.2
PPG1動作モード制御レジスタ (PPGC1) ................................. 204
14.3.3
PPG0/1クロック選択レジスタ (PPG0/1) ................................ 206
viii
14.3.4
リロードレジスタ (PRLL, PRLH) ...................................... 207
14.4
8/16ビットPPGの動作 .................................................. 208
14.5
8/16ビットPPGのカウントクロックの選択................................. 210
14.6
8/16ビットPPGのパルスの端子出力の制御................................. 211
14.7
8/16ビットPPGの割込み ................................................ 212
14.8
8/16ビットPPGの各ハードウェアの初期値................................. 213
第15章
遅延割込み .................................................... 215
15.1
遅延割込みモジュールの概要 ........................................... 216
15.2
遅延割込みのレジスタ ................................................. 217
15.3
遅延割込みの動作 ..................................................... 218
第16章
DTP/外部割込み ................................................ 219
16.1
DTP/外部割込みの概要 ................................................. 220
16.2
DTP/外部割込みのレジスタ ............................................. 221
16.3
DTP/外部割込みの動作 ................................................. 223
16.4
DTP要求と外部割込み要求の切換え....................................... 225
16.5
DTP/外部割込みの使用上の注意 ......................................... 226
第17章
A/Dコンバータ ................................................. 229
17.1
A/Dコンバータの特長 .................................................. 230
17.2
A/Dコンバータのブロックダイヤグラム................................... 232
17.3
A/Dコンバータのレジスタ一覧 .......................................... 233
17.3.1
A/Dコントロールステータスレジスタ(ADCS0) ........................... 234
17.3.2
A/Dコントロールステータスレジスタ(ADCS1) ........................... 236
17.3.3
データレジスタ(ADCR0,ADCR1) ........................................ 238
17.4
A/Dコンバータの動作 .................................................. 240
17.5
EI2OSを使った変換動作................................................. 242
17.6
第18章
18.1
17.5.1
単発モード時のEI2OSの起動例......................................... 243
17.5.2
連続モード時のEI2OSの起動例......................................... 244
17.5.3
停止モード時のEI2OSの起動例......................................... 245
変換データ保護機能 ................................................... 246
UART0 ......................................................... 249
UART0の特長 .......................................................... 250
ix
18.2
UART0のブロックダイヤグラム .......................................... 251
18.3
UART0のレジスタ ...................................................... 252
18.3.1
シリアルモードコントロールレジスタ0(UMC0) .......................... 253
18.3.2
ステータスレジスタ0(USR0) .......................................... 255
18.3.3
インプットデータレジスタ0(UIDR0)とアウトプットデータレジスタ0(UODR0)
................................................................... 257
18.3.4
レート・データレジスタ0(URD0) ...................................... 258
18.4
UART0の動作 .......................................................... 260
18.5
ボーレート ........................................................... 261
18.6
内部クロックおよび外部クロック ....................................... 263
18.7
転送データフォーマット ............................................... 264
18.8
パリティビット ....................................................... 265
18.9
割込み生成とフラグのセットタイミング.................................. 266
18.9.1
受信動作時(モード0,モード1,モード3)のフラグのセットタイミング..... 267
18.9.2
受信動作時(モード2)のフラグのセットタイミング ...................... 268
18.9.3
送信動作時のフラグのセットタイミング ............................... 269
18.9.4
送受信動作時のステータスフラグ ..................................... 270
18.10
第19章
UART0の応用例 ........................................................ 271
UART1(SCI) .................................................... 273
19.1
UART1の特長 .......................................................... 274
19.2
UART1のブロックダイヤグラム .......................................... 275
19.3
UART1のレジスタ一覧 .................................................. 276
19.3.1
シリアルモードレジスタ1(SMR1) ...................................... 277
19.3.2
シリアルコントロールレジスタ(SCR1) ................................. 279
19.3.3
シリアルインプットデータレジスタ1(SIDR1)/ シリアルアウトプットデータレジ
スタ1(SODR1) ....................................................... 281
19.4
19.3.4
シリアルステータスレジスタ1(SSR1) .................................. 282
19.3.5
UART1通信プリスケーラコントロールレジスタ(U1CDCR) .................. 284
UART1の動作モードとクロック選択....................................... 285
19.4.1
非同期(調歩同期)モード ............................................. 287
19.4.2
CLK同期モード ...................................................... 288
19.5
UART1のフラグと割込み発生要因 ........................................ 290
19.6
UART1の割込みとフラグのセットタイミング............................... 291
x
19.7
ネガティブクロック動作 ............................................... 294
19.8
UART1の応用例と使用上の注意 .......................................... 295
第20章
シリアルI/O ................................................... 297
20.1
シリアルI/Oの概要 .................................................... 298
20.2
シリアルI/Oのレジスタ ................................................ 299
20.3
20.4
第21章
20.2.1
シリアルモードコントロールステータスレジスタ (SMCS) ............... 300
20.2.2
シリアルシフトデータレジスタ (SDR) ................................. 304
20.2.3
シリアルI/Oプリスケーラ(SCDCR) ..................................... 305
シリアルI/Oの動作 .................................................... 306
20.3.1
シフトクロック ..................................................... 307
20.3.2
シリアルI/Oの動作状態 .............................................. 308
20.3.3
シフト動作のスタート/ストップタイミング ........................... 310
20.3.4
シリアルI/Oの割込み機能 ............................................ 313
ネガティブクロック動作 ............................................... 314
アドレス一致検出機能 .......................................... 315
21.1
アドレス一致検出機能の概要 ........................................... 316
21.2
アドレス一致検出機能のレジスタ ....................................... 317
21.3
アドレス一致検出機能の動作 ........................................... 319
21.4
アドレス一致検出機能の使用例 ......................................... 320
第22章
ROMミラー機能選択モジュール ................................... 323
22.1
ROMミラー機能選択モジュールの概要..................................... 324
22.2
ROMミラー機能選択レジスタ(ROMM)....................................... 325
第23章
1M/2Mビットフラッシュメモリ ................................... 327
23.1
1M/2Mビットフラッシュメモリの概要..................................... 328
23.2
フラッシュメモリのセクタ構成 ......................................... 329
23.3
書込み/消去モード .................................................... 330
23.4
フラッシュメモリコントロールステータスレジスタ(FMCS).................. 332
23.5
フラッシュメモリ自動アルゴリズム起動方法.............................. 334
23.6
自動アルゴリズム実行状態の確認 ....................................... 335
23.6.1
データポーリングフラグ(DQ7) ........................................ 336
23.6.2
トグルビットフラグ(DQ6) ............................................ 337
xi
23.6.3
タイミングリミット超過フラグ(DQ5) .................................. 338
23.6.4
セクタ消去タイマフラグ(DQ3) ........................................ 339
23.6.5
トグルビット2フラグ(DQ2) ........................................... 340
23.7
フラッシュメモリ書込み/消去の詳細説明................................. 341
23.7.1
フラッシュメモリの読出し/リセット状態 .............................. 342
23.7.2
フラッシュメモリへのデータ書込み ................................... 343
23.7.3
フラッシュメモリの全データの消去(チップ消去) ....................... 345
23.7.4
フラッシュメモリの任意データの消去(セクタ消去) ..................... 346
23.7.5
フラッシュメモリのセクタ消去の一時停止 ............................. 348
23.7.6
フラッシュメモリのセクタ消去の再開 ................................. 349
23.8
1M/2Mビットフラッシュメモリ使用上の注意............................... 350
23.9
フラッシュセキュリティの特長 ......................................... 351
23.10
1M/2Mビットフラッシュメモリのプログラム例............................. 352
第24章
MB90F438L(S)/F439(S)シリアル書込み接続例 ...................... 357
24.1
MB90F438L(S)/F439(S)シリアル書込み接続の基本構成...................... 358
24.2
シリアル書込み接続例(ユーザ電源使用時).............................. 361
24.3
シリアル書込み接続例(ライタから電源供給時).......................... 363
24.4
フラッシュマイコンプログラマとの最小限の接続例(ユーザ電源使用時).... 365
24.5
フラッシュマイコンプログラマとの最小限の接続例(ライタから電源供給時)
..................................................................... 367
付録
.............................................................. 368
A
I/Oマップ ............................................................ 369
B
命令 ................................................................. 376
B.1
命令の種類 ......................................................... 377
B.2
アドレッシング ..................................................... 378
B.3
直接アドレッシング ................................................. 380
B.4
間接アドレッシング ................................................. 387
B.5
実行サイクル数 ..................................................... 394
B.6
実効アドレスフィールド ............................................. 396
B.7
命令一覧表の読み方 ................................................. 398
B.8
F2MC-16LX命令一覧表 ................................................ 401
B.9
命令マップ ......................................................... 415
xii
索引
.............................................................. 437
xiii
xiv
本版での主な変更内容
ページ
376 ∼ 436
変更内容(詳細は本文を参照してください。)
「付録 B 命令」全体を変更
変更箇所は , 本文中のページ左側の│によって示しています。
xv
xvi
第1章
概要
この章では,MB90435シリーズの特長と基本的な仕様について説明します。
1.1 製品概要
1.2 ブロックダイヤグラム
1.3 概要
1.4 パッケージ外形寸法図
1.5 端子配列図
1.6 端子機能説明
1.7 入出力回路形式
1.8 デバイスの取扱いに関する注意事項
1
第1章 概要
1.1
製品概要
MB90435シリーズの製品概要を示します。
■ MB90435シリーズの製品概要
表 1.1-1 製品概要
特長
CPU
システムクロック
ROM容量
RAM容量
クロック
MB90V540G
MB90F438L(S)/F439(S)
MB90437L(S)*1/438L(S)
/439(S)
F2MC-16LX CPU
オンチップPLLクロック逓倍方式(×1,×2,×3,×4,PLL停止時1/2)
最小命令実行時間 62.5ns(4MHz原発振4逓倍)
フラッシュメモリ
MB90437L(S)*1:64Kbyte
MB90F438L(S) :128Kbyte
MB90438L(S) :128Kbyte
外部
MB90F439(S) :256Kbyte
MB90439(S) :256Kbyte
MB90437L(S)*1:2Kbyte
MB90F438L(S) :4Kbyte
8Kバイト
MB90438L(S) :4Kbyte
MB90F439(S) :6Kbyte
MB90439(S) :6Kbyte
MB90437L*1/438L/439:2系統品
MB90F438L/F439 :2系統品
2系統品/1系統品
MB90437LS*1/438LS/439S:
MB90F438LS/F439S :1系統品
1系統品
PGA-256
QFP100/LQFP100
パッケージ
エミュレータ
なし
−
専用電源*2
*1:MB90437L(S)は開発中です。
*2:エミュレーションポッドMB2145-507を使用する際のディップスイッチS2の設定です。
詳細についてはMB2145-507ハードウェアマニュアル(「2.7 エミュレータ専用電源端子」)を参照してくだ
さい。
2
1.2 特長
1.2
特長
表 1.2-1に,MB90435シリーズの特長を示します。
■ 特長
表 1.2-1 MB90435シリーズの特長(続く)
機能
UART0
UART1
(SCI)
シリアルI/O
A/Dコンバータ
16ビット
リロードタイマ
(2ch)
特長
全2重ダブルバッファ方式
非同期/同期転送(スタート/ストップビット付)をサボ―トします。
ボーレート 4808/5208/9615/10417/19230/38460/62500/500000bps(非同期)
システムクロック=16MHz時 500K/1K/2Mbps(同期)
全2重ダブルバッファ方式
非同期(スタート/ストップ同期)およびCLK同期通信
ボーレート 1202/2404/4808/9615/19230/31250/38460/62500bps(非同期)
6,8,10,12,16MHz時 62.5K/125K/250K/500K/1Mbps(同期)
MBSまたはLSBから転送開始可能です。
内部クロック同期転送および外部クロック同期転送をサポートします。
ポジティブエッジとネガティブエッジクロック同期をサポートします。
ボーレート システムクロック=16MHz時31.25K/62.5K/125K/500K/1M/2Mbps
10ビットまたは8ビットの分解能
8本の入力ch
変換時間:26.3μs(1chあたり)
動作クロック周波数 fsys/21 ,fsys/23 ,fsys/25(fsys=システムクロック周波数)
外部イベントカウント機能をサポートします。
オーバフロー時に割込み信号を出力します。
アウトプットコンペア(ch0)との照合時に,タイマクリアをサポートします。
動作クロック周波数 fsys/22 ,fsys/24 ,fsys/26,fsys/28(fsys=システムクロック
周波数)
16ビット
16ビット入出力タイマとの照合時に,割込み信号を出力します。
アウトプットコンペ 16ビットキャプチャレジスタ×4本
ア(4ch)
一対のコンペアレジスタを出力信号生成に使用可能です。
16ビット
立上がりエッジ,立下がりエッジ,またはその両方を検出します。
インプットキャプ 16ビットキャプチャレジスタ×4本
チャ(8ch)
外部イベント時に割込み信号を出力します。
8ビットと16ビットの動作モードをサポートします。
8ビットリロードカウンタ×8本
Lパルス幅用の8ビットリロードレジスタ×8本
Hパルス幅用の8ビットリロードレジスタ×8本
8/16ビットPPG
(プログラマブルパ 一対の8ビットリロードカウンタを1本の16ビットリロードカウンタとして,また
ルス発生部)(4ch) は8ビットプリスケーラと8ビットリロードカウンタとして構成可能です。
出力端子×4本
動作クロック周波数 fsys,fsys/21,fsys/22,fsys/23,fsys/24または
128μs fosc=4MHz(fsys=システムクロック周波数,fosc=発振クロック周波数)
外部割込み
エッジ検出とレベル検出が設定可能です。
16ビット
入出力タイマ
3
第1章 概要
表 1.2-1 MB90435シリーズの特長(続き)
機能
外部バス
インタフェース
特長
選択可能な8ビットバスまたは16ビットバスを使用した外部アクセスが可能です(外
部バスモード)。
ほとんど,全外部端子を汎用入出力として使用可能です。
入出力ポート
すべてのプッシュプル出力とシュミットトリガ入力
入力/出力または周辺信号として,ビット単位でプログラム可能です。
32KHzサブクロック 低電力動作用のサブクロック。
自動プログラミング,Embeded AlgorithmTM*,書込み/消去/消去一時停止/消去再開コ
マンドをサポートします。
アルゴリズムの完了を示すフラグ
消去サイクル数:10,000回
フラッシュメモリ
データ保持期間:10年間
ブートブロック構成
各ブロックで消去を実行可能です。
外部プログラミング電圧によるブロック保護
*:Embeded AlgorithmはAdvanced Micro devices Inc.の登録商標です。
4
1.3 ブロックダイヤグラム
1.3
ブロックダイヤグラム
図 1.3-1に,MB90435シリーズのブロックダイヤグラムを示します。
■ ブロックダイヤグラム
図 1.3-1 ブロックダイヤグラム
5
第1章 概要
1.4
パッケージ外形寸法図
図 1.4-1に,FPT-100P-M06(QFP-100)のパッケージ外形寸法図を,図 1.4-2に,
FPT-100P-M05(LQFP-100)のパッケージ外形寸法図を示します。
なお,本外形寸法法図は参考用です。正式版につきましては別途ご相談ください。
■ FPT-100P-M06パッケージ外形寸法図
プラスチック・QFP,100ピン
リードピッチ
0.65mm
パッケージ幅×
パッケージ長さ
14.00×20.00mm
リ ー ド 形 状
ガルウィング
封
止
方
法
プラスチックモールド
取 付 け 高 さ
3.35mm MAX
(FPT-100P-M06)
プラスチック・QFP,100ピン
(FPT-100P-M06)
注) 端子幅および端子厚さはメッキ厚を含む。
23.90±0.40(.941±.016)
20.00±0.20(.787±.008)
80
51
81
50
0.10(.004)
17.90±0.40
(.705±.016)
14.00±0.20
(.551±.008)
INDEX
Details of "A" part
100
0.25(.010)
+0.35
3.00 –0.20
+.014
.118 –.008
(Mounting height)
31
1
30
0.65(.026)
0.32±0.05
(.013±.002)
0.13(.005)
M
0.17±0.06
(.007±.002)
0.80±0.20
(.031±.008)
0.88±0.15
(.035±.006)
"A"
C
0.25±0.20
(.010±.008)
(Stand off)
2001 FUJITSU LIMITED F100008S-c-4-4
単位:mm(inches)
図 1.4-1 FPT-100P-M06パッケージ外形寸法図
6
1.4 パッケージ外形寸法図
■ FPT-100P-M05パッケージ外形寸法図
プラスチック・LQFP,100ピン
リードピッチ
0.50mm
パッケージ幅×
パッケージ長さ
14.0×14.0mm
リ ー ド 形 状
ガルウィング
封
止
方
法
プラスチックモールド
取 付 け 高 さ
1.70mm MAX
質量
0.65g
(FPT-100P-M05)
プラスチック・LQFP,100ピン
(FPT-100P-M05)
* 端子幅および端子厚さはメッキ厚を含む。
16.00±0.20(.630±.008)SQ
14.00±0.10(.551±.004)SQ
75
51
76
50
0.08(.003)
Details of "A" part
+0.20
100
26
1
25
0.50(.020)
0.20±0.05
(.008±.002)
0.08(.003)
M
0.10±0.10
(.004±.004)
(Stand off)
0°~8°
"A"
C
+.008
1.50 –0.10 .059 –.004
(Mounting height)
INDEX
0.145±0.055
(.0057±.0022)
0.50±0.20
(.020±.008)
0.60±0.15
(.024±.006)
0.25(.010)
2000 FUJITSU LIMITED F100007S-3c-5
単位:mm(inches)
図 1.4-2 FPT-100P-M05(LQFP-100)パッケージ外形寸法図
7
第1章 概要
1.5
端子配列図
図 1.5-1にFPT-100P-M06の端子配列図を,図 1.5-2にFPT-100P-M05の端子配列図を
示します。
■ FPT-100P-M06端子配列図
図 1.5-1 FPT-100P-M06端子配列図
8
1.5 端子配列図
■ FPT-100P-M05端子配列図
図 1.5-2
FPT-100P-M05端子配列図
9
第1章 概要
1.6
端子機能説明
表 1.6-1に,端子名,回路形式,機能説明について示します。
■ 端子機能説明
表 1.6-1 端子機能説明(続く)
LQFP
80,
81
QFP
82,
83
端子名
78
80
X0A
A(発振)
77
79
X1A
A(発振)
75
77
RST
B
外部リセット要求入力端子です。
50
52
HST
C
ハードウェアスタンバイ入力端子です。
83∼
90
85∼
92
91∼
98
93∼
100
99∼
6
1∼8
7
9
X0・X1
回路形式
A
(発振)
P00∼P07
AD00∼
AD07
I
P10∼P17
AD08∼
AD15
I
P20∼P27
I
A16∼A23
P30
I
ALE
P31
8
I
10
RD
P32
10
12
WRL
I
WR
P33
11
13
I
WRH
10
機能説明
高速発振用端子です。
低速発振用端子です。1系統品は外部でプルダウンの処理をしてくださ
い。
低速発振用端子です。1系統品はオープンにしてください。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合に利用できます。
外部アドレス/データバスの下位8ビット用の入出力端子です。
この機能は外部バスが有効なときに利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合に利用できます。
外部アドレス/データバスの上位8ビット用の入出力端子です。
この機能は外部バスが有効なときに利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合に利用できます。
外部アドレスバスのA16∼A23用の入出力端子です。
この機能は外部バスが有効なときに利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合に利用できます。
アドレスラッチが可能な出力端子です。
この機能は,外部バスが有効な場合に利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合に利用できます。
データバス用の読込みストロボ出力端子です。
この機能は,外部バスが有効な場合に利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合,または WR / WRL 端子出力
が無効な場合に利用できます。
データバス用の書込みストロボ出力端子です。この機能は,外部バスと
WR / WRL 端子出力の両方が有効な場合に利用できます。
WRL は16ビットアクセスでのデータバス下位8ビットのストロボ書込
みに使用されます。 WR は8ビットアクセスでのデータバス8ビットのス
トロボ書込みに使用されます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードと外部バス8ビットモードの場合,
または WRH 端子出力が有効な場合に利用できます。
データバス上位8ビット用の書込みストロボ出力端子です。
この機能は,外部端子が有効な場合,外部バスの16ビットモードが選択
されている場合,または WRH 出力端子が有効な場合に利用できます。
1.6 端子機能説明
表 1.6-1 端子機能説明(続き)
LQFP
QFP
12
14
端子名
回路形式
P34
I
HRQ
P35
13
15
I
HAK
P36
14
16
I
RDY
P37
15
17
H
CLK
P40
16
18
G
SOT0
P41
17
19
G
SCKO
P42
18
20
G
SIN0
P43
19
21
20
22
SIN1
G
P44
G
SCK1
P45
22
24
G
SOT1
機能説明
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合,またはホールド機能が無効
な場合に利用できます。
ホールドリクエスト入力端子です。この機能は,外部バスとホールド機
能の両方が有効な場合に利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合,またはホールド機能が無効
な場合に利用できます。
ホールドアクノリッジ出力端子です。この機能は,外部バスとホールド
機能の両方が有効な場合に利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合,または外部レディ機能が無
効な場合に利用できます。
レディ入力信号です。この機能は,外部バスと外部レディ機能の両方が
有効な場合に利用できます。
プログラム可能なプルアップ機能を持つ汎用入出力ポートです。
この機能は,シングルチップモードの場合,またはクロック出力が無効
な場合に利用できます。
クロック出力端子です。この機能は,外部バスとクロック出力の両方が
有効な場合に利用できます。
汎用入出力ポートです。この機能は,UART0がシリアルデータ出力を無
効にしている場合に利用できます。
UART0のシリアルデータ出力端子です。この機能はUART0がシリアルデー
タ出力を有効にしている場合に利用できます。
汎用入出力ポートです。
この機能はUART0がクロック出力を無効にしている場合に利用できま
す。
UART0のクロック入出力端子です。この機能はUART0がクロック出力を有
効にしている場合に利用できます。
汎用入出力ポートです。
この機能は常に利用できます。
UART0のシリアルデータ入力端子です。
UARTOが入力に使用されている間は,対応するポート方向レジスタ(DDR)
を入力に設定してください。
汎用入出力ポートです。この機能は常に有効です。
UART1のシリアルデータ入力端子です。UART1が入力に使用されている間
は,対応するポート方向レジスタ(DDR)を入力に設定してください。
汎用入出力ポートです。この機能は,UART1がクロック出力を無効にし
ている場合に利用できます。
UART1のクロックパルス入出力端子です。この端子は,UART1がクロック
出力を有効にしている場合に利用できます。
汎用入出力ポートです。この機能はUART1がシリアルデータ出力を無効
にしている場合に利用できます。
UART1のシリアルデータ出力端子です。この機能は,UART1がシリアル
データ出力を有効にしている場合に利用できます。
11
第1章 概要
表 1.6-1 端子機能説明(続き)
LQFP
QFP
23
25
端子名
回路形式
P46
G
SOT2
P47
24
26
G
SCK2
P50
26
28
D
SIN2
P51-P54
27∼
30
29∼
32
INT4∼
INT7
D
P55
31
33
36∼
39
38∼
41
41∼
44
43∼
46
ADTG
D
P60∼63
E
AN0∼AN3
P64∼P67
E
AN4∼AN7
P56
45
47
D
TINO
P57
46
48
51∼
56
53∼
58
TOT0
D
P70∼P75
12
IN0∼IN5
D
機能説明
汎用入出力ポートです。この機能は,シリアルI/Oがシリアルデータ出力
を無効にしている場合に利用できます。
シリアルI/Oのシリアルデータ出力端子です。この機能は,シリアルI/O
がシリアルデータ出力を有効にしている場合に使用できます。
汎用入出力ポートです。この機能は,シリアルI/Oがクロック出力を無効
にしている場合に利用できます
シリアルI/Oのクロックパルス入出力端子です。この機能は,シリアルI/O
がクロック出力を有効にしている場合に利用できます。
汎用入出力ポートです。
この機能は常に利用できます。
シリアルI/Oのシリアルデータ入力端子です。
シリアルI/Oが入力に使用されている間は,対応するポート方向レジスタ
(DDR)を入力に設定してください。
汎用入出力ポートです。この機能は常に利用できます。
INT4∼INT7の,外部割込み要求入力端子です。
外部からの割り込みが許可されている間は,対応するポート方向レジス
タ(DDR)を入力に設定してください。
汎用入出力ポートです。この機能は常に利用できます。
A/Dコンバータのトリガ入力端子です。
A/Dコンバータが入力のために使用されている間は,対応するポート方向
レジスタ(DDR)を入力に設定してください。
汎用入出力ポートです。この機能は,アナログ入力が可能なレジスタで
ポートを指定している場合に利用できます。
A/Dコンバータのアナログ入力端子です。この機能は,アナログ入力が可
能なレジスタでADを指定している場合に利用できます。
汎用入出力ポートです。この機能は,アナログ入力が可能なレジスタで
ポートを指定している場合に利用できます。
A/Dコンバータのアナログ入力端子です。この機能は,アナログ入力が可
能なレジスタでADを指定している場合に利用できます。
汎用入出力ポートです。
この機能は常に利用できます。
リロードタイマ0のイベント入力端子です。
リロードタイマが入力に使用されている間は,対応するポート方向レジ
スタ(DDR)を入力に設定してください。
汎用入出力ポートです。この機能は,リロードタイマOが出力を無効にし
ている場合に利用できます。
リロードタイマ0の出力端子です。この機能は,リロードタイマ0が出力
を有効にしている場合に利用できます。
汎用入出力ポートです。この機能は常に利用できます。
ICU0からICU5のキャプチャを入力するデータサンプル入力端子です。
ICUが入力になっている間は,対応するポート方向レジスタ(DDR)を入力
に設定してください。
1.6 端子機能説明
表 1.6-1 端子機能説明(続き)
LQFP
QFP
端子名
回路形式
P76∼P77
57∼
58
59∼
60
OUT2∼OUT3
D
IN6∼IN7
59∼
62
61∼
64
63∼
64
65∼
66
P80∼P83
D
PPG0∼PPG3
P84∼P85
D
OUT0∼OUT1
P86
65
67
66
68
TIN1
D
P87
D
TOT1
P90∼P93
機能説明
汎用入出力ポートです。OCUがコンペア出力を無効にしている場
合に利用できます。
アウトプットコンペアOCU2,OCU3のコンペア出力端子です。
OCUがコンペア出力を有効にしている場合に利用できます。
ICU6とICU7のキャプチャを入力するデータサンプル入力端子で
す。ICUが入力になっている間は,対応するポート方向レジスタ
を入力に設定,およびコンペア出力を禁止してください。
汎用入出力ポートです。この機能は,PPGがパルス出力を無効に
している場合に利用できます。
PPGの出力端子です。この機能は,PPGがパルス出力を有効にして
いる場合に利用できます。
汎用入出力ポートです。この機能は,OCUがコンペア出力を無効
にしている場合に利用できます。
アウトプットコンペアOCU0,OCU1のコンペア出力端子です。
OCUがコンペア出力を有効にしている場合に利用できます。
汎用入出力ポートです。この機能は常に利用できます。
リロードタイマ1のイベント入力端子です。
リロードタイマが入力に使われている間は,対応するポート方向
レジスタを入力に設定してください。
汎用入出力ポートです。この機能は,リロードタイマ0が出力を
無効にしている場合に利用できます。
リロードタイマ1の出力端子です。この機能は,リロードタイマ1
が,出力を有効にしている場合に利用できます。
汎用入出力ポートです。この機能は常に利用できます。
INT0からINT3の外部割込み要求入力端子です。外部割込みが許可
されている間は,対応するポート方向レジスタを入力に設定して
ください。
汎用入出力ポートです。
汎用入出力ポートです。
汎用入出力ポートです。
汎用入出力ポートです。
汎用入出力ポートです。
A/Dコンバータの電源入力端子です。「1.8 デバイスの取扱いに
関する注意事項」を参照してください。
A/Dコンバータの専用GND端子です。
A/Dコンバータのリファレンス電圧入力端子です。「1.8 デバイ
スの取扱いに関する注意事項」を参照してください。
A/Dコンバータのリファレンス低電圧入力端子です。
オペレーティングモード専用入力端子です。この端子は,直接VCC
またはVSSに接続してください。
オペレーティングモード専用入力端子です。この端子は,直接VCC
またはVSSに接続してください。
電源のコンデンサ用端子です。この端子は,外部から0.1µFのセ
ラミックコンデンサに接続してください。
67∼
70
69∼
72
INT0∼INT3
71
72
73
74
76
73
74
75
76
78
P94
P95
P96
P97
PA0
D
D
D
D
D
32
34
AVCC
電源
35
37
AVSS
電源
33
35
AVRH
電源
34
47
48
36
49
50
AVRL
MD0
MD1
電源
49
51
MD2
F
25
27
C
−
23,84
VCC
電源
ディジタル回路用の電源(5.0V)入力端子です。
11,
42,
81
VSS
電源
ディジタル回路用のGND電源(0.0V)端子です。
21,
82
9,
40,
79
D
C
13
第1章 概要
1.7
入出力回路形式
表 1.7-1に,各端子の回路形式について示します。
■ 入出力回路形式
表 1.7-1 入出力回路形式(続く)
14
1.7 入出力回路形式
表 1.7-1 入出力回路形式(続き)
15
第1章 概要
表 1.7-1 入出力回路形式(続き)
16
1.8 デバイスの取扱いに関する注意事項
1.8
デバイスの取扱いに関する注意事項
デバイスを取り扱う際に注意が必要な事項について説明します。
■ デバイスの取扱いに関する注意事項
○
最大定格電圧の厳守(ラッチアップの防止)
最大定格を超えることのないよう注意してください。(ラッチアップの防止)。
CMOS ICでは,入力端子や出力端子にVCCより高い電圧やVSSより低い電圧が印加
された場合,またはVCC ∼VSS 間に定格を超える電圧が印加された場合に,ラッチ
アップ現象を生じることがあります。
ラッチアップ現象が起きると電源電流が激増し,素子の熱破壊に至る場合が
ありますので,使用に際しては,最大定格を超えることのないよう十分注意して
ください。
また,アナログ電源投入時,および切断時においてもアナログ電源電圧
(AVCC,AVRH)とアナログ入力電圧は,ディジタル電源電圧(VCC)を超えることのな
いよう十分注意してください。
○
未使用端子の処理について
使用していない入力端子を開放のままにしておくと,誤動作,およびラッチ
アップによる永久破損の原因となることがありますので,2kΩ以上の抵抗を介
して,プルアップ,またはプルダウンなどの処理をしてください。また,使用し
ていない入出力端子については,出力状態にして開放とするか,入力状態の場合
は入力端子と同じ処置をしてください。
○
外部クロック使用時の注意について
外部クロックを使用する場合は,X0端子のみを駆動し,X1端子は開放してく
ださい。
図 1.8-1 外部クロック使用例
17
第1章 概要
○
電源端子について(VCC/VSS)
VCC,VSSが複数ある場合,デバイス設計上はラッチアップなどの誤動作を防止す
るために,同電位にすべき端子はデバイス内部で接続してありますが,不要輻射
の低減,グランドレベルの上昇によるストローブ信号の誤動作防止,総出力電流
規格を守るなどのために,必ずそれらすべてを外部で電源,およびグランドに接
続してください(下図を参照)。
また電流供給源からできる限り低インピーダンスでこのデバイスのVCC,VSSに
接続するように配慮してください。
さらに,このデバイスの近くで,VCCとVSSの間に0.1μF程度のコンデンサをバイ
パスコンデンサとして接続することをお薦めします。
図 1.8-2 電源端子(VCC/VSS)の取扱い
○
プルアップ/プルダウン抵抗について
MB90435シリーズは内蔵のプルアップ/プルダウン抵抗をサポートしていませ
ん。(ポート0∼ポート3のプルアップ抵抗を除く)ので,必要に応じて外付けして
ください。
○
水晶発振回路について
X0,X1端子の近辺のノイズはこのデバイスの誤動作の元となります。X0,X1端
子および水晶振動子(あるいはセラミック振動子)さらにグランドへのバイパス
コンデンサはできる限り近くになるように,またその配線は,ほかの配線とで
きる限り交差しないようにプリント基板を設計してください。
また,X0,X1端子の回りをグランドで囲むようなプリント基板アートワークは,
安定した動作を期待できますので,強くお薦めします。
○
A/Dコンバータの電源,アナログ入力の投入順序について
A/Dコンバータ,D/Aコンバータの電源(AVcc,AVRH,AVRL)およびアナログ入力
(AN0∼AN7)の印加は,必ずディジタル電源(Vcc)の投入後に行ってください。
また,電源切断時はA/Dコンバータの電源およびアナログ入力の遮断の後で,
ディジタル電源の遮断を行ってください。その際,AVRH,AVccを超えないよう
に投入・切断を行ってください(アナログ電源とディジタル電源を同時に投入,
遮断することは問題ありません)。
18
1.8 デバイスの取扱いに関する注意事項
○
A/Dコンバータ未使用時の端子処理について
A/D コ ン バ ー タ お よ び D/A コ ン バ ー タ を 使 用 し な い と き は , AVCC=VCC ,
AVSS=AVRH=VSSに接続してください。
○
N.C.端子の処理について
N.C.(内部接続)端子は,必ず開放にして使用してください。
○
電源投入時の注意点
内部に内蔵している降圧回路の誤動作を防ぐために,電源投入時における電
圧の立上がり時間は,50μs(0.2V∼2.7V間)以上を確保してください。
○
サブクロック使用時の注意について
サブクロックを使用しない場合は,1系統品をご使用ください。そのとき,X0A
端子にプルダウンの処理をして,X1A端子は開放してください。2系統品は必ず
X0A,X1A端子に32kHz以下の振動子を接続してください。
○
初期化について
デバイス内には,パワーオンリセットによってのみ初期化される内蔵レジス
タ類があります。これらの初期化を期待する場合は電源の再投入を行ってくだ
さい。
○
「DIV A,Ri」
,
「DIVW A,RWi」命令の使用上の注意
符号付乗除計算命令「DIV A,Ri」,「DIVW A,RWi」命令は,対応するバンクレ
ジスタ(DTB,ADB,USB,SSB)の値を"00H"に設定し,使用してください。
対応するバンクレジスタ(DTB,ADB,USB,SSB)の値を"00H"以外に設定した場合,
命令実行結果により得られる余りは,命令オペランドのレジスタに格納されま
せん。
詳細は,
「2.11 「DIV A,Ri」
,
「DIVW A,RWi」命令の使用上の注意」を参照し
てください。
○
REALOSを使用する場合
REALOSを使用する場合は,拡張インテリジェントI/Oサービス(EI2OS)が使用で
きません。
○
PLLクロックモード動作中の注意について
本マイコンでPLLクロックを選択しているときに発振子が外れたり,あるいは
クロック入力が停止した場合,本マイコンはPLL内部の自励発振回路の自走周波
数で動作を継続し続ける場合があります。この動作は,保証外の動作です。
19
第1章 概要
20
第2章
CPU
この章では,CPUについて説明します。
2.1
CPUの概要
2.2
メモリ空間
2.3
メモリ空間マップ
2.4
リニア方式
2.5
バンク方式によるアドレス指定
2.6
メモリ空間における多バイト長データ
2.7
レジスタ
2.8
レジスタバンク
2.9
プリフィックスコード
2.10 割込み抑止命令
2.11 「DIV A,Ri」
,
「DIVW A,RWi」命令の使用上の注意
21
第2章 CPU
2.1
CPUの概要
CPUの概要
F2MC-16LX CPUコアは,民生用・車載用機器等の高速リアルタイム処理が要求され
る用途向けに設計された16bitCPUです。F2MC-16LXの命令セットはコントローラ用途
向けに設計されており,各種制御の高速・高効率処理が可能です。
■ CPUの概要
F2MC-16LX CPUコアは,16ビットデータ処理は勿論,内部に32ビットアキューム
レータを塔載しているため32ビットデータ処理も可能です(32ビットデータ処理に
はいくつかの命令が使用されます)。メモリ空間は最大16Mbyte(拡張可能),リニア
方式およびバンク方式のいずれかにてアクセス可能です。また,命令体系はF2MC-8
のA-Tアーキテクチャをベースに,高級言語対応命令の追加・アドレッシングモー
ドの拡張・乗除算命令の強化・ビット処理の充実化により命令が強化されています。
以下に,F2MC-16LX CPUの特長を示します。
○
最小命令実行時間
62.5ns (4MHz発振,4逓倍)
○
最大メモリ空間
16Mbyte,リニア/バンク方式にてアクセス
○
コントローラ用途に最適化された命令体系
豊富なデータタイプ
ビット/バイト/ワード/ロングワード
拡張されたアドレッシングモード
23種類
32bitアキュムレータの採用による高精度演算 (32ビット長)
○
強力な割込み機能
8つのプライオリティレベル (プログラマブル)
○
CPUに依存しない自動転送機能
最大16chまでの拡張インテリジェントI/Oサービス
○
高級言語 (C言語) /マルチタスクに対応した命令体系
システムスタックポイント/命令セットの対称性/バレルシフト命令
○
実行速度の向上
4byteのキュー
22
2.2 メモリ空間
2.2
メモリ空間
F2MC-16LX CPUには16Mbyteのメモリ空間があります。F2MC-16LX CPU が管理するデー
タ・プログラム・I/O はすべてこの16Mbyteのメモリ空間に配置されます。CPUは24bit
のアドレスバスでこれらのアドレスを示すことにより,各リソースをアクセスするこ
とができます。
■ CPUメモリ空間の概要
図 2.2-1に,F2MC-16LXシステムとメモリマップの関係例を示します。
図 2.2-1 F2MC-16LXシステムとメモリマップの関係例
■ アドレス指定の方式
F2MC-16LXのアドレス指定には,以下に示す2つの方式があります。
○
リニア方式
24bitアドレスすべてを命令により指定する方式
○
バンク方式
アドレス上位8bitを用途に応じたバンクレジスタで,アドレス下位16bitを命
令により指定する方式
23
第2章 CPU
2.3
メモリ空間マップ
図 2.3-1に,MB90435シリーズのメモリ空間マップを示します。
■ メモリ空間マップ
図 2.3-1に示すように,バンク00の上位部分はFFバンクROMのイメージであり,C
コンパイラのスモールモデルを有効にします。下位16ビットも同様なため,ポイン
タ宣言内のfar仕様を使用せずにROM内のテーブルを参照できます。たとえば,
00C000Hにアクセスしようとすると,ROM内のFFC000Hの値にアクセスすることにな
ります。バンクFF内のROM領域は48Kbyteを超え,バンク00内にその全体イメージを
表示することはできません。
FF4000H∼FFFFFFHの間のイメージはバンク00内で可視ですが,FF0000H∼FF3FFFH
の間のイメージはバンクFF内でしか可視でありません。
*:MB90437L(S)は開発中です。
図 2.3-1 メモリ空間マップ
24
2.4 リニア方式によるアドレス指定
2.4
リニア方式によるアドレス指定
リニア方式には以下に示す2つの方式があります。
・24ビットオペランド指定:オペランドにて直接24bitのアドレスを指定する方式
・32ビットレジスタ間接指定:32bitの汎用レジスタの内容の下位24bitをアドレ
スとして引用する方式。
■ 24ビットオペランド指定
図 2.4-1に,24ビットオペランド指定の例を,図 2.4-2に,32ビットレジスタ間
接指定の例を示します。
図 2.4-1 リニア方式(24ビットオペランド指定)の例
■ 32ビットレジスタ間接指定
図 2.4-2 リニア方式(32ビットレジスタ間接指定)の例
25
第2章 CPU
2.5
バンク方式によるアドレス指定
バンク方式は16Mbyteの空間を64Kbyteごとの256個のバンクに分割し,以下に示す5
個のバンクレジスタで各空間に対応するバンクを指定します。
・プログラムバンクレジスタ(PCB)
・データバンクレジスタ(DTB)
・ユーザスタックバンクレジスタ(USB)
・システムスタックバンクレジスタ(SSB)
・アディショナルバンクレジスタ(ADB)
■ バンク方式によるアドレス指定
○
プログラムバンクレジスタ(PCB)による指定
プログラムバンクレジスタ(PCB)によって指定される64Kbyteのバンクをプロ
グラム(PC)空間とよび,主として命令コードやベクタテーブル,即値データな
どが存在します。
○
データバンクレジスタ(DTB)による指定
データバンクレジスタ(DTB)によって指定される64Kbyteのバンクをデータ
(DT)空間とよび,主として読み書き可能なデータや内外リソースの制御/データ
レジスタなどが存在します。
○
ユーザスタックバンクレジスタ(USB)・システムスタックバンクレジスタ
(SSB)による指定
ユーザスタックバンクレジスタ(USB)あるいはシステムスタックバンクレジ
スタ(SSB)によって指定される64Kbyteのバンクをスタック(SP)空間とよび,
プッシュ/ポップ命令や割込みのレジスタ退避などの際にスタックアクセスが
生じたときにアクセスされる領域です。どちらの空間が使用されるかはコン
ディションコードレジスタ中のSフラグの値に依存します。
○
アディショナルバンクレジスタ(ADB)による指定
アディショナルバンクレジスタ(ADB)によって指定される64Kbyteのバンクを
アディショナル(AD)空間とよび,主としてDT空間に入りきらなかったデータな
どが存在します。
表 2.5-1に示すように,各アドレッシングモードで使用されるデフォルト空間が,
命令のコード効率を向上するために事前に決められています。また,あるアドレッ
シングを用いたときにデフォルト以外の空間を使用したいときは,各バンクに対応
しているプリフィックスコードを命令に先行して指定することにより,そのプリ
フィックスコードに対応した任意のバンク空間をアクセスすることができます。
DTB, USB, SSB, ADBはリセットにより00Hに初期化され,PCBはリセットベクタに
より指定された値に初期化されます。リセット後,DT, SP, ADの各空間はバンク
00H(000000H∼00FFFFH)に配置され,PC空間はリセットベクタにより指定されたバ
ンクに配置されます。
26
2.5 バンク方式によるアドレス指定
表 2.5-1 デフォルト空間
デフォルト空間
プログラム空間
データ空間
スタック空間
アディショナル空間
アドレッシングモード
PC間接,プログラムアクセス,分岐系
@RW0,@RW1,@RW4,@RW5を用いたアドレッシングモード,@A,addr16,dir
PUSHW,POPW,@RW3,@RW7を用いたアドレッシングモード
@RW2,@RW6を用いたアドレッシングモード
図 2.5-1に,レジスタバンクに分割されたメモリ空間の例を示します。
図 2.5-1 各空間の物理アドレス
27
第2章 CPU
2.6
メモリ空間における多バイト長データ
メモリへの書込みはアドレスの低い方から順に行われます。したがって32ビット長
データであれば下位16bitが先に転送され,続いて上位16bitが転送されます。
なお,下位データの書込み直後にリセット信号を入力すると上位データが書き込ま
れないことがあります。
■ メモリ空間における多バイト長データの配置
図 2.6-1に,メモリにおける多バイト長データの構成を示します。データは下位
8bitがn番地に,以下n+1番地,n+2番地,n+3番地・・・の順に配置されます。
図 2.6-1 メモリにおける多バイト長データの配置の例
■ 多バイト長データのアクセス
アクセスはバンク内を基本にして行われますので,多バイト長のデータをアクセ
スする命令では,FFFFH番地の次のアドレスは同じバンクの0000H番地になります。
図 2.6-2に,多バイト長データのアクセス命令の例を示します。
図 2.6-2 MOVW A, 080FFFFHの実行
28
2.7 レジスタ
2.7
レジスタ
F2MC-16LXのレジスタは大別して,CPU内の専用レジスタと,メモリ内の汎用レジス
タの2種類に分けることができます。
専用レジスタは,CPU の内部に専用ハードウェアとして存在し,使用する用途がCPU
のアーキテクチャ上で限定されています。
汎用レジスタは,CPU のアドレス空間上にRAM と共存し,アドレスを指定しないで
アクセスできるという点では専用レジスタと同じです。
通常のメモリと同じく,使用する用途をユーザが指定することができます。
■ 専用レジスタ
F2MC-16LXCPUコアの専用レジスタは以下に示す13本があります。
アキュムレータ(A=AH:AL):16bit×2本のアキュムレータ(合計32bitのア
キュムレータとしても使用可能)。
ユーザスタックポインタ(USP):ユーザスタック領域を示す16bitのポイ
ンタ
システムスタックポインタ(SSP):システムスタック領域を示す16bitの
ポインタ
プロセッサステータス(PS):システムの状態を示す16bitのレジスタ
プログラムカウンタ(PC):プログラムが格納されているアドレスを持つ
16bitのレジスタ
プログラムバンクレジスタ(PCB):PC空間を示す8bitのレジスタ
データバンクレジスタ(DTB):DT空間を示す8bitのレジスタ
ユーザスタックバンクレジスタ(USB):ユーザスタック空間を示す8bitの
レジスタ
システムスタックバンクレジスタ(SSB):システムスタック空間を示す
8bitのレジスタ
アディショナルバンクレジスタ(ADB):AD空間を示す8bitのレジスタ
ダイレクトページレジスタ(DPR):ダイレクトページを示す8bitのレジス
タ
29
第2章 CPU
図 2.7-1に,専用レジスタの構成を示します。
図 2.7-1 専用レジスタ
30
2.7 レジスタ
■ 汎用レジスタ
F2MC-16LXの汎用レジスタは主記憶の000180H∼00037FH(最大の場合)に存在し,レ
ジスタバンクポインタ(RP)によって先に述べたアドレスのどの部分が現在使用中
のレジスタバンクであるかを指定します。各バンクには以下に示す3種のレジスタ
が存在します。これらのレジスタは,図 2.7-2に示すように互いに依存しています。
R0∼7 : 8bitの汎用レジスタ
RW0∼7: 16bitの汎用レジスタ
RL0∼3: 32bitの汎用レジスタ
図 2.7-2 汎用レジスタ
バイトレジスタとワードレジスタの上位/下位バイトの関係は,
RW(i+4) = R(ⅰ×2+1)×256+R(ⅰ×2) [i=0∼3]
という式で表すことができ,RLiの上位・下位とRWの関係は
RL(i) = RW(ⅰ×2+1)×65536+RW(ⅰ×2) [i=0∼3]
という式で表すことができます。
31
第2章 CPU
2.7.1
アキュムレータ(A)
アキュムレータ(A)
アキュムレータ(A)レジスタは,2つの16bit長の演算用レジスタAHおよびALで構成
され,演算などを行った際の結果やデータ転送の一時記憶などに使用されます。
■ アキュムレータ(A)
32bitデータ処理時はAHとALを連結して使用します。また,16bitデータ処理モー
ドのワード処理や8bitデータ処理モードのバイト処理のときはALのみが使用され
ます(図 2.7-3と図 2.7-4を参照)。Aレジスタ中のデータはメモリ/レジスタ(Ri,
RWi, RLi)中のデータと各種演算ができ,F2MC-8Lのときと同様,ワード長以下の
データをALへ転送しますと,転送前のAL中のデータが自動的にAHに転送されます
(データ保持機能)ので,データ保持機能とAL−AH間演算にて各種処理効率を上げる
ことが可能になります。
ALへのバイト長以下のデータの転送時は,データは符号拡張またはゼロ拡張され
16bit長となりALへ格納されます。AL中のデータは,ワード長としてもバイト長と
しても扱えます。ALにバイト処理の算術演算命令を実行すると,演算前のALの上位
8bitは無視され演算結果の上位8bitはすべて"0"になります。Aレジスタは,リセッ
トでは初期化されず,リセット直後は不定値になります。
図 2.7-3 32bitデータ転送例
図 2.7-4 AL−AH転送例
32
2.7 レジスタ
2.7.2
ユーザスタックポインタ(USP)
ユーザスタックポインタ(USP)とシステムスタッ
(USP)とシステムスタッ
クポインタ(SSP)
クポインタ(SSP)
ユーザスタックポインタ(USP)およびシステムスタックポインタ(SSP)は,16bitの
レジスタであり,プッシュ/ポップ命令およびサブルーチン実行時のデータ退避/復帰
のメモリアドレスを示します。
■ ユーザスタックポインタ(USP)とシステムスタックポインタ(SSP)
ユーザスタックポインタ(USP)とシステムスタックポインタ(SSP)は,スタック系
の命令により使用されますが,プロセッサステータスレジスタ中のSフラグが"0"
のときは,USPレジスタが有効になり,Sフラグが"1"のときはSSPレジスタが有効に
なります(図 2.7-5を参照)。また,割込みが受付られるとSフラグがセットされる
ため,割込み時のレジスタ退避は必ずSSPの示すメモリ中に行われます。割込みルー
チンでのスタック処理はSSPで,割込みルーチン以外のスタック処理はUSPが用いら
れます。スタック空間を分ける必要のない場合はSSPだけをお使いください。
スタック時のアドレスの上位8bitは,SSP→SSB,USP→USBにより示されます。ま
たUSPおよびSSPは,リセットでは初期化されず,不定値になります。
図 2.7-5 スタック操作命令とスタックポインタ(Sフラグが"0"の場合のPUSHW Aの例)
図 2.7-6 スタック操作命令とスタックポインタ(Sフラグが"1"の場合のPUSHW Aの例)
<注意事項>
スタックポインタに設定すべき値は,原則として偶数アドレスを使用してください。
33
第2章 CPU
2.7.3
プロセッサステータス(PS)
プロセッサステータス(PS)
PSレジスタは,CPUの動作制御を行うビットとCPUの状態を示すビットより構成され
ています。
■ プロセッサステータス(PS)
図 2.7-7に示すように,PSレジスタはレジスタバンクポインタ(RP)およびインタ
ラプトレベルマスクレジスタ(ILM)により構成されています。RPはレジスタバンク
の先頭アドレスを示します。PSレジスタの下位バイトは命令実行結果および割込み
発生などによりセット/リセットされる各種フラグより構成されているコンディ
ションコードレジスタ(CCR)より構成されています。
図 2.7-7 プロッセサステータス(PS)の構造
■ コンディションコードレジスタ(CCR)
図 2.7-8に,コンディションコードレジスタ(CCR)の構成を示します。
図 2.7-8 コンディションコードレジスタ(CCR)の構成
○
割込み許可フラグ(I)
ソフトウェアインタラプト以外のすべての割込みに対しIフラグが"1"の場合
は割込みが許可,"0"の場合は割込みはマスクされます。リセット時はクリアさ
れます。
○
スタックフラグ(S)
Sフラグが"0"の場合はスタック操作用ポインタとしてUSPが有効,"1"の場合
はSSPが有効になります。割込み受付時またはリセット時にセットされます。
○
スティッキィビットフラグ(T)
論理右/算術右シフト命令を実行後にキャリーよりシフトアウトされたデー
タに一つ以上"1"があったら"1",それ以外は"0"になります。シフト量がゼロの
場合も"0"になります。
○
ネガティブフラグ(N)
演算結果のMSBが"1"ならNフラグはセット,それ以外はクリアされます。
○
ゼロフラグ(Z)
演算結果がすべて"0"ならセット,それ以外はクリアされます。
34
2.7 レジスタ
○
オーバフローフラグ(V)
演算の実行により符号付き数値としてオーバフローが生じるとセット,生じ
ないとクリアされます。
○
キャリーフラグ(C)
演算の実行により,MSBより桁上がり/桁下がりが生じるとセット,生じない
とクリアされます。
■ レジスタバンクポインタ(RP)
レジスタバンクポインタ(RP)は,F2MC-16Lの持つ汎用レジスタとそれが存在す
る内部RAMのアドレスとの関係を示すレジスタで,現在使用中のレジスタバンク
の先頭のメモリアドレスを[000180H+(RP)×10H]という変換式で示します(図
2.7-9参照)。RPレジスタは5bitにより構成されており00H∼1FHまでの値をとるこ
とができ,メモリ中の000180H∼00037FHのアドレスにレジスタバンクを配置でき
ます。
ただし,この範囲内であっても内部RAM でなければ汎用レジスタとして使用
することはできません。RPレジスタはリセットによりすべて"0"に初期化されま
す。命令上ではRPレジスタに8bitの即値が転送できますが,実際に使用される
のはそのデータの下位5bitのみです。
図 2.7-9 レジスタバンクポインタ(RP)
35
第2章 CPU
■ インタラプトレベルマスクレジスタ(ILM)
インタラプトレベルマスクレジスタ(ILM)は3bitから構成されており,CPUの
割込みマスクのレベルを示します。この3bitにより示されるレベルより強いレ
ベルの割込み要求のみが受付られます。レベルの強弱は"0"が最強で,"7"が最
弱と定義されています(表 2.7-1参照)。したがって,割込みが受付られるには,
現状のILMの保持値より小さい値の要求でなければなりません。割込みが受付ら
れるとその割込みのレベル値がILMにセットされ,これ以降の同じかそれより低
い優先順位の割込みは受付られなくなります。ILMはリセットによりすべて"0"
に初期化されます。命令上ではILMレジスタに8bitの即値が転送できますが,実
際に使用されるのはそのデータの下位3bitのみです。
図 2.7-10 インタラプトレベルレジスタ
表 2.7-1 インタラプトレベルマスク(ILM)レジスタで示されるレベル
ILM2
0
0
0
0
1
1
1
1
36
ILM1
0
0
1
1
0
0
1
1
ILM0
0
1
0
1
0
1
0
1
レベル値
0
1
2
3
4
5
6
7
許可される割込みレベル
割込み禁止
0のみ
1より小さい値のレベル
2より小さい値のレベル
3より小さい値のレベル
4より小さい値のレベル
5より小さい値のレベル
6より小さい値のレベル
2.7 レジスタ
2.7.4
プログラムカウンタ(PC
プログラムカウンタ(PC)
(PC)
プログラムカウンタレジスタは,16bitのカウンタであり,CPUが実行すべき命令
コードのメモリアドレスの下位16bitを示します。上位8bitアドレスはPCBにより示さ
れます。PCレジスタは条件分岐命令,サブルーチンコール命令,割込み,リセットな
どにより内容が更新されます。
また,オペランドアクセス時のベースポインタとして使用することもできます。
■ プログラムカウンタ(PC)
図 2.7-11に,プログラムカウンタを示します。
図 2.7-11 プログラムカウンタ
37
第2章 CPU
2.8
レジスタバンク
レジスタバンクは8ワードで構成され,バイトレジスタR0∼R7,ワードレジスタRW0
∼RW7,ロングワードレジスタRL0∼RL3の汎用レジスタとして各種演算,ポインタと
して各種命令に使用できます。
■ レジスタバンク
表 2.8-1に,各レジスタの機能を,表 2.8-2に各レジスタの関係を示します。
レジスタバンクの内容は,通常のRAM領域と同様に,リセットでは初期化されず,
リセット前の状態が保持されます。ただし,パワーオン時は,不定値になります。
表 2.8-1 各レジスタの機能
R0∼R7
RW0∼RW7
RL0∼RL3
各種命令のオペランドとして使用
注)ROはバレルシフトのカウンタまたはノーマライズ命令の
カウンタとしても使用
ポインタ,各種命令のオペランドとして使用
注)RWOはストリング命令のカウンタとしても使用
ロングポインタ,各種命令のオペランドとして使用
表 2.8-2 各レジスタの関係
RW0
RW1
RW2
RW3
R0
R1
R2
R3
R4
R5
R6
R7
○
RL0
RL1
RW4
RL2
RW5
RW6
RL3
RW7
ダイレクトページレジスタ(DPR) <初期値:01H>
ダイレクトページレジスタ(DPR)は,図2.16に示すように,ダイレクトアド
レッシングモードの命令時のオペランドのaddr8∼addr15を指定します。DPRは
8bit長であり,リセットにより01Hに初期化されます。DPRは命令により読出しや
書込みができます。
図 2.8-1 ダイレクトアドレッシングモードによる物理アドレスの生成
38
2.8 レジスタバンク
○
プログラムカウンタバンクレジスタ(PCB)
<初期値:リセットベクタ中の値>
○
データバンクレジスタ(DTB)<初期値:00H>
○
ユーザスタックバンクレジスタ(USB)<初期値:00H>
○
システムスタックバンレジスタ(SSB)<初期値:00H>
○
アディショナルデータバンクレジスタ(ADB)<初期値:00H>
各々のバンクレジスタはそれぞれPC空間,DT空間,SP空間(ユーザ),SP空間(シ
ステム),AD空間の配置されるメモリバンクを示します。すべてのバンクレジスタ
はバイト長であり,リセットによりPCBはリセットベクタにより00Hに初期化されま
す。PCB以外のバンクレジスタは読出し/書込みができます。PCBは読出しは可能で
すが書き込むことはできません。
16Mbyte全空間に分岐するJMPP, CALLP, RETP, RETI, RETF命令実行時および割込
み時にPCBは書き換わります。各レジスタの動作は,「2.2 メモリ空間」を参照し
てください。
39
第2章 CPU
2.9
プリフィックスコード
命令の前にプリフィックスコードを置くことで,命令動作の一部を変更することが
可能です。プリフィックスコードには,バンクセレクトプリフィックス,コモンレジ
スタバンクプリフィックス,フラグ変化抑止プリフィックスの3類があります。
■ バンクセレクトプリフィックス
データアクセスの際に使用されるメモリ空間は各アドレッシングモードごとに
定められています。バンクセレクトプリフィックスを命令前に置くことで,命令に
よるデータアクセスのメモリ空間をアドレッシングモードと無関係に任意に選択
することが可能となります。
表 2.9-1に,バンクセレクトプリフィックスと対応するメモリ空間を示します。
表 2.9-1 バンクセレクトプリフィックス
バンクセレクトプリフィックス
PCB
DTB
ADB
SPB
選択される空間
PC空間
データ空間
AD空間
そのときのスタックフラグの内容によりSSP空間,USP空間
のどちらかが用いられます。
ただし,以下に示す命令に対しては注意してください。
○
ストリング命令〔MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW〕
プリフィックスの有無に関わらず,オペランド指定されたバンクレジスタを
使用してください。
○
スタック操作命令〔PUSHW / POPW〕
プリフィックスの有無に関わらず,Sフラグに応じてSSBまたはUSBを使用して
ください。
○
I/Oアクセス命令〔MOV A,io / MOV io,A / MOVX A,io / MOVW A,io / MOVW io,A
/MOV io,#imm8 / MOVW io,#imm16 / MOVB A,io:bp / MOVB io:bp,A / SETB io:bp
/CLRB io:bp BBC io:bp,rel / BBS io:bp,rel / WBTC,WBTS〕
プリフィックスの有無に関わらず,バンクのIO空間が使用されます。
○
フラグ変更命令〔AND CCR,#imm8 / OR CCR,#imm8〕
命令動作は正常ですが,プリフィックスの効果が次の命令まで及びます。
○
POPW
PS
プリフィックスの有無に関わらず,Sフラグに応じてSSBまたはUSBが使用され
ます。プリフィックスの効果が次の命令まで及びます。
○
MOV
ILM, #imm8
命令動作は正常ですが,プリフィックスの効果が次の命令まで及びます。
○
RETI
プリフィックス有無に関わらず,SSBが使用されます。
40
2.9 プリフィックスコード
■ コモンレジスタバンクプリフィックス(CMR)
複数のタスク間でのデータ交換を容易にするためには,その場合のRPがどのよう
な値でも,比較的簡単に定められた同一のレジスタバンクをアクセスする手段が必
要です。コモンレジスタバンクプリフィックス(CMR)を,レジスタバンクをアクセ
スする命令の前に置くことで,現在のRPの値に関係なくその命令のレジスタアクセ
スをすべて000180H∼00018FHにあるコモンバンク(RP=0の場合に選択されるレジス
タバンク)に変更することができます。
コモンレジスタバンクプリフィックス(CMR)を使用する際には,以下に示す命令
に対して注意してください。
○
ストリング命令〔MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW〕
プリフィックスコードを付加したストリング命令実行中に割込み要求が発生
すると,割込み復帰後のストリング命令に対しては,プリフィックスが無効で
あるため誤動作となります。上記のストリング命令に対してはCMRプリフィック
スを付加しないでください。
○
フラグ変更命令〔AND CCR,#imm8 / OR CCR,#imm8 / POPW PS〕
命令動作は正常ですが,プリフィックスの効果が次の命令まで及びます。
○
MOV
ILM, #imm8
命令動作は正常ですが,プリフィックスの効果が次の命令まで及びます。
■ フラグ変化抑止プリフィックス(NCC)
フラグ変化を抑止するためには,フラグ変化抑止プリフィックスコード(NCC)を
用います。不要フラグ変化を抑止する命令の前に置くことで,命令実行に伴うフラ
グ変化を抑止可能です。
フラグ変化抑止プリフィックス(NCC)を使用する際には,以下に示す命令に対し
て注意してください。
○
ストリング命令〔MOVS / MOVSW / SCEQ / SCWEQ / FILS / FILSW〕
プリフィックスコードを付加したストリング命令の実行中に割込み要求が発
生すると割込み復帰後のストリング命令に対してはプリフィックスが無効であ
るために誤動作となります。上記のストリング命令にはNCCプリフィックスを付
加しないでください。
○
フラグ変更命令〔AND CCR,#imm8 / OR
CCR,#imm8 / POPW PS〕
命令動作は正常ですが,プリフィックスの効果が次の命令まで及びます。
○
割込み命令〔INT #vct8 / INT9 / INT addr16 / INTP addr24 / RETI〕
プリフィックスの有無にかかわらずCCRは命令の仕様どおり変化します。
○
JCTX
@A
プリフィックスの有無にかかわらずCCRは命令の仕様どおり変化します。
○
MOV
ILM, imm8
命令動作は正常ですが,プリフィックスの効果が次の命令まで及びます。
41
第2章 CPU
2.10
割込み抑止命令
以下に示す10種類の命令については,割込み要求はサンプリングされません。
・MOV
ILM, #imm8
・AND
CCR, #imm8
・OR
CCR, #imm8
・POPW PS
・PCB
・DTB
・ADB
・SPB
・CMR
・NCC
■ 割込み抑止命令
上記の命令実行中に有効なハードウェア割込み要求が発生しても,割込み処理が
行われるのは,上記以外の命令が実行されたときに限られます。詳しくは図 2.10-1
を参照してください。
図 2.10-1 割込み抑止命令
■ 割込み抑止命令とプリフィックス命令に関する制約
割込み抑止命令の前にプリフィックスコードを付加した場合,プリフィックス
コードの効果は,割込み抑止命令以外のコード後の最初の〔命令〕まで及びます。
図 2.10-2 割込み抑止命令とプリフィックスコード
42
2.10 割込み抑止命令
■ プリフィックスコードが連続している場合
競合するプリフィックスコードが連続していた場合,後方のものが有効になりま
す。なお,競合するプリフィックスコードとはここでいうPCB, ADB, DTB, SPBのこ
とを意味します。
図 2.10-3 プリフィックスコードの連続
43
第2章 CPU
2.11
「DIV A,Ri」
,
「DIVW A,RWi」命令の使用上の注意
A,Ri」
A,RWi」命令の使用上の注意
「DIV A,Ri」
,
「DIVW A,RWi」命令を使用する場合は,バンクレジスタを"00H"に設
定してください。
■ 「DIV A,Ri」
,
「DIVW A,RWi」命令の使用上の注意
表 2.11-1「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意(i=1∼7)
左記命令実行時に影響を
受けるバンクレジスタ名
命令
DIV A,R0
DIV A,R1
DIV A,R4
DIV A,R5
DTB
DIVW A,RW0
DIVW A,RW1
DIVW A,RW4
DIVW A,RW5
DIV A,R2
DIV A,R6
ADB
DIVW A,RW2
DIVW A,RW6
DIV A,R3
USB
DIV A,R7
SSB*1
DIVW A,RW3
DIVW A,RW7
*1:CCRレジスタのSビットによる
*2:CCRレジスタのSビットが0の場合
余りが格納されるアドレス
(DTB:上位8ビット)+(0180H+RP×10H+8H:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+9H:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+CH:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+DH:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+0H:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+2H:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+8H:下位16ビット)
(DTB:上位8ビット)+(0180H+RP×10H+AH:下位16ビット)
(ADB:上位8ビット)+(0180H+RP×10H+AH:下位16ビット)
(ADB:上位8ビット)+(0180H+RP×10H+EH:下位16ビット)
(ADB:上位8ビット)+(0180H+RP×10H+4H:下位16ビット)
(ADB:上位8ビット)+(0180H+RP×10H+EH:下位16ビット)
(USB*2:上位8ビット)+(0180H+RP×10H+BH:下位16ビット)
(USB*2:上位8ビット)+(0180H+RP×10H+FH:下位16ビット)
(USB*2:上位8ビット)+(0180H+RP×10H+6H:下位16ビット)
(USB*2:上位8ビット)+(0180H+RP×10H+EH:下位16ビット)
バンクレジスタ(DTB,ADB,USB,SSB)の値が"00H"の場合は,除算結果の余りが命令
オペランドのレジスタに格納されます。バンクレジスタの値が"00H"以外の場合は,
上位8ビットアドレスは命令オペランドのレジスタに対応したバンクレジスタによ
り指定され,下位16ビットアドレスは命令オペランドのレジスタのアドレスと同じ
アドレスとなり,上位8ビットで指定されたバンクのレジスタに余りが格納されま
す。
【例】
DTB="053H",RP="03H"の場合に「DIV A,R0」を実行した場合は,R0のアドレスが
"0180H"+RP("03H")×"10H"+"08H"(R0相当アドレス)="001B8H"となります。
ここで,
「DIV A,R0」で指定されるバンクレジスタはデータバンクレジスタ(DTB)
ですので,バンクアドレス"053H"を付加したアドレス"05301B8H"に余りが格納され
ます。
参考:
バンクレジスタ,およびRi,RWiのレジスタについては,
「2.7
参照してください。
44
レジスタ」を
2.11 「DIV A,Ri」,「DIVW A,RWi」命令の使用上の注意
■ 注意事項の回避について
「DIV A,Ri」
,
「DIVW A,RWi」命令の使用上の注意事項を回避してプログラムを開
発していただくために,コンパイラでは表 2.11-1の命令を生成しないように変更
し,アセンブラでは表 2.11-1の命令を同等の命令列に置き換える機能を追加した
ものが用意されています。MB90435シリーズのコンパイラおよびアセンブラは,以
下のものを使用してください。
コンパイラ
-
cc907のV02L06以降のバージョンおよびfcc907sのV30L02以降のバー
ジョン
アセンブラ
-
asm907a の V03L04 以 降 の バ ー ジ ョ ン お よ び fasm907s の
V30L04(Rev.300004)以降のバージョン
45
第2章 CPU
46
第3章
割込み
この章では,割込みの機能と動作について説明します。
3.1 割込みの概要
3.2 割込み要因
3.3 割込みベクタ
3.4 ハードウェア割込み
3.5 ソフトウェア割込み
3.6 拡張インテリジェントI/Oサービス(EI2OS)
3.7 未定義命令の実行による例外発生
47
第3章 割込み
3.1
割込みの概要
F2MC-16LXはイベントなどの発生により,現在実行中の処理を中断して,別に定義
したプログラムへ制御を移す割込み機能があります。
■ 割込みの概要
割込み機能は以下の四つに分けることができます。
ハードウェア割込み:内蔵リソースのイベント発生による割込み処理
ソフトウェア割込み:ソフトウェアのイベント発生命令による割込み処
理
拡張インテリジェントI/Oサービス(EI2OS):内蔵リソースのイベント発生
による転送処理
例外:動作例外事項の発生による終了処理
この章では,これら4種類の割込みについて説明します。
48
3.2 割込み要因
3.2
割込み要因
表 3.2-1に,MB90435シリーズでの割込み要因と割込みベクタ・割込み制御レジス
タを示します。
■ 割込み要因
表 3.2-1 割込み要因と割込みベクタ・割込み制御レジスタ
割込み要因
リセット
EI2OSクリア
割込みベクタ
割込み制御レジスタ
番号
アドレス
番号
アドレス
×
# 08
FFFFDCH
INT9命令
×
# 09
FFFFD8H
例外
×
# 10
FFFFD4H
予約
×
# 11
FFFFD0H
予約
×
# 12
FFFFCCH
予約
×
# 13
FFFFC8H
予約
×
# 14
FFFFC4H
外部割込み INT0/INT1
○
# 15
FFFFC0H
タイムベースタイマ
×
# 16
FFFFBCH
16ビットリロードタイマ0
○
# 17
FFFFB8H
A/Dコンバータ
○
# 18
FFFFB4H
入出力タイマ
×
# 19
FFFFB0H
外部割込みINT2/INT3
○
# 20
FFFFACH
シリアルI/O
○
# 21
FFFFA8H
PPG 0/1
×
# 22
FFFFA4H
インプットキャプチャ0
○
# 23
FFFFA0H
外部割込みINT4/INT5
○
# 24
FFFF9CH
インプットキャプチャ1
○
# 25
FFFF98H
PPG 2/3
×
# 26
FFFF94H
外部割込みINT6/INT7
○
# 27
FFFF90H
監視タイマ
×
# 28
FFFF8CH
PPG 4/5
×
# 29
FFFF88H
インプットキャプチャ2/3
○
# 30
FFFF84H
PPG 6/7
×
# 31
FFFF80H
アウトプットコンペア0
○
# 32
FFFF7CH
アウトプットコンペア1
○
# 33
FFFF78H
インプットキャプチャ4/5
○
# 34
FFFF74H
アウトプットコンペア2/3-インプットキャプ
○
# 35
FFFF70H
チャ6/7
16ビットリロードタイマ1
○
# 36
FFFF6CH
UART 0 受信
◎
# 37
FFFF68H
UART 0 送信
○
# 38
FFFF64H
UART 1 受信
◎
# 39
FFFF60H
UART 1 送信
○
# 40
FFFF5CH
フラッシュメモリ
×
# 41
FFFF58H
遅延割込み
×
# 42
FFFF54H
2
◎:EI OS割込みクリア信号にて割込み要求フラグはクリアされます。ストップ要求あり。
○:EI2OS割込みクリア信号にて割込み要求フラグはクリアされます。
×:EI2OS割込みクリア信号にて割込み要求フラグはクリアされません。
−
−
−
−
−
−
ICR00
0000B0H
ICR01
0000B1H
ICR02
0000B2H
ICR03
0000B3H
ICR04
0000B4H
ICR05
0000B5H
ICR06
0000B6H
ICR07
0000B7H
ICR08
0000B8H
ICR09
0000B9H
ICR10
0000BAH
ICR11
0000BBH
ICR12
0000BCH
ICR13
0000BDH
ICR14
0000BEH
ICR15
0000BFH
49
第3章 割込み
<注意事項>
同一割込み番号に二つの割込み要因がある周辺モジュールは,両方の割込み要求フラグがEI2OS
割込みクリア信号でクリアされます。
EI2OSの終了時には,同一の割込み番号に割り当てられたすべての割込みフラグに対して,EI2OS
クリア信号が発行されます。一つの割込みフラグがEI2OSを開始し,その間にハードウェアイベン
トによって別の割込みフラグが設定された場合,最初のイベントによって発行されたEI2OSクリア
信号によってフラグがクリアされるので,後から発生したイベントは失われます。したがって,
この割込み番号にはEI2OSは使用しないでください。
EI2OSが有効な場合,同一の割込み制御レジスタ(ICR)にある二つの割込み信号のうち一つが発
行されるとEI2OSが起動されます。各割込みソースには独自のEI2OSディスクリプタが用意されるべ
きですが,実際には異なる割込みソースが同一のEI2OSディスクリプタを共用します。したがって,
一つの割込みソースがEI2OSを使用している間は他の割込みを無効にしておく必要があります。
50
3.3 割込みベクタ
3.3
割込みベクタ
表 3.3-1に,MB90435シリーズでの割込みベクタ一覧表を示します。
■ 割込みベクタ
表 3.3-1 割込みベクタ一覧表(続く)
ソフトウェア
割込命令
INT 0
:
INT 7
INT 8
INT 9
INT 10
INT 11
INT 12
INT 13
INT 14
INT 15
INT 16
INT 17
INT 18
INT 19
INT 20
INT 21
INT 22
INT 23
INT 24
INT 25
INT 26
INT 27
INT 28
INT 29
INT 30
INT 31
INT 32
INT 33
INT 34
ベクタ
アドレスL
FFFFFCH
:
FFFFE0H
FFFFDCH
FFFFD8H
FFFFD4H
FFFFD0H
FFFFCCH
FFFFC8H
FFFFC4H
FFFFC0H
FFFFBCH
FFFFB8H
FFFFB4H
FFFFB0H
FFFFACH
FFFFA8H
FFFFA4H
FFFFA0H
FFFF9CH
FFFF98H
FFFF94H
FFFF90H
FFFF8CH
FFFF88H
FFFF84H
FFFF80H
FFFF7CH
FFFF78H
FFFF74H
ベクタ
アドレスM
FFFFFDH
:
FFFFE1H
FFFFDDH
FFFFD9H
FFFFD5H
FFFFD1H
FFFFCDH
FFFFC9H
FFFFC5H
FFFFC1H
FFFFBDH
FFFFB9H
FFFFB5H
FFFFB1H
FFFFADH
FFFFA9H
FFFFA5H
FFFFA1H
FFFF9DH
FFFF99H
FFFF95H
FFFF91H
FFFF8DH
FFFF89H
FFFF85H
FFFF81H
FFFF7DH
FFFF79H
FFFF75H
ベクタ
アドレスH
FFFFFEH
:
FFFFE2H
FFFFDEH
FFFFDAH
FFFFD6H
FFFFD2H
FFFFCEH
FFFFCAH
FFFFC6H
FFFFC2H
FFFFBEH
FFFFBAH
FFFFB6H
FFFFB2H
FFFFAEH
FFFFAAH
FFFFA6H
FFFFA2H
FFFF9EH
FFFF9AH
FFFF96H
FFFF92H
FFFF8EH
FFFF8AH
FFFF86H
FFFF82H
FFFF7EH
FFFF7AH
FFFF76H
モード
レジスタ
未使用
:
未使用
FFFFDFH
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
未使用
割込No
INT 35
FFFF70H
FFFF71H
FFFF72H
未使用
#35
INT 36
FFFF6CH
FFFF6DH
FFFF6EH
未使用
#36
#0
:
#7
#8
#9
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#20
#21
#22
#23
#24
#25
#26
#27
#28
#29
#30
#31
#32
#33
#34
ハードウェア割込み
なし
:
なし
(RESETベクタ)
ROM訂正
<例外>
なし
なし
なし
なし
外部割込みINT0/INT1
タイムベースタイマ
16ビットリロードタイマ0
A/Dコンバータ
入出力タイマ
外部割込みINT2/INT3
シリアルI/O
PPG 0/1
インプットキャプチャ0
外部割込みINT4/INT5
インプットキャプチャ1
PPG 2/3
外部割込みINT6/INT7
監視タイマ
PPG 4/5
インプットキャプチャ2/3
PPG 6/7
アウトプットコンペア0
アウトプットコンペア1
インプットキャプチャ4/5
アウトプットコンペア2/3
インプットキャプチャ6/7
16ビットリロードタイマ1
51
第3章 割込み
表 3.3-1 割込みベクタ一覧表(続き)
ソフトウェア
割込命令
INT 37
INT 38
INT 39
INT 40
INT 41
INT 42
INT 43
:
INT254
INT255
52
ベクタ
アドレスL
FFFF68H
FFFF64H
FFFF60H
FFFF5CH
FFFF58H
FFFF54H
FFFF50H
:
FFFC04H
FFFC00H
ベクタ
アドレスM
FFFF69H
FFFF65H
FFFF61H
FFFF5DH
FFFF59H
FFFF55H
FFFF51H
:
FFFC05H
FFFC01H
ベクタ
アドレスH
FFFF6AH
FFFF66H
FFFF62H
FFFF5EH
FFFF5AH
FFFF56H
FFFF52H
:
FFFC06H
FFFC02H
モード
レジスタ
未使用
未使用
未使用
未使用
未使用
未使用
未使用
:
未使用
未使用
割込No
#37
#38
#39
#40
#41
#42
#43
:
#254
#255
ハードウェア割込み
UART 0 受信
UART 0 送信
UART 1 受信
UART 1 送信
フラッシュメモリ
遅延割込み
なし
:
なし
なし
3.4 ハードウェア割込み
3.4
ハードウェア割込み
ハードウェア割込みは,内蔵リソースからの割込み要求信号に対応して,CPUがそ
れまで実行していたプログラムの実行を一時中断し,ユーザの定義した割込み処理用
プログラムへ制御を移行する機能です。
■ ハードウェア割込みの概要
ハードウェア割込みの起動は,割込み要求がもつ割込みレベルと,CPUのPSがも
つインタラプトレベルマスクレジスタ(ILM)の比較,およびPS内のIフラグの内容を
ハードウェアで参照したのち,発生条件に合致すれば発生します。
ハードウェア割込みが発生するときにCPUが行う処理は以下のものがあります。
CPU内部のPC,PS,AH,AL,PCB,DTB,ADB,DPRレジスタのシステムスタックへ
の退避
PSレジスタ内のILMを設定。現在要求している割込みレベルと自動的に同
じになる
対応する割込みベクタの値を取り込み,その値が指示する処理へ分岐
■ ハードウェア割込みの構造
ハードウェア割込みに関連する機構は,以下の3つの部分に分かれて存在します。
○
内蔵リソース
割込み許可ビット,割込み要求ビット:リソースからの割込み要求の制御
○
割込みコントローラ
ICR:割込みのレベル付け,同時要求割込みの優先度判定
○
CPU
I,ILM:要求割込みレベルと現レベルの比較,割込み許可状態の識別
マイクロコード:割込み処理用ステップ
上記3つの区分の状態は,内蔵リソースではリソース制御レジスタに,割込みコ
ントローラではICRに,CPUではCCRの値によって指示されます。ハードウェア割込
みを使用する場合には,あらかじめソフトウェアでこの3つの区分を事前に設定し
ます。
割込み処理の際に参照する割込みベクタのテーブルはメモリ領域の"FFFC00H∼
FFFFFFH"に割り当ててあり,ソフトウェア割込みと共通で使用しています。
■ 入出力領域への書込み中のハードウェア割込み要求
入出力領域への書込み中はハードウェア割込み要求を受け付けません。これは各
リソースの割込み制御レジスタ関係の書換えを行っている最中の割込み要求に対
して,CPUが割込み関係で誤動作を起こすことを避けるためです。
53
第3章 割込み
■ 多重割込み
F2MC-16LX CPUは多重割込みをサポートしています。そのため,割込み処理の実
行中にその割込みのもつ割込みレベルより高いレベルの割込みが発生すると,現在
実行中の命令を終了したあとで,制御は高いレベルの割込みへ転送されます。高い
レベルでの割込みが終了すると,もとの割込み処理に戻ります。割込み処理実行中
に,その割込みと同等かより低いレベルの割込み処理が発生した場合は,ILMの内
容やIフラグの命令によって変更しないかぎり,現在の割込み処理の終了まで,新
しい割込み要求は保留になります。なお,拡張インテリジェントI/Oサービスは多
重に起動されることはなく,1つの拡張インテリジェントI/Oサービスの処理中は,
他の割込み要求および拡張インテリジェントI/Oサービス要求は全て保留になりま
す。
■ スタック内へのレジスタの退避
図 3.4-1に,スタック内に退避されたレジスタの順序を示します。
図 3.4-1 スタック内に退避されたレジスタ
54
3.4 ハードウェア割込み
3.4.1
ハードウェア割込みの動作
ハードウェア割込み要求の機能を備えた内部リソースには,割込み要求フラグと割
込み許可フラグが存在します。割込み要求フラグは,割込み要求の有無を指示します。
割込み許可フラグは,該当する内部リソースによるCPUへの割込み要求の有無を指示
します。割込み要求フラグがセットされるのは,内部リソースに特有のイベントが発
生する場合です。割込み許可フラグが"許可"を指示すると,リソースは割込みコント
ローラへ割込み要求を発生します。
■ ハードウェア割込みの動作
同時に複数の割込み要求を受け取った場合,割込みコントローラは,各割込み要
求に対するICR内の割込みレベル(IL)同士を比較し,もっとも高いレベルの要求(IL
値の最も小さいもの)を採択してCPUへ通知します。同一レベルの要求が複数あった
場合には,割込み番号が少ないものを優先します。各割込み要求と各ICRの関係は
ハードウェアで決まっています。
CPUは受け取った割込みレベル(IL)とPSレジスタ内のILMとを比較し,割込みレベ
ル(IL)<(ILM)であり,PSレジスタ内のIビットが"1"に設定されている場合に,現在
実行中の命令が終了したあとで,割込み処理用マイクロコードを起動します。割込
み処理マイクロコードの先頭で割込みコントローラのICR中のISEビットを参照し,
ISEビットが"0"(すなわち割込み)であることを確認して割込み処理の本体を起動
します。
割込み処理の本体ではSSBとSSPの示すメモリ中へPSとPC,PCB,DTB,ADB,DPR,Aの
12バイトを退避した後,割込みベクタの中から,を3byteを取り出してPCとPCBへ
ロードします。PS中のILMを,受け付けた割込み要求のレベル値に更新,Sフラグを
"1"に設定して分岐処理を行います。その結果,次に実行する命令はユーザの定義
した割込み処理プログラムになります。
ハードウェア割込みが発生してから,割込み処理プログラム内に割込み要求がな
くなるまでの処理の流れを図 3.4-2に示します。
図 3.4-2 ハードウェア割込みの発生と解除まで
55
第3章 割込み
図 3.4-2の図中における,①∼⑦の内容を以下に説明します。
①
周辺の内部で割込み要因が発生します。
②
周辺内の割込み許可ビットを参照し割込み許可になっていれば,周辺から
割込みコントローラへ割込み要求を発生します。
③
割込み要求を受けとった割込みコントローラは,同時に要求のあった割込
みの優先順位を判定した上で該当する割込みに対応する割込みレベルを
CPUへ転送します。
④
CPUは割込みコントローラから要求のあった割込みレベルをプロセッサス
テータスレジスタ内のILMビットと比較します。
⑤
比較の結果が現在の割込み処理レベルより優先順位が高い場合のみ,同じ
プロセッサステータスレジスタ内のIフラグの内容をチェックします。
⑥
⑤のチェックの結果Iフラグが割込み許可状態である場合のみ,ILMビット
の内容を要求されたレベルに設定し,現在実行中の命令の実行が終了し次
第割込み処理を行い,制御を割込み処理ルーチンへ移します。
⑦
ユーザの割込み処理ルーチン内のソフトウェアで①で発生した割込み要
因をクリアすることで割込み要求が終了します。
⑥および⑦で,CPUが行う割込み処理の実行時間を以下に示します。
割込み起動:24+6×表 3.4-1 マシンサイクル
割込み復帰:15+6×表 3.4-1 マシンサイクル(RETI命令)
表 3.4-1 割込み処理時のサイクル数の補正値
スタックポインタが示しているアドレス
外部領域 8ビットデータバスの場合
外部領域 偶数アドレスの場合
外部領域 奇数アドレスの場合
内部領域 偶数アドレスの場合
内部領域 奇数アドレスの場合
56
サイクル数の補正値
+4
+1
+4
0
+2
3.4 ハードウェア割込み
3.4.2
ハードウェア割込みの動作フロー
図 3.4-3に,ハードウェア割込みの動作フローを示します。
■ ハードウェア割込みの動作フロー
図 3.4-3 ハードウェア割込み動作フロー
57
第3章 割込み
3.5
ソフトウェア割込み
ソフトウェア割込みは,専用の命令の実行に対応して,CPUがそれまで実行してい
たプログラムの実行から,ユーザの定義した割込み処理用プログラムへ制御を移行す
る機能です。
■ ソフトウェア割込みの概要
ソフトウェア割込みの起動は,ソフトウェア割込み命令の実行で常に発生します。
ソフトウェア割込みが発生するときにCPUが行う処理は,以下のものがあります。
CPU内部のPC,PS,AH,AL,PCB,DTB,ADB,DPRレジスタの値をシステムスタッ
クへ退避させます。
PSレジスタ内にIを設定します。割込みは,自動的に禁止されます。
対応する割込みベクタの値を取り出し,次に値が指示する処理へ分岐し
ます。
INT命令から出されたソフトウェア割込み要求には,割込み要求フラグや許可フ
ラグは存在しません。ソフトウェア割込み要求が出されるのは,必ずINT命令の実
行によります。
INT命令には割込みレベルが存在しません。したがって,INT命令は,ILMを更新
しません。INT命令は,Iフラグをクリアして後続の割込み要求を保留にします。
■ ソフトウェア割込みの構造
ソフトウェア割込みは,すべてCPUの内部で取り扱われます。
○
CPU
マイクロコード:割込み処理用ステップ
表 3.3-1に示すように,ソフトウェア割込みは,ハードウェア割込みと同じ割込
みベクタ領域を共用します。たとえば,割込み要求番号のINT 15は,ハードウェア
割込みの外部割込み#0に使用されると同時に,ソフトウェア割込みのINT #15に使
用されます。したがって,外部割込み#0とINT #15は,同じ割込み処理ルーチンを
呼び出します。
■ ソフトウェア割込みの動作
CPUがソフトウェア割込み命令を取り込み実行すると,ソフトウェア割込み処理
用マイクロコードを起動します。ソフトウェア割込み処理用マイクロコードはSSB
とSSPが指示するメモリ領域に12バイト(PSとPC,PCB,DTB,ADB,DPR,A)を退避させま
す。次に,マイクロコードは割込みベクタの中から,3byteを取り出してPCとPCB
へ格納します。Iフラグをリセット("0")して,Sフラグをセット("1")します。その
結果,ユーザアプリケーションプログラムが定義した割込み処理プログラムを次に
実行します。
ソフトウェア割込みが発生してから,割込み処理プログラム内に割込み要求がな
くなるまでの処理の流れを図 3.5-1に示します。
58
3.5 ソフトウェア割込み
図 3.5-1 ソフトウェア割込みの発生と解除まで
図 3.5-1の図中における,①∼③のソフトウェア割込みの発生と解除までの流れ
を以下に示します。
①
ソフトウェア割込み命令を実行します
②
ソフトウェア割込み命令に対応したマイクロコードにしたがってレジス
タファイル中のCPU内専用レジスタが退避されます。
③
ユーザの割込み処理ルーチン内のRETI命令で割込み処理が終了します。
■ ソフトウェア割込みに関する注意事項
プログラムバンクレジスタ(PCB)が"FFH"の場合,CALLV命令のベクタ領域はINT
#vct8命令のテーブルと重複します。ソフトウェアを設計する際は,必ずCALLV命令
がINT #vct8命令と同じアドレスを使用しないように注意してください。
59
第3章 割込み
3.6
拡張インテリジェントI/O
拡張インテリジェントI/Oサービ
I/Oサービス
サービス(EI2OS)
拡張インテリジェントI/Oサービス(EI2OS)とは,ハードウェア割込み動作の一種で,
I/Oとメモリとの間でデータを自動的に転送します。従来は,割込み処理プログラム
により,I/Oとメモリの間でデータを転送していましたが,EI2OSでは,DMAモードの
ようなデータの転送が可能になります。
■ 拡張インテリジェントI/Oサービス(EI2OS)の概要
拡張インテリジェントI/Oサービス(EI2OS)は,従来の割込み処理で行っていた方
式と比べると以下に示すような利点があります。
転送プログラムの作成が不要となるため,プログラム全体のサイズを小
さくすることができます。
転送の際に内部レジスタを使用しないので,レジスタの退避が不要にな
り転送速度が速くなります。
I/Oによりいつでも転送を停止することができ,不要なデータを転送しま
せん。
バッファアドレスのインクリメント,デクリメント,または未更新が選
択できます。
I/Oレジスタアドレスのインクリメント,デクリメント,または未更新が
選択できます(バッファアドレスを更新する場合)
EI2OS処理の終了時には,終了条件を設定した後に,CPUが自動的に割込み処理
ルーチンへ分岐します。したがって,ユーザは終了条件の種類を判別することがで
きます。
<注意事項>
REALOSを使用する場合は,拡張インテリジェントI/Oサービス(EI2OS)が使用できません。
EI2OSの概要を図 3.6-1に示します。
60
3.6 拡張インテリジェントI/Oサービス(EI2OS)
(注)
・IOAで指定できる領域は,"000000H∼00FFFFH"です。
・BAPで指定できる領域は,"000000H∼FFFFFFH"です。
・DTCで指定できる最大転送数は,65536個です。
図 3.6-1 拡張インテリジェントI/Oサービスの概要
図 3.6-1中の①∼⑤の説明を以下に示します。
①
I/Oが転送を要求します。
②
割込みコントローラがディスクリプタを選択します。
③
転送元/転送先をディスクリプタから読出します。
④
I/Oとメモリ間で転送が行われます。
⑤
割込み要因は自動的にクリアされます。
■ 拡張インテリジェントI/Oサービス(EI2OS)の構造
EI2OSに関連する機構は,以下の4つの部分に分かれて存在します。
○
内蔵リソース
割込み許可ビット,割込み要求ビット:リソースからの割込み要求の制
御
○
割込みコントローラ
ICR:割込みのレベル付け,同時要求割込みの優先度判定,EI2OS動作の選
択
○
CPU
I,ILM:要求割込みレベルと現レベルの比較,割込み許可状態の識別
マイクロコード:EI2OS処理用ステップ
○
RAM
ディスクリプタ:EI2OSの転送情報を記述する
61
第3章 割込み
3.6.1
割込み制御レジスタ(ICR)
割込み制御レジスタ(ICR)
割込み制御レジスタは割込みコントローラ内にあり,割込み機能を持つすべての
I/Oに対応して存在します。このレジスタには以下に示す3つの機能があります。
・対応する周辺の割込みレベルの設定
・対応する周辺の割込みを通常割込みにするか,拡張インテリジェントI/Oサービ
スにするかの選択
・拡張インテリジェントI/Oサービスのチャネルの選択
このレジスタに対するリードモディファイライト系の命令でのアクセスは,誤動作
を引き起こしますので行わないでください。
■ 割込み制御レジスタ(ICR)
割込み制御レジスタのビット構成を図 3.6-2に示します。
図 3.6-2 割込み制御レジスタ(ICR)
<注意事項>
ICS3∼0は,EI2OSを起動する場合のみ有効となります。EI2OSを起動する場合はISEを"1"に設定
し,起動しない場合は"0"に設定してください。EI2OSを起動しない場合,ICS3∼0は何を設定して
もかまいません。
ICS3とICS2には,常に"1"が読込まれます。
ICS1とICS0は書込みのみ有効で,S1とS0は読出しのみ有効です。
【ビット15∼12,7∼4】ICS3∼0
ICS3∼0ビットは,EI2OSチャネル選択ビットです。
書込み専用のビットです。ここで設定された値によりメモリ上の拡張インテ
リジェントI/Oサービスディスクリプタのアドレスが決定します。ICSはリセッ
トにより初期化されます。
ICS,チャネル番号,およびディスクリプタアドレスの対応を表 3.6-1に示し
ます。
62
3.6 拡張インテリジェントI/Oサービス(EI2OS)
表 3.6-1 ICSビット,チャネル番号,およびディスクリプタアドレス
ICS3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
ICS2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
ICS1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
ICS0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
セレクトされるチャネル
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ディスクリプタアドレス
000100H
000108H
000110H
000118H
000120H
000128H
000130H
000138H
000140H
000148H
000150H
000158H
000160H
000168H
000170H
000178H
【ビット13∼12,5∼4】S0,S1
S0,S1は,EI2OS終了ステータスビットです。
読出し専用のビットで,EI2OS終了時にこのビットの値を調べることにより,
終了条件が何であったかを判別することができます。リセットにより"00"に初
期化されます。
Sビットと終了条件との関係を表 3.6-2に示します。
表 3.6-2
S1
0
0
1
1
Sビットと終了条件
S0
0
1
0
1
終了条件
EI2OS動作中あるいは非起動時
カウント終了による停止状態
予約
内蔵リソースからの要求による停止状態
【ビット11,3】ISE
ISEビットは,EI2OSを許可します。読書き可能なビットです。
割込み要求の発生時にこのビットが"1"であるとEI2OSが起動され,"0"のとき
は割込みシーケンスが起動されます。また,EI2OSの終了条件が満たされると(S1
ビットとS0ビットが"00"でない),ISEビットは"0"になります。対応する周辺に
EI2OSの機能がないときには,ソフトウェアでISEを"0"にしておく必要がありま
す。リセットにより"0"に初期化されます。
【ビット10∼8,2∼0】IL0,IL1,IL2
IL0,IL1,IL2ビットは,割込みレベルを設定します。
対応する内蔵リソースの割込みレベルを指定します。読み出しと書き込みが
できます。リセットによりレベル7(割込みなし)に初期化されます。割込みレベ
ル設定ビットと割込みレベルとの関係を表 3.6-3に示します。
63
第3章 割込み
表 3.6-3 割込みレベル設定ビットのレベル値
ILM2
0
0
0
0
1
1
1
1
64
ILM1
0
0
1
1
0
0
1
1
ILM0
0
1
0
1
0
1
0
1
割込みレベル値
0(最強割込み)
1
2
3
4
5
6(最弱割込み)
7(割込みなし)
3.6 拡張インテリジェントI/Oサービス(EI2OS)
3.6.2
拡張インテリジェントI/O
拡張インテリジェントI/Oサービスディスクリプ
I/Oサービスディスクリプ
タ(ISD)
拡張インテリジェントI/Oサービスディスクリプタは,内部RAM中の"000100H∼
00017FH "に存在し,以下に示すものから構成されます。
・データ転送の各種コントロールデータ
・ステータスデータ
・バッファアドレスポインタ
■ 拡張インテリジェントI/Oサービスディスクリプタ(ISD)
図 3.6-3に,拡張インテリジェントI/Oサービスディスクリプタの構成を示しま
す。
図 3.6-3 拡張インテリジェントI/Oサービスディスクリプタの構成
■ データカウンタ (DCT)
データカウンタ (DCT)は,16ビット長のレジスタで,転送されたデータ要素の数
に対応したカウンタとして機能します。データ転送の前に,このカウンタは1個デ
クリメントされます。このカウンタがゼロになるとEI2OSは終了します。
データカウンタの構成を図 3.6-4に示します。
図 3.6-4 データカウンタ(DTC)の構成
65
第3章 割込み
■ I/Oレジスタアドレスポインタ (IOA)
I/Oレジスタアドレスポインタ (IOA)は,16ビット長のレジスタで,データ転送
に使用されるバッファとI/Oレジスタの下位アドレス(A15∼A0)を示します。上位ア
ドレス(A23∼A16)はすべて"0"であり,"000000H ∼00FFFFH"番地までの任意のI/Oを
指定できます。IQAの構成を図 3.6-5に示します。
図 3.6-5 I/Oレジスタアドレスポインタ (IOA)の構成
■ EI2OSステータスレジスタ(ISCS)
EI2OSステータスレジスタ(ISCS)は,8ビット長のレジスタで,更新の向き(イン
クリメント/デクリメント),転送データ形式(バイト/ワード),バッファアドレス
ポインタおよびI/Oレジスタアドレスポインタの転送方向を指示します。また,こ
のレジスタは,バッファアドレスポインタまたはI/Oレジスタアドレスポインタが
更新または固定されているかどうかも指示します。ISCSの構成を図 3.6-6に示しま
す。
図 3.6-6 EI2OSステータスレジスタ(ISCS)の構成
各ビットについて,以下に説明します。
【ビット4】IF
IFビットは,I/Oレジスタアドレスポインタの更新/固定を指定します。
表 3.6-4 I/Oレジスタアドレスポインタの更新/固定ビット(IF)
IF
0
1
機能
データ転送後I/Oレジスタアドレスポインタは更新される。
データ転送後I/Oレジスタアドレスポインタは更新されない。
【ビット3】BW
BWビットは,転送データ長を指定します。
表 3.6-5 転送データ長を指定ビット(BW)
BW
0
1
66
機能
バイト
ワード
3.6 拡張インテリジェントI/Oサービス(EI2OS)
【ビット2】BF
BFビットは,バッファアドレスポインタの更新/固定を指定します。
表 3.6-6 バッファアドレスポインタの更新/固定指定ビット(BF)
BF
0
1
機能
データ転送後バッファアドレスポインタは更新される。
データ転送後バッファアドレスポインタは更新されない。
<注意事項>
更新する場合,バッファアドレスポインタは下位16bitのみ変化します。許されるのはインクリ
メントのみです。
【ビット1】
:DIR
DIRビットは,データの転送方向を指定します。
表 3.6-7 データの転送方向指定ビット(DIR)の設定
DIR
0
1
設定
I/O
→ バッファ
バッファ→ I/O
【ビット0】SE
SEビットは,リソースからの要求に応じて,拡張インテリジェントI/Oサービ
スの終了を制御します。
表 3.6-8 EI2OS終了制御ビット
SE
0
1
設定
リソースからの要求により終了しない。
リソースからの要求により終了する。
■ バッファアドレスポインタ (BAP)
24bitのレジスタで次にEI2OSによる転送で使用するアドレスを保持します。BAP
はEI2OSの各チャネルに対してそれぞれ独立に存在しますので,EI2OSの各チャネル
は16Mbyteの任意の空間を転送することができます。
<注意事項>
ISCSのBFビットを"0"(更新あり)にした場合,BAPは下位16ビットのみ変化し,BAPHは変化しま
せん。
67
第3章 割込み
3.6.3
拡張インテリジェントI/O
拡張インテリジェントI/Oサービス
I/Oサービス(EI
サービス(EI2OS)の動作
OS)の動作
図 3.6-7に拡張インテリジェントI/Oサービス(EI2OS)の動作フローを,図 3.6-8に,
拡張インテリジェントI/Oサービス(EI2OS)の使用手順フローを示します。
■ 拡張インテリジェントI/Oサービス(EI2OS)の動作フロー
図 3.6-7 拡張インテリジェントI/Oサービス(EI2OS)動作フロー
68
3.6 拡張インテリジェントI/Oサービス(EI2OS)
図 3.6-8 拡張インテリジェントI/Oサービス(EI2OS)の使用手順フロー
69
第3章 割込み
拡張インテリジェントI/O
拡張インテリジェントI/Oサービス
I/Oサービス(EI
サービス(EI2OS)の実行
OS)の実行
時間
3.6.4
拡張インテリジェントI/Oサービス(EI2OS)の実行時間は次の3つの場合があります。
・データ転送継続時(停止条件が成立しない場合)
・リソースからの停止要求時
・カウント終了時
■ 拡張インテリジェントI/Oサービス(EI2OS)の実行時間
○
データ転送継続時(停止条件が成立しない場合)
(表 3.6-9+表 3.6-10) マシンサイクル
表 3.6-9 拡張EI2OSの継続時の実行時間
ISCS・SEビット
I/Oアドレスポインタ
バッファアドレスポインタ
固定
更新
○
"0"に設定
固定
更新
32
34
34
36
"1"に設定
固定
更新
33
35
35
37
リソースからの停止要求時
(36+6×表 3.4-1)マシンサイクル
○
カウント終了時
(表 3.6-9+表 3.6-10+(21+6×表 3.4-1))マシンサイクル
表 3.6-10 拡張EI2OS実行時間のデータ転送の補正値
I/Oアドレスポインタ
バッファアドレス
ポインタ
内部アクセス
外部アクセス
B :バイトデータ転送
8 :外部バス幅8ビット・ワード転送
偶:偶数アドレス・ワード転送
奇:奇数アドレス・ワード転送
70
B/偶
奇
B/偶
8/奇
内部アクセス
B/偶
奇
0
+2
+2
+4
+1
+3
+4
+6
外部アクセス
B/偶
8/奇
+1
+4
+3
+6
+2
+5
+5
+8
3.7 未定義命令の実行による例外発生
3.7
未定義命令の実行による例外発生
F2MC-16LX では,未定義命令の実行により例外が発生し,例外処理が行われます。
例外処理は,基本的には割込みと同じものであり,命令の境目で例外事項が発生し
たことを検出した段階で,通常処理から離れて例外処理を行います。一般的に,例外
処理は予想外の動作を行った結果で発生するものですので,デバッグ時だけの使用や
緊急時の復旧ソフトウェアの起動などのみに使用することをお勧めします。
■ 未定義命令の実行による例外発生
F2MC-16LXでは,命令マップで定義していないコードはすべて未定義命令として
扱います。未定義命令を実行すると,ソフトウェア割込み命令の「INT 10」と等価
な処理を行います。すなわち,AL,AH,DPR,DTB,ADB,PCB,PC,PSの内容をシステムス
タックに退避した後に,割込み番号10のベクタで示されるルーチンへ分岐します。
さらに,Iフラグをクリアし,Sフラグを設定します。スタックへ退避したPCの値は
未定義命令を格納しているアドレスそのものです。RETI命令で元の処理に復帰させ
ることは可能ですが,再び例外を発生するため,意味がありません。
71
第3章 割込み
72
第4章
クロックとリセット
この章では,クロックとリセットの機能と動作について説明します。
4.1 クロック発生部
4.2 リセット要因の発生
4.3 リセット要因
73
第4章 クロックとリセット
4.1
クロック発生部
クロック発生部により,スリープ,時計,ストップおよび,PLLクロック逓倍機能
など内部クロックの動作制御を行います。この内部クロックのことをマシンクロック
とよび,その1周期をマシンサイクルとしています。また,原発振によるクロックを
メインクロックとよび,内部のVCO 発振によるクロックをPLLクロックとしています。
■ クロック発生部の注意
動作電圧が5Vのとき,OSC原発振は3MHz∼5MHzの発振が可能です。外部クロック
供給の場合,3MHz∼16MHzの発振が可能です。しかし,CPUおよび周辺リソース回路
の最大動作周波数が16MHzなので,16MHzを超える逓倍係数を指定した場合には,正
常な動作は保証されません。たとえば,外部クロックが16MHzで発振している場合,
逓倍係数として"1"しか指定できません。
また,VCO 発振の最低動作周波数は4MHzであり,この周波数以下の発振も指定す
ることもできません。
図 4.1-1 クロック発生回路ブロックダイヤグラム
74
4.2 リセット要因の発生
4.2
リセット要因の発生
リセット要因が発生すると,F2MC-16LXはただちに現在実行中の処理を中断し,リ
セット解除待ち状態になります。
■ リセット要因の発生
リセットは以下の5種類の要因で発生します。
パワーオンリセットの発生
ハードウェアスタンバイ状態の解除
ウォッチドッグタイマのオーバフロー
RST 端子による外部リセット要求の発生
ソフトウェアによるリセット要求の発生
ストップモードまたはパワーオンリセットから出ると,動作を再開する前に発信
安定間隔が挿入されます。
リセット要因が発生すると,F2MC-16LXはすぐに現在実行されている動作を停止
し,リセット解除スタンバイモードに移ります。
マシンクロックとウォッチドッグ機能はリセット要因に合わせて初期化されま
す。
ウォッチドッグタイマ制御レジスタのリセット要因ビットでは,リセット要因を
識別できます。
<注意事項>
ストップモード以外のモードでは,外部リセット入力はクロック回路により内部的にサンプル
されますので,外部クロック信号供給が使用されるときにリセット信号入力は受信されません。
外部バスが使用されるとき,リセット要因が発生するデバイスによって未定義のアドレスが生
成されます。 RD , WR 信号などの外部バスアクセスに使用される信号は,アクティブではなくな
ります。
■ リセット解除後の動作
リセットが取り除かれると,F2MC-16LXはただちにリセットベクタを格納してあ
るアドレスを出力し,リセットベクタとモードデータの取り込みを行います。リ
セットベクタとモードデータはFFFFDCH∼FFFFDFHの4バイトに割り当てられていま
す。リセットベクタとモードデータは,図 4.2-1で示すように,リセット解除後に
レジスタにハードウェアで転送されます。
リセットベクタとモードデータを内部ROMまたは外部メモリのどちらかから読み
出すかを指定するのは,モード端子により行います。モード端子で外部ベクタモー
ドを指定すると,外部メモリにリセットベクタとモードデータを読出しにいきます
ので,シングルチップモードおよび内ROM外バスモードで使用される場合には,内
部ベクタモードを指定することを推奨します。
リセットベクタとモードデータを読み出した後のバスモードは,モードデータに
より指定します。
75
第4章 クロックとリセット
図 4.2-1 リセットベクタとモードデータの格納場所と格納先
<注意事項>
上記ダイアグラムのモードレジスタはリセット直後は定義されていません。モードデータをメ
モリ空間に格納して値がこの領域に書き込まれるようにしてください。
■ リセット入力によって初期化されないレジスタ
本製品には,パワーオンリセットでしか初期化されないレジスタがあります。表
4.2-1 に各リセット要因によって初期化されないレジスタを示します。
表 4.2-1 リセット入力によって初期化されないレジスタ
リセットの種類
RST のみ使用
ソフトウェアリセット
ウォッチドッグリセット
パワーオンリセット
WS1
WS0
CKSCR
MCS
CS1
CS0
WTC
WDCS
×
×
×
×
×
×
×
×
×
○
×
○
○
○
×
○
×
○
×
○
○
○
○
○
×
○
○
○
○
○
メイン
×
×
○
×
×
モード
ハードウェアスタンバイ
サブ
○
○
○
○
○
モード
WS1,WS0:メインクロック発振安定待ち時間設定
MCS:マシンクロック("0"=PLLクロック,"1"=メインクロック)
CS1,CS0:PLLクロック逓倍設定
WDCS:ウォッチドッグ入力クロック "0"=時計タイマ,"1" タイムベースタイマ
○:初期化する
×:初期化しない
76
LPMCR
CG1
CG0
4.2 リセット要因の発生
MCSビットについては,マシンクロック設定ビットですので,とくに注意が必要
です。例えば,電源投入がパワーオンリセット規格を満足しないときは,パワーオ
ンリセットが発生しません。そのため,MCSが初期化されないことにより,内部動
作周波数が動作保証範囲外になり,正常動作しなくなることが考えられます。
また,何らかの原因によりCPUが暴走し,MCS,CS1,CS0が書き換わった際にも内部
動作周波数が動作保証範囲外になり,その状態から RST 入力のみでは正常復帰しな
くなることが考えられます(ただし,内部ウォッチドッグが発生した場合には,MCS
が初期化され正常動作します)。
上記のようなケースが考えられる場合には, HST + RST ( HST と RST をショート)
として使用することを推奨します。
表 4.2-2 に, HST + RST を行った場合のリセット入力による初期化されないレ
ジスタについて示します。表 4.2-2 に示すように,リセット解除時の動作状態が,
HST + RST のリセット入力と, RST のみの入力とで異なるので,注意が必要です。
表 4.2-2 リセット入力によって初期化されないレジスタ
リセットの種類
HST + RST
メイン
モード
サブ
モード*
WS1
WS0
CKSCR
MCS
CS1
CS0
WTC
WDCS
LPMCR
CG1
CG0
×
×
×
×
×
×
○
○
○
○
○
○
○
○
○
○
○:初期化する
×:初期化しない
*:サブモード移行期間中を含みます。
77
第4章 クロックとリセット
図 4.2-2 リセット入力による動作遷移
78
4.3 リセット要因
4.3
リセット要因
表 4.3-1に,5種類のリセット要因を示します。リセット要因によりマシンクロッ
クとウォッチドッグ機能の初期化状態が異なります。
リセット要因レジスタはリセット要因を表示します。
■ リセット要因
表 4.3-1 リセット要因
リセット
発生要因
パワーオン
電源立上げ時
ハードウェア
スタンバイ
HST 端子への
ウォッチドッグ
タイマ
"L"レベル入力
ウォッチドッグタイマ
オーバフロー
マシンクロック
ウォッチドッグ
タイマ
発振安定待ち
停止
あり
メインクロック
停止
あり
メインクロック*
停止
あり
サブクロック時
メインクロック*
PLLクロック時
メインクロック*
*
メインクロック
*
メインクロック*
*
メインクロック
RST 端子への
PLLクロック
前の状態を保持
なし
またはPLLクロック
"L"レベル入力
*
LPMCRレジスタ中のRST
メインクロック
ソフトウェア
PLLクロック
前の状態を保持
なし
またはPLLクロック
ビットに"0"をライト
*:fosc/2(fosc:原発振)
(注) ・ ストップモードで外部端子リセット信号が入力されると,リセット要因に関係なく発振安定待ち時間を取ります。
・ パワーオンリセットおよびハードウェアスタンバイの発振安定時間は,原発振218サイクル固定です。それ以外の発
振安定待ち時間は,クロック選択レジスタのWS1/WS0 により決定されます。
外部端子
それぞれのリセット要因には対応したフリップフロップがあります。これらの内
容はウォッチドッグタイマ制御レジスタを読み出すことで得ることができますの
で,リセット解除後にリセット発生要因を識別する必要がある場合には,ウォッチ
ドッグタイマ制御レジスタを読み出した値をソフトウェアで処理した上で,適切な
アプリケーションプログラムへ分岐するようにしてください。
図 4.3-1 リセット要因ビットブロックダイヤグラム
79
第4章 クロックとリセット
リセット要因が複数発生する場合でも,ウォッチドッグタイマ制御レジスタの対
応するそれぞれのリセット要因ビットを立てるようになっています。したがって,
外部リセット要求とウォッチドッグリセットが同時に発生した場合でもERSTビッ
トとWRSTビットの両方が"1"になります。
ただし,パワーオンリセットの場合だけは別で,PONRビットが"1"であるときは
それ以外のビットの内容は正常なリセット要因を示しておりません。このため,
PONRビットが"1"の場合はそれ以外のリセット要因ビットの内容は無視するように
ソフトウェアを作成してください。
表 4.3-2 リセット要因ビット値とリセット要因
リセット要因
パワーオン
ハードウェアスタンバイ
ウォッチドッグタイマ
外部端子
RSTビット
*:前の値を保持
PONR
1
*
*
*
*
STBR
−
1
*
*
*
WRST
−
*
1
*
*
ERST
−
*
*
1
*
SRST
−
*
*
*
1
リセット要因ビットのクリアはウォッチドッグタイマ制御レジスタの読出しだ
けですので,一度発生したリセット要因に対応するリセット要因ビットは,それ以
外のリセット要因が発生しても"1"になったままとなっています。
ウォッチドッグタイマ制御レジスタの構成とリセット要因ビットについての詳
細は,「第9章 タイムベースタイマ」「第10章 ウォッチドッグタイマ」「第11章
時計タイマ」を参照してください。
80
第5章
低消費電力制御回路
この章では,低消費電力制御回路の機能と動作について説明します。
5.1 低消費電力制御回路の概要
5.2 低消費電力制御回路のブロックダイヤグラム
5.3 低消費電力制御回路のレジスタ
5.4 クロック選択の状態遷移
81
第5章 低消費電力制御回路
5.1
低消費電力制御回路の概要
低消費電力制御回路は,主に低消費電力の動作モードで用いられます。また,レジ
スタのビット設定によりCPU間欠動作機能や発振安定待ち時間の設定を行うことがで
きます。
全体のブロックダイヤグラム中では,クロック制御回路の一部となります (「1.3
ブロックダイヤグラム」を参照)。
■ 低消費電力制御回路の動作モード
MB90435シリーズでは次の動作モードをサポートしています。動作モードとして,
PLLクロックモード・PLLスリープモード・PLL時計モード・擬似時計モード・メイ
ンクロックモード・メインスリープモード・メイン時計モード・メインストップモー
ド・サブクロックモード・サブスリープモード・サブ時計モード・サブストップモー
ド・ハードウェアスタンバイモードがあり,PLLクロックモード以外の動作モード
が低消費電力モードになります。
■ CPU間欠動作機能
CPU間欠動作機能は,内蔵レジスタ,内蔵メモリ(ROM,RAM,I/O,リソースメモ
リ),外部バスアクセスを行うときにCPUに供給するクロックを一定期間停止させ,
内蔵バスサイクルの起動を遅らせる機能であり,内蔵リソースに高速クロックを供
給したままCPUの実行速度を下げることにより,低消費電力で処理が行えます。低
消費電力モード制御レジスタ(LPMCR)内のCG1,0ビットにより,CPUに供給するク
ロックの一時停止サイクル数の選択を行います。
外部バス動作では周辺リソースと同じクロック信号が引き続き使用されること
に注意してください。
また,CPU間欠動作機能を使用した場合の命令実行時間の算出は,レジスタ,内
蔵メモリ,内蔵リソースにアクセスを行う回数に,一時停止サイクル数を掛けた補
正値を通常の実行時間に加えることで,求めることができます。
■ メインクロック発振安定待ち時間設定
クロック選択レジスタ(CKSCR)内のWS1,0ビットにより,ストップモードの解除時
のメインクロック発振安定待ち時間の選択を行います。X0, X1端子に接続する発振
回路,発振素子の種類や特性に応じて発振安定待ち時間を選択してください。
パワーオンリセットハードウェアスタンバイ以外のリセットは本ビットを初期
化しません。パワーオンリセット発生後およびハードウェアスタンバイモード解除
後は本ビットを"11"に初期化します。そのため,パワーオンハードウェアスタンバ
イ後のメインクロック発振安定待ち時間は,原発振の約218カウントになります。
82
5.1 低消費電力制御回路の概要
■ マシンクロックの切換え
○
メインクロック・PLLクロックの切換え
クロック選択レジスタ(CKSCR)内のMCSビットへの書込み動作により,メイン
クロックとPLLクロックの切換えを行います。
MCSビットを"1"から"0"に書き換えた場合には,PLLクロックの発振安定待ち
時間(212マシンクロックサイクル)後,メインクロックからPLLクロックに切り換
わります。
MCSビットを"0"から"1"に書き換えた場合には,PLLクロックとメインクロッ
ク信号のエッジが次に一致するタイミング(1∼8PLLクロックサイクル以内)で
PLLクロックからメインクロックに切り換わります。
MCSビットを書き換えても即座にマシンクロックの切換えが行われないので,
マシンクロックに依存するリソースを操作する場合には,MCMビットを参照して
マシンクロックスピードの切換えが行われたことを確認したのちに,リソース
の操作を行ってください。
○
メインクロック・サブクロックの切換え
2系統品ではクロック選択レジスタ(CKSCR)レジスタ内のSCSビットへの書込
み動作により,メインクロックとサブクロックの切換えを行います。
SCSビットを"1"から"0"に書き換えた場合には,サブクロック信号の次のエッ
ジが検出されたタイミングで動作はメインクロックからサブクロックに切り換
わります。
SCSビットを"0"から"1"に書き換えた場合には,メインクロックの発振安定待
ち時間後に,動作はサブクロックからメインクロックに切り換わります。
SCSビットを書き換えても即座にマシンクロックの切換えが行われないので,
マシンクロックの動作を確認した後に,リソースの操作を行ってください。
なお,サブクロックは1系統品では使用できません。
<注意事項>
サブクロックモードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場
合は,サブクロックの2マシンサイクル以上”L”レベルを入力してください。
○
マシンクロック初期化
MCSビットおよびSCSビットは,外部端子,RSTビットによるリセットでは,初
期化されません。そのほかのリセットでは,"1"に初期化されます。
<注意事項>
電源を投入した場合,またはハードウェアスタンバイモード,ストップモードを解除した場合は,
サブクロック発振安定待ち時間(約2秒)が発生します。この間に,メインクロックモードからサブ
クロックモードに切り換えた場合は,発振安定待ち時間が発生します。
クロックモードを切り替えた場合,切替えが完了するまでは,ほかのクロックモードおよび低消
費電力モードへの切替えを行わないでください。切替えの完了はクロック選択レジスタ(CKSCR)
のMCMビットおよびSCMビットを参照して確認してください。
■ PLLクロック逓倍機能
PLLクロックの逓倍率はCS1,0ビットを使用して2,4,6,8に設定されます。こ
のクロックは2分周してマシンクロック信号として使用されます。
83
第5章 低消費電力制御回路
5.2
低消費電力制御回路のブロックダイヤグラム
低消費電力制御回路のブロックダイヤグラムを示します。
■ 低消費電力制御回路のブロックダイヤグラム
図 5.2-1 低消費電力制御回路とクロック発生部のブロックダイヤグラム
84
5.3 低消費電力制御回路のレジスタ
5.3
低消費電力制御回路のレジスタ
低消費電力制御回路のレジスタには,次の2種類があります。
・低消費電力モード制御レジスタ
・クロック選択レジスタ
■ 低消費電力制御回路のレジスタ
図 5.3-1 低消費電力制御回路のレジスタ
85
第5章 低消費電力制御回路
5.3.1
低消費電力モード制御レジスタ(LPMCR)
低消費電力モード制御レジスタ(LPMCR)
低消費電力モード制御レジスタ(LPMCR)の構成やビットの機能について説明します。
■ 低消費電力モード制御レジスタ(LPMCR)
図 5.3-2 低消費電力モード制御レジスタ(LPMCR)
【ビット7】STP
"1"を書き込むことにより擬似時計モード(CKSCR.MCS=0 & SCS=1)またはス
トップモード(CKSCR.MCS=1 または SCS=0) に遷移します。"0"の書込みでは動
作に影響はありません。リセット,時計モード解除またはストップモード解除
で"0"にクリアされます。書込みのみ可能なビットです。読出し値は,常に"0"
です。
【ビット6】SLP
"1"を書き込むことによりスリープモードに遷移します。"0"の書込みでは動
作に影響はありません。リセット,スリープモード解除,またはストップモー
ド解除で"0"にクリアされます。
STPビットとSLP ビットに同時に"1"を書き込んだ場合,時計モードまたは擬
似時計モードに遷移します。書込みのみ可能なビットです。読出し値は,常に
"0"です。
【ビット5】SPL
"0"の場合,時計モード,擬似時計モードまたはストップモード時の外部端子
のレベルを保持します。"1"の場合,時計モード,擬似時計モードまたはストッ
プモード時の外部端子をハイインピーダンスにします。リセットで"0"にクリア
されます。
【ビット4】RST
"0"を書き込むことにより3マシンサイクルの内部リセット信号を発生します。
"1"の書込みでは動作に影響はありません。読み出し値は常に"1"です。
【ビット3】TMD
2系統品:
"0"を書き込むことにより時計モードに遷移します。"1"の書込みでは動作に
影響はありません。リセット,時計解除,またはストップ解除で"1"にクリアさ
れます。書込みのみ可能なビットです。読出し値は,常に"1"です。
1系統品:
常に"1"を書き込んでください。
86
5.3 低消費電力制御回路のレジスタ
【ビット2,1】CG1,CG0
CPU間欠動作機能のクロック一時停止サイクル数を設定します。
パワーオン,ハードウェアスタンバイ,ウォッチドッグによるリセットによ
り"00"に初期化されます。そのほかのリセット要因によるリセットでは初期化
されません。
表 5.3-1に,CGビット設定を示します。
表 5.3-1 OCGビット設定
CG1
0
0
1
1
CG0
0
1
0
1
CPUクロック一時停止サイクル数
0サイクル(CPUクロック=リソースクロック)
9サイクル(CPUクロック×:リソースクロック=1:約3∼4)
17サイクル(CPUクロック×:リソースクロック=1:約5∼6)
33サイクル(CPUクロック×:リソースクロック=1:約9∼10)
【ビット0】予約ビット
本ビットには,必ず"0"を書き込んでください。
■ 低消費電力モード制御レジスタのアクセス
ワード長で低消費電力モード制御レジスタへの書込みを行う場合には,偶数アド
レスで書込みが行われるようにしてください。奇数アドレスの書込みで低消費電力
モードへ遷移された場合には,誤動作の原因となる場合があります。
低消費電力モード制御レジスタにデータを書き込むと,低消費電力モードが起動
します(ストップモードまたはスリープモード)。この場合には,表 5.3-2に示す命
令を使用してください。そのほかの命令を使用して低消費電力モードを起動すると,
誤作動の原因となる場合があります。低消費電力モード制御レジスタから低消費電
力モードへの遷移以外の機能を制御するには,どの命令でも使用できます。
ワード長で低消費電力モード制御レジスタにデータを書き込むには,データを偶
数アドレスで書き込むようにしてください。奇数アドレスでデータを書き込んで低
消費電力モードを起動すると,誤作動の原因となる場合があります。
表 5.3-2 低消費電力モードへの遷移に使用される命令のリスト
MOV io,#imm8
MOV io,A
MOV RLi+dip8,A
MOVW io,#imm16
MOVW io,A
MOVW RLi+dip8,A
SETB io:bp
MOV dir,#imm8
MOV dir,A
MOVP addr24,A
MOVW dir,#imm16
MOVW dir,A
MOPW addr24,A
SETB dir:bp
MOV eam,#imm8
MOV addr16,A
MOV eam,#immRi
MOV eam,A
MOVW eam,#imm16
MOVW addr16,A
MOVW eam,RWi
MOVW eam,RWi
SETB addr16:bp
87
第5章 低消費電力制御回路
5.3.2
クロック選択レジスタ(CKSCR)
クロック選択レジスタ(CKSCR)
クロック選択レジスタ(CKSCR)のレジスタ配置とビットの機能について説明します。
■ クロック選択レジスタ(CKSCR)
図 5.3-3 クロック選択レジスタ(CKSCR)
【ビット15】SCM
マシンクロックとして,メインクロックまたはサブクロックのどちらが選択
されているかを表示するビットです。"0"の場合,サブクロックが選択されてい
ることを示し,"1"の場合,メインクロックが選択されていることを示します。
SCS=1で,かつSCM=0ならば,メインクロック発振安定待ち時間中であることを
示します。
【ビット14】MCM
マシンクロックとして,メインクロックまたはPLLクロックのどちらが選択さ
れているかを表示するビットです。"0"の場合,PLLクロックが選択されている
ことを示し,"1"の場合,メインクロックが選択されていることを示します。
MCS=0で,かつMCM=1ならば,PLLクロック発振安定待ち時間中であることを示し
ます。なお,PLLクロックの発振安定待ち時間は,212発振クロックサイクル固定
です。
【ビット13,12】WS1,WS0
ストップモードが解除されているときは,WS1とWS0を使用して発振安定待ち
時間を指定します。X0およびX1端子に接続されている発振回路と発振デバイス
の種類と特性に応じて発振安定待ち時間を指定してください。
これらのビットはパワーオンリセットハードウェアスタンバイ以外のリセッ
トでは初期化されません。パワーオンリセットおよびハードウェアスタンバイ
モード解除時に"11"に初期化されます。したがってパワーオンハードウェアス
タンバイ時には,発振安定待ち時間は原発振の約218カウントです。アクセスは
読出しのみ可能です。
表 5.3-3に,WSビット設定を示します。
表 5.3-3 WSビット設定
WS1
0
0
1
88
WS0
0
1
0
発振安定待ち時間(原発振4MHz時)
約 256μ s (発振210カウント)
約 2.05 ms(発振213カウント)
約 8.19 ms (発振215カウント)
5.3 低消費電力制御回路のレジスタ
【bit 11】SCS
2系統品:
マシンクロックとして,メインクロックまたはサブクロックのどちらかを選
択するかを指示するビットです。"0"を書き込むことにより,サブクロックを選
択します。"1" を書き込むことにより,メインクロックを選択します。"1"の場
合に,"0"を書き込むと,サブクロックに同期をとって(約130μs)サブクロック
モードに切り換わります。"0"の場合に,"1"を書き込むと,メインクロックの
発振安定待ち時間を発生した後,メインクロックモードに切り換わり自動的に
タイムベースタイマがクリアされます。SCSビットおよびMCSビットがともに"0"
の場合には,SCSビットが優先され,サブクロックが選択されます。
1系統品:
常に"1"を書き込んでください。
【bit10】MCS
マシンクロックとして,メインクロックまたはPLLクロックのどちらを選択す
るかを指示するビットです。"0"を書き込むことにより,PLLクロックを選択し
ます。"1"を書き込むことにより,メインクロックを選択します。"1"の場合に,
"0"を上書きすると,PLLクロックの発振安定待ち時間を発生するために,自動
的にタイムベースタイマがクリアされます。なお,PLLクロックの発振安定待ち
時間は,213メインクロックサイクル固定です。
また,メインクロック選択時の動作クロックは,発振クロックを2分周したク
ロックとなります(原発振4MHz時,動作クロック速度は2MHzになります)。
MCSビットが"0"から"1"に変更されると,メインクロックはPLLのエッジと一
致したときにPLLクロックを引き継ぎます(およそ1から8 PLLクロックサイクル
後)。MCSビットに書き込んでも,すぐにはマシンクロックの変更は行われませ
ん。マシンクロックに依存するリソースを使用するには,常に前もってMCMビッ
トを参照してマシンクロックが変更されているかを確認してください。
<注意事項>
パワーオン,ハードウェアスタンバイ,ウォッチドッグによるリセットにより"1"に初期化され
ます。MCSは外部端子またはRSTビットを使用したリセットでは初期化されません。
89
第5章 低消費電力制御回路
【bit9,8】CS1,CS0
PLLクロックの逓倍率を決定するビットです。外部端子,およびRSTビットに
よるリセットでは初期化されません。パワーオンおよびハードウェアスタンバ
イによるリセットで"00"に初期化されます。
MCSビットが"0"の場合には書込みが抑止されます。いったん,MCSビットを"1"
にした(メインクロックモード)後に,CSビットを書き換えてください。読み書
き可能なビットです。
表 5.3-4に,CSビットの設定を示します。
表 5.3-4 CSビットの設定
CS1
0
0
1
1
CS0
0
1
0
1
マシンクロック(原発振4MHz時)
4 MHz(動作周波数=OSC発振クロック)
8 MHz(動作周波数=OSC発振クロック×2)
12 MHz(動作周波数=OSC発振クロック×3)
16 MHz(動作周波数=OSC発振クロック×4)
<注意事項>
動作電圧が5Vのとき,OSC原発振は3MHz∼5MHzの間になり,外部クロックは3MHz∼16MHzの間に
なります。CPUと周辺リソース回路の最大動作周波数は16MHzなので,16MHzを超える逓倍係数が指
定された場合は正常な動作が保証されません。たとえば外部クロックが16MHzの場合,逓倍係数に
は1しか指定できません。
VCO発振の最小動作周波数は4MHzです。4MHzを下回る発振を指定してしないでください。
90
5.4 クロック選択の状態遷移
5.4
クロック選択の状態遷移
図 5.4-1,図 5.4-2および図 5.4-3にクロック選択の状態遷移を示します。
■ クロック選択の状態遷移
図 5.4-1 クロック選択の状態遷移図1(2系統品その1)
① MCSビットクリアおよびSCSビットセット
② PLLクロック発振安定待ち終了&CS1/0=00
③ PLLクロック発振安定待ち終了&CS1/0=01
④ PLLクロック発振安定待ち終了&CS1/0=10
⑤ PLLクロック発振安定待ち終了&CS1/0=11
⑥ MCSビットセットまたはSCSビットクリア
⑦ PLLクロックとメインクロックの同期タイミング&SCS=1
⑧ PLLクロックとメインクロックの同期タイミング&SCS=0
⑨ メインクロック発振安定待ち終了&MCS=0
91
第5章 低消費電力制御回路
図 5.4-2 クロック選択モードの状態遷移図2(2系統品その2)
① SCSビットクリア
② サブクロックのエッジ検出タイミング
③ SCSビットセット
④ メインクロック発振安定待ち終了&MCS=1
⑤ PLLクロックとメインクロックの同期タイミング&SCS=0
⑥ メインクロック発振安定待ち終了&MCS=0
92
5.4 クロック選択の状態遷移
図 5.4-3 クロック選択の状態遷移図3(1系統品)
① MCSビットクリアおよびSCSビットクリア
② PLLクロック発振安定待ち終了&CS1/0=00B
③ PLLクロック発振安定待ち終了&CS1/0=01B
④ PLLクロック発振安定待ち終了&CS1/0=10B
⑤ PLLクロック発振安定待ち終了&CS1/0=11B
⑥ MCSビットセット
⑦ PLLクロックとメインクロックの同期タイミング&SCS=1
<注意事項>
クロックモードを切り替えた場合,切替えが完了するまでは,ほかのクロックモードおよび低消
費電力モードへの切替えを行わないでください。切替えの完了はクロック選択レジスタ(CKSCR)
のMCMビットおよびSCMビットを参照して確認してください。
93
第5章 低消費電力制御回路
94
第6章
低消費電力モード
この章では,低消費電力モードの機能と動作について説明します。
6.1 低消費電力モード
6.2 低消費電力モードの状態遷移
6.3 低消費電力モード状態遷移図
95
第6章 低消費電力モード
6.1
低消費電力モード
MB90435シリーズでは次の動作モードをサポートしています。
・PLLクロックモード
・PLLスリープモード
・PLL時計モード
・擬似時計モード
・メインクロックモード
・メインスリープモード
・メイン時計モード
・メインストップモード
・サブクロックモード
・サブスリープモード
・サブ時計モード
・サブストップモード
・ハードウェアスタンバイモード
PLLクロックモード以外の動作モードが低消費電力モードに分類されています。
■ 低消費電力モード
○
メインクロックモード・メインスリープモード
メインクロック(メインOSC発振クロック)とサブクロック(サブOSC発振ク
ロック)で動作させるモードです。動作クロック信号はメインクロック信号を2
分周したもので,サブクロック信号(サブOSC発振クロック)はPLLクロック(VCO
発振クロック)が停止している間,時計クロック信号として使用されます。
○
サブクロックモード・サブスリープモード
サブクロックのみで動作させるモードです。サブクロックを4分周したものが
動作クロックとなり,メインクロックとPLLクロックは停止します。
○
PLLスリープモード・メインスリープモード
CPUの動作クロックのみ停止させるモードで,CPUクロック以外は動作してい
ます。
○
擬似時計モード
時計タイマ,およびタイムベースタイマのみを動作させるモードです。
○
PLL時計モード・メイン時計モード・サブ時計モード
時計タイマのみを動作させるモードです。サブクロック信号のみで動作させ
るモードで,メインクロック,およびPLLクロックを停止させるモードです。な
お,PLL時計モード・メイン時計モード・サブ時計モードの違いは,割込みによ
る復帰時の動作モードがそれぞれPLLクロックモード・メインクロックモード・
サブクロックモードであることであり,時計モードの動作は違いありません。
96
6.1 低消費電力モード
○
メインストップモード・サブストップモードとハードウェアスタンバイモー
ド
発振を停止させるモードであり,もっとも低消費電力でデータを保持できま
す。なお,メインストップモード・サブストップモードの違いは,割込みによ
る復帰時の動作モードがそれぞれメインクロックモード・サブクロックモード
であることであり,ストップモードの動作は違いありません。
○
CPU間欠動作機能
内蔵レジスタ,内蔵メモリ,内蔵リソース,および外部バスアクセスを行う
ときに,CPUに供給するクロックを間欠動作させる機能であり,内蔵リソースに
高速クロックを供給したままCPUの実行速度を下げることにより,低消費電力で
処理が行えます。
PLLクロック逓倍率はCS1,0ビットを使用して設定され,クロック信号供給の
2,4,6,8倍のいずれかになります。このクロック信号は,2分周してマシンク
ロック信号として使用されることに注意してください。
<注意事項>
クロックモードを切り替えた場合,切替えが完了するまでは,ほかのクロックモードおよび低消
費電力モードへの切替えを行わないでください。切替えの完了はクロック選択レジスタ(CKSCR)
のMCMビットおよびSCMビットを参照して確認してください。
97
第6章 低消費電力モード
■ 低消費電力モード動作状態
表 6.1-1,表 6.1-2に,各動作モードにおけるチップの動作状態を示します。
表 6.1-1 低消費電力モード動作状態(2系統品)
状態
サブ
クロック
サブ
スリープ
メイン
スリープ
PLL
スリープ
擬似時計
(SPL=0)
擬似時計
(SPL=1)
時計
(SPL=0)
時計
(SPL=1)
ストップ
(SPL=0)
ストップ
(SPL=1)
遷移
条件
SCS=0
MCS=x
SCS=0
MCS=x
SLP=1
SCS=1
MCS=1
SLP=1
SCS=1
MCS=0
SLP=1
SCS=1
MCS=0
STP=1
SCS=1
MCS=0
STP=1
SCS=x
MCS=x
TMD=0
SCS=x
MCS=x
TMD=0
MCS=1
or SCS=0
STP=1
MCS=1
or SCS=0
STP=1
サブ
発振
メイン
発振
マシン
クロック
CPU
周辺
端子
動作
停止
動作
動作
動作
動作
動作
停止
動作
停止
動作
動作
動作
動作
動作
停止
動作
動作
動作
動作
動作
停止
動作
動作
動作
動作
停止
停止
停止
前の状態
を保持
動作
動作
停止
停止
停止
HI-Z
動作
停止
停止
停止
停止
前の状態
を保持
動作
停止
停止
停止
停止
HI-Z
停止
停止
停止
停止
停止
前の状態
を保持
停止
停止
停止
停止
停止
HI-Z
停止
停止
HI-Z
ハードウェア
停止
停止
停止
HST =L
スタンバイ
*1:時計プリスケーラ,タイムベースタイマおよび外部割込み
*2:時計プリスケーラおよび外部割込み
*3:外部割込み
98
解除方法
外部
リセット
外部
リセット
割込み
外部
リセット
割込み
外部
リセット
割込み
外部
リセット
割込み*1
外部
リセット
割込み*1
外部
リセット
割込み*2
外部
リセット
割込み*2
外部
リセット
割込み*3
外部
リセット
割込み*3
HST =H
6.1 低消費電力モード
表 6.1-2 低消費電力モード動作状態(1系統品)
遷移条件
メイン
スリープ
PLL
スリープ
擬似時計
(SPL=0)
擬似時計
(SPL=1)
ストップ
(SPL=0)
ストップ
(SPL=1)
SCS=1
MCS=1
SLP=1
SCS=1
MCS=0
SLP=1
SCS=1
MCS=0
STP=1
SCS=1
MCS=0
STP=1
SCS=1
MCS=1
STP=1
SCS=1
MCS=1
STP=1
サブ発振
メイン
発振
マシン
クロック
CPU
周辺
端子
−
動作
動作
停止
動作
動作
−
動作
動作
停止
動作
動作
−
動作
停止
停止
停止
保持
−
動作
停止
停止
停止
Hi-Z
−
停止
停止
停止
停止
保持
−
停止
停止
停止
停止
Hi-Z
停止
停止
停止
Hi-Z
ハードウェア
−
停止
HST =L
スタンバイ
*4:タイムベースタイマおよび外部割込み
*5:外部割込み
解除方法
外部
リセット
割込み
外部
リセット
割込み
外部
リセット
割込み*4
外部
リセット
割込み*4
外部
リセット
割込み*5
外部
リセット
割込み*5
HST =H
99
第6章 低消費電力モード
6.1.1
スリープモード
スリープモード
スリープモードとは,CPUに供給するクロックのみを停止するモードで,CPUは停止
し,内部周辺リソース回路は動作を続けます。
■ スリープモードへの遷移
低消費電力モード制御レジスタ(LPMCR)内のSLPビットに"1",TMDビットに"1",
STPビットに"0"を書き込むことによりスリープモードへの遷移が始まります。
SLPビットに,"1"を書き込んだときに割込み要求が発生しているとスタンバイ制
御回路はスリープモードへ遷移しません。そのため,CPUは割込みを受け付けない
状態では次の命令を実行し,受け付ける状態であれば即座に割込み処理ルーチンの
分岐を行います。
スリープモードでは,アキュムレータなどの専用レジスタと内部RAMの内容を保
持します。
■ スリープモードの解除
スタンバイ制御回路は,リセット信号入力または割込み要求の発生によりスリー
プモードを解除します。リセット要因によりスリープモードを解除した場合は,ス
リープモードを解除した上でリセット状態になります。
スリープモード中に周辺回路および内蔵リソース回路から割込みレベルが7より
強い割込み要求が発生すると,スタンバイ制御回路はスリープモードを解除します。
スリープモードの解除後は,通常の割込み処理と同じ扱いとなります。コンディ
ションコードレジスタ(CCR)内のIフラグ,インタラプトレベルマスクレジスタ
(ILM)と割込み制御レジスタ(ICR)の設定により割込みが受け付けられるとき,CPU
はスタンバイ書込み保留でない命令を実行後に割込み処理を実行します。割込みが
受け付けられないときは,スリープモードに入れた命令の次の命令から処理を続行
します。
<注意事項>
サブスリープモードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場
合は,サブクロックの2マシンサイクル以上”L”レベルを入力してください。
100
6.1 低消費電力モード
6.1.2
擬似時計モード
擬似時計モードとは,原発振(メインおよびサブ)と時計タイマとタイムベースタイ
マ以外の動作を止めるモードです。
■ 擬似時計モードへの遷移
クロック選択レジスタ(CKSCR)のSCSビットに"1",MCSビットに"0",低消費電力
モード制御レジスタ(LPMCR)内のTMDビットに"1",STPビットに"1"を書き込むこと
により擬似時計モードへの遷移が始まります。
また,擬似時計モード中のI/O端子を直前の状態に保持するのか,ハイインピー
ダンス状態にするのか,低消費電力モード制御レジスタ(LPMCR)内のSPLビットによ
り制御できます。
STPビットに"1"を書き込んだときに割込み要求が発生している場合は,スタンバ
イ制御回路は擬似時計モードに遷移しません。
擬似時計モードでは,アキュムレータなどの専用レジスタと内部RAMの内容を保
持します。
■ 擬似時計モードの解除
スタンバイ制御回路は,リセット信号入力または割込み要求の発生により擬似時
計モードを解除します。リセット要因により擬似時計モードを解除した場合は,擬
似時計モードを解除した上で,リセット状態になります。
擬似時計モードからの復帰の場合,スタンバイ制御回路はまず擬似時計モードを
解除し,そののちPLLクロック発振安定待ち状態に遷移します。擬似時計モードか
らの解除が割込み要求で始まったときには,リセットシーケンスはメインクロック
を使用して行われます。
周辺リソース回路から割込みレベルが7より強い割込み要求が発生すると,スタ
ンバイ制御回路は擬似時計モードを解除します。擬似時計モードの解除後は,通常
の割込み処理と同じ扱いとなります。コンディションコードレジスタ(CCR)のIフラ
グ,インタラプトレベルマスクレジスタ(ILM)と割込み制御レジスタ(ICR)の設定に
より割込みが受け付けられるときはCPUはスタンバイ書込み命令の次の書込み保留
でない命令を実行後に割込み処理を実行します。割込みが受け付けられないときは
擬似時計モードに入る前の次の命令から処理を続行します。
<注意事項>(MB90437L(S)/438L(S)のみ)
・擬似時計モードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場合
は,100μs以上”L”レベルを入力してください。
・割込みにより擬似時計モードから復帰する場合は,割込み要求受付後最大80μs経過後割込み処
理が行われます。
101
第6章 低消費電力モード
6.1.3
時計モード
時計モードとは,サブ原発振と時計タイマ以外の動作を止めるモードです。
なお,時計モードは1系統品では使用できません。
■ 時計モードへの遷移
クロック選択レジスタ(CKSCR)内のTMDビットに"0"を書き込むことにより時計
モードへの遷移が始まります。
また,時計モード中のI/O端子を直前の状態に保持するのか,ハイインピーダン
ス状態にするのかを,低消費電力モード制御レジスタ(LPMCR)内のSPLビットにより
制御できます。
TMDビットに"1"を書き込んだときに割込み要求が発生している場合は,スタンバ
イ制御回路は時計モードに遷移しません。
時計モードでは,アキュムレータなどの専用レジスタと内部RAMの内容を保持し
ます。
■ 時計モードの解除
スタンバイ制御回路は,リセット信号入力または割込みの発生により時計
モードを解除します。リセット要因により時計モードを解除した場合は,時計
モードを解除した上で,リセット状態になります。
サブ時計モードからの復帰の場合,スタンバイ制御回路は時計モードを解除
し,即座にサブクロックモードに遷移します。サブ時計モードからの解除がリ
セット要因であったときには,リセットシーケンスはサブクロック信号を使用
して行われます。
メイン時計モード,およびPLL時計モードからの復帰の場合,スタンバイ制御
回路はまず時計モードを解除し,そののちメインクロック発振安定待ち状態に
遷移します。時計モードからの解除がリセット要因であったときには,リセッ
トシーケンスはサブクロック信号を使用して行われます。
周辺リソース回路などから割込みレベルが7より強い割込み要求が発生する
と,スタンバイ制御回路は時計モードを解除します。時計モードの解除後は,
通常の割込み処理と同じ扱いとなります。コンディションコードレジスタ(CCR)
内のIフラグ,インタラプトレベルマスクレジスタ(ILM)と割込み制御レジスタ
(ICR)の設定により割込みが受け付けられるときはCPUはスタンバイ書込み命令
の次の書込み保留でない命令を実行後に割込み処理を実行します。割込みが受
け付けられないときは擬似時計モードに入る前の次の命令から処理を続行しま
す。
<注意事項>
時計モードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場合は,サ
ブクロックの2マシンサイクル以上”L”レベルを入力してください。
102
6.1 低消費電力モード
6.1.4
ストップモード
ストップモードとは,原発振(メインおよびサブ)を止めるモードです。したがって,
もっとも低消費電力でデータを保持することができます。
■ ストップモードへの遷移
クロック制御レジスタ内のSCSビットに"0",またはMCSビットに"1",低消費電力
モード制御レジスタ(LPMCR)内のSTPビットに"1"を書き込むことによりスタンバイ
制御回路をストップモードに遷移します。
また,I/O端子を,直前の状態に保持するのか,ハイインピーダンス状態にする
のか,低消費電力モード制御レジスタ(LPMCR)内のSPLビットにより制御できます。
STPビットに"1"を書き込んだときに割込み要求が発生している場合は,スタンバ
イ制御回路はストップモードに遷移しません。
ストップモードでは,アキュムレータなどの専用レジスタと内部RAMの内容を保
持します。
■ ストップモードの解除
スタンバイ制御回路は,リセット信号入力,または割込みの発生によりストップ
モードを解除します。リセット要因によりストップモードを解除した場合は,ス
トップモードを解除した上で,リセット状態になります。
サブストップモードからの復帰の場合,スタンバイ制御回路はまずサブクロック
発振安定待ちモードに遷移し,そののちストップモードを解除します。ストップ
モードからの解除がリセット要因であったときには,リセットシーケンスはサブク
ロック発振安定待ち時間経過後実行されます。
メインストップモードからの復帰の場合,スタンバイ制御回路はまずメインク
ロック発振安定待ちモードに遷移し,そののちストップモードを解除します。ス
トップモードからの解除がリセット要因であったときには,リセットシーケンスは
メインクロック発振安定待ち時間経過後実行されます。
ストップモード中に周辺回路またはほかのソースから割込みレベルが7より強い
割込み要求が発生すると,ストップモードを解除します。サブストップモードの解
除後は,サブクロックの発振安定待ち時間が適用され,通常の割込み処理と同じ扱
いとなります。コンデションコードレジスタ(CCR)内のIフラグ,インタラプトレベ
ルマスクレジスタ(ILM)と割込み制御レジスタ(ICR)の設定により割込みが受け付
けられるときは,CPUはスタンバイ書込み命令の次の書込み保留でない命令を実行
後に割込み処理を実行します。割込みが受け付けられないときはストップモードに
入る前の次の命令から処理を続行します。
メインストップモードの解除後は,クロック選択レジスタ(CKSCR)内のWS1,0ビッ
トで指定された発振安定待ち時間を経過したあとで,通常の割込み処理と同じ扱い
となります。コンデションコードレジスタ(CCR)内のIフラグ,インタラプトレベル
マスクレジスタ(ILM)と割込み制御レジスタ(ICR)の設定により割込みが受け付け
られるときはCPUはスタンバイ書込み命令の次の書込み保留でない命令を実行後に
割込み処理に分岐します。割込みが受け付けられないときはストップモードに入る
前の次の命令から処理を続行します。
<注意事項>
ストップモードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場合は,
振動子の発振時間*+4マシンサイクル以上”L”レベルを入力してください。
*:振動子の発振時間は,振幅が90%に達する時間です。水晶発振子は数ms∼数十ms,FAR/
セラミック発振子は数百μs∼数ms,外部クロックは0msとなります。
103
第6章 低消費電力モード
6.1.5
ハードウェアスタンバイモード
ハードウェアスタンバイモードとは,リセットを含むほかの状態に関係なくHST 端
子が"L"レベルの間,発振を停止させ,I/O端子をすべてハイインピーダンス状態にす
るモードです。
■ ハードウェアスタンバイモードへの遷移
HST 端子を"L"レベルにすることにより,どんなモードからでもスタンバイ制御
回路をハードウェアスタンバイモードに遷移することができます。
ハードウェアスタンバイモードでは内部RAMの内容は保持されますが,アキュム
レータなどの専用レジスタは初期値にリセットされます。
■ ハードウェアスタンバイモードの解除
ハードウェアスタンバイモードの解除は,HST 端子によってのみ解除することが
できます。 HST 端子を"H"レベルにすると,スタンバイ制御回路をハードウェアス
タンバイモードから解除し,内部リセット信号を有効にしたのち,発振安定待ち
モードに遷移します。さらに,メインクロック発振安定待ち時間の経過後,スタン
バイ制御回路は内部リセットを解除し,その結果,CPUはリセットシーケンスから
実行を開始します。
ハードウェアスタンバイモードの発振安定待ち時間は,原発振の218カウント固
定です。
104
6.1 低消費電力モード
6.1.6
CPU間欠動作
CPU間欠動作
CPU間欠動作機能は,レジスタ,内部メモリ(ROM,RAM,I/O,リソース),または外
部バスにアクセスしたときに,内部バスサイクルの活動を遅らせてCPUに供給される
クロックを停止させます。高速度クロックが内部リソースに供給されている間,CPU
実行速度は落ちるので,低消費電力での処理が可能になります。クロック停止のサイ
クルカウントはCG1およびCG0ビットで指定されます。
外部バス動作自体は,リソースと同じクロックを使用して行われます。
■ CPU間欠動作
CPU間欠動作機能を使用しての命令実行時間は,通常の実行時間に補正値を加え
て求めます。補正値はレジスタ,内部メモリ,内部リソース,外部バスへのアクセ
ス数に停止のサイクルカウント数を乗じて求めます。
105
第6章 低消費電力モード
6.2
低消費電力モードの状態遷移
低消費電力モードでは,クロック選択レジスタや低消費電力モードレジスタの設定
条件によって各状態が遷移します。
■ 低消費電力モードの遷移条件
以下に,表と図で使用されている記号の意味を説明します。
MCS:MCSビット(クロック選択レジスタ)(MSC=0でPLLクロックモード選
択)
SCS:SCSビット(クロック選択レジスタ)(SCS=0でサブクロックモード選
択)
STP:STPビット(低消費電力モードレジスタ)(STP=1でストップモード選
択)
SLP:SLPビット(低消費電力モードレジスタ)(SLP=1でスリープモード選
択)
TMD:TMDビット(低消費電力モードレジスタ)(TMD=0で時計モード選択)
MCM:MCMビット(クロック選択レジスタ)(MCM=0でPLLクロック使用中)
SCM:SCMビット(クロック選択レジスタ)(SCM=0でサブクロック使用中)
SCD:サブクロック発振停止(SCD=1で,サブクロック発振停止)
MCD:メインクロック発振停止(MCD=1で,メインクロック発振停止)
PCD:PLLクロック発振停止(PCD=1で,PLLクロック発振停止)
表 6.2-1
2系統品の遷移条件一覧表(続く)
遷移前の状態
パワーオン
メイン発振安定
メインモード
PLLモード
サブモード
106
01
05
06
07
31
32
33
21
20
59
58
57
10
12
11
42
43
44
遷移条件
メイン発振安定時間待ち終了
メイン発振安定時間待ち終了
SCS=0 書込み
SCS=1 ・ MCS=0 書込み
TMD=1 ・STP=0 ・SLP=1 書込み
TMD=0 書込み
TMD=1 ・STP=1 書込み
SCS=0 書込み
SCS=1 ・MCS=1 書込み
TMD=1 ・STP=0 ・SLP=1 書込み
TMD=0 書込み
TMD=1 ・STP=1 書込み
SCS=1 ・MCS=1 書込み
SCS=1 ・MCS=0 書込み
リセット起動
TMD=1 ・STP=0 ・SLP=1 書込み
TMD=0 書込み
TMD=1 ・STP=1 書込み
遷移後の状態
メインモード
メインモード
MS遷移モード
MP遷移モード
メインスリープモード
メイン時計遷移モード
メインストップ
PS遷移モード
PM遷移モード
PLLスリープモード
PLL時計遷移P
擬似時計遷移モード
SM遷移モード
SP遷移モード
メイン発振安定
サブスリープモード
サブ時計モード
サブストップモード
6.2 低消費電力モードの状態遷移
表 6.2-1 2系統品の遷移条件一覧表(続く)
遷移前の状態
PM遷移モード
SM遷移モード
MP遷移モード
SP遷移モード
MS遷移モード
PS遷移モード
メインスリープ
SM遷移スリープ
PM遷移スリープ
PLLスリープモード
MP遷移スリープ
SP遷移スリープ
サブスリープ
MS遷移スリープ
PS遷移スリープ
遷移条件
13 PLL→メイン切換え待ち終了
38 TMD=1 ・STP=0 ・SLP=1 書込み
39 TMD=0 書込み & PLL→メイン切換え待ち終了
40 TMD=1 ・STP=1 書込み & PLL→メイン切換え待
ち終了
02 メイン発振安定時間待ち終了
03 リセット起動 or 割込み
04 SCS=0 書込み
27 TMD=1 ・STP=0 ・SLP=1 書込み
28 TMD=0 書込み & メイン発振安定待ち終了
29 TMD=1 ・STP=1 書込み & メイン発振安定待
ち終了
16 PLL 発振安定待ち終了
14 SCS=1 ・MCS=1 書込み
15 SCS=0 書込み
68 TMD=1 ・STP=0 ・SLP=1 書込み
70 TMD=0 書込み
69 TMD=1 ・STP=1 書込み
17 メイン発振安定待ち終了
18 MCS=1 書込み
19 リセット起動
75 TMD=1 ・STP=0 ・SLP=1 書込み
76 TMD=0 書込み
78 TMD=1 ・STP=1 書込み & メイン発振安定待
ち終了
09 メイン→サブクロック切換え待ち終了
08 リセット起動
51 TMD=1 ・STP=0 ・SLP=1 書込み
52 TMD=0 書込み & メイン→サブ切換え待ち終
了
53 TMD=1 ・STP=1 書込み & メイン→サブ切換え
待ち終了
23 PLL→ メインクロック切換え待ち終了
22 SCS=1 書込み
56 TMD=1 ・STP=0 ・SLP=1 書込み
26 割込み or リセット起動
24 メイン発振安定待ち終了
25 割込み or リセット起動
34 PLL → メインクロック切換え待ち終了
35 割込み or リセット起動
63 割込み or リセット起動
66 PLL 発振安定待ち終了
67 割込み or リセット起動
73 メイン発振安定待ち終了
74 割込み or リセット起動
46 割込み or リセット起動
49 メイン→サブクロック切換え待ち終了
50 割込み or リセット起動
54 PLL → メインクロック切換え待ち終了
55 割込み or リセット起動
遷移後の状態
メインモード
PM遷移スリープモード
メイン時計遷移モード
メインストップモード
メインモード
メイン発振安定
サブモード
SM遷移スリープモード
メイン時計モード
メインストップモード
PLLモード
メインモード
MS遷移モード
MP遷移スリープモード
PLL時計遷移モード
擬似時計モード
MP遷移モード
SM遷移モード
メイン発振安定
SP遷移スリープモード
PLL時計モード
擬似時計モード
サブモード
メインモード
MS遷移スリープモード
サブ時計モード
サブストップモード
MS遷移モード
PM遷移モード
PS遷移スリープモード
メインモード
メインスリープ
SM遷移モード
メインスリープモード
PM遷移モード
PLLモード
PLLスリープモード
MP遷移モード
MP遷移スリープ
SP遷移モード
サブモード
サブスリープモード
MS遷移モード
MS遷移スリープモード
PS遷移モード
107
第6章 低消費電力モード
表 6.2-1 2系統品の遷移条件一覧表(続き)
遷移前の状態
メイン時計
メイン時計遷移
PLL時計
PLL時計遷移M
PLL時計遷移P
サブ時計
メインストップ
擬似時計
擬似時計遷移
サブストップ
サブ発振安定
遷移条件
30 割込み or リセット起動
36 メイン→サブクロック切換え待ち終了
37 割込み or リセット起動
77 割込み or リセット起動
72メイン→サブクロック切換え待ち終了
71 割込み or リセット起動
65 PLL → メインクロック切換え待ち終了
64 割込み or リセット起動
47 割込み or リセット起動
41 割込み or リセット起動
62 割込み or リセット起動
61 PLL → メインクロック切換え待ち終了
60 割込み or リセット起動
48 割込み
79 リセット起動
45 サブクロック発振安定終了
80 リセット起動
遷移後の状態
SM遷移モード
メイン時計
メインモード
SP遷移モード
PLL時計
MP遷移モード
PLL時計遷移M
PLLモード
サブモード
メイン発振安定
MP遷移モード
擬似時計モード
PLLモード
サブ発振安定
メイン発振安定
サブモード
メイン発振安定
<注意事項>
・ストップモードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場合は,
振動子の発振時間*+4マシンサイクル以上”L”レベルを入力してください。
*:振動子の発振時間は,振幅が90%に達する時間です。水晶発振子は数ms∼数十ms,FAR/セラミッ
ク発振子は数百μs∼数ms,外部クロックは0msとなります。
・サブクロックモード,サブスリープモードおよび時計モードから外部リセット端子( RST 端子)に
てメインクロックモードへ復帰する場合は,サブクロックの2マシンサイクル以上”L”レベルを
入力してください。
108
6.2 低消費電力モードの状態遷移
表 6.2-2
1系統品の状態遷移条件一覧表
遷移前の状態
パワーオン
メイン発振安定
メインモード
PLLモード
PM遷移モード
MP遷移モード
メインスリープ
01
05
07
31
33
20
59
13
38
40
16
14
68
69
26
34
PM遷移スリープ
PLLスリープ
MP遷移スリープ
メインストップ
擬似時計
35
63
66
67
41
62
61
擬似時計遷移
60
遷移条件
メイン発振安定待ち時間終了
メイン発振安定待ち時間終了
SCS=1・ MCS=0書込み
TMD=1・STP=0・SLP=1書込み
TMD=1・STP=1書込み
SCS=1・MCS=1書込み
TMD=1・STP=0・SLP=1書込み
PLL→メイン切換えタイミング待ち終了
TMD=1・STP=0・SLP=1書込み
TMD=1・STP=1書込み & PLL→メイン切換えタイ
ミング待ち終了
PLL 発振安定待ち時間終了
SCS=1・MCS=1書込み
TMD=1・STP=0・SLP=1書込み
TMD=1・STP=1書込み
割込み or リセット起動
PLL → メインクロック切換えタイミング待ち終
了
割込み or リセット起動
割込み or リセット起動
PLL 発振安定待ち時間終了
割込み or リセット起動
割込み or リセット起動
割込み or リセット起動
PLL → メインクロック切換えタイミング待ち終
了
割込み or リセット起動
遷移後の状態
メインモード
メインモード
MP遷移モード
メインスリープ
メインストップ
PM遷移モード
PLLスリープ
メインモード
PM遷移スリープ
メインストップ
PLLモード
メインモード
MP遷移スリープ
擬似時計モード
メインモード
メインスリープ
PM遷移モード
PLLモード
PLLスリープ
MP遷移モード
メイン発振安定
MP遷移モード
擬似時計モード
PLLモード
<注意事項>
ストップモードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場合は,
振動子の発振時間*+4マシンサイクル以上”L”レベルを入力してください。
*:振動子の発振時間は,振幅が90%に達する時間です。水晶発振子は数ms∼数十ms,FAR/
セラミック発振子は数百μs∼数ms,外部クロックは0msとなります。
109
第6章 低消費電力モード
6.3
低消費電力モード状態遷移図
図 6.3-1∼図 6.3-7に状態遷移図を示します。状態遷移図では,複雑になるのを避
けるために,同時に発生した事象を段階的に遷移する図になっています。実際には,
即座に状態の遷移は行われます。
■ 低消費電力モード状態遷移図(2系統品)
簡潔にするため,状態遷移図では,同時に発生しているイベントを段階的な遷移
として表しています。しかし実際には,状態遷移は即座に行われます。
状態遷移図を例にすると,PLLクロックモードでMCS="1",SLP=1を同時に設定し
た場合に,状態遷移図では,いったんPM遷移モードに遷移した後に,PM遷移スリー
プに遷移することになっていますが,実際には,即座にPLLクロックモードからPM
遷移スリープに遷移します。また,サブスリープモードで,リセットが起動された
場合に,いったんサブモードに遷移した後に,メイン発振安定期間に遷移すること
になっていますが,実際には,即座にサブスリープモードからメイン発振安定期間
に遷移します。
<注意事項>
・ストップモードから外部リセット端子( RST 端子)にてメインクロックモードへ復帰する場合は,
振動子の発振時間*+4マシンサイクル以上”L”レベルを入力してください。
*:振動子の発振時間は,振幅が90%に達する時間です。水晶発振子は数ms∼数十ms,FAR/セラミッ
ク発振子は数百μs∼数ms,外部クロックは0msとなります。
・サブクロックモード,サブスリープモードおよび時計モードから外部リセット端子( RST 端子)に
てメインクロックモードへ復帰する場合は,サブクロックの2マシンサイクル以上”L”レベルを
入力してください。
110
6.3 低消費電力モード状態遷移図
図 6.3-1 低消費電力モード状態遷移図(2系統品)A
111
第6章 低消費電力モード
図 6.3-2 低消費電力モード状態遷移図(2系統品)B
112
6.3 低消費電力モード状態遷移図
図 6.3-3 低消費電力モード状態遷移図(2系統品)C
113
第6章 低消費電力モード
図 6.3-4 低消費電力モード状態遷移図(2系統品)D
<注意事項>
クロックモードを切り替えた場合,切替えが完了するまでは,ほかのクロックモードおよび低消
費電力モードへの切替えを行わないでください。切替えの完了はクロック選択レジスタ(CKSCR)
のMCMビットおよびSCMビットを参照して確認してください。
114
6.3 低消費電力モード状態遷移図
■ 低消費電力モード状態遷移図(1系統品)
図 6.3-5 低消費電力モード状態遷移図(1系統品)1
115
第6章 低消費電力モード
図 6.3-6 低消費電力モード状態遷移図(1系統品)2
116
6.3 低消費電力モード状態遷移図
図 6.3-7 低消費電力モード状態遷移図(1系統品)3
<注意事項>
クロックモードを切り替えた場合,切替えが完了するまでは,ほかのクロックモードおよび低消
費電力モードへの切替えを行わないでください。切替えの完了はクロック選択レジスタ(CKSCR)
のMCMビットおよびSCMビットを参照して確認してください。
117
第6章 低消費電力モード
118
第7章
メモリアクセスモード
この章では,メモリアクセスモードの機能と動作について説明します。
7.1 メモリアクセスモードの概要
7.2 外部メモリアクセス(バス端子制御回路)
7.3 外部メモリアクセス制御信号の動作
119
第7章 メモリアクセスモード
7.1
メモリアクセスモードの概要
F2MC-16LXでは,アクセス方式,アクセス領域について,各種のモードがあります。
■ メモリアクセスモードの概要
表 7.1-1 モード端子とモード
動作モード
RUN
バスモード
シングルチップ
内ROM外バス
外ROM外バス
フラッシュプログラミング
テスト機能
○
−
−
アクセスモード
−
8ビット
16ビット
8ビット
16ビット
−
−
動作モード
動作モードとは,デバイスの動作状態を制御するモードを示すもので,MDx
モード設定用端子とモードデータ内のMxビットで指定します。動作モードを選
択することで,通常動作の起動や,フラッシュメモリの書込みを行うことができ
ます。
○
バスモード
バスモードとは,内部ROMの動作と外部アクセス機能の動作を制御するモード
を示すもので,モード設定用端子(MDx)とモードデータ内のMxビットの内容で指
定します。モード設定用端子(MDx)は,リセットベクタおよびモードデータを読
み出すときのバスモードを指定するもので,モードデータ内のMxビットは,通
常動作時のバスモードを指定するものです。
○
アクセスモード
アクセスモードとは,外部データバス幅を制御するモードを示すもので,MDx
モード設定用端子とモードデータ内のSOビットで指定します。アクセスモード
を選択することで,外部データバスを8ビット長あるいは16ビット長を指定しま
す。
120
7.1 メモリアクセスモードの概要
7.1.1
モード端子
MD2∼0の3本の外部端子を組み合わせて,表 7.1-2の動作を指定ができます。
■ モード端子
表 7.1-2 モード端子とモード
モード端子設定
MD2 MD1 MD0
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
リセットベクタ
外部データバス幅
アクセス領域
モード名
備考
外部ベクタモード0
外部
8ビット
外部ベクタモード1
外部
16ビット
リセットベクタ16ビット
バス幅アクセス
(モードデータ)
リセットシーケンス以降
はモードデータで制御
指定禁止
内部ベクタモード
内部
指定禁止
*
フラッシュシリアル書込み
−
−
−
パラレルライタ使用時の
1
1
1
フラッシュメモリ
−
−
モード
*:フラッシュメモリのシリアル書込みは,モード端子の設定だけでは書込みできません。他の端子設定
も必要です。詳細は,「第24章 MB90F438L(S)/F439(S)シリアル書込み接続例」を参照してください。
121
第7章 メモリアクセスモード
7.1.2
モードデータ
モードデータは,主記憶FFFFDFHに置かれ,CPUの動作を制御するために使用します。
リセットシーケンス実行中にこのデータを取り込み,デバイス内部のモードレジスタ
に格納します。モードレジスタの値を変更できるのはリセットシーケンスだけです。
本レジスタによる設定はリセットシーケンス以降に有効となります。
予約ビットは,必ず"0"を設定してください。
■ モードデータ
図 7.1-1 モードデータ構成
【ビット7,6】M1,M0(バスモード設定ビット)
M1,M0は,リセットシーケンス終了後の動作モードを指定するビットです。
M1,M0ビットと,機能の関係は,表 7.1-3のようになっています。
表 7.1-3 M1,M0(バスモード設定ビット)の機能
M1
0
0
1
1
M0
0
1
0
1
機能
シングルチップモード
内ROM外バスモード
外ROM外バスモード
設定禁止
備考
【ビット3】S0(モード設定ビット)
S0は,リセットシーケンス終了後のバスモード,アクセスモードを指定する
ビットです。SOビットと機能の関係は,表 7.1-4のようになっています。
表 7.1-4 S0(モード設定ビット)の機能
S0
0
1
122
機能
外部データバス 8ビットモード
外部データバス16ビットモード
備考
7.1 メモリアクセスモードの概要
7.1.3
バスモード別メモリ空間
バスモードの指定によるアクセス領域と物理アドレスの対応を,図 7.1-2に示しま
す。
■ バスモード別メモリ空間
品種
MB90437L(S)*
MB90F438L(S)/438L(S)
MB90F439(S)/439(S)
MB90V540G
*:MB90437L(S)は開発中です。
アドレス#1
FF0000H
FE0000H
FC0000H
(FC0000H)
アドレス#2
002000H
002000H
002100H
002100H
アドレス#3
000900H
001100H
001900H
002100H
図 7.1-2 各バスモードにおけるアクセス領域と物理アドレスの関係
123
第7章 メモリアクセスモード
■ 推奨設定
表 7.1-5に,モード端子とモードデータの推奨設定例を示します。
表 7.1-5 モード端子とモードデータの推奨設定例
設定例
シングルチップ
内ROM外バスモード・16ビットバス
内ROM外バスモード・8ビットバス
外ROM外バスモード・16ビットバス・ベクタ16バス幅
外ROM外バスモード・8ビットバス
MD2
0
0
0
0
0
MD1
1
1
1
0
0
MD0
1
1
1
1
0
M1
0
0
0
1
1
M0
0
1
1
0
0
S0
×
1
0
1
0
外部端子には各種モードごとに異なる信号機能があります。
表 7.1-6 各種モードごとの外部端子の機能
端子名
シングルチップ
P07∼00
P17∼10
P27∼20
P30
P31
P32
P33
P34
P35
P36
P37
機能
外部バス拡張
8ビット
16ビット
AD07∼00
A15∼08
AD15∼08
A23∼16*
ALE
RD
ポート
*
WR
ポート
フラッシュ
プログラミング
D07∼00
A15∼08
A07∼00
A16
CE
WRL
*
WRH *
OE
PGM
HRQ*
HAK *
RDY*
CLK*
未使用
(注) アドレス上位出力端子と, WRL / WR , WRH , HRQ, HAK , RDY,CLK端子は,機能選択によ
りポートとして使用することが可能です。
詳細は,「7.2 外部メモリアクセス(バス端子制御回路)」を参照ください。
124
7.2 外部メモリアクセス(バス端子制御回路)
7.2
外部メモリアクセス(
外部メモリアクセス(バス端子制御回路)
バス端子制御回路)
外部バス端子制御回路は,CPUのアドレス/データバスを外部に拡張するための外部
バス端子を制御します。
■ 外部メモリアクセス(外部バス端子制御回路)
デバイス外部のメモリ/周辺をアクセスするためには,以下に示すようなアドレ
ス/データ/制御信号を使用します。
CLK(P37) :マシンサイクルクロック(KBP)出力端子です。
RDY(P36) :外部レディ入力端子です。
WRH (P33):データバス上位8ビットのライト信号です。
WRL / WR (P32):データバス下位8ビットのライト信号,または8ビットア
クセス時のデータバス8ビットのライト信号です。
RD (P31) :リード信号です。
ALE(P30) :アドレスラッチイネーブル信号です。
外部バス端子制御回路は外部バス端子の制御に使用され,CPUアドレス/データバ
スの外部拡張を可能にします。
■ 外部メモリアクセスのブロックダイヤグラム
図 7.2-1 外部バス制御器
125
第7章 メモリアクセスモード
7.2.1
外部メモリアクセス
外部メモリアクセス(
メモリアクセス(外部バス端子制御回路)
外部バス端子制御回路)のレ
ジスタ
外部メモリアクセス(外部バス端子制御回路)には,次の3種類のレジスタがありま
す。
・自動レディ機能選択レジスタ
・外部アドレス出力制御レジスタ
・バス制御信号選択レジスタ
■ 外部メモリアクセスのレジスタ一覧
図 7.2-2 外部メモリアクセス(外部バス端子制御回路)のレジスタ一覧
126
7.2 外部メモリアクセス(バス端子制御回路)
7.2.2
自動レディ機能選択レジスタ(ARSR)
自動レディ機能選択レジスタ(ARSR)
自動レディ機能選択レジスタ(ARSR)は,外部アクセス時,領域ごとのメモリアクセ
スの自動ウェイト時間を設定します。
■ 自動レディ機能選択レジスタ(ARSR)
図 7.2-3 自動レディ機能選択レジスタの構成
【ビット15,14】IOR1,IOR0
IOR1,IOR0ビットでは,0000C0H∼0000FFHの領域に対する外部アクセスを行っ
たときの自動ウェイト機能を指定します。IOR1,IOR0ビットの組合せで,表
7.2-1に示すような設定になります。
表 7.2-1 IOR1,IOR0(自動ウェイト機能指定ビット)の機能
IOR1
0
0
1
1
IOR0
0
1
0
1
機能
自動ウェイト禁止[初期値]
外部アクセス時,1サイクルの自動ウェイトが入る
外部アクセス時,2サイクルの自動ウェイトが入る
外部アクセス時,3サイクルの自動ウェイトが入る
【ビット13,12】HMR1,HMR0
HMR1,HMR0では,800000H∼FFFFFFHの領域に対する外部アクセスを行ったとき
の自動ウェイト機能を指定します。HMR1,HMR0ビットの組合せで,表 7.2-2に
示すような設定になります。
表 7.2-2 HMR1,HMR0(自動ウェイト機能指定ビット)の機能
HMR1
0
0
1
1
HMR0
0
1
0
1
機能
自動ウェイト禁止
外部アクセス時,1サイクルの自動ウェイトが入る
外部アクセス時,2サイクルの自動ウェイトが入る
外部アクセス時,3サイクルの自動ウェイトが入る[初期値*]
127
第7章 メモリアクセスモード
【ビット9,8】LMR1,LMR0
LMR1,LMR0では,002000H∼7FFFFFHの領域に対する外部アクセスを行ったとき
の自動ウェイト機能を指定します。LMR1,LMR0ビットの組合せで,表 7.2-3に示
すような設定になります。
表 7.2-3 LMR1,LMR0(自動ウェイト機能指定ビット)の機能
LMR1
0
0
1
1
128
LMR0
0
1
0
1
機能[初期値]
自動ウェイト禁止[初期値]
外部アクセス時,1サイクルの自動ウェイトが入る
外部アクセス時,2サイクルの自動ウェイトが入る
外部アクセス時,3サイクルの自動ウェイトが入る
7.2 外部メモリアクセス(バス端子制御回路)
7.2.3
外部アドレス出力制御レジスタ(HACR)
外部アドレス出力制御レジスタ(HACR)
外部アドレス出力制御レジスタ(HACR)は,アドレス(A19∼16)の外部への出力を制
御するレジスタです。各ビットが,それぞれアドレスA19∼16に対応し,各アドレス
出力端子を図 7.2-4に示すように制御します。
■ 外部アドレス出力制御レジスタ(HACR)
図 7.2-4 外部アドレス出力制御レジスタの構成
HACRレジスタは外部回路へのアドレス(A23-16)の出力を制御します。8ビットが
A32-16のアドレスビットに対応し,下記のようにアドレス出力端子を制御します。
HACRレジスタは,デバイスがシングルチップモード時にはアクセスすることがで
きません。その場合,本レジスタの値にかかわらず,全端子がI/Oポートとして機
能します。
このレジスタの全ビットは,すべて書き込み専用で,読み出しでは"1"となりま
す。
表 7.2-4 外部アドレス出力制御レジスタ(E16∼23ビット)の機能
0
1
対応する端子はアドレス出力(AXX)になります。[初期値]
対応する端子はIOポート(PXX)になります。
129
第7章 メモリアクセスモード
7.2.4
バス制御信号選択レジスタ(ECSR)
バス制御信号選択レジスタ(ECSR)
バス制御信号選択レジスタ(ECSR)は,外部バスモード時のバス動作の制御機能を設
定するレジスタです。デバイスがシングルチップモード時にはアクセスすることがで
きません。その場合,本レジスタの値にかかわらず,全端子がI/Oポートとして機能
します。バス制御信号選択レジスタのビットは,すべて書き込み専用で,読み出しで
は"1"となります。
■ バス制御信号選択レジスタ(ECSR)
図 7.2-5 バス制御信号選択レジスタの構成
【ビット15】CKE
CKEビットでは,外部クロック信号端子(CLK)の出力を表 7.2-5に示すように
制御します。
表 7.2-5 CKE(外部クロック(CLK)出力制御ビット)の機能
0
1
I/Oポート(P37)動作(クロック出力禁止)[初期値]
クロック信号(CLK)出力許可
【ビット14】RYE
RYEビットでは,外部レディ(RDY)信号端子の入力を,表 7.2-6に示すように
制御します。
表 7.2-6 RYE(外部レディ(RDY)入力制御ビット)の機能
0
1
I/Oポート(P36)動作(外部RDY入力禁止)[初期値]
外部レディ(RDY)入力許可
【ビット13】HDE
HDEビットは,ホールド関係の信号の入出力許可を指定します。HDEビットの
設定により,ホールド要求入力信号(HRQ)とホールドアクノリッジ出力信号
( HAK )の2本を表 7.2-7に示すように制御します。
表 7.2-7 HDE(ホールド関連端子の入出力許可指定ビット)の機能
130
0
I/Oポート(P35,P34)動作(ホールド機能入出力禁止)[初期値]
1
ホールド要求(HRQ)入力/ホールドアクノリッジ( HAK )出力許可
7.2 外部メモリアクセス(バス端子制御回路)
【ビット12】IOBS
IOBSビットでは,外部データバス16ビットモード時に,0000C0H∼0000FFHの領
域に対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定
により,表 7.2-8に示すように制御します。
表 7.2-8 IOBS (バス幅指定ビット)
0
1
16ビットバス幅アクセス[初期値]
8ビットバス幅アクセス
【ビット11】HMBS
HMBSビットは,外部データバス16ビットモード時に,800000H∼FFFFFFHの領域
に対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定に
より,表 7.2-9に示すように制御します。
表 7.2-9 HMBS(バス幅指定ビット)の機能
0
1
16ビットバス幅アクセス[初期値]
8ビットバス幅アクセス
【ビット10】WRE
WREビットは,外部ライト信号(外部データバス16ビットモードの場合は
WRH / WRL 両端子,外部データバス8ビットモードの場合は WR 端子)の出力を,表
7.2-10に示すように制御します。
外部データバス8ビットモードの場合は,本ビットの設定値に関係なく,P33
はI/Oポートとして機能します。
表 7.2-10 WRE(外部ライト信号出力制御ビット)の機能
0
I/Oポート(P33,P32)動作(ライト信号出力禁止)[初期値]
1
ライトストローブ信号( WRH / WRL または WR のみ)の出力許可
【ビット9】LMBS
LMBSビットは,外部データバス16ビットモード時に,002000H∼7FFFFFHの領域
に対する外部アクセスを行ったときのバス幅を指定します。本ビットの設定に
より,表 7.2-11のように制御します。
表 7.2-11 LMBS(バス幅指定ビット)の機能
0
16ビットバス幅アクセス[初期値]
1
8ビットバス幅アクセス
<注意事項>
・外部データバス16ビットモード時,WREビットにて WR , WRH , WRL 機能を許可する場合は,P33,
P32を入力モードにしてください(DDR3レジスタのビット3,ビット2は"0"にしてください)。
・外部データバス8ビットモード時,WREビットにて WR 機能を許可する場合は,P32を入力モード
にしてください(DDR3レジスタのビット2は"0"にしてください)。
・また,RYE,HDEビットにて RDY,HRQ信号入力を許可した場合でも,そのポートのI/Oポート機
能は有効となります。そのため,そのポートに対応するDDR3レジスタに,必ず"0"(入力モード)
を書き込みます。
131
第7章 メモリアクセスモード
7.3
外部メモリアクセス制御信号の動作
外部メモリへのアクセスは,レディ機能を使用しない場合は3サイクルで行います。
外部データバス16ビットモードでの8ビットバス幅アクセスは,8ビット幅の周辺チッ
プと16ビット幅の周辺チップを混在して外部バスに接続した場合に,8ビット幅の周
辺チップをリード/ライトするための機能です。
■ 外部メモリアクセス制御信号
外部データバス16ビットモードで16ビットバス幅アクセスを行うか8ビットバス
幅アクセスを行うかは,EPCRレジスタのHMBS/LMBS/IOBSビットで指定することにな
ります。
なお,アドレス出力とALE 信号のアサート出力のみを行い,RD / WRL / WRH / WR を
アサートしないことにより実際にはバス動作を行わない場合があります。ALE信号
のみで,周辺チップへのアクセスを実行することがないようにしてください。
図 7.3-1 外部データバス8ビットモードのアクセスタイミングチャート
132
7.3 外部メモリアクセス制御信号の動作
(注) 常にワードで読み出すように外部回路を設定してください。
P36/RYD端子,または自動レディ機能選択レジスタ(ARSR)の設定により,低速のメモリや周辺回路への
アクセスが可能となります。
図 7.3-2 外部データバス16ビットモードのアクセスタイミングチャート
(16ビットバス幅アクセス,8ビットバス幅アクセス時)
133
第7章 メモリアクセスモード
7.3.1
レディ機能
P36/RDY端子,または自動レディ機能選択レジスタ(ARSR)の設定により,低速のメ
モリや周辺回路へのアクセスが可能となります。
バス制御信号選択レジスタ(EPCR)中のRYEビットが"1"に設定されている場合,外部
回路へのアクセス時にP36/RDY信号に"L"レベルが入力されている期間ウェイトサイ
クルとなり,アクセスサイクルを延ばすことが可能です。
■ レディ機能
図 7.3-3 レディ機能タイミングチャート
134
7.3 外部メモリアクセス制御信号の動作
MB90435シリーズは,外部メモリアクセス用のオートレディ機能を2種類内蔵して
います。オートレディ機能は,アドレス002000H∼7FFFFFH間に配置した下位アドレ
ス外部領域へのアクセスが発生したときと,アドレス800000H∼FFFFFFH間に配置し
た上位アドレス外部領域へのアクセスが発生したときに,外部回路なしで自動的に
1∼3サイクルのウェイトサイクルを挿入し,アクセスサイクルを延ばすことができ
る機能で,ARSR中のLMR1/LMR0ビット(下位アドレス外部領域),およびARSR中の
HMR1/HMR0ビット(上位アドレス外部領域)の設定により起動します。
さらに,MB90435シリーズはI/O用のオートレディ機能をメモリ用とは独立に内蔵
しています。ARSRレジスタのIOR1/IOR0ビットを"0"に設定すると,アドレス0000C0H
∼0000FFH間の外部領域へのアクセス時に,外部回路なしで自動的に1∼3サイクル
のウェイトサイクルを挿入し,アクセスサイクルを延ばすことができます。
外部メモリ用,外部I/O用のオートレディどちらでもEPCR中のRYEビットが"1"に
設定されている場合,上記オートレディ機能によるウェイトサイクル終了後に
P36/RDY端子に"L"レベルが入力されているとそのままウェイトサイクルを継続し
ます。
135
第7章 メモリアクセスモード
7.3.2
ホールド機能
バス制御信号選択レジスタ(EPCR)中のHDEビットが"1"に設定されている場合,
P34/HRQ,P35/HAK 両端子による外部アドレスホールド機能が有効となります。
■ ホールド機能
P34/HRQ端子に"H"レベルを入力すると,CPUの命令の終了時(ストリング命令の場
合は"1"エレメントデータの処理の終了時)にてホールド状態となり,P35/ HAK 端子
より"L"レベル信号を出力して以下の端子をハイインピーダンス状態にします。
アドレス出力:P23/A19∼P20/A16
データ入出力:P17/D15∼P00/D00
バス制御信号:P30/ALE,P31/ RD ,P32/ WRL / WR ,P33/ WRH
これにより,デバイス外部回路により外部バスを使用することが可能となります。
P34/HRQ端子に"L"レベル信号を入力すると,P35/ HAK 端子は"H"レベル出力となり,
外部端子状態が復活してバスは動作を再開します。STOP状態においては,ホールド
要求入力は受け付けません。
図 7.3-4 ホールドタイミング
136
第8章
I/Oポート
I/Oポート
この章では,I/Oポートの機能について説明します。
8.1 I/Oポート
8.2 I/Oポートのレジスタ一覧
137
第8章 I/Oポート
8.1
I/Oポート
I/Oポート
それぞれのポートの各端子は,対応する周辺が端子を用いない設定となっていると
き,ポート方向レジスタ(DDR)の設定により入力,出力の指定を行うことができます。
■ I/Oポートの概要
端子が入力と指定されている場合は,端子の論理レベルが読み出されます。端子
が出力と指定されている場合は,データレジスタ値が読み出されます。これは,リー
ドモディファイライト命令のリードでも同じです。
端子がほかの周辺機能の出力として使用されている場合は,データレジスタの値
に関係なく,端子の論理レベルが読み出されます。
通常は,ポートを出力に設定するのに先立って,リードモディファイライト系の
命令をデータレジスタの設定に使用しない,および周辺機能の出力を切ることをお
勧めします。これは,この場合のリードモディファイライト命令がレジスタ値では
なく,ポートの論理レベルを読み出すことになるからです。
図 8.1-1に,I/Oポートのブロックダイヤグラムを示します。
図 8.1-1 I/Oポートのブロックダイヤグラム
138
8.2 I/Oポートのレジスタ一覧
8.2
I/Oポートのレジスタ一覧
I/Oポートのレジスタ一覧
I/Oポートの各レジスタのビット構成を,図 8.2-1に示します。
I/Oポートのレジスタ一覧
図 8.2-1 I/Oポートのレジスタ一覧
139
第8章 I/Oポート
8.2.1
ポートデータレジスタ
ポートデータレジスタ(PDR)
ジスタ(PDR)
ポートデータレジスタ(PDR)のビット構成の詳細を,図 8.2-2に示します。
■ ポートデータレジスタ(PDR)
図 8.2-2 ポートデータレジスタ(PDR)
140
8.2 I/Oポートのレジスタ一覧
8.2.2
ポート方向レジスタ(DDR)
ポート方向レジスタ(DDR)
ポート方向レジスタ(DDR)のビット構成を図 8.2-3に示します。
■ ポート方向レジスタ(DDR)
図 8.2-3 ポート方向レジスタ(DDR)
141
第8章 I/Oポート
8.2.3
プルアップ制御レジスタ(PUCR)
プルアップ制御レジスタ(PUCR)
プルアップ制御レジスタ(PUCR)のビット構成を図 8.2-4に,ブロックダイヤグラム
を図 8.2-5に示します。
■ プルアップ制御レジスタ(PUCR)
図 8.2-4 プルアップ制御レジスタ(PUCR)のビット構成
■ プルアップ制御レジスタ(PUCR)のブロックダイヤグラム
図 8.2-5 プルアップ制御レジスタ(PUCR)のブロックダイヤグラム
<注意事項>
入力モード時のプルアップ抵抗制御を行います。
・0:入力モード時プルアップ抵抗なし。
・1:入力モード時プルアップ抵抗あり。
出力モード時は意味を持ちません(プルアップ抵抗なし)。
入出力モードは方向レジスタ(DDR)で決まります。
ハードウェアスタンバイ時とストップモード時(SPL=1)の場合は,プルアップ抵抗なしになりま
す(ハイインピーダンス)。
ポートが外部バスとして使用される場合,この機能は使用禁止になり,レジスタにデータは書
き込まれません。
142
8.2 I/Oポートのレジスタ一覧
8.2.4
アナログ入力許可レジスタ(ADER)
アナログ入力許可レジスタ(ADER)
アナログ入力許可レジスタ(ADER)のビット構成を,図 8.2-6に示します。
■ アナログ入力許可レジスタ(ADER)
図 8.2-6 アナログ入力許可レジスタ(ADER) のビット構成
アナログ入力許可レジスタ(ADER)は,ポート6の各端子を次のように制御します。
0:ポート入力モード
1:アナログ入力モード
外部端子がA/D変換器のアナログ入力として使用される場合,対応するビットは
"1"に設定してください。
143
第8章 I/Oポート
144
第9章
タイムベースタイマ
この章では,タイムベースタイマの機能と動作について説明します。
9.1 タイムベースタイマの概要
9.2 タイムベースタイマ制御レジスタ(TBTC)
9.3 タイムベースタイマの動作
145
第9章 タイムベースタイマ
9.1
タイムベースタイマの概要
タイムベースタイマは,18ビットのタイマのほかにインターバルな割込みを制御す
る回路から構成されています。なお,タイムベースタイマは,クロック選択レジスタ
(CKSCR)中のMCSビットおよびSCSビットに関係なく,メインクロック信号を使用しま
す。
■ タイムベースタイマのレジスタ一覧
図 9.1-1 タイムベースタイマのレジスタ一覧
146
9.1 タイムベースタイマの概要
■ タイムベースタイマのブロックダイヤグラム
図 9.1-2 タイムベースタイマのブロックダイヤグラム
147
第9章 タイムベースタイマ
9.2
タイムベースタイマ制御レジスタ(TBTC)
タイムベースタイマ制御レジスタ(TBTC)
タイムベースタイマ制御レジスタ(TBTC)では,タイムベースタイマの動作を制御し,
また,インターバル割込みの時間を制御します。
■ タイムベースタイマ制御レジスタ(TBTC)
図 9.2-1 タイムベースタイマ制御レジスタ(TBTC)
【ビット15】予約ビット
ライトの値は常に"1"にしてください。
【ビット14,13】未使用ビット
ビット14,13は,空きビットです。
【ビット12】TBIE
タイムベースタイマによるインターバル割込みを許可するビットです。"1"の
時割込み許可,"0"のとき割込みを禁止します。リセットにて"0"に初期化しま
す。読み書き可能なビットです。
【ビット11】TBOF
タイムベースタイマの割込み要求フラグです。TBIEビットが"1"のときTBOFが,
"1"になると割込み要求を発生します。TBC1,0ビットで設定されたインターバル
ごとに"1"にセットされます。"0"の書込み,ストップモード,ハードウェアス
タンバイモードへの遷移および,リセットによりクリアされます。"1"の書込み
は意味がありません。
リードモディファイライト系命令におけるリード時には"1"が読み出されま
す。
【ビット10】TBR
タイムベースタイマのカウンタを全ビット"0"にクリアするビットです。"0"
を書き込むことによりタイムベースタイマをクリアします。"1"の書き込みは動
作に影響はありません。リード時は"1"が読めます。
【ビット9,8】TBC1,0
タイムベースタイマのインターバル時間を設定するビットです。リセットに
より"00"に初期化されます。読み書き可能なビットです。
表 9.2-1に,タイムベースタイマ インターバル時間の設定を示します。
表 9.2-1 タイムベースタイマ インターバル時間の設定
TBC1
0
0
1
1
148
TBC0
0
1
0
1
原発振4MHz時のインターバル時間
1.024 ms
4.096 ms
16.384 ms
131.072 ms
9.3 タイムベースタイマの動作
9.3
タイムベースタイマの動作
タイムベースタイマは,ウォッチドッグカウンタのクロックソース,メインクロッ
クとPLLクロック発振安定待ち時間のタイマ,一定周期ごとに割込みを発生するイン
ターバルタイマとしての機能があります。
■ タイムベースタイマ
タイムベースタイマは,マシンクロックを作成するもとになる発振クロックをカ
ウントする18ビットのカウンタにより構成され,発振クロックが入力されている間
常にカウント動作を続けます。
タイムベースタイマのクリアは,パワーオンリセット,ストップモード,ハード
ウェアスタンバイモードへの遷移,クロック選択レジスタ(CKSCR)内のMCSビット書
き込みによるメインクロックからPLLクロックへの遷移,クロック選択レジスタ
(CKSCR)内のSCSビット書き込みによるメインクロックからサブクロックへの遷移,
およびタイムベースタイマ制御レジスタレジスタ(TBTC)内のTBRビットへの"0"書
き込みにより行われます。
タイムベースタイマの出力を使用している,ウォッチドッグカウンタとインター
バル割込み機能は,タイムベースカウンタのクリアにより影響を受けます。
■ タイムベースタイマのインターバル割込み機能
タイムベースカウンタの桁上がり信号により一定周期ごとに割込みを発生しま
す。タイムベースタイマ制御レジスタレジスタ(TBTC)内のTBC1,0ビットで設定され
るインターバル時間ごとにTBOFフラグをセットします。このフラグのセットは,最
後にタイムベースタイマがクリアされた時間を基準にして行われます。
メインクロックモードからPLLクロックモードに遷移すると,タイムベースタイ
マはPLLクロックの発振安定待ちのタイマとして使用するために,タイムベースタ
イマのクリアが行われます。
また,発振クロックモードからサブクロックモードに遷移すると,タイムベース
タイマは発振クロックの発振安定待ちのタイマとして使用するために,タイムベー
スタイマがクリアされます。
ストップモードおよびハードウェアスタンバイモードに遷移するとタイムベー
スタイマは,復帰時の発振安定時間待ちのタイマとして使用されるので,TBOFフラ
グはモード遷移と同時にクリアされます。
149
第9章 タイムベースタイマ
150
第10章
10章 ウォッチドッグタイマ
この章では,ウオッチドッグタイマの機能と動作について説明します。
10.1 ウォッチドッグタイマの概要
10.2 ウォッチドッグタイマ制御レジスタ(WDTC)
10.3 ウォッチドッグタイマの動作
151
第10章 ウォッチドッグタイマ
10.1
ウォッチドッグタイマの概要
ウォッチドッグタイマは,18ビットのタイムベースタイマ,または15ビットの時計
タイマの桁上がり信号をクロックソースとする2ビットのウォッチドッグカウンタ,
コントロールレジスタ,ウォッチドッグリセット制御部により構成されています。
■ ウォッチドッグタイマのレジスタ
図 10.1-1 ウォッチドッグタイマのレジスタ一覧
152
10.1 ウォッチドッグタイマの概要
■ ウォッチドッグタイマのブロックダイヤグラム
図 10.1-2 ウォッチドッグタイマのブロックダイヤグラム
153
第10章 ウォッチドッグタイマ
10.2
ウォッチドッグタイマ制御レジスタ(WDTC)
ウォッチドッグタイマ制御レジスタ(WDTC)
ウォッチドッグタイマ制御レジスタ(WDTC)は,ウォッチドッグタイマ関連の各種制
御を行うビットと各種リセット要因を識別するビットで構成しています。
■ ウォッチドッグタイマ制御レジスタ(WDTC)
図 10.2-1 ウォッチドッグタイマ制御レジスタ(WDTC)
【ビット7∼3】PONR,STBR,WRST,ERST,SRST
リセットの要因を示すフラグです。各種リセット要因が発生すると,本ビッ
トは表 10.2-1に示すように設定されます。これらのビットはすべてWDTCレジス
タのリード動作後に"0"にクリアされる読出し専用のレジスタです。なお,パ
ワーオン時は,PONRビット以外のリセット要因ビットの内容は定義されません。
したがって,PONRビットが"1"のときはこれ以外のビットの内容を無視するよう
にしてください。
表 10.2-1 リセット要因ビットとリセット要因
リセット要因
パワーオン
ハードウェアスタンバイ
ウォッチドッグタイマ
外部端子
RSTビット
*:前の値を保持します。
PONR
1
*
*
*
*
STBR
1
*
*
*
WRST
*
1
*
*
ERST
*
*
1
*
SRST
*
*
*
1
【ビット2】WTE
ウォッチドッグタイマが停止状態のときに本ビットに"0"を書き込むことに
よりウォッチドッグタイマを動作状態にします。2回目以降の"0"の書き込みで
はウォッチドッグタイマのカウンタをクリアします。"1"の書き込みは動作に影
響はありません。
ウォッチドッグタイマは,パワーオン,ハードウェアスタンバイ,ウォッチ
ドッグタイマによるリセットにより停止状態となります。読出し時は"1"が読出
されます。
154
10.2 ウォッチドッグタイマ制御レジスタ(WDTC)
【ビット1,0】WT1,0
ウォッチドッグタイマのインターバル時間を選択します。
ウォッチドッグタイマ起動時に書き込まれたデータのみが有効です。ウォッ
チドッグ起動時以外の書込みデータは無視されます。なお,2系統品では,時計
タイマ制御レジスタ(WTC)内のWDCSビットによりウォッチドッグタイマに入力
するクロック信号の選択が行われます(タイムベースタイマ,時計タイマ)。
WT1,0ビットによるインターバル時間の設定を,表 10.2-2に示します。
表 10.2-2 WT1,0へのアクセス(読出し専用)
WDCS
WT1
WT0
1
1
1
1
0*
0*
0*
0*
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
インターバル時間(整合クロック4MHz時)
最小
最大
約3.58ms
約4.61ms
約14.33ms
約18.43ms
約57.23ms
約73.73ms
約458.75ms
約589.82ms
約0.457s
約0.576s
約3.584s
約4.608s
約7.168s
約9.216s
約14.336s
約18.432s
*:2系統品のみ
<注意事項>
インターバル時間の最大値は,ウォッチドッグ動作中にタイムベースカウンタがリセットされ
ないことを想定しています。
155
第10章 ウォッチドッグタイマ
10.3
ウォッチドッグタイマの動作
ウォッチドッグタイマの機能は,プログラムの暴走を検出することができます。プ
ログラムの暴走などにより,ウォッチドッグタイマのWTEビットに"0"書込みが定めら
れた時間内に行われなかった場合,ウォッチドッグタイマよりウォッチドッグリセッ
ト要求を発生します。
■ ウォッチドッグタイマの起動方法
ウォッチドッグタイマは,ウォッチドッグタイマの停止中にウォッチドッグタイ
マ制御レジスタ(WDTC)内のWTEビットに"0"を書き込むことによって起動します。こ
のとき,同時にウォッチドッグタイマのインターバル時間をWT1,0ビットにより設
定します。インターバルの設定は,この起動のときのデータのみが有効となります。
■ ウォッチドッグタイマのリセット
ウォッチドッグタイマが起動されると,プログラムで定期的に2ビットのウォッ
チドッグカウンタをクリアする必要があります。具体的には,ウォッチドッグタイ
マ制御レジスタ(WDTC)内のWTEビットに定期的に"0"を書き込む必要があります。
ウォッチドッグカウンタは,タイムベースタイマの桁上り信号をクロックソースと
する2ビットのカウンタにより構成されています。したがって,タイムベースタイ
マがクリアされると,ウォッチドッグリセットのインターバルが設定より長くなる
ことがあります。
ウォッチドッグタイマの動作を,図 10.3-1に示します。
図 10.3-1 ウォッチドッグタイマ動作
■ ウォッチドッグカウンタの停止
ウォッチドッグタイマは一度起動すると,パワーオン,ハードウェアスタン
バイ,ウォッチドッグによるリセットでのみ初期化され停止状態となります。
外部端子,ソフトウェアによるリセットでは,ウォッチドッグカウンタをク
リアしますが,ウォッチドッグ機能は停止されません。
■ ウォッチドッグカウンタのクリア
ウォッチドッグカウンタは,ウォッチドッグタイマ制御レジスタ(WDTC)内のWTE
ビットに"0"を書き込むほかに,リセットの発生,スリープモード,ストップモー
ド,またはホールドアクノリッジ信号への遷移によってクリアされます。
156
第11章
11章 時計タイマ
この章では,時計タイマの機能と動作について説明します。
時計タイマは1系統品では使用できません。
11.1 時計タイマの概要
11.2 時計タイマ制御レジスタ(WTC)
11.3 時計タイマの動作
157
第11章 時計タイマ
11.1
時計タイマの概要
時計タイマは,15ビットのタイマのほかに,インターバル割込みを制御する回路か
ら構成されています。なお,時計タイマは,クロック選択レジスタ(CKSCR)内のMCS
ビット,およびSCSビットに関係なく,サブクロック信号を使用します。
■ 時計タイマのレジスタ
図 11.1-1 時計タイマ制御レジスタ(WTC)
158
11.1 時計タイマの概要
■ 時計タイマのブロックダイヤグラム
図 11.1-2 時計タイマのブロックダイヤグラム
159
第11章 時計タイマ
11.2
時計タイマ制御レジスタ(WTC)
時計タイマ制御レジスタ(WTC)
時計タイマ制御レジスタ(WTC)は,時計タイマの動作を制御します。また,インター
バル割込みの時間を制御します。
■ 時計タイマ制御レジスタ(WTC)
図 11.2-1 時計タイマ制御レジスタ(WTC)
【ビット7】WDCS
マシンクロックにメインクロックまたはPLLクロックを選択しているときに,
ウォッチドッグタイマの入力クロックとして,時計タイマのクロック信号を使
用するのか,またはタイムベースタイマのクロック信号を使用するのかを選択
するビットです。WDCS="0"で,時計タイマのクロック信号を選択し,WDCS="1"
でタイムベースタイマのクロック信号を選択することができます。WDCSに"1"を
設定すると,タイムベースタイマ出力はメインクロックまたはPLLクロックを選
択する機能に使用され,時計タイマ出力はサブクロックを含む機能に使用され
ます。
パワーオンリセットにより,本ビットは"1"に初期化されます。
<注意事項>
WDCSを"1"に設定した場合には,タイムベースタイマの出力と時計タイマの出力は非同期である
ため,ウォッチドッグタイマのカウンタが進む可能性があります。このため,WDCSを"1"に設定し
た場合には,クロックモードを変更する前後で,ウォッチドッグタイマをクリアする必要があり
ます。
【ビット6】SCE
サブクロックの発振安定待ち時間が経過したことを示すビットです。本ビッ
トが"0"のとき,発振安定時間が現在進行中であることを示しています。発振安
定時間は,214サイクル(サブクロック)固定です。パワーオンリセット時および
ストップ時に,本ビットは"0"に初期化されます。
【ビット5】WTIE
時計タイマによるインターバル割込みを許可するビットです。本ビットが
"1"のときに割込みを許可し,"0"のときに割込みを禁止します。リセットによ
り本ビットは"0"に初期化されます。読み書き可能なビットです。
160
11.2 時計タイマ制御レジスタ(WTC)
【ビット4】WTOF
時計タイマの割込みフラグです。WTIEビットが"1"のときに,WTOFを"1"に設
定すると割込み要求が発生します。本ビットは,WTC1,0ビットで設定したイン
ターバル時間ごとに"1"に設定されます。本ビットは,"0"の書込み,ストップ
モード,ハードウェアスタンバイモードへの遷移,およびリセットによりクリ
アされます。"1"の書込みは動作に影響はありません。
リード/モディファイ/ライト命令によるリード時には,常に"1"が読み出され
ます。
【ビット3】WTR
時計タイマのカウンタを全ビット"0"にクリアするビットです。本ビットに
"0"を書き込むことにより,時計カウンタをクリアします。"1"の書込みは動作
に影響はありません。常に"1"が読み出されます。
【ビット2,1,0】WTC2,WTC1,WTC0
時計タイマのインターバル時間を設定するビットです。表 11.2-1にインター
バル時間の設定を示します。リセットにより本ビットは"000"に初期化されます。
読み書き可能なビットです。
本ビットに書き込むときには,ビット4(WTOF)もクリアしてください。
表 11.2-1 時計タイマ インターバル時間の設定
WTC2
0
0
0
0
1
1
1
1
WTC1
0
0
1
1
0
0
1
1
WTC0
0
1
0
1
0
1
0
1
インターバル時間 (サブクロック 32KHz)
62.5 ms
125 ms
250 ms
500 ms
1.000 s
2.000 s
4.000 s

161
第11章 時計タイマ
11.3
時計タイマの動作
時計タイマは,ウォッチドッグカウンタのクロックソース,サブクロックの発振安
定待ち時間のためのタイマ,一定周期ごとに割込みを発生するインターバルタイマと
しての機能があります。
■ 時計タイマ
時計タイマは,サブクロックにより発生する発振入力をカウントする 15ビット
のカウンタにより構成され,サブクロックが入力されている間時計タイマはカウン
ト動作を続けます。時計タイマのクリアは,パワーオンリセット,および時計タイ
マ制御レジスタ(WTC)内のWTRビットへの"0"の書き込みにより行われます。
時計タイマの出力を使用しているウォッチドッグカウンタとインターバル割込
みは,時計カウンタのクリアにより影響を受けます。
■ 時計タイマのインターバル割込み機能
インターバル割込み機能は,時計カウンタの桁上がり信号により一定周期ごとに
割込みを発生します。時計タイマ制御レジスタ(WTC)内のWTC1,0ビットで設定され
るインターバル時間ごとに WTOFフラグをセットします。このフラグ設定のタイミ
ングは,最後に時計タイマがクリアされた時間を基準にして行われます。
ストップモード,およびハードウェアスタンバイモードに遷移すると,時計タイ
マは復帰時のサブクロックの発振安定時間待ちのタイマとして使用されるので,
WTOFフラグはモード遷移と同時にクリアされます。
162
第12章
12章 16ビット入出力タイマ
16ビット入出力タイマ
この章では,16ビット入出力タイマの機能と動作について説明します。
12.1 16ビット入出力タイマの概要
12.2 16ビット入出力タイマのレジスタ
12.3 16ビットフリーランタイマ
12.4 アウトプットコンペア
12.5 インプットキャプチャ
163
第12章 16ビット入出力タイマ
12.1
16ビット入出力タイマの概要
MB90435シリーズは,16ビットフリーランタイマモジュール1本,アウトプットコン
ペアモジュール2本,インプットキャプチャモジュール4本のモジュールから構成され,
8個の入力チャネル,および4個の出力チャネルをサポートしています。ここでは,16
ビットフリーランタイマ,アウトプットコンペア0/1およびインプットキャプチャ0/1
について説明します。残りのモジュールの機能も同様であり,レジスタアドレスに関
しては,
「付録A I/Oマップ」を参照してください。
■ 16ビットフリーランタイマ
16ビットフリーランタイマは16ビットのアップカウンタ,コントロールレジスタ,
プリスケーラより構成されています。本タイマカウンタの出力値はインプットキャ
プチャ,アウトプットコンペアの基本時間(ベ−スタイマ)として使用されます。
カウンタクロックは4種類から選択可能
-
内部クロック4種類(φ/4,φ/16,φ/64,φ/256)
割込みはカウンタ値のオーバフロー,コンペアレジスタ0とのコンペア
マッチにより発生可能
カウンタ値はリセット,ソフトクリア,コンペアレジスタ0とのコンペア
マッチにより"0000H"に初期化可能
■ アウトプットコンペア(モジュールごとに2チャネル)
アウトプットコンペアモジュールは2本の16ビットコンペアレジスタ,コンペア
出力用ラッチ,コントロールレジスタより構成されています。16ビットフリーラン
タイマ値とコンペアレジスタ値が一致したとき出力レベルを反転すると共に割込
みを発生することができます。
2本のコンペアレジスタを独立して動作
-
各コンペアレジスタに対応した出力端子と割込みフラグ
2本のコンペアレジスタをペアにして出力端子を制御可能
-
コンペアレジスタ2本を使用して出力端子を反転する。
出力端子の初期値を設定することが可能
割込みはコンペア一致により発生可能
■ インプットキャプチャ(モジュールごとに2チャネル)
インプットキャプチャモジュールは独立した2本の外部入力端子と対応した16
ビットキャプチャレジスタ,コントロールレジスタにより構成されています。外部
入力端子より入力された信号の任意エッジを検出することにより16ビットフリー
ランタイマ値をキャプチャレジスタに保持し,同時に割込みを発生することができ
ます。
外部入力信号の検出エッジを選択可能
-
立上がりエッジ,立下がりエッジ,両エッジから選択可能
2本のインプットチャネルは独立して動作可能
割込みは外部入力信号の有効エッジにより発生可能
-
164
インプットキャプチャの割込みによりインテリジェントIOサービスを
起動可能
12.1 16ビット入出力タイマの概要
■ 16ビット入出力タイマのブロックダイヤグラム
図 12.1-1に,16ビット入出力タイマのブロックダイヤグラムを示します。
図 12.1-1 16ビット入出力タイマのブロックダイヤグラム
165
第12章 16ビット入出力タイマ
12.2
16ビット入出力タイマのレジスタ
16ビット入出力タイマのレジスタ
16ビット入出力タイマのレジスタには,次の3つがあります。
・16ビットフリーランタイマのレジスタ
・16ビットアウトプットコンペアのレジスタ
・16ビットインプットキャプチャのレジスタ
■ 16ビット入出力タイマのレジスタ
図 12.2-1 16ビット入出力タイマのレジスタ
166
12.3 16ビットフリーランタイマ
12.3
16ビットフリーランタイマ
16ビットフリーランタイマ
16ビットフリーランタイマは,16ビットのアップカウンタとコントロールステータ
スレジスタから構成されています。カウント値はアウトプットコンペア,インプット
キャプチャの基本時間(ベースタイマ)として使用されます。
・カウントクロックは4種類から選択可能です。
・カウンタオーバフロー割込みを発生することができます。
・モード設定によりアウトプットコンペアのコンペアレジスタ0の値との一致に
よるカウンタの初期化が可能です。
■ 16ビットフリーランタイマのブロックダイヤグラム
図 12.3-1 16ビットフリーランタイマのブロックダイヤグラム
167
第12章 16ビット入出力タイマ
12.3.1
16ビットフリーランタイマのレジスタ
16ビットフリーランタイマのレジスタ
データレジスタは,16ビットフリーランタイマのカウント値を読み出すことができ
るレジスタです。カウンタ値はリセット時に"0000"にクリアされます。このレジスタ
に書き込むことで,タイマ値を設定できますが必ず停止(STOP=1)状態で行ってくださ
い。このレジスタはワードアクセスしてください。
■ タイマカウンタデータレジスタ
図 12.3-2 タイマカウンタデータレジスタ
16ビットフリーランタイマの初期化は次の要因で行われます。
リセットによる初期化
コントロールステータスレジスタのクリアビット(CLR) による初期化
コンペアのコンペアレジスタ0とタイマカウンタ値の一致による初期化
(モードの設定が必要です。)
168
12.3 16ビットフリーランタイマ
12.3.2
タイマカウンタコントロールステータスレジスタ
タイマカウンタコントロールステータスレジスタは,16ビットフリーランタイマの
動作モードの設定,起動・停止や割込みの制御を行います。
■ タイマカウンタコントロールステータスレジスタ
図 12.3-3 タイマカウンタコントロールステータスレジスタ
【bit 7】予約ビット
本ビットには必ず"0"を書き込んでください。
【bit 6】IVF
16ビットフリーランタイマの割込み要求フラグです。
16ビットフリーランタイマがオーバフローを起こしたとき,またはモード設定に
よりコンペアレジスタ0とコンペアマッチしてカウンタクリアされたときに本ビッ
トは"1"にセットされます。
割込み要求許可ビット(bit5:IVFE)がセットされていると割込みが発生します。
本ビットは"0"書込みによりクリアされます。"1"書込みは意味を持ちません。
リードモディファイ系命令では"1"が読めます。
0
1
割込み要求なし(初期値)
割込み要求あり
【bit 5】IVFE
16ビットフリーランタイマの割込み許可ビットです。本ビットが"1"のとき,
割込みフラグ(bit5:IVF)が"1"にセットされると割込みが発生します。
0
1
割込み禁止(初期値)
割込み許可
【bit 4】STOP
16ビットフリーランタイマのカウントを停止するためのビットです。
"1"書込み時にタイマのカウント停止。"0"書込み時にタイマのカウントを開始。
0
1
カウント許可(動作)(初期値)
カウント禁止(停止)
<注意事項>
16ビットフリーランタイマのカウントが停止すると,アウトプットコンペア動作も停止。
169
第12章 16ビット入出力タイマ
【bit 3】MODE
16ビットフリーランタイマの初期化条件を設定します。
"0"のときはリセットとクリアビット(bit2:CLR)でカウンタ値を初期化可能。
"1"のときはリセットとクリアビット(bit2:CLR)のほかにアウトプットコン
ペアのコンペアレジスタ0の値との一致によりカウンタ値を初期化することが
できます。
0
1
リセット,クリアビットによる初期化(初期値)
リセット,クリアビット,コンペアレジスタ0による初期化
<注意事項>
クリアビットとコンペアレジスタとの一致により,タイマ値の変化点でタイマの初期値が行わ
れます。
【bit 2】CLR
動作中の16ビットフリーランタイマ値を"0000"に初期化するビットです。
"1"書込み時にカウンタ値を"0000"に初期化。"0"を書込んでも意味を持ちま
せん。
リード値は常に"0"です。カウンタ値の初期化はカウント値の変化点で行われま
す。
0
1
意味を持ちません(初期値)
カウンタ値を"0000"に初期化します
<注意事項>
タイマ停止中に初期化する場合はデータレジスタに"0000"を書き込んでください。
【bit 1, 0】CLK1, CLK0
16ビットフリーランタイマのカウントクロックを選択します。本ビットに書
込み後すぐにクロックは変更されますのでアウトプットコンペア,インプット
キャプチャが停止状態のときに変更してください。
CLK1
CLK0
カウントクロック分周比
0
0
φ/4
0
1
φ/16
1
0
φ/64
1
1
φ/256
(注)φ:マシンクロック
170
φ=16MHz
0.25µs
1µs
4µs
16µs
φ= 8MHz
0.5µs
2µs
8µs
32µs
φ= 4MHz
1µs
4µs
16µs
64µs
φ= 2MHz
2µs
8µs
32µs
128µs
12.3 16ビットフリーランタイマ
12.3.3
16ビットフリーランタイマの動作
16ビットフリーランタイマの動作
16ビットフリーランタイマはリセット解除後にカウンタ値"0000"よりカウントを
開始します。このカウンタ値が16ビットアウトプットコンペアと16ビットインプット
キャプチャの基準時間となります。
■ 16ビットフリーランタイマの動作
カウンタ値は,次の5つの条件でクリアされます。
オーバフローが発生したとき。
アウトプットコンペアレジスタ0値とコンペアマッチしたとき(モード設
定が必要)。
動作中にTCCSレジスタのCLR ビットに『1』を書き込んだとき。
停止中にTCDTレジスタに"0000"を書き込んだとき。
リセット時
割込みはオーバフローが発生したときと,コンペアレジスタ0値とコンペアマッ
チしてカウンタクリアされたときに発生することができます(コンペアマッチ割込
みはモード設定が必要です)。
図 12.3-4 オーバフローによるカウンタクリア
図 12.3-5 アウトプットコンペアレジスタ0値とコンペアマッチしたときのカウンタクリア
171
第12章 16ビット入出力タイマ
■ 16ビットフリーランタイマのタイミング
図 12.3-6に示すように,16ビットフリーランタイマは,入力されたクロック(内
部または外部クロック)によりカウントアップされます。外部クロック選択時は立
上がりエッジ↑でカウントされます。
図 12.3-6 16ビットフリーランタイマのカウントタイミング
図 12.3-7に示すように,カウンタのクリアはリセット,ソフトウェアのクリア,
コンペアレジスタ0との一致で行うことができます。リセットとソフトウェアのク
リアでのカウンタクリアはクリア発生とともに行われますが,コンペアレジスタ0
との一致によるカウンタクリアはカウントタイミングに同期して行われます。
図 12.3-7 16ビットフリーランタイマのクリアタイミング(コンペアレジスタ0との一致)
172
12.4 アウトプットコンペア
12.4
アウトプットコンペア
アウトプットコンペア
アウトプットコンペアモジュールは,2つの16ビットコンペアレジスタ,2本のコン
ペア出力端子,およびコントロールレジスタから構成されています。コンペアレジス
タに設定された値と16ビットフリーランタイマ値が一致したら,端子の出力レベルを
反転すると共に割込みを発生することができます。
■ アウトプットコンペア
コンペアレジスタは全部で2本あり,独立して動作させることができます。
また設定により2本のコンペアレジスタを使い端子の出力を制御可能で
す。
端子の出力初期値を設定することができます。
割込みはコンペア一致により発生可能です。
■ アウトプットコンペアのブロックダイヤグラム
図 12.4-1 アウトプットコンペアのブロックダイヤグラム
173
第12章 16ビット入出力タイマ
12.4.1
アウトプットコンペアのレジスタ
16ビットフリーランタイマと比較する16ビット長のコンペアレジスタです。レジス
タ値は初期値不定ですので設定してから起動許可してください。本レジスタはワード
アクセスしてください。本レジスタ値と16ビットフリーランタイマ値が一致したとき
コンペア信号が発生してアウトプットコンペア割込みフラグをセットします。また,
出力許可をしている場合はコンペアレジスタに対応した出力レベルを反転します。
■ アウトプットコンペアのコンペアレジスタ
図 12.4-2 コンペアレジスタ
174
12.4 アウトプットコンペア
12.4.2
アウトプットコンペアのコントロールステータス
アウトプットコンペアのコントロールステータス
レジスタ
コントロールステータスレジスタは,アウトプットコンペアの動作モードの設定,
起動・停止や割込みの制御,外部出力端子の設定を行います。
■ アウトプットコンペアのコントロールステータスレジスタ
図 12.4-3 コントロールステータスレジスタ
【bit 15, 14, 13】未使用ビット
【bit 12】CMOD
端子出力を許可した場合(OTE1=1 OR OTE0=1)のコンペア一致における端子出
力レベル反転動作モードを切り換えます。
CMOD=0のとき(初期値)はコンペアレジスタに対応した端子の出力レベル
を反転します。
-
OUT0:コンペアレジスタ0の一致によりレベルを反転します。
-
OUT1:コンペアレジスタ1の一致によりレベルを反転します。
CMOD=1のときはコンペアレジスタ0はCMOD=0時と同じく出力レベルを反
転しますが,コンペアレジスタ1に対応した端子(OUT1)の出力レベルは,
コンペアレジスタ0の一致とコンペアレジスタ1の一致の両方で出力レベ
ルを反転します。コンペアレジスタ0と1が同値のときはコンペアレジス
タ1本のときと同じ動作をします。
-
OUT0:コンペアレジスタ0の一致によりレベルを反転します。
-
OUT1:コンペアレジスタ0または1の一致によりレベルを反転します。
【bit 11, 10】OTE1,OTE0
アウトプットコンペアの端子出力を許可するビットです。本ビットは初期値
"0"です。
0
1
汎用ポートとして動作します。(初期値)
アウトプットコンペア端子出力になります。
<注意事項>
OTE1:アウトプットコンペア1(OUT1)に対応
OTE0:アウトプットコンペア0(OUT0)に対応
175
第12章 16ビット入出力タイマ
【bit 9, 8】OTD1, OTD0
アウトプットコンペアの端子出力を許可した場合の端子出力レベルを変更す
るときに使用します。コンペア端子出力の初期値は"0"となります。書込み時は
コンペア動作を停止してから行ってください。読出し時はアウトプットコンペ
ア端子出力値が読めます。
0
1
コンペア端子出力を"0"にします(初期値)
コンペア端子出力を"1"にします
<注意事項>
OTD1:アウトプットコンペア1に対応
OTD0:アウトプットコンペア0に対応
【bit 7, 6】ICP1, ICP0
アウトプットコンペアの割込みフラグです。コンペアレジスタと16ビットフ
リーランタイマ値が一致した場合に"1"にセットされます。割込み要求ビット
(ICE1, ICE0) が許可されているときに本ビットがセットされるとアウトプット
コンペア割込みが発生します。本ビットは"0"書込みによりクリアされ,"1"書
込みでは意味をもちません。リードモディファイ系命令では"1"が読めます。
0
1
コンペア一致なし(初期値)
コンペア一致あり
<注意事項>
ICP1:アウトプットコンペア1に対応
ICP0:アウトプットコンペア0に対応
【bit5,4】ICE1,ICE0
アウトプットコンペアの割込み許可ビットです。本ビットが"1"のとき割込み
フラグ(ICP0, ICP1) がセットされるとアウトプットコンペア割込みが発生しま
す。
0
1
アウトプットコンペア割込み禁止(初期値)
アウトプットコンペア割込み許可
<注意事項>
ICE1:アウトプットコンペア1に対応
ICE0:アウトプットコンペア0に対応
【bit 3, 2】未使用ビット
【bit 1, 0】CST1, CST0
16ビットフリーランタイマとの一致動作を許可するビットです。
0
1
コンペア動作禁止(初期値)
コンペア動作許可
コンペア動作許可をする前にコンペアレジスタ値を設定してください。
<注意事項>
CST1:アウトプットコンペア1に対応
CST0:アウトプットコンペア0に対応
アウトプットコンペアは16ビットフリーランタイマのクロックと同期させているため16ビット
フリーランタイマを停止させるとコンペア動作も停止します。
176
12.4 アウトプットコンペア
12.4.3
16ビットアウトプットコンペアの動作
16ビットアウトプットコンペアの動作
16ビットアウトプットコンペアは,設定されたコンペアレジスタ値と16ビットフ
リーランタイマとの値を比較して一致したら割込み要求フラグをセットするととも
に,出力レベルを反転することができます。
■ コンペアレジスタ0,1を使用したときの出力波形例(出力の初期値は0とする)
図 12.4-4 コンペアレジスタ0,1を使用したときの出力波形例
2組のコンペアレジスタを使い,出力レベルを変えることができます(CMOD=1のと
き)。
■ 2組のコンペアレジスタによる出力波形例(出力の初期値は0とする)
図 12.4-5 2組のコンペアレジスタによる出力波形例(出力の初期値は0とする)
177
第12章 16ビット入出力タイマ
■ アウトプットコンペアのタイミング
アウトプットコンペアは,フリーランタイマと設定したコンペアレジスタの
値が一致したときにコンペアマッチ信号が発生して出力値を反転するとともに
割込みを発生することができます。コンペアマッチ時の出力反転タイミングは
カウンタのカウントタイミングに同期して行われます。
図 12.4-6に示すように,コンペアレジスタ書換え時のカウンタ値とはコンペ
アしません。
図 12.4-6 コンペアレジスタ書換え時のコンペア動作
図 12.4-7にアウトプットコンペアの割込みタイミングを,図 12.4-8に,アウト
プットコンペアの出力端子変化タイミングを示します。
図 12.4-7 アウトプットコンペアの割込みタイミング
図 12.4-8 アウトプットコンペアの出力端子変化タイミング
178
12.5 インプットキャプチャ
12.5
インプットキャプチャ
インプットキャプチャは外部から入力された信号の立上がりエッジ,立下がりエッ
ジまたは両エッジを検出して,そのときの16ビットフリーランタイマ値をレジスタに
保持する機能を持っています。また,エッジ検出時に割込みを発生することができま
す。インプットキャプチャは,インプットキャプチャデータレジスタ,コントロール
レジスタで構成されています。
■ インプットキャプチャ
各インプットキャプチャは,それぞれに対応した外部入力端子を持っています。
○
外部入力の検出エッジを3種類から選択可能です。
立上がりエッジ(↑)
立下がりエッジ(↓)
両エッジ(↑↓)
○
外部入力の有効エッジを検出したときに割込みを発生することができます。
■ インプットキャプチャのブロックダイヤグラム
図 12.5-1 インプットキャプチャの全体ブロックダイヤグラム
179
第12章 16ビット入出力タイマ
12.5.1
インプットキャプチャのレジスタ
インプットキャプチャのレジスタは,次の2つがあり,対応した外部端子入力波形
の有効エッジを検出したとき16ビットタイマ値を保持するレジスタです(ワードアク
セスしてください。書込みはできません)。
■ インプットキャプチャデータレジスタ
図 12.5-2 インプットキャプチャデータレジスタ
■ インプットキャプチャコントロールステータスレジスタ
図 12.5-3 インプットキャプチャコントロールステータスレジスタ
【bit 7, 6】ICP1, ICP0
インプットキャプチャ割込みフラグです。外部入力端子の有効エッジを検出
すると本ビットを"1"にセットします。割込み許可ビット(ICE0, ICE1) がセッ
トされていると有効エッジを検出することにより割込みを発生することができ
ます。
本ビットは"0"書込みによりクリアされます。"1"書込みは意味を持ちません。
リードモディファイライト系命令では"1"が読めます。
0
1
有効エッジ検出なし(初期値)
有効エッジ検出あり
<注意事項>
ICP0:インプットキャプチャ0に対応
ICP1:インプットキャプチャ1に対応
180
12.5 インプットキャプチャ
【bit 5, 4】ICE1, ICE0
インプットキャプチャ割込み許可ビットです。本ビットが"1"のとき割込みフ
ラグ(ICP0, ICP1) がセットされるとインプットキャプチャ割込みが発生します。
0
1
割込み禁止(初期値)
割込み許可
<注意事項>
ICE0:インプットキャプチャ0に対応
ICE1:インプットキャプチャ1に対応
【bit 3, 2, 1, 0】EG11, EG10, EG01, EG00
外部入力の有効エッジ極性を指定します。インプットキャプチャ動作許可も
兼用しています。
EG11
EG01
0
0
1
1
EG10
EG00
0
1
0
1
エッジ検出極性
エッジ検出なし(停止状態) (初期値)
立上がりエッジ検出 ↑
立下がりエッジ検出 ↓
両エッジ検出 ↑↓
<注意事項>
EG01, EG00:インプットキャプチャ0に対応
EG11, EG10:インプットキャプチャ1に対応
181
第12章 16ビット入出力タイマ
12.5.2
16ビットインプットキャプチャの動作
16ビットインプットキャプチャの動作
16ビットインプットキャプチャは設定された有効エッジを検出すると16ビットフ
リーランタイマの値をキャプチャレジスタに取り込んで割込みを発生することとが
できます。
■ インプットキャプチャの取り込みタイミング例
キャプチャ0=立上がりエッジ
キャプチャ1=立下がりエッジ
キャプチャ例=両エッジ(例として)
図 12.5-4 インプットキャプチャの取り込みタイミング例
182
12.5 インプットキャプチャ
■ インプットキャプチャ入力タイミング
図 12.5-5 入力信号に対するキャプチャタイミング
183
第12章 16ビット入出力タイマ
184
第13章
16ビットリロードタイマ
ビットリロードタイマ(
13章 16
ビットリロードタイマ(イベントカウント機
能付)
能付)
この章では,16ビットリロードタイマ(イベントカウント機能付)の機能と動作につ
いて説明します。
13.1 16ビットリロードタイマ(イベントカウント機能付)の概要
13.2 16ビットリロードタイマのレジスタ
13.3 16ビットリロードタイマの内部クロック動作と外部クロック動作
13.4 16ビットリロードタイマのアンダフロー動作
13.5 16ビットリロードタイマの出力端子機能
13.6 カウンタの動作状態
185
第13章 16ビットリロードタイマ(イベントカウント機能付)
13.1
16ビットリロードタイマ
16ビットリロードタイマ(
ビットリロードタイマ(イベントカウント機能付)
イベントカウント機能付)の
概要
16ビットリロードタイマ1は,16bit のダウンカウンタ,16bit のリロードレジス
タ,入力端子1本(TIN),出力端子1本(TOUT),コントロールレジスタで構成されてい
ます。入力クロックとして内部クロック3種類と外部クロックを選択できます。
■ 16ビットリロードタイマ(イベントカウント機能付)の概要
出力端子(TOUT)には,リロードモード時にはトグル出力波形を出力し,ワン
ショットモード時にはカウント中を示す矩形波を出力します。入力端子(TIN)は,
イベントカウントモード時にイベント入力となり,内部クロックモード時にはトリ
ガ入力,またはゲート入力に使用することができます。
MB90435シリーズの16ビットリロードタイマは2つです。
■ インテリジェントI/Oサービス(EI2OS)機能と割込み
本タイマはEI2OS対応の回路を有しています。このため,本タイマのアンダフロー
によりEI2OSを起動させることができます。
■ 16ビットリロードタイマのブロックダイヤグラム
図 13.1-1に,16ビットリロードタイマのブロックダイヤグラムを示します。
図 13.1-1 16ビットリロードタイマのブロックダイヤグラム
186
13.2 16ビットリロードタイマのレジスタ
13.2
16ビットリロードタイマのレジスタ
16ビットリロードタイマのレジスタ
16ビットリロードタイマのレジスタには,次の2種類があります。
・タイマコントロールステータスレジスタ(TMCSR)
・16ビットタイマレジスタ/16ビットリロードレジスタ(TMR/TMRLR)
■ 16ビットリロードタイマのレジスタ
図 13.2-1 16ビットリロードタイマのレジスタ
187
第13章 16ビットリロードタイマ(イベントカウント機能付)
13.2.1
タイマコントロールステータスレジスタ(TMCSR)
タイマコントロールステータスレジスタ(TMCSR)
16ビットタイマの動作モード,および割込みの制御をします。UF, CNTE, TRG ビッ
ト以外のビットの書換えは,CNTE=0のときに行うようにしてください。
■ タイマコントロールステータスレジスタ(TMCSR)
図 13.2-2 タイマコントロールステータスレジスタ(TMCSR)
【bit 11, 10】CSL1, CSL0 (Clock SeLect1, 0)
カウントクロックセレクトビットです。選択されるクロックソースを,表
13.2-1に示します。
表 13.2-1 CSLビット設定クロックソース
CSL1
0
0
1
1
CSL0
0
1
0
1
クロックソース(マシンサイクル φ=16MHz)
φ/21 (0.125 µs)
φ/23 (0.5 µs)
φ/25 (2.0 µs)
外部イベントカウントモード
【bit 9, 8, 7】MOD2, MOD1, MOD0
動作モード,および入出力端子の機能を設定するビットです。
MOD2ビットは,入出力の機能を選択するビットです。"0"の場合,入力端子は
トリガ入力端子となり,有効エッジが入力されるとリロードレジスタの内容を
カウンタへロードし,カウント動作を継続します。"1"の場合,ゲートカウンタ
モードになり,入力端子はゲート入力となり,有効レベルが入力されている間
のみカウントをします。
MOD1, 0ビットは,各モードにおける端子の機能の設定を行います。MOD2, 1,
0ビットの設定を表 13.2-2および表 13.2-3に示します。
188
13.2 16ビットリロードタイマのレジスタ
表 13.2-2 MOD2, 1, 0ビットの設定方法 (1)
MOD2
MOD1
MOD0
入力端子機能
0
0
0
トリガ禁止
0
0
1
トリガ入力
0
1
0
↑
0
1
1
↑
1
×
0
ゲート入力
1
×
1
↑
内部クロックモード時 (CSL0, 1=00, 01, 10)
有効エッジ,レベル
―
立上がりエッジ
立下がりエッジ
両エッジ
"L"レベル
"H"レベル
表 13.2-3 MOD2, 1, 0ビットの設定方法 (2)
MOD2
MOD1
MOD0
入力端子機能
0
0
―
0
1
トリガ入力
×
1
0
↑
1
1
↑
・イベントカウントモード時 (CSL0, 1=11)
・表中の×は,任意の値
有効エッジ,レベル
―
立上がりエッジ
立下がりエッジ
両エッジ
【bit 6】OUTE
出力許可ビットです。"0"のときTOUT端子は汎用ポートになり,"1"のときTOUT
端子はタイマ出力端子になります。出力波形はリロードモード時トグル出力と
なり,ワンショットモード時はカウンタ中を示す矩形波出力になります。
【bit 5】OUTL
TOUT端子の出力レベルを設定するビットです。
表 13.2-4 OUTE, RELD, OUTLの設定方法
OUTE
0
1
1
1
1
RELD
×
0
0
1
1
OUTL
×
0
1
0
1
出力波形
汎用ポート
カウント中 "H"の矩形波
カウント中 "L"の矩形波
カウントスタート時 "L"のトグル出力
カウントスタート時 "H"のトグル出力
【bit 4】RELD (REloaD)
リロード動作を許可するビットです。"1"のときはリロードモードになり,カ
ウンタの値が0000H →FFFFHへのアンダフローと同時にリロードレジスタの内容
をカウンタへロードしてカウント動作を続けます。"0"のときは単発動作モード
となり,カウンタの値が0000H→FFFFHへのアンダフローによりカウント動作を停
止します。
【bit 3】INTE (INTerrupt Enable)
タイマ割込み要求許可ビットです。"1"のときUFビットが"1"になると割込み
要求を発生します。"0"のときはUFビットが"1"であっても割込み要求を発生し
ません。
189
第13章 16ビットリロードタイマ(イベントカウント機能付)
【bit 2】UF (UnderFlow)
タイマ割込み要求フラグです。カウンタの値が,0000H →FFFFHへのアンダフ
ローにより"1"にセットされます。"0"の書込みまたはインテリジェントI/O サー
ビスによってクリアされます。このビットへの"1"書込みは,意味がありません。
リードモディファイライト系命令における読出し時には,"1"が読み出されます。
【bit 1】CNTE (CouNT enable)
タイマのカウントイネーブルビットです。このビットに"1"を書き込むと,起
動トリガ待ち状態になります。"0"書込みによりカウント動作は停止します。
【bit 0】TRG (Trigger)
ソフトウェアトリガビットです。"1"書込みによりソフトウェアトリガがかか
り,リロードレジスタの内容をカウンタへロードしてカウント動作を開始しま
す。"0"書込み動作は,意味を持ちません。読出し値は,常に"0"です。このレ
ジスタによるトリガ入力は,CNTE= "1"のときのみ有効となります。CNTE= "0"
のときには,なにもおこりません。
190
13.2 16ビットリロードタイマのレジスタ
13.2.2
16ビットタイマ
16ビットタイマレジスタ
ビットタイマレジスタ(TMR)
レジスタ(TMR) /16ビットリロード
16ビットリロード
レジスタ (TMRLR)のレジスタ配置
(TMRLR)のレジスタ配置
TMR内容(リード時):
16ビットタイマのカウント値を読み出すことができるレジスタです。初期値は不定
です。このレジスタの読出しは,必ずワード転送命令で行ってください。
TMRLR内容(ライト時):
16ビットリロードレジスタは,カウントの初期値を保持しておくレジスタです。初
期値は不定です。このレジスタへの書込みは,必ずワード転送命令で行ってください。
■ 16ビットタイマレジスタ(TMR)/16ビットリロードレジスタ(TMRLR)
図 13.2-3 16ビットタイマレジスタ(TMR) /16ビットリロードレジスタ (TMRLR)
191
第13章 16ビットリロードタイマ(イベントカウント機能付)
13.3
16ビットリロードタイマの内部クロック動作と外部ク
16ビットリロードタイマの内部クロック動作と外部ク
ロック動作
内部クロックの分周クロックでタイマを動作させる場合,クロックソースとしてマ
シンクロックの21, 23, 25分周のクロックから選択することができます。外部入力端
子は,レジスタの設定により,トリガ入力またはゲート入力にすることができます。
外部クロックをセレクトするとTIN 端子は,外部イベント入力端子となりレジスタ
で設定された有効エッジをカウントします。
■ 16ビットリロードタイマの内部クロック動作
カウント許可と同時にカウント動作を開始したい場合は,コントロールレジスタ
のCNTEビットとTRGビットの両方に"1"を書き込んでください。TRGビットによるト
リガ入力は,タイマが起動状態のとき(CNTE="1") 動作モードにかかわらず常に有
効です。
図 13.3-1に,カウンタの起動およびカウンタの動作について示します。カウンタ
スタートのトリガが入力されてからリロードレジスタのデータがカウンタへロー
ドされるまでに,T(T:マシンサイクル)の時間がかかります。
図 13.3-1 16ビットリロードタイマのカウンタの起動および動作
■ 16ビットリロードタイマの入力端子機能(内部クロックモード時)
クロックソースとして,内部クロックを選択した場合,TIN端子はトリガ入力ま
たはゲート入力として使用することができます。トリガ入力として使用した場合,
有効エッジが入力されるとリロードレジスタの内容をカウンタにロードして,内部
プリスケーラをクリアした後,カウント動作を開始します。
TIN端子には,2・T(Tはマシンサイクル)以上のパルスを入力してください。図
13.3-2に,トリガ入力の動作を示します。
192
13.3 16ビットリロードタイマの内部クロック動作と外部クロック動作
図 13.3-2 16ビットリロードタイマのトリガ入力の動作
ゲート入力として使用する場合,コントロールレジスタのMOD0ビットにより設定
される有効レベルが,TIN端子から入力されている間のみカウントをします。この
ときカウントクロックは,止まらずに動き続けます。ゲートモード時のソフトウェ
アトリガは,ゲートレベルに関わらず可能です。TIN端子のパルス幅は,2・T(Tは
マシンサイクル)以上にしてください。図 13.3-3に,ゲート入力の動作を示します。
図 13.3-3 16ビットリロードタイマのゲート入力の動作
■ 外部イベントカウント
外部クロックをセレクトするとTIN端子は,外部イベント入力端子となりレジス
タで設定された有効エッジをカウントします。TIN端子のパルス幅は,4・T(Tはマ
シンサイクル)以上にしてください。
193
第13章 16ビットリロードタイマ(イベントカウント機能付)
13.4
16ビットリロードタイマのアンダフロー動作
16ビットリロードタイマのアンダフロー動作
16ビットリロードタイマにより,カウンタ値が0000HからFFFFHに変化したときにア
ンダフローが定義されますので,(リロードレジスタ設定+1) カウントの後でアンダ
フローが生じます。
■ 16ビットリロードタイマのアンダフロー動作
アンダフロー発生時,コントロールレジスタのRELDビットが"1"のときリロード
レジスタの内容をカウンタへロードしてカウント動作を継続し,"0"のときカウン
タをFFFFHで停止させます。
アンダフローが発生すると,コントロールレジスタのUFビットをセットし,この
ときにINTEビットが"1"であると割込み要求を発生します。
図 13.4-1と図 13.4-2に,アンダフロー発生時の動作を示します。
図 13.4-1 16ビットリロードタイマのアンダフロー動作[RELD=1の場合]
図 13.4-2 16ビットリロードタイマのアンダフロー動作[RELD=0の場合]
194
13.5 16ビットリロードタイマの出力端子機能
13.5
16ビットリロードタイマの出力端子機能
16ビットリロードタイマの出力端子機能
TOUT端子はリロードモード時には,アンダフローにより反転するトグル出力として,
ワンショットモード時には,カウント中を示すパルス出力として機能します。
■ 16ビットリロードタイマの出力端子機能
16ビットリロードタイマの出力極性は,レジスタのOUTLビットにより設定でき
OUTL="0"のときトグル出力は,初期値が"0"で,ワンショットパルス出力は,カウ
ント中"1"を出力します。OUTL="1"にすると出力波形は,反転します。図 13.5-1
と図 13.5-2に出力端子機能を示します。
図 13.5-1 16ビットリロードタイマの出力端子機能 (RELD=1,OUTL=0の場合)
図 13.5-2 16ビットリロードタイマの出力端子機能 (RELD=0,OUTL=0の場合)
195
第13章 16ビットリロードタイマ(イベントカウント機能付)
13.6
カウンタの動作状態
カウンタの状態は,コントロールレジスタのCNTEビットと内部信号のWAIT信号に
よって決まります。設定可能な状態としてCNTE="0",WAIT="1"の停止状態(STOP状態),
CNTE="1", WAIT="1"の起動トリガ待ち状態(WAIT状態),CNTE="1", WAIT="0"の動作
状態(RUN状態)があります。
■ カウンタの動作状態
図 13.6-1に,各状態の遷移を示します。
図 13.6-1 カウンタの状態遷移
196
第14章
14章 8/16ビット
8/16ビットPPG
ビットPPG
この章では,8/16ビットPPGの機能と動作について説明します。
14.1 8/16ビットPPGの概要
14.2 8/16ビットPPGのブロックダイヤグラム
14.3 8/16ビットPPGのレジスタ
14.4 8/16ビットPPGの動作
14.5 8/16ビットPPGのカウントクロックの選択
14.6 8/16ビットPPGのパルスの端子出力の制御
14.7 8/16ビットPPGの割込み
14.8 8/16ビットPPGの各ハードウェアの初期値
197
第14章 8/16ビットPPG
14.1
8/16ビット
8/16ビットPPG
ビットPPGの概要
PPGの概要
8/16ビットPPGは,ハードウェアとして,8bitダウンカウンタ2個,8bitリロードレ
ジスタ4個,16bit制御レジスタ1個,外部パルス出力端子2本,割込み出力2本を有し,
これらにより以下の機能を実現します。
■ 8/16ビットPPGの機能
○
8ビットPPG出力2ch独立動作モード
2chの独立したPPG出力動作が可能です。
○
16ビットPPG出力動作モード
1chの16bitのPPG出力動作が可能です。
○
8+8ビットPPG出力動作モード
ch0の出力をch1のクロック入力とすることにより,任意周期の8bit PPG出力
動作が可能です。
○
PPG出力動作
任意周期・デューティ比のパルス波を出力します。外付け回路によりD/Aコン
バータとしても使用可能です。
MB90435シリーズには,4本のPPGがあります。次節ではPPG0/1の機能についての
み記述します。残りのPPGも同じ機能を持ちますが,レジスタアドレスについては,
「付録A I/Oマップ」を参照してください。
ch0のPPGの出力信号は,どの外部端子にも接続されていません。
198
14.2 8/16ビットPPGのブロックダイヤグラム
14.2
8/16ビット
8/16ビットPPG
ビットPPGのブロックダイヤグラム
PPGのブロックダイヤグラム
図 14.2-1に,8/16ビットPPG(ch0)のブロックダイヤグラムを,図 14.2-2に,8/16
ビットPPG(ch1)のブロックダイヤグラムを示します。
■ 8/16ビットPPGのブロックダイヤグラム
図 14.2-1 8ビットPPG(ch0) のブロックダイヤグラム
199
第14章 8/16ビットPPG
図 14.2-2 8ビットPPG(ch1) のブロックダイヤグラム
図 14.2-3 PPGモジュールと外部端子の関係
200
14.3 8/16ビットPPGのレジスタ
14.3
8/16ビット
8/16ビットPPG
ビットPPGのレジスタ
PPGのレジスタ
8/16ビットPPGのレジスタには,次の五つがあります。
・PPG0動作モード制御レジスタ
・PPG1動作モード制御レジスタ
・PPG0,1クロック選択レジスタ
・リロードレジスタH
・リロードレジスタL
■ 8/16ビットPPGのレジスタ
図 14.3-1 8/16ビットPPGのレジスタ
201
第14章 8/16ビットPPG
14.3.1
PPG0動作モード制御レジスタ
PPG0動作モード制御レジスタ (PPGC0)
動作モード制御レジスタ(PPGC0)は,ブロックの動作モードの選択,端子出力制御,
カウントクロック選択,トリガの制御を行う5ビットの制御レジスタです。
■ PPG0動作モード制御レジスタ (PPGC0)
図 14.3-2 PPG0動作モード制御レジスタ (PPGC0)
【bit 7】PEN0(PPG enable):動作許可ビット
PPGのカウンタ動作を許可します。
PEN0
0
1
動作状態
動作停止("L"レベル出力保持)
PPG動作許可
本ビットに1を書き込むことで,PPGはカウントを開始します。
リセットにより,本ビットは"0"に初期化されます。リード/ライトが可能で
す。
【bit 5】PE00 (PPG output enable 00):PPG00 端子出力許可ビット
パルス出力外部端子PPG00を以下のように制御します。
PE00
0
1
動作状態
汎用ポート端子(パルス出力禁止)
PPG00=パルス出力端子(パルス出力許可)
リセットにより,本ビットは"0"に初期化されます。本ビットは,リード/ラ
イトが可能です。
MB90435シリーズについては,本ビットを常に"0"に設定する必要があります。
【bit 4】PIE0 (PPG Interrupt enable):PPGの割込み許可ビット
PPGの割込み許可を以下のように制御します。
PIE0
0
1
動作状態
割込み禁止
割込み許可
本ビットが"1"のとき,PUF0が"1"になると割込み要求を発生します。本ビッ
トが"0"のときは割込み要求を発生しません。
リセットにより,本ビットは"0"に初期化されます。本ビットは,リード/ラ
イトが可能です。
202
14.3 8/16ビットPPGのレジスタ
【bit 3】PUF0 (PPG underflow flag):PPG カウンタアンダフロービット
PPGのカウンタアンダフロービットを以下のように制御します。
PUF0
0
1
動作状態
PPGのカウンタアンダフローが検出していません
PPGのカウンタアンダフローを検出しました
8ビットPPG 2chモードおよび8ビットプリスケーラ+8ビットPPGモードのとき
には,ch0のカウンタの値が00H ∼FFH へなったときのアンダフローにより"1"
にセットされます。16ビットPPGモードのときには,ch1/ch0のカウンタの値が
0000H ∼FFFFH へなったときのアンダフローにより"1"にセットされます。"0"
の書込みにより"0"になります。このビットへの"1"書込みは,意味がありませ
ん。リードモディファイライトのリード時には"1"が読まれます。
リセットにより,本ビットは"0"に初期化されます。本ビットは,リード/ラ
イトが可能です。
【bit 0】
予約ビットです。PPGC0 を設定するときは必ず1に設定してください。
本ビットは常に"1"が読まれます。
203
第14章 8/16ビットPPG
14.3.2
PPG1動作モード制御レジスタ
PPG1動作モード制御レジスタ (PPGC1)
PPG1動作モード制御レジスタ(PPGC1)は,ブロックの動作モードの選択,端子出力
制御,カウントクロック選択,トリガの制御を行う7bitの制御レジスタです。
■ PPG1動作モード制御レジスタ (PPGC1)
図 14.3-3 PPG1動作モード制御レジスタ (PPGC1)
【bit 15】PEN1(PPG enable):動作許可ビット
PPGのカウンタ動作を許可します。
PEN1
0
1
動作状態
動作停止("L"レベル出力保持)
PPG動作イネーブル
本ビットを1に設定することでカウンタ動作を許可します。
リセットにより,本ビットは"0"に初期化されます。リード/ライトが可能で
す。
【bit 13】PE10 (PPG output enable 10):PPG10 端子出力許可ビット
パルス出力外部端子PPG10 を以下のように制御します。
PE10
0
1
動作状態
汎用ポート端子(パルス出力禁止)
PPG10=パルス出力端子(パルス出力許可)
リセットにより,本ビットは"0"に初期化されます。本ビットは,リード/ラ
イトが可能です。
MB90435シリーズについては,パルス信号は「PPG0」外部端子に出力されます。
【bit 12】PIE1 (PPG Interrupt enable):PPGの割込み許可ビット
PPGの割込み許可を以下のように制御します。
PIE1
0
1
動作状態
割込み禁止
割込み許可
本ビットが"1"のとき,PUF1が"1"になると割込み要求を発生します。本ビッ
トが"0"のときは割込み要求を発生しません。
リセットにより,本ビットは"0"に初期化されます。本ビットは,リード/ラ
イトが可能です。
204
14.3 8/16ビットPPGのレジスタ
【bit 11】PUF1 (PPG underflow flag):PPGカウンタアンダフロービット
PPGのカウンタアンダフロービットを以下のように制御します。
PUF1
0
1
動作状態
PPGのカウンタアンダフローを検出していません
PPGのカウンタアンダフローを検出しました
8ビットPPG 2chモードおよび8ビットプリスケーラ+8ビットPPGモードのとき
には,ch1のカウンタの値が00H ∼FFH へなったときのアンダフローにより"1"
にセットされます。16ビットPPGモードのときには,ch1/ch0のカウンタの値が
0000H∼FFFFHへなったときのアンダフローにより"1"にセットされます。"0"の書
込みにより"0"になります。このビットへの"1"書込みは,意味がありません。
リードモディファイライトのリード時には"1"が読まれます。
リセットにより,本ビットは"0"に初期化されます。本ビットは,リード/ラ
イトが可能です。
【bit 10, 9】MD1, 0 (PPG count mode):動作モード選択ビット
PPGタイマの動作モードを以下のように選択します。
MD1
0
0
1
1
MD0
0
1
0
1
動作モード
8ビットPPG2ch独立モード
8ビットプリスケーラ+8ビットPPG1chモード
予約(設定禁止)
16ビットPPG1chモード
リセットにより,本ビットは"00"に初期化されます。本ビットは,リード/ラ
イトが可能です。
<注意事項>
・ ビットを"10"に設定しないでください。
・ ビットを"01"に設定する場合には,PPGC0のPEN0ビット/PPGC1のPEN1ビットを"01"に設定しな
いでください。また,PEN0ビットおよびPEN1ビットを同時に"11"または"00"にセットすること
を推奨します。
・ ビットを"11"に設定する場合には,PPGC0/PPGC1をワード転送で書換え,PEN0ビットおよびPEN1
ビットを同時に"11"または"00"にセットしてください。
【bit 8】予約ビット
予約ビットです。PPGC1を設定するときは必ず"1"に設定してください。
本ビットは常に"1"が読まれます。
205
第14章 8/16ビットPPG
14.3.3
PPG0/1クロック選択レジスタ
PPG0/1クロック選択レジスタ (PPG0/1
(PPG0/1)
0/1)
PPG0/1クロック選択レジスタ (PPG0/1)は,PPGの動作クロックの制御を行う8bit
の制御レジスタです。
■ PPG0/1クロック選択レジスタ (PPG0/1)
図 14.3-4 PPG0/1クロック選択レジスタ (PPG0/1)
【bit 7 5】PCS2∼0
∼
(PPG count select):カウントクロック選択ビット
ch1のダウンカウンタの動作クロックを,次のように選択します。
PCS2
0
0
0
0
1
1
PCS1
0
0
1
1
0
1
PCS0
0
1
0
1
0
1
動作モード
周辺クロック(62.5ns マシンクロック 16MHz時)
周辺クロック/2(125nsマシンクロック 16MHz時)
周辺クロック/4(250nsマシンクロック 16MHz時)
周辺クロック/8(500ns マシンクロック 16MHz時)
周辺クロック/16(1µs マシンクロック 16MHz時)
タイムベースタイマからの入力クロック(128µs 原発振 4MHz 時)
リセットにより本ビットは"000"に初期化されます。本ビットは,リード/ラ
イトが可能です。
<注意事項>
8ビットプリスケーラ+8ビットPPGモードおよび16ビットPPGモードのときには,ch1のPPGは,
ch0からカウントクロックを受けて動作するため,これらのビットの設定は,無効になります。
【bit 4 2】PCM2∼0
∼
(PPG Count Mode):カウントクロック選択ビット
ch0のダウンカウンタの動作クロックを,次のように選択します。
PCM2
0
0
0
0
1
1
PCM1
0
0
1
1
0
1
PCM0
0
1
0
1
0
1
動作モード
周辺クロック(62.5ns マシンクロック 16MHz時)
周辺クロック/2(125nsマシンクロック 16MHz時)
周辺クロック/4(250nsマシンクロック 16MHz時)
周辺クロック/8(500ns マシンクロック 16MHz時)
周辺クロック/16(1µs マシンクロック 16MHz時)
タイムベースタイマからの入力クロック(128µs 原発振 4MHz 時)
リセットにより本ビットは"000"に初期化されます。本ビットは,リード/ラ
イトが可能です。
206
14.3 8/16ビットPPGのレジスタ
14.3.4
リロードレジスタ (PRLL, PRLH)
リロードレジスタ (PRLL, PRLH)は,ダウンカウンタPCNTへのリロード値を保持す
る,各8bitのレジスタです。PRLL, PRLHレジスタは,どちらもリード/ライトが可能
です。
■ リロードレジスタ (PRLL, PRLH)
図 14.3-5 リロードレジスタ (PRLL, PRLH)
レジスタ名
PRLL
PRLH
機能
L側リロード値保持
H側リロード値保持
<注意事項>
8ビットプリスケーラ+8ビットPPGモードで使用する場合には,ch0のPRLLとPRLHに異なる値を
設定すると,ch1のPPG波形がサイクルごとに異なる場合があるので,ch0のPRLLとPRLHは,同じ値
に設定することを推奨します。
207
第14章 8/16ビットPPG
14.4
8/16ビット
8/16ビットPPG
ビットPPGの動作
PPGの動作
8/16ビットPPGには,8bit 長のPPGユニットが2ch有り,2ch独立モード以外に,8
ビットプリスケーラ+8ビットPPGモードと,16ビットPPG 1chモードの計3種類の動作
を行うことができます。
■ 8/16ビットPPGの動作
8bit長のPPGユニットそれぞれは,8bit長のリロードレジスタがL側とH側の2本あ
ります(PRLL, PRLH)。このレジスタに書き込まれた値が,8ビットダウンカウンタ
(PCNT)にL側/H側交互にリロードされてカウントクロックごとにダウンカウントさ
れ,カウンタのボロー発生によるリロード時に,端子出力(PPG) の値を反転させま
す。この動作により,端子出力(PPG)はリロードレジスタ値に対応したL幅/H幅をも
つパルス出力となります。
表 14.4-1に,リロード動作とパルス出力の関係を示します。
表 14.4-1 リロード動作とパルス出力の関係
リロード動作
PRLH → PCNT
PRLL → PCNT
PPG0/1[0→1]
PPP0/1[1→0]
端子出力変化
立上がり
立下がり
また,PPGC0中のbit4(PIE0)が1のときおよびPPGC1中のbit12(PIE1) が1のと
き,それぞれのカウンタの00H∼FFHへのボロー(16ビットPPGモードの場合には,
0000H∼FFFFHへのボロー) によって割込み要求が出力されます。
■ 8/16ビットPPGの動作モード
8/16ビットPPGの動作モードには,2ch独立モードと,8ビットプリスケーラ+8
ビットPPGモードと,16ビットPPG 1chモードの計3種類の動作モードがあります。
○
2ch独立モード
2ch独立モードは,8ビットPPGとして2ch独立に動作させる動作モードです。
PPG00端子は,ch0のPPG出力が接続され,PPG10端子は,ch1のPPG出力が接続さ
れます。
○
8ビットプリスケーラ+8ビットPPGモード
8ビットプリスケーラ+8ビットPPGモードは,ch0を8ビットプリスケーラとし
て動作させ,ch1をch0のボロー出力でカウントすることにより,任意周期の8
ビットPPG波形を出力できるようにする動作モードです。 PPG00端子は,ch0のプ
リスケーラ出力が接続され,PPG10端子は,ch1のPPG出力が接続されます。
○
16ビットPPG1chモード
16ビットPPG 1chモードは,ch0とch1を連結させて,16ビットのPPGとして動
作させる動作モードです。PPG00端子とPPG10端子は,両方とも16ビットPPG出力
が接続されます。
MB90435シリーズについては,ch0のPPGからの出力信号は外部端子には接続して
いません。
208
14.4 8/16ビットPPGの動作
■ 8/16ビットPPGの出力動作
8/16ビットPPGは,ch0のPPGについては,PPGC0 (PWM動作モード制御)レジスタの
bit7(PEN0)を,ch1のPPGについては,PPGC1レジスタのbit15(PEN1)を"1"にセット
することによって起動され,カウントを開始します。動作を開始した後は,PPGC0 の
bit7(PEN0)またはPPGC1のbit15(PEN1)に"0"を書き込むことによってカウント動作
を停止し,停止した後,パルス出力はLレベルを保持します。MB90435シリーズにつ
いては,ch0のPPGからの出力信号は外部端子には接続していません。
8ビットプリスケーラ+8ビットPPGモードのときには,ch0を停止状態で,ch1を
動作状態に設定しないでください。
16ビットPPGモードのとき,PPGC0レジスタのbit7(PEN0)とPPGC1レジスタの
bit15(PEN1)が同時に開始,または停止していることを確認してください。次の図
は,PPG出力動作を示しています。PPGの動作中,パルス波は振動数と効率の割合(H
レベルとLレベルのパルス波である時間の割合)で出力しつづけ,PPGは停止が指定
されるまで動作します。
図 14.4-1 PPG 出力動作の出力波形
■ 8/16ビットPPGのリロード値とパルス幅の関係
リロードレジスタに書かれた値に+1した値に,カウントクロックの周期を掛け
た値が,出力されるパルスの幅となります。
8ビットPPG動作時のリロードレジスタ値が00Hのときおよび16ビットPPG動作時
のリロードレジスタ値が0000Hのときは,カウントクロック1周期分のパルス幅をも
つことになりますので注意してください。また,8ビットPPG動作時のリロードレジ
スタ値がFFHのとき,カウントクロック256周期分のパルス幅をもつことになり,16
ビットPPG動作時のリロードレジスタ値がFFFFHのときは,カウントクロック65536
周期分のパルス幅をもつことになりますので注意してください。パルス幅の計算例
を次に示します。
209
第14章 8/16ビットPPG
14.5
8/16ビット
8/16ビットPPG
ビットPPGのカウントクロックの選択
PPGのカウントクロックの選択
8/16ビットPPGの動作に使用するカウントクロックは,周辺クロックおよびタイム
ベースカウンタの入力を使用しており,6種類のカウントクロック入力が選択できま
す。
■ 8/16ビットPPGのカウントクロックの選択
PPGO1レジスタの bit4∼2(PCM2∼0)でch0のクロックを, bit7∼5(PCS2∼0)で
ch1のクロックを選択します。
クロックは,マシンクロックの1/16∼1倍の周辺クロックとタイムベースカウン
タからの入力クロックより選択できます。
しかし,8ビットプリスケーラ+8ビットPPGモードまたは16ビットPPGモードのと
きには,PCS2に"0"を設定しても意味はありません。
タイムベースカウンタの入力を使用した場合,トリガにより起動がかかる最初お
よびストップの後の最初のカウント周期がずれる可能性がありますので注意して
ください。また,本モジュール動作中にタイムベースカウンタのクリアを行うと周
期がずれることがあります。
8ビットプリスケーラ+8ビットPPGモードではch0が動作状態,ch1が停止状態で
あるときにch1の起動を行うと,最初のカウント周期がずれる可能性がありますの
で注意してください。
210
14.6 8/16ビットPPGのパルスの端子出力の制御
14.6
8/16ビット
8/16ビットPPG
ビットPPGのパルスの端子出力の制御
PPGのパルスの端子出力の制御
本モジュールの動作によって生成されたパルス出力は,外部端子PPG00/PPG10より
出力させることができます。
■ 8/16ビットPPGのパルスの端子出力の制御
本ビットが"0"のとき(初期値)は,パルス出力は外部端子より出力されずに,汎
用ポートとして機能します。本ビットに"1"を設定すると,パルス出力が外部端子
より出力されます。
16ビットPPGモードでは,PPG00,PPG10は同じ波形が出力されるので,どちらの外
部端子出力を許可しても同じ出力を得ることができます。
8ビットプリスケーラ+8ビットPPGモードでは,PPG0は8ビットプリスケーラのト
グル波形が出力され,PPG10は8ビットPPGの波形が出力されます。このモードのと
きの出力波形の例を図 14.6-1に示します。
MB90435シリーズについては,ch0のPPGからの出力信号は外部端子には接続して
いません。
<注意事項>
ch0のPRLLと ch0のPRLHは,同じ値を設定することを推奨します。
図 14.6-1 8+8PPG 出力動作の出力波形
211
第14章 8/16ビットPPG
14.7
8/16ビット
8/16ビットPPG
ビットPPGの割込み
PPGの割込み
8/16ビットPPGの割込みは,リロード値がカウントアウトし,ボローが発生したと
きにアクティブになります。
■ 8/16ビットPPGの割込み
8ビットPPG 2chモードおよび8ビットプリスケーラ+8ビットPPGモードのときに
は,それぞれのカウンタのボローにより,それぞれの割込みの要求が行われますが,
16ビットPPGモードでは,16ビットカウンタのボローにより,PUF0とPUF1が同時に
セットされます。このため,割込み要因を一本化するために,PIE0またはPIE1のど
ちらか一方のみを許可にすることを推奨します。また,割込みフラッグのクリアも
PUF0とPUF1を同時に行うことを推奨します。
212
14.8 8/16ビットPPGの各ハードウェアの初期値
14.8
8/16ビット
8/16ビットPPG
ビットPPGの各ハードウェアの初期値
PPGの各ハードウェアの初期値
8/16ビットPPGの各ハードウェアは,リセット時に以下のように初期化されます。
■ 8/16ビットPPGの各ハードウェアの初期値
○
レジスタ
PPGC0 → 0X000001B
PPGC1 → 00000001B
PPG10 → XXXXXX00B
○
パルス出力
PPG00 → "L"
PPG10 → "L"
PE00 → PPG00出力禁止
PE10 → PPG10出力禁止
○
割込み要求
IRQ0 → "L"
IRQ1 → "L"
なお,上記以外のハードウェアは初期化されません。
<注意事項>
・ 8/16ビットPPGのリロードレジスタ(PRLL, PRLH) へのライトタイミング
16ビットPPGモード以外のモードの場合には,リロードレジスタ(PRLL, PRLH)への書込みはワー
ド転送命令を使用することを推奨します。なお,バイト転送命令2回にて書き込んだ場合,タ
イミングによっては,予想しないパルス幅の出力が発生する可能性がありますので注意してく
ださい。
図 14.8-1 8/16ビットPPGのリロードレジスタ(PRLL, PRLH)へのライトタイミングチャート
図 14.8-1のタイムチャートにおいて,①のタイミングの前でPRLLをAからCに
書き換えて,①の後PRLHの値をBからDに書き換えた場合,①のタイミングでの
PRL の値はPRLL=C,PRLH=Bのため1回だけL側のカウント数C,H側のカウント数B
のパルスが発生されます。
同様に,16ビットPPG モードで使用する場合には,ch0とch1のPRL はロング
ワード転送で書き込むか,またはch0→ch1の順にワード転送で書き込んでくだ
さい。このモードのときには,ch0のPRL への書込みは,一時的に書き込まれ,
その後ch1のPRL に書込みを行った時点で,実際にch0のPRL への書込みが行わ
れます。
213
第14章 8/16ビットPPG
なお,図 14.8-2に示すように,16ビットPPG モード以外では,ch0とch1のPRL
の書込みは独立して行うことができます。
図 14.8-2 PRL 書込み部分のブロックダイヤグラム
214
第15章
15章 遅延割込み
この章では,遅延割込みの機能と動作について説明します。
15.1 遅延割込みモジュールの概要
15.2 遅延割込みのレジスタ
15.3 遅延割込みの動作
215
第15章 遅延割込み
15.1
遅延割込みモジュールの概要
遅延割込みモジュールの概要
遅延割込み発生モジュールは,タスク切換え用の割込みを発生するためのモジュー
ルです。本モジュールを使用することで,ソフトウェアでF2MC-16LX CPUに対して割
込み要求の発生/取消しを行うことができます。
■ 遅延割込みのブロックダイヤグラム
図 15.1-1に,遅延割込み発生モジュールのブロックダイヤグラムを示します。
図 15.1-1 遅延割込みのブロックダイヤグラム
■ 遅延割込み要求ロックの使用上の注意
このロックはDIRRの該当するビットに"1"を書き込むことでセットされ,同じ
ビットに"0"を書き込むことでクリアされます。したがって,割込み処理ルーチ
ン内で要因をクリアするようにソフトウェアを作成しておかないと割込み処理
から復帰した途端に再割込み処理を起動することになりますので注意してくだ
さい。
216
15.2 遅延割込みのレジスタ
15.2
遅延割込みのレジスタ
DIRRは遅延割込み要求の発生/解除を制御するレジスタで,このレジスタに対して1
を書込むときには遅延割込みの要求を発生させ,0を書込むときには遅延割込みの要
求を解除します。リセット時には要因解除状態になります。
■ 遅延割込み要因発生/解除レジスタ(DIRR)
遅延割込み要因発生/解除レジスタ(DIRR)では,予約ビット領域は0,1どちらの
書込みも結構ですが,将来の拡張を考慮してこのレジスタをアクセスする際には
セットビット,クリアビット命令を使用することをお勧めします。
図 15.2-1 遅延割込み要因発生/解除レジスタ (DIRR)
217
第15章 遅延割込み
15.3
遅延割込みの動作
ソフトウェアにてCPU がDIRRの該当ビットに"1"を書き込むと,遅延割込み発生モ
ジュールの中にある要求ラッチがセットされ,割込みコントローラに割込み要求を発
生します。
■ 遅延割込み発生
ほかの割込み要求が本割込みより優先順位が低い,あるいは,ほかの割込み要求
がない場合に,割込みコントローラはF2MC-16LX CPUに対して割込み要求を発生し
ます。図 15.3-1に示すように,F2MC-16LX CPUは自分の内部にあるCCRレジスタ中
のILMビットと割込み要求を比較し,要求レベルがILMビットより高かったときに現
在実行中の命令が終了し次第,ハードウェア割込み処理マイクロプログラムを起動
します。この結果,本割込みに対する割込み処理ルーチンが実行されます。
図 15.3-1 遅延割込み発生
割込み処理ルーチン内でDIRRの該当ビットの"0"を書き込むことで本割込み要因
をクリアし,合わせてタスクの切換えを行います。
218
第16章
16章 DTP/外部割込み
DTP/外部割込み
この章では,DTP/外部割込みの機能と動作について説明します。
16.1 DTP/外部割込みの概要
16.2 DTP/外部割込みのレジスタ
16.3 DTP/外部割込みの動作
16.4 DTP要求と外部割込み要求の切換え
16.5 DTP/外部割込みの使用上の注意
219
第16章 DTP/外部割込み
16.1
DTP/外部割込みの概要
DTP/外部割込みの概要
DTP (Data Transfer Peripheral)はデバイス外部に存在するペリフェラルと
F MC-16LX CPUとの間にあって,外部ペリフェラルが発生するDMA 要求あるいは割込
み要求を受け取り,これをF2MC-16LX CPUに伝えてインテリジェントI/Oサービスある
いは割込み処理を起動させるための周辺です。
2
■ DTP/外部割込みの概要
インテリジェントI/O機能に関しては"H"または"L"要求レベルを使用することが
できます。外部割込み要求に対しては4種類の要求レベルを使用することができま
す。("H","L"の立上がりエッジおよび立下がりエッジ。)
■ DTP/外部割込みのブロックダイヤグラム
図 16.1-1 DTP/外部割込みのブロックダイヤグラム
■ DTP/外部割込みのレジスタ
220
16.2 DTP/外部割込みのレジスタ
16.2
DTP/外部割込みのレジスタ
DTP/外部割込みのレジスタ
DTP/外部割込みのレジスタには,次の3つがあります。
・DTP/割込み許可レジスタ (ENIR:Interrupt request enable register)
・DTP/割込み要因レジスタ (EIRR:External interrupt request register)
・要求レベル設定レジスタ (ELVR:External level register)
■ DTP/割込み許可レジスタ(ENIR:Interrupt request enable register)
図 16.2-1 割込み/DTP許可レジスタ (ENIR)
割込み/DTP許可レジスタ (ENIR) はデバイス端子を外部割込み/DTP要求入力と
して使用し,割込みコントローラに対して要求を発生させる機能を動作させること
を決定するレジスタです。このレジスタの"1"を書かれたビットの対応する端子は
外部割込み/DTP要求入力として使用されます。"0"が書かれたビットの対応する端
子は外部割込み/DTP要求入力要因は保持しますが,割込みコントローラに対しては
要求を発生しません。
■ DTP/割込み要因レジスタ(EIRR:External interrupt request register)
図 16.2-2 割込み/DTPフラグ (EIRR)
EIRRは,このレジスタの"1"となっているビットに対応する端子において外部割
込み/DTP要求が存在することを表します。このレジスタのビットに"0"を書込むと
対応する要求フラグがクリアされます。"1" を書込んでも効果はありません。リー
ドモディファイライト系命令によりこのレジスタからは常に"1"が読み出されます。
<注意事項>
複数の外部割込み要求出力が許可(ENIR:EN7∼ENO=1)されている場合,CPUが割込みを受け付け
たビット(ER7∼ER0の”1”にセットされているビット)だけを”0”にクリアするようにしてください。
それ以外のビットを無条件にクリアすることは避けてください。
221
第16章 DTP/外部割込み
■ 要求レベル設定レジスタ(ELVR:External level register)
図 16.2-3 要求レベル設定レジスタ(ELVR)
ELVRは外部端子における要求イベントを定義するものです。表 16.2-1に示すよ
うに,各端子には2ビットが割当てられます。入力レベルにより要求が検出された
とすれば,フラグがソフトウェアによりリセットされた後でも入力が指定されたレ
ベルに在る限り割込みフラグはセットされます。
表 16.2-1 LBxとLAx端子の割込み要求検出要因
LBx
0
0
1
1
222
LAx
0
1
0
1
割込み要求検出要因
Lレベルが端子に入力
Hレベルが端子に入力
立上がりエッジが端子に入力
立下がりエッジが端子に入力
16.3 DTP/外部割込みの動作
16.3
DTP/外部割込みの動作
DTP/外部割込みの動作
割込みフラグがセットされたときにこのブロックは割込みコントローラへ割込み
信号を送ります。割込みコントローラ内で同時発生した割込みの優先順位を識別した
結果,本リソースからの割込みが最も優先順位が高かったときに,割込みコントロー
ラはF2MC-16LX CPUに対して割込み要求を発生します。F2MC-16LX CPUは自分の内部に
あるCCRレジスタ中のILMビットと割込み要求を比較し,要求レベルがILMビットより
高かったときに現在実行中の命令が終了し次第,ハードウェア割込み処理マイクロプ
ログラムを起動します。
■ 外部割込みの動作
図 16.3-1に示すように,ハードウェア割込み処理マイクロプログラムにおいて,
CPUは割込みコントローラからISEビットの情報を読出し,これにより当該要求が割
込み処理であることを識別し,割込み処理マイクロプログラムへ分岐します。割込
み処理マイクロプログラムでは割込みベクタ領域の読出しと割込みコントローラ
への割込みアクノリッジを発生し,ベクタから生成したマクロ命令のジャンプ先ア
ドレスをプログラムカウンタへ転送した上で,ユーザの割込み処理プログラムの実
行を行います。
図 16.3-1 外部割込みの動作
■ DTPの動作
初期化としてユーザプログラム内ではインテリジェントI/Oサービスを起動する
に当たって,インテリジェントI/Oサービスディスクリプタ内のI/Oアドレスポイン
タに000000Hから0000FFHに割りつけられているレジスタのアドレスを設定し,バッ
ファアドレスポインタにメモリバッファの先頭アドレスを設定します。
DTPの動作シーケンスは外部割込みの場合とほぼ同じで,CPUがハードウェア割込
み処理マイクロプログラムを起動するまでは全く同じです。DTPの場合はCPUがハー
ドウェア割込み処理マイクロプログラム内で読み出すISEビットの内容がDTPを示
しているので,インテリジェントI/Oサービス処理マイクロプログラムへ制御を移
します。インテリジェントI/Oサービスが起動されると,アドレッシングされてい
る外部ペリフェラルにリードまたはライト信号が送られ本チップとの転送が行わ
れます。外部ペリフェラルはその転送が行われてから3マシンサイクル以内に本
チップに対する割込み要求を取り下げてください。転送が終了するとディスクリプ
タの更新などが行われ,その後転送要因をクリアする信号を割込みコントローラに
発生させます。転送要因をクリアする信号を受けとった本リソースは要因を保持し
ているフリップフロップをクリアして端子からの次の要求に備えます。インテリ
ジェントI/O機能処理の詳細については,
『MB90500 プログラミングマニュアル』
を参照してください。
223
第16章 DTP/外部割込み
図 16.3-2 DTP動作終了時の外部割込み取下げタイミング
図 16.3-3 DTPと外部ペリフェラルとのインタフェース簡略例
224
16.4 DTP要求と外部割込み要求の切換え
16.4
DTP要求と外部割込み要求の切換え
DTP要求と外部割込み要求の切換え
外部割込み要求とDTP要求の切換えは,割込みコントローラの中にある,本リソー
スに対応するICRレジスタ中のISEビットの設定によって行います。各端子に対応して
個々にICRが割り当てられていますので,対応するICRのISEビットに"1"が書かれた端
子がDTP要求として,また,"0"が書かれた場合には外部割込み要求として,それぞれ
動作することになります。
■ DTP要求と外部割込み要求の切換え
図 16.4-1 DTP要求と外部割込み要求の切換え
225
第16章 DTP/外部割込み
16.5
DTP/外部割込みの使用上の注意
DTP/外部割込みの使用上の注意
DTP/外部割込みを使用する際には,次の点について特に注意が必要です。
・DTPを用いたときの外部に接続するペリフェラルの条件
・スタンバイからの復帰
・DTP/外部割込みの動作手順
・外部割込み要求レベル
■ DTP/外部割込みの使用上の注意
○
DTPを用いたときの外部に接続するペリフェラルの条件
DTPがサポートできる外部ペリフェラルは,転送が行われたことにより自動的
に要求をクリアするものでなければなりません。また,転送動作が開始してか
ら3マシンサイクル以内(暫定値)で転送要求を取り下げるようになっていない
と,本リソースは次の転送要求が発生したものとして扱ってしまいます。
○
DTP/外部割込みの動作手順
DTP/外部割込み内に存在するレジスタの設定を行う際,次の手順で設定して
ください。
1)
許可レジスタの対象となるビットをdisable状態にする。
2)
要求レベル設定レジスタの対象となるビットを設定する。
3)
要因レジスタの対象となるビットをクリアする。
4)
許可レジスタの対象となるビットをenable状態にする。
(ただし,3.と4.はワード指定による同時書込み可)。
本リソース内のレジスタを設定するときには必ず許可レジスタをdisable状
態に設定しておかなくてはなりません。また,許可レジスタをenable状態にす
る前に必ず要因レジスタをクリアしておく必要があります。これは,レジスタ
設定時や割込み許可状態時に誤って割込み要因が起こってしまうことを避ける
ためです。
○
外部割込み要求レベル
要求レベルがエッジ要求のとき,エッジがあったことを検出するためには,
パルス幅は最小3マシンサイクル必要とします。
図 16.5-1に示すように,要求入力レベルがレベル設定のとき,外部より要求
入力が入ってその後取り下げられても内部に要因保持回路が存在するので,割
込みコントローラへの要求はactiveのままです。図 16.5-2に示すように,割込
みコントローラへの要求を取り下げるには要因保持回路をクリアする必要があ
ります。
226
16.5 DTP/外部割込みの使用上の注意
図 16.5-1 レベル設定時の要因保持回路のクリア
図 16.5-2 割込み許可時の割込み要因と割込みコントローラへの割込み要求
227
第16章 DTP/外部割込み
228
第17章
17章 A/Dコンバータ
A/Dコンバータ
この章では,A/Dコンバータの機能と動作について説明します。
17.1 A/Dコンバータの特長
17.2 A/Dコンバータのブロックダイヤグラム
17.3 A/Dコンバータのレジスタ一覧
17.4 A/Dコンバータの動作
17.5 EI2OSを使った変換動作
17.6 変換データ保護機能
229
第17章 A/Dコンバータ
17.1
A/Dコンバータの特長
A/Dコンバータの特長
A/Dコンバータは,アナログ入力電圧をディジタル値に変換するものです。A/Dコン
バータの特長は次のとおりです。
■ A/Dコンバータの特長
○
変換時間
1チャネル当たり最小26.3µs (16MHzのマシンクロック)
○
サンプル&ホールド回路付RC型逐次比較変換方式を採用
○
10ビットまたは8ビットの分解能
○
アナログ入力は8チャネルからプログラムで選択
シングル変換モード:1チャネルを選択変換
スキャン変換モード:連続した複数のチャネルを変換。最大8chプログラ
ム可能
連続変換モード:指定チャネルを繰り返し変換
停止変換モード:指定チャネルを変換したら一時停止して次の起動が掛
かるまで待機(変換開始の同期が可能)。
○
割込み要求
A/D変換終了時には,CPUに対してA/D変換終了の割込み要求を発生させること
ができます。この割込み発生でEI2OSを起動することができA/D変換結果データを
メモリに自動的に転送できますので連続処理に適しています。
○
起動要因を選択可能
起動要因は,ソフト,外部トリガ(立下がりエッジ),またはタイマ(立上がり
エッジ)があります。
■ アナログ入力許可レジスタ
アナログ入力に使用される端子に対応するADERビットに常に"1"を書き込んでく
ださい。
図 17.1-1 アナログ入力許可レジスタ
ポート6端子は次の用に制御されます。
0:ポート入力/出力モード
1:アナログ入力モード
リセット時には"1"がセットされます。
230
17.1 A/Dコンバータの特長
■ 入力インピーダンス
A/Dコンバータのサンプリング回路は次の等価回路で表されます。
図 17.1-2 入力インピーダンス
サンプリング時間が4μs(16MHzのマシンクロックでST=0およびST0=0)にセット
されたとき,アナログ入力への駆動インピーダンスは15.5KΩ以下でなければなり
ません。そうしなければ変換の精度は低下します。この場合,サンプリング時間を
更に長く設定する(ST1=1およびST0=1)か,外部コンデンサを付加して駆動インピー
ダンスを補償してください。
231
第17章 A/Dコンバータ
17.2
A/Dコンバータのブロックダイヤグラム
A/Dコンバータのブロックダイヤグラム
図17.2-1に,A/Dコンバータのブロックダイヤグラムを示します
■ A/Dコンバータのブロックダイヤグラム
図17.2-1 A/Dコンバータのブロックダイヤグラム
232
17.3 A/Dコンバータのレジスタ一覧
17.3
A/Dコンバータのレジスタ一覧
A/Dコンバータのレジスタ一覧
A/Dコンバータのレジスタには次の二つがあります。
・A/Dコントロール・ステータスレジスタ
・データレジスタ
■ A/Dコンバータのレジスタ一覧
A/Dコンバータには次のレジスタがあります。
図17.3-1 A/Dコンバータのレジスタ配置
図 17.3-2 A/Dコンバータのレジスタ
233
第17章 A/Dコンバータ
17.3.1
A/Dコントロールステータスレジスタ
A/Dコントロールステータスレジスタ(
コントロールステータスレジスタ(ADCS0)
ADCS0)
A/Dコントロールステータスレジスタ(ADCS0)は,A/D コンバータの制御およびス
テータス表示を行います。ADCS0はA/D 変換動作中に書換えないようにしてください。
■ A/Dコントロールステータスレジスタ(ADCS0)
図 17.3-3 A/Dコントロールステータスレジスタ(ADCS0)
【bit 7,6】MD1, MD0 (A/D converter mode set)
MD1, MD0ビットは,動作モードを設定します。
MD1
0
0
1
1
○
MD0
0
1
0
1
動作モード
単発モード,動作中の再起動は全て可能
単発モード,動作中の再起動不可能
連続モード,動作中の再起動不可能
停止モード,動作中の再起動不可能
単発モード
ANS2∼ANS0の設定チャネルからANE2∼ANE0の設定チャネルまでA/D変換を連
続して行いすべてのチャネルの変換が終了したら停止する。
○
連続モード
ANS2∼ANS0の設定チャネルからANE2∼ANE0の設定チャネルまでA/D変換を繰
り返し行います。
○
停止モード
ANS2∼ANS0の設定チャネルからANE2∼ANE0の設定チャネルまで1chごとにA/D
変換を行い一時停止する。変換再開は起動要因発生によって行われます。
リセット時には本ビット群は"00"に初期化されます。
<注意事項>
・ 連続モード,停止モードでA/D変換を起動すると,BUSYビットで停止するまで変換動作を続け
ます。
・ 停止はBUSYビットに"0"を書き込むことにより行われます。
・ 単発,連続,停止の各モードの再起動の不可能はタイマ,外部トリガ,ソフトすべての起動に
適用されます。
234
17.3 A/Dコンバータのレジスタ一覧
【bit 5, 4, 3】ANS2, ANS1, ANS0 (Analog start channel set)
本ビット群よりA/D変換の開始チャネルを設定します。
A/Dコンバータを起動すると,このビットで選択されたチャネルからA/D変換
を開始します。
ANS2
0
0
0
0
1
1
1
1
ANS1
0
0
1
1
0
0
1
1
ANS0
0
1
0
1
0
1
0
1
開始チャネル
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
<注意事項>
・ リード
A/D変換の間,現在の変換チャネルが本ビット群から読み込まれます。もしシステムが停止モー
ドで停止すれば最後の変換チャネルが読み込まれます。
・ リセット時に本ビット群は"000"に初期化されます。
【bit 2, 1, 0】ANE2, ANE1, ANE0 (Analog end channel set)
本ビット群よりA/D変換の終了チャネルを設定します。
ANE2
0
0
0
0
1
1
1
1
ANE1
0
0
1
1
0
0
1
1
ANE0
0
1
0
1
0
1
0
1
終了チャネル
AN0
AN1
AN2
AN3
AN4
AN5
AN6
AN7
<注意事項>
・ 同一のチャネルがANE2∼ANE0およびANS2∼ANS0に書込まれると,変換は1つのチャネルに対し
てのみ行われます (シングル変換)。
・ 連続モード,停止モードを設定している場合は本ビット群で設定されたチャネルの変換が終わ
るとANS2∼ANS0で設定された開始チャネルに戻ります。
・ 設定チャネルがANS > ANEの場合は,ANSより変換が始まり7chまで変換したら0chに戻りANEま
で変換します。
・ リセット時に本ビット群は"000" に初期化されます。
235
第17章 A/Dコンバータ
17.3.2
A/Dコントロールステータスレジスタ
A/Dコントロールステータスレジスタ(
コントロールステータスレジスタ(ADCS1)
ADCS1)
A/Dコントロールステータスレジスタ(ADCS1)は,A/Dコンバータの制御およびス
テータス表示を行います。
■ A/Dコントロールステータスレジスタ(ADCS1)
図 17.3-4 A/Dコントロールステータスレジスタ(ADCS1)
【bit 15】BUSY (busy flag and stop)
リード時
-
A/Dコンバータ動作表示用のビットです。
-
A/D変換起動でセットされ終了でクリアされます。
ライト時
-
A/D動作中に本ビットに"0"を書き込むと強制的に動作を停止します。
-
連続,停止モード時の強制停止に利用します。
動作表示用のビットに"1"を書き込むことはできません。RMW系命令では"1"が
読まれます。単発モードではA/D変換終了でクリアされます。
連発,停止モードでは"0"書込みで停止するまでクリアされません。
リセット時に本ビットは"0"に初期化されます。
強制停止とソフト起動を同時に行わないでください(BUSY=0, STRT=1)。
【bit 14】INT (interrupt)
変換データがADCRに書き込まれるとセットされます。
bit5 (INTE)が"1"のときに本ビットがセットされると割込み要求が発生しま
す,またEI2OS起動を許可している場合EI2OSが起動されます。"1"書込みは意味
を持ちません。
クリアは"0"書込みとEI2OS割込みクリア信号で行われます。
注意:
本ビットの"0"書込みクリアはA/D停止中に行ってください。
リセット時に本ビットは"0"に初期化されます。
【bit 13】INTE (Interrupt enable)
本ビットは変換終了による割込みの許可・不許可を指定します。
0:割込みの禁止
1:割込みの許可
2
EI OSを使用するときは本ビットをセットしてください。EI2OSは割込み要求発
生で起動するようになっています
リセット時に本ビットは"0"に初期化されます。
236
17.3 A/Dコンバータのレジスタ一覧
【bit 12】PAUS (A/D converter pause)
A/D変換動作が一時的に停止した場合にセットされます。
A/D変換結果を格納するレジスタが一つのため連続で変換した場合,変換結果
をEI2OSで転送しなければ前データが壊れてしまいます。
これを保護するためデータレジスタの内容をEI2OSで転送しなければ次の変換
データが格納されないようになっています。この間A/D変換動作は停止します。
EI2OSで転送を終了するとA/D は変換を再開します。
このビットはEI2OSを使用したときのみ有効です。
<注意事項>
・変換データの保護機能に関しては「17.4 A/Dコンバータの動作」を参照してください。
・リセット時に本ビットは"0"に初期化されます。
【bit 11, 10】STS1, STS0 (Start source select)
リセット時に本ビット群は"00"に初期化されます。
本ビットの設定によりA/D起動要因を選択します。
STS1
0
0
1
1
STS0
0
1
0
1
機能
ソフト起動。
外部端子トリガでの起動とソフト起動。
タイマでの起動とソフト起動。
外部端子トリガ,タイマでの起動とソフト起動
二つ以上の起動要因が許されているモードでは最初に生じた原因によりA/D
変換が起動されます。
起動源の設定は書き換えられると直ちに変わりますので,A/D変換中に書き換
えるときには注意してください。
<注意事項>
・ 外部端子トリガは立下がりエッジを検出します。外部トリガ入力レベルが"L"のときに本ビッ
トを書き換えて外部端子トリガ起動に設定するとA/Dが起動する場合があります。
・ タイマ選択時は,16ビットリロードタイマ1が選択されます。
【bit 9】STRT (Start)
本ビットに"1"を書き込むことによりA/Dを起動します。
再起動をかけるときは,再び"1"を書き込んでください。
リセット時に本ビットは"0"に初期化されます。
停止モード時は動作機能上再起動はかかりません。"1"を書込む前にBUSYビッ
トをチェックしてください。
強制停止とソフト起動を同時に行わないでください(BUSY=0, STRT=1)。
【bit 8】予約ビット
本ビットには常に"0"を書き込んでください。
237
第17章 A/Dコンバータ
17.3.3
データレジスタ(
データレジスタ(ADCR0
ADCR0,ADCR1)
,ADCR1)
データレジスタ(ADCR0,ADCR1)は,変換の結果として生成されたディジタル値を記
憶するために使用されるものです。ADCR0は下位8ビットを記憶し,ADCR1は変換結果
の最上位の2ビットを記憶します。これらのレジスタ値は変換が完了するたびに書き
換えられます。通常は最後の変換値が本ビット群に記憶されます。
■ データレジスタ(ADCR0,ADCR1)
図 17.3-5 データレジスタ(ADCR0,ADCR1)
ADCR1のビット10∼15からは常に"0"が読み込まれます。
変換データの保護機能を利用することができます。「17.4 A/Dコンバータの
動作」を参照してください。
A/D変換の間はこれらのレジスタにデータを絶対に書込まないでください。
【bit 15】S10
本ビットは変換の分解能を指定します。"0"にセットされると10ビットのA/D
変換が行われます。そのほかの場合には8ビットのA/D変換が行われてその結果
はD7∼D0に記憶されます。
本ビットを読み込むと常に"0"が戻されます。
【bit 14, 13】ST1, ST0 (Sampling time)
ST1
0
0
1
1
ST0
0
1
0
1
機能
64マシンサイクル (16MHzで4µs)
予約
予約
4096マシンサイクル (16MHzで256µs)
本ビット群は入力時における電圧サンプリング時間の持続時間を決定するも
のです。
本ビット群を読み込むと常に "00" が戻されます。
238
17.3 A/Dコンバータのレジスタ一覧
【bit12,11】CT1, CT0 (Compare time)
CT1
0
0
1
1
CT0
0
1
0
1
機能
176マシンサイクル (8MHzで22µs)
352マシンサイクル (16MHzで22µs)
予約
予約
本ビット群は比較操作時間の持続期間を決定するものです。
本ビットを"00"に設定するときはマシンクロックが8MHzのときにしてくださ
い。8MHz以外の場合には変換精度が保証されません。
本ビット群を読み込むと常に"00"が戻されます。
239
第17章 A/Dコンバータ
17.4
A/Dコンバータの動作
A/Dコンバータの動作
A/Dコンバータは逐次比較方式で作動し,分解能は10ビットまたは8ビットを選択す
ることができます。
このA/Dコンバータは変換結果記憶用のレジスタが一つ (16ビット) であるため,
変換データレジスタ (ADCR0およびADCR1) は変換が完了するたびに書き換えられま
す。このため,A/Dコンバータ単独では連続変換処理には適しませんので拡張インテ
リジェントI/Oサービス(EI2OS)を使って変換データをメモリに転送しながら変換す
ることを推奨いたします。動作モードを次に説明します。
■ 単発モード
単発モードは,ANSビットとANEビットで設定されたアナログ入力を順に変換して
いきANEビットで設定された終了チャネルまで変換が終わるとA/Dは動作を停止し
ます。開始チャネルと終了チャネルが同じとき(ANS=ANE)は一方のチャネルのみの
変換動作になります。
【例】
ANS=000,ANE=011
開始 → AN0 →
AN1
ANS=010,ANE=010
開始 → AN2 →
終了
→
AN2
→
AN3
→
終了
■ 連続モード
連続モードは,ANSビットとANEビットで設定されたアナログ入力を順に変換して
いきANEビットで設定された終了チャネルまで変換が終わるとANSのアナログ入力
に戻り変換動作を続けます。開始チャネルと終了チャネルが同じとき(ANS=ANE)は
一方のチャネルのみの変換を続けます。
【例】
ANS=000,ANE=011
開始→ AN0 → AN1 →
AN2 →
ANS=010,ANE=010
開始→ AN2 → AN2 →
AN2 −−→繰り返し
AN3 →
AN0 −−→繰り返し
連続モードで変換させるとBUSYビットに"0"を書き込むまで変換を繰り返し続け
ます(BUSYビットに"0"を書き込む→強制動作停止)。強制動作停止を行うと変換中
のものは途中で止まってしまうため,注意してください(強制動作停止した場合は
変換レジスタは変換完了した前データが格納されています)。
240
17.4 A/Dコンバータの動作
■ 停止モード
停止モードは,ANSビットとANEビットで設定されたアナログ入力を順に変換して
いきますが1ch変換する度に変換動作を一時停止します。一時停止を解除するには
もう一度起動をかけることにより行われます。
ANEビットで設定された終了チャネルまで変換が終わるとANSのアナログ入力に
戻り変換動作を続けます。開始チャネルと終了チャネルが同じ(ANS=ANE)であれば
変換は一方のチャネルに対してのみ実行されます。
【例】
ANS=000,ANE=011
開始→ AN0 →停止→起動→AN1 →停止→起動→AN2 →停止→起動→
→AN3 →停止→起動→AN0 −−→繰り返し
ANS=010,ANE=010
開始→ AN2 →停止→起動→AN2 →停止→起動→AN2 −−→繰り返し
このときの起動要因はSTS1,STS0で設定されたものだけです。
このモードを使用することにより変換開始の同期をかけることが可能です。
241
第17章 A/Dコンバータ
17.5
EI2OSを使った変換動作
OSを使った変換動作
図17.5-1に,A/D変換起動から変換データ転送までのフロー例(連続モード)を示し
ます。
■ EI2OSを使った変換動作
図17.5-1 A/D変換起動から変換データ転送までのフロー例(連続モード)
242
17.5 EI2OSを使った変換動作
単発モード時のE
単発モード時のEI2OSの起動例
OSの起動例
17.5.1
単発モード時のEI2OSは次の手順で起動します。
・アナログ入力AN1∼AN3の変換をして終了する。
・変換データは200H∼205H番地に順に転送する。
・ソフトウェアで変換を開始する。
・最高の割込みレベルを使用する。
■ 単発モード時のEI2OSの起動例
表 17.5-1 単発モード時のEI2OSの起動例
設定項目
EI OSの設定
プログラム例
MOV ICR3, #08H
2
A/Dコンバータ設定
割込みシーケンス
MOV
MOV
MOV
MOV
BAPL,
BAPM,
BAPH,
ISCS,
#00H
#02H
#00H
#18H
MOV
MOV
MOV
MOV
RET
I/OA, #36H
DCT, #03H
ADCS0 #0BH
ADCS1 #A2H
動作説明
最強割込みレベル,割込み時EI2OS起動,ディスクリプタアドレスの
設定。
変換データの転送先番地。
ワードデータ転送,転送後転送先番地をインクリメントする。I/O か
らメモリへ転送。転送はリソースからの要求に応じて終了しない。
EI2OS転送を3回行う。変換回数と同じにする。
単発モード,開始チャネルAN1,終了チャネルAN3
ソフト起動,A/D変換開始
割込みからの復帰
ICR3:割込み制御レジスタ
BAPL:バッファアドレスポインタ 下位
BAPM:バッファアドレスポインタ 中位
BAPH:バッファアドレスポインタ 上位
ISCS:EI2OSステータスレジスタ
I/OA:I/Oアドレスカウンタ
DCT :データカウンタ
図 17.5-2 単発モード時のEI2OSの起動例
243
第17章 A/Dコンバータ
17.5.2
連続モード時のE
連続モード時のEI2OSの起動例
OSの起動例
連続モード時のEI2OSの起動例は次のとおりです。
・アナログ入力AN3∼AN5の変換をして各チャネルの変換データを二つ取得する。
・変換データは600H∼60BH番地に順に転送する。
・起動は外部エッジ入力で行う。
・割込みレベル最強
■ 連続モード時のEI2OSの起動例
表 17.5-2 連続モード時のEI2OSの起動例
設定項目
EI OSの設定
2
A/Dコンバータ設定
割込み
シーケンス
プログラム例
MOV ICR3 #08H
MOV
MOV
MOV
MOV
BAPL,
BAPM,
BAPH,
ISCS,
#00H
#06H
#00H
#18H
MOV
MOV
MOV
MOV
MOV
RET
I/OA, #36H
DCT, #06H
ADCS0 #9DH
ADCS1 #A4H
ADCS1 #00H
動作説明
最強割込みレベル,割込み時EI2OS 起動,ディスクリプタアドレスの設
定。
変換データの転送先番地
ワードデータ転送,転送後転送先番地をインクリメントする。I/O か
らメモリへ転送。リソースからの要求で終了しない。
転送元アドレス
EI2OS転送を6回行う。3ch×2分のデータ転送を行う。
連続モード,開始チャネルAN3,終了チャネルAN5
外部エッジ起動,A/D変換開始
割込みからの復帰
ICR3:割込み制御レジスタ
BAPL:バッファアドレスポインタ 下位
BAPM:バッファアドレスポインタ 中位
BAPH:バッファアドレスポインタ 上位
ISCS:EI2OSステータスレジスタ
I/OA:I/Oアドレスカウンタ
DCT :データカウンタ
図 17.5-3 連続モード時のEI2OSの起動例
244
17.5 EI2OSを使った変換動作
停止モード時のE
停止モード時のEI2OSの起動例
OSの起動例
17.5.3
停止モード時のEI2OSの起動例は,次のとおりです。
・アナログ入力AN3を一定期間おいて12回変換する。
・変換データは600H∼617H番地に順に転送する。
・起動は外部エッジ入力で行う。
・割込みレベル最強
■ 停止モード時のEI2OSの起動例
表 17.5-3 停止モード時のEI2OSの起動例
設定項目
EI OSの設定
プログラム例
MOV ICR3 #08H
2
A/Dコンバータ設定
EI2OS終了割込み
シーケンス
MOV
MOV
MOV
MOV
BAPL,
BAPM,
BAPH,
ISCS,
#00H
#06H
#00H
#18H
MOV
MOV
MOV
MOV
MOV
RET
I/OA, #36H
DCT, #0CH
ADCS0 #DBH
ADCS1 #A4H
ADCS1 #00H
動作説明
最強割込みレベル,割込み時EI2OS 起動,ディスクリプタアドレスの設
定。
変換データの転送先番地。
ワードデータ転送,転送後転送先番地をインクリメントする。I/O か
らメモリへ転送。リソースからの要求で終了しない。
転送元アドレス
EI2OS転送を12回行う。
停止モード,開始チャネルAN3,終了チャネルAN3(1ch変換)
外部エッジ起動,A/D変換開始
割込みからの復帰
ICR3:割込み制御レジスタ
BAPL:バッファアドレスポインタ 下位
BAPM:バッファアドレスポインタ 中位
BAPH:バッファアドレスポインタ 上位
ISCS:EI2OSステータスレジスタ
I/OA:I/Oアドレスカウンタ
DCT :データカウンタ
図 17.5-4 停止モード時のEI2OSの起動例
245
第17章 A/Dコンバータ
17.6
変換データ保護機能
A/Dコンバータは,変換データ保護機能を持ちEI2OSを使って連続変換と複数のデー
タを確保できることを特長としています。
変換データレジスタは一つでその値は変換後に書き換えられています。そのため,
連続でA/D変換をすると1回の変換終了と共に変換データが格納されて前データが失
われます。これを保護するために,本A/Dコンバータは変換が終了しても前データが
EI2OSを使ってメモリへ転送されていないと変換データはレジスタに格納されずA/D
は一時停止する機能を持っています。
■ 変換データ保護機能
一時停止の解除はEI2OSでメモリへ転送された後,行われます。
前データがメモリへ転送されていれば一時停止することなくA/Dは連続して変換
します。
<注意事項>
この機能はADCS1のINT,INTEビットに関係しています。
データ保護機能は割込み許可(INTE=1)状態でしか動作しないようになっています。
割込み禁止(INTE=0)の場合は,本機能は動作せず,連続でA/D変換を行った場合は,次々に変換
データはレジスタに格納されて旧データは失われます。
また,割込み許可(INTE=1)状態でEI2OSを使わない場合は,INTビットはクリアされないため,
データ保護機能が働き,A/Dは変換を一時停止状態にします。この場合は割込みシーケンスでINT
ビットをクリアすると停止状態が解除されます。
EI2OS動作中で,A/Dコンバータが一時停止をしているときに割込みを禁止にすると,A/Dコン
バータが再動作し,転送する前に変換データレジスタの内容が変わることがあります。
また,一時停止中に再起動をかけると待機データが壊れます。
246
17.6 変換データ保護機能
■ データ保護機能のフロー例(EI2OSの場合)
図 17.6-1 データ保護機能のフロー例(EI2OSの場合)
■ 変換データ保護機能の使用上の注意
A/Dコンバータを外部トリガまたは内部タイマを使って起動する場合,ADCS2レジ
スタのA/D起動要因ビットSTS1,STS0で設定しますが,このときに外部トリガおよ
び内部タイマの入力値はインアクティブ側の状態で設定してください。アクティブ
側にしておくと動作しはじめる場合があります。
STS1およびSTS0をセットする場合には必ず,ADTGに対して"1"(入力) を指定し内
部タイマ(タイマ2)に対しては"0"(出力) を指定してください。
247
第17章 A/Dコンバータ
248
17.6 変換データ保護機能
第18章
18章 UART0
この章では,UART0の機能と動作について示します。
18.1
UART0の特長
18.2
UART0のブロックダイヤグラム
18.3
UART0のレジスタ
18.4
UART0の動作
18.5
ボーレート
18.6
内部クロックおよび外部クロック
18.7
転送データフォーマット
18.8
パリティビット
18.9
割込み生成とフラグのセットタイミング
18.10 UART0の応用例
249
第18章 UART0
18.1
UART0の特長
UART0の特長
UART0は,外部デバイスと非同期(調歩同期)通信,またはCLK同期通信を行うための
シリアルI/Oポートです。
■ UART0の特長
UART0には以下の特長があります。
全二重ダブルバッファ
CLK同期とCLK非同期調歩式データ転送のサポート
マルチプロセッサモードのサポート(モード2)
専用ボーレートジェネレータの内蔵 (12種類)
外部クロック入力または内部タイマによる自由なボーレート設定のサ
ポート
可変長データ (7∼9ビット[パリティなし],6∼8ビット[パリティあり])
エラー検出機能(パリティ,フレーミング,オーバラン)
割込み機能 (受信割込みと送信割込み)
NRZ形式の転送フォーマット
250
18.2 UART0のブロックダイヤグラム
18.2
UART0のブロックダイヤグラム
UART0のブロックダイヤグラム
図 18.2-1に,UART0のブロックダイヤグラムを示します。
■ UART0のブロックダイヤグラム
図 18.2-1 全体のブロックダイヤグラム
251
第18章 UART0
18.3
UART0
UART0のレジスタ
UART0には,次の四つのレジスタがあります。
・シリアル・モード・コントロール・レジスタ
・ステータスレジスタ
・インプットデータ/アウトプットデータレジスタ
・レート/データレジスタ
■ UART0のレジスタ
図 18.3-1 UART0のレジスタ
252
18.3 UART0のレジスタ
18.3.1
シリアルモードコントロールレジスタ0
シリアルモードコントロールレジスタ0(UMC0)
UMC0)
シリアルモードコントロールレジスタ0(UMC0)は,UART0の動作モードを指定します。
動作が停止中に動作モードを設定します。ただし,RFCビットは動作中もアクセス可
能です。
■ シリアルモードコントロールレジスタ0(UMC0)
図 18.3-2 シリアルモードコントロールレジスタ0(UMC0)
【bit 7】PEN(Parity ENable)
シリアルデータI/Oでパリティビットの追加 (送信時) または検出 (受信時)
を指定します。モード2では "0" に設定します。
0:パリティなし
1:パリティあり
【bit 6】SBL(Stop Bit Length)
送信データのストップビット数を指定します。受信データについては,最初
のストップビットだけが認識され,それ以降のストップビットは無視されます。
0:1ビット長
1:2ビット長
【bit5, 4】MC1,MC0 (Mode Control)
転送データの長さを制御します。表 18.3-1に,本ビットで選択可能な4つの
転送モード (データ長) を示します。
表 18.3-1
UART0動作モード
モード
MC1
MC0
データ長*1
0
0
0
7 (6)
1
0
1
8 (7)
2 *2
1
0
8 + 1
3
1
1
9 (8)
*1: 括弧内の数字は,パリティ付きのデータ長を示します。
*2: いくつものスレーブCPUが単一ホストCPUに接続している場合,モード2が使用
されます。受信パリティチェック機能は使用不可のため,UMC0レジスタ中の
PENを "0" に設定してください(詳細については,「18.4節」を参照)。送信
データ長は9ビットで,パリティビットは追加できません。
【bit3】SMDE (Synchro MoDe Enable)
SMDEは,転送方法を選択します。
0:調歩式CLK同期転送 (調歩ビットによるクロック選択の同期転送)
1:調歩式CLK非同期転送
253
第18章 UART0
【bit2】RFC (Receiver Flag Clear)
"0"を書き込むと,USR0レジスタ中のRDRF,ORFE,PEフラグがクリアされます。
"1" 書込みは無効であり,読出し値は常に"1"になります。
<注意事項>
受信割込みがUART0操作中許可されている場合,RDRF,ORFE,PEのどれかが "1" になっていれ
ば,RFCには"0"のみを書き込みます。
【bit 1】SCKE(SCLK Enable)
CLK同期モードで本ビットに"1"を書き込むと,ポート端子がUART0シリアルク
ロック出力端子に切り換わり,同期クロックが出力されます。CLK同期モードま
たは外部クロックモードでゼロを設定してください。
0:汎用入出力ポートとして機能し,シリアルクロックを出力しません。ポー
トが入力モード(DDR=0)に設定され,RC3∼0が"1111"に設定されている場合,外
部クロック入力端子として機能します。
1:UART0シリアルクロック出力端子として機能します。
【bit 0】SOE(Serial Output Enable)
"1" を書き込むと,ポート端子がUART0シリアルデータ出力端子に切り換わり,
シリアル出力が可能になります。
0:ポート端子として機能し,シリアルデータを出力しません。
1:UART0シリアルデータ出力端子(SOT)として機能します。
254
18.3 UART0のレジスタ
18.3.2
ステータスレジスタ0(
ステータスレジスタ0(USR
0(USR0)
USR0)
ステータスレジスタ0(USR0)は,UART0ポートの現在の状態を示します。
■ ステータスレジスタ0(USR0)
図 18.3-3 ステータスレジスタ(USR0)
【bit 15】RDRF(Receiver Data Register Full)
UIDR0 (インプットデータレジスタ) の状態を示すフラグです。UIDR0レジス
タに受信データがロードされるとセットされ,UIDR0レジスタを読み出すか,
UMC0レジスタ中のRFCに"0"を書き込むと,クリアされます。RIEがアクティブな
場合,RDRFがセットされていれば受信割込み要求が生成されます。
0:UIDR0中にデータなし
1:UIDR0中にデータあり
【bit14】ORFE (Over-run/framing error)
受信中にオーバランまたはフレーミングエラーが発生した場合にセットされ
るフラグです。UMC0レジスタ中のRFCに"0"を書き込むと,クリアされます。本
フラグがセットされると,UIDR0中のデータは無効になり,受信用シフタから
UIDR0へのロードが実行されません。RIEがアクティブな場合,ORFEがセットさ
れていれば受信割込み要求が生成されます。
0:エラーなし
1:エラーあり
表 18.3-2に,RDRFまたはORFEによる受信完了後のUIDR0の状態を示します。
表 18.3-2
RDRF
0
0
1
1
受信完了後のUIDR0の状態
ORFE
0
1
0
1
UIDR0データの状態
空
フレーミングエラー
有効データ
オーバランエラー
オーバランまたはフレーミングエラーが発生した場合,UIDR0中のデータは無
効です。次のデータはフラグクリア後に受信できます。
255
第18章 UART0
【bit 13】PE(Parity Error)
受信パリティエラーが発生した場合にセットされるフラグです。UMC0レジス
タ中のRFCに "0"を書き込むと,クリアされます。本フラグがセットされると,
UIDR0中のデータは無効になり,受信用シフタからUIDR0へのロードが実行され
ません。RIEがアクティブな場合,PEがセットされていれば受信割込み要求が生
成されます。
0:パリティエラーなし
1:パリティエラー発生
【bit 12】TDRE(Transmitter Data Register Empty)
UODR0 (アウトプットデータレジスタ0) の状態を示すフラグです。UODR0レジ
スタに送信データを書き込むと,クリアされます。データが送信用シフタにロー
ドされ,転送が開始されるとセットされます。TIEがアクティブな場合,TDREが
セットされていれば受信割込み要求が生成されます。
0:UODR0中にデータあり
1:UODR0中にデータなし
【bit 11】RIE(Receiver Interrupt Enable)
受信割込み要求を許可します。
0:割込みを禁止します。
1:割込みを許可します。
【bit 10】TIE(Transmitter Interrupt Enable)
送信割込み要求を許可します。TDREが"1"のとき送信割込みが許可されると,
送信割込みが直ちに生成されます。
0:割込みを禁止します。
1:割込みを許可します。
【bit9】RBF (Receiver Busy Flag)
UART0がインプットデータを受信中であることを示すフラグです。スタート
ビットが検出されるとセットされ,ストップビットが検出されるとクリアされ
ます。
0:受信側がアイドル状態
1:受信側がビジー状態
【bit8】TBF (Transmitter Busy Flag)
UART0がインプットデータを送信中であることを示すフラグです。送信データ
がUODR0レジスタに書き込まれるとセットされ,送信が完了するとクリアされま
す。
0:送信側がアイドル状態
1:送信側がビジー状態
256
18.3 UART0のレジスタ
18.3.3
インプットデータレジスタ0(
インプットデータレジスタ0(UI
0(UIDR
UIDR0)
DR0)とアウトプッ
0)とアウトプッ
トデータレジスタ0(
トデータレジスタ0(UODR
0(UODR0)
UODR0)
インプットデータレジスタ0(UIDR0)は,シリアル・データ・インプット・レジスタで
あり,アウトプットレジスタ0(UODR0)は,シリアル・データ・アウトプット・レジスタ
です。
データ長が6ビットの場合最大有効ビットのD7とD6が無視され,データ長が7ビット
の場合最大有効ビットのD7が無視されます。USR0レジスタ中のTDRE="1"のときのみ
UODR0に書き込みし,USR0レジスタ中のRDRF="1"のときのみUIDR0を読出しできます。
■ インプットデータレジスタ0(UIDR0)とアウトプットレジスタ0(UODR0)
図 18.3-4 インプットデータレジスタ0(UIDR0)とアウトプットレジスタ0(UODR0)
257
第18章 UART0
18.3.4
レート・データレジスタ0(
レート・データレジスタ0(URD
0(URD0)
URD0)
レート・データレジスタ0(URD0)は,UART0用のデータ転送速度(ボーレート)を選択
するレジスタです。送信データ長が9ビットのとき,データの最大有効ビット (bit8)
を保持します。UART0が停止中にボーレートとパリティを設定してください。
■ レート・データレジスタ0(URD0)
図 18.3-5 レート・データレジスタ0(URD0)
【bit15, 10】BCH,BCH0 (Baud rate clock change)
ボーレートクロック用のマシンサイクルを指定します (詳細については,
「18.4節」を参照)。
表 18.3-3 マシンサイクルの設定例
BCH
0
0
1
1
BCH0
0
1
0
1
分周比

4分周
3分周
5分周
各マシンサイクルの設定例
設定禁止
16MHzマシンサイクル 16/4=4MHz
12MHzマシンサイクル 12/3=4MHz
10MHzマシンサイクル 10/5=2MHz
<注意事項>
BCHとBCH0を"00"に設定しないでください。
【bit14∼11】RC3,RC2,RC1,RC0 (Rate control)
UART0ポート用のクロック入力を選択します (詳細については,「18.4節」を
参照)。
表 18.3-4
クロック入力選択
RC3∼RC0
"0000"∼"1011"
"1101"
"1111"
クロック入力
専用ボーレートジェネレータ
16bitリロードタイマ0
外部クロック
<注意事項>
レートコントロールビットを"1100""1110"に設定しないでください。
258
18.3 UART0のレジスタ
【bit 9】P(Parity):
パリティがアクティブのとき,偶数/奇数パリティを設定します (PEN= "1")。
0:偶数パリティ
1:奇数パリティ
【bit 8】D8
モード2または3 (9bitデータ長),およびパリティなしでの転送データのbit8
を保持します。読出し時にはUIDR0レジスタのbit8として,書込み時にはUODR0
レジスタのbit8として扱われます。そのほかのモードでは意味を持ちません。
USR0レジスタ中でTDRE="1"のときのみD8に書き込みます。
259
第18章 UART0
18.4
UART0の動作
UART0の動作
表 18.4-1に,UART0の動作モードを示します。モードを切り換えるには,UMC0レジ
スタに値を設定します。
■ UART0の動作モード
表 18.4-1 UART0の動作モード
パリティ
データ長
クロックモード
ストップビット長*
On
6
0
Off
7
On
7
CLK非同期またはCLK
1
1bitまたは2bit
Off
8
同期
2
Off
8+1
On
8
3
Off
9
*: ストップビット長については,送信動作のみ指定が可能です。受信動作については常に1
ビット長となります。UART0は上記モード以外では動作しませんので,設定しないでくださ
い。
モード
<注意事項>
UART0は,調歩クロック同期転送を使用するので,クロック同期転送でもスタートビットとス
トップビットをデータに追加します。
260
18.5 ボーレート
18.5
ボーレート
専用ボーレートジェネレータ使用時には,次の2種類があります。
・CLK同期ボーレート
・CLK非同期ボーレート
■ CLK同期ボーレート
BCH,BCH0,RC3,RC2,RC1の五つのURD0レジスタビットがCLK同期転送用のボー
レートを選択します。
最初に,BCH,BCH0を使用してマシンクロック分周比を選択します。
次に,上記で選択したクロックの分周比をRC3,RC2,RC1に設定します。CLK同期
転送には,以下の3つの設定が可能です。それ以外の設定は禁止されます。
■ CLK非同期ボーレート
BCH,BCH0,RC3,RC2,RC1,RC0の6つのURDレジスタがCLK非同期転送用のボーレー
トを選択します。
最初に,BCH,BCH0を使用してマシンクロック分周比を選択します。
次に,上記で選択したクロックの非同期転送クロック分周比をRC3,RC2,RC1,
RC0に設定します。CLK同期転送には,以下の設定が可能です。
261
第18章 UART0
上記の12個のボーレートが選択可能であり,CLK同期ボーレートの計算方法の公
式を以下に示します。
ここで,φはマシンサイクルであり,mはRC3∼1の10進数表記です。
<注意事項>
m=0またはm=1の場合,上記公式は計算不可です。
CLK非同期ボーレートが-1%∼+1%の範囲にある場合,データ転送が可能です。ボーレートは,CLK
非同期ボーレートを8×13,8×12,8で割った値です。
表 18.5-1に,マシンサイクルが16MHz,12MHz,10MHz時の例を示します。表中の"_"でマークし
た設定は使用しないでください。
表 18.5-1 ボーレート
RC
3
0
0
0
0
0
0
0
0
1
1
1
1
262
RC
2
0
0
0
0
1
1
1
1
0
0
0
0
RC
1
0
0
1
1
0
0
1
1
0
0
1
1
RC
0
0
1
0
1
0
1
0
1
0
1
0
1
CLK非同期 (µs/ボー)
16 MHz
12 MHz
10 MHz
BCH/0=01
BCH/0=10
BCH/0=11
48/ 20833
26/ 38460 26/ 38460 52/ 19230
2/500000
2/500000
4/250000
48/ 20833 48/ 20833 96/10417
52/ 19230 52/ 19230 104/ 9615
96/10417
96/10417 192/ 5208
104/ 9615 104/ 9615 208/ 4808
192/ 5208 192/ 5208
208/ 4808 208/ 4808 416/ 2404
16/ 62500 16/ 62500 32/ 31250
CLK非同期分周比
8 × 12
8 × 13
8
8
8 × 12
8 × 13
8 × 12
8 × 13
8 × 12
8 × 13
8
8
CLK同期 (µs/ボー)
16 MHz
12 MHz
10 MHz
BCH/0=01
BCH/0=10
BCH/0=11
0.5 / 2M
0.5 / 2M
1 / 1M
1 / 1M
1 / 1M
2 / 500K
2 / 500K
2 / 500K
4 / 250K
-
18.6 内部クロックおよび外部クロック
18.6
内部クロックおよび外部クロック
RC3∼0を"1101"に設定すると,16bitリロードタイマからのクロック信号を選択す
ることになります。RC3∼0を"1111"に設定すると,外部クロックを選択することにな
ります。
■ 内部クロックおよび外部クロック
CLK非同期ボーレートは,CLK同期ボーレートを8で割ったものです。また,CLK
非同期ボーレートが選択したボーレート-1%∼+1%の範囲にある場合,データ転送が
可能です。表 18.6-1に,内部タイマをクロックとして選択した場合のボーレート
を示します。本表の値は,マシンサイクルを 7.3728MHz として計算しています。
ただし,表中の"_"でマークした設定は使用しないでください。
表 18.6-1 ボーレートとリロード値
X=23
X=21
(マシンクロックの2分周)
(マシンクロックの8分周)
ボーレート
76800
2
―
38400
5
―
19200
11
2
9600
23
5
4800
47
11
2400
95
23
1200
191
47
600
383
95
300
767
191
表中の値は,16bitリロードタイマのリロードカウント動作のリロード値 (10進数) です。
リロード値
263
第18章 UART0
18.7
転送データフォーマット
UART0は,NRZ (non-return-to-zero)形式のデータのみを扱います。図 18.7-1に,
送受信クロックとCLK同期モードのデータとの関係を示します。
■ 転送データフォーマット
図 18.7-1 転送データフォーマット
図 18.7-1に示すように,転送データは必ずスタートビット("L"レベルデータ)
より始まり,LSBファーストで指定されたデータビット長転送が行われ,ストップ
ビット("H"レベルデータ)で終了します。外部クロックを選択している場合は,常
にクロックを入力してください。
内部クロック (専用ボーレートジェネレータまたは16bitリロードタイマ) を選
択している場合,クロックは連続的に出力されます。CLK同期転送を使用する場合,
選択したボーレートクロックが安定 (2ボーレートクロックサイクル) するまで
データ転送を開始しないでください。
CLK非同期転送を使用する場合,UMC0レジスタ中のSCKEビットを"0"に設定し,ク
ロック出力を無効にしてください。SIN0とSOUT0の転送データフォーマットは,図
18.7-1に示すものと同じです。
264
18.8 パリティビット
18.8
パリティビット
URD0レジスタ中のP(パリティ)ビットは,パリティが許可されている場合に偶数/
奇数パリティのどちらを使用するかを指定します。UMC0レジスタ中のPEN(パリティイ
ネーブル)ビットはパリティを許可します。
■ パリティビット
偶数パリティ設定時に図 18.8-1に示すデータをSIN0に入力すると,受信パリ
ティエラーが発生します。図 18.8-1には,001101Bを偶数/奇数パリティで送信時
に送信されるデータも示しています。
図 18.8-1 パリティを許可したシリアルデータ
265
第18章 UART0
18.9
割込み生成とフラグのセットタイミング
UART0には,2つの割込み要因と6個のフラグがあります。2つの割込み要因には,受
信割込みと送信割込みがあります。6個のフラグとは,RDRF,ORFE,PE,TDRE,RBF,
TBFです。受信については,RDRF,ORFE,PEフラグが割込みを要求します。送信につ
いては,TDREフラグが割込みを要求します。
■ 6つのフラグのセットタイミング
○
RDRFフラグ
RDRFはUIDR0レジスタに受信データがロードされるとセットされます。UMC0レ
ジスタ中のRFCに"0"を書き込むか,UIDR0レジスタを読み出すと,クリアされま
す。
○
ORFEフラグ
ORFEフラグは,オーバランまたはフレーミングエラーフラグです。受信エラー
が発生した場合にセットされ,UMC0レジスタ中のRFCに"0"を書き込むと,クリ
アされます。
○
PEフラグ
PEフラグは,受信パリティエラーフラグです。受信パリティエラーが発生し
た場合にセットされ,UMC0レジスタ中のRFCに"0"を書き込むと,クリアされま
す。パリティ検出機能はモード2では有効ではないので注意してください。
○
TDREフラグ
TDREフラグは,UODR0レジスタが空になり書込み可能になったときにセットさ
れ,UODR0レジスタに書込みを行うと,クリアされます。上記の4個のフラグ
(RDRF,ORFE,PE,TDRE) は,送受信割込みを起動します。
○
RBFとTBFフラグ
RBFとTBFフラグは,受信または送信が進行中であることを示します。RBFは受
信中にアクティブになります。TBFは送信中にアクティブになります。
266
18.9 割込み生成とフラグのセットタイミング
18.9.1
受信動作時(
受信動作時(モード0
モード0,モード1
,モード1,モード3
,モード3)のフラグ
のセットタイミング
RDRF,ORFE,PEフラグは,受信転送が終了し最後のストップビットを検出するとき
にセットされ,CPUへの割込み要求が発生します。ORFE,PEのどちらかのビットがア
クティブ時には,UIDR0中のデータは無効となります。
■ 受信動作時(モード0,モード1,モード3)のフラグのセットタイミング
図 18.9-1,図 18.9-2,図 18.9-3に,RDRF,ORFE,PEフラグのセットタイミング
を示します。
図 18.9-1 RDRFのセットタイミング (モード0,1,3)
図 18.9-2 ORFEのセットタイミング (モード0,1,3)
図 18.9-3 PEのセットタイミング (モード0,1,3)
267
第18章 UART0
18.9.2
受信動作時(
受信動作時(モード2)
モード2)のフラグのセットタイミン
2)のフラグのセットタイミン
グ
RDRFフラグは,最後のストップビットを検出し,最後のデータビット (D8) の値が
"1"で受信転送が終了するときにセットされます。
ORFEフラグは,最後のデータビット (D8) の値に無関係に,最後のストップビット
を検出するときにセットされます。ORFEビットがアクティブ時には,UIDR0中のデー
タは無効となります。
どれかのフラグがセットされると,CPUへの割込み要求が発生します (モード2の使
用法の詳細については,
「18.10 UART0の応用例」を参照)。
■ 受信動作時(モード2)のフラグのセットタイミング
図 18.9-4 RDRFのセットタイミング(モード2)
図 18.9-5 ORFEのセットタイミング (モード2)
268
18.9 割込み生成とフラグのセットタイミング
18.9.3
送信動作時のフラグのセットタイミング
送信動作時にUODR0レジスタに書き込まれたデータは,内部シフトレジスタに転送
されます。このとき,TDREフラグがセットされ,CPUへの割込み要求が発生して,次
のデータをUODR0フラグに書込みができるようになります。
■ 送信動作時のフラグのセットタイミング
図 18.9-6 TDREのセットタイミング(モード0)
269
第18章 UART0
18.9.4
送受信動作時のステータスフラグ
送受信動作時に,RBFフラグは,スタートビットが検出されるとセットされ,ストッ
プビットが検出されるとクリアされます。UIDR0中の受信データは,RBFクリアタイミ
ングではまだ無効状態です。UIDR0中のデータは,RDRFセットタイミングで有効にな
ります。
■ 送受信動作時のステータスフラグ
図 18.9-7に,RBFと受信割込みフラグのタイミングとの関係を示します。
図 18.9-7
RBFのセットタイミング (モード0)
UODR0に送信データを書き込むと,TBFがセットされ,送信が完了するとクリアさ
れます。
図 18.9-8 TBFのセットタイミング (モード0)
<注意事項>
SIN0入力端子が"1"に固定されていない限り,受信動作はリセットのリリース後に開始します。
このため,モードを設定する前に,UMC0レジスタ中のRFCに"0"を書き込み,セットされているす
べての受信フラグをクリアしてください。
USR0レジスタ中のRBFとTBFフラグが"0"のとき,通信モードをセットしてください。モード設定
中の送受信データは保証されません。
■ EI2OS (拡張インテリジェントI/Oサービス)
拡張インテリジェントI/Oサービス(EI2OS)の詳細については,「3.6
リジェントI/Oサービス(EI2OS)」を参照してください。
270
拡張インテ
18.10 UART0の応用例
18.10
UART0の応用例
UART0の応用例
モード2は,1台のホストCPUに数台のスレーブCPUが接続されるような場合に使用さ
れます(図 18.10-1を参照)。
■ UART0の応用例
図 18.10-1に示すように,通信は,ホストCPUがアドレスデータを転送すること
によって始まります。アドレスデータは,9番目のビット(D8) が"1"にセットされ
ています。これにより通信先となるスレーブCPUが選択され,ユーザが決定したプ
ロトコルを使用してホストCPUとの通信を行います。通常データはD8が"0"にセット
されています。非選択のスレーブCPUは,次の通信セッションが始まるまでスタン
バイ状態で待機します。
図 18.10-2に,本モードでの動作フローチャートを示します。
このモードにおいては,パリティチェック機能は使用できませんので,UMC0レジ
スタのPENビットは"0"としてください。
図 18.10-1 モード2使用時のシステム構築例
271
第18章 UART0
図 18.10-2 モード2使用時の通信フローチャート
272
第19章
19章 UART1(SCI)
この章では,UART1(SCI)の機能と動作について示します。
19.1 UART1の特長
19.2 UART1のブロックダイヤグラム
19.3 UART1のレジスタ一覧
19.4 UART1の動作モードとクロック選択
19.5 UART1のフラグと割込み発生要因
19.6 UART1の割込みとフラグのセットタイミング
19.7 ネガティブクロック動作
19.8 UART1の応用例と使用上の注意
273
第19章 UART1(SCI)
19.1
UART1の特長
UART1の特長
UART1は,非同期(調歩同期)通信,またはCLK同期通信を行うためのシリアルI/Oポー
トです。
■ UART1の特長
UARTには以下の特長があります。
全二重ダブルバッファ
非同期(調歩同期),CLK同期通信が可能
マルチプロセッサモードのサポート
専用ボーレートジェネレータ内蔵
非同期: 9615/31250/4808/2404/1202 bps
CLK 同期: 1M/500K/250K/125K/62.5K bps
内部マシンクロック 6,8,10,12,16MHz 時
外部クロック入力と内部タイマによる自動ボーレート設定
エラー検出機能(パリティ,フレーミング,オーバラン)
転送信号はNRZ符号
インテリジェントI/Oサービスのサポート
274
19.2 UART1のブロックダイヤグラム
19.2
UART1のブロックダイヤグラム
UART1のブロックダイヤグラム
図 19.2-1に,UART1のブロックダイヤグラムを示します。
■ UART1のブロックダイヤグラム
図 19.2-1 UART1のブロックダイヤグラム
275
第19章 UART1(SCI)
19.3
UART1のレジスタ一覧
UART1のレジスタ一覧
図 19.3-2に,UART1のレジスタ一覧を示します。
■ UART1のレジスタ一覧
図 19.3-1 UART1のレジスタ構成
図 19.3-2 UART1のレジスタ一覧
276
19.3 UART1のレジスタ一覧
19.3.1
シリアルモードレジスタ1
シリアルモードレジスタ1(SMR1)
シリアルモードレジスタ1(SMR1)は,UART1の動作モードを指定します。動作モード
の設定は動作停止中に行い,動作中にこのレジスタへの書込みは行わないでください。
■ シリアルモードレジスタ1(SMR1)
シリアルモードレジスタ1(SMR1)のビット構成を以下に示します。
図 19.3-3 シリアルモードレジスタ1(SMR1)
【bit 7,6】MD1, MD0 (MoDe select):
このビットでは,UART1の動作モードを選択します。表 19.3-1に,動作モー
ド選択設定を示します。
表 19.3-1 動作モード選択設定
モード
0
1
2
−
MD1
0
0
1
1
MD0
0
1
0
1
動作モード
非同期(調歩同期) ノーマルモード
非同期(調歩同期) マルチプロセッサモード
CLK同期モード
設定禁止
<注意事項>
モード1のCLK非同期モード(マルチプロセッサ)とは,1台のホストCPUに数台のスレーブCPUが接
続される使用法です。本リソースでは,受信データのデータ形式を判別できません。したがって,
マルチプロセッサモードのマスタのみをサポートします。
また,この設定ではパリティチェック機能は使用できませんのでUMC1レジスタのPENは"0"に設
定してください。
277
第19章 UART1(SCI)
【bit 5∼3】CS2, CS1, CS0 (Clock Select):
このビットでは,ボーレートクロックソースを選択します。専用ボーレート
ジェネレータを選択した場合には,同時にボーレートも決定されます。表
19.3-2にクロック入力選択設定を示します。
表 19.3-2 クロック入力選択設定
CS2∼CS0
クロック入力
000B∼100B
専用ボーレートジェネレータ
101B
予約
110B
内部タイマ*
111B
外部クロック
*: 内部タイマを選択した場合,MB90435シリーズでは16ビットリロードタ
イマ0出力が選択されます。
【bit 2】予約ビット
必ず"0"をライトしてください。
【bit 1】SCKE(SCLK Enable):
CLK同期モード(モード2)で通信を行う場合,SCK1端子をクロック入力端子に
するか,クロック出力端子として使うかを指定します。
CLK非同期モード時または外部クロックモード時では"0"に設定してください。
0:クロック入力端子として機能します。
1:クロック出力端子として機能します。
<注意事項>
クロック入力端子として使うには,外部クロックソースが選択されている必要があります。
【bit 0】SOE(Serial Output Enable):
汎用I/Oポート端子と兼用されている外部端子(SOT1)を,シリアル出力端子と
して使うか,I/Oポート端子として使うかを指定します。
0:汎用I/Oポート端子として機能します。
1:シリアルデータ出力端子(SOT1)として機能します。
278
19.3 UART1のレジスタ一覧
19.3.2
シリアルコントロールレジスタ(SCR1)
シリアルコントロールレジスタ(SCR1)
シリアルコントロールレジスタ(SCR1)は,シリアル通信を行う場合の転送プロトコ
ルを制御します。
■ シリアルコントロールレジスタ(SCR1)
図 19.3-4に,シリアルコントロールレジスタ(SCR1)のビット構成を示します。
図 19.3-4 シリアルコントロールレジスタ(SCR1)のレジスタ一覧
【bit 15】PEN(Parity Enable)
シリアル通信において,パリティを付加してデータ通信を行うかどうかを指
定します。
0:パリティなし
1:パリティあり
<注意事項>
パリティを付加できるのは,非同期(調歩同期)通信モードのノーマルモード(モード0)のみです。
マルチプロセッサモード(モード1)およびCLK同期通信(モード2)では,パリティを付加することは
できません。
【bit 14】P(Parity)
パリティを付加してデータ通信を行うとき,偶数/奇数パリティを指定します。
0:偶数パリティ
1:奇数パリティ
【bit 13】SBL(Stop Bit Length)
非同期(調歩同期)通信を行うときのフレームエンドマークである,ストップ
ビットのビット長を指定します。
0:1ストップビット
1:2ストップビット
【bit 12】CL(Character Length)
送受信する1フレームのデータ長を指定します。
0:7ビットデータ
1:8ビットデータ
<注意事項>
7ビットデータを扱えるのは,非同期(調歩同期)通信のうちのノーマルモード(モード0)のみで
す。マルチプロセッサモード(モード1)およびCLK同期通信(モード2)では,8ビットデータを使用
してください。
279
第19章 UART1(SCI)
【bit 11】A/D(Address/Data)
非同期(調歩同期)通信のマルチプロセッサモード(モード1)において,送信す
るフレームのデータ形式を指定します。
0:データフレーム
1:アドレスフレーム
【bit 10】REC(Receiver Error Clear)
SSR1レジスタのエラーフラグ(PE, ORE, FRE)をクリアします。
"1"書込みは無効であり,読出し値は常に"1"になります。
【bit 9】RXE(Receiver Enable)
UART1の受信動作を制御します。
0:受信動作を禁止します。
1:受信動作を許可します。
<注意事項>
受信中(受信シフトレジスタにデータが入力されているとき)に受信動作を禁止した場合には,
そのフレームの受信を完了し受信データバッファSIDR1レジスタに受信データをストアしたとこ
ろで受信動作を停止します。
【bit 8】TXE (Transmitter Enable)
UART1の送信動作を制御します。
0:送信動作を禁止します。
1:送信動作を許可します。
<注意事項>
送信中(送信レジスタからデータが出力されているとき)に送信動作を禁止した場合は,送信
データバッファSODR1レジスタにデータがなくなった後に送信動作を停止します。
280
19.3 UART1のレジスタ一覧
19.3.3
シリアルインプットデータレジスタ1
シリアルインプットデータレジスタ1(SIDR1)/
シリアルアウトプットデータレジスタ1
シリアルアウトプットデータレジスタ1(SODR1)
シリアルインプットデータレジスタ1(SIDR1)/シリアルアウトプットデータレジス
タ1(SODR1)レジスタは,受信/送信用のデータバッファレジスタです。
■ シリアルインプットデータレジスタ1(SIDR1)/シリアルアウトプットデータレジスタ
1(SODR1)
SIDR1とSODR1のビット構成を以下に示します。
図 19.3-5 シリアルインプットデータレジスタ1(SIDR1)/シリアルアウトプットデータ
レジスタ1(SODR1)
シリアルインプットデータレジスタ1(SIDR1)は,シリアルデータ受信用のデータ
バッファレジスタです。シリアルアウトプットデータレジスタ1(SODR1)は,シリア
ルデータ送信用のデータバッファレジスタです。データ長が7bitの場合,上位
1bit(D7)は無効データとなります。SODR1レジスタへの書込みは,SSR1レジスタの
DTREが"1"のときに行ってください。
<注意事項>
このアドレスへのライトはSODR1レジスタへの書込みを,リードはSIDR1レジスタの読出しを意
味します。
281
第19章 UART1(SCI)
19.3.4
シリアルステータスレジスタ1
リアルステータスレジスタ1(SSR1)
シリアルステータスレジスタ1(SSR1)は,UART1の動作状態を表すフラグで構成され
ています。
■ シリアルステータスレジスタ1(SSR1)
シリアルステータスレジスタ1(SSR1)のビット構成を以下に示します。
図 19.3-6 シリアルステータスレジスタ1(SSR1)
【bit 15】PE(Parity Error)
受信時にパリティエラーが発生したときにセットされる,割込み要求フラグ
です。一度セットされたフラグをクリアするには,SCR1レジスタのRECビット
(bit 10)に"0"を書込みます。
本ビットがセットされた場合には,SIDR1レジスタのデータは無効データとな
ります。
0:パリティエラーなし
1:パリティエラー発生
【bit 14】ORE(Over Run Error)
受信時にオーバランエラーが発生したときにセットされる,割込み要求フラ
グです。一度セットされたフラグをクリアするには,SCR1レジスタのRECビット
(bit 10)に"0"を書き込みます。
本ビットがセットされた場合には,SIDR1レジスタのデータは無効データとな
ります。
0:オーバランエラーなし
1:オーバランエラー発生
【bit 13】FRE(Framing Error)
受信時にフレーミングエラーが発生したときにセットされる,割込み要求フ
ラグです。一度セットされたフラグをクリアするには,SCR1レジスタのRECビッ
ト(bit 10)に"0"を書込みます。
本ビットがセットされた場合には,SIDR1レジスタのデータは無効データとな
ります。
0:フレーミングエラーなし
1:フレーミングエラー発生
【bit 12】RDRF(Receiver Data Register Full)
SIDR1レジスタに受信データがあることを示す,割込み要求フラグです。
SIDR1レジスタに受信データがロードされるとセットされ,SIDR1レジスタか
らデータが読み出されると自動的にクリアされます。
0:受信データなし
1:受信データあり
282
19.3 UART1のレジスタ一覧
【bit 11】TDRE(Transmitter Data Register Empty)
SODR1レジスタに送信データを書き込めることを示す,割込み要求フラグです。
SODR1レジスタに送信データを書き込むとクリアされます。書き込んだデータ
が送信用シフタにロードされて転送が開始されると再びセットされ,次の送信
データを書き込めることを表します。
0:送信データの書込み禁止
1:送信データの書込み許可
【bit 9】RIE(Receiver Interrupt Enable)
受信割込みを制御します。
0:割込みを禁止します。
1:割込みを許可します。
<注意事項>
受信割込み要因は,PE, ORE, FREによるエラー発生のほか,RDRFフラグによって示される正常
受信があります。
【bit 8】TIE(Transmitter Interrupt Enable)
送信割込みを制御します。
0:割込みを禁止します。
1:割込みを許可します。
<注意事項>
送信割込み要因は,TDREフラグによる送信要求も含みます。
283
第19章 UART1(SCI)
19.3.5
UART1通信プリスケーラコントロールレジスタ
UART1通信プリスケーラコントロールレジスタ
(U1CDCR)
通信プリスケーラコントロールレジスタ(U1CDCR)は,マシンクロックの分周を制御
するレジスタです。UART1の動作クロックは,マシンクロックを分周することにより
得られます。この通信プリスケーラによって,種々のマシンクロックに対して一定の
ボーレートが得られるように設計されています。
本通信プリスケーラ出力は,拡張I/Oシリアルインタフェースの動作クロックにも
使われています。
■ UART1通信プリスケーラコントロールレジスタ(U1CDCR)
U1CDCRのビット構成を以下に示します。
図 19.3-7
UART1通信プリスケーラコントロールレジスタ(U1CDCR)
【bit 7】MD(Machine clock devide MoDe select)
通信プリスケーラの動作許可ビットです。
0:通信プリスケーラは停止します。
1:通信プリスケーラは動作します。
【bit 3, 2, 1, 0】DIV3∼0 (DIVide 3∼0)
表 19.3-3にしたがい,マシンクロックの分周比を決定します。
表 19.3-3 マシンクロックの分周比
DIV3
DIV2
DIV1
DIV0
分周比*
1
1
1
0
2分周
1
1
0
1
3分周
1
1
0
0
4分周
1
0
1
1
5分周
1
0
1
0
6分周
1
0
0
1
7分周
1
0
0
0
8分周
*:分周比を変えた場合はクロックの安定時間として2周期分の
時間を置いてから通信を行ってください。
284
19.4 UART1の動作モードとクロック選択
19.4
UART1の動作モードと
UART1の動作モードとクロック選択
の動作モードとクロック選択
UART1は,非同期モードとCLK同期モードの2種類の動作モードを持ち,SMR1レジス
タ,SCR1レジスタに値を設定することによりモードを切換えることができます。
■ UART1の動作モード
表 19.4-1に,UART1の動作モードを示します。
表 19.4-1 UART1の動作モード
パリティ
データ長
動作モード
ストップビット長*
有/無
7
0
非同期(調歩同期) ノーマルモード
1bitまたは2bit
有/無
8
1
無
8+1
非同期(調歩同期) マルチプロセッサモード
2
無
8
CLK同期モード
無
*: 非同期(調歩同期)ノーマルモードでのストップビット長については,送信動作のみ指定が可能です。受信 動
作については常に1ビット長となります。上記モード以外では動作しませんので,設定しないでください。
モード
■ UART1のクロック選択
○
専用ボーレートジェネレータ
専用ボーレートジェネレータを選択したときのボーレートを表 19.4-2およ
び表 19.4-3に,示します。また,通信プリスケーラ設定値を表 19.4-4に示しま
す。
なお,表中のφはマシンクロックを示します。
表 19.4-2 ボーレート(非同期時)
CS2
0
0
0
0
1
CS1
0
0
1
1
0
CS0
0
1
0
1
0
Φ/div=2MHz
9615
4808
2404
1202
31250
Φ/div=4MHz
19230
9615
4808
2404
62500
Φ/div=8MHz
38460
19230
9615
4808
−
算出式
(φ÷div)/(8×13×2)
(φ÷div)/(8×13×22)
(φ÷div)/(8×13×23)
(φ÷div)/(8×13×24)
(φ÷div)/26
Φ/div=4MHz
−
1MHz
500KHz
250KHz
125KHz
Φ/div=8MHz
−
−
1MHz
500KHz
250KHz
算出式
(φ÷div)/2
(φ÷div)/22
(φ÷div)/23
(φ÷div)/24
(φ÷div)/25
表 19.4-3 ボーレート(CLK同期時)
CS2
0
0
0
0
1
CS1
0
0
1
1
0
CS0
0
1
0
1
0
Φ/div=2MHz
1MHz
500KHz
250KHz
125KHz
62.5KHz
285
第19章 UART1(SCI)
表 19.4-4 通信プリスケーラ設定値
推奨マシンクロックΦ
4MHz
6MHz
8MHz
6MHz
8MHz
10MHz
12MHz
14MHz
16MHz
8MHz
12MHz
16MHz
16MHz
○
div
4
6
8
3
4
5
6
7
8
2
3
4
2
DIV3
1
1
1
1
1
1
1
1
1
1
1
1
1
DIV2
1
0
0
1
1
0
0
0
0
1
1
1
1
DIV1
0
1
0
0
0
1
1
0
0
1
0
0
1
DIV0
0
0
0
1
0
1
0
1
0
0
1
0
0
Φ/div
1MHz
2MHz
4MHz
8MHz
内部タイマ
CS2∼0を"110"に設定して内部タイマを選択した場合は,リロードタイマ0(16
ビット動作時)をリロードモードで動作させます。このときのボーレートの算出
式は,次のとおりです。
非同期(調歩同期)
(Φ÷N)/(16×2×(n+1))
CLK同期
(Φ÷N)/(2×(n+1))
N:タイマのカウントクロックソース
n:タイマのリロード値
マシンクロックを7.3728MHzとしたときのボーレートとリロード値(10進数)
の関係を,表 19.4-5に示します。
表 19.4-5 ボーレートとリロード値
リロード値
ボーレート
38400
19200
9600
4800
2400
1200
600
300
N=21
(マシンクロックの2分周)
2
5
11
23
47
95
191
383
N=23
(マシンクロックの8分周)
−
−
2
5
11
23
47
95
ボーレートクロックソースとして内部タイマ(16ビットタイマ0)を選択した
場合には,16ビットタイマ0の出力信号TOUT0は,既にMB90435コントローラに内
部的に接続されていることに注意してください。したがって,16ビットタイマ0
の外部出力端子TOUT0からUART1の外部クロック入力端子SCK1へ外部で接続する
必要はありません。また,タイマ端子をほかに使用していなければ,I/Oポート
端子として使用することができます。
○
外部クロック
CS2∼0を"111"に設定して外部クロックを選択した場合のボーレートは,外部
クロックの周波数をfとすると次のようになります。
非同期(調歩同期) f/16
CLK同期
f
fの最大値は2MHzであることに,注意してください。
286
19.4 UART1の動作モードとクロック選択
19.4.1
非同期(
非同期(調歩同期)
調歩同期)モード
UART1は,NRZ (Non Return to Zero)形式のデータのみを扱います。
■ 非同期(調歩同期)モードの転送データフォーマット
図 19.4-1に,転送データフォーマットを示します。
図 19.4-1 非同期(調歩同期)モードの転送データフォーマット(モード0,1)
図 19.4-1に示すように,転送データは必ずスタートビット("L"レベルデータ値)
より始まり,LSBファーストで指定されたデータビット長転送が行われ,ストップ
ビット("H"レベルデータ値)で終了します。外部クロックを選択している場合は,
常にクロックを入力してください。
ノーマルモード(モード0)ではデータ長を7ビットまたは8ビットに設定すること
ができますが,マルチプロセッサモード(モード1)では8ビットでなければなりませ
ん。また,マルチプロセッサモードではパリティを付加することはできません。そ
のかわり,A/Dビットが必ず付加されます。
■ 非同期(調歩同期)モードの受信動作
シリアルコントロールレジスタ(SCR)内のRXEビットが"1"ならば,常に受信動作
が行われています。
スタートビットを検出すると,SCRレジスタで決められたデータフォーマットに
従い,1フレームデータの受信が行われます。1フレームの受信が終わると,エラー
が発生した場合にはエラーフラグのセットが行われたあと,シリアルステータスレ
ジスタ(SSR)内のRDRFがセットされます。この場合,同じSSRレジスタのRIEビット
が"1"にセットされていればCPUに対して受信割込みが発生します。SSRレジスタの
各フラグを調べ,正常受信ならシリアルインプットデータレジスタ(SIDR)をリード
して,エラーが発生していれば,必要なエラー処置を行うようにしてください。
RDRFフラグは,SIDRレジスタをリードするとクリアされます。
■ 非同期(調歩同期)モードの送信動作
シリアルステータスレジスタ(SSR)内のTDREフラグが"1"の場合,シリアルアウト
プットデータレジスタ(SODR)に送信データを書き込みます。ここで,シリアルコン
トロールレジスタ(SCR)内のTXEビットが"1"なら送信が行われます。
SODRレジスタにセットしたデータが送信用シフトレジスタにロードされて送信
が開始されるとSSRレジスタ内のTDREフラグが再びセットされ,次の送信データを
セットできるようになります。この場合,同じSSRレジスタ内のTIEビットが"1"に
セットされていればCPUに対して送信割込みが発生して,SODRレジスタに送信デー
タをセットするように要求します。
SSRレジスタ内のTDREフラグは,SODRレジスタにデータをセットするとクリアさ
れます。
287
第19章 UART1(SCI)
19.4.2
CLK同期モード
CLK同期モード
UART1は,NRZ(Non Return to Zero)形式のデータのみを扱います。
■ CLK同期モードの転送データフォーマット
図 19.4-2に,CLK同期モードにおける送受信クロックとデータとの関係を示しま
す。
図 19.4-2 CLK同期モードの転送データフォーマット(モード2)
内部クロック(専用ボーレートジェネレータまたは内部タイマ)を選択している
場合は,データを送信するとデータ受信用同期クロックが自動的に生成されます。
外部クロックを選択している場合は,送信側UARTの送信用データバッファSODR1
レジスタにデータがあること(TDREフラグが"0")を確かめた後,正確に1バイト分の
クロックを供給する必要があります。また,送信開始前と終了後は,必ずマークレ
ベルにしてください。
データは8ビットのみとなり,パリティを付加することはできません。また,ス
タート/ストップビットがないのでオーバランエラー以外のエラー検出は行われま
せん。
■ CLK同期モードを使用する場合の各制御レジスタの設定値
CLK同期モードを使用する場合の,各制御レジスタの設定値を示します。
○
SMR1レジスタ
MD1,MD0
:10
CS2,CS1,CS0:クロック入力を指定
SCKE
:専用ボーレートジェネレータまたは内部タイマの場合
外部クロックの場合 0
SOE
:送信を行う場合 1, 受信のみの場合 0
○
SCR1レジスタ
PEN
P,SBL,A/D
CL
REC
RXE, TXE
288
:0
:これらのビットは意味を持ちません
:1
:0 (初期化するため)
:少なくとも,どちらか一方を 1
1
19.4 UART1の動作モードとクロック選択
○
SSR1レジスタ
RIE
TIE
:割込みを使用する場合
:0
1,
割込みを使用しない場合
0
■ CLK同期モードの通信開始
SODR1レジスタへの書込みによって通信を開始します。受信のみの場合でも,必
ず仮の送信データをSODR1レジスタに書き込む必要があります。
■ CLK同期モードの通信終了
SSR1レジスタのRDRFフラグが"1"に変化したことにより確認できます。SSR1レジ
スタのOREビットによって,通信が正常に行われたかを判断してください。
289
第19章 UART1(SCI)
19.5
UART1のフラグと割込み発生要因
UART1のフラグと割込み発生要因
UART1はPE/ORE/FRE/RDRF/TDREの5つのフラグを持ちます。また,割込み要因には受
信用のものと送信用のものがあります。
■ UART1のフラグ
UARTは,PE/ORE/FRE/RDRF/TDREの5つのフラグを持ちます。はじめの3つは,送信
エラーが生じたときにセットされ,PEフラグはパリティエラー,OREフラグはオー
バーランエラー,FREフラグはフレーミングエラーのことで,SCR1レジスタのREC
に"0"を書き込むとクリアされます。RDRFは受信データがSIDR1レジスタにロードさ
れるとセットされ,SIDR1レジスタを読み出すことでクリアされます。ただし,モー
ド1ではパリティ検出機能,モード2ではパリティ検出機能とフレーミングエラー検
出機能はありません。TDREは,SODR1レジスタが空になり,書込み可能な状態にな
るとセットされ,SODR1レジスタへ書き込むとクリアされます。
■ UART1の割込み発生要因
UART1の割込み発生要因には,受信用のものと送信用のものがあります。受信時
は,PE/ORE/FRE/RDRFにより割込みを要求します。送信時は,TDREにより割込みを
要求します。
各動作モード時の割込みとフラグのセットタイミングは,「19.6 UART1の割込み
とフラグのセットタイミング」に示します。参照してください。
290
19.6 UART1の割込みとフラグのセットタイミング
19.6
UART1の割込みとフラグのセットタイミング
UART1の割込みとフラグのセットタイミング
各UART1動作モード時の割込みとフラグのセットタイミングを示します。
■ UART1の割込みとフラグのセットタイミング
○
モード0の受信動作時
PE,ORE,FRE,RDRFは受信転送が終了し,最後のストップビットを検出するとき
にフラグがセットされ,CPUへの割込み要求が発生します。PE,ORE,FREがアク
ティブ時には,SIDR1レジスタのデータは無効データとなります。
図 19.6-1に,PE,ORE,FRE,RDRFのセットタイミング(モード0)を示します。
図 19.6-1 PE,ORE,FRE,RDRFのセットタイミング(モード0)
○
モード1の受信動作時
ORE,FRE,RDRFは受信転送が終了し,最後のストップビットを検出するときに
フラグがセットされ,CPUへの割込み要求が発生します。また,受信可能なデー
タ長は8bitのため,最後の9bit目のアドレス/データを示すデータは無効データ
となります。ORE,FREがアクティブ時は,SIDR1のデータは無効データとなりま
す。
図 19.6-2に,ORE,FRE,RDRFのセットタイミング(モード1)を示します。
図 19.6-2 ORE,FRE,RDRFのセットタイミング(モード1)
291
第19章 UART1(SCI)
○
モード2の受信動作時
ORE,RDRFは受信転送が終了し,最後のデータ(D7)を検出するときにフラグが
セットされ,CPUへの割込み要求が発生します。OREがアクティブ時は,SIDR1の
データは無効データとなります。
図 19.6-3に,OR,RDRFのセットタイミング(モード2)を示します。
図 19.6-3 ORE,RDRFのセットタイミング(モード2)
○
モード0,モード1,モード2の送信動作時
TDREフラグは,SODR1レジスタへ送信データが書き込まれるとクリアされます。
また,SODR1レジスタ値が内部シフトレジスタに転送されるとSODR1レジスタが
書き込み可能な状態になるため,TDREフラグがセットされます。このフラグが
セットされるとCPUへの割込み要求が発生します。送信動作中にSCR1レジスタの
TXEに"0"(モード2のときはRXEも含む)を書き込むと,SSR1レジスタのTDREが"1"
となり,送信用のシフタが停止してUART1の送信動作を禁止します。送信動作中
にSCR1レジスタのTXEに"0"(モード2のときはRXEも含む)を書き込んだ後,送信
が停止 する 前にSODR1 レジスタ へ書 き込ま れた デ ータは 送信 されま す。 図
19.6-4に,TDREのセットタイミング(モード0,1)を示します。また,図 19.6-5
に,TDREのセットタイミング(モード2)を示します。
図 19.6-4 TDREのセットタイミング(モード0,1)
292
19.6 UART1の割込みとフラグのセットタイミング
図 19.6-5 TDREのセットタイミング(モード2)
293
第19章 UART1(SCI)
19.7
ネガティブクロック動作
MB90435シリーズは,UART1のネガティブクロック動作をサポートします。この動作
では,シフトクロック信号はインバータにより単純に反転にされます。このため,
UART1で進行中のセクションにおけるシフトクロック信号の定義は,ロジックLレベル
からロジックHレベルへ,ネガティブエッジからポジティブエッジへ,あるいはこの
逆に反転されます。このことは,シリアルクロックの入力および出力ともに同じです。
エッジセレクタレジスタは,この目的のために用意されています。
■ ネガティブクロック動作
図 19.7-1 シリアルエッジセレクトレジスタ(SES2)
表 19.7-1 NEGビットの設定
NEG
0
1
294
操作
通常動作(デフォルト)
シフトクロック信号反転
19.8 UART1の応用例と使用上の注意
19.8
UART1の応用例と使用上の注意
UART1の応用例と使用上の注意
UART1の応用例として,モード1使用時のシステム構築例と通信フローチャートを示
します。
■ UART1の応用例(モード1使用時のシステム構築例)
図 19.8-1に示すように,モード1は,1台のホストCPUに数台のスレーブCPUが接
続されるような場合に使用されます。このUART1リソースでは,ホスト側の通信イ
ンタフェースのみサポートします。
図 19.8-1 モード1使用時のシステム構築例
■ UART1の通信フローチャート
通信はホストCPUがアドレスデータを転送することによって始まります。アドレ
スデータとは,SCR1レジスタのA/Dが"1"のときのデータで,それにより通信先とな
るスレーブCPUが選択され,ホストCPUとの通信が可能になります。通常データは,
SCR1レジスタのA/Dが"0"のときのデータです。図 19.8-2にそのフローチャートを
示します。
モード2においては,パリティチェック機能は使用できませんのでSCR1レジスタ
のPENビットは"0"としてください。
295
第19章 UART1(SCI)
図 19.8-2 モード1使用時の通信フローチャート
■ 拡張インテリジェントI/Oサービス(EI2OS)
拡張インテリジェントI/Oサービス(EI2OS)の詳細については,「3.6
リジェントI/Oサービス(EI2OS)」を参照してください。
拡張インテ
■ UART1の使用上の注意
通信モードの設定は,UART1の動作停止中に行ってください。モード設定時の送
受信したデータは保証されません。
296
第20章
20章 シリアルI/O
シリアルI/O
この章では,シリアルI/Oの機能と動作について示します。
20.1 シリアルI/Oの概要
20.2 シリアルI/Oのレジスタ
20.3 シリアルI/Oの動作
20.4 ネガティブクロック動作
297
第20章 シリアルI/O
20.1
シリアルI/O
シリアルI/Oの概要
I/Oの概要
シリアルI/Oの動作モードには,以下の2種類があります。
・内部シフトクロックモード:内部クロックに同期してデータ転送を行います。
・外部シフトクロックモード:外部端子(SCK2)から入力されるクロックに同期し
てデータ転送を行います。このモードで外部端子(SCK2)を共有している汎用
ポートを操作することにより,CPUの命令による転送動作も可能です。
■ シリアルI/Oのブロックダイヤグラム
クロック同期によるデータ転送を可能にするシリアルI/Oインタフェースのブ
ロックダイヤグラムを示します。このインタフェースは8bit×1ch構成で,データ
はLSB/MSBから転送できます。
図 20.1-1 シリアルI/Oのブロックダイヤグラム
298
20.2 シリアルI/Oのレジスタ
20.2
シリアルI/O
シリアルI/Oのレジスタ
I/Oのレジスタ
シリアルI/Oのレジスタには,次の二つがあります。
・シリアルモードコントロールステータスレジスタ (SMCS)
・シリアルシフトデータレジスタ (SDR)
■ シリアルI/Oのレジスタ
図 20.2-1 シリアルI/Oのレジスタ
299
第20章 シリアルI/O
20.2.1
シリアルモードコントロールステータスレジスタ
(SMCS)
(SMCS)
シリアルモードコントロールステータスレジスタ(SMCS)は,シリアルI/O転送モー
ドを制御するレジスタです。
■ シリアルモードコントロールステータスレジスタ(SMCS)
図 20.2-2 シリアルモードコントロールステータスレジスタ (SMCS)
【bit 3】シリアルモード選択ビット (MODE)
このビットにより停止状態からの起動条件の選択を行います。ただし,動作
中の書換えは禁止します。
表 20.2-1 シリアルモード選択ビットの設定
MODE
0
1
動作
STRT=1にすることにより起動します。[初期値]
シリアルデータレジスタのリード/ライトにより起動します。
リセットにより"0"に初期化されます。本ビットは,リード/ライトが可能で
す。インテリジェントI/Oサービスを起動する際には"1"にしておいてください。
【bit 2】転送方向選択ビット (BDS:Bit Direction Select)
シリアルデータの入出力時に,最下位ビット側から先に転送するか(LSB
ファースト),最上位ビット側から先に転送するか(MSBファースト)を,表
20.2-2に示すとおりに選択します。
300
20.2 シリアルI/Oのレジスタ
表 20.2-2 転送方向選択ビットの設定
BDS
0
1
動作
LSBファースト[初期値]
MSBファースト
<注意事項>
転送方向選択ビットは,SDR にデータを書き込む前に,設定しておいてください。
【bit 1】シリアル出力許可ビット (SOE:Serial Out Enable)
シリアルI/O用出力外部端子(SOT2)の出力を表 20.2-3に示すとおりに制御
します。
表 20.2-3 シリアル出力許可ビットの設定
SOE
0
1
動作
汎用ポート端子[初期値]
シリアルデータ出力
リセットにより"0"に初期化されます。本ビットは,リード/ライトが可能で
す。
【bit 0】シフトクロック出力許可ビット (SCOE : SCK2 Output Enable)
シフトクロック用入出力外部端子(SCK2)の出力を表 20.2-4に示すとおりに
制御します。
表 20.2-4 シフトクロック出力許可ビットの設定
SCOE
0
1
動作
汎用ポート端子,命令毎転送時[初期値]
シフトクロック出力端子
外部シフトクロックモードで命令ごとに転送を行うときは"0"に設定してく
ださい。リセットにより"0"に初期化されます。本ビットは,リード/ライトが
可能です。
【bit 15, 14, 13】シフトクロック選択ビット
(SMD2, SMD1, SMD0:Serial Shift Clock Mode )
シリアルシフトクロックモードを表 20.2-5に示すとおりに選択します。
表 20.2-5 シリアルシフトクロックモードの設定
SMD2
SMD1
SMD0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
φ/div=4MHz
φ/div=2MHz
φ/div=1MHz
2 MHz
1 MHz
500 kHz
1 MHz
500 kHz
250 kHz
250 kHz
125 kHz
62.5 kHz
125 kHz
62.5 kHz
31.25 Khz
62.5 kHz
31.25 kHz 15.625 kHz
外部シフトクロックモード
予約
予約
推奨マシン
サイクル
3
1
1
1
0
1
6 MHz
4
1
1
1
0
0
8 MHz
5
1
1
0
1
1
10 MHz
6
1
1
0
1
0
12 MHz
7
1
1
0
0
1
14 MHz
8
1
1
0
0
0
16 MHz
* 詳細については,「20.2.3 シリアルI/Oプリスケー
ラ(SCDCR)」を参照してください。
div
M1
DIV3
DIV2
DIV1
DIV0
301
第20章 シリアルI/O
リセットにより"000"に初期化されます。本ビットの転送中の書換えは禁止し
ます。シフトクロックは内部シフトクロック5種類と,外部シフトクロックが選
択できます。SMD2,1,0="110","111"はリザーブですので設定しないでくだ
さい。
外部シフトクロックモードが選択されている場合には,シフトクロック入力
を共有している汎用I/Oのアウトプットレベルを変えることで,ビットシフト操
作を行うこともできます。
【bit 12】シリアルI/O割込み許可ビット (SIE: Serial I/O Interrupt Enable))
シリアルI/Oの割込み要求を表 20.2-6に示すとおりに制御します。
表 20.2-6 割込み要求許可ビットの設定
SIE
0
1
動作
シリアルI/O割込み禁止[初期値]
シリアルI/O割込み許可
リセットにより"0"に初期化されます。本ビットは,リード/ライトが可能で
す。
【bit 11】シリアルI/O割込み要求ビット (SIR : Serial I/O Interrupt Request)
シリアルデータの転送が終了すると"1"にセットされ,割込み許可時(SIE=
"1")にこのビットが"1"になると,CPUへ割込み要求を発生します。クリア条件
はMODEビットによって異なります。MODEビットが"0"のとき,SIR ビットへの "0"
書込みによりクリアされます。MODEビットが"1"のとき,SDRの読出し,または
書込み動作によりクリアされます。MODEビットの値に関わらずリセット,また
はSTOPビットへの"1"書込み動作によりクリアされます。
本ビットに"1"を書き込んでも意味がありません。リードモディファイライト
系命令のリード時は,常に"1"がリードされます。
【bit 10】転送状態ビット (BUSY)
シリアル転送が実行中か否かを示すビットです。
表 20.2-7 転送状態ビットの設定
BUSY
0
1
動作
停止またはシリアルデータレジスタR/W待機状態[初期値]
シリアル転送状態
リセットにより"0"に初期化されます。本ビットは,リードのみ可能です。
【bit 9】ストップビット (STOP)
シリアル転送を強制的に中断させるビットです。本ビットを"1"にするとSTOP
=1による停止状態となります。
表 20.2-8 ストップビットの設定
STOP
動作
0
動作
1
STOP=1による転送停止[初期値]
リセットにより"1"に初期化されます。本ビットは,リード/ライトが可能です。
302
20.2 シリアルI/Oのレジスタ
【bit 8】スタートビット (STRT:Start)
シリアル転送の起動を行うビットです。停止状態で"1"を書くことによって転
送が開始されます。シリアル転送動作中およびシリアルシフトレジスタR/W待機
中の"1"のライトは無視され,"0"のライトは意味がありません。
リード時には常に"0"が読み出されます。
303
第20章 シリアルI/O
20.2.2
シリアルシフトデータレジスタ (SDR)
シリアルシフトデータレジスタ (SDR)は,シリアルI/O転送データを格納するシリ
アルデータレジスタで,転送中は読み書き不可です。
■ シリアルシフトデータレジスタ (SDR)
図 20.2-3 シリアルシフトデータレジスタ (SDR
304
20.2 シリアルI/Oのレジスタ
20.2.3
シリアルI/O
シリアルI/Oプリスケーラ
I/Oプリスケーラ(SCDCR)
プリスケーラ(SCDCR)
シリアルI/Oプリスケーラ(SCDCR)は,シリアルI/Oのシフトクロックを提供します。
シリアルI/Oの動作クロックは,マシンクロックを分周することにより得られます。
シリアルI/Oは,この通信プリスケーラによって種々のマシンクロックに対して一定
のボーレートが得られるように設計されています。SCDCRレジスタは,マシンクロッ
クの分周を制御するレジスタです。
■ シリアルI/Oプリスケーラ(SCDCR)
図 20.2-4 シリアルI/Oプリスケーラ(SCDCR)
【bit 15】MD(Machine clock devide moDe select)
通信プリスケーラの動作許可ビットです。
0:シリアルI/Oプリスケーラは停止します。
1:シリアルI/Oプリスケーラは動作します。
【bit 11, 10, 9, 8】DIV3∼0 (DIVide 3∼0)
マシンクロックの分周比を決定するビットです。
表 20.2-9 マシンクロックの分周比
DIV3∼0
1101B
1100B
1011B
1010B
1001B
1000B
分周比
3
4
5
6
7
8
<注意事項>
分周比を変えた場合はクロックの安定時間として2周期分の時間を置いてから通信を行ってく
ださい。
305
第20章 シリアルI/O
20.3
シリアルI/O
シリアルI/Oの動作
I/Oの動作
シリアルI/Oは,シリアルモードコントロールステータスレジスタ(SMCS),シフト
レジスタ(SDR)により構成されます。8bitのシリアルデータの入出力に使用します。
■ シリアルI/Oの動作
シリアルデータの入出力は,シフトレジスタの内容がシリアルシフトクロック
(外部クロック,内部クロック)の立下がりに同期してビット直列にシリアル出力
端子(SOT2端子)に出力され,立上がりに同期してシリアル入力端子(SIN2端子)
からビット直列にSDR(シフトレジスタ)に入力されます。シフトの方向(MSBからの
転送またはLSB からの転送)は,SMCS(シリアルモードコントロールステータスレ
ジスタ)の方向指定ビット(BDS)により指定することができます。
転送が終了するとシリアルモードコントロールステータスレジスタ(SMCS)の
MODEビットによって停止状態,またはデータレジスタR/W待機状態に入ります。
各々の状態から転送状態に移るには,それぞれ次のことを行います。
停止状態からの復帰のときはSTOPビットに"0",STRTビットに"1"を書込
みます(STOPとSTRTは同時設定が可能です)
。
シリアルシフトデータレジスタR/W待機状態からの復帰時はデータレジ
スタをリード,またはライトします。
306
20.3 シリアルI/Oの動作
20.3.1
シフトクロック
シフトクロックには内部シフトクロックモード,外部シフトクロックモードの2種
類があり,SMCSの設定で指定します。モードの切換えは,シリアルI/O が停止した状
態で行ってください。停止状態の確認は,BUSYビットを読み出すことで可能です。
■ 内部シフトクロックモード
内部シフトクロックモードは,内部クロックにより動作し,同期タイミング出力
としてデューティ比50%のシフトクロックがSCK2端子より出力可能です。データが
1クロックごとに1bit転送されます。転送の速度(ボーレート)は以下のようにな
ります。
Φ÷div
ボーレート=
A
Aは,SMCSのSMD ビットで示す分周比で,21,22,24,25,26です。
表 20.3-1 内部シフトクロックモードのボーレート算出式
SMD2
SMD1
SMD0
Φ/div=4MHz
Φ/div=2MHz
0
0
0
2MHz
1MHz
0
0
1
1MHz
500KHz
0
1
0
250KHz
125KHz
0
1
1
125KHz
62.5KHz
1
0
0
62.5KHz
31.2KHz
divの値は,「表 19.4-4 通信プリスケーラ設定値」を参照
Φ/div=1MHz
500KHz
250KHz
62.5KHz
31.25KHz
15.625KHz
ボーレート算出式
(φ÷div)/21
(φ÷div)/22
(φ÷div)/24
(φ÷div)/25
(φ÷div)/26
■ 外部シフトクロックモード
SCK2端子から入力される外部シフトクロックに同期して,データが1クロック
ごとに1bit 転送されます。転送速度はDCから1/(8マシンサイクル)まで可能
です。たとえば,"1マシンサイクル=62.5nS"のとき,2MHzまで可能です。
命令ごとに転送することもでき,次のような設定をすることによって実現し
ます。
外部シフトクロックモードを選択し,SMCSのSCOEビットを"0"に設定します。
さらに,SCK2端子を共有しているポートの方向レジスタに"1"を書込み,ポート
を出力モードに設定します。以上の設定をした後,ポートのデータレジスタ
(PDR) に"1","0"を書き込むと,SCK2端子に出力されるポートの値を外部クロッ
クとして取り込み,転送動作を行います。シフトクロックの開始は"H"からス
タートさせてください。
<注意事項>
シリアルI/O 動作中のSMCS,SDRへの書込みは禁止です。
307
第20章 シリアルI/O
20.3.2
シリアルI/O
シリアルI/Oの動作状態
I/Oの動作状態
シリアルI/Oの動作状態には,次の4種類があります。
・STOP状態
・停止状態
・SDRのR/W待機状態
・転送状態
■ シリアルI/Oの動作状態
○
STOP状態
RESET時,またはSMCSのSTOPビットに"1"を書き込んだときの状態でシフトカ
ウンタは初期化され,SIR="0"となります。
STOP状態からの復帰は,STOP="0",STRT="1"(同時設定可)とすることに
よって行われます。STOPビットはSTRTビットより優先ビットですのでSTOP=1の
ときSTRT=1としても転送動作は行われません。
○
停止状態
MODEビットが"0"のとき,転送が終了したことによってSMCSがBUSY="0",SIR
="1"となり,カウンタが初期化され停止状態に入ります。停止状態からの復帰
はSTRT="1"にすると転送動作が再開されます。
○
シリアルデータレジスタR/W待機状態
SMCSのMODEビットが"1"のとき,シリアル転送が終了すると,BUSY="0",SIR
="1"となりシリアルデータレジスタR/W待機状態に入ります。割込み許可レジ
スタが許可状態ならば本ブロックより割込み信号を出します。
R/W待機状態からの復帰はシリアルデータレジスタが読み出されたり,書き込
まれたりするとBUSY="1"となり転送動作が再開されます。
○
転送状態
BUSY="1"でシリアル転送を行っている状態です。MODEビットによりそれぞれ
停止状態およびR/W待機状態に遷移します。
図 20.3-1に,動作遷移を示します。
図 20.3-1 シリアルI/O動作遷移図
308
20.3 シリアルI/Oの動作
図 20.3-2 シリアルデータレジスタへのリード,ライト概念図
①
MODE=1のとき,シフトクロックカウンタによって転送終了し,SIR=1と
なってリード/ライト待機状態に入ります。SIEビットが"1"ならば割込み
信号を発生します。ただし,SIEがインアクティブのときやSTOPへ"1"を書
き込むことによる転送中断のときは割込み信号は発生しません。
②
シリアルデータレジスタがリード/ライトされると,割込み要求はクリア
されシリアル転送を開始します。
309
第20章 シリアルI/O
20.3.3
シフト動作のスタート/ストップタイミング
シフト動作をスタートする場合は,SMCSのSTOPビットを"0",STRTビットを"1"に設
定します。シフト動作のストップタイミングについては,STOP=1によって停止する場
合と,転送終了によって停止する場合があります。
・STOP=1によって停止→MODEビットに係わらずSIR=0のまま停止
・転送終了で停止→MODEビットに係わらずSIR=1となり停止。
BUSYビットはMODEビットに係わらずシリアル転送状態のとき"1"となり,停止状態,
またはR/W待機状態のとき"0"となります。転送状態を確認したいときはこのビットを
リードしてください。
■ シフト動作のスタート/ストップタイミング
○
内部シフトクロックモード(LSBファースト)
図 20.3-3 シフト動作のスタート/ストップタイミング (内部クロック)
○
外部シフトクロックモード(LSBファースト)
図 20.3-4 シフト動作のスタート/ストップタイミング (外部クロック)
310
20.3 シリアルI/Oの動作
○
外部シフトクロックモードで命令シフトを行った場合(LSBファースト)
図 20.3-5 シフト動作のスタート/ストップタイミング(外部シフトクロックモード
で命令シフト実行時)
<注意事項>
命令シフトでは,PDRのSCK2に対応するビットに"1"が書き込まれた場合"H"が出力され"0"が書
き込まれたとき"L"が出力されます(ただし,外部シフトクロックモード選択で,SCOE=0の場合)。
○
STOP=1による停止(LSBファースト,内部クロック時)
図 20.3-6 STOPビットを"1"とした場合のストップタイミング
<注意事項>
DO7∼DO0は出力データを示します。
シリアルデータの転送中は,シフトクロックの立下がりでシリアル出力端子
(SOT2)からのデータが出力され,立上がりでシリアル入力端子(SIN2)のデー
タが入力されます。
311
第20章 シリアルI/O
○
LSBファースト(BDSビットが"0"の場合)
図 20.3-7 シリアルデータの入出力シフトタイミング1
○
MSB ファースト(BDSビットが"1"の場合)
図 20.3-8 シリアルデータの入出力シフトタイミング2
312
20.3 シリアルI/Oの動作
20.3.4
シリアルI/O
シリアルI/Oの割込み機能
I/Oの割込み機能
シリアルI/Oは,CPUに対し割込み要求を発生することができます。データの転送終
了時に割込みフラグであるSIRビットがセットされ,割込みを許可するSMCSのSIE
ビットが"1"のとき,CPUへ割込み要求を出力します。
■ シリアルI/Oの割込み機能
図 20.3-9 シリアルI/Oの割込み信号出力タイミング
313
第20章 シリアルI/O
20.4
ネガティブクロック動作
ネガティブクロック動作
MB90435シリーズは,シリアルI/Oのネガティブクロック動作をサポートします。こ
の動作では,シフトクロック信号はインバータにより単純に反転にされます。このた
め,前述のシリアルI/Oのシフトクロック信号の定義は,ロジックLレベルからロジッ
クHレベルへ,ネガティブエッジからポジティブエッジへ,あるいはこの逆に反転さ
れます。このことは,シリアルクロックの入力および出力ともに同じです。エッジセ
レクタレジスタは,この目的のために用意されています。
■ ネガティブクロック動作
図 20.4-1 シリアルエッジセレクトレジスタ(SES2)
表 20.4-1 NEGビットの設定
NEG
0
1
314
動作
通常動作 (デフォルト)
シフトクロック信号反転
第21章
21章 アドレス一致検出機能
この章は,アドレス一致検出の機能と動作について説明します。
21.1 アドレス一致検出機能の概要
21.2 アドレス一致検出機能のレジスタ
21.3 アドレス一致検出機能の動作
21.4 アドレス一致検出機能の使用例
315
第21章 アドレス一致検出機能
21.1
アドレス一致検出機能の概要
アドレスが,アドレス検出レジスタに設定された値と等しい場合に,CPUに読み込
まれる命令コードを強制的にINT9命令のコードに置き換えます。その結果,CPUが設
定された命令を実行するときに,INT9命令を実行します。INT9割込みルーチンで処理
を行うことにより,アドレス一致検出機能を実現することができます。
アドレス検出レジスタは2本用意されており,各レジスタごとにコンペア許可ビッ
トがあります。アドレス検出レジスタに設定された値とアドレスが一致して,かつ割
込み許可ビットが"1"の場合,CPUに読み込まれる命令コードを強制的にINT9命令の
コードに置き換えます。
■ アドレス一致検出機能のブロックダイヤグラム
図 21.1-1 アドレス一致検出機能のブロックダイヤグラム
316
21.2 アドレス一致検出機能のレジスタ
21.2
アドレス一致検出機能のレジスタ
アドレス一致検出機能には,次の2種類のレジスタがあります。
・プログラムアドレス検出レジスタ(PADR0/PADR1)
・プログラムアドレス検出コントロール/ステータスレジスタ(PACSR)
■ プログラムアドレス検出レジスタ(PADR0/PADR1)
プ ロ グ ラ ム ア ド レ ス 検 出 レ ジ ス タ (PADR0/PADR1:Program Address Detect
Register 0/1)は,各レジスタに書き込まれた値と,アドレスを比較します。一致
した場合は,ADCSRの対応する割込み許可ビットが"1"の場合,CPUに対してINT9命
令の発生を要求します。
対応する割込み許可ビットが"0"の場合は,一致していても何も行いません。
図 21.2-1 プログラムアドレス検出レジスタ(PADR0/PADR1)
表 21.2-1に,プログラムアドレス検出レジスタ(PADR0/PADR1)とPACSRとの対応
を示します。
表 21.2-1 PADR0/PADR1レジスタとPACSRとの対応
アドレス検出レジスタ
PADR0
PADR1
割り込み許可ビット
AD0E
AD1E
■ プログラムアドレス検出コントロール/ステータスレジスタ(PACSR)
プロ グラ ム アド レス 検 出 コン トロ ー ルス テー タ ス レジ スタ(PACSR:Program
Address detect Control Status Register)は,アドレス検出機能の動作を制御し
ます。
図 21.2-2 プログラムアドレス検出コントロール/ステータスレジスタ(PACSR)
【bit 7∼4】予約ビット
ビット7∼4は,予約ビットです。PACSRを設定するときは,必ず"0"を設定し
てください。
【bit 3】AD1E(Address Detect register 1 Enable)
AD1Eは,ADR1の動作許可ビットです。
このビットが"1"のときPADR1レジスタとアドレスの比較を行い,一致した場
合にCPUはINT9命令を実行します。
317
第21章 アドレス一致検出機能
【bit 2】予約ビット
ビット2は,予約ビットです。PACSRを設定するときは,必ず"0"を設定してく
ださい。
【bit 1】ADOE(Address Detect register 0 Enable)
ADOEビットは,PADR0の動作許可ビットです。
このビットが"1"のときPADR0レジスタとアドレスの比較を行い,一致した場
合にCPUはINT9命令を実行します。
【bit 0】予約ビット
ビット0は,予約ビットです。PACSRを設定するときは,必ず"0"を設定してく
ださい。
318
21.3 アドレス一致検出機能の動作
21.3
アドレス一致検出機能の動作
プログラムカウンタがアドレス一致検出レジスタと同じアドレスを指示している
場合は,INT9命令を実行します。INT9命令ルーチンを処理することによってアドレス
一致検出機能を実現することができます。
■ アドレス一致検出機能の動作
アドレス検出レジスタは2本用意されており,各レジスタごとにコンペア許可
ビットがあります。アドレス検出レジスタに設定された値とプログラムカウンタの
値が一致して,かつコンペア許可ビットが"1"の場合,CPUはINT9命令を実行します。
<注意事項>
アドレス検出レジスタとプログラムカウンタの値が一致した場合は,内部データバスの内容が
強制的に"01H"に変更されるので,INT9命令を実行することになります。アドレス検出レジスタの
内容を変更する前には,コンペア許可ビットを必ず"0"にしてください。コンペア許可ビットが"1"
になっている間に変更すると,誤動作を引き起こす可能性があります。
319
第21章 アドレス一致検出機能
21.4
アドレス一致検出機能の使用例
図 21.4-1にアドレス一致検出機能のシステム構成例を表 21.4-1にE2PROMメモリ
マップを示します。
■ アドレス一致検出機能のシステム構成例
図 21.4-1 アドレス一致検出機能のシステム構成例
■ E2PROMメモリマップ
表 21.4-1 E2PROMメモリマップ
アドレス
0000H
0001H
0002H
0003H
0004H
0005H
0006H
0007H
0010H∼
○
意味
パッチプログラムNo.0バイト数 (0 のときプログラムミス無し)
プログラムアドレスNo.0 bit7-0
プログラムアドレスNo.0 bit15-8
プログラムアドレスNo.0 bit24-16
パッチプログラムNo.1バイト数 (0 のときプログラムミス無し)
プログラムアドレスNo.1 bit7-0
プログラムアドレスNo.1 bit15-8
プログラムアドレスNo.1 bit24-16
パッチプログラムNo.0/1本体
初期状態
E2PROMは全て"0"とします。
○
パッチが必要となる場合
コネクタ(UART)を通して,MCUにパッチプログラムの本体およびプログラムア
ドレスを転送します。MCUはその情報をE2PROMに書き込みます。
○
リセットシーケンス
MCUはリセット後E2PROMの値を読み出します。パッチプログラムのバイト数が
"0"でなかった場合は,パッチプログラムの本体がE2PROMから読み出されRAMに書
き込まれます。次に,MCUによりPADR0,またはPADR1どちらか一方でパッチアド
レスをセットし,コンペア許可ビットをセットします。再配置可能なパッチプ
ログラムが望まれる場合は,RAM領域に対してパッチ済みプログラムの最初のア
ドレスを書き込むことができます。この場合,INT9ルーチンがこのユーザ定義
のRAM領域を参照し,パッチ済みプログラムへ向けてジャンプします。
○
INT9命令
割込みルーチンでは,スタックプログラムのカウンタの値を調べることによ
り,割込みが発生するアドレスを知ることができます。割込みの最中にスタッ
クへ押し込まれた情報は破棄されます。
320
21.4 アドレス一致検出機能の使用例
■ プログラムパッチ処理例
図 21.4-2 プログラムパッチ処理例
321
第21章 アドレス一致検出機能
■ プログラムパッチ処理フロー図
図 21.4-3 プログラムパッチ処理フロー図
322
第22章
22章 ROMミラー機能選択モジュール
ROMミラー機能選択モジュール
この章では,ROMミラー機能選択モジュールの機能と動作について説明します。
22.1 ROMミラー機能選択モジュールの概要
22.2 ROMミラー機能選択レジスタ(ROMM)
323
第22章 ROMミラー機能選択モジュール
22.1
ROMミラー機能選択モジュールの概要
ROMミラー機能選択モジュールの概要
ROMミラー機能選択モジュールは,ROMが配置されているFFバンクを00バンクでみる
ことをレジスタの設定で選択することができます。
■ ROMミラー機能選択モジュールのブロックダイヤグラム
図 22.1-1 ROM ミラー機能選択モジュールのブロックダイヤグラム
324
22.2 ROMミラー機能選択レジスタ(ROMM)
22.2
ROMミラー機能選択レジスタ
ROMミラー機能選択レジスタ(
ミラー機能選択レジスタ(ROMM)
ROMM)
ROMミラー機能選択レジスタ(ROMM)は,アドレス004000H∼00FFFFH番地の使用中に
アクセスしないでください。
■ ROMミラー機能選択レジスタ(ROMM)
図 22.2-1 ROMミラー機能選択レジスタ(ROMM)
【bit 8】MI
"1"書込み時,FFバンクのROMのデータが00バンクでも読み出せるようになり
ます。"0"書込み時,00バンクはこの機能は働きません。
本ビットは,書込みのみ可能です。
<注意事項>
ROMミラー機能を起動している場合,FF4000H∼FFFFFFH番地のみ004000H∼00FFFFH番地にミラー
されます。このため,FF0000H∼FF3FFFH番地は00バンクにミラーされません。
325
第22章 ROMミラー機能選択モジュール
326
第23章
23章 1M/2Mビットフラッシュメモリ
1M/2Mビットフラッシュメモリ
この章では,1M/2Mビットフラッシュメモリの機能と動作について説明します。
フラッシュメモリへのデータ書込み/消去の方法には,下記の3とおりの方法があり
ます。
1) パラレルライタ
2) シリアル専用ライタ
3) プログラム実行による書込み/消去
ここでは,"3) プログラム実行による書込み/消去"について解説します。
23.1
1M/2Mビットフラッシュメモリの概要
23.2
フラッシュメモリのセクタ構成
23.3
書込み/消去モード
23.4
フラッシュメモリコントロールステータスレジスタ(FMCS)
23.5
フラッシュメモリ自動アルゴリズム起動方法
23.6
自動アルゴリズム実行状態の確認
23.7
フラッシュメモリ書込み/消去の詳細説明
23.8
1M/2Mビットフラッシュメモリ使用上の注意
23.9
フラッシュセキュリティの特長
23.10 1M/2Mビットフラッシュメモリのプログラム例
327
第23章 1M/2Mビットフラッシュメモリ
23.1
1M/2Mビットフラッシュメモリの概要
1M/2Mビットフラッシュメモリの概要
1M/2Mビットフラッシュメモリは,CPUメモリマップ上のFEH/FCH∼FFHバンクに配置
され,フラッシュメモリインタフェース回路の機能により,マスクROMと同様にCPUか
らのリードアクセスおよびプログラムアクセスが可能です。フラッシュメモリへの書
き込み/消去は,フラッシュメモリインタフェース回路を介してCPUからの命令動作で
行えます。このため,内蔵CPUの制御による実装状態での書き換えが可能となり,プロ
グラムおよびデータの改善が効率よく行えます。
■ 1M/2Mビットフラッシュメモリの特長
自動プログラムアルゴリズム(Embedded Alogrithm:MBM29LV200と同様)
消去一時停止/消去再開機能の搭載
データポーリング,トグルビットによる書き込み/消去完了検出
CPU割込みによる書込み/消去の完了検出
セクタごとの消去が可能(セクタ組み合わせ自由)
書込み/消去回数(最小)
10,000回
Embedded AlogrithmはAdvanced Micro Device社の商標です。
<注意事項>
マニュファクチャコードとデバイスコードの読出し機能はありません。また,これらのコード
はコマンドによってもアクセスできません。
■ フラッシュメモリ書込み/消去の方法
フラッシュメモリは書込み/消去と読み出しを同時に行うことはできません。す
なわち,フラッシュメモリにデータ書込み/消去動作を行う際には,フラッシュメ
モリ上にあるプログラムをRAMに一旦コピーしRAM実行することで,フラッシュメモ
リからプログラムアクセスをせず書込み動作だけを行うことが可能となります。
■ フラッシュメモリのレジスタ
図 23.1-1 フラッシュメモリコントロールステータスレジスタ(FMCS)
328
23.2 フラッシュメモリのセクタ構成
23.2
フラッシュメモリのセクタ構成
図 23.2-1に,フラッシュメモリのセクタ構成を示します。
■ 1M/2Mビットフラッシュメモリのセクタ構成
図 23.2-1に,1M/2Mビットフラッシュメモリのセクタ構成を示します。図中アド
レスには,各セクタの上位アドレスと下位アドレスを示します。
図 23.2-1 1M/2Mビットフラッシュメモリのセクタ構成
329
第23章 1M/2Mビットフラッシュメモリ
23.3
書込み/
書込み/消去モード
フラッシュメモリのアクセスは,フラッシュメモリモードとその他モードの2つの
異なる方法で行われます。フラッシュメモリモードでは,外部端子から直接書込み/
消去が行え,その他モードでは,内部バスを介してCPUから書込み/消去が行えます。
モードの選択はモード外部端子で行います。
■ フラッシュメモリモード
リセット信号が発生中にモード端子を"111"にセットすると,CPUが停止します。
フラッシュメモリインタフェース回路は直接ポート0,2,3,4に接続しているので,
外部端子から直接制御することができます。このモードでは,MCUが外部端子中の
標準フラッシュメモリと同様の動作を行い,フラッシュメモリプログラマを使用し
て書込み/消去が行えます。
フラッシュメモリモードでは,フラッシュメモリ自動アルゴリズムでサポートさ
れるすべての動作を使用できます。
■ その他モード
フラッシュメモリは,CPUメモリ空間のFE/FC∼FFバンクに配置されており,通常
のマスクROMと同様にフラッシュメモリインタフェース回路を介してCPUから読出
しアクセスおよびプログラムアクセスすることができます。
フラッシュメモリへの書込み/消去は,フラッシュメモリインタフェース回路を
介してCPUからの命令で実行されます。このため,このモードではMCUが対象ボード
にはんだ付けされていても再書込みが可能です。
これらのモードでは,セクタプロテクト動作を実行することはできません。
■ フラッシュメモリの制御信号
表 23.3-1に,フラッシュメモリモードでのフラッシュメモリ制御信号を示しま
す。
フラッシュメモリ制御信号とMBM29LV200の外部端子にはほぼ1対1の対応関係が
存在します。セクタプロテクト動作で必要となるVID(12V)端子は,MBM29LV200にお
けるA9, RESET , OE の代わりに,MD0,MD1,MD2となります。
フラッシュメモリモードでは,外部データバス幅は8ビットに制限されており,1
バイトのアクセスしか許可されません。DQ15∼DQ8はサポートされていません。
BYTE 端子は常に"0"にセットしてください。
330
23.3 書込み/消去モード
表 23.3-1フラッシュ制御信号
端子番号
1∼8
9
10
MB90F438L(S)/F439(S)
通常機能
フラッシュメモリモード
P20∼P27
AQ0∼AQ7
P30
AQ16
P31
CE
12
13
14
16
P32
P33
P34
P36
17
P37
18∼22
24∼26
49
50
51
85∼92
77
MBM29LV200
A-1,A0∼A6
A15
CE
OE
OE
WE
AQ17
WE
A16
BYTE
BYTE
P40∼P44
P45∼P47
MD0
MD1
RY/ B
AQ8∼AQ12
AQ13∼AQ15
MD0
MD1
RY/ B
A7∼A11
A12∼A14
A9(VID)
RESET (VID)
MD2
P00∼P07
MD2
DQ0∼DQ7
OE (VID)
DQ0∼DQ7
RST
RESET
RESET
DQ8∼DQ15
使用不可
331
第23章 1M/2Mビットフラッシュメモリ
23.4
フラッシュメモリコントロールステータスレジスタ
(FMCS)
フラッシュメモリコントロールステータスレジスタ(FMCS)は,フラッシュメモリイ
ンタフェース回路にあるレジスタで,フラッシュメモリの書き込み/消去の際に使用
します。
■ フラッシュメモリコントロールステータスレジスタ(FMCS)
図 23.4-1 フラッシュメモリコントロールステータスレジスタ(FMCS)
【bit7】INTE(INTerrupt Enable)
フラッシュメモリの書込み/消去の終了でCPUに割り込みを発生させるビット
です。
INTEビットが"1"でかつRDYINTビットが"1"のときにCPUへ割り込みが発生し
ます。INTEビットが"0"であれば割り込みは発生しません。
0:書込み/消去終了での割込み禁止
1:書込み/消去終了での割込み許可
【bit6】RDYINT(ReaDY INTerrupt)
フラッシュメモリの動作状態を表すビットです。
フラッシュメモリの書込み/消去が終わって"1"となります。フラッシュメモ
リ書込み/消去後このビットが"0"の間は,フラッシュメモリへの書込み/消去は
できません。書込み/消去が終了して"1"になった後は,フラッシュメモリへの
書込み/消去が可能になります。
"0"書込みによって"0"にクリアされ,"1"の書込みは無視されます。フラッ
シュメモリ自動アルゴリズム(「23.5 フラッシュメモリ自動アルゴリズム起動
方法」参照)終了タイミングで,"1"にセットされます。リードモディファイラ
イト(RMW)命令使用時は,必ず"1"が読めます。
0:書込み/消去動作実行中
1:書込み/消去動作終了(割込み要求発生)
【bit5】WE(Write Enable)
フラッシュメモリ領域へのライトイネーブルビットです。
このビットが"1"のとき,FE/FC∼FFバンクへのコマンドシーケンス(「23.5
フラッシュメモリ自動アルゴリズム起動方法」参照)発行後のライトは,フラッ
シュメモリ領域へのライトになります。本ビットが"0"のとき,書込み/消去の
信号は発生されません。このビットはフラッシュメモリの書込み/消去のコマン
ドを起動する際に使用します。
書込み/消去を行わないときは,誤ってフラッシュメモリにデータを書込まな
い様,常に"0"に設定することを推奨します。
0:フラッシュメモリ書込み/消去禁止
1:フラッシュメモリ書込み/消去許可
332
23.4 フラッシュメモリコントロールステータスレジスタ(FMCS)
【bit4】RDY(ReadDY)
フラッシュメモリの書込み/消去許可ビットです。
このビットが"0"の間は,フラッシュメモリへの書込み/消去はできません。
なお,この状態でも読み出し/リセットコマンド,セクタ消去一時停止等のサス
ペンドコマンドは受け付けられます。
0:書込み/消去動作実行中(次データ書込み/消去不可)
1:書込み/消去動作終了(次データ書込み/消去許可)
【bit3】予約ビット
試験用予約ビットです。通常使用時は必ず"0"に設定してください。
【bit1】空きビット
通常使用時は必ず"0"に設定してください。
【bit2,0】LPM1,LPM0(Low Power Mode)
LPM1,LPM0ビットを使用すると,フラッシュメモリ本体の消費電力を制御でき
ます。しかし,CPUからフラッシュメモリへのアクセスタイムが設定により大き
く異なりますので,CPUの動作周波数により設定値を選択してください。
01:低電力消費モード(内部動作周波数4MHz以下で動作)
01:低電力消費モード(内部動作周波数8MHz以下で動作)
11:低電力消費モード(内部動作周波数12.58MHz以下で動作)
00:通常消費電力モード(内部動作周波数16MHz以下で動作)
<注意事項>
RDYINTビットとRDYビットは同時には変化しません。どちらか片方のビットで判定するようプロ
グラムを作成してください(図 23.4-2を参照)。
図 23.4-2 RDYINTビットとRDYビットの変化タイミング
333
第23章 1M/2Mビットフラッシュメモリ
23.5
フラッシュメモリ自動アルゴリズム起動方法
フラッシュメモリの自動アルゴリズムを起動するコマンドには,読み出し/リセッ
ト,書込み,チップ消去の4種類があり,セクタ消去については一時停止と再開の制
御が可能です。
■ コマンドシーケンス表
表 23.5-1に,フラッシュメモリの書き込み/消去時に使用するコマンドの一覧を
示します。コマンドレジスタにライトするデータはすべてバイトですが,ワードア
クセスでライトするようにしてください。このときの上位バイト分のデータは無視
されます。
表 23.5-1 コマンドシーケンス表
コマンド
バスライト
1stバスライトサイクル
2ndバスライトサイクル
3thバスライトサイクル
4thバスライトサイクル
5thバスライトサイクル
6thバスライトサイクル
シーケンス
アクセス
アドレス
データ
アドレス
データ
アドレス
データ
アドレス
データ
アドレス
データ
アドレス
データ
読出し/
−
−
−
−
−
−
−
−
−
−
1
FxXXXX XXF0
リセット*
読出し/
4
FxAAAA XXAA Fx5554 XX55 FxAAAA XXF0
RA
RD
−
−
−
−
リセット*
書込み
PA
PD
4
FxAAAA XXAA Fx5554 XX55 FxAAAA XXA0
−
−
−
−
プログラム
(even) (word)
チップ
6
FxAAAA XXAA Fx5554 XX55 FxAAAA XX80 FxAAAA XXAA Fx5554 XX55 FxAAAA XX10
消去
セクタ
SA
XX30
6
FxAAAA XXAA Fx5554 XX55 FxAAAA XX80 FxAAAA XXAA Fx5554 XX55
消去
(even)
セクタ消去一時停止
Address"FxXXXX"Data(xxB0H)の入力で,セクタ消去中の消去一時停止
セクタ消去再開
Address"FxXXXX"Data(xx30H)の入力で,セクタ消去中の消去一時停止後,消去開始
Auto
3
FxAAAA XXAA Fx5554 XX55 FxAAAA XX90
−
−
−
−
−
−
Select
(注)
・表中のアドレスFxは,1Mビットフラッシュメモリの場合はFF,FEを,2Mビットフラッシュメモリの場合はFF,FE,
FD,FCを意味します。それぞれの操作時にはアクセス対象バンクの値としてください。
・表中のアドレスは,CPUメモリマップ上の値です。アドレス及びデータはすべて16進数表記しています。ただし"X"
は任意の値です。
・RA:読み出しアドレス
・PA:書込みアドレス,偶数アドレスのみ指定可
・SA:セクタアドレス(「23.2 フラッシュメモリのセクタ構成」を参照願います。
・RD:読み出しデータ
・PD:書込みデータ,ワードデータのみ指定可
*:2種類の読み出し/リセットコマンドは,どちらもフラッシュメモリを読み出しモードにリセットすることができ
ます。
表 23.5-2におけるAutoSelectはセクタ保護の状態を知るためのコマンドです。
実際には前期コマンドとともに下記のようにアドレスを設定する必要があります。
表 23.5-2 AutoSelect時のアドレス設定
AQ13∼AQ16
AQ7
AQ2
AQ1
AQ0
DQ7∼DQ0
セクタ保護
セクタアドレス
L
H
L
L
CODE*
*:保護されたセクタアドレスでの出力は"01H",保護されていないセクタアドレスでの出
力は"00H"
334
23.6 自動アルゴリズム実行状態の確認
23.6
自動アルゴリズム実行状態の確認
フラッシュメモリでは,書込み/消去のフローを自動アルゴリズムで行うため,フ
ラッシュメモリ内部の動作状態や動作完了したことを知らせるハードウェアを持ち
ます。この自動アルゴリズムは,下記のハードウェアシーケンスによって内蔵フラッ
シュメモリの動作状態の確認ができます。
■ ハードウェア・シーケンス・フラグ
ハードウェア・シーケンス・フラグは,DQ7,DQ6,DQ5,DQ3,DQ2の4ビットの出力
で構成されます。それぞれがデータポーリングフラグ(DQ7),トグルビットフラグ
(DQ6),タイミングリミット超過フラグ(DQ5),セクタ消去タイマフラグ(DQ3),ト
グルビット2フラグ(DQ2)の機能を持ちます。これにより,書込み/チップ・セクタ消
去終了,消去コードライトが有効かの確認をすることができます。
ハードウェア・シーケンス・フラグを参照するには,コマンドシーケンス(「23.5
フラッシュメモリ自動アルゴリズム起動方法」の表 23.5-1を参照)設定後にフラッ
シュメモリ内部の対象セクタのアドレスにリードアクセスすることで参照できま
す。表 23.6-1にハードウェア・シーケンス・フラグのビット割当てを示します。
表 23.6-1 ハードウェア・シーケンス・フラグのビット割当て
ビットNo.
ハードウェアシーケンスフラグ
7
DQ7
6
DQ6
5
DQ5
4
−
3
DQ3
2
DQ2
1
−
0
−
自動書込み/チップ・セクタ消去が実行中であるかの判断は,ハードウェア・シー
ケンス・フラグを確認するか,フラッシュメモリコントロールレジスタ(FMCS)のRDY
ビットを確認することで,書込みが終了しているかを知ることができ,書込み/消
去終了後は,読み出し/リセット状態に戻ります。実際にプログラムを作成する際
には,いずれかのフラグで自動書込み/消去終了を確認後に,データの読み出し等
の次処理を行ってください。また,2回目以降のセクタ消去コードライトが有効で
あるかも,ハードウェア・シーケンス・フラグによって確認することができます。事
項に各ハードウェア・シーケンス・フラグの説明を示します。表 23.6-2に,ハード
ウェア・シーケンス・フラグ機能の一覧を示します。
表 23.6-2 ハードウェア・シーケンス・フラグ機能一覧
状態
書込み動作→書込み完了
(書込みアドレス指定時)
正常動作時
の状態変化
チップセレクタ消去動作→消去
完了
セクタ消去ウェイト→消去開始
消去動作→セクタ消去一時停止
(消去中のセクタ)
セクタ消去一時停止→消去再開
(消去中のセクタ)
セクタ消去一時停止中
(消去中でないセクタ)
DQ7
DQ6
DQ7 →
DATA:7
Toggle→
DATA:6
0→1
0
0→1
1→0
DATA:7
Toggle→
Stop
Toggle
Toggle→
1
1→
Toggle
DATA:6
DQ5
0→
DATA:3
1
0→1
1→0
0→1
DATA:3
DQ3
0→
DATA:5
DQ2
1→
DATA:2
0
Toggle→
Stop
Toggle
0
Toggle
0
Toggle
DATA:5
DATA:2
0→1
0
Toggle
1
1
DQ7
チップセクタ消去動作
0
Toggle
1
1
※
※:DQ5が"1"のとき(タイミングリミット超過),書込み/消去中セクタへの連続的な読出しに対しては,DQ2は
トグル動作をし,ほかのセクタへの読出しに対してはトグルしません。
異常動作
書込み動作
335
第23章 1M/2Mビットフラッシュメモリ
23.6.1
データポーリングフラグ(DQ7)
データポーリングフラグ(DQ7)
データポーリングフラグ(DQ7)は,自動アルゴリズム実行が進行中もしくは終了状
態であることをデータポーリング機能によって知らせるためのフラグです。
■ データポーリングフラグ(DQ7)
表 23.6-3と表 23.6-4に,データポーリングフラグの状態遷移を示します。
表 23.6-3 データポーリングフラグの状態遷移(正常動作時の状態変化)
書込み動作
動作状態
→完了
DQ7
DQ7 →DATA:7
チップセクタ セ ク タ 消 去 セクタ消去
消去
ウェイト
→消去一時停止
消去中のセクタ
→完了
→開始
0→1
0
セクタ消去一時
セクタ消去
停止
→再開
消去中のセクタ
0→1
1→0
一時停止中
消去中でないセクタ
DATA:7
表 23.6-4 データポーリングフラグの状態遷移(異常動作時の状態変化)
動作状態 書込み動作
DQ7
DQ7
○
チップセクタ
消去動作
0
書込み動作時
自動書込みアルゴリズム実行中にリードアクセスすると,フラッシュメモリ
はアドレスの指し示す番地によらず,最後に書き込まれたデータのビット7の反
転データを出力します。自動書込みアルゴリズム終了時にリードアクセスする
と,フラッシュメモリはアドレスの指し示す番地の読み出し値のビット7を出力
します。
○
チップ/セクタ消去動作時
チップ消去/セクタ消去アルゴリズム実行中に,セクタ消去時は現在消去して
いるセクタから,チップ消去時はアドレスの指し示す番地に関係なく,リード
アクセスするとフラッシュメモリは"0"を出力します。同様に終了時には"1"を
出力します。
○
セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレ
スの指し示す番地が消去中のセクタであれば"1"を出力し,消去中のセクタでな
ければアドレスの指し示す番地の読み出し値のビット7(DATA:7)を出力します。
トグルビットフラグ(DQ6)とともに参照することで,現在セクタ一時停止状態で
あるか,どのセクタが消去中であるかの判定が可能です。
<注意事項>
自動アルゴリズム起動時は指定したアドレスへのリードアクセスは無視されます。データの読
み出しは,データポーリングフラグ(DQ7)の終了を受けてほかのビットの出力が可能となります。
このため自動アルゴリズム終了後のデータの読み出しは,データポーリング終了を確認したリー
ドアクセスの次に行うようにしてください。
336
23.6 自動アルゴリズム実行状態の確認
23.6.2
トグルビットフラグ(DQ6)
トグルビットフラグ(DQ6)
トグルビットフラグ(DQ6)はデータポーリングフラグ(DQ7)と同様に,主に自動アル
ゴリズム実行が進行中,もしくは終了状態であることをトグルビット機能によって知
らせるためのフラグです。
■ トグルビットフラグ(DQ6)
表 23.6-5と表 23.6-6に,トグルビットフラグの状態遷移を示します。
表 23.6-5 トグルビットフラグの状態遷移(正常動作時の状態変化)
動作状態
DQ6
書込み動作
→完了
Toggle
→DATA:6
チップセク
タ消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
Toggle→
Stop
Toggle
Toggle →1
消去中のセクタ
セクタ消去一時
停止
→再開
消去中のセクタ
1→ Toggle
セクタ消去
一時停止中
消去中でないセクタ
DATA:6
表 23.6-6 トグルビットフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセク
タ消去動作
DQ6
Toggle
Toggle
○
書込み/チップ・セクタ消去時
自動書込みアルゴリズムおよびチップ・セクタ消去アルゴリズム実行中に,連
続したリードアクセスを行うと,フラッシュメモリはアドレスの指し示す番地
によらず,リードごとに"1"と"0"を交互に出力するトグル状態を出力します。
自動書き込みアルゴリズムおよびチップ/セクタ消去アルゴリズム終了時に連
続したリードアクセスを行うとフラッシュメモリはビット6のトグル動作を止
め,アドレスの指し示す番地の読み出し値のビット6(DATA:6)を出力します。
○
セクタ消去一時停止時
セクタ消去一時停止時にリードアクセスすると,フラッシュメモリはアドレ
スの指し示す番地が消去中のセクタに属するならば,"1"を出力します。消去中
のセクタに属さないのであれば,アドレスの指し示す番地の読み出し値のビッ
ト6(DATA:6)を出力します。
参考:
書込みの際,書き込もうとしているセクタが書き換え保護されているセクタ
の場合は,約2μsのトグル動作をした後,データを書き換えることなくトグル
動作を終わります。
消去の際,選択された全てのセクタが書き換え保護されている場合トグル
ビットは約100μsのトグル動作をし,その後データを書き換えないで読み出し/
リセット状態に戻ります。
337
第23章 1M/2Mビットフラッシュメモリ
23.6.3
タイミングリミット超過フラグ(DQ5)
タイミングリミット超過フラグ(DQ5)
タイミングリミット超過フラグ(DQ5)は,自動アルゴリズムの実行がフラッシュメ
モリ内部に規定された時間(内部パルス回数)を越えてしまったことを知らせるフラ
グです。
■ タイミングリミット超過フラグ(DQ5)
表 23.6-7と表 23.6-8に,タイミングリミット超過フラグの状態遷移を示します。
表 23.6-7 タイミングリミット超過フラグの状態遷移(正常動作時の状態変化)
動作状態
DQ5
書込み動作
→完了
0→DATA:5
チップセク
タ消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
0→1
0
0
消去中のセクタ
セクタ消去一時
停止
→再開
消去中のセクタ
0
セクタ消去
一時停止中
消去中でないセクタ
DATA:5
表 23.6-8 タイミングリミット超過フラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセク
タ消去動作
DQ5
1
1
○
書き込み/チップセクタ消去時
書込み,またはチップセクタ消去自動アルゴリズム起動後にリードアクセス
すると,規定時間(書込み/消去に要する時間)内であれば"0"を,規定時間を越
えてしまっている場合は"1"を出力します。これは,自動アルゴリズムが実行中
か終了状態にあるか無関係ですので,書込み/消去が成功したか失敗したかの判
定が可能です。すなわち,このフラグが"1"を出力したとき,データポーリング
機能もしくはトグルビット機能により自動アルゴリズムがまだ実行中であれば,
書込みが失敗していると判断することができます。
例えば,"0"が書き込まれているフラッシュメモリアドレスに"1"を書き込も
うとするとフェイルが発生します。この場合フラッシュメモリはロックされ,
自動アルゴリズムは終了しません。したがって,データポーリングフラグ(DQ7)
から有効なデータが出力されません。またトグルビットフラグ(DQ6)はトグル動
作を止めず,タイムリミットを越え,タイミングリミット超過フラグ(DQ5)は"1"
を出力します。この状態はフラッシュメモリが不良ではなく,正しく使用され
なかったということを表しています。この状態が発生したときは,リセットコ
マンドを実行してください。
338
23.6 自動アルゴリズム実行状態の確認
23.6.4
セクタ消去タイマフラグ(DQ3)
セクタ消去タイマフラグ(DQ3)
セクタ消去タイマフラグ(DQ3)は,セクタ消去コマンド起動後セクタ消去ウェイト
期間中であるか否かを知らせるフラグです。
■ セクタ消去タイマフラグ(DQ3)
表 23.6-9と表 23.6-10に,セクタ消去タイマフラグの状態遷移を示します。
表 23.6-9 セクタ消去タイマフラグの状態遷移(正常動作時の状態変化)
動作状態
DQ3
書込み動作
→完了
0→DATA:3
チップセク
タ消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
1
0→1
1→0
消去中のセクタ
セクタ消去一時
停止
→再開
消去中のセクタ
0→1
セクタ消去
一時停止中
消去中でないセクタ
DATA:3
表 23.6-10 セクタ消去タイマフラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセク
タ消去動作
DQ3
0
1
○
セクタ消去動作時
セクタ消去コマンド起動後にリードアクセスすると,フラッシュメモリはコ
マンドを発行したセクタのアドレス信号の指し示す番地によらず,セクタ消去
ウェイト期間中であれば"0"を,セクタ消去ウェイト期間を越えてしまっている
場合は"1"を出力します。
データポーリング機能やトグルビット機能により消去アルゴリズムが実行中
を示している場合,このフラグが"1"であれば内部で制御される消去が始まって
います。続けてのセクタ消去コードのライト,または消去一時停止以外のコマ
ンドは,消去が終了されるまで無視されます。
このフラグが"0"であればフラッシュメモリは,追加のセクタ消去コードのラ
イトを受け付けます。このことを確認するために,引き続くセクタ消去コード
のライトに先立ちこのフラグの状態をチェックすることを推奨します。もし2回
目の状態チェックで"1"であったなら追加セクタの消去コードは受け付けられ
てない可能性があります。
○
セクタ消去動作時
セクタ消去一時停止中にリードアクセスすると,フラッシュメモリはアドレ
スの指し示す番地が,消去中のセクタに属するならば"1"を出力します。消去中
のセクタに属さないのであれば,アドレスの指し示す番地の読み出し値のビッ
ト3(DATA:3)を出力します。
339
第23章 1M/2Mビットフラッシュメモリ
23.6.5
トグルビット2
トグルビット2フラグ(DQ2)
フラグ(DQ2)
トグルビット2フラグ(DQ2)は,セクタ消去一時停止中であることをトグルビット機
能によって知らせるフラグです。
■ トグルビット2フラグ(DQ2)
表 23.6-11と表 23.6-12に,トグルビット2フラグの状態遷移を示します。
表 23.6-11 トグルビット2フラグの状態遷移(正常動作時の状態変化)
動作状態
DQ2
書込み動作
→完了
1→DATA:2
チップセク
タ消去
→完了
セクタ消去
ウェイト
→開始
セクタ消去
→消去一時停止
Toggle→
Stop
Toggle
Toggle
消去中のセクタ
セクタ消去一時
停止
→再開
消去中のセクタ
Toggle
セクタ消去
一時停止中
消去中でないセクタ
DATA:2
表 23.6-12 トグルビット2フラグの状態遷移(異常動作時の状態変化)
動作状態
書込み動作
チップセク
タ消去動作
DQ2
1
※
※ DQ5が”1”のとき(タイモングリミット超過),書込み/消去中セクタへの連続的な読出しに対してはDQ2はトグ
ル動作をし,ほかのセクタへの読出しに対してはトグルしません。
○
セクタ消去動作時
チップ・セクタ消去アルゴリズム実行中に連続したリードアクセスを行うと,
フラッシュメモリはアドレスの指す番地によらず,リードごとに”1”と”0”を交互
に出力するトグル状態を出力します。チップ・セクタ消去アルゴリズム終了後
に連続したリードアクセスを行うと,フラッシュメモリはビット2のトグル出力
を止め,アドレスの指し示す番地の読出し値のビット2(DATA:2)を出力します。
○
セクタ消去一時停止時
セクタ消去一時停止中に連続したリードアクセスを行うと,フラッシュメモ
リはアドレスの指し示す番地が,消去中のセクタに属するならば"1"と"0"を交
互に出力するトグル状態を出力します。消去中のセクタに属さないのであれば,
アドレスの指し示す番地の読み出し値のビット2(DATA:2)を出力します。
また,セクタ消去一時停止書込み時,消去一時停止していないセクタから連
続したリードアクセスを行うと,"1"を出力します。
DQ2はDQ6とともに使用し,消去一時停止中であるかを検出するのに使用しま
す。(DQ2はトグル動作するが,DQ6はトグル動作しない。)
さらに,DQ2は消去しているセクタの検出にも使用します。消去動作時には,
DQ2は消去しているセクタからのリードアクセスならばトグル動作をします。
参考:
消去の際,選択されたすべてのセクタが書換え保護されている場合,トグル
ビット2は約100μsのトグル動作をし,その後データを書き換えないで読出し/
リセット状態に戻ります。
340
23.7 フラッシュメモリ書込み/消去の詳細説明
23.7
フラッシュメモリ書込み/
フラッシュメモリ書込み/消去の詳細説明
自動アルゴリズムを起動するコマンドを発行し,フラッシュメモリに読出し/リ
セット,書込み,チップ消去,セクタ消去,セクタ消去一時停止,セクタ消去再開の
それぞれの動作を行う手順を説明します。
■ フラッシュメモリ書込み/消去の詳細説明
フラッシュメモリは読み出し/リセット,書込み,チップ消去,セクタ消去,セ
クタ消去一時停止,消去再開の動作がコマンドシーケンス(「23.5 フラッシュメ
モリ自動アルゴリズム起動方法」の表 23.5-1を参照)のバスへのライトサイクルを
行うことで自動アルゴリズムを実行することが可能です。それぞれのバスへのライ
トサイクルは必ず続けて行う必要があります。また,自動アルゴリズムはデータ・
ポーリング機能等で終了時を知ることができます。正常終了後は読み出し/リセッ
ト状態に戻ります。
各動作について,次項より下記の順に示します。
読出し/リセット状態にする
データを書き込む
全データを消去する(チップ全消去)
任意のデータを消去する(セクタ消去)
セクタ消去を一時停止する
セクタ消去を再開する
341
第23章 1M/2Mビットフラッシュメモリ
23.7.1
フラッシュメモリの読出し/
フラッシュメモリの読出し/リセット状態
読出し/リセットコマンドを発行し,フラッシュメモリを読出し/リセット状態にす
る手順について説明します。
■ フラッシュメモリの読出し/リセット状態
フラッシュメモリを読出し/リセット状態にするには,コマンドシーケンス表
(「23.5 フラッシュメモリ自動アルゴリズム起動方法」の表 23.5-1を参照)の読
み出し/リセットコマンドを,フラッシュメモリ内の対象セクタに続けて送ること
で実行可能です。
読出し/リセットコマンドには1回と3回のバス動作を行う2とおりのコマンド
シーケンスがありますが,これらの本質的な違いはありません。
読出し/リセット状態はフラッシュメモリの初期状態であり,電源投入時,コマ
ンドの正常終了時は常に読出し/リセット状態になります。読出し/リセット状態は
ほかのコマンドの入力待ち状態です。
読出し/リセット状態では通常のリードアクセスでデータを読み出せます。マス
クROMと同様にCPUからのプログラムアクセスが可能です。通常読み出しでのデータ
読出しにこのコマンドは必要ありません,何らかの理由でコマンドが正常に終了し
なかったときなど,自動アルゴリズムを初期化する場合に主にこのコマンドを使用
します。
342
23.7 フラッシュメモリ書込み/消去の詳細説明
23.7.2
フラッシュメモリへのデータ書込み
書込みコマンドを発行し,フラッシュメモリへデータを書き込む手順について説明
します。
■ フラッシュメモリへのデータを書込み
フラッシュメモリの,データ書込み自動アルゴリズムを起動するには,コマンド
シーケンス表(「23.5 フラッシュメモリ自動アルゴリズム起動方法」の表 23.5-1
を参照)の書込みコマンドを,フラッシュメモリ内の対象セクタに続けて送ること
で実行可能です。4サイクル目に目的のアドレスへのデータライトが終了した時点
で,自動アルゴリズムが起動され自動書込みが開始します。
○
アドレス指定方法
書込みデータサイクルの中で指定する書込みアドレスは,偶数アドレスのみ
が可能です。奇数アドレスを指定すると正しく書き込むことができません。す
なわち,偶数アドレスへのワードデータ単位での書込みが必要となります。
書込みはどのようなアドレスの順番でも,また,セクタの境界を超えても可
能ですが,1回の書込みコマンドによって書き込まれるデータは1ワードのみで
す。
○
データ書込み上の注意
書込みによって,データ"0"をデータ"1"に戻すことはできません。データ"0"
にデータ"1"を書込むと,データポーリングアルゴリズム(DQ7)または,トグル
動作(DQ6)が終了せず,フラッシュメモリ素子が不良と判定され,書込み規定時
間を超えタイミングリミット超過フラグ(DQ5)がエラーと判定するか,あるいは
見かけ上データ"1"が書き込まれたように見えるかのどちらかとなります。しか
し,読出し/リセット状態でデータを読み出すとデータは"0"のままです。消去
動作のみが"0"データを"1"にすることができます。
自動書込み実行中は全てのコマンドが無視されます。書込み中にハードウェ
アリセットが起動されると,書き込んでいるアドレスのデータは保証されませ
んので注意が必要です。
■ フラッシュメモリ書込み手順
図 23.7-1に,フラッシュメモリ書込みの手順の例を示します。ハードウェア・
シーケンス・フラグ(「23.6 自動アルゴリズム実行状態の確認」参照)を用いるこ
とでフラッシュメモリ内部の自動アルゴリズムの状態判定が可能です。ここでは,
書込み終了の確認にデータポーリングフラグ(DQ7)を用いています。
フラグチェックのために読み込むデータは最後に書き込みを行ったアドレスか
らの読込みとなります。
データポーリングフラグ(DQ7)は,タイミングリミット超過フラグ (DQ5)と同時
に変わるので,たとえタイミングリミット超過フラグ(DQ5)が"1"であってもデータ
ポーリングフラグビット(DQ7)は再チェックする必要があります。
トグルビットフラグ(DQ6)でも同様にタイミングリミット超過フラグビット
(DQ5)が"1"に変わるのと同時にトグル動作を止めるので,トグルビットフラグ
(DQ6)を再チェックする必要があります。
343
第23章 1M/2Mビットフラッシュメモリ
図 23.7-1 フラッシュメモリ書込み手順の例
344
23.7 フラッシュメモリ書込み/消去の詳細説明
23.7.3
フラッシュメモリの全データの消去(
フラッシュメモリの全データの消去(チップ消去)
チップ消去)
チップ消去コマンドを発行し,フラッシュメモリの全データを消去する手順につい
て説明します。
■ フラッシュメモリの全データの消去(チップ消去)
フラッシュメモリから全てのデータを消去するには,コマンドシーケンス表
(「23.5 フラッシュメモリ自動アルゴリズム起動方法」の表 23.5-1を参照)のチッ
プ消去コマンドを,フラッシュメモリ内の対象セクタに続けて送ることで実行可能
です。
チップ消去コマンドは6回のバス動作で行われます,6サイクル目のライトが完了
した時点でチップ消去動作が開始します。チップ消去では,消去前にユーザがフ
ラッシュメモリに書込みを行う必要はありません。自動消去アルゴリズム実行中に
は,フラッシュメモリは自動的に全てのセルを消去する前に"0"を書き込んで検証
します。
345
第23章 1M/2Mビットフラッシュメモリ
23.7.4
フラッシュメモリの任意データの消去(
フラッシュメモリの任意データの消去(セクタ消
去)
セクタ消去コマンドを発行し,フラッシュメモリの任意のデータを消去する(セク
タ消去)手順について説明します。セクタごとの消去が可能であり,複数のセクタを
同時に指定することも可能です。
■ フラッシュメモリの任意データの消去(セクタ消去)
フラッシュメモリの任意のセクタを消去するためには,コマンドシーケンス表
(「23.5 フラッシュメモリ自動アルゴリズム起動方法」表 23.5-1を参照)のセク
タ消去コマンドを,フラッシュメモリ内の対象セクタに続けて送ることで実行可能
です。
○
セクタ指定方法
セクタ消去コマンドは6回のバス動作で行われます。6サイクル目に目的のセ
クタ内のアクセス可能な任意の偶数の1アドレスへ,セクタ消去コード(30H)を
ライトすることにより50μsのセクタ消去ウェイトが開始します。複数のセクタ
消去を行う場合は,上記の処理に引き続き消去する目的のセクタ内のアドレス
に消去コード(30H)をライトします。
○
複数のセクタを指定するときの注意
最後のセクタ消去コードのライトから50μsのセクタ消去ウェイト期間終了
により消去が開始します。すなわち,複数のセクタを同時に消去する場合は,
次の消去セクタのアドレスと消去コード(コマンドシーケンス6サイクル目)を
それぞれ50μs以内に入力する必要があり,それ以降では受け付けられないこと
があります。引き続くセクタ消去コードのライトが有効かどうかはセクタ消去
タイマ(ハードウェア・シーケンス・フラグDQ3)によって調べることができます。
なおこのとき,セクタ消去タイマをリードするアドレスは,消去しようとして
いるセクタを指すようにします。
■ フラッシュメモリのセクタ消去手順
ハードウェア・シーケンス・フラグ(「23.6 自動アルゴリズム実行状態の確認」
を参照)を用いることでフラッシュメモリ内部の自動アルゴリズムの状態判定が可
能です。図 23.7-2に,フラッシュメモリセクタ消去の手順の例を示します。ここで
は,消去終了の確認にトグルビットフラグ(DQ6)を用いています。
フラグチェックのために読込むデータは,消去しようとしているセクタからの読
込みとなりますので,注意が必要です。
トグルビットフラグ(DQ6)は,タイミングリミット超過フラグ(DQ5)が"1"に変わ
るのと同時にトグル動作を止めるので,たとえタイミングリミット超過フラグ
(DQ5)が"1"であってもトグルビットフラグ(DQ6)は再チェックする必要があります。
データポーリングフラグ(DQ7)でも同様に,タイミングリミット超過フラグ(DQ5)
と同時に変わるので,データポーリングフラグを再チェックする必要があります。
346
23.7 フラッシュメモリ書込み/消去の詳細説明
図 23.7-2 フラッシュメモリのセクタ消去手順の例
347
第23章 1M/2Mビットフラッシュメモリ
23.7.5
フラッシュメモリのセクタ消去の一時停止
フラッシュメモリのセクタ消去の一時停止
セクタ消去一時停止コマンドを発行し,フラッシュメモリセクタ消去の一時停止を
行う手順について説明します。消去中でないセクタから,データを読みだすことが可
能です。
■ フラッシュメモリのセクタ消去の一時停止
フラッシュメモリのセクタ消去を一時停止するには,コマンドシーケンス表
(「23.5 フラッシュメモリ自動アルゴリズム起動方法」の表 23.5-1を参照)のセ
クタ消去一時停止コマンドを,フラッシュメモリ内に続けて送ることで実行可能で
す。
セクタ消去一時停止コマンドは,セクタ消去中に消去を一時停止し,消去中でな
いセクタからのデータ読み出しを可能にするものです。この状態では読み出しのみ
が可能で書込みはできません。このコマンドは消去ウェイト時間を含むセクタ消去
中のみ有効で,チップ消去中や書込み動作中は無視されます。
消去一時停止コード(B0H)のライトを行うことで実施されますが,このときアド
レスはフラッシュメモリ内の任意のアドレスを指すようにします。消去一時停止で
の再度の消去一時停止コマンドは無視されます。
セクタ消去ウェイト期間中に,セクタ消去一時停止コマンドが入力されると,直
ちにセクタ消去ウェイトを終了し,消去動作を中断して消去停止状態になります。
セクタ消去ウェイト期間後のセクタ消去動作中に消去一時停止コマンドが入力さ
れると,最大15μs後,消去一時停止状態に入ります。
348
23.7 フラッシュメモリ書込み/消去の詳細説明
23.7.6
フラッシュメモリのセクタ消去の再開
セクタ消去再開コマンドを発行し,一時停止したフラッシュメモリセクタ消去を再
開する手順について説明します。
■ フラッシュメモリのセクタ消去の再開
一時停止したセクタ消去を再開させるには,コマンドシーケンス表(「23.5 フ
ラッシュメモリ自動アルゴリズム起動方法」表 23.5-1を参照)のセクタ消去再開コ
マンドを,フラッシュメモリ内に続けて送ることで実行可能です。
セクタ消去再開コマンドは,セクタ消去一時停止コマンドによるセクタ消去一時
停止状態から,セクタ消去を再開するためのコマンドです。このコマンドは消去再
開コード(30H)のライトを行うことで実施されますが,このときのアドレスはフ
ラッシュメモリ領域内の任意のアドレスを指すようにします。
なお,セクタ消去中のセクタ消去再開コマンドの発行は無視されます。
349
第23章 1M/2Mビットフラッシュメモリ
23.8
1M/2Mビットフラッシュメモリ使用上の注意
1M/2Mビットフラッシュメモリ使用上の注意
1M/2Mビットフラッシュメモリに関する注意を以下に示します。
■ フラッシュメモリ使用上の注意
○
ハードウェアリセット( RST )の入力
読出し中で自動アルゴリズムが起動していないときに,ハードウェアリセッ
トを入力するには,Lレベル幅として最低500nsをとる必要があります。この場合,
ハードウェアリセット起動後フラッシュメモリからデータを読み出すまでに,
最低500nsが必要となります。
同様に,書込み/消去中で自動アルゴリズムが起動しているときに,ハード
ウェアリセットを入力するには,Lレベル幅として最低50nsをとる必要がありま
す。この場合,フラッシュメモリを初期化するために実行中の動作を停止した
後データを読み出すまでに,20μsが必要となります。
書込み中にハードウェアリセットすると,書き込まれているデータは不定と
なります。消去中にハードウェアリセットすると,消去されているセクタは使
用不可となる可能性があります。
○
ソフトウェアリセット,ウォッチドッグタイマリセット,ハードウェアスタ
ンバイの取消し
CPUアクセスでフラッシュメモリ書込み/消去中に,自動アルゴリズムがアク
ティブ状態でリセット条件が発生した場合,CPUが暴走する可能性があります。
それは,これらのリセット条件により,フラッシュメモリユニットが初期化さ
れずに自動アルゴリズムが続行し,リセット離脱後にCPUがシーケンスを開始し
たときフラッシュメモリユニットが読出し状態になることが妨げられる可能性
があるためです。これらのリセット条件は,フラッシュメモリの書込み/消去中
に禁止されている必要があります。
○
フラッシュメモリへのプログラムアクセス
自動アルゴリズム動作中は,フラッシュメモリへの読出しアクセスは禁止さ
れます。CPUのメモリアクセスモードが内蔵ROMモードにセットされている場合,
プログラム領域をRAMなどの別の領域に切り換え後,書込み/消去を開始する必
要があります。この場合,割込みベクタを含むセクタ(SA4/SA6)が消去されると,
書込み/消去割込み処理を実行できません。
○
ホールド機能
CPUがホールド要求を受け付けたとき,フラッシュメモリユニットの書込み信
号 WE は歪曲され,不正な書込みによる不正な書込み/消去が可能になります。
ホールド要求の受付けが許可(EPCRのHDEビットが"1"をセット)されたとき,コ
ントロールステータスレジスタ(FMCS)のWEビットが必ず"0"になっているよう
にしてください。
○
拡張インテリジェントI/Oサービス(EI2OS)
フラッシュメモリインタフェース回路からCPUに発行された書込み/消去割込
みは,EI2OSには受付不可能であり,使用できません。
○
VIDの適用
セクタプロテクト動作に必要なVIDの適用は,供給電圧がオンのとき常に開始
し,終了する必要があります。
350
23.9 フラッシュセキュリティの特長
23.9
フラッシュセキュリティの特長
フラッシュセキュリティコントローラ機能により,フラッシュメモリの内容を外部
端子から読出されることを防止できます。
■ フラッシュセキュリティの特長
事前定義されたフラッシュメモリのアドレスが,フラッシュセキュリティコント
ローラ(1Mビットフラッシュメモリ:FE0001,2Mビットフラッシュメモリ:FC0001)に
割り当てられます。このアドレスに保護コード"01H"が書き込まれると,フラッシュ
メモリへのアクセスが制限されます。フラッシュメモリが一度保護されると,チッ
プ消去を行うまで,機能のロックを解除することはできません。ロックを解除しな
い限り,いずれの外部端子からもフラッシュメモリへの読出し/書込みはできませ
ん。
この機能は,フラッシュメモリに格納される自己完結型プログラムやデータのセ
キュリティを必要とするアプリケーションに適しています。マイクロコントローラ
の外部に位置するプログラム部分を対象アプリケーションが必要とする場合には,
フラッシュセキュリティコントローラは,目的の機能を提供することができません。
このため,保護コードを設定した場合は,外部ベクタフェッチモードは使用しませ
ん。
一度保護されたフラッシュメモリを再度プログラムするには,チップ消去操作を
行う必要があります。
351
第23章 1M/2Mビットフラッシュメモリ
23.10
1M/2Mビットフラッシュメモリのプログラム例
1M/2Mビットフラッシュメモリのプログラム例
ここでは,1M/2Mビットフラッシュメモリのプログラム例を掲載します。
■ 1M/2Mビットフラッシュメモリのプログラム例
NAME
FLASHWE
TITLE
FLASHWE
;------------------------------------------------------------------------------;1M/2Mbit-FLASH サンプルプログラム
;
;1: FLASHにあるプログラム(アドレス FFC000H セクタ SA4/SA6)をRAM(アドレス 000700H)
;
に転送する。
;2: RAM上でプログラムを実行する。
;3: PDR1の値をFLASH(アドレス FE0000Hセクタ SA0/SA2)に書込む。
;4: 書込んだ値(アドレス FE0000H セクタ SA0/SA2)を読出しPDR2に出力する。
;5: 書込んだセクタ(SA0/SA2)を消去する。
;6: 消去データ確認の出力
; 条件
;
・RAM転送バイト数: 100H(256B)
;
・書込み,消去の終了判定
;
DQ5(タイミングリミット超過フラグ)での判定
;
DQ6(トグルビットフラグ)での判定
;
RDY(FMCS)での判定
;
・エラー時の処理
;
P00∼P07にHiを出力する
;
リセットコマンド発行
;------------------------------------------------------------------------------;
RESOUS IOSEG
ABS=00
;"RESOUS"I/Oセグメントの定義
ORG
0000H
PDR0
RB
1
PDR1
RB
1
PDR2
RB
1
PDR3
RB
1
ORG
0010H
DDR0
RB
1
DDR1
RB
1
DDR2
RB
1
DDR3
RB
1
ORG
00A1H
CKSCR
RB
1
ORG
00AEH
FMCS
RB
1
ORG
006FH
ROMM
RB
1
RESOUS ENDS
;
SSTA
SSEG
RW
0127H
STA_T
RW
1
SSTA
ENDS
;
DATA
DSEG
ABS=0FFH
;FLASHコマンドアドレス
ORG
5554H
352
23.10 1M/2Mビットフラッシュメモリのプログラム例
COMADR2 RW
1
ORG
0AAAAH
COMADR1 RW
1
DATA
ENDS
;/////////////////////////////////////////////////////////////
;メインプログラム(SA1)
;/////////////////////////////////////////////////////////////
CODE
CSEG
START:
;/////////////////////////////////////////////////////
;初期化
;/////////////////////////////////////////////////////
MOV
CKSCR,#0BAH
;3逓倍に設定
MOV
RP,#0
MOV
A,#!STA_T
MOV
SSB,A
MOVW
A,#STA_T
MOVW
SP,A
MOV
ROMM,#00H
;ミラーOFF
MOV
PDR0,#00H
;エラー確認用
MOV
DDR0,#0FFH
MOV
PDR1,#00H
;データ入力用ポート
MOV
DDR1,#00H
MOV
PDR2,#00H
;データ出力用ポート
MOV
DDR2,#0FFH
;//////////////////////////////////////////////////////////////
;RAM(700H番地)に"FLASH書込み消去プログラム(FFC000H)"を転送する
;//////////////////////////////////////////////////////////////
MOVW
A,#0700H
;転送先RAM領域
MOVW
A,#0C000H
;転送元アドレス(プログラムのある位置)
MOVW
RW0,#100H
;転送するバイト数
MOVS
ADB,PCB
;FFBC00Hから000700Hへ100H転送
CALLP
000700H
;転送したプログラムのあるアドレスへジャンプ
;/////////////////////////////////////////////////////
;データ出力
;/////////////////////////////////////////////////////
OUT
MOV
A,#0FEH
MOV
ADB,A
MOVW
RW2,#0000H
MOVW
A,@RW2+00
MOV
PDR2,A
END
JMP
*
CODE
ENDS
;////////////////////////////////////////////////////////////
;FLASH書込み消去プログラム(SA4/SA6)
;////////////////////////////////////////////////////////////
RAMPRG CSEG
ABS=0FFH
ORG
0C000H
;
////////////////////////////////////////////
;
初期化
;
////////////////////////////////////////////
MOVW
RW0,#0500H
;RW0:入力データ確保用RAM空間
00:0500∼
MOVW
RW2,#0000H
;RW2:フラッシュメモリ書込みアドレス FD:0000∼
MOV
A,#00H
;DTB変更
MOV
DTB,A
;@RW0用バンク指定
MOV
A,#0FEH
;ADB変更1
MOV
ADB,A
;書込みモード指定アドレス用バンク指定
353
第23章 1M/2Mビットフラッシュメモリ
MOV
MOV
PDR3,#00H
DDR3,#00H
;スイッチ初期化
;
WAIT1
BBC
PDR3:0,WAIT1
;PDR3:0 Hiで書込みスタート
;
;////////////////////////////////////////////////
; 書込み(SA0/SA2)
;////////////////////////////////////////////////
MOV
A,PDR1
MOVW
@RW0+00,A
;RAMにPDR1データを確保
MOV
FMCS,#20H
;書込みモード設定
MOVW
ADB:COMADR1,#00AAH
;フラッシュ書込みコマンド1
MOVW
ADB:COMADR2,#0055H
;フラッシュ書込みコマンド2
MOVW
ADB:COMADR1,#00A0H
;フラッシュ書込みコマンド3
;
MOVW
A,@RW0+00
;入力データ(RW0)をフラッシュメモリ(RW2)
;
に書込む
MOVW
@RW2+00,A
WRITE
;待ち時間チェック
;
///////////////////////////////////////////////////////////////////
;
タイムリミット超過チェック-フラグが立ちトグル動作中であるときERROR
;
///////////////////////////////////////////////////////////////////
MOVW
A,@RW2+00
AND
A,#20H
;DQ5タイムリミットチェック
BZ
NTOW
;タイムリミットオーバ
MOVW
A,@RW2+00
;AH
MOVW
A,@RW2+00
;AL
XORW
A
;AH ALのXOR(値が違えば1)
AND
A,#40H
;DQ6トグルビットは違っているか
BNZ
ERROR
;違えばERRORへ
;
///////////////////////////////////////
;
書込み終了チェック(FMCS-RDY)
;
///////////////////////////////////////
NTOW
MOVW
A,FMCS
AND
A,#10H
;FMCS RDYビット(4bit)抽出
BZ
WRITE
;書込み終了か?
MOV
FMCS,#00H
;書き込みモード解除
;/////////////////////////////////////////////////////
;書込みデータ出力
;/////////////////////////////////////////////////////
MOVW
RW2,#0000H
;書込みデータ出力
MOVW
A,@RW2+00
MOV
PDR2,A
;
WAIT2
BBC
PDR3:1,WAIT2
;PDR3:1 Hiでセクタ消去スタート
;
;/////////////////////////////////////////////
;セクタ消去(SA0/SA2)
;/////////////////////////////////////////////
MOV
@RW2+00,#0000H
;アドレス初期化
MOV
FMCS,#20H
;消去モード設定
MOVW
ADB:COMADR1,#00AAH
;フラッシュ消去コマンド1
MOVW
ADB:COMADR2,#0055H
;フラッシュ消去コマンド2
MOVW
ADB:COMADR1,#0080H
;フラッシュ消去コマンド3
MOVW
ADB:COMADR1,#00AAH
;フラッシュ消去コマンド4
MOVW
ADB:COMADR2,#0055H
;フラッシュ消去コマンド5
MOV
@RW2+00,#0030H
;消すセクタに消去コマンド発行6
354
23.10 1M/2Mビットフラッシュメモリのプログラム例
ELS
;
;
;
; 待ち時間チェック
///////////////////////////////////////////////////////////////////
タイムリミット超過チェック- フラグが立ちトグル動作中であるときERROR
///////////////////////////////////////////////////////////////////
MOVW
A,@RW2+00
AND
A,#20H
;DQ5タイムリミットチェック
BZ
NTOE
;タイムリミットオーバ
MOVW
A,@RW2+00
;AH
書込み動作中は,DQ6から
MOVW
A,@RW2+00
;AL
リード毎Hi Lowが交互出力される
XORW
A
;AHとALのXOR(DQ6の値が違えば1 書込み動作
;
中である)
AND
A,#40H
;DQ6トグルビットはHiか
BNZ
ERROR
;HiならERRORへ
;
///////////////////////////////////////
;
消去終了チェック(FMCS-RDY)
;
///////////////////////////////////////
NTOE
MOVW
A,FMCS
;
AND
A,#10H
;FMCS RDYビット(4bit)抽出
BZ
ELS
;セクタ消去終了か?
MOV
FMCS,#00H
;FLASH消去モード解除
RETP
;メインプログラムに戻る
;//////////////////////////////////////////////
;エラー
;//////////////////////////////////////////////
ERROR
MOV
ADB:COMADR1,#0F0H
;リセットコマンド(読出しが可能になる)
MOV
FMCS,#00H
;FLASHモード解除
MOV
PDR0,#0FFH
;エラー処理の確認
RETP
;メインプログラムに戻る
RAMPRG ENDS
;/////////////////////////////////////////////
VECT
CSEG
ABS=0FFH
ORG
0FFDCH
DSL
START
DB
00H
VECT
ENDS
;
END
START
355
第23章 1M/2Mビットフラッシュメモリ
356
第24章
24章 MB90F438L(S)/F439(S)シリアル書込み接続例
MB90F438L(S)/F439(S)シリアル書込み接続例
この章では,横河ディジタルコンピュータ株式会社製AF220/AF210/AF120/AF110フ
ラッシュマイコンプログラマを用いた場合の,シリアル書込みの接続例について説明
します。
24.1 MB90F438L(S)/F439(S)シリアル書込み接続の基本構成
24.2 シリアル書込み接続例(ユーザ電源使用時)
24.3 シリアル書込み接続例(ライタから電源供給時)
24.4 フラッシュマイコンプログラマとの最小限の接続例(ユーザ電源使用時)
24.5 フラッシュマイコンプログラマとの最小限の接続例(ライタから電源供給時)
357
第24章 MB90F438L(S)/F439(S)シリアル書込み接続例
24.1
MB90F438L(S)/F439(S)シリアル書込み接続の基本構成
MB90F438L(S)/F439(S)シリアル書込み接続の基本構成
MB90F438L(S)/F439(S)では,フラッシュROMのシリアルオンボード書込み(富士通標
準)をサポートしています。その仕様について以下に解説します。
■ MB90F438L(S)/F439(S)シリアル書込み接続の基本構成
富士通標準シリアルオンボード書込みには,横河ディジタルコンピュータ株式会
社製 AF220/AF210/AF120/AF110フラッシュマイコンプログラマを使用します。図
24.1-1に,MB90F438L(S)/F439(S)シリアル書込み接続の基本構成を示します。
図 24.1-1 MB90F438L(S)/F439(S)シリアル書込み接続の基本構成
<注意事項>
AF220/AF210/AF120/AF110フラッシュマイコンプログラマの機能,操作方法,接続用汎用共通
ケーブル(AZ210),およびコネクタについては,横河ディジタルコンピュータ株式会社にお問い合
わせください。
358
24.1 MB90F438L(S)/F439(S)シリアル書込み接続の基本構成
表 24.1-1 富士通標準シリアルオンボード書込みに使用する端子
端 子
MD2,MD1,
MD0
X0,X1
P00,P01
機 能
モード端子
発振子用端子
RST
SIN1
SOT1
SCK1
C
書込みプログラム起動端子
リセット端子
シリアルデータ入力端子
シリアルデータ出力端子
シリアルクロック入力端子
C端子
VCC
電源電圧供給端子
VSS
GND端子
ハードウェアスタンバイ端子
HST
補足説明
フラッシュマイコンプログラマから,書込みモードに制御しま
す。
書込みモード時に,CPU内部動作クロックはPLLクロック1逓倍
となっております。従いまして,発振クロック周波数が,内部
動作クロックとなります。
−
−
UART1をCLK同期モードとして使用します。
電源安定化の容量端子です。
外部に0.1μF程度のセラミックコ
ンデンサを接続してください。
書込み電圧(5V±10%)をユーザーシステムから供給する場合に
はフラッシュマイコンプログラマとの接続は必要ありません。
接続時にはユーザー側の電源と短絡しない様にしてください。
フラッシュマイコンプログラマのGNDと共通にします。
シリアル書き込みモード中は"H"レベルを入力してください。
なお,P00,SIN1,SOT1,SCK1端子をユーザシステムでも使用する場合には,図
24.1-2に示す制御回路が必要となります。(フラッシュマイコンプログラマの/TICS
信号により,シリアル書込み中はユーザ回路を切り離すことができます)。
図 24.1-2 制御回路
「24.2節」以降に,次の4つのシリアル書込み接続例を示していますので,参照
してください。
MB90F438L(S)/F439(S)内部ベクタモード時 シリアル書込み接続例(ユー
ザ電源使用時)
MB90F438L(S)/F439(S)内部ベクタモード時 シリアル書込み接続例(ライ
タから電源供給時)
フラッシュマイコンプログラマとの最小限の接続例(ユーザ電源使用時)
フラッシュマイコンプログラマとの最小限の接続例(ライタから電源供
給時)
359
第24章 MB90F438L(S)/F439(S)シリアル書込み接続例
表 24.1-2 フラッシュマイコンプログラマシステム構成
(横河ディジタルコンピュータ株式会社製)
型 格
AF220/AC4P
AF210/AC4P
AF120/AC4P
AF110/AC4P
機 能
イーサネットインタフェース内蔵モデル/100V∼220V電源アダプタ
スタンダードモデル/100V∼220V電源アダプタ
本体
単キーイーサネットインタフェースモデル/100V∼220V電源アダプタ
単キーモデル/100V∼220V電源アダプタ
AZ221
ライタ専用 PC/AT用RS232Cケーブル
AZ210
標準ターゲットプローブ(a) 長さ:1m
FF201
富士通製 F2MC-16LX フラッシュマイコン用コントロールモジュール
AZ290
リモートコントローラ
/P2
2MB PC Card(Option) FLASHメモリ容量∼128KB対応
/P4
4MB PC Card(Option) FLASHメモリ容量∼512KB対応
問い合せ先:横河ディジタルコンピュータ株式会社
電話:042-333-6224
<注意事項>
AF200フラッシュマイコンプログラマについては,終息製品ですが,コントロールモジュール
FF201を用いることで対応可能です。シリアル書込み接続例に関しては,「■ 発振クロック周波
数とシリアルクロック入力周波数」に示した接続例にて対応可能です。
■ 発振クロック周波数とシリアルクロック入力周波数
MB90F438L(S)/F439(S)の入力可能なシリアルクロック周波数は以下の計算式よ
り求まります。
入力可能なシリアルクロック周波数=0.125×発振クロック周波数例
したがって,ご使用の発振クロック周波数によって,シリアルクロック入力周波
数をフラッシュマイコンプログラマの設定にて変更してください。
表 24.1-3 入力可能なシリアルクロック周波数の例
発振クロック周波数
マイコンの入力可能な最大
シリアルクロック周波数
4MHz時
8MHz時*
16MHz時*
*:外部クロック供給のみ
360
500kHz
1MHz
2MHz
AF220/AF210/AF120/AF110
の設定可能な最大シリア
ルクロック周波数
500kHz
850kHz
1.25MHz
AF200の設定可能な最大
シリアルクロック周波数
500kHz
500kHz
500kHz
24.2 シリアル書込み接続例(ユーザ電源使用時)
24.2
シリアル書込み接続例(ユーザ電源使用時)
図 24.2-1に,マイコンの電源電圧をユーザ電源より供給する場合の,シリアル書
込み接続例を示します。なお,モード端子MD2,MD0には,AF220/AF210/AF120/AF110
のTAUX3,TMODEより,MD2=1,MD0=0が入力されます。
シリアル書き換えモード:MD2,MD1,MD0=110
■ シリアル書込み接続例(ユーザ電源使用時)
図 24.2-1 MB90F438L(S)/F439(S)シングルチップモード時シリアル書込み接続例(ユーザ電源使用時)
361
第24章 MB90F438L(S)/F439(S)シリアル書込み接続例
SIN1,SOT1,SCK1端子をユーザシステムでも使用する場合には,P00と同様
に,下図に示す制御回路が必要となります(フラッシュマイコンプログラ
マの /TICS信号により,シリアル書込み中はユーザ回路を切り離すこと
ができます)。
AF220/AF210/AF120/AF110との接続はユーザ電源がOFFの状態で行ってく
ださい。
362
24.3 シリアル書込み接続例(ライタから電源供給時)
24.3
シリアル書込み接続例(ライタから電源供給時)
図 24.3-1に,マイコンの電源電圧をライタ電源より供給する場合の,シリアル書
込み接続例を示します。なお,モード端子MD2,MD0には,AF220/AF210/AF120/AF110
のTAUX3,TMODEより,MD2=1,MD0=0が入力されます。
シリアル書き換えモード:MD2,MD1,MD0=110
■ シリアル書込み接続例(ライタから電源供給時)
図 24.3-1 MB90F438L(S)/F439(S)シングルチップモード時シリアル書込み接続例
(ライタから電源供給時)
363
第24章 MB90F438L(S)/F439(S)シリアル書込み接続例
SIN1,SOT1,SCK1端子をユーザシステムでも使用する場合には,P00と同様
に,下図に示す制御回路が必要となります(フラッシュマイコンプログラ
マの/TICS信号により,シリアル書込み中はユーザ回路を切り離すことが
できます)。
AF220/AF210/AF120/AF110との接続はユーザ電源がOFFの状態で行ってく
ださい。
書込み電源をAF220/AF210/AF120/AF110から供給するときはユーザ電源
と短絡しないでください。
364
24.4 フラッシュマイコンプログラマとの最小限の接続例(ユーザ電源使用時)
24.4
フラッシュマイコンプログラマとの最小限の接続例
フラッシュマイコンプログラマとの最小限の接続例
(ユーザ電源使用時)
図 24.4-1に,マイコンの電源電圧をユーザ電源より供給する場合の,フラッシュ
マイコンプログラマとの最小限の接続例を示します。
シリアル書き換えモード:MD2,MD1,MD0=110
■ フラッシュマイコンプログラマとの最小限の接続例(ユーザ電源使用時)
フラッシュメモリ書込み時に,各端子を図 24.4-1に示すように設定して頂けれ
ば,MD2,MD1,MD0,P00とフラッシュマイコンプログラマとの接続は必要ありません。
図 24.4-1 MB90F438L(S)/F439(S)フラッシュマイコンプログラマとの最小限の
接続例 (ユーザ電源使用時)
365
第24章 MB90F438L(S)/F439(S)シリアル書込み接続例
SIN1,SOT1,SCK1端子をユーザシステムでも使用する場合には,下図に示
す制御回路が必要となります(フラッシュマイコンプログラマの /TICS
信号により,シリアル書込み中はユーザ回路を切り離すことができます)。
AF220/AF210/AF120/AF110との接続はユーザ電源がOFFの状態で行ってく
ださい。
366
24.5 フラッシュマイコンプログラマとの最小限の接続例(ライタから電源供給時)
24.5
フラッシュマイコンプログラマとの最小限の接続例
(ライタから電源供給時)
図 24.5-1に,マイコンの電源電圧をライタ電源より供給する場合の,フラッシュ
マイコンプログラマとの最小限の接続例を示します。
シリアル書き換えモード:MD2,MD1,MD0=110
■ フラッシュマイコンプログラマとの最小限の接続例(ライタから電源供給時)
フラッシュメモリ書込み時に各端子を図 24.5-1に示すように設定して頂ければ,
MD2,MD1,MD0,P00とフラッシュマイコンプログラマとの接続は必要ありません。
図 24.5-1 MB90F438L(S)/F439(S)フラッシュマイコンプログラマとの最小限の
接続例(ライタから電源供給時)
367
第24章 MB90F438L(S)/F439(S)シリアル書込み接続例
SIN1,SOT1,SCK1端子をユーザシステムでも使用する場合には,下図に示
す制御回路が必要となります(フラッシュマイコンプログラマの /TICS
信号により,シリアル書込み中はユーザ回路を切り離すことができます)。
AF220/AF210/AF120/AF110との接続はユーザ電源がOFFの状態で行ってく
ださい。
書込み電源をAF220/AF210/AF120/AF110から供給するときはユーザ電源
と短絡しないでください。
368
付録
ここでは,I/Oマップ,命令一覧表などを掲載します。
A I/Oマップ
B 命令概要
369
付録
A
I/Oマップ
I/Oマップ
本マイクロコントローラの各リソースのレジスタは,以下のようなアドレスが割当
てられています。
■ I/Oマップ
付表 A-1 I/Oマップ(続く)
アドレス
000000H
000001H
000002H
000003H
000004H
000005H
000006H
000007H
000008H
000009H
00000AH
00000BH∼
0000OFH
レジスタ
ポート0データレジスタ
ポート1データレジスタ
ポート2データレジスタ
ポート3データレジスタ
ポート4データレジスタ
ポート5データレジスタ
ポート6データレジスタ
ポート7データレジスタ
ポート8データレジスタ
ポート9データレジスタ
ポートAデータレジスタ
略称
PDR0
PDR1
PDR2
PDR3
PDR4
PDR5
PDR6
PDR7
PDR8
PDR9
PDRA
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
リソース
ポート0
ポート1
ポート2
ポート3
ポート4
ポート5
ポート6
ポート7
ポート8
ポート9
ポートA
初期値
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
-------XB
予約領域
000010H
000011H
000012H
000013H
000014H
000015H
000016H
000017H
000018H
000019H
00001AH
00001BH
00001CH
ポート0方向レジスタ
ポート1方向レジスタ
ポート2方向レジスタ
ポート3方向レジスタ
ポート4方向レジスタ
ポート5方向レジスタ
ポート6方向レジスタ
ポート7方向レジスタ
ポート8方向レジスタ
ポート9方向レジスタ
ポートA方向レジスタ
アナログ入力許可レジスタ
ポート0プルアップ制御レジスタ
DDR0
DDR1
DDR2
DDR3
DDR4
DDR5
DDR6
DDR7
DDR8
DDR9
DDRA
ADER
PUCR0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
ポート0
ポート1
ポート2
ポート3
ポート4
ポート5
ポート6
ポート7
ポート8
ポート9
ポートA
ポート6,A/D
ポート0
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
00000000B
-------0B
11111111B
00000000B
00001DH
ポート1プルアップ制御レジスタ
PUCR1
R/W
ポート1
00000000B
00001EH
ポート2プルアップ制御レジスタ
PUCR2
R/W
ポート2
00000000B
00001FH
ポート3プルアップ制御レジスタ
PUCR3
R/W
ポート3
00000000B
000020H
000021H
シリアルモードコントロールレジスタ0
シリアルステータスレジスタ0
シリアルインプットデータレジスタ0/
シリアルアウトプットデータレジスタ0
レート/データレジスタ
UMC0
USR0
UIDR0/
UODR0
URD0
R/W
R/W
000022H
000023H
370
R/W
R/W
00000100B
00010000B
UART0
XXXXXXXXB
0000000XB
A I/Oマップ
付表 A-1 I/Oマップ(続く)
アドレス
000024H
000025H
000026H
000027H
000028H
000029H
00002AH
00002BH
00002CH
00002DH
00002EH
00002FH
000030H
000031H
000032H
000033H
000034H
000035H
000036H
000037H
000038H
000039H
00003AH
00003BH
00003CH
00003DH
00003EH
00003FH
000040H
000041H
000042H
000043H
000044H
000045H
000046H
000047H∼
00004BH
00004CH
00004DH
00004EH
00004FH
レジスタ
シリアルモードレジスタ1
シリアルコントロールレジスタ1
シリアルインプットデータレジスタ1/
シリアルアウトプットデータレジスタ1
シリアルステータスレジスタ
UART1通信プリスケーラコントロールレ
ジスタ
シリアルエッジセレクトレジスタ
シリアルI/Oプリスケーラ
略称
SMR1
SCR1
SIDR1/
SODR1
SSR1
アクセス
R/W
R/W
U1CDCR
R/W
0---1111B
SES1
使用禁止
SCDCR
R/W
-------0B
R/W
0---1111B
----0000B
00000010B
XXXXXXXXB
-------0B
00000000B
XXXXXXXXB
00000000B
00000000B
00000000B
00000000B
XXXXXXXXB
00001-XXB
0-000--1B
0-000001B
000000--B
R/W
R/W
シリアルモードコントロールレジスタ
SMCS
R/W
シリアルデータレジスタ
シリアルエッジセレクトレジスタ
割込み許可レジスタ
割込み要因レジスタ
SDR
SES2
ENIR
EIRR
R/W
R/W
R/W
R/W
要求レベル設定レジスタ
ELVR
R/W
A/Dコントロールステータスレジスタ0
A/Dコントロールステータスレジスタ1
A/Dデータレジスタ0
A/Dデータレジスタ1
PPG0動作モード制御レジスタ
PPG1動作モード制御レジスタ
PPG0/1クロック選択レジスタ
PPG2動作モード制御レジスタ
PPG3動作モード制御レジスタ
PPG2/3クロック選択レジスタ
PPG4動作モード制御レジスタ
PPG5動作モード制御レジスタ
PPG4/5クロック選択レジスタ
PPG6動作モード制御レジスタ
PPG7動作モード制御レジスタ
PPG6/7クロック選択レジスタ
ADCS0
ADCS1
ADCR0
ADCR1
PPGC0
PPGC1
PPG01
予約領域
PPGC2
PPGC3
PPG23
使用禁止
PPGC4
PPGC5
PPG45
使用禁止
PPGC6
PPGC7
PPG67
リソース
R/W
R/W
R
R/W
R/W
R/W
R/W
初期値
00000000B
00000100B
XXXXXXXXB
UART1
シリアルI/O
DTP/外部割込み
A/Dコンバータ
16ビット
PPGタイマ0/1
00001-00B
R/W
R/W
R/W
16ビット
PPGタイマ2/3
0-000--1B
0-000001B
000000--B
R/W
R/W
R/W
16ビット
PPGタイマ4/5
0-000--1B
0-000001B
000000--B
R/W
R/W
R/W
16ビット
PPGタイマ6/7
0-000--1B
0-000001B
000000--B
使用禁止
インプットキャプチャコントロール
ステータスレジスタ0/1
インプットキャプチャコントロール
ステータスレジスタ2/3
インプットキャプチャコントロール
ステータスレジスタ4/5
インプットキャプチャコントロール
ステータスレジスタ6/7
ICS01
R/W
ICS23
R/W
ICS45
R/W
ICS67
R/W
インプット
キャプチャ0/1
インプット
キャプチャ2/3
インプット
キャプチャ4/5
インプット
キャプチャ6/7
00000000B
00000000B
00000000B
00000000B
371
付録
付表 A-1 I/Oマップ(続く)
アドレス
000050H
000051H
000052H
000053H
000054H
000055H
000056H
000057H
000058H
000059H
00005AH
00005BH
00005CH∼
00006BH
00006CH
00006DH
00006EH
00006FH
レジスタ
タイマコントロールステータスレジスタ
0
タイマレジスタ0/
タイマリロードレジスタ0
タイマコントロールステータスレジスタ
1
タイマレジスタ1/
タイマリロードレジスタ1
アウトプットコンペアコントロールレジ
スタ0
アウトプットコンペアコントロールレジ
スタ1
アウトプットコンペアコントロールレジ
スタ2
アウトプットコンペアコントロールレジ
スタ3
略称
アクセス
TMCSR0
R/W
TMR0/
TMRLR0
R/W
TMCSR1
R/W
TMR1/
TMRLR1
R/W
OCS0
OCS1
R/W
R/W
タイマカウンタデータレジスタ
TCDT
入出力タイマ
タイマカウンタコントロールステータス
レジスタ
TCCS
R/W
ROMミラー機能選択レジスタ
ROMM
R/W
0000--00B
ROMミラー
機能選択
モジュール
00000000B
00000000B
00000000B
-------1B
予約領域
使用禁止
R/W
00009FH
遅延割込み要因発生/解除レジスタ
DIRR
R/W
低消費電力モード制御レジスタ
クロック選択レジスタ
LPMCR
CKSCR
R/W
R/W
ア ド レス 一致 検
出機能
遅延割込み
発生モジュール
低消費電力
制御回路
00000000B
-------0B
00011000B
11111100B
使用禁止
自動レディ機能選択レジスタ
外部アドレス出力制御レジスタ
バス制御信号選択レジスタ
ARSR
HACR
ECSR
W
0000A8H
ウォッチドッグタイマ制御レジスタ
WDTC
R/W
0000A9H
タイムベースタイマ制御レジスタ
TBTC
R/W
時計タイマ制御レジスタ
WTC
R/W
372
0000--00B
予約領域
PACSR
0000AFH
アウトプット
コンペア2/3
R/W
プログラムアドレス検出コントロール/
ステータスレジスタ
0000AEH
アウトプット
コンペア0/1
---00000B
00009EH
0000AAH
0000ABH∼
0000ADH
16ビット
リロード
タイマ1
使用禁止
000070H∼
00007FH
000080H∼
00008FH
000090H∼
00009DH
0000A0H
0000A1H
0000A2H∼
0000A4H
0000A5H
0000A6H
0000A7H
16ビット
リロード
タイマ0
初期値
00000000B
----0000B
XXXXXXXXB
XXXXXXXXB
00000000B
----0000B
XXXXXXXXB
XXXXXXXXB
---00000B
OCS2
OCS3
リソース
外部メモリ
0011--00B
00000000B
0000000-B
アクセス
ウォッチドッグ
タイマ
タイムベース
タイマ
時計タイマ
1X000000B
フラッシュメモリ
000X0000B
XXXXX111B
1--00100B
使用禁止
フラッシュメモリコントロール
ステータスレジスタ
FMCS
使用禁止
R/W
A I/Oマップ
付表 A-1 I/Oマップ(続く)
アドレス
レジスタ
略称
アクセス
リソース
初期値
0000B0H
割込み制御レジスタ00
ICR00
R/W
00000111B
0000B1H
割込み制御レジスタ01
ICR01
R/W
00000111B
0000B2H
割込み制御レジスタ02
ICR02
R/W
00000111B
0000B3H
割込み制御レジスタ03
ICR03
R/W
00000111B
0000B4H
割込み制御レジスタ04
ICR04
R/W
00000111B
0000B5H
割込み制御レジスタ05
ICR05
R/W
00000111B
0000B6H
割込み制御レジスタ06
ICR06
R/W
00000111B
0000B7H
割込み制御レジスタ07
ICR07
R/W
00000111B
割込みコントローラ
0000B8H
割込み制御レジスタ08
ICR08
R/W
00000111B
0000B9H
割込み制御レジスタ09
ICR09
R/W
00000111B
0000BAH
割込み制御レジスタ10
ICR10
R/W
00000111B
0000BBH
割込み制御レジスタ11
ICR11
R/W
00000111B
0000BCH
割込み制御レジスタ12
ICR12
R/W
00000111B
0000BDH
割込み制御レジスタ13
ICR13
R/W
00000111B
0000BEH
割込み制御レジスタ14
ICR14
R/W
00000111B
0000BFH
割込み制御レジスタ15
ICR15
R/W
00000111B
0000C0H∼
外部領域
0000FFH
001FF0H
R/W
XXXXXXXXB
プログラムアドレス検出レジスタ0
PADR0
001FF1H
R/W
XXXXXXXXB
アドレス一致検出機 XXXXXXXXB
001FF2H
R/W
能
001FF3H
R/W
XXXXXXXXB
プログラムアドレス検出レジスタ1
PADR1
001FF4H
R/W
XXXXXXXXB
XXXXXXXXB
001FF5H
R/W
・初期値について→ 0:初期値 "0" / 1:初期値 "1" / X:初期値不定 / "-":初期値不定(なし)
(注) 書込み可能なビットに関しては,リセットにより初期化される値が初期値として記述されています。
読出し時の値ではありませんので注意してください。
また,LPMCR/CKSCR/WDTCでは,リセットの種類により,初期化される場合と,初期化されない場合
がありますが,初期化される場合の初期値が記述されています
・コンペアレジスタ0∼3はフリーランタイマ2を,コンペアレジスタ4∼7はフリーランタイマ1を使用します。
なおフリーランタイマ1はインプットキャプチャでも使用します。
373
付録
付表 A-1 I/Oマップ(続く)
アドレス
3900H
3901H
3902H
3903H
3904H
3905H
3906H
3907H
3908H
3909H
390AH
390BH
390CH
390DH
390EH
390FH
3910H∼
3917H
3918H
3919H
391AH
391BH
391CH
391DH
391EH
391FH
3920H
3921H
3922H
3923H
3924H
3925H
3926H
3927H
3928H
3929H
392AH
392BH
392CH
392DH
392EH
392FH
3930H∼
39FFH
374
レジスタ
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
リロードレジスタL
リロードレジスタH
略称
PRLL0
PRLH0
PRLL1
PRLH1
PRLL2
PRLH2
PRLL3
PRLH3
PRLL4
PRLH4
PRLL5
PRLH5
PRLL6
PRLH6
PRLL7
PRLH7
アクセス
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
リソース
16ビット
PPGタイマ0/1
16ビット
PPGタイマ2/3
16ビット
PPGタイマ4/5
16ビット
PPGタイマ6/7
初期値
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
予約領域
インプットキャプチャレジスタ0
インプットキャプチャレジスタ0
インプットキャプチャレジスタ1
インプットキャプチャレジスタ1
インプットキャプチャレジスタ2
インプットキャプチャレジスタ2
インプットキャプチャレジスタ3
インプットキャプチャレジスタ3
インプットキャプチャレジスタ4
インプットキャプチャレジスタ4
インプットキャプチャレジスタ5
インプットキャプチャレジスタ5
インプットキャプチャレジスタ6
インプットキャプチャレジスタ6
インプットキャプチャレジスタ7
インプットキャプチャレジスタ7
アウトプットコンペアレジスタ0
アウトプットコンペアレジスタ0
アウトプットコンペアレジスタ1
アウトプットコンペアレジスタ1
アウトプットコンペアレジスタ2
アウトプットコンペアレジスタ2
アウトプットコンペアレジスタ3
アウトプットコンペアレジスタ3
IPCP0
IPCP0
IPCP1
IPCP1
IPCP2
IPCP2
IPCP3
IPCP3
IPCP4
IPCP4
IPCP5
IPCP5
IPCP6
IPCP6
IPCP7
IPCP7
0CCP0
0CCP0
OCCP1
OCCP1
OCCP2
OCCP2
OCCP3
OCCP3
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
(予約領域)
インプット
キャプチャ0/1
インプット
キャプチャ2/3
インプット
キャプチャ4/5
インプット
キャプチャ6/7
アウトプット
コンペア0/1
アウトプット
コンペア2/3
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
XXXXXXXXB
A I/Oマップ
付表 A-1 I/Oマップ(続き)
アドレス
レジスタ
略称
アクセス
3A00H∼
予約領域
3AFFH
3B00H∼
予約領域
3BFFH
3C00H∼
予約領域
3CFFH
3D00H∼
予約領域
3DFFH
3E00H∼
予約領域
3FFFH
・書込み/書込みについての説明
R/W:リード・ライト可
R:リードオンリー
W:ライトオンリー
・初期値についての説明
0:このビットの初期値は”0”です。
1:このビットの初期値は”1”です。
X:このビットの初期値は不定です。
-:このビットは未使用です。初期値は不定です。
リソース
初期値
<注意事項>
I/Oマップ内の予約領域への書込みは行わないでください。予約領域を読み出した場合は,不定
が読み出されます。
375
付録 B
命令
F2MC-16LX に使用している命令について説明します。
B.1 命令の種類
B.2 アドレッシング
B.3 直接アドレッシング
B.4 間接アドレッシング
B.5 実行サイクル数
B.6 実効アドレスフィールド
B.7 命令一覧表の読み方
B.8 F2MC-16LX 命令一覧表
B.9 命令マップ
管理番号 : CM44-00202-1
376
付録 B 命令
B.1
命令の種類
F2MC-16LX には , 以下に示す 351 種類の命令があります。
■ 命令の種類
• 転送系命令 ( バイト ) 41 命令
• 転送系命令 ( ワード , ロングワード ) 38 命令
• 加減算命令 ( バイト , ワード , ロングワード ) 42 命令
• 増減算命令 ( バイト , ワード , ロングワード ) 12 命令
• 比較命令 ( バイト , ワード , ロングワード ) 11 命令
• 符号なし乗除算命令 ( ワード , ロングワード ) 11 命令
• 符号付き乗除算命令 ( ワード , ロングワード ) 11 命令
• 論理演算命令 ( バイト , ワード ) 39 命令
• 論理演算命令 ( ロングワード ) 6 命令
• 符号反転命令 ( バイト , ワード ) 6 命令
• ノーマライズ命令 ( ロングワード ) 1 命令
• シフト命令 ( バイト , ワード , ロングワード ) 18 命令
• 分岐命令 50 命令 ( 分岐命令 1: 31 命令 , 分岐命令 2: 19 命令 )
• アキュムレータ操作命令 ( バイト , ワード ) 6 命令
• その他制御命令 ( バイト , ワード , ロングワード ) 28 命令
• ビット操作命令 21 命令
• ストリング命令 10 命令
377
B.2
アドレッシング
F2MC-16LX では , 命令の実効アドレスフィールドまたは命令コード自体 ( インプラ
イド ) でアドレス形式が決定されます。命令コード自体でアドレス形式が決定する
場合は , 使用する命令コードに合わせてアドレスを指定します。命令によっては , 数
種類のアドレス指定方式から設定できるものがあります。
■ アドレッシング
F2MC-16LX には , 以下に示す 23 種類のアドレッシングがあります。
• 即値 (#imm)
• レジスタ直接
• 直接分岐アドレス (addr16)
• 物理直接分岐アドレス (addr24)
• I/O 直接 (io)
• 短縮直接アドレス (dir)
• 直接アドレス (addr16)
• I/O 直接ビットアドレス (io: bp)
• 短縮直接ビットアドレス (dir: bp)
• 直接ビットアドレス (addr16: bp)
• ベクタアドレス (#vct)
• レジスタ間接 (@RWj j=0 ~ 3)
• ポストインクリメント付レジスタ間接 (@RWj+ j=0 ~ 3)
• ディスプレースメント付レジスタ間接 (@RWi+disp8 i=0 ~ 7, @RWj+disp16 j=0 ~ 3)
• ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ~ 3)
• ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
• ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7)
• プログラムカウンタ相対分岐アドレス (rel)
• レジスタリスト (rlst)
• アキュムレータ間接 (@A)
• アキュムレータ間接分岐アドレス (@A)
• 間接指定分岐アドレス (@ear)
• 間接指定分岐アドレス (@eam)
378
付録 B 命令
■ 実効アドレスフィールド
実効アドレスフィールドで指定される , アドレス形式を表 B.2-1 に示します。
表 B.2-1 実効アドレスフィールド
コード
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
デフォルトバンク
なし
DTB
DTB
レジスタ間接
0A
@RW2
ADB
0B
@RW3
SPB
0C
@RW0+
DTB
0D
@RW1+
0E
@RW2+
0F
@RW3+
SPB
10
@RW0+disp8
DTB
11
@RW1+disp8
DTB
12
@RW2+disp8
ADB
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
DTB
16
@RW6+disp8
ADB
17
@RW7+disp8
SPB
18
@RW0+disp16
DTB
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
@RW0+RW7
インデックス付レジスタ間接
DTB
1D
@RW1+RW7
インデックス付レジスタ間接
DTB
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
PCB
1F
addr16
直接アドレス
DTB
ポストインクリメント付
レジスタ間接
8 ビットディスプレースメント付
レジスタ間接
16 ビットディスプレースメント付
レジスタ間接
DTB
ADB
SPB
DTB
DTB
ADB
SPB
379
B.3
直接アドレッシング
直接アドレッシングでは , オペランド値 , レジスタおよびアドレスを直接指定しま
す。
■ 直接アドレッシング
● 即値 (#imm)
オペランドの値を直接指定します。(#imm4/#imm8/#imm16/#imm32) 。
図 B.3-1 に例を示します。
図 B.3-1 即値 (#imm) 例
MOVW A, #01212H (A にオペランドの値を格納する命令 )
実行前
A 2233
4455
実行後
A 4455
1 2 1 2 ( 命令によっては AL → AH に転送が行われる )
● レジスタ直接
オペランドとして , 直接レジスタを指定します。指定できるレジスタを表 B.3-1 に示し
ます。
表 B.3-1 レジスタ直接
汎用レジスタ
専用レジスタ
*:
380
バイト
R0, R1, R2, R3, R4, R5, R6, R7
ワード
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
ロングワード
RL0, RL1, RL2, RL3
アキュムレータ
A, AL
ポインタ
SP *
バンク
PCB, DTB, USB, SSB, ADB
ページ
DPR
制御
PS, CCR, RP, ILM
SP は , コンディションコードレジスタ (CCR) 中の S フラグビットの値に応じてユーザス
タックポインタ (USP) またはシステムスタックポインタ (SSP) のどちらか一方が選択さ
れ , 使用されます。分岐系の命令ではプログラムカウンタ (PC) は命令のオペランドには
記述されることなく指定されます。
付録 B 命令
図 B.3-2 に例を示します。
図 B.3-2 レジスタ直接例
MOV R0, A ( 汎用レジスタ R0 に A の下位 8 ビットを転送する命令 )
実行前
A 0716
2534
メモリ空間
R0
実行後
A 0716
2564
??
メモリ空間
R0
34
● 直接分岐アドレス (addr16)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 16 ビットで , 論理空間内での分岐先を示します。無条件分岐命令 , サブ
ルーチンコール命令およびソフトウェア割込み命令に使用します。アドレスの bit23 ~
bit16 はプログラムカウンタバンクレジスタ (PCB) で指定されます。図 B.3-3 に例を示
します。
図 B.3-3 直接分岐アドレス (addr16) 例
JMP 3B20H ( バンク内で直接分岐アドレス指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
メモリ空間
PCB 4 F
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
4F3C20H
62
4F3C21H
20
4F3C22H
3B
JMP 3B20H
381
● 物理直接分岐アドレス (addr24)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のデータ長は 24 ビットです。無条件分岐命令 , サブルーチンコール命令およびソフト
ウェア割込み命令に使用します。図 B.3-4 に例を示します。
図 B.3-4 物理直接分岐アドレス (addr24) 例
JMPP 333B20H ( 直接分岐アドレス 24 ビット指定で , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
メモリ空間
PCB 4 F
333B20H 次の命令
実行後
PC 3 B 2 0
PCB 3 3
4F3C20H
63
4F3C21H
20
4F3C22H
3B
4F3C23H
33
JMPP 333B20H
● I/O 直接 (io)
オペランドのメモリアドレスを 8 ビットのディスプレースメントで直接指定します。
データバンクレジスタ (DTB) , ダイレクトページレジスタ (DPR) の値にかかわらず ,
物理アドレス "000000H" ~ "0000FFH" の空間の I/O 空間がアクセスされます。I/O 直接
アドレス指定を使用した命令の前にバンク指定用のバンクセレクトプリフィックスを
記述しても無効です。図 B.3-5 に例を示します。
図 B.3-5 I/O 直接 (io) 例
MOVW A, i : 0C0H (I/O 直接で読出しを行い , A に格納する命令 )
実行前
実行後
382
A 0716
2534
A 2534 FFEE
メモリ空間
0000C0H
EE
0000C1H
FF
付録 B 命令
● 短縮直接アドレス (dir)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ~
bit8 はダイレクトページレジスタ (DPR) により指定されます。アドレスの bit23 ~ bit16
はデータバンクレジスタ (DTB) により指定されます。図 B.3-6 に例を示します。
図 B.3-6 短縮直接アドレス (dir) 例
MOV S : 20H, A (A の下位 8 ビットの内容を短縮直接アドレス指定方式で書き込む命令 )
実行前
A 4455
DPR 6 6
実行後
DTB 7 7
A 4455
DPR 6 6
メモリ空間
1212
776620H
メモリ空間
1212
DTB 7 7
??
776620H
12
● 直接アドレス (addr16)
オペランドで , メモリアドレス下位 16 ビットを直接指定します。アドレスの bit23 ~
bit16 はデータバンクレジスタ (DTB) で指定されます。直接アドレスのアドレッシング
に対しては , アクセス空間指定用のプリフィックス命令は無効です。図 B.3-7 に例を示
します。
図 B.3-7 直接アドレス (addr16) 例
MOVW A, 3B20H ( 直接アドレスで読出しを行い , A に格納する命令 )
実行前
実行後
A 2020
A AABB
AABB
0123
DTB 5 5
メモリ空間
553B21H
01
553B20H
23
DTB 5 5
383
● I/O 直接ビットアドレス (io: bp)
物理アドレス "000000H" ~ "0000FFH" 内のビットを直接指定します。ビットの位置は
": bp" で表され , 数字の大きいほうが最上位ビット (MSB) , 小さい方が最下位ビット
(LSB) となります。図 B.3-8 に例を示します。
図 B.3-8 I/O 直接ビットアドレス (io: bp) 例
SETB i : 0C1H : 0 (I/O 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
実行前
0000C1H
00
メモリ空間
実行後
0000C1H
01
● 短縮直接ビットアドレス (dir: bp)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。アドレスの bit15 ~
bit8 はダイレクトページレジスタ (DPR) で指定されます。アドレスの bit23 ~ bit16 は
データバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の
大きい方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-9 に例を示しま
す。
図 B.3-9 短縮直接ビットアドレス (dir: bp) 例
SETB S : 10H : 0 ( 短縮直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
実行前
DTB 5 5
DPR 6 6
556610H
00
メモリ空間
実行後
384
DTB 5 5
DPR 6 6
556610H
01
付録 B 命令
● 直接ビットアドレス (addr16: bp)
64K バイト内の任意のビットに対し直接指定します。アドレスの bit23 ~ bit16 はデー
タバンクレジスタ (DTB) で指定されます。ビットの位置は ": bp" で表され , 数字の大き
い方が最上位ビット , 小さい方が最下位ビットとなります。図 B.3-10 に例を示します。
図 B.3-10 直接ビットアドレス (addr16: bp) 例
SETB 2222H : 0 ( 直接ビットアドレス指定でセットビットを行う命令 )
メモリ空間
実行前
DTB 5 5
00
552222H
メモリ空間
実行後
DTB 5 5
01
552222H
● ベクタアドレス (#vct)
分岐先のアドレスは指定されたベクタの内容となります。ベクタ番号のデータ長には
4 ビットと 8 ビットの 2 種類があります。サブルーチンコール命令 , ソフトウェア割込
み命令に使用します。図 B.3-11 に例を示します。
図 B.3-11 ベクタアドレス (#vct) 例
CALLV #15 ( オペランドで指定した割込みベクタが示すアドレスへ分岐する命令 )
実行前
PCB F F
実行後
メモリ空間
PC 0 0 0 0
FFC000H
EF
FFFFE0H
00
FFFFE1H
D0
CALLV #15
PC D 0 0 0
PCB F F
385
表 B.3-2 CALLV ベクタ一覧表
命令
ベクタアドレス L
ベクタアドレス H
CALLV #0
XXFFFEH
XXFFFFH
CALLV #1
XXFFFCH
XXFFFDH
CALLV #2
XXFFFAH
XXFFFBH
CALLV #3
XXFFF8H
XXFFF9H
CALLV #4
XXFFF6H
XXFFF7H
CALLV #5
XXFFF4H
XXFFF5H
CALLV #6
XXFFF2H
XXFFF3H
CALLV #7
XXFFF0H
XXFFF1H
CALLV #8
XXFFEEH
XXFFEFH
CALLV #9
XXFFECH
XXFFEDH
CALLV #10
XXFFEAH
XXFFEBH
CALLV #11
XXFFE8H
XXFFE9H
CALLV #12
XXFFE6H
XXFFE7H
CALLV #13
XXFFE4H
XXFFE5H
CALLV #14
XXFFE2H
XXFFE3H
CALLV #15
XXFFE0H
XXFFE1H
( 注意事項 ) XX には PCB レジスタの値が入ります。
<注意事項>
プログラムカウンタバンクレジスタ (PCB) が "FFH" の場合ベクタ領域は INT #vct8 (#0 ~
#7) のベクタ領域と共有しているため , 使用する場合は注意が必要です。( 表 B.3-2 を参照
してください )
386
付録 B 命令
B.4
間接アドレッシング
間接アドレッシングでは , 記述したオペランドが示すアドレスのデータで , 間接的に
アドレスを指定します。
■ 間接アドレッシング
● レジスタ間接 (@RWj j=0 ~ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。アドレスの bit23 ~ bit16 は , RW0, RW1 を用いた場合はデータバンクレジスタ
(DTB) で示され , RW3 の場合はシステムスタックバンクレジスタ (SSB) またはユーザ
スタックバンクレジスタ (USB) で示され , RW2 の場合はアディショナルデータバンク
レジスタ (ADB) で示されます。図 B.4-1 に例を示します。
図 B.4-1 レジスタ間接 (@RWj j=0 ~ 3) 例
MOVW A, @RW1 ( レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 0 F
DTB 7 8
● ポストインクリメント付レジスタ間接 (@RWj+ j=0 ~ 3)
汎用レジスタ RWj の内容をアドレスとしたメモリをアクセスするアドレッシングで
す。
オペランド操作後RWjはオペランドデータ長 (バイトの場合は1, ワードの場合は2,
ロングワードの場合は 4) 分だけ加算されます。アドレスの bit23 ~ bit16 は , RW0, RW1
を用いた場合はデータバンクレジスタ (DTB) で示され , RW3 の場合はシステムスタッ
クバンクレジスタ (SSB) またはユーザスタックバンクレジスタ (USB) で示され , RW2
の場合はアディショナルデータバンクレジスタ (ADB) で示されます。
ポストインクリメントした結果がインクリメント指定したレジスタ自身のアドレス
だった場合は , 参照される値はインクリメントした値となり , 命令が書込みだった場合
は命令による書込みが優先されるので , インクリメントするはずだったレジスタは書
込みデータとなります。
図 B.4-2 に例を示します。
387
図 B.4-2 ポストインクリメント付レジスタ間接 (@RWj+ j=0 ~ 3) 例
MOVW A, @RW1+ ( ポストインクリメント付レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
2534
メモリ空間
RW1 D 3 0 F
実行後
DTB 7 8
78D30FH
EE
78D310H
FF
A 2534 FFEE
RW1 D 3 1 1
DTB 7 8
● ディスプレースメント付レジスタ間接
(@RWi+disp8 i=0 ~ 7, @RWj+disp16 j=0 ~ 3)
汎用レジスタ RWj の内容にディスプレースメントを加算したものをアドレスとしたメ
モリをアクセスするアドレッシングです。ディスプレースメントは , バイトとワードの
2 種類があり , 符号付数値として加算されます。アドレスの bit23 ~ bit16 は , RW0, RW1,
RW4, RW5 を用いた場合はデータバンクレジスタ (DTB) で示され , RW3, RW7 を用い
た場合はシステムスタックバンクレジスタ (SSB) またはユーザスタックバンクレジス
タ (USB) で示され , RW2, RW6 を用いた場合はアディショナルデータバンクレジスタ
(ADB) で示されます。図 B.4-3 に例を示します。
図 B.4-3 ディスプレースメント付レジスタ間接
(@RWi+disp8 i=0 ~ 7, @RWj+disp16 j=0 ~ 3) 例
MOVW A, @RW1+10H (ディスプレースメント付レジスタ間接で読出しを行い, Aに格納する命令)
実行前
A 0716
2534
メモリ空間
(+10H)
RW1 D 3 0 F
実行後
A 2534 FFEE
RW1 D 3 0 F
388
DTB 7 8
DTB 7 8
78D31FH
EE
78D320H
FF
付録 B 命令
● ディスプレースメント付ロングレジスタ間接 (RLi+disp8 i=0 ~ 3)
汎用レジスタ RLi の内容にディスプレースメントを加算した結果の下位 24 ビットをア
ドレスとしたメモリをアクセスするアドレッシングです。ディスプレースメントは 8
ビットで符号付数値として加算されます。図 B.4-4 に例を示します。
図 B.4-4 ディスプレースメント付ロングレジスタ間接 (@RLi+disp8 i=0 ~ 3) 例
MOVW A, @RL2+25H (ディスプレースメント付ロングレジスタ間接で読出しを行い, Aに格納する命令)
実行前
A 0716
2534
メモリ空間
(+25H)
RL2 F 3 8 2
実行後
4B02
824B27H
EE
824B28H
FF
A 2534 FFEE
RL2 F 3 8 2
4B02
● ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
(命令のアドレス+4+disp16) で示されるアドレスのメモリをアクセスするアドレッシン
グです。ディスプレースメントはワード長です。アドレスの bit23 ~ bit16 はプログラ
ムカウンタバンクレジスタ (PCB) により指定されます。次に示す命令のオペランドア
ドレスは , ( 次の命令のアドレス +disp16) とは , みなしませんので注意してください。
• DBNZ eam, rel
• CBNE eam, #imm8, rel
• MOV eam, #imm8
• DWBNZ eam, rel
• CWBNE eam, #imm16, rel
• MOVW eam, #imm16
図 B.4-5 に例を示します。
図 B.4-5 ディスプレースメント付プログラムカウンタ間接 (@PC+disp16) 例
MOVW A, @PC+20H ( ディスプレースメント付 PC 間接で読出しを行い , A に格納する命令 )
実行前
A 0716
メモリ空間
2534
PCB C 5 PC 4 5 5 6
実行後
A 2534
FFEE
PCB C 5 PC 4 5 5 A
+4
C54556H
73
C54557H
9E
C54558H
20
C54559H
00
MOVW
A, @PC+20H
C5455AH
・
・
・
+20H
C5457AH
EE
C5457BH
FF
389
● ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7)
汎用レジスタ RW7 の内容に , RW0 あるいは RW1 を加算したものをアドレスとしたメ
モリをアクセスするアドレッシングです。アドレスの bit23 ~ bit16 はデータバンクレ
ジスタ (DTB) で示されます。図 B.4-6 に例を示します。
図 B.4-6 ベースインデックス付レジスタ間接 (@RW0+RW7, @RW1+RW7) 例
MOVW A, @RW1+RW7 ( ベースインデックス付レジスタ間接で読出しを行い , A に格納する命令 )
実行前
A 0716
RW1 D 3 0 F
WR7 0 1 0 1
実行後
A 2534
RW1 D 3 0 F
メモリ空間
2534
+
DTB 7 8
78D410H
EE
78D411H
FF
FFEE
DTB 7 8
WR7 0 1 0 1
● プログラムカウンタ相対分岐アドレス (rel)
分岐先のアドレスはプログラムカウンタ (PC) の値と 8 ビットのディスプレースメント
を加算した値となります。加算の結果が 16 ビットを超えた場合は , バンクレジスタの
インクリメントまたはデクレメントをせずに , 超えた分は無視されますので , 64K バイ
トのバンク内で閉じたアドレスとなります。プログラムカウンタ相対分岐アドレスに
よるアドレッシングは , 無条件 / 条件分岐命令に使用します。アドレスの bit23 ~ bit16
はプログラムカウンタバンクレジスタ (PCB) で示されます。
図 B.4-7 に例を示します。
図 B.4-7 プログラムカウンタ相対分岐アドレス (rel) 例
BRA 10H ( 無条件相対分岐を行う命令 )
実行前
PC 3 C 2 0
メモリ空間
PCB 4 F
4F3C32H 次の命令
実行後
390
PC 3 C 2 0
PCB 4 F
4F3C21H
10
4F3C20H
60
BRA 10H
付録 B 命令
● レジスタリスト (rlst)
スタックに対するプッシュ / ポップの対象となるレジスタを指定します。図 B.4-8 にレ
ジスタリストの構成 , 図 B.4-9 に例を示します。
図 B.4-8 レジスタリストの構成
MSB
LSB
RW7 RW6 RW5 RW4 RW3 RW2 RW1 RW0
対応ビットが "1" の場合に設定 , "0" の場合に非設定
MSB: 最上位ビット
LSB: 最下位ビット
図 B.4-9 レジスタリスト (rlst) 例
POPW, RW0, RW4 ( レジスタリストで示された複数のワードレジスタに , SP で示されるメモリの
データを転送する命令 )
SP 3 4 F A
SP 3 4 F E
RW0
×× ××
RW0
02 01
RW1
×× ××
RW1
×× ××
RW2
×× ××
RW2
×× ××
RW3
×× ××
RW3
×× ××
RW4
×× ××
RW4
04 03
RW5
×× ××
RW5
×× ××
RW6
×× ××
RW6
×× ××
RW7
×× ××
RW7
×× ××
メモリ空間
SP
01
メモリ空間
34FAH
01
34FAH
02
34FBH
02
34FBH
03
34FCH
03
34FCH
34FDH
04
04
34FEH
実行前
SP
34FDH
34FEH
実行後
391
● アキュムレータ間接 (@A)
アキュムレータの下位バイト (AL) の内容 (16 ビット ) で示されるアドレスのメモリを
アクセスするアドレス方式です。アドレスの bit23 ~ bit16 はデータバンクレジスタ
(DTB) によりニーモニックで指定されます。図 B.4-10 に例を示します。
図 B.4-10 アキュムレータ間接 (@A) 例
MOVW A, @A ( アキュムレータ間接で読出しを行い , A に格納する命令 )
実行前
A
0716
DTB B B
実行後
A
0716
メモリ空間
2534
BB2534H
EE
BB2535H
FF
FFEE
DTB B B
● アキュムレータ間接分岐アドレス (@A)
分岐先のアドレスは , アキュムレータの下位バイト (AL) の内容 (16 ビット ) となりま
す。バンク空間内での分岐先を示し , アドレスの bit23 ~ bit16 はプログラムカウンタ
バンクレジスタ (PCB) で指定されますが , JCTX (Jump Context) 命令の場合は , アド
レスの bit23 ~ bit16 はデータバンクレジスタ (DTB) で指定されます。アキュムレータ
間接分岐アドレスによるアドレッシングは , 無条件分岐命令に使用します。図 B.4-11
に例を示します。
図 B.4-11 アキュムレータ間接分岐アドレス (@A) 例
JMP @A ( アキュムレータ間接分岐アドレスで , 無条件分岐を行う命令 )
実行前
PC 3 C 2 0
A 6677
PCB 4 F
3B20
メモリ空間
4F3B20H 次の命令
4F3C20H
実行後
PC 3 B 2 0
A 6677
392
PCB 4 F
3B20
61
JMP @A
付録 B 命令
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。図 B.4-12 に例を示し
ます。
図 B.4-12 間接指定分岐アドレス (@ear) 例
JMP @@RW0 ( レジスタ間接の間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
メモリ空間
217F48H
20
217F49H
3B
4F3B20H 次の命令
実行後
PC 3 B 2 0
PCB 4 F
RW0 7 F 4 8
DTB 2 1
4F3C20H
73
4F3C21H
08
JMP @@RW0
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。図 B.4-13 に例を示
します。
図 B.4-13 間接指定分岐アドレス (@eam) 例
JMP @RW0 ( レジスタ間接で無条件分岐を行う命令 )
実行前
PC 3 C 2 0
PCB 4 F
RW0 3 B 2 0
実行後
PC 3 B 2 0
メモリ空間
4F3B20H 次の命令
PCB 4 F
4F3C20H
73
4F3C21H
00
JMP @RW0
RW0 3 B 2 0
393
B.5
実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値
と , 条件で決まる「補正値」の値およびプログラムフェッチの「サイクル数」の値
を加算することで得られます。
■ 実行サイクル数
内蔵 ROM などの 16 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合には , 実行中の命令がワード境界を越えるごとにプログラムフェッチをするため ,
データのアクセスなどに干渉すると実行サイクル数が増大します。
外部データバスの 8 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合は , 実行中の命令の 1 バイトごとにプログラムフェッチをするため , データのアクセ
スなどに干渉すると実行サイクル数が増大します。
CPU 間欠動作時は , 汎用レジスタ , 内蔵 ROM, 内蔵 RAM, 内蔵 I/O, 外部データバスの
アクセスをすると , 低消費電力モード制御レジスタの CG0, CG1 ビットで指定されるサ
イクル数分 CPU へ供給されるクロックが一時停止しますので , CPU 間欠動作の命令の
実行に要するサイクル数は , 通常の実行サイクル数に , 汎用レジスタ , 内蔵 ROM, 内蔵
RAM, 内蔵 I/O, 外部データバスの「アクセス回数」×一時停止の「サイクル数」の値
を「補正値」として加算してください。
■ 実行サイクル数計算方法
表 B.5-1 , 表 B.5-2 , 表 B.5-3 に命令実行サイクル数および補正値のデータを示します。
表 B.5-1 各種アドレッシングに対する実行サイクル数
(a) *
コード
00 ~ 07
オペランド
Ri
RWi
RLi
各種アドレッシングに対する
実行サイクル数
各種アドレッシングに
対するレジスタ
アクセス回数
命令一覧表に記載
命令一覧表に記載
08 ~ 0B
@RWj
2
1
0C ~ 0F
@RWj+
4
2
10 ~ 17
@RWi+disp8
2
1
18 ~ 1B
@RWi+disp16
2
1
1C
1D
1E
1F
@RW0+RW7
@RW1+RW7
@PC+disp16
addr16
4
4
2
1
2
2
0
0
*: (a) は「B.8 F2MC-16LX 命令一覧表」の~ ( サイクル数 ) , B ( 補正値 ) で使用さ
れています。" ~ " と "B" の意味については「B.7 命令一覧表の読み方」を参照
してください。
394
付録 B 命令
表 B.5-2 実サイクル数算出用サイクル数の補正値
(b) バイト *1
オペランド
(c) ワード *1
(d) ロング *1
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
内部レジスタ
+0
1
+0
1
+0
2
内部メモリ
偶数アドレス
+0
1
+0
1
+0
2
内部メモリ
奇数アドレス
+0
1
+2
2
+4
4
外部データバス *2
16 ビット偶数アドレス
+1
1
+1
1
+2
2
外部データバス *2
16 ビット奇数アドレス
+1
1
+4
2
+8
4
外部データバス *2
8 ビット
+1
1
+4
2
+8
4
*1: (b), (c), (d) は「B.8 F2MC-16LX 命令一覧表」の~ ( サイクル数 ) , B ( 補正値 ) で使用され
ています。
*2: 外部データバスを使用した場合は , レディ入力および自動レディによりウェイトしたサ
イクル数も加算する必要があります。
表 B.5-3 プログラムフェッチサイクル数算出用サイクル数の補正値
命令
バイト境界
ワード境界
内部メモリ
-
+2
外部データバス 16 ビット
-
+3
外部データバス 8 ビット
+3
-
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ 実際にはすべてのプログラムフェッチで , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
395
B.6
実効アドレスフィールド
表 B.6-1 に実効アドレスフィールドを示します。
■ 実効アドレスフィールド
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
396
表記
アドレス形式
00
R0
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
03
R3
RW3
(RL1)
04
R4
RW4
RL2
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
0A
@RW2
0B
@RW3
0C
@RW0+
0D
@RW1+
0E
@RW2+
0F
@RW3+
10
@RW0+disp8
11
@RW1+disp8
12
@RW2+disp8
13
@RW3+disp8
14
@RW4+disp8
15
@RW5+disp8
16
@RW6+disp8
17
@RW7+disp8
アドレス拡張部の
バイト数 *
レジスタ直接
ea は左から順に
バイト
ワード
ロングワード
の型に対応する。
-
レジスタ間接
0
ポストインクリメント付
レジスタ間接
0
8 ビットディスプレースメント付
レジスタ間接
1
付録 B 命令
表 B.6-1 実効アドレスフィールド (1 / 2)
コード
*:
表記
18
@RW0+disp16
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
アドレス形式
アドレス拡張部の
バイト数 *
16 ビットディスプレースメント付
レジスタ間接
2
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
アドレス拡張部のバイト数は , 「B.8 F2MC-16LX 命令一覧表」の # ( バイト数 ) の "+" に当てはまります。
"#" の意味については「B.7 命令一覧表の読み方」を参照してください。
397
B.7
命令一覧表の読み方
「B.8 F2MC-16LX 命令一覧表」で使用している項目の説明を表 B.7-1 に , 記号の説
明を表 B.7-2 に示します。
■ 命令の表示記号の説明
表 B.7-1 命令一覧表の項目の説明
項目
ニーモニック
説明
英大文字 , 記号 : アセンブラ上もそのまま表記します。
英小文字 : アセンブラ上では , 書き替えて記述します。
英小文字の後の数 : 命令中のビット幅を示します。
#
バイト数を示します。
~
サイクル数を示します。
RG
命令実行時のレジスタアクセス回数を示します。
CPU 間欠動作時の補正値を算出するのに使用します。
B
オペレーション
LH
AH
命令実行時の実サイクル数の算出用補正値を示します。
命令実行時の実サイクルは~欄の数値を加算したものとなります。
命令の動作を示します。
アキュムレータの bit15 ~ bit8 に対する特殊動作を示します。
Z: 0 を転送する。
X: 符号を拡張して転送する。
- : 転送しない。
アキュムレータの上位 16 ビットに対する特殊動作を示します。
*: AL から AH へ転送する。
- : 転送しない。
Z: AH へ 00H を転送する。
X: AL の符号拡張で AH へ 00H または FFH を転送する。
I
I ( 割込み許可 ) , S ( スタック ) , T ( ステッキィビット ) ,
S
N ( ネガティブ ) , Z ( ゼロ ) , V ( オーバフロー ) , C ( キャリー )
T
の各フラグの状態を示します。
N
*: 命令の実行で変化する。
Z
- : 変化しない。
V
S: 命令の実行でセットされる。
C
R: 命令の実行でリセットされる。
RMW
398
リードモディファイライト命令 (1 命令でメモリなどからデータを読
み出し , メモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
- : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
付録 B 命令
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
A
意味
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト : AL の下位 8 ビット
ワード : AL の 16 ビット
ロング : AL: AH の 32 ビット
AH
A の上位 16 ビット
AL
A の下位 16 ビット
SP
スタックポインタ (USP or SSP)
PC
プログラムカウンタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
ADB
アディショナルデータバンクレジスタ
SSB
システムスタックバンクレジスタ
USB
ユーザスタックバンクレジスタ
SPB
カレントスタックバンクレジスタ (SSB or USB)
DPR
ダイレクトページレジスタ
brg1
DTB, ADB, SSB, USB, DPR, PCB, SPB
brg2
DTB, ADB, SSB, USB, DPR, SPB
Ri
R0, R1, R2, R3, R4, R5, R6, R7
RWi
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RWj
RW0, RW1, RW2, RW3
RLi
RL0, RL1, RL2, RL3
dir
短縮直接アドレス指定
addr16
直接アドレス指定
addr24
物理直接アドレス指定
ad24 0 ~ 15
addr24 の bit0 ~ bit15
ad24 16 ~ 23
addr24 の bit16 ~ bit23
io
I/O 領域 (000000H ~ 0000FFH)
#imm4
4 ビット即値データ
#imm8
8 ビット即値データ
#imm16
16 ビット即値データ
#imm32
32 ビット即値データ
ext (imm8)
8 ビット即値データを符号拡張した 16 ビットデータ
399
表 B.7-2 命令一覧表の記号の説明 (1 / 2)
表記
400
意味
disp8
8 ビットディスプレースメント
disp16
16 ビットディスプレースメント
bp
ビットオフセット値
vct4
ベクタ番号 (0 ~ 15)
vct8
ベクタ番号 (0 ~ 255)
()b
ビットアドレス
rel
PC 相対分岐指定
ear
実効アドレス指定 ( コード 00 ~ 07)
eam
実効アドレス指定 ( コード 08 ~ 1F)
rlst
レジスタ並び
付録 B 命令
B.8
F2MC-16LX 命令一覧表
F2MC-16LX で使用している命令の一覧を示します。
■ F2MC-16LX 命令一覧表
表 B.8-1 転送系命令 ( バイト ) 41 命令
#
~
RG
B
LH
AH
I
S
T
N
Z
V
C
MOV
ニーモニック
A,dir
2
3
0
(b)
byte (A) ← (dir)
オペレーション
Z
*
-
-
-
*
*
-
-
-
MOV
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
Z
*
-
-
-
*
*
-
-
-
MOV
A,Ri
1
2
1
0
byte (A) ← (Ri)
Z
*
-
-
-
*
*
-
-
-
MOV
A,ear
2
2
1
0
byte (A) ← (ear)
Z
*
-
-
-
*
*
-
-
-
MOV
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
Z
*
-
-
-
*
*
-
-
-
MOV
A,io
2
3
0
(b)
byte (A) ← (io)
Z
*
-
-
-
*
*
-
-
-
MOV
A,#imm8
2
2
0
0
byte (A) ← imm8
Z
*
-
-
-
*
*
-
-
-
MOV
A,@A
2
3
0
(b)
byte (A) ← ((A))
Z
-
-
-
-
*
*
-
-
-
MOV
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
Z
*
-
-
-
*
*
-
-
-
MOVN
A,#imm4
1
1
0
0
byte (A) ← imm4
Z
*
-
-
-
R
*
-
-
-
MOVX
A,dir
2
3
0
(b)
byte (A) ← (dir)
X
*
-
-
-
*
*
-
-
-
MOVX
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
X
*
-
-
-
*
*
-
-
-
MOVX
A,Ri
2
2
1
0
byte (A) ← (Ri)
X
*
-
-
-
*
*
-
-
-
MOVX
A,ear
2
2
1
0
byte (A) ← (ear)
X
*
-
-
-
*
*
-
-
-
MOVX
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
X
*
-
-
-
*
*
-
-
-
MOVX
A,io
2
3
0
(b)
byte (A) ← (io)
X
*
-
-
-
*
*
-
-
-
MOVX
A,#imm8
2
2
0
0
byte (A) ← imm8
X
*
-
-
-
*
*
-
-
-
MOVX
A,@A
2
3
0
(b)
byte (A) ← ((A))
X
-
-
-
-
*
*
-
-
-
MOVX
A,@RWi+disp8
2
5
1
(b)
byte (A) ← ((RWi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOVX
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOV
dir,A
2
3
0
(b)
byte (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
addr16,A
3
4
0
(b)
byte (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,A
1
2
1
0
byte (Ri) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
ear,A
2
2
1
0
byte (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
eam,A
2+
3 + (a)
0
(b)
byte (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
RMW
MOV
io,A
2
3
0
(b)
byte (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
@RLi+disp8,A
3
10
2
(b)
byte ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,ear
2
3
2
0
byte (Ri) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,eam
2+
4 + (a)
1
(b)
byte (Ri) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOV
ear,Ri
2
4
2
0
byte (ear) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
eam,Ri
2+
5 + (a)
1
(b)
byte (eam) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,#imm8
2
2
1
0
byte (Ri) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
io,#imm8
3
5
0
(b)
byte (io) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
dir,#imm8
3
5
0
(b)
byte (dir) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ear,#imm8
3
2
1
0
byte (ear) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
eam,#imm8
3+
4 + (a)
0
(b)
byte (eam) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
@AL,AH
2
3
0
(b)
byte ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCH
A,ear
2
4
2
0
byte (A) ←→ (ear)
Z
-
-
-
-
-
-
-
-
-
XCH
A,eam
2+
5 + (a)
0
2 × (b) byte (A) ←→ (eam)
Z
-
-
-
-
-
-
-
-
-
XCH
Ri,ear
2
7
4
byte (Ri) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCH
Ri,eam
2+
9 + (a)
2
-
-
-
-
-
-
-
-
-
-
0
2 × (b) byte (Ri) ←→ (eam)
( 注意事項 ) 表中の (a), (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
401
表 B.8-2 転送系命令 ( ワード・ロングワード ) 38 命令
ニーモニック
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C
RMW
MOVW
A,dir
2
3
0
(c)
word (A) ← (dir)
-
*
-
-
-
*
*
-
-
-
MOVW
A,addr16
3
4
0
(c)
word (A) ← (addr16)
-
*
-
-
-
*
*
-
-
-
MOVW
A,SP
1
1
0
0
word (A) ← (SP)
-
*
-
-
-
*
*
-
-
-
MOVW
A,RWi
1
2
1
0
word (A) ← (RWi)
-
*
-
-
-
*
*
-
-
-
MOVW
A,ear
2
2
1
0
word (A) ← (ear)
-
*
-
-
-
*
*
-
-
-
MOVW
A,eam
2+
3 + (a)
0
(c)
word (A) ← (eam)
-
*
-
-
-
*
*
-
-
-
MOVW
A,io
2
3
0
(c)
word (A) ← (io)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@A
2
3
0
(c)
word (A) ← ((A))
-
-
-
-
-
*
*
-
-
MOVW
A,#imm16
3
2
0
0
word (A) ← imm16
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RWi+disp8
2
5
1
(c)
word (A) ← ((RWi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RLi+disp8
3
10
2
(c)
word (A) ← ((RLi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
dir,A
2
3
0
(c)
word (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
addr16,A
3
4
0
(c)
word (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
SP,A
1
1
0
0
word (SP) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,A
1
2
1
0
word (RWi) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,A
2
2
1
0
word (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,A
2+
3 + (a)
0
(c)
word (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
io,A
2
3
0
(c)
word (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RWi+disp8,A
2
5
1
(c)
word ((RWi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RLi+disp8,A
3
10
2
(c)
word ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,ear
2
3
2
0
word (RWi) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,eam
2+
4 + (a)
1
(c)
word (RWi) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,RWi
2
4
2
0
word (ear) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,RWi
2+
5 + (a)
1
(c)
word (eam) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,#imm16
3
2
1
0
word (RWi) ← imm16
-
-
-
-
-
*
*
-
-
MOVW
io,#imm16
4
5
0
(c)
word (io) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
ear,#imm16
4
2
1
0
word (ear) ← imm16
-
-
-
-
-
*
*
-
-
-
MOVW
eam,#imm16
4+
4 + (a)
0
(c)
word (eam) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
@AL,AH
2
3
0
(c)
word ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCHW
A,ear
2
4
2
0
word (A) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
A,eam
2+
5 + (a)
0
2 × (c)
word (A) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, ear
2
7
4
0
word (RWi) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, eam
2+
9 + (a)
2
2 × (c)
word (RWi) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
MOVL
A,ear
2
4
2
0
long (A) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVL
A,eam
2+
5 + (a)
0
(d)
long (A) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVL
A,#imm32
5
3
0
0
long (A) ← imm32
-
-
-
-
-
*
*
-
-
-
MOVL
ear,A
2
4
2
0
long (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVL
eam,A
2+
5 + (a)
0
(d)
long(eam) ← (A)
-
-
-
-
-
*
*
-
-
-
( 注意事項 ) 表中の (a), (c), (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
402
付録 B 命令
表 B.8-3 加減算命令 ( バイト・ワード・ロングワード ) 42 命令
ニーモニック
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
ADD
A,#imm8
2
2
0
0
byte (A) ← (A) + imm8
Z
-
-
-
-
*
*
*
*
-
ADD
A,dir
2
5
0
(b)
byte (A) ← (A) + (dir)
Z
-
-
-
-
*
*
*
*
-
ADD
A,ear
2
3
1
0
byte (A) ← (A) + (ear)
Z
-
-
-
-
*
*
*
*
-
ADD
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)
Z
-
-
-
-
*
*
*
*
-
ADD
ear,A
2
3
2
0
byte (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
ADD
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) + (A)
Z
-
-
-
-
*
*
*
*
*
ADDC
A
1
2
0
0
byte (A) ← (AH) + (AL) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,ear
2
3
1
0
byte (A) ← (A) + (ear)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDDC A
1
3
0
0
byte (A) ← (AH) + (AL) + (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
SUB
A,#imm8
2
2
0
0
byte (A) ← (A) - imm8
Z
-
-
-
-
*
*
*
*
-
SUB
A,dir
2
5
0
(b)
byte (A) ← (A) - (dir)
Z
-
-
-
-
*
*
*
*
-
SUB
A,ear
2
3
1
0
byte (A) ← (A) - (ear)
Z
-
-
-
-
*
*
*
*
-
SUB
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam)
Z
-
-
-
-
*
*
*
*
-
SUB
ear,A
2
3
2
0
byte (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUB
eam,A
2+
5 + (a)
0
2 × (b)
byte (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBC
A
1
2
0
0
byte (A) ← (AH) - (AL) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,ear
2
3
1
0
byte (A) ← (A) - (ear) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBDC
A
1
3
0
0
byte (A) ← (AH) - (AL) - (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
ADDW
A
1
2
0
0
word (A) ← (AH) + (AL)
-
-
-
-
-
*
*
*
*
-
ADDW
A,ear
2
3
1
0
word (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDW
A,#imm16
3
2
0
0
word (A) ← (A) + imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) + (A)
-
-
-
-
-
*
*
*
*
*
ADDW
ear,A
2
3
2
0
ADDW
eam,A
2+
5+(a)
0
2 × (c)
ADDCW A,ear
2
3
1
0
word (A) ← (A) + (ear) + (C)
-
-
-
-
-
*
*
*
*
-
ADDCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam) + (C)
-
-
-
-
-
*
*
*
*
-
SUBW
A
1
2
0
0
word (A) ← (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
SUBW
A,ear
2
3
1
0
word (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBW
A,#imm16
3
2
0
0
word (A) ← (A) - imm16
-
-
-
-
-
*
*
*
*
-
word (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
word (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBW
ear,A
2
3
2
0
SUBW
eam,A
2+
5+(a)
0
2 × (c)
SUBCW A,ear
2
3
1
0
word (A) ← (A) - (ear) - (C)
-
-
-
-
-
*
*
*
*
-
SUBCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam) - (C)
-
-
-
-
-
*
*
*
*
-
ADDL
A,ear
2
6
2
0
long (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDL
A,#imm32
5
4
0
0
long (A) ← (A) + imm32
-
-
-
-
-
*
*
*
*
-
SUBL
A,ear
2
6
2
0
long (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBL
A,#imm32
5
4
0
0
long (A) ← (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ~ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
403
表 B.8-4 増減算命令 ( バイト・ワード・ロングワード ) 12 命令
ニーモニック
#
~
RG
B
INC
ear
2
3
2
0
INC
eam
2+
5+(a)
0
2 × (b)
DEC
ear
2
3
2
0
DEC
eam
2+
5+(a)
0
2 × (b)
INCW
ear
2
3
2
0
INCW
eam
2+
5+(a)
0
2 × (c)
DECW
ear
2
3
2
0
DECW
eam
2+
5+(a)
0
2 × (c)
INCL
ear
2
7
4
0
INCL
eam
2+
9+(a)
0
2 × (d)
DECL
ear
2
7
4
0
DECL
eam
2+
9+(a)
0
2 × (d)
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
byte (ear) <-- (ear) + 1
-
-
-
-
-
*
*
*
-
-
byte (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
byte (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
byte (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
long (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
long (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
LH
AH
I
S
T
N
Z
V
C RMW
( 注意事項 ) 表中の (a) ~ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-5 比較命令 ( バイト・ワード・ロングワード ) 11 命令
ニーモニック
#
~
RG
B
オペレーション
CMP
A
1
1
0
0
byte (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
CMP
A,ear
2
2
1
0
byte (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMP
A,eam
2+
3+(a)
0
(b)
byte (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMP
A,#imm8
2
2
0
0
byte (A) - imm8
-
-
-
-
-
*
*
*
*
-
CMPW
A
1
1
0
0
word (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
CMPW
A,ear
2
2
1
0
word (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPW
A,eam
2+
3+(a)
0
(c)
word (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPW
A,#imm16
3
2
0
0
word (A) - imm16
-
-
-
-
-
*
*
*
*
-
CMPL
A,ear
2
6
2
0
long (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPL
A,eam
2+
7+(a)
0
(d)
long (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPL
A,#imm32
5
3
0
0
long (A) - imm32
-
-
-
-
-
*
*
*
*
-
( 注意事項 ) 表中の (a) ~ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
404
付録 B 命令
表 B.8-6 符号なし乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
~
RG
B
DIVU
A
1
*1
0
0
DIVU
A,ear
2
*2
1
DIVU
A,eam
2+
*3
DIVUW
A,ear
2
DIVUW
A,eam
MULU
MULU
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
word (AH) / byte (AL)
商→ byte (AL) 余り→ byte (AH)
-
-
-
-
-
-
-
*
*
-
0
word (A) / byte (ear)
商→ byte (A) 余り→ byte (ear)
-
-
-
-
-
-
-
*
*
-
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
-
-
-
-
-
-
-
*
*
-
*4
1
0
long (A) / word (ear)
商→ word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
A
1
*8
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
A,ear
2
*9
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A,eam
2+
*10
0
(b)
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
MULUW
A
1
*11
0
0
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
-
MULUW
A,ear
2
*12
1
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
MULUW
A,eam
2+
*13
0
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 7 正常の場合 , 15
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 8 正常の場合 , 16
*3:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 9+(a) 正常の場合 , 19+(a)
*4:ゼロディバイトの場合 , 4 オーバフローの場合 , 7 正常の場合 , 22
*5:ゼロディバイトの場合 , 6+(a) オーバフローの場合 , 8+(a) 正常の場合 , 26+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 byte(AH) がゼロでない場合 , 7
*9:byte(ear) がゼロの場合 , 4 byte(ear) がゼロでない場合 , 8
*10:byte(eam) がゼロの場合 , 5+(a) byte(eam) がゼロでない場合 , 9+(a)
*11:word(AH) がゼロの場合 , 3 word(AH) がゼロでない場合 , 11
*12:word(ear) がゼロの場合 , 4 word(ear) がゼロでない場合 , 12
*13:word(eam) がゼロの場合 , 5+(a) word(eam) がゼロでない場合 , 13+(a)
( 注意事項 ) 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
405
表 B.8-7 符号付き乗除算命令 ( ワード・ロングワード ) 11 命令
ニーモニック
#
~
RG
B
DIV
A
2
*1
0
0
DIV
A,ear
2
*2
1
DIV
A,eam
2+
*3
DIVW
A,ear
2
DIVW
A,eam
2+
MUL
A
2
*8
MUL
A,ear
2
*9
MUL
A,eam
2+
*10
MULW
A
2
*11
MULW
A,ear
2
MULW
A,eam
2+
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
word (AH) / byte (AL)
商 --> byte (AL) 余り→ byte (AH)
Z
-
-
-
-
-
-
*
*
-
0
word (A) / byte (ear)
商 --> byte (A) 余り→ byte (ear)
Z
-
-
-
-
-
-
*
*
-
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
Z
-
-
-
-
-
-
*
*
-
*4
1
0
long (A) / word (ear)
商 --> word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
0
(b)
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
0
0
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
-
*12
1
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
*13
0
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 8 or 18 正常の場合 , 18
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 11 or 22 正常の場合 , 23
*3:ゼロディバイトの場合 , 5+(a) オーバフローの場合 12+(a) or 23+(a) 正常の場合 , 24+(a)
*4:被除数が正 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 30 正常の場合 , 31
被除数が負 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 31 正常の場合 , 32
*5:被除数が正 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 12+(a) or 31+(a) 正常の場合 , 32+(a)
被除数が負 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 13+(a) or 32+(a) 正常の場合 , 33+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) がゼロの場合 , 3 結果が正の場合 , 12 結果が負の場合 , 13
*9:byte(ear) がゼロの場合 , 4 結果が正の場合 , 13 結果が負の場合 , 14
*10:byte(eam) がゼロの場合 , 5+(a) 結果が正の場合 , 14+(a) 結果が負の場合 , 15+(a)
*11:word(AH) がゼロの場合 , 3 結果が正の場合 , 16 結果が負の場合 , 19
*12:word(ear) がゼロの場合 , 4 結果が正の場合 , 17 結果が負の場合 , 20
*13:word(eam) がゼロの場合 , 5+(a) 結果が正の場合 , 18+(a) 結果が負の場合 , 21+(a)
( 注意事項 ) ・ DIV, DIVW 命令でオーバフロー発生時の実行サイクル数に 2 種類ありますが , 演算前と演算後に検出する場合が
あるためです。
DIV, DIVW 命令でオーバフロー発生時には , AL の内容は破壊されます。
・ 表中の (a),(b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
406
付録 B 命令
表 B.8-8 論理 1 命令 ( バイト・ワード ) 39 命令
ニーモニック
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
AND
A,#imm8
2
2
0
0
byte (A) ← (A) and imm8
-
-
-
-
-
*
*
R
-
-
AND
A,ear
2
3
1
0
byte (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
AND
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
AND
ear,A
2
3
2
0
byte (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
AND
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
OR
A,#imm8
2
2
0
0
byte (A) ← (A) or imm8
-
-
-
-
-
*
*
R
-
-
OR
A,ear
2
3
1
0
byte (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
OR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
OR
ear,A
2
3
2
0
byte (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
OR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
XOR
A,#imm8
2
2
0
0
byte (A) ← (A) xor imm8
-
-
-
-
-
*
*
R
-
-
XOR
A,ear
2
3
1
0
byte (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XOR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XOR
ear,A
2
3
2
0
byte (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XOR
eam,A
2+
5+(a)
0
2 × (b)
byte (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOT
A
1
2
0
0
byte (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOT
ear
2
3
2
0
byte (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOT
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
ANDW
A
1
2
0
0
word (A) ← (AH) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
A,#imm16
3
2
0
0
word (A) ← (A) and imm16
-
-
-
-
-
*
*
R
-
-
ANDW
A,ear
2
3
1
0
word (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
ANDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ANDW
ear,A
2
3
2
0
word (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
eam,A
2+
5+(a)
0
2 × (c)
word (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
ORW
A
1
2
0
0
word (A) ← (AH) or (A)
-
-
-
-
-
*
*
R
-
-
ORW
A,#imm16
3
2
0
0
word (A) ← (A) or imm16
-
-
-
-
-
*
*
R
-
-
ORW
A,ear
2
3
1
0
word (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
ORW
ear,A
2
3
2
0
ORW
eam,A
2+
5+(a)
0
2 × (c)
XORW
A
1
2
0
0
word (A) ← (AH) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
A,#imm16
3
2
0
0
word (A) ← (A) xor imm16
-
-
-
-
-
*
*
R
-
-
XORW
A,ear
2
3
1
0
word (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
word (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
-
XORW
ear,A
2
3
2
0
XORW
eam,A
2+
5+(a)
0
2 × (c)
NOTW
A
1
2
0
0
word (A) ← not (A)
-
-
-
-
-
*
*
R
-
NOTW
ear
2
3
2
0
word (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOTW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
407
表 B.8-9 論理 2 演算命令 ( ロングワード ) 6 命令
#
~
RG
B
ANDL
ニーモニック
A,ear
2
6
2
0
オペレーション
ANDL
A,eam
2+
7+(a)
0
(d)
ORL
A,ear
2
6
2
0
long (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
LH
AH
I
S
T
N
Z
V
C RMW
long (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
long (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
XORL
A,ear
2
6
2
0
long (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
LH
AH
I
S
T
N
Z
V
C RMW
( 注意事項 ) 表中の (a), (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-10 符号反転命令 ( バイト・ワード ) 6 命令
ニーモニック
#
~
RG
B
オペレーション
1
2
0
0
byte (A) ← 0 - (A)
X
-
-
-
-
*
*
*
*
byte (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
-
-
-
-
*
*
*
*
*
-
NEG
A
-
NEG
ear
2
3
2
0
NEG
eam
2+
5+(a)
0
2 × (b)
byte (eam) ← 0 - (eam)
-
NEGW
A
1
2
0
0
word (A) ← 0 - (A)
-
-
-
-
-
*
*
*
*
NEGW
ear
2
3
2
0
word (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
NEGW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
( 注意事項 ) 表中の (a), (b), (c) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-11 ノーマライズ命令 ( ロングワード ) 1 命令
ニーモニック
NRML
A,R0
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
2
*1
1
0
long (A) ← 最初に "1" が立っていた所まで左
シフトする
byte (R0) ← その場合のシフト回数
-
-
-
-
-
-
*
-
-
*1:アキュムレータがすべて "0" であった場合は , 4 "0" 以外であった場合は , 6+(R0)
408
-
付録 B 命令
表 B.8-12 シフト命令 ( バイト・ワード・ロングワード ) 18 命令
ニーモニック
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
RORC
A
2
2
0
0
byte (A) ← 右ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
ROLC
A
2
2
0
0
byte (A) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
RORC
ear
2
3
2
0
byte (ear) ← 右ローテートキャリー付
RORC
eam
2+
5+(a)
0
ROLC
ear
2
3
2
ROLC
eam
2+
5+(a)
0
ASR
A,R0
2
*1
1
LSR
A,R0
2
*1
1
LSL
A,R0
2
*1
ASRW
A
1
LSRW
A/SHRW A
LSLW
A/SHLW A
ASRW
A,R0
2
*1
LSRW
A,R0
2
*1
LSLW
A,R0
2
*1
ASRL
A,R0
2
*2
LSRL
A,R0
2
LSLL
A,R0
2
2 × (b) byte (eam) ← 右ローテートキャリー付
0
byte (ear) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
-
-
-
-
-
*
*
-
*
-
2 × (b) byte (eam) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
*
0
byte (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
0
byte (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
byte (A) ← ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
2
0
0
word (A) ← 算術右シフト (A,1 ビット )
-
-
-
-
*
*
*
-
*
-
1
2
0
0
word (A) ← ロジカル右シフト (A,1 ビット )
-
-
-
-
*
R
*
-
*
-
1
2
0
0
word (A) ← ロジカル左シフト (A,1 ビット )
-
-
-
-
-
*
*
-
*
-
1
0
word (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
1
0
word (A) ←ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
1
0
long (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
*2
1
0
long (A) <-- ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
*1:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 5+(R0)
*2:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 6+(R0)
( 注意事項 ) 表中の (a),(b) は , 表 B.5-1 および表 B.5-2 を参照してください。
409
表 B.8-13 分岐命令 1 31 命令
ニーモニック
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
BZ/BEQ
rel
2
*1
0
0
(Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNZ/BNE
rel
2
*1
0
0
(Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BC/BLO
rel
2
*1
0
0
(C) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNC/BHS
rel
2
*1
0
0
(C) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BN
rel
2
*1
0
0
(N) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BP
rel
2
*1
0
0
(N) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BV
rel
2
*1
0
0
(V) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNV
rel
2
*1
0
0
(V) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BT
rel
2
*1
0
0
(T) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BNT
rel
2
*1
0
0
(T) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLT
rel
2
*1
0
0
(V) xor (N) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BGE
rel
2
*1
0
0
(V) xor (N) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLE
rel
2
*1
0
0
((V) xor (N)) or (Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BGT
rel
2
*1
0
0
((V) xor (N)) or (Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BLS
rel
2
*1
0
0
(C) or (Z) = 1 の場合分岐
-
-
-
-
-
-
-
-
-
-
BHI
rel
2
*1
0
0
(C) or (Z) = 0 の場合分岐
-
-
-
-
-
-
-
-
-
-
BRA
rel
2
*1
0
0
無条件分岐
-
-
-
-
-
-
-
-
-
-
JMP
@A
1
2
0
0
word (PC) ← (A)
-
-
-
-
-
-
-
-
-
-
JMP
addr16
3
3
0
0
word (PC) ← addr16
-
-
-
-
-
-
-
-
-
-
JMP
@ear
2
3
1
0
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
JMP
@eam
2+
4+(a)
0
(c)
word (PC) ← (eam)
-
-
-
-
-
-
-
-
-
-
5
2
0
word (PC) ← (ear), (PCB) ← (ear+2)
-
-
-
-
-
-
-
-
-
-
6+(a)
0
(d)
word (PC) ← (eam), (PCB) ← (eam+2)
-
-
-
-
-
-
-
-
-
-
JMPP
@ear
注 1)
2
JMPP
@eam
注 1)
2+
JMPP
addr24
4
4
0
0
CALL
@ear
注 2)
2
6
1
(c)
word (PC) ← ad24 0-15, (PCB) ← ad24 16-23
-
-
-
-
-
-
-
-
-
-
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
2 × (c) word (PC) ← (eam)
CALL
@eam
注 2)
2+
7+(a)
0
CALL
addr16 注 3)
3
6
0
CALLV
#vct4
注 3)
1
7
0
2 × (c) ベクタコール命令
CALLP
2 × (c) word (PC) ← (ear)0-15, (PCB) ← (ear)16-23
@ear
注 4)
2
10
2
CALLP
@eam
注 4)
2+
11+(a)
0
CALLP
addr24 注 5)
4
10
0
(c)
*2
word (PC) ← addr16
word (PC) ← (eam)0-15, (PCB) ← (eam)16-23
2 × (c) word (PC) ← addr0-15, (PCB) ← addr16-23
*1:分岐が行われる場合 , 4 行われない場合 , 3
*2:3 × (c)+(b)
注 1) 分岐先アドレスの読込み (word)
注 2) W:スタックへの退避 (word), R:分岐先アドレスの読込み (word)
注 3) スタックへの退避 (word)
注 4) W:スタックへの退避 (long), R:分岐先アドレスの読込み (long)
注 5) スタックへの退避 (long)
( 注意事項 ) 表中の (a) ~ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
410
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
付録 B 命令
表 B.8-14 分岐命令 2 19 命令
ニーモニック
#
~
RG
B
オペレーション
CBNE
A,#imm8,rel
3
*1
0
0
byte (A) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
A,#imm16,rel
4
*1
0
0
word (A) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CBNE
ear,#imm8,rel
4
*2
1
0
byte (ear) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
注 1)
4+
*3
0
(b)
byte (eam) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
DBNZ
ear,rel
3
*5
2
DBNZ
eam,rel
3+
*6
2
DWBNZ
ear,rel
3
*5
2
DWBNZ
eam,rel
3+
*6
2
LH
AH
I S T N Z V C RMW
CBNE
eam,#imm8,rel
CWBNE
ear,#imm16,rel
5
*4
1
0
word (ear) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CWBNE
eam,#imm16,rel 注 1)
5+
*3
0
(c)
word (eam) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
-
-
-
-
- * * * -
*
0
2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐
0
word (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐
-
-
-
-
- * * * -
*
INT
#vct8
2
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT
addr16
3
16
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INTP
addr24
4
17
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT9
1
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
RETI
1
*8
0
*7
割込みからの復帰
-
-
* * * * * * *
-
2
6
0
(c)
関数の入口で , 旧フレームポインタをスタッ
クに保存し , 新フレームポインタの設定 , お
よびローカルポインタの領域を確保する
-
-
-
-
-
-
-
-
-
-
1
5
0
(c)
関数の出口で , 旧フレームポインタをスタッ
クから復帰させる
-
-
-
-
-
-
-
-
-
-
LINK
#imm8
UNLINK
RET
注 2)
1
4
0
(c)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
RETP
注 3)
1
6
0
(d)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
*1:分岐が行われる場合 , 5 行われない場合 , 4
*2:分岐が行われる場合 , 13 行われない場合 , 12
*3:分岐が行われる場合 , 7+(a) 行われない場合 , 6+(a)
*4:分岐が行われる場合 , 8 行われない場合 , 7
*5:分岐が行われる場合 , 7 行われない場合 , 6
*6:分岐が行われる場合 , 8+(a) 行われない場合 , 7+(a) *7:次の割込み要求へ分岐する場合 , 3 × (b)+2 × (c) 今の割込みから復帰の場合 , 6 × (c)
*8:次の割込みへ分岐する場合 , 15 今の割込みから復帰する場合 , 17
注 1) CBNE / CWBNE 命令では , RWj+ のアドレッシングモードは , 使用しないでください。
注 2) スタックからの復帰 (word)
注 3) スタックからの復帰 (long)
( 注意事項 ) 表中の (a) ~ (d) は , 表 B.5-1 および表 B.5-2 を参照してください。
411
表 B.8-15 その他制御命令 ( バイト・ワード・ロングワード ) 28 命令
ニーモニック
#
~
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
PUSHW
A
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (A)
-
-
-
-
-
-
-
-
-
-
PUSHW
AH
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (AH)
-
-
-
-
-
-
-
-
-
-
PUSHW
PS
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (PS)
-
-
-
-
-
-
-
-
-
-
PUSHW
rlst
2
*3
*5
*4
(SP) ← (SP) - 2n, ((SP)) ← (rlst)
-
-
-
-
-
-
-
-
-
-
POPW
A
1
3
0
(c)
word (A) ← ((SP)), (SP) ← (SP) + 2
-
*
-
-
-
-
-
-
-
-
POPW
AH
1
3
0
(c)
word (AH) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
POPW
PS
1
4
0
(c)
word (PS) ← ((SP)), (SP) ← (SP) + 2
-
-
*
*
*
*
*
*
*
-
POPW
rlst
2
*2
*5
*4
(rlst) ← ((SP)), (SP) ← (SP) + 2n
-
-
-
-
-
-
-
-
-
-
JCTX
@A
1
14
0
6 × (c)
コンテキストスイッチ命令
-
-
*
*
*
*
*
*
*
-
AND
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) and imm8
-
-
*
*
*
*
*
*
*
-
OR
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) or imm8
-
-
*
*
*
*
*
*
*
-
MOV
RP,#imm8
2
2
0
0
byte (RP) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ILM,#imm8
2
2
0
0
byte (ILM) ← imm8
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,ear
2
3
1
0
word (RWi) ← ear
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,eam
2+
2+(a)
1
0
word (RWi) ← eam
-
-
-
-
-
-
-
-
-
-
MOVEA
A,ear
2
1
0
0
word (A) ← ear
-
*
-
-
-
-
-
-
-
-
MOVEA
A,eam
2+
1+(a)
0
0
word (A) ← eam
-
*
-
-
-
-
-
-
-
-
ADDSP
#imm8
2
3
0
0
word (SP) ← (SP) + ext(imm8)
-
-
-
-
-
-
-
-
-
-
ADDSP
#imm16
3
3
0
0
word (SP) ← (SP) + imm16
-
-
-
-
-
-
-
-
-
-
MOV
A,brg1
2
*1
0
0
byte (A) ← (brg1)
Z
*
-
-
-
*
*
-
-
-
MOV
brg2,A
2
1
0
0
byte (brg2) ← (A)
-
-
-
-
-
*
*
-
-
-
NOP
1
1
0
0
ノーオペレーション
-
-
-
-
-
-
-
-
-
-
ADB
1
1
0
0
AD 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
DTB
1
1
0
0
DT 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
PCB
1
1
0
0
PC 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
SPB
1
1
0
0
SP 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
NCC
1
1
0
0
フラグ無変化用プリフィックスコー
ド
-
-
-
-
-
-
-
-
-
-
CMR
1
1
0
0
コモンレジスタバンク用プリフィッ
クス
-
-
-
-
-
-
-
-
-
-
*1:PCB,ADB,SSB,USB・・・・・・1 ステート
DTB,DPR ・・・・・・・・・・2 ステート
*2:7+3 × (POP する回数 )+2 × (POP する最後のレジスタ番号 ), RLST=0( 転送レジスタ無し ) の場合 7
*3:29+3 × (PUSH する回数 )-3 × (PUSH する最後のレジスタ番号 ), RLST=0 ( 転送レジスタ無し ) の場合 8
*4:(POP する回数 ) × (c), または (PUSH する回数 ) × (c)
*5:(POP する回数 ), または (PUSH する回数 )
( 注意事項 ) 表中の (a),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
412
付録 B 命令
表 B.8-16 ビット操作命令 21 命令
ニーモニック
#
~
RG
オペレーション
B
LH
AH
I
S
T
N
Z
V
C RMW
MOVB
A,dir:bp
3
5
0
(b)
byte (A) ← (dir:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,addr16:bp
4
5
0
(b)
byte (A) ← (addr16:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,io:bp
3
4
0
(b)
byte (A) ← (io:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
dir:bp,A
3
7
0
2 × (b) bit (dir:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
addr16:bp,A
4
7
0
2 × (b) bit (addr16:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
io:bp,A
3
6
0
2 × (b) bit (io:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
SETB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
CLRB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
BBC
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
io:bp,rel
4
*2
0
(b)
(io:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
io:bp,rel
4
*2
0
(b)
(io:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
SBBS
addr16:bp,rel
5
*3
0
-
-
-
-
-
-
*
-
-
*
2 × (b) (addr16:bp) b = 1 で分岐 ,
bit (addr16:bp) b ← 1
WBTS
io:bp
3
*4
0
*5
(io:bp) b = 1 になるまで待つ
-
-
-
-
-
-
-
-
-
-
WBTC
io:bp
3
*4
0
*5
(io:bp) b = 0 になるまで待つ
-
-
-
-
-
-
-
-
-
-
LH
AH
I
S
T
N
Z
V
C RMW
*1:分岐が行われる場合 , 8 分岐が行われない場合 , 7
*2:分岐が行われる場合 , 7 分岐が行われない場合 , 6
*3:条件成立の場合 , 10 未成立の場合 , 9
*4:不定回数
*5:条件が成立するまで
( 注意事項 ) 表中の (b) は , 表 B.5-1 および表 B.5-2 を参照してください。
表 B.8-17 アキュムレータ操作命令 ( バイト・ワード ) 6 命令
ニーモニック
#
~
RG
B
オペレーション
SWAP
1
3
0
0
byte (A)0-7 ←→ (A)8-15
-
-
-
-
-
-
-
-
-
-
SWAPW
1
2
0
0
word (AH) ←→ (AL)
-
*
-
-
-
-
-
-
-
-
EXT
1
1
0
0
byte 符号拡張
X
-
-
-
-
*
*
-
-
-
EXTW
1
2
0
0
word 符号拡張
-
X
-
-
-
*
*
-
-
-
ZEXT
1
1
0
0
byte ゼロ拡張
Z
-
-
-
-
R
*
-
-
-
ZEXTW
1
1
0
0
word ゼロ拡張
-
Z
-
-
-
R
*
-
-
-
413
表 B.8-18 ストリング命令 10 命令
ニーモニック
#
~
RG
B
MOVS / MOVSI
2
*2
*5
*3
MOVSD
2
*2
*5
*3
SCEQ / SCEQI
2
*1
*8
SCEQD
2
*1
*8
FILS / FILSI
2
6m+6
MOVSW / MOVSWI
2
*2
MOVSWD
2
*2
*5
SCWEQ / SCWEQI
2
*1
SCWEQD
2
*1
FILSW / FILSWI
2
6m+6
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
byte 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
byte 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*4
byte 検索 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*4
byte 検索 @AH- ← AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*3
byte 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
*5
*6
word 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*6
word 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*8
*7
word 検索 @AH+ - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*7
word 検索 @AH- - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*6
word 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
*1:RW0 が "0" の場合 , 5 カウントアウトの場合 , 4+7 × (RW0) 一致した場合 , 7n+5
*2:RW0 が "0" の場合 , 5 "0" 以外の場合 , 4+8 × (RW0)
*3:(b) × (RW0)+(b) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (b) の項目
を算出してください。
*4:(b)+n
*5:2 × (b) × (RW0)
*6:(c) × (RW0)+(c) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (c) の項目
を算出してください。
*7:(c) × n
*8:(b) × (RW0)
( 注意事項 ) ・ m:RW0 値 ( カウンタ値 )
n:ループした回数
・ 表中の (b),(c) は , 表 B.5-1 および表 B.5-2 を参照してください。
414
付録 B 命令
B.9
命令マップ
F2MC-16LX の命令コードは , 1 ~ 2 バイトで構成されていますので , 命令マップは
複数のページで構成されています。
F2MC-16LX の命令マップを示します。
■ 命令マップの構造
図 B.9-1 命令マップの構造
基本ページマップ
ビット操作系命令
文字列操作系命令
2 バイト系命令
:第 1 バイト
ea 系命令× 9
:第 2 バイト
1 バイトで終わる命令 (NOP 命令など ) は基本ページで完結し , 2 バイト必要とする命
令 (MOVS 命令など ) は第 1 バイトを参照した段階で第 2 バイト用のマップの存在がわ
かり , 第 2 バイト用のマップを参照して続く 1 バイトを調べることができます。
実際の命令コードと命令マップの対応を図 B.9-2 に示します。
415
図 B.9-2 実際の命令コードと命令マップの対応
命令によっては
ない場合もある
命令によって
長さが異なる
命令コード 第 1 バイト
第 2 バイト
オペランド
オペランド
・・・
[ 基本ページマップ ]
XY
+Z
[ 拡張ページマップ ]*
UV
+W
*:拡張ページマップとはビット操作系命令・文字列操作系命令・2 バイト系命令・ea 系
命令の総称で , 実際は各系列の命令ごとに複数存在します。
命令コードの例を表 B.9-1 に示します。
表 B.9-1 命令コードの例
第 1 バイト
( 基本ページマップより )
第 2 バイト
( 拡張ページマップより )
NOP
00 + 0=00
―
AND A, #8
30 + 4=34
―
MOV A, ADB
60 + F=6F
00 + 0=00
@RW2+d8, #8, rel
70 + 0=70
F0 + 2=F2
命令
416
A
SWAP
ADDSP
ADB
SPB
#8
C0
D0
E0
ea 系命令
その 2
#4
rel
BNT
BT
+F
+E
+D
+C
+B
LSRW
ASRW
LSLW
NEGW
A
A
A
A
XORW
ORW
ANDW
ANDW
PUSHW
POPW
A, #16
A
A
A
A
PUSHW
POPW
rlst
rlst
XORW
PUSHW
POPW
A, #16
PS
PS
rel
ビット操 MOV
ea, Ri
作系命令
rel
rel
BLS
文字列操 XCH
Ri, ea
作系命令
2 バイト XCHW
RWi, ea
系命令
BHI
rel
BGT
MOVW
ea, RWi
BLE
rel
BGE
MOVW
RWi, ea
CMPW
MOVL
MOVW
RETI
A, #16
A, #32 addr16, A
ORW
PUSHW
POPW
A
A, #16
AH
AH
A
A
ADDSP
MULUW
NOTW
#16
A
SWAPW
ZEXTW
EXTW
CMPL
CMPW
A, #32
BLT
rel
A
ADDW
MOVW
MOVW
INT
MOVW
MOVW
MOV A,
MOVW
ea 系命令 MOVW
A, #16
A, dir
A, io
#vct8
A, RWi
RWi, A RWi, #16 @RWi+d8 @RWi+d8,A
その 9
BNV
rel
SUBL
SUBW
A, #32
A
MOVW
MOVX
RET
A
SP, A A, addr16
A, #8
rel
rel
ea 系命令
その 8
A
NOT
XOR
BV
rel
MULU
A
MOVW
MOVW
RETP
A, SP
io, #16
ea 系命令
その 7
DIVU
A, #8
rel
OR
OR
CCR, #8
BP
A, #8
BC/BLO
BNZ/BNE
rel
BZ/BEQ
F0
MOV
MOV
CBNE A, CWBNE A, MOVW
MOVW
INTP
MOV
+A
RP, #8
ILM, #8
#8, rel
#16, rel
A, #16 A,addr16
addr24
Ri, ea
+9
UNLINK
B0
MOV
MOV
MOV
MOVX A, MOV
CALL
ea 系命令 MOV
A, Ri
Ri, A
Ri, #8
A, Ri @RWi+d8
A, #4
その 1
A0
BNC/BHS
rel
@A
rel
90
MOVX
MOV
JMPP
ea 系命令
A, #8 addr16, A
addr24
その 4
JMP
BRA
80
MOVX
MOVX
CALLP
ea 系命令
A, dir
A, io
addr24
その 6
A, #8
io, A
A, io
70
rel
CMP
MOV
MOV
60
rel
dir, A
A, dir
50
MOV
JMP
ea 系命令
A, addr16
addr16
その 3
MOV
MOV
MOV
40
BN
A
A
A, #8
A, #8
SUBC
SUB
ADD
30
AND
AND
MOV
MOV
CALL
ea 系命令
CCR, #8
A, #8
dir, #8
io, #8
addr16
その 5
CMP
A
A, dir
A, dir
ADDC
SUB
ADD
20
LINK
ADDL
ADDW
#imm8
A, #32
ZEXT
DTB
@A
EXT
JCTX
PCB
A
SUBDC
ADDDC
NEG
NCC
INT9
A
CMR
NOP
10
SUBW
MOVW
MOVW
INT
MOVEA
A, #16
dir, A
io, A
addr16
RWi, ea
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-2 基本ページマップ
417
418
+F
+E
+D
+C
+B
+A
+9
+8
+7
+6
+5
+4
+3
+2
+1
+0
10
MOVB
io:bp, A
20
30
CLRB
io:bp
40
50
SETB
io:bp
60
70
BBC
io;bp, rel
80
90
BBS
io:bp, rel
A0
B0
MOVB
MOVB A, MOVB
MOVB
CLRB
CLRB
SETB
SETB
BBC
BBC
BBS
BBS
A, dir:bp addr16:bp
dir:bp, A addr16:bp,A
dir:bp addr16:bp
dir:bp addr16:bp dir:bp, rel addr16:bp,rel dir:bp, rel addr16:bp,rel
MOVB
A, io:bp
00
WBTS
io:bp
C0
D0
WBTC
io:bp
E0
SBBS
addr16:bp
F0
表 B.9-3 ビット操作系命令マップ ( 第 1 バイト =6CH)
MOVSI
MOVSD
PCB, PCB
PCB, DTB
PCB, ADB
PCB, SPB
DTB, PCB
DTB, DTB
DTB, ADB
DTB, SPB
ADB, PCB
ADB, DTB
ADB, ADB
ADB, SPB
SPB, PCB
SPB, DTB
SPB, ADB
SPB, SPB
+1
+2
+3
+4
+5
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
10
+0
00
MOVSWI
20
MOVSWD
30
40
50
60
70
90
A0
B0
C0
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SPB
ADB
DTB
SCEQI
SCEQD
SCWEQI SCWEQD FILSI
PCB
PCB
PCB
PCB
PCB
80
D0
FILSI
SPB
ADB
DTB
PCB
E0
F0
付録 B 命令
表 B.9-4 文字列操作系命令マップ ( 第 1 バイト =6EH)
419
420
LSLW
LSLL
LSL
MOVW
MOVW
A, R0
A, R0
A, R0 @RL2+d8, A A, @RL2+d8
MOVW
MOVW
NRML
A, @A @AL, AH
A, R0
ASRW
ASRL
ASR
MOVW
MOVW
A, R0
A, R0
A, R0 @RL3+d8, A A, @RL3+d8
LSRW
LSRL
LSR
A, R0
A, R0
A, R0
+D
+E
+F
MOVW
MOVW
@RL1+d8, A A, @RL1+d8
MOVW
MOVW
@RL0+d8, A A, @RL0+d8
+C
+B
+A
+9
+8
A
MOV
MOV
MOVX
MOV
MOV
A, PCB
A, @A A, @RL3+d8 @RL3+d8, A A, @RL3+d8
+6
ROLC
MOV
MOV
A, @A @AL, AH
+5
A
MOV
MOV
MOVX
MOV
MOV
A, DPR
DPR, A A, @RL2+d8 @RL2+d8, A A, @RL2+d8
+4
ROLC
MOV
MOV
A, USB
USB, A
+3
+7
MOV
MOV
MOVX
MOV
MOV
A, SSB
SSB, A A, @RL1+d8 @RL1+d8, A A, @RL1+d8
+2
40
MOV
MOV
A, ADB
ADB, A
30
+1
20
MOV
MOV
MOVX
MOV
MOV
A, DTB
DTB, A A, @RL0+d8 @RL0+d8, A A, @RL0+d8
10
+0
00
50
60
DIVU
MULW
MUL
70
A
A
A
80
90
A0
B0
C0
D0
E0
F0
表 B.9-5 2 バイト系命令マップ ( 第 1 バイト =6FH)
@PC+d16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
使用禁止
使用禁止
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ADDL
ADDL A, SUBL
SUBL A,
A,@RW3+
addr16 A,@RW3+
addr16
SUBL
SUBL
SUBL A,
SUBL A,
addr16, CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16
@RW1+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
使用禁止
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
+F
使用禁止
@RW0+RW7 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
使用禁止
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDL A,
@RW3, @RW3+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
ADDL
使用禁止
@RW2, @RW2+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
ADDL A,
@RW1, @RW1+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDL
@RW0+RW7
,#8, rel
使用禁止
@RW0, @RW0+d16 CMPL
CMPL A,
ANDL
ANDL A,
ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ADDL
ADDL A,
SUBL
SUBL A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
SUBL A,
RW7, @RW7+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
A, RL3 @RW7+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW7+d8
A, RL3 @RW7+d8
+7
SUBL
RW6, @RW6+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
A, RL3 @RW6+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL3 @RW6+d8
A, RL3 @RW6+d8
+6
ADDL A,
RW5, @RW5+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
A, RL2 @RW5+d8
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW5+d8
A, RL2 @RW5+d8
+5
ADDL
@RW3, @RW3+d16
#8, rel
,#8, rel
RW4, @RW4+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
A, RL2 @RW4+d8
使用禁止
addr16,
,#8, rel
@PC+d16,
,#8, rel
@RW1+RW7
,#8, rel
@RW2, @RW2+d16
#8, rel
,#8, rel
@RW1, @RW1+d16
#8, rel
,#8, rel
@RW0, @RW0+d16
#8, rel
,#8, rel
R7, @RW7+d8,
#8, rel
#8, rel
R6, @RW6+d8,
#8, rel
#8, rel
R5, @RW5+d8,
#8, rel
#8, rel
R4, @RW4+d8,
#8, rel
#8, rel
R3, @RW3+d8,
#8, rel
#8, rel
R2, @RW2+d8,
#8, rel
#8, rel
R1, @RW1+d8,
#8, rel
#8, rel
ADDL
ADDL A, SUBL
SUBL A,
A, RL2 @RW4+d8
A, RL2 @RW4+d8
CBNE↓
F0
R0, @RW0+d8,
#8, rel
#8, rel
CBNE↓
E0
+4
D0
RW3, @RW3+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
A, RL1 @RW3+d8
C0
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW3+d8
A, RL1 @RW3+d8
B0
+3
A0
RW2, @RW2+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
A, RL1 @RW2+d8
90
ADDL
ADDL A, SUBL
SUBL A,
A, RL1 @RW2+d8
A, RL1 @RW2+d8
80
+2
70
RW1, @RW1+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
A, RL0 @RW1+d8
CWBNE↓
CWBNE↓
60
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW1+d8
A, RL0 @RW1+d8
50
40
+1
30
+0
20
RW0, @RW0+d8 CMPL
CMPL A, ANDL
ANDL A, ORL
ORL A,
XORL
XORL A,
#16, rel
#16, rel
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
A, RL0 @RW0+d8
10
ADDL
ADDL A, SUBL
SUBL A,
A, RL0 @RW0+d8
A, RL0 @RW0+d8
00
付録 B 命令
表 B.9-6 ea 系命令 その 1 ( 第 1 バイト =70H)
421
422
+F @@RW3+
JMPP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+,A @PC+d16, A @RW2+, #8 @PC+d16, #8 A,@RW2+ @PC+d16
CALLP
CALLP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@addr16 @@RW3+ @addr16 @RW3+
addr16 @RW3+
addr16 A,@RW3+
addr16 @RW3+,A
addr16, A @RW3+, #8
addr16, #8 A,@RW3+
addr16
JMPP
JMPP
CALLP @
+E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+,A @RW1+RW7,A @RW1+, #8 @RW1+RW7,#8 A,@RW1+ @RW1+RW7
JMPP @
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
JMPP
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+,A @RW0+RW7,A @RW0+, #8 @RW0+RW7,#8 A,@RW0+ @RW0+RW7
CALLP @
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW3 @RW3+d16 @@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3,A @RW3+d16,A @RW3, #8 @RW3+d16,#8
A,@RW3 @RW3+d16
+B
CALLP
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW2 @RW2+d16 @@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2,A @RW2+d16,A @RW2, #8 @RW2+d16,#8
A,@RW2 @RW2+d16
+A
JMPP @
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW1 @RW1+d16 @@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1,A @RW1+d16,A @RW1, #8 @RW1+d16,#8
A,@RW1 @RW1+d16
+9
JMPP
JMPP
JMPP @
CALLP
CALLP @
INCL
INCL
DECL
DECL
MOVL
MOVL A,
MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@@RW0 @RW0+d16 @@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0,A @RW0+d16,A @RW0, #8 @RW0+d16,#8
A,@RW0 @RW0+d16
+8
+C @@RW0+ @RW0+RW7 @@RW0+ @RW0+RW7
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL3 @@RW7+d8
@RL3 @@RW7+d8
RL3 @RW7+d8
RL3 @RW7+d8
A, RL3 @RW7+d8
RL3, A @RW7+d8,A
R7, #8 @RW7+d8,#8
A, RW7 @RW7+d8
F0
+7
E0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL3 @@RW6+d8
@RL3 @@RW6+d8
RL3 @RW6+d8
RL3 @RW6+d8
A, RL3 @RW6+d8
RL3, A @RW6+d8,A
R6, #8 @RW6+d8,#8
A, RW6 @RW6+d8
D0
+6
C0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL2 @@RW5+d8
@RL2 @@RW5+d8
RL2 @RW5+d8
RL2 @RW5+d8
A, RL2 @RW5+d8
RL2, A @RW5+d8,A
R5, #8 @RW5+d8,#8
A, RW5 @RW5+d8
B0
+5
A0
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL2 @@RW4+d8
@RL2 @@RW4+d8
RL2 @RW4+d8
RL2 @RW4+d8
A, RL2 @RW4+d8
RL2, A @RW4+d8,A
R4, #8 @RW4+d8,#8
A, RW4 @RW4+d8
90
+4
80
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL1 @@RW3+d8
@RL1 @@RW3+d8
RL1 @RW3+d8
RL1 @RW3+d8
A, RL1 @RW3+d8
RL1, A @RW3+d8,A
R3, #8 @RW3+d8,#8
A, RW3 @RW3+d8
70
+3
60
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL1 @@RW2+d8
@RL1 @@RW2+d8
RL1 @RW2+d8
RL1 @RW2+d8
A, RL1 @RW2+d8
RL1, A @RW2+d8,A
R2, #8 @RW2+d8,#8
A, RW2 @RW2+d8
50
+2
40
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW1+d8
@RL0 @@RW1+d8
RL0 @RW1+d8
RL0 @RW1+d8
A, RL0 @RW1+d8
RL0, A @RW1+d8,A
R1, #8 @RW1+d8,#8
A, RW1 @RW1+d8
30
+1
20
JMPP
JMPP
CALLP
CALLP
INCL
INCL
DECL
DECL
MOVL
MOVL A, MOVL
MOVL
MOV
MOV
MOVEA
MOVEA A,
@RL0 @@RW0+d8
@RL0 @@RW0+d8
RL0 @RW0+d8
RL0 @RW0+d8
A, RL0 @RW0+d8
RL0, A @RW0+d8,A
R0, #8 @RW0+d8,#8
A, RW0 @RW0+d8
10
+0
00
表 B.9-7 ea 系命令 その 2 ( 第 1 バイト =71H)
D0
E0
F0
MOVX
MOVX A,
XCH
XCH A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MOVX
MOVX A,
XCH
XCH A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV A,
MOV
MOV
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A A,@RW3+
addr16 A,@RW3+
addr16
+D
+E
+F
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R7 @RW7+d8
A, R7 @RW7+d8
R7, A @RW7+d8,A
A, R7 @RW7+d8
A, R7 @RW7+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R6 @RW6+d8
A, R6 @RW6+d8
R6, A @RW6+d8,A
A, R6 @RW6+d8
A, R6 @RW6+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R5 @RW5+d8
A, R5 @RW5+d8
R5, A @RW5+d8,A
A, R5 @RW5+d8
A, R5 @RW5+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R4 @RW4+d8
A, R4 @RW4+d8
R4, A @RW4+d8,A
A, R4 @RW4+d8
A, R4 @RW4+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R3 @RW3+d8
A, R3 @RW3+d8
R3, A @RW3+d8,A
A, R3 @RW3+d8
A, R3 @RW3+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R2 @RW2+d8
A, R2 @RW2+d8
R2, A @RW2+d8,A
A, R2 @RW2+d8
A, R2 @RW2+d8
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R1 @RW1+d8
A, R1 @RW1+d8
R1, A @RW1+d8,A
A, R1 @RW1+d8
A, R1 @RW1+d8
+C
INC
DEC
R7 @RW7+d8
C0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
ROLC
RORC
RORC
INC
R7 @RW7+d8
R7 @RW7+d8
ROLC
INC
DEC
R6 @RW6+d8
B0
+B
ROLC
RORC
RORC
INC
R6 @RW6+d8
R6 @RW6+d8
ROLC
INC
DEC
R5 @RW5+d8
A0
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
ROLC
RORC
RORC
INC
R5 @RW5+d8
R5 @RW5+d8
ROLC
INC
DEC
R4 @RW4+d8
90
+A
ROLC
RORC
RORC
INC
R4 @RW4+d8
R4 @RW4+d8
ROLC
INC
DEC
R3 @RW3+d8
INC
DEC
R2 @RW2+d8
INC
DEC
R1 @RW1+d8
80
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
R0 @RW0+d8
A, R0 @RW0+d8
R0, A @RW0+d8,A
A, R0 @RW0+d8
A, R0 @RW0+d8
70
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
ROLC
RORC
RORC
INC
R3 @RW3+d8
R3 @RW3+d8
ROLC
60
INC
DEC
R0 @RW0+d8
50
+9
ROLC
RORC
RORC
INC
R2 @RW2+d8
R2 @RW2+d8
ROLC
40
ROLC
ROLC
RORC
RORC
INC
INC
DEC
DEC
MOV
MOV
A, MOV
MOV
MOVX
MOVX A, XCH
XCH
A,
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0, A @RW0+d16,A
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
ROLC
RORC
RORC
INC
R1 @RW1+d8
R1 @RW1+d8
ROLC
30
ROLC
RORC
RORC
INC
R0 @RW0+d8
R0 @RW0+d8
20
ROLC
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-8 ea 系命令 その 3 ( 第 1 バイト =72H)
423
424
+F @@RW3+
JMP
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW2+ @@PC+d16
@RW2+ @PC+d16 A,@RW2+ @PC+d16 @RW2+, A @PC+d16, A @RW2+, #16 @PC+d16, #16 A,@RW2+ @PC+d16
CALL
CALL
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@addr16 @@RW3+ @addr16 @RW3+
addr16 @RW3+
addr16 A,@RW3+
addr16 @RW3+, A
addr16, A @RW3+, #16
addr16, #16 A,@RW3+
addr16
JMP
JMP
XCHW
XCHW A,
A,@RW1+ @RW1+RW7
+E @@RW2+ @@PC+d16 @@RW2+ @@PC+d16
CALL @
MOVW
MOVW
@RW1+, #16 @RW1+RW7,#16
CALL
INCW
INCW @
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A
JMP @
JMP
+D @@RW1+ @RW1+RW7 @@RW1+ @RW1+RW7
XCHW
XCHW A,
A,@RW0+ @RW0+RW7
MOVW
MOVW
@RW0+, #16 @RW0+RW7,#16
INCW
INCW @
DECW
DECW
MOVW
MOVW A,
MOVW
MOVW
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A
CALL @
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW3 @RW3+d16 @@RW3 @RW3+d16
@RW3 @RW3+d16
@RW3 @RW3+d16 A,@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, #16 @RW3+d16,#16
A,@RW3 @RW3+d16
+B
CALL
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW2 @RW2+d16 @@RW2 @RW2+d16
@RW2 @RW2+d16
@RW2 @RW2+d16 A,@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, #16 @RW2+d16,#16
A,@RW2 @RW2+d16
+A
JMP @
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW1 @RW1+d16 @@RW1 @RW1+d16
@RW1 @RW1+d16
@RW1 @RW1+d16 A,@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, #16 @RW1+d16,#16
A,@RW1 @RW1+d16
+9
JMP
JMP
JMP @
CALL
CALL @
INCW
INCW @ DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@@RW0 @RW0+d16 @@RW0 @RW0+d16
@RW0 @RW0+d16
@RW0 @RW0+d16 A,@RW0 @RW0+d16 @RW0,A @RW0+d16,A @RW0, #16 @RW0+d16,#16
A,@RW0 @RW0+d16
+8
+C @@RW0+ @RW0+RW7 @@RW0+ @RW0+RW7
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW7 @@RW7+d8
RW7 @@RW7+d8
RW7 @RW7+d8
RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, A @RW7+d8,A
RW7, #16 @RW7+d8,#16
A, RW7 @RW7+d8
F0
+7
E0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW6 @@RW6+d8
RW6 @@RW6+d8
RW6 @RW6+d8
RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, A @RW6+d8,A
RW6, #16 @RW6+d8,#16
A, RW6 @RW6+d8
D0
+6
C0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW5 @@RW5+d8
RW5 @@RW5+d8
RW5 @RW5+d8
RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, A @RW5+d8,A
RW5, #16 @RW5+d8,#16
A, RW5 @RW5+d8
B0
+5
A0
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW4 @@RW4+d8
RW4 @@RW4+d8
RW4 @RW4+d8
RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, A @RW4+d8,A
RW4, #16 @RW4+d8,#16
A, RW4 @RW4+d8
90
+4
80
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW3 @@RW3+d8
RW3 @@RW3+d8
RW3 @RW3+d8
RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, A @RW3+d8,A
RW3, #16 @RW3+d8,#16
A, RW3 @RW3+d8
70
+3
60
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW2 @@RW2+d8
RW2 @@RW2+d8
RW2 @RW2+d8
RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, A @RW2+d8,A
RW2, #16 @RW2+d8,#16
A, RW2 @RW2+d8
50
+2
40
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW1 @@RW1+d8
RW1 @@RW1+d8
RW1 @RW1+d8
RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, A @RW1+d8,A
RW1, #16 @RW1+d8,#16
A, RW1 @RW1+d8
30
+1
20
JMP
JMP
CALL
CALL
INCW
INCW
DECW
DECW
MOVW
MOVW A, MOVW
MOVW
MOVW
MOVW
XCHW
XCHW A,
@RW0 @@RW0+d8
RW0 @@RW0+d8
RW0 @RW0+d8
RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, A @RW0+d8,A
RW0, #16 @RW0+d8,#16
A, RW0 @RW0+d8
10
+0
00
表 B.9-9 ea 系命令 その 4 ( 第 1 バイト =73H)
ADD
ADD
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0+ @RW0+RW7 @RW0+, r W0+RW7, r
SUB
A, ADDC
ADDC
A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1+ @RW1+RW7 @RW1+, r W1+RW7, r
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16,
A,@RW2+ @PC+d16 @RW2+, r PC+d16, r
ADD
ADD
SUB
SUB
ADDC
ADDC
CMP
CMP
AND
AND
OR
OR
XOR
XOR
DBNZ
DBNZ
A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+ A, addr16 A,@RW3+
A, addr16 A,@RW3+ A, addr16 @RW3+, r
addr16, r
+E
+F
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, SUB
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 @RW3, r W3+d16, r
+B
A, SUB
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 @RW2, r W2+d16, r
+A
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 @RW1, r W1+d16, r
+9
ADD
ADD
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @R
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 @RW0, r W0+d16, r
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
A, R7 @RW7+d8
R7, r RW7+d8, r
ADD
F0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
A, R6 @RW6+d8
R6, r RW6+d8, r
E0
ADD
D0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
A, R5 @RW5+d8
R5, r RW5+d8, r
C0
ADD
B0
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
A, R4 @RW4+d8
R4, r RW4+d8, r
A0
ADD
90
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
A, R3 @RW3+d8
R3, r RW3+d8, r
80
ADD
70
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
A, R2 @RW2+d8
R2, r RW2+d8, r
60
ADD
50
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
A, R1 @RW1+d8
R1, r RW1+d8, r
40
ADD
30
ADD
A, SUB
SUB
A, ADDC
ADDC A, CMP
CMP
A, AND
AND
A, OR
OR
A, XOR
XOR
A, DBNZ
DBNZ @
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
A, R0 @RW0+d8
R0, r RW0+d8, r
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
付録 B 命令
表 B.9-10 ea 系命令 その 5 ( 第 1 バイト =74H)
425
426
NOT
NOT
@RW1+ @RW1+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
SUB
SUB
@RW2+, A @PC+d16,A
SUB
SUB
@RW3+, A addr16, A
ADD
ADD
@RW2+, A @PC+d16,A
ADD
ADD
@RW3+, A addr16, A
+D
+E
+F
SUBC
SUBC A, NEG
NEG A,
AND
AND
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
OR
OR
@RW3+, A addr16, A
XOR
XOR
@RW3+, A addr16, A
NOT
NOT
@RW3+
addr16
OR
OR
XOR
XOR
NOT
NOT
@RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
NOT
NOT
@RW0+ @RW0+RW7
ADD
ADD @R
SUB
SUB
SUBC
SUBC A,
NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
+C
SUBC
SUBC A, NEG
NEG A,
AND
AND
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A
NOT
NOT
@RW3 @RW3+d16
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
NOT
R7 @RW7+d8
NOT
R6 @RW6+d8
NOT
R5 @RW5+d8
NOT
R4 @RW4+d8
+B
XOR
NOT
R7, A @RW7+d8, A
XOR
NOT
R6, A @RW6+d8, A
XOR
NOT
R5, A @RW5+d8, A
XOR
NOT
R4, A @RW4+d8, A
NOT
R3 @RW3+d8
NOT
R2 @RW2+d8
NOT
R1 @RW1+d8
NOT
NOT
@RW2 @RW2+d16
XOR
NOT
XOR
NOT
R3, A @RW3+d8, A
XOR
R2, A @RW2+d8,A
XOR
NOT
R1, A @RW1+d8, A
NOT
R0 @RW0+d8
F0
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
NEG A,
AND
AND
OR
OR
R7 @RW7+d8
R7, A @RW7+d8, A
R7, A @RW7+d8, A
XOR
XOR
XOR
XOR
XOR
XOR
E0
XOR
NOT
R0, A @RW0+d8, A
D0
+A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R7, A @RW7+d8, A
R7, A @RW7+d8, A
A, R7 @RW7+d8
ADD
NEG A,
AND
AND
OR
OR
R6 @RW6+d8
R6, A @RW6+d8, A
R6, A @RW6+d8, A
NEG A,
AND
AND
OR
OR
R5 @RW5+d8
R5, A @RW5+d8, A
R5, A @RW5+d8, A
NEG A,
AND
AND
OR
OR
R4 @RW4+d8
R4, A @RW4+d8, A
R4, A @RW4+d8, A
NEG A,
AND
AND
OR
OR
R3 @RW3+d8
R3, A @RW3+d8, A
R3, A @RW3+d8, A
NEG A,
AND
AND
OR
OR
R2 @RW2+d8
R2, A @RW2+d8,A
R2, A @RW2+d8,A
NEG A,
AND
AND
OR
OR
R1 @RW1+d8
R1, A @RW1+d8, A
R1, A @RW1+d8, A
XOR
C0
NOT
NOT
@RW1 @RW1+d16
ADD
SUB
SUB
SUBC
SUBC A, NEG
R6, A @RW6+d8, A
R6, A @RW6+d8, A
A, R6 @RW6+d8
ADD
B0
ADD
ADD @R
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R5, A @RW5+d8, A
R5, A @RW5+d8, A
A, R5 @RW5+d8
ADD
A0
+9
ADD
SUB
SUB
SUBC
SUBC A, NEG
R4, A @RW4+d8, A
R4, A @RW4+d8, A
A, R4 @RW4+d8
ADD
90
NOT
NOT
@RW0 @RW0+d16
ADD
SUB
SUB
SUBC
SUBC A, NEG
R3, A @RW3+d8, A
R3, A @RW3+d8, A
A, R3 @RW3+d8
ADD
80
NEG A,
AND
AND
OR
OR
R0 @RW0+d8
R0, A @RW0+d8, A
R0, A @RW0+d8, A
70
ADD
ADD
SUB
SUB
SUBC
SUBC A, NEG
NEG A,
AND
AND
OR
OR
XOR
XOR
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
ADD
SUB
SUB
SUBC
SUBC A, NEG
R2, A @RW2+d8,A
R2, A @RW2+d8,A
A, R2 @RW2+d8
60
ADD
50
ADD
SUB
SUB
SUBC
SUBC A, NEG
R1, A @RW1+d8, A
R1, A @RW1+d8, A
A, R1 @RW1+d8
40
ADD
30
ADD
SUB
SUB
SUBC
SUBC A, NEG
R0, A @RW0+d8, A
R0, A @RW0+d8, A
A, R0 @RW0+d8
20
ADD
10
+8
+7
+6
+5
+4
+3
+2
+1
+0
00
表 B.9-11 ea 系命令 その 6 ( 第 1 バイト =75H)
ADDW A, SUBW
ADDW
ADDCW
+F
CMPW
CMPW A,
ANDW
ANDW A,
ANDW A,
ORW
ORW
ORW
ORW
A,
A,
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16, A,@RW2+ @PC+d16 @RW2+, r @PC+d16,r
ADDCW A,
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A,@RW3+
addr 16 A,@RW3+ addr 16
A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr 16 A,@RW3+
addr16 A,@RW3+
addr 16 @RW3+, r
addr16, r
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
SUBW A, ADDCW
SUBW A,
ANDW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW1+ @RW1+RW7 @RW1+, r @RW1+RW7,r
SUBW
ADDW A,
ADDW
CMPW A,
+D A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
CMPW
XORW
XORW A,
DWBNZ
DWBNZ
A,@RW0+ @RW0+RW7 @RW0+, r @RW0+RW7,r
ADDCW A,
+C A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
ADDCW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW3 @RW3+d16 @RW3, r @RW3+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
+B
SUBW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW2 @RW2+d16 @RW2, r @RW2+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
+A
SUBW
XORW
XORW A, DWBNZ
DWBNZ
A,@RW1 @RW1+d16 @RW1, r @RW1+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
+9
ADDW A,
XORW
XORW A, DWBNZ
DWBNZ
A,@RW0 @RW0+d16 @RW0, r @RW0+d16,r
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A,
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
+8
ADDW
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
A, RW7 @RW7+d8
RW7, r @RW7+d8,r
F0
+7
E0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
A, RW6 @RW6+d8
RW6, r @RW6+d8,r
D0
+6
C0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
A, RW5 @RW5+d8
RW5, r @RW5+d8,r
B0
+5
A0
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
A, RW4 @RW4+d8
RW4, r @RW4+d8,r
90
+4
80
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
A, RW3 @RW3+d8
RW3, r @RW3+d8,r
70
+3
60
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
A, RW2 @RW2+d8
RW2, r @RW2+d8,r
50
+2
40
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
A, RW1 @RW1+d8
RW1, r @RW1+d8,r
30
+1
20
ADDW
ADDW A, SUBW
SUBW A, ADDCW
ADDCW A, CMPW
CMPW A, ANDW
ANDW A, ORW
ORW
A, XORW
XORW A, DWBNZ
DWBNZ
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
A, RW0 @RW0+d8
RW0, r @RW0+d8,r
10
+0
00
付録 B 命令
表 B.9-12 ea 系命令 その 7 ( 第 1 バイト =76H)
427
428
ORW
ORW
XORW
XORW
NOTW
NOTW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
RW6 @RW6+d8
ORW
ORW
XORW
XORW
NOTW
NOTW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
RW7 @RW7+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW6, A @RW6+d8, A
RW6, A @RW6+d8, A
A, RW6 @RW6+d8
RW6 @RW6+d8
RW6, A @RW6+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW7, A @RW7+d8, A
RW7, A @RW7+d8, A
A, RW7 @RW7+d8
RW7 @RW7+d8
RW7, A @RW7+d8, A
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0, A @RW0+d16,A @RW0, A @RW0+d16,A A, @RW0 @RW0+d16
@RW0 @RW0+d16 @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A @RW0, A @RW0+d16,A
@RW0 @RW0+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1, A @RW1+d16,A @RW1, A @RW1+d16,A A, @RW1 @RW1+d16
@RW1 @RW1+d16 @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A @RW1, A @RW1+d16,A
@RW1 @RW1+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW2, A @RW2+d16,A @RW2, A @RW2+d16,A A, @RW2 @RW2+d16
@RW2 @RW2+d16 @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A @RW2, A @RW2+d16,A
@RW2 @RW2+d16
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW3, A @RW3+d16,A @RW3, A @RW3+d16,A A, @RW3 @RW3+d16
@RW3 @RW3+d16 @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A @RW3, A @RW3+d16,A
@RW3 @RW3+d16
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A A,@RW0+ @RW0+RW7
@RW0+ @RW0+RW7 @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A @RW0+, A @RW0+RW7,A
@RW0+ @RW0+RW7
ADDW
ADDW
SUBW
SUBW
SUBCW
SUBCW A,
NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
@RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A A,@RW1+ @RW1+RW7
@RW1+ @RW1+RW7 @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A @RW1+, A @RW1+RW7,A
@RW1+ @RW1+RW7
SUBW
SUBW
@RW2+, A @PC+d16,A
SUBW
SUBW
@RW3+, A addr16, A
ADDW
ADDW
@RW2+, A @PC+d16,A
ADDW
ADDW
@RW3+, A addr16, A
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
A,@RW3+
addr16 @RW3+
addr16 @RW3+, A addr16, A
ORW
ORW
@RW3+, A addr16, A
XORW
XORW
@RW3+, A addr16, A
NOTW
NOTW
@RW3+
addr16
SUBCW
SUBCW A, NEGW
NEGW
ANDW
ANDW
ORW
ORW
XORW
XORW
NOTW
NOTW
A,@RW2+ @PC+d16
@RW2+ @PC+d16 @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A @RW2+, A @PC+d16,A
@RW2+ @PC+d16
ORW
ORW
XORW
XORW
NOTW
NOTW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
RW5 @RW5+d8
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW5, A @RW5+d8, A
RW5, A @RW5+d8, A
A, RW5 @RW5+d8
RW5 @RW5+d8
RW5, A @RW5+d8, A
+5
F0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
RW4 @RW4+d8
E0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW4, A @RW4+d8, A
RW4, A @RW4+d8, A
A, RW4 @RW4+d8
RW4 @RW4+d8
RW4, A @RW4+d8, A
D0
+4
C0
ORW
ORW
XORW
XORW
NOTW
NOTW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
RW3 @RW3+d8
B0
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW3, A @RW3+d8, A
RW3, A @RW3+d8, A
A, RW3 @RW3+d8
RW3 @RW3+d8
RW3, A @RW3+d8, A
A0
+3
90
ORW
ORW
XORW
XORW
NOTW
NOTW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
RW2 @RW2+d8
80
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW2, A @RW2+d8, A
RW2, A @RW2+d8, A
A, RW2 @RW2+d8
RW2 @RW2+d8
RW2, A @RW2+d8, A
70
+2
60
ORW
ORW
XORW
XORW
NOTW
NOTW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
RW1 @RW1+d8
50
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW1, A @RW1+d8, A
RW1, A @RW1+d8, A
A, RW1 @RW1+d8
RW1 @RW1+d8
RW1, A @RW1+d8, A
40
+1
30
ORW
ORW
XORW
XORW
NOTW
NOTW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
RW0 @RW0+d8
20
ADDW
ADDW
SUBW
SUBW
SUBCW SUBCW A, NEGW
NEGW
ANDW
ANDW
RW0, A @RW0+d8, A
RW0, A @RW0+d8, A
A, RW0 @RW0+d8
RW0 @RW0+d8
RW0, A @RW0+d8, A
10
+0
00
表 B.9-13 ea 系命令 その 8 ( 第 1 バイト =77H)
A,
MULU
+F
DIV
DIV
A, DIVW
DIVW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
DIV
DIV
A, DIVW
DIVW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
DIV
DIV
A, DIVW
DIVW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, @RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
addr16 A,@RW3+
A, DIVW
DIVW A,
addr16 A,@RW3+
addr16
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
A,@RW2+ @PC+d16
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7 A,@RW1+ @RW1+RW7
A, MULUW
@RW1+RW7
MULU
@RW0+RW7
+E A,@RW2+ @PC+d16 A,@RW2+ @PC+d16
MULU
+D A,@RW1+
MULU
+C A,@RW0+
MULUW
MULUW A, MUL
MUL A,
MULW
MULW A,
DIVU
DIVU A,
DIVUW
DIVUW A,
A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7 A,@RW0+ @RW0+RW7
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16 A,@RW3 @RW3+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW3 @RW3+d16
A,@RW3 @RW3+d16
+B
A,
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16 A,@RW2 @RW2+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW2 @RW2+d16
A,@RW2 @RW2+d16
+A
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16 A,@RW1 @RW1+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW1 @RW1+d16
A,@RW1 @RW1+d16
+9
MULU
MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A,
A, @RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16 A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
+8
DIV
DIV
A, DIVW
DIVW A,
A,@RW0 @RW0+d16
A,@RW0 @RW0+d16
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
A, R7 @RW7+d8
A, RW7 @RW7+d8
F0
+7
E0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
A, R6 @RW6+d8
A, RW6 @RW6+d8
D0
+6
C0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
A, R5 @RW5+d8
A, RW5 @RW5+d8
B0
+5
A0
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
A, R4 @RW4+d8
A, RW4 @RW4+d8
90
+4
80
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
A, R3 @RW3+d8
A, RW3 @RW3+d8
70
+3
60
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
A, R2 @RW2+d8
A, RW2 @RW2+d8
50
+2
40
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
A, R1 @RW1+d8
A, RW1 @RW1+d8
30
+1
20
MULU
MULU A, MULUW
MULUW A, MUL
MUL
A, MULW
MULW A, DIVU
DIVU
A, DIVUW
DIVUW A, DIV
DIV
A, DIVW
DIVW A,
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
A, R0 @RW0+d8
A, RW0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-14 ea 系命令 その 9 ( 第 1 バイト =78H)
429
430
MOVEA
MOVEA RW1
RW1,RW2 ,@RW2+d8
MOVEA
MOVEA RW1
RW1,RW3 ,@RW3+d8
MOVEA
MOVEA RW1
RW1,RW4 ,@RW4+d8
MOVEA
MOVEA RW1
RW1,RW5 ,@RW5+d8
MOVEA
MOVEA RW1
RW1,RW6 ,@RW6+d8
MOVEA
MOVEA RW1
RW1,RW7 ,@RW7+d8
MOVEA
MOVEA RW1
RW1,@RW0 ,@RW0+d16
MOVEA
MOVEA RW1
RW1,@RW1 ,@RW1+d16
MOVEA
MOVEA RW1
RW1,@RW2 ,@RW2+d16
MOVEA
MOVEA RW1
RW1,@RW3 ,@RW3+d16
MOVEA
MOVEA RW0
RW0,RW2 ,@RW2+d8
MOVEA
MOVEA RW0
RW0,RW3 ,@RW3+d8
MOVEA
MOVEA RW0
RW0,RW4 ,@RW4+d8
MOVEA
MOVEA RW0
RW0,RW5 ,@RW5+d8
MOVEA
MOVEA RW0
RW0,RW6 ,@RW6+d8
MOVEA
MOVEA RW0
RW0,RW7 ,@RW7+d8
MOVEA
MOVEA RW0
RW0,@RW0 ,@RW0+d16
MOVEA
MOVEA RW0
RW0,@RW1 ,@RW1+d16
MOVEA RW0
MOVEA RW0
MOVEA
MOVEA
+2
+3
+4
+5
+6
+7
+8
+9
50
70
90
B0
C0
D0
E0
F0
MOVEA
MOVEA RW4
RW4,@RW2+ ,@PC+d16
MOVEA
MOVEA
RW6,@RW3+ RW6, addr16
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
MOVEA
RW0,@RW3+ RW0, addr16 RW1,@RW3+ RW1, addr16 RW2,@RW3+ RW2, addr16 RW3,@RW3+ RW3, addr16 RW4,@RW3+ RW4, addr16 RW5,@RW3+ RW5, addr16
MOVEA
MOVEA RW3
RW3,@RW2+ ,@PC+d16
+F
MOVEA
MOVEA RW2
RW2,@RW2+ ,@PC+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW2+ ,@PC+d16
RW6,@RW2+ ,@PC+d16
RW7,@RW2+ ,@PC+d16
MOVEA
MOVEA RW1
RW1,@RW2+ ,@PC+d16
MOVEA
MOVEA RW0
RW0,@RW2+ ,@PC+d16
+E
MOVEA
MOVEA
RW7@RW3+ RW7, addr16
MOVEA
MOVEA RW7
RW7,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6
RW5,@RW1+ ,@RW1+RW7 RW6,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW0 MOVEA
MOVEA RW1 MOVEA
MOVEA RW2 MOVEA
MOVEA RW3 MOVEA
MOVEA RW4
RW0,@RW1+ ,@RW1+RW7 RW1,@RW1+ ,@RW1+RW7 RW2,@RW1+ ,@RW1+RW7 RW3,@RW1+ ,@RW1+RW7 RW4,@RW1+ ,@RW1+RW7
MOVEA
MOVEA RW7
RW7,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW3 ,@RW3+d16 RW6,@RW3 ,@RW3+d16 RW7,@RW3 ,@RW3+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW2 ,@RW2+d16 RW6,@RW2 ,@RW2+d16 RW7,@RW2 ,@RW2+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW1 ,@RW1+d16 RW6,@RW1 ,@RW1+d16 RW7,@RW1 ,@RW1+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,@RW0 ,@RW0+d16 RW6,@RW0 ,@RW0+d16 RW7,@RW0 ,@RW0+d16
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW7 ,@RW7+d8
RW6,RW7 ,@RW7+d8
RW7,RW7 ,@RW7+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW6 ,@RW6+d8
RW6,RW6 ,@RW6+d8
RW7,RW6 ,@RW6+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW5 ,@RW5+d8
RW6,RW5 ,@RW5+d8
RW7,RW5 ,@RW5+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW4 ,@RW4+d8
RW6,RW4 ,@RW4+d8
RW7,RW4 ,@RW4+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW3 ,@RW3+d8
RW6,RW3 ,@RW3+d8
RW7,RW3 ,@RW3+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW2 ,@RW2+d8
RW6,RW2 ,@RW2+d8
RW7,RW2 ,@RW2+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW1 ,@RW1+d8
RW6,RW1 ,@RW1+d8
RW7,RW1 ,@RW1+d8
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6 MOVEA
MOVEA RW7
RW5,RW0 ,@RW0+d8
RW6,RW0 ,@RW0+d8
RW7,RW0 ,@RW0+d8
A0
+D
MOVEA
MOVEA RW4
RW4,@RW3 ,@RW3+d16
MOVEA
MOVEA RW4
RW4,@RW2 ,@RW2+d16
MOVEA
MOVEA RW4
RW4,@RW1 ,@RW1+d16
MOVEA
MOVEA RW4
RW4,@RW0 ,@RW0+d16
MOVEA
MOVEA RW4
RW4,RW7 ,@RW7+d8
MOVEA
MOVEA RW4
RW4,RW6 ,@RW6+d8
MOVEA
MOVEA RW4
RW4,RW5 ,@RW5+d8
MOVEA
MOVEA RW4
RW4,RW4 ,@RW4+d8
MOVEA
MOVEA RW4
RW4,RW3 ,@RW3+d8
MOVEA
MOVEA RW4
RW4,RW2 ,@RW2+d8
MOVEA
MOVEA RW4
RW4,RW1 ,@RW1+d8
MOVEA
MOVEA RW4
RW4,RW0 ,@RW0+d8
80
MOVEA
MOVEA RW5 MOVEA
MOVEA RW6
RW5,@RW0+ ,@RW0+RW7 RW6,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW3
RW3,@RW3 ,@RW3+d16
MOVEA
MOVEA RW3
RW3,@RW2 ,@RW2+d16
MOVEA
MOVEA RW3
RW3,@RW1 ,@RW1+d16
MOVEA
MOVEA RW3
RW3,@RW0 ,@RW0+d16
MOVEA
MOVEA RW3
RW3,RW7 ,@RW7+d8
MOVEA
MOVEA RW3
RW3,RW6 ,@RW6+d8
MOVEA
MOVEA RW3
RW3,RW5 ,@RW5+d8
MOVEA
MOVEA RW3
RW3,RW4 ,@RW4+d8
MOVEA
MOVEA RW3
RW3,RW3 ,@RW3+d8
MOVEA
MOVEA RW3
RW3,RW2 ,@RW2+d8
MOVEA
MOVEA RW3
RW3,RW1 ,@RW1+d8
MOVEA
MOVEA RW3
RW3,RW0 ,@RW0+d8
60
MOVEA
MOVEA RW0 MOVEA
MOVEA RW1 MOVEA
MOVEA RW2 MOVEA
MOVEA RW3 MOVEA
MOVEA RW4
RW0,@RW0+ ,@RW0+RW7 RW1,@RW0+ ,@RW0+RW7 RW2,@RW0+ ,@RW0+RW7 RW3,@RW0+ ,@RW0+RW7 RW4,@RW0+ ,@RW0+RW7
MOVEA
MOVEA RW2
RW2,@RW3 ,@RW3+d16
MOVEA
MOVEA RW2
RW2,@RW2 ,@RW2+d16
MOVEA
MOVEA RW2
RW2,@RW1 ,@RW1+d16
MOVEA
MOVEA RW2
RW2,@RW0 ,@RW0+d16
MOVEA
MOVEA RW2
RW2,RW7 ,@RW7+d8
MOVEA
MOVEA RW2
RW2,RW6 ,@RW6+d8
MOVEA
MOVEA RW2
RW2,RW5 ,@RW5+d8
MOVEA
MOVEA RW2
RW2,RW4 ,@RW4+d8
MOVEA
MOVEA RW2
RW2,RW3 ,@RW3+d8
MOVEA
MOVEA RW2
RW2,RW2 ,@RW2+d8
MOVEA
MOVEA RW2
RW2,RW1 ,@RW1+d8
MOVEA
MOVEA RW2
RW2,RW0 ,@RW0+d8
40
+C
+B RW0,@RW3 ,@RW3+d16
+A RW0,@RW2 ,@RW2+d16
MOVEA
MOVEA RW1
RW1,RW1 ,@RW1+d8
MOVEA
MOVEA RW0
RW0,RW1 ,@RW1+d8
+1
30
MOVEA
MOVEA RW1
RW1,RW0 ,@RW0+d8
20
MOVEA
MOVEA RW0
RW0,RW0 ,@RW0+d8
10
+0
00
表 B.9-15 MOVEA RWi, ea 命令 ( 第 1 バイト =79H)
MOV R0,
MOV
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R1,
MOV
MOV R2,
MOV
MOV R3,
MOV
MOV R4,
MOV
MOV R5,
MOV
MOV R6,
MOV
MOV R7,
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
@RW0+ @RW0+RW7
MOV R0, MOV R0,
MOV R1, MOV R1,
MOV R2, MOV R2,
MOV R3, MOV R3,
MOV R4, MOV R4,
MOV R5, MOV R5,
MOV R6, MOV R6,
MOV R7, MOV R7,
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
@RW1+ @RW1+RW7
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
@RW2+ @PC+d16
MOV R0, MOV R0, MOV R1, MOV R1, MOV R2, MOV R2, MOV R3, MOV R3, MOV R4, MOV R4, MOV R5, MOV R5, MOV R6, MOV R6, MOV R7, MOV R7,
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
@RW3+
addr16
+C
+D
+E
+F
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
MOV
+A R0,@RW2 @RW2+d16 R1,@RW2 @RW2+d16 R2,@RW2 @RW2+d16 R3,@RW2 @RW2+d16 R4,@RW2 @RW2+d16 R5,@RW2 @RW2+d16 R6,@RW2 @RW2+d16 R7,@RW2 @RW2+d16
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
MOV R0,
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
MOV
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A0
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
MOV
MOV R0, MOV
MOV R1, MOV
MOV R2, MOV
MOV R3, MOV
MOV R4, MOV
MOV R5, MOV
MOV R6, MOV
MOV R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-16 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
431
432
MOVW
MOVW RW2,
RW2,@RW0 @RW0+d16
MOVW
MOVW RW2,
RW2,@RW1 @RW1+d16
MOVW
MOVW RW2,
RW2,@RW2 @RW2+d16
MOVW
MOVW RW2,
RW2,@RW3 @RW3+d16
MOVW
MOVW RW1,
RW1, RW6 @RW6+d8
MOVW
MOVW RW1,
RW1, RW7 @RW7+d8
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW1 @RW1+d16 RW1,@RW1 @RW1+d16
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW2 @RW2+d16 RW1,@RW2 @RW2+d16
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW3 @RW3+d16 RW1,@RW3 @RW3+d16
MOVW
MOVW
MOVW
MOVW RW1, MOVW
MOVW RW2, MOVW
MOVW RW3, MOVW
MOVW RW4, MOVW
MOVW RW5, MOVW
MOVW RW6, MOVW
MOVW RW7,
RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7
MOVW
MOVW
RW1, @RW3+ RW1, addr16
MOVW
MOVW
RW0, RW7 @RW7+d8
MOVW
MOVW
MOVW
MOVW RW1,
RW0,@RW0 @RW0+d16 RW1,@RW0 @RW0+d16
MOVW
MOVW RW1,
RW1, @RW2+ @PC+d16
MOVW
MOVW
RW0, RW6 @RW6+d8
MOVW
RW0, @RW1+
MOVW
MOVW
RW0, @RW2+ @PC+d16
MOVW
MOVW
RW0, @RW3+ RW0, addr16
+6
+7
+8
+9
+A
+B
+C
+D
+E
+F
MOVW
MOVW
@RW1+RW7 RW1, @RW1+
MOVW
MOVW RW2,
RW2, RW7 @RW7+d8
MOVW
MOVW RW1,
RW1, RW5 @RW5+d8
MOVW
MOVW
RW0, RW5 @RW5+d8
+5
MOVW
MOVW
RW2, @RW3+ RW2, addr16
MOVW
MOVW
RW3, @RW3+ RW3, addr16
MOVW
MOVW RW3,
RW3, @RW2+ @PC+d16
MOVW
MOVW
RW4, @RW3+ RW4, addr16
MOVW
MOVW RW4,
RW4, @RW2+ @PC+d16
MOVW
MOVW
RW5, @RW3+ RW5, addr16
MOVW
MOVW
RW5, @RW2+ @PC+d16
MOVW
MOVW
RW6, @RW3+ RW6, addr16
MOVW
MOVW RW6,
RW6, @RW2+ @PC+d16
MOVW
MOVW
RW7, @RW3+ RW7, addr16
MOVW
MOVW RW7,
RW7, @RW2+ @PC+d16
MOVW RW7,
@RW1+RW7
MOVW
MOVW RW7,
RW7,@RW3 @RW3+d16
MOVW
MOVW RW7,
RW7,@RW2 @RW2+d16
MOVW
MOVW RW7,
RW7,@RW1 @RW1+d16
MOVW
MOVW RW7,
RW7,@RW0 @RW0+d16
MOVW
MOVW RW7,
RW7, RW7 @RW7+d8
MOVW
MOVW RW7,
RW7, RW6 @RW6+d8
MOVW
MOVW RW7,
RW7, RW5 @RW5+d8
MOVW
MOVW RW7,
RW7, RW4 @RW4+d8
MOVW
MOVW RW7,
RW7, RW3 @RW3+d8
MOVW RW6, MOVW
@RW1+RW7 RW7, @RW1+
MOVW
MOVW RW6,
RW6,@RW3 @RW3+d16
MOVW
MOVW RW6,
RW6,@RW2 @RW2+d16
MOVW
MOVW RW6,
RW6,@RW1 @RW1+d16
MOVW
MOVW RW6,
RW6,@RW0 @RW0+d16
MOVW
MOVW RW6,
RW6, RW7 @RW7+d8
MOVW
MOVW RW6,
RW6, RW6 @RW6+d8
MOVW
MOVW RW6,
RW6, RW5 @RW5+d8
MOVW
MOVW RW6,
RW6, RW4 @RW4+d8
MOVW
MOVW RW6,
RW6, RW3 @RW3+d8
MOVW
MOVW
@RW1+RW7 RW6, @RW1+
MOVW
MOVW RW5,
RW5,@RW3 @RW3+d16
MOVW
MOVW RW5,
RW5,@RW2 @RW2+d16
MOVW
MOVW RW5,
RW5,@RW1 @RW1+d16
MOVW
MOVW RW5,
RW5,@RW0 @RW0+d16
MOVW
MOVW RW5,
RW5, RW7 @RW7+d8
MOVW
MOVW RW5,
RW5, RW6 @RW6+d8
MOVW
MOVW RW5,
RW5, RW5 @RW5+d8
MOVW
MOVW RW5,
RW5, RW4 @RW4+d8
MOVW RW4, MOVW
@RW1+RW7 RW5, @RW1+
MOVW
MOVW RW4,
RW4,@RW3 @RW3+d16
MOVW
MOVW RW4,
RW4,@RW2 @RW2+d16
MOVW
MOVW RW4,
RW4,@RW1 @RW1+d16
MOVW
MOVW RW4,
RW4,@RW0 @RW0+d16
MOVW
MOVW RW4,
RW4, RW7 @RW7+d8
MOVW
MOVW RW4,
RW4, RW6 @RW6+d8
MOVW
MOVW RW4,
RW4, RW5 @RW5+d8
MOVW
MOVW RW4,
RW4, RW4 @RW4+d8
MOVW RW3, MOVW
@RW1+RW7 RW4, @RW1+
MOVW
MOVW RW3,
RW3,@RW3 @RW3+d16
MOVW
MOVW RW3,
RW3,@RW2 @RW2+d16
MOVW
MOVW RW3,
RW3,@RW1 @RW1+d16
MOVW
MOVW RW3,
RW3,@RW0 @RW0+d16
MOVW
MOVW RW3,
RW3, RW7 @RW7+d8
MOVW
MOVW RW3,
RW3, RW6 @RW6+d8
MOVW
MOVW RW3,
RW3, RW5 @RW5+d8
MOVW
MOVW RW3,
RW3, RW4 @RW4+d8
MOVW RW2, MOVW
@RW1+RW7 RW3, @RW1+
MOVW
MOVW RW2,
RW2, @RW2+ @PC+d16
MOVW RW1, MOVW
@RW1+RW7 RW2, @RW1+
MOVW
MOVW RW2,
RW2, RW6 @RW6+d8
MOVW
MOVW RW2,
RW2, RW5 @RW5+d8
MOVW
MOVW RW2,
RW2, RW4 @RW4+d8
MOVW
MOVW RW5,
RW5, RW3 @RW3+d8
MOVW
MOVW RW7,
RW7, RW2 @RW2+d8
MOVW
MOVW RW7,
RW7, RW1 @RW1+d8
MOVW
MOVW RW1,
RW1, RW4 @RW4+d8
MOVW
MOVW RW4,
RW4, RW3 @RW3+d8
MOVW
MOVW RW6,
RW6, RW2 @RW2+d8
MOVW
MOVW RW6,
RW6, RW1 @RW1+d8
MOVW
MOVW
RW0, RW4 @RW4+d8
MOVW
MOVW RW3,
RW3, RW3 @RW3+d8
MOVW
MOVW RW5,
RW5, RW2 @RW2+d8
MOVW
MOVW RW5,
RW5, RW1 @RW1+d8
+4
MOVW
MOVW RW2,
RW2, RW3 @RW3+d8
MOVW
MOVW RW4,
RW4, RW2 @RW2+d8
MOVW
MOVW RW4,
RW4, RW1 @RW1+d8
MOVW
MOVW RW1,
RW1, RW3 @RW3+d8
MOVW
MOVW RW3,
RW3, RW2 @RW2+d8
MOVW
MOVW RW3,
RW3, RW1 @RW1+d8
MOVW
MOVW
RW0, RW3 @RW3+d8
MOVW
MOVW RW2,
RW2, RW2 @RW2+d8
MOVW
MOVW RW2,
RW2, RW1 @RW1+d8
+3
F0
MOVW
MOVW RW7,
RW7, RW0 @RW0+d8
E0
MOVW
MOVW RW1,
RW1, RW2 @RW2+d8
D0
MOVW
MOVW RW6,
RW6, RW0 @RW0+d8
C0
MOVW
MOVW
RW0, RW2 @RW2+d8
B0
MOVW
MOVW RW5,
RW5, RW0 @RW0+d8
A0
+2
90
MOVW
MOVW RW4,
RW4, RW0 @RW0+d8
80
MOVW
MOVW RW1,
RW1, RW1 @RW1+d8
70
MOVW
MOVW RW3,
RW3, RW0 @RW0+d8
60
MOVW
MOVW
RW0, RW1 @RW1+d8
50
MOVW
MOVW RW2,
RW2, RW0 @RW0+d8
40
+1
30
MOVW
MOVW RW1,
RW1, RW0 @RW0+d8
20
MOVW
MOVW
RW0, RW0 @RW0+d8
10
+0
00
表 B.9-17 MOVW RWi, ea 命令 ( 第 1 バイト =7BH)
+F
+E
+D
+C
+B
+A
+9
+8
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R1 @RW3+d16, R1
MOV
@RW2, R1 @RW2+d16, R1
MOV
@RW1, R1 @RW1+d16, R1
MOV
@RW0, R1 @RW0+d16, R1
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R2 @RW3+d16, R2
MOV
@RW2, R2 @RW2+d16, R2
MOV
@RW1, R2 @RW1+d16, R2
MOV
@RW0, R2 @RW0+d16, R2
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R3 @RW3+d16, R3
MOV
@RW2, R3 @RW2+d16, R3
MOV
@RW1, R3 @RW1+d16, R3
MOV
@RW0, R3 @RW0+d16, R3
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R4 @RW3+d16, R4
MOV
@RW2, R4 @RW2+d16, R4
MOV
@RW1, R4 @RW1+d16, R4
MOV
@RW0, R4 @RW0+d16, R4
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R5 @RW3+d16, R5
MOV
@RW2, R5 @RW2+d16, R5
MOV
@RW1, R5 @RW1+d16, R5
MOV
@RW0, R5 @RW0+d16, R5
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R6 @RW3+d16, R6
MOV
@RW2, R6 @RW2+d16, R6
MOV
@RW1, R6 @RW1+d16, R6
MOV
@RW0, R6 @RW0+d16, R6
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3, R7 @RW3+d16, R7
MOV
@RW2, R7 @RW2+d16, R7
MOV
@RW1, R7 @RW1+d16, R7
MOV
@RW0, R7 @RW0+d16, R7
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
@RW3+, R0 addr16, R0
MOV
@RW3+, R1 addr16, R1
MOV
MOV
MOV
MOV
MOV
@RW2+, R1 @PC+d16, R1
MOV
@RW2+, R0 @PC+d16, R0
MOV
MOV
MOV
@RW3+, R2 addr16, R2
MOV
@RW2+, R2 @PC+d16, R2
MOV
MOV
MOV
@RW3+, R3 addr16, R3
MOV
@RW2+, R3 @PC+d16, R3
MOV
MOV
MOV
@RW3+, R4 addr16, R4
MOV
@RW2+, R4 @PC+d16, R4
MOV
MOV
MOV
@RW3+, R5 addr16, R5
MOV
@RW2+, R5 @PC+d16, R5
MOV
MOV
MOV
@RW3+, R6 addr16, R6
MOV
@RW2+, R6 @PC+d16, R6
MOV
MOV
MOV
@RW3+, R7 addr16, R7
MOV
@RW2+, R7 @PC+d16, R7
MOV
@RW1+, R0 @RW1+RW7, R0 @RW1+, R1 @RW1+RW7, R1 @RW1+, R2 @RW1+RW7, R2 @RW1+, R3 @RW1+RW7, R3 @RW1+, R4 @RW1+RW7, R4 @RW1+, R5 @RW1+RW7, R5 @RW1+, R6 @RW1+RW7, R6 @RW1+, R7 @RW1+RW7, R7
MOV
@RW0+, R0 @RW0+RW7, R0 @RW0+, R1 @RW0+RW7, R1 @RW0+, R2 @RW0+RW7, R2 @RW0+, R3 @RW0+RW7, R3 @RW0+, R4 @RW0+RW7, R4 @RW0+, R5 @RW0+RW7, R5 @RW0+, R6 @RW0+RW7, R6 @RW0+, R7 @RW0+RW7, R7
MOV
@RW3, R0 @RW3+d16, R0
MOV
@RW2, R0 @RW2+d16, R0
MOV
@RW1, R0 @RW1+d16, R0
MOV
@RW0, R0 @RW0+d16, R0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R7, R0 @RW7+d8, R0
R7, R1 @RW7+d8, R1
R7, R2 @RW7+d8, R2
R7, R3 @RW7+d8, R3
R7, R4 @RW7+d8, R4
R7, R5 @RW7+d8, R5
R7, R6 @RW7+d8, R6
R7, R7 @RW7+d8, R7
F0
+7
E0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R6, R0 @RW6+d8, R0
R6, R1 @RW6+d8, R1
R6, R2 @RW6+d8, R2
R6, R3 @RW6+d8, R3
R6, R4 @RW6+d8, R4
R6, R5 @RW6+d8, R5
R6, R6 @RW6+d8, R6
R6, R7 @RW6+d8, R7
D0
+6
C0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R5, R0 @RW5+d8, R0
R5, R1 @RW5+d8, R1
R5, R2 @RW5+d8, R2
R5, R3 @RW5+d8, R3
R5, R4 @RW5+d8, R4
R5, R5 @RW5+d8, R5
R5, R6 @RW5+d8, R6
R5, R7 @RW5+d8, R7
B0
+5
A0
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R4, R0 @RW4+d8, R0
R4, R1 @RW4+d8, R1
R4, R2 @RW4+d8, R2
R4, R3 @RW4+d8, R3
R4, R4 @RW4+d8, R4
R4, R5 @RW4+d8, R5
R4, R6 @RW4+d8, R6
R4, R7 @RW4+d8, R7
90
+4
80
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R3, R0 @RW3+d8, R0
R3, R1 @RW3+d8, R1
R3, R2 @RW3+d8, R2
R3, R3 @RW3+d8, R3
R3, R4 @RW3+d8, R4
R3, R5 @RW3+d8, R5
R3, R6 @RW3+d8, R6
R3, R7 @RW3+d8, R7
70
+3
60
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R2, R0 @RW2+d8, R0
R2, R1 @RW2+d8, R1
R2, R2 @RW2+d8, R2
R2, R3 @RW2+d8, R3
R2, R4 @RW2+d8, R4
R2, R5 @RW2+d8, R5
R2, R6 @RW2+d8, R6
R2, R7 @RW2+d8, R7
50
+2
40
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R1, R0 @RW1+d8, R0
R1, R1 @RW1+d8, R1
R1, R2 @RW1+d8, R2
R1, R3 @RW1+d8, R3
R1, R4 @RW1+d8, R4
R1, R5 @RW1+d8, R5
R1, R6 @RW1+d8, R6
R1, R7 @RW1+d8, R7
30
+1
20
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R0, R0 @RW0+d8, R0
R0, R1 @RW0+d8, R1
R0, R2 @RW0+d8, R2
R0, R3 @RW0+d8, R3
R0, R4 @RW0+d8, R4
R0, R5 @RW0+d8, R5
R0, R6 @RW0+d8, R6
R0, R7 @RW0+d8, R7
10
+0
00
付録 B 命令
表 B.9-18 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
433
434
MOVW
MOVW@RW2
@RW2, RW1 +d16, RW1
MOVW
MOVW@RW3
@RW3, RW1 +d16, RW1
MOVW
MOVW@RW0
@RW0+, RW1 +RW7,RW1
MOVW
MOVW@RW1
@RW1+, RW1 +RW7,RW1
MOVW
MOVW@PC
@RW2+, RW1 +d16, RW1
MOVW
MOVW
@RW3+, RW1 addr16, RW1
MOVW
MOVW@RW2
@RW2, RW0 +d16, RW0
MOVW
MOVW@RW3
@RW3, RW0 +d16, RW0
MOVW
MOVW@RW0
@RW0+, RW0 +RW7,RW0
MOVW
MOVW@RW1
@RW1+, RW0 +RW7,RW0
MOVW
MOVW@PC
@RW2+, RW0 +d16, RW0
MOVW
MOVW
@RW3+, RW0 addr16, RW0
+B
+C
+D
+E
+F
MOVW
MOVW
@RW3+, RW2 addr16, RW2
MOVW
MOVW@PC
@RW2+, RW2 +d16, RW2
MOVW
MOVW@RW1
@RW1+, RW2 +RW7,RW2
MOVW
MOVW@RW0
@RW0+, RW2 +RW7,RW2
MOVW
MOVW@RW3
@RW3, RW2 +d16, RW2
MOVW
MOVW@RW2
@RW2, RW2 +d16, RW2
MOVW
MOVW
@RW3+, RW3 addr16, RW3
MOVW
MOVW@PC
@RW2+, RW3 +d16, RW3
MOVW
MOVW@RW1
@RW1+, RW3 -+RW7,RW3
MOVW
MOVW@RW0
@RW0+, RW3 +RW7,RW3
MOVW
MOVW@RW3
@RW3, RW3 +d16, RW3
MOVW
MOVW@RW2
@RW2, RW3 +d16, RW3
MOVW
MOVW@RW1
@RW1, RW3 +d16, RW3
MOVW
MOVW
@RW3+, RW4 addr16, RW4
MOVW
MOVW@PC
@RW2+, RW4 +d16, RW4
MOVW
MOVW@RW1
@RW1+, RW4 +RW7,RW4
MOVW
MOVW@RW0
@RW0+, RW4 +RW7,RW4
MOVW
MOVW@RW3
@RW3, RW4 +d16, RW4
MOVW
MOVW@RW2
@RW2, RW4 +d16, RW4
MOVW
MOVW@RW1
@RW1, RW4 +d16, RW4
MOVW
MOVW
@RW3+, RW5 addr16, RW5
MOVW
MOVW@PC
@RW2+, RW5 +d16, RW5
MOVW
MOVW@RW1
@RW1+, RW5 +RW7,RW5
MOVW
MOVW@RW0
@RW0+, RW5 +RW7,RW5
MOVW
MOVW@RW3
@RW3, RW5 +d16, RW5
MOVW
MOVW@RW2
@RW2, RW5 +d16, RW5
MOVW
MOVW@RW1
@RW1, RW5 +d16, RW5
MOVW
MOVW
@RW3+, RW6 addr16, RW6
MOVW
MOVW @PC
@RW2+, RW6 +d16, RW6
MOVW
MOVW@RW1
@RW1+, RW6 +RW7,RW6
MOVW
MOVW@RW0
@RW0+, RW6 +RW7,RW6
MOVW
MOVW@RW3
@RW3, RW6 +d16, RW6
MOVW
MOVW@RW2
@RW2, RW6 +d16, RW6
MOVW
MOVW@RW1
@RW1, RW6 +d16, RW6
MOVW
MOVW
@RW3+, RW7 addr16, RW7
MOVW
MOVW@PC
@RW2+, RW7 +d16, RW7
MOVW
MOVW@RW1
@RW1+, RW7 +RW7,RW7
MOVW
MOVW@RW0
@RW0+, RW7 +RW7,RW7
MOVW
MOVW@RW3
@RW3, RW7 +d16, RW7
MOVW
MOVW@RW2
@RW2, RW7 +d16, RW7
MOVW
MOVW@RW1
@RW1, RW7 +d16, RW7
MOVW
MOVW@RW0
@RW0, RW7 +d16, RW7
+A
MOVW
MOVW@RW1
@RW1, RW2 +d16, RW2
MOVW
MOVW@RW0
@RW0, RW6 +d16, RW6
MOVW
MOVW@RW1
@RW1, RW1 +d16, RW1
MOVW
MOVW@RW0
@RW0, RW5 +d16, RW5
MOVW
MOVW@RW1
@RW1, RW0 +d16, RW0
MOVW
MOVW@RW0
@RW0, RW4 +d16, RW4
+9
MOVW
MOVW@RW0
@RW0, RW3 +d16, RW3
MOVW
MOVW@RW0
@RW0, RW1 +d16, RW1
MOVW
MOVW@RW0
@RW0, RW0 +d16, RW0
+8
MOVW
MOVW@RW0
@RW0, RW2 +d16, RW2
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW7, RW0 @RW7+d8, RW0
RW7, RW1 @RW7+d8, RW1
RW7, RW2 @RW7+d8, RW2
RW7, RW3 @RW7+d8, RW3
RW7, RW4 @RW7+d8, RW4
RW7, RW5 @RW7+d8, RW5
RW7, RW6 @RW7+d8, RW6
RW7, RW7 @RW7+d8, RW7
F0
+7
E0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW6, RW0 @RW6+d8, RW0
RW6, RW1 @RW6+d8, RW1
RW6, RW2 @RW6+d8, RW2
RW6, RW3 @RW6+d8, RW3
RW6, RW4 @RW6+d8, RW4
RW6, RW5 @RW6+d8, RW5
RW6, RW6 @RW6+d8, RW6
RW6, RW7 @RW6+d8, RW7
D0
+6
C0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW5, RW0 @RW5+d8, RW0
RW5, RW1 @RW5+d8, RW1
RW5, RW2 @RW5+d8, RW2
RW5, RW3 @RW5+d8, RW3
RW5, RW4 @RW5+d8, RW4
RW5, RW5 @RW5+d8, RW5
RW5, RW6 @RW5+d8, RW6
RW5, RW7 @RW5+d8, RW7
B0
+5
A0
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW4, RW0 @RW4+d8, RW0
RW4, RW1 @RW4+d8, RW1
RW4, RW2 @RW4+d8, RW2
RW4, RW3 @RW4+d8, RW3
RW4, RW4 @RW4+d8, RW4
RW4, RW5 @RW4+d8, RW5
RW4, RW6 @RW4+d8, RW6
RW4, RW7 @RW4+d8, RW7
90
+4
80
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW3, RW0 @RW3+d8, RW0
RW3, RW1 @RW3+d8, RW1
RW3, RW2 @RW3+d8, RW2
RW3, RW3 @RW3+d8, RW3
RW3, RW4 @RW3+d8, RW4
RW3, RW5 @RW3+d8, RW5
RW3, RW6 @RW3+d8, RW6
RW3, RW7 @RW3+d8, RW7
70
+3
60
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW2, RW0 @RW2+d8, RW0
RW2, RW1 @RW2+d8, RW1
RW2, RW2 @RW2+d8, RW2
RW2, RW3 @RW2+d8, RW3
RW2, RW4 @RW2+d8, RW4
RW2, RW5 @RW2+d8, RW5
RW2, RW6 @RW2+d8, RW6
RW2, RW7 @RW2+d8, RW7
50
+2
40
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW1, RW0 @RW1+d8, RW0
RW1, RW1 @RW1+d8, RW1
RW1, RW2 @RW1+d8, RW2
RW1, RW3 @RW1+d8, RW3
RW1, RW4 @RW1+d8, RW4
RW1, RW5 @RW1+d8, RW5
RW1, RW6 @RW1+d8, RW6
RW1, RW7 @RW1+d8, RW7
30
+1
20
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
MOVW
RW0, RW0 @RW0+d8, RW0
RW0, RW1 @RW0+d8, RW1
RW0, RW2 @RW0+d8, RW2
RW0, RW3 @RW0+d8, RW3
RW0, RW4 @RW0+d8, RW4
RW0, RW5 @RW0+d8, RW5
RW0, RW6 @RW0+d8, RW6
RW0, RW7 @RW0+d8, RW7
10
+0
00
表 B.9-19 MOVW RWi, ea 命令 ( 第 1 バイト =7DH)
XCH
XCH
XCH
XCH
R1,
XCH
XCH R1,
R1,@RW2 W2+d16, A
XCH
XCH
R2,
XCH
XCH R2,
R2,@RW2 W2+d16, A
XCH
XCH
R3,
XCH
XCH R3,
R3,@RW2 W2+d16, A
XCH
XCH
R4,
XCH
XCH R4,
R4,@RW2 W2+d16, A
XCH
XCH
R5,
XCH
XCH R5,
R5,@RW2 W2+d16, A
XCH
XCH
R6,
XCH
XCH R6,
R6,@RW2 W2+d16, A
XCH
XCH
R7,
XCH
XCH R7,
R7,@RW2 W2+d16, A
XCH
XCH
XCH
XCH
XCH
R1, XCH
XCH
R2, XCH
XCH
R3, XCH
XCH
R4, XCH
XCH
R5, XCH
XCH
R6, XCH
XCH
R7,
+F R0,@RW3+ R0, addr16
XCH
XCH
R1,@RW3+ R1, addr16
XCH
XCH
R2,@RW3+ R2, addr16
XCH
XCH
R3,@RW3+ R3, addr16
XCH
XCH
R4,@RW3+ R4, addr16
XCH
XCH
R5,@RW3+ R5, addr16
XCH
XCH
R6,@RW3+ R6, addr16
XCH
XCH
R7,@RW3+ R7, addr16
+E R0,@RW2+ @PC+d16 R1,@RW2+ @PC+d16 R2,@RW2+ @PC+d16 R3,@RW2+ @PC+d16 R4,@RW2+ @PC+d16 R5,@RW2+ @PC+d16 R6,@RW2+ @PC+d16 R7,@RW2+ @PC+d16
R0, XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW1+RW7 R1,@RW1+ @RW1+RW7 R2,@RW1+ @RW1+RW7 R3,@RW1+ @RW1+RW7 R4,@RW1+ @RW1+RW7 R5,@RW1+ @RW1+RW7 R6,@RW1+ @RW1+RW7 R7,@RW1+ @RW1+RW7
+D R0,@RW1+
XCH
XCH R0,
XCH
XCH R1,
XCH
XCH R2,
XCH
XCH R3,
XCH
XCH R4,
XCH
XCH R5,
XCH
XCH R6,
XCH
XCH R7,
@RW0+RW7 R1,@RW0+ @RW0+RW7 R2,@RW0+ @RW0+RW7 R3,@RW0+ @RW0+RW7 R4,@RW0+ @RW0+RW7 R5,@RW0+ @RW0+RW7 R6,@RW0+ @RW0+RW7 R7,@RW0+ @RW0+RW7
XCH
+C R0,@RW0+
+B R0,@RW3 @RW3+d16 R1,@RW3 @RW3+d16 R2,@RW3 @RW3+d16 R3,@RW3 @RW3+d16 R4,@RW3 @RW3+d16 R5,@RW3 @RW3+d16 R6,@RW3 @RW3+d16 R7,@RW3 @RW3+d16
R0,
+A R0,@RW2 W2+d16, A
R0,
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW1 @RW1+d16 R1,@RW1 @RW1+d16 R2,@RW1 @RW1+d16 R3,@RW1 @RW1+d16 R4,@RW1 @RW1+d16 R5,@RW1 @RW1+d16 R6,@RW1 @RW1+d16 R7,@RW1 @RW1+d16
+9
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0,@RW0 @RW0+d16 R1,@RW0 @RW0+d16 R2,@RW0 @RW0+d16 R3,@RW0 @RW0+d16 R4,@RW0 @RW0+d16 R5,@RW0 @RW0+d16 R6,@RW0 @RW0+d16 R7,@RW0 @RW0+d16
+8
XCH
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R7 @RW7+d8
R1, R7 @RW7+d8
R2, R7 @RW7+d8
R3, R7 @RW7+d8
R4, R7 @RW7+d8
R5, R7 @RW7+d8
R6, R7 @RW7+d8
R7, R7 @RW7+d8
F0
+7
E0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R6 @RW6+d8
R1, R6 @RW6+d8
R2, R6 @RW6+d8
R3, R6 @RW6+d8
R4, R6 @RW6+d8
R5, R6 @RW6+d8
R6, R6 @RW6+d8
R7, R6 @RW6+d8
D0
+6
C0
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R5 @RW5+d8
R1, R5 @RW5+d8
R2, R5 @RW5+d8
R3, R5 @RW5+d8
R4, R5 @RW5+d8
R5, R5 @RW5+d8
R6, R5 @RW5+d8
R7, R5 @RW5+d8
B0
+5
A
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R4 @RW4+d8
R1, R4 @RW4+d8
R2, R4 @RW4+d8
R3, R4 @RW4+d8
R4, R4 @RW4+d8
R5, R4 @RW4+d8
R6, R4 @RW4+d8
R7, R4 @RW4+d8
90
+4
80
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R3 @RW3+d8
R1, R3 @RW3+d8
R2, R3 @RW3+d8
R3, R3 @RW3+d8
R4, R3 @RW3+d8
R5, R3 @RW3+d8
R6, R3 @RW3+d8
R7, R3 @RW3+d8
70
+3
60
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R2 @RW2+d8
R1, R2 @RW2+d8
R2, R2 @RW2+d8
R3, R2 @RW2+d8
R4, R2 @RW2+d8
R5, R2 @RW2+d8
R6, R2 @RW2+d8
R7, R2 @RW2+d8
50
+2
40
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R1 @RW1+d8
R1, R1 @RW1+d8
R2, R1 @RW1+d8
R3, R1 @RW1+d8
R4, R1 @RW1+d8
R5, R1 @RW1+d8
R6, R1 @RW1+d8
R7, R1 @RW1+d8
30
+1
20
XCH
XCH R0, XCH
XCH R1, XCH
XCH R2, XCH
XCH R3, XCH
XCH R4, XCH
XCH R5, XCH
XCH R6, XCH
XCH R7,
R0, R0 @RW0+d8
R1, R0 @RW0+d8
R2, R0 @RW0+d8
R3, R0 @RW0+d8
R4, R0 @RW0+d8
R5, R0 @RW0+d8
R6, R0 @RW0+d8
R7, R0 @RW0+d8
10
+0
00
付録 B 命令
表 B.9-20 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
435
436
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW2+ @PC+d16
RW1,@RW2+ @PC+d16
RW2,@RW2+ @PC+d16
RW3,@RW2+ @PC+d16
RW4,@RW2+ @PC+d16
RW5,@RW2+ @PC+d16
RW6,@RW2+ @PC+d16
RW7,@RW2+ @PC+d16
XCHW
XCHW
RW0,@RW3+ RW0, addr16
+E
+F
XCHW
XCHW
RW7,@RW3+ RW7, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW1+ @RW1+RW7 RW1,@RW1+ @RW1+RW7 RW2,@RW1+ @RW1+RW7 RW3,@RW1+ @RW1+RW7 RW4,@RW1+ @RW1+RW7 RW5,@RW1+ @RW1+RW7 RW6,@RW1+ @RW1+RW7 RW7,@RW1+ @RW1+RW7
+D
XCHW
XCHW
RW6,@RW3+ RW6, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW0+ @RW0+RW7 RW1,@RW0+ @RW0+RW7 RW2,@RW0+ @RW0+RW7 RW3,@RW0+ @RW0+RW7 RW4,@RW0+ @RW0+RW7 RW5,@RW0+ @RW0+RW7 RW6,@RW0+ @RW0+RW7 RW7,@RW0+ @RW0+RW7
+C
XCHW
XCHW
RW5,@RW3+ RW5, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW3 @RW3+d16
RW1,@RW3 @RW3+d16
RW2,@RW3 @RW3+d16
RW3,@RW3 @RW3+d16
RW4,@RW3 @RW3+d16
RW5,@RW3 @RW3+d16
RW6,@RW3 @RW3+d16
RW7,@RW3 @RW3+d16
+B
XCHW
XCHW
RW4,@RW3+ RW4, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW2 @RW2+d16
RW1,@RW2 @RW2+d16
RW2,@RW2 @RW2+d16
RW3,@RW2 @RW2+d16
RW4,@RW2 @RW2+d16
RW5,@RW2 @RW2+d16
RW6,@RW2 @RW2+d16
RW7,@RW2 @RW2+d16
+A
XCHW
XCHW
RW3,@RW3+ RW3, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW1 @RW1+d16
RW1,@RW1 @RW1+d16
RW2,@RW1 @RW1+d16
RW3,@RW1 @RW1+d16
RW4,@RW1 @RW1+d16
RW5,@RW1 @RW1+d16
RW6,@RW1 @RW1+d16
RW7,@RW1 @RW1+d16
+9
XCHW
XCHW
RW2,@RW3+ RW2, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0,@RW0 @RW0+d16
RW1,@RW0 @RW0+d16
RW2,@RW0 @RW0+d16
RW3,@RW0 @RW0+d16
RW4,@RW0 @RW0+d16
RW5,@RW0 @RW0+d16
RW6,@RW0 @RW0+d16
RW7,@RW0 @RW0+d16
+8
XCHW
XCHW
RW1,@RW3+ RW1, addr16
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW7 @RW7+d8
RW1, RW7 @RW7+d8
RW2, RW7 @RW7+d8
RW3, RW7 @RW7+d8
RW4, RW7 @RW7+d8
RW5, RW7 @RW7+d8
RW6, RW7 @RW7+d8
RW7, RW7 @RW7+d8
F0
+7
E0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW6 @RW6+d8
RW1, RW6 @RW6+d8
RW2, RW6 @RW6+d8
RW3, RW6 @RW6+d8
RW4, RW6 @RW6+d8
RW5, RW6 @RW6+d8
RW6, RW6 @RW6+d8
RW7, RW6 @RW6+d8
D0
+6
C0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW5 @RW5+d8
RW1, RW5 @RW5+d8
RW2, RW5 @RW5+d8
RW3, RW5 @RW5+d8
RW4, RW5 @RW5+d8
RW5, RW5 @RW5+d8
RW6, RW5 @RW5+d8
RW7, RW5 @RW5+d8
B0
+5
A0
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW4 @RW4+d8
RW1, RW4 @RW4+d8
RW2, RW4 @RW4+d8
RW3, RW4 @RW4+d8
RW4, RW4 @RW4+d8
RW5, RW4 @RW4+d8
RW6, RW4 @RW4+d8
RW7, RW4 @RW4+d8
90
+4
80
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW3 @RW3+d8
RW1, RW3 @RW3+d8
RW2, RW3 @RW3+d8
RW3, RW3 @RW3+d8
RW4, RW3 @RW3+d8
RW5, RW3 @RW3+d8
RW6, RW3 @RW3+d8
RW7, RW3 @RW3+d8
70
+3
60
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW2 @RW2+d8
RW1, RW2 @RW2+d8
RW2, RW2 @RW2+d8
RW3, RW2 @RW2+d8
RW4, RW2 @RW2+d8
RW5, RW2 @RW2+d8
RW6, RW2 @RW2+d8
RW7, RW2 @RW2+d8
50
+2
40
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW1 @RW1+d8
RW1, RW1 @RW1+d8
RW2, RW1 @RW1+d8
RW3, RW1 @RW1+d8
RW4, RW1 @RW1+d8
RW5, RW1 @RW1+d8
RW6, RW1 @RW1+d8
RW7, RW1 @RW1+d8
30
+1
20
XCHW
XCHW RW0, XCHW
XCHW RW1, XCHW
XCHW RW2, XCHW
XCHW RW3, XCHW
XCHW RW4, XCHW
XCHW RW5, XCHW
XCHW RW6, XCHW
XCHW RW7,
RW0, RW0 @RW0+d8
RW1, RW0 @RW0+d8
RW2, RW0 @RW0+d8
RW3, RW0 @RW0+d8
RW4, RW0 @RW0+d8
RW5, RW0 @RW0+d8
RW6, RW0 @RW0+d8
RW7, RW0 @RW0+d8
10
+0
00
表 B.9-21 XCHW RWi, ea 命令 ( 第 1 バイト =7FH)
索引
<数字>
1
16ビットタイマレジスタ
16ビットタイマレジスタ(TMR)/16ビットリ
ロードレジスタ(TMRLR)............ 191
16ビット入出力タイマ
16ビット入出力タイマのブロックダイヤグラ
ム............................... 165
16ビット入出力タイマのレジスタ........ 166
16ビットフリーランタイマ
16ビットフリーランタイマ.............. 164
16ビットフリーランタイマのタイミング
................................. 172
16ビットフリーランタイマの動作........ 171
16ビットフリーランタイマのブロックダイヤ
グラム........................... 167
16ビットリロードタイマ
16ビットリロードタイマ(イベントカウント機
能付)の概要..................... 186
16ビットリロードタイマのアンダフロー動作
................................. 194
16ビットリロードタイマの出力端子機能
................................. 195
16ビットリロードタイマの内部クロック動作
................................. 192
16ビットリロードタイマの入力端子機能(内部
クロックモード時)............... 192
16ビットリロードタイマのブロックダイヤグ
ラム............................. 186
16ビットリロードタイマのレジスタ...... 187
16ビットリロードレジスタ
16ビットタイマレジスタ(TMR)/16ビットリ
ロードレジスタ(TMRLR)............ 191
1系統品
低消費電力モード状態遷移図(1系統品)... 115
8
8/16ビットPPG
8/16ビットPPGのカウントクロックの選択
................................. 210
8/16ビットPPGの各ハードウェアの初期値
................................. 213
8/16ビットPPGの機能................... 198
8/16ビットPPGの出力動作............... 209
8/16ビットPPGの動作................... 208
8/16ビットPPGの動作モード............. 208
8/16ビットPPGのパルスの端子出力の制御
................................. 211
8/16ビットPPGのブロックダイヤグラム
................................. 199
8/16ビットPPGのリロード値とパルス幅の関係
................................. 209
8/16ビットPPGのレジスタ............... 201
8/16ビットPPGの割込み................. 212
2
24ビットオペランド指定
24ビットオペランド指定................. 25
2系統品
低消費電力モード状態遷移図(2系統品)... 110
3
32ビットレジスタ間接指定
32ビットレジスタ間接指定............... 25
437
索引
<アルファベット>
A
A/Dコントロールステータスレジスタ
A/Dコントロールステータスレジスタ(ADCS0)
................................. 234
A/Dコントロールステータスレジスタ(ADCS1)
................................. 236
A/Dコンバータ
A/Dコンバータの特長................... 230
A/Dコンバータのブロックダイヤグラム... 232
A/Dコンバータのレジスタ一覧........... 233
DTP要求
DTP要求と外部割込み要求の切換え....... 225
DTP/外部割込み
DTP/外部割込みの概要.................. 220
DTP/外部割込みの使用上の注意.......... 226
DTP/外部割込みのブロックダイヤグラム
................................. 220
DTP/外部割込みのレジスタ.............. 220
DTP/割込み許可レジスタ
DTP/割込み許可レジスタ................ 221
DTP/割込み要因レジスタ
DTP/割込み要因レジスタ................ 221
E
C
CCR
コンディションコードレジスタ(CCR)...... 34
CLK同期モード
CLK同期モードの通信開始............... 289
CLK同期モードの通信終了............... 289
CLK同期モードの転送データフォーマット
................................. 288
CLK同期モードを使用する場合の各制御レジス
タの設定値....................... 288
CMR
コモンレジスタバンクプリフィックス(CMR)
.................................. 41
CPU
CPUの概要.............................. 22
CPU間欠動作
CPU間欠動作........................... 105
CPU間欠動作機能
CPU間欠動作機能........................ 82
D
DIV A,Ri
「DIV A,Ri」,「DIVW A,RWi」命令の使用上の
注意.............................. 44
DIVW A,RWi
「DIV A,Ri」,「DIVW A,RWi」命令の使用上の
注意.............................. 44
DQ2
トグルビット2フラグ(DQ2).............. 340
DQ3
セクタ消去タイマフラグ(DQ3)........... 339
DQ5
タイミングリミット超過フラグ(DQ5)..... 338
DQ6
トグルビットフラグ(DQ6)............... 337
DQ7
データポーリングフラグ(DQ7)........... 336
DTP
DTPの動作............................. 223
438
E2PROMメモリマップ
E2PROMメモリマップ .................... 320
EI2OS
EI2OSを使った変換動作 ................. 242
拡張インテリジェントI/Oサービス(EI2OS)の
動作フロー........................ 68
単発モード時のEI2OSの起動例 ........... 243
停止モード時のEI2OSの起動例 ........... 245
連続モード時のEI2OSの起動例 ........... 244
2
EI OSステータスレジスタ
EI2OSステータスレジスタ(ISCS) ........ 66
F
F2MC-16LX
F2MC-16LX命令一覧表 .................. 401
FMCS
フラッシュメモリコントロールステータスレ
ジスタ(FMCS)..................... 332
FPT-100P-M05
FPT-100P-M05パッケージ外形寸法図........ 7
FPT-100P-M06
FPT-100P-M06パッケージ外形寸法図........ 6
I
I/Oポート
I/Oポートの概要....................... 138
I/Oポートのレジスタ一覧............... 139
I/Oマップ
I/Oマップ............................. 370
I/Oレジスタアドレスポインタ
I/Oレジスタアドレスポインタ (IOA)...... 66
ICR
割込み制御レジスタ(ICR)................ 62
ILM
インタラプトレベルマスクレジスタ(ILM)
.................................. 36
索引
N
NCC
フラグ変化抑止プリフィックス(NCC)...... 41
P
PACSR
プログラムアドレス検出コントロール/ス
テータスレジスタ(PACSR).......... 317
PADR0/PADR1
プログラムアドレス検出レジスタ
(PADR0/PADR1).................... 317
PC
プログラムカウンタ(PC)................. 37
PLLクロック逓倍機能
PLLクロック逓倍機能.................... 83
PPG0/1クロック選択レジスタ
PPG0/1クロック選択レジスタ (PPG0/1)... 206
PPG0動作モード制御レジスタ
PPG0動作モード制御レジスタ (PPGC0).... 202
PPG1動作モード制御レジスタ
PPG1動作モード制御レジスタ (PPGC1).... 204
PS
プロセッサステータス(PS)............... 34
UART1
UART1の応用例(モード1使用時のシステム構築
例)............................. 295
UART1のクロック選択................... 285
UART1の使用上の注意................... 296
UART1の通信フローチャート............. 295
UART1の動作モード..................... 285
UART1の特長........................... 274
UART1のフラグ......................... 290
UART1のブロックダイヤグラム........... 275
UART1のレジスタ一覧................... 276
UART1の割込みとフラグのセットタイミング
................................. 291
UART1通信プリスケーラコントロールレジスタ
UART1通信プリスケーラコントロールレジスタ
(U1CDCR)......................... 284
USP
ユーザスタックポインタ(USP) とシステムス
タックポインタ(SSP)............... 33
W
WTC
時計タイマ制御レジスタ(WTC)........... 160
R
ROMミラー機能選択モジュール
ROMミラー機能選択モジュールのブロックダイ
ヤグラム......................... 324
ROMミラー機能選択レジスタ
ROMミラー機能選択レジスタ(ROMM)....... 325
RP
レジスタバンクポインタ(RP)............. 35
S
SSP
ユーザスタックポインタ(USP) とシステムス
タックポインタ(SSP)............... 33
U
UART0
UART0の応用例......................... 271
UART0の動作モード..................... 260
UART0の特長........................... 250
UART0のブロックダイヤグラム........... 251
UART0のレジスタ....................... 252
439
索引
<五十音>
あ
アウトプットコンペア
アウトプットコンペア.................. 173
アウトプットコンペア(モジュールごとに2
チャネル)........................ 164
アウトプットコンペアのコントロールステー
タスレジスタ..................... 175
アウトプットコンペアのコンペアレジスタ
................................. 174
アウトプットコンペアのタイミング...... 178
アウトプットコンペアのブロックダイヤグラ
ム............................... 173
アウトプットレジスタ0
インプットデータレジスタ0(UIDR0)とアウト
プットレジスタ0(UODR0............ 257
アキュムレータ
アキュムレータ(A)...................... 32
アドレス
アドレス指定の方式..................... 23
アドレス一致検出機能
アドレス一致検出機能のシステム構成例
................................. 320
アドレス一致検出機能の動作............ 319
アドレス一致検出機能のブロックダイヤグラ
ム............................... 316
アドレッシング
アドレッシング........................ 378
間接アドレッシング ................... 387
直接アドレッシング ................... 380
アナログ入力許可レジスタ
アナログ入力許可レジスタ(ADER)........ 143
アナログ入力許可レジスタ.............. 230
い
インターバル割込み機能
タイムベースタイマのインターバル割込み機
能............................... 149
時計タイマのインターバル割込み機能.... 162
インタラプトレベルマスクレジスタ
インタラプトレベルマスクレジスタ(ILM)
.................................. 36
インテリジェントI/Oサービス
インテリジェントI/Oサービス(EI2OS)機能と割
込み............................. 186
インプットキャプチャ
インプットキャプチャ.................. 179
インプットキャプチャ入力タイミング.... 183
インプットキャプチャの取り込みタイミング
例............................... 182
インプットキャプチャのブロックダイヤグラ
ム............................... 179
インプットキャプチャ(モジュールごとに2
チャネル)........................ 164
440
インプットキャプチャコントロールステータスレジ
スタ
インプットキャプチャコントロールステータ
スレジスタ....................... 180
インプットキャプチャデータレジスタ
インプットキャプチャデータレジスタ.... 180
インプットデータレジスタ0
インプットデータレジスタ0(UIDR0)とアウト
プットレジスタ0(UODR0)........... 257
う
ウォッチドッグカウンタ
ウォッチドッグカウンタのクリア........ 156
ウォッチドッグカウンタの停止.......... 156
ウォッチドッグタイマ
ウォッチドッグタイマの起動方法........ 156
ウォッチドッグタイマのブロックダイヤグラ
ム............................... 153
ウォッチドッグタイマのリセット........ 156
ウォッチドッグタイマのレジスタ........ 152
ウォッチドッグタイマ制御レジスタ
ウォッチドッグタイマ制御レジスタ(WDTC)
................................. 154
か
外部アドレス出力制御レジスタ
外部アドレス出力制御レジスタ(HACR).... 129
外部イベントカウント
外部イベントカウント.................. 193
外部クロック
内部クロックおよび外部クロック........ 263
外部シフトクロックモード
外部シフトクロックモード.............. 307
外部バス端子制御回路
外部メモリアクセス(外部バス端子制御回路)
................................. 125
外部メモリアクセス
外部メモリアクセス(外部バス端子制御回路)
................................. 125
外部メモリアクセス制御信号............ 132
外部メモリアクセスのブロックダイヤグラム
................................. 125
外部メモリアクセスのレジスタ一覧...... 126
外部割込み
DTP要求と外部割込み要求の切換え....... 225
外部割込みの動作...................... 223
概要
MB90435シリーズの製品概要............... 2
カウンタ
カウンタの動作状態.................... 196
カウントクロック
8/16ビットPPGのカウントクロックの選択
................................. 210
索引
拡張インテリジェントI/Oサービス
拡張インテリジェントI/Oサービス(EI2OS)の
概要.............................. 60
拡張インテリジェントI/Oサービス(EI2OS)の
構造.............................. 61
拡張インテリジェントI/Oサービス(EI2OS)の実
行時間............................ 70
拡張インテリジェントI/Oサービス(EI2OS)の
動作フロー........................ 68
拡張インテリジェントI/Oサービスディスクリ
プタ(ISD)......................... 65
間接アドレッシング
間接アドレッシング.................... 387
き
擬似時計モード
擬似時計モードの解除.................. 101
擬似時計モードへの遷移................ 101
く
クロック選択
クロック選択の状態遷移................. 91
クロック選択レジスタ
クロック選択レジスタ(CKSCR)............ 88
クロック発生部
クロック発生部の注意................... 74
こ
コマンドシーケンス
コマンドシーケンス表.................. 334
コモンレジスタバンクプリフィックス
コモンレジスタバンクプリフィックス(CMR)
.................................. 41
コンディションコードレジスタ
コンディションコードレジスタ(CCR)...... 34
コントロールステータスレジスタ
アウトプットコンペアのコントロールステー
タスレジスタ..................... 175
コンペアレジスタ
2組のコンペアレジスタによる出力波形例(出
力の初期値は0とする)............ 177
コンペアレジスタ0,1
コンペアレジスタ0,1を使用したときの出力波
形例(出力の初期値は0とする)..... 177
し
システムスタックポインタ
ユーザスタックポインタ(USP) とシステムス
タックポインタ(SSP)............... 33
実効アドレス
実効アドレスフィールド ............... 396
実効アドレスフィールド
実効アドレスフィールド................ 379
実行サイクル数
実行サイクル数........................ 394
実行サイクル数計算方法................ 394
自動レディ機能選択レジスタ
自動レディ機能選択レジスタ(ARSR)...... 127
シフト動作
シフト動作のスタート/ストップタイミング
................................. 310
初期化
リセット入力によって初期化されないレジス
タ................................ 76
シリアルI/O
シリアルI/Oの動作..................... 306
シリアルI/Oの動作状態................. 308
シリアルI/O のブロックダイヤグラム.... 298
シリアルI/Oのレジスタ................. 299
シリアルI/Oの割込み機能............... 313
シリアルI/Oプリスケーラ
シリアルI/Oプリスケーラ(SCDCR)........ 305
シリアルアウトプットデータレジスタ1
シリアルインプットデータレジスタ1/シリア
ルアウトプットデータレジスタ1(SODR1)
................................. 281
シリアルインプットデータレジスタ1
シリアルインプットデータレジスタ1(SIDR1)/
シリアルアウトプットデータレジスタ
1(SODR1)......................... 281
シリアル書込み
MB90F438L(S)/F439(S)シリアル書込み接続の
基本構成......................... 358
シリアル書込み接続例(ユーザ電源使用時)
................................. 361
シリアル書込み接続例(ライタから電源供給
時)............................. 363
シリアルクロック入力周波数
発振クロック周波数とシリアルクロック入力
周波数........................... 360
シリアルコントロールレジスタ
シリアルコントロールレジスタ(SCR1).... 279
シリアルシフトデータレジスタ
シリアルシフトデータレジスタ (SDR).... 304
シリアルステータスレジスタ1
シリアルステータスレジスタ1(SSR1)..... 282
シリアルモードコントロールステータスレジスタ
シリアルモードコントロールステータスレジ
スタ(SMCS)...................... 300
シリアルモードコントロールレジスタ0
シリアルモードコントロールレジスタ0(UMC0)
................................. 253
シリアルモードレジスタ1
シリアルモードレジスタ1(SMR1)......... 277
441
索引
す
スタック
スタック内へのレジスタの退避........... 54
ステータスフラグ
送受信動作時のステータスフラグ........ 270
ステータスレジスタ0
ステータスレジスタ0(USR0)............. 255
ストップモード
ストップモードの解除.................. 103
ストップモードへの遷移................ 103
スリープモード
スリープモードの解除.................. 100
スリープモードへの遷移................ 100
せ
セクタ消去
フラッシュメモリのセクタ消去手順...... 346
フラッシュメモリのセクタ消去の一時停止
................................. 348
フラッシュメモリのセクタ消去の再開.... 349
フラッシュメモリの任意データの消去(セクタ
消去)............................ 346
セクタ消去タイマフラグ
セクタ消去タイマフラグ(DQ3)........... 339
遷移条件
低消費電力モードの遷移条件............ 106
専用レジスタ
専用レジスタ........................... 29
そ
ソフトウェア割込み
ソフトウェア割込みに関する注意事項..... 59
ソフトウェア割込みの概要............... 58
ソフトウェア割込みの構造............... 58
ソフトウェア割込みの動作............... 58
た
タイマカウンタコントロールステータスレジスタ
タイマカウンタコントロールステータスレジ
スタ
................................. 169
タ イ マ コ ン ト ロ ー ル ス テ ー タ ス レ ジ スタ
(TMCSR).......................... 188
タイマカウンタデータレジスタ
タイマカウンタデータレジスタ.......... 168
タイミングリミット超過フラグ
タイミングリミット超過フラグ(DQ5)..... 338
タイムベースタイマ
タイムベースタイマのインターバル割込み機
能............................... 149
タイムベースタイマの動作.............. 149
442
タイムベースタイマのブロックダイヤグラム
................................. 147
タイムベースタイマのレジスタ一覧...... 146
タイムベースタイマ制御レジスタ
タイムベースタイマ制御レジスタ(TBTC)
................................. 148
多重割込み
多重割込み............................. 54
多バイト長データ
多バイト長データのアクセス............. 28
メモリ空間における多バイト長データの配置
.................................. 28
端子機能説明
端子機能説明........................... 10
端子配列図
FPT-100P-M05端子配列図.................. 9
FPT-100P-M06端子配列図.................. 8
単発モード
単発モード............................ 240
単発モード時のEI2OSの起動例 ........... 243
ち
遅延割込み
遅延割込みのブロックダイヤグラム...... 216
遅延割込み発生........................ 218
遅延割込み要因発生/解除レジスタ....... 217
遅延割込み要求ロックの使用上の注意.... 216
チップ消去
フラッシュメモリの全データの消去(チップ消
去).............................. 345
調歩同期
非同期(調歩同期)モードの送信動作.... 287
非同期(調歩同期)モードの転送データフォー
マット........................... 287
非同期(調歩同期)モードの受信動作.... 287
直接アドレッシング
直接アドレッシング.................... 380
て
停止モード
停止モード............................ 241
停止モード時のEI2OSの起動例 ........... 245
低消費電力制御回路
低消費電力制御回路の動作モード......... 82
低消費電力制御回路のブロックダイヤグラム
.................................. 84
低消費電力制御回路のレジスタ........... 85
低消費電力モード
低消費電力モード....................... 96
低消費電力モード状態遷移図(1系統品)
................................. 115
低消費電力モード状態遷移図(2系統品)
................................. 110
低消費電力モードの遷移条件............ 106
索引
低消費電力モード制御レジスタ
低消費電力モード制御レジスタ(LPMCR).... 86
低消費電力モード制御レジスタのアクセス
.................................. 87
低消費電力モード
低消費電力モード動作状態............... 98
データカウンタ
データカウンタ (DCT)................... 65
データポーリングフラグ
データポーリングフラグ(DQ7)........... 336
データ保護機能
データ保護機能のフロー例(EI2OSの場合)
................................. 247
データ保護機能のフロー例(I2OSの場合)
................................. 247
データレジスタ
データレジスタ(ADCR0,ADCR1)........... 238
デバイスの取扱い
デバイスの取扱いに関する注意事項....... 17
転送データフォーマット
転送データフォーマット................ 264
と
動作モード
低消費電力制御回路の動作モード......... 82
特長
特長 3
トグルビット2フラグ
トグルビット2フラグ(DQ2).............. 340
トグルビットフラグ
トグルビットフラグ(DQ6)............... 337
時計タイマ
時計タイマ............................ 162
時計タイマのインターバル割込み機能.... 162
時計タイマのブロックダイヤグラム...... 159
時計タイマのレジスタ.................. 158
時計タイマ制御レジスタ
時計タイマ制御レジスタ(WTC)........... 160
時計モード
時計モードの解除...................... 102
時計モードへの遷移.................... 102
な
内部クロック
内部クロックおよび外部クロック........ 263
内部クロックモード
16ビットリロードタイマの入力端子機能(内部
クロックモード時)............... 192
内部シフトクロックモード
内部シフトクロックモード.............. 307
に
入出力回路形式
入出力回路形式......................... 14
入力インピーダンス
入力インピーダンス.................... 231
ね
ネガティブクロック
ネガティブクロック動作................ 294
ネガティブクロック動作
ネガティブクロック動作................ 314
は
ハードウェア・シーケンス・フラグ
ハードウェア・シーケンス・フラグ........ 335
ハードウェアスタンバイモード
ハードウェアスタンバイモードの解除.... 104
ハードウェアスタンバイモードへの遷移
................................. 104
ハードウェア割込み
ハードウェア割込みの概要............... 53
ハードウェア割込みの構造............... 53
ハードウェア割込みの動作............... 55
ハードウェア割込みの動作フロー......... 57
バス制御信号選択レジスタ
バス制御信号選択レジスタ(ECSR)........ 130
バスモード
バスモード別メモリ空間................ 123
パッケージ
FPT-100P-M05パッケージ外形寸法図........ 7
FPT-100P-M06パッケージ外形寸法図........ 6
発振安定待ち時間
メインクロック発振安定待ち時間設定..... 82
発振クロック周波数
発振クロック周波数とシリアルクロック入力
周波数........................... 360
バッファアドレスポインタ
バッファアドレスポインタ (BAP)......... 67
パリティビット
パリティビット........................ 265
バンクセレクトプリフィックス
バンクセレクトプリフィックス........... 40
バンク方式
バンク方式によるアドレス指定........... 26
汎用レジスタ
汎用レジスタ........................... 31
443
索引
ひ
非同期モード
非同期(調歩同期)モードの送信動作.... 287
非同期(調歩同期)モードの転送データフォー
マット........................... 287
非同期(調歩同期)モードの受信動作.... 287
ふ
フラグ
6つのフラグのセットタイミング......... 266
UART1のフラグ......................... 290
UART1の割込みとフラグのセットタイミング
................................. 291
受信動作時(モード0,モード1,モード3)のフ
ラグのセットタイミング........... 267
受信動作時(モード2)のフラグのセットタイミ
ング............................. 268
送信動作時のフラグのセットタイミング
................................. 269
フラグ変化抑止プリフィックス
フラグ変化抑止プリフィックス(NCC)...... 41
フラッシュセキュリティ
フラッシュセキュリティの特長.......... 351
フラッシュマイコンプログラマ
フラッシュマイコンプログラマとの最小限の
接続例(ユーザ電源使用時)....... 365
フラッシュマイコンプログラマとの最小限の
接続例(ライタから電源供給時)... 367
フラッシュメモリ
1M/2Mビットフラッシュメモリのプログラム例
................................. 352
1M/2Mビットフラッシュメモリのセクタ構成
................................. 329
1M/2Mビットフラッシュメモリの特長..... 328
フラッシュメモリ書込み/消去の詳細説明
................................. 341
フラッシュメモリ書込み/消去の方法..... 328
フラッシュメモリ書込み手順............ 343
フラッシュメモリ使用上の注意.......... 350
フラッシュメモリの制御信号............ 330
フラッシュメモリのセクタ消去手順...... 346
フラッシュメモリのセクタ消去の一時停止
................................. 348
フラッシュメモリのセクタ消去の再開.... 349
フラッシュメモリの全データの消去(チップ消
去).............................. 345
フラッシュメモリの任意データの消去(セクタ
消去)............................ 346
フラッシュメモリの読出し/リセット状態
................................. 342
フラッシュメモリのレジスタ............ 328
フラッシュメモリへのデータを書込み.... 343
フラッシュメモリモード................ 330
444
フラッシュメモリコントロールステータスレジスタ
フラッシュメモリコントロールステータスレ
ジスタ(FMCS)..................... 332
プリフィックス
コモンレジスタバンクプリフィックス(CMR)
.................................. 41
バンクセレクトプリフィックス........... 40
フラグ変化抑止プリフィックス(NCC)...... 41
プリフィックスコード................... 40
プリフィックスコードが連続している場合
.................................. 43
プリフィックス命令
割込み抑止命令とプリフィックス命令に関す
る制約............................ 42
プルアップ制御レジスタ
プルアップ制御レジスタ(PUCR).......... 142
プルアップ制御レジスタ(PUCR)のブロックダ
イヤグラム....................... 142
プログラム
1M/2Mビットフラッシュメモリのプログラム例
................................. 352
プログラムアドレス検出コントロール/ステータス
レジスタ
プログラムアドレス検出コントロール/ス
テータスレジスタ(PACSR).......... 317
プログラムアドレス検出レジスタ
プログラムアドレス検出レジスタ
(PADR0/PADR1).................... 317
プログラムカウンタ
プログラムカウンタ(PC)................. 37
プログラムパッチ処理
プログラムパッチ処理例................ 321
プログラムパッチ処理
プログラムパッチ処理フロー図.......... 322
プロセッサステータス
プロセッサステータス(PS)............... 34
ブロックダイヤグラム
16ビット入出力タイマのブロックダイヤグラ
ム............................... 165
16ビットフリーランタイマのブロックダイヤ
グラム........................... 167
16ビットリロードタイマのブロックダイヤグ
ラム............................. 186
8/16ビットPPGのブロックダイヤグラム
................................. 199
A/Dコンバータのブロックダイヤグラム
................................. 232
DTP/外部割込みのブロックダイヤグラム
................................. 220
ROMミラー機能選択モジュールのブロックダイ
ヤグラム......................... 324
UART0のブロックダイヤグラム........... 251
UART1のブロックダイヤグラム........... 275
アウトプットコンペアのブロックダイヤグラ
ム............................... 173
アドレス一致検出機能のブロックダイヤグラ
ム............................... 316
索引
インプットキャプチャのブロックダイヤグラ
ム............................... 179
ウォッチドッグタイマのブロックダイヤグラ
ム............................... 153
外部メモリアクセスのブロックダイヤグラム
................................. 125
シリアルI/O のブロックダイヤグラム.... 298
タイムベースタイマのブロックダイヤグラム
................................. 147
遅延割込みのブロックダイヤグラム...... 216
低消費電力制御回路のブロックダイヤグラム
.................................. 84
時計タイマのブロックダイヤグラム...... 159
プルアップ制御レジスタ(PUCR)のブロックダ
イヤグラム....................... 142
ブロックダイヤグラム.................... 5
へ
変換データ保護機能
変換データ保護機能.................... 246
変換データ保護機能の使用上の注意...... 247
ほ
ポートデータレジスタ
ポートデータレジスタ(PDR)............. 140
ポート方向レジスタ
ポート方向レジスタ(DDR)............... 141
ホールド機能
ホールド機能.......................... 136
ボーレート
CLK同期ボーレート..................... 261
CLK非同期ボーレート................... 261
ま
マシンクロック
マシンクロックの切換え................. 83
メモリアクセスモード
メモリアクセスモードの概要............ 120
メモリ空間
CPUメモリ空間の概要.................... 23
バスモード別メモリ空間................ 123
メモリ空間における多バイト長データの配置
.................................. 28
メモリ空間マップ....................... 24
も
モード端子
モード端子............................ 121
モードデータ
モードデータ.......................... 122
ゆ
ユーザスタックポインタ
ユーザスタックポインタ(USP) とシステムス
タックポインタ(SSP)............... 33
よ
要求レベル設定レジスタ
要求レベル設定レジスタ................ 222
り
リセット
ウォッチドッグタイマのリセット........ 156
フラッシュメモリの読出し/リセット状態
................................. 342
リセット解除後の動作................... 75
リセット入力によって初期化されないレジス
タ................................ 76
リセット............................... 79
リセット要因の発生..................... 75
リロードレジスタ
リロードレジスタ (PRLL, PRLH)......... 207
み
未定義命令
未定義命令の実行による例外発生......... 71
め
命令
命令の種類 ........................... 377
命令マップの構造 ..................... 415
命令一覧表
F2MC-16LX命令一覧表 .................. 401
メインクロック
メインクロック発振安定待ち時間設定..... 82
れ
例外
未定義命令の実行による例外発生......... 71
レート・データレジスタ0
レート・データレジスタ0(URD0)......... 258
レジスタ
16ビットタイマレジスタ(TMR)/16ビットリ
ロードレジスタ(TMRLR)............ 191
16ビット入出力タイマのレジスタ........ 166
16ビットリロードタイマのレジスタ...... 187
2組のコンペアレジスタによる出力波形例(出
力の初期値は0とする)............ 177
445
索引
8/16ビットPPGのレジスタ............... 201
A/Dコントロールステータスレジスタ(ADCS0)
................................. 234
A/Dコントロールステータスレジスタ(ADCS1)
................................. 236
A/Dコンバータのレジスタ一覧........... 233
DTP/割込み許可レジスタ................ 221
DTP/割込み要因レジスタ................ 221
I/Oポートのレジスタ一覧............... 139
PPG0/1クロック選択レジスタ (PPG0/1)... 206
PPG0動作モード制御レジスタ (PPGC0).... 202
PPG1動作モード制御レジスタ (PPGC1).... 204
ROMミラー機能選択レジスタ(ROMM)....... 325
UART0のレジスタ....................... 252
UART1通信プリスケーラコントロールレジスタ
(U1CDCR)......................... 284
UART1のレジスタ一覧................... 276
アウトプットコンペアのコントロールステー
タスレジスタ..................... 175
アウトプットコンペアのコンペアレジスタ
................................. 174
アナログ入力許可レジスタ(ADER)........ 143
インタラプトレベルマスクレジスタ(ILM).. 36
インプットキャプチャデータレジスタ.... 180
インプットデータレジスタ0(UIDR0)とアウト
プットレジスタ0(UODR0)........... 257
ウォッチドッグタイマ制御レジスタ(WDTC)
................................. 154
ウォッチドッグタイマのレジスタ........ 152
外部アドレス出力制御レジスタ(HACR).... 129
外部メモリアクセスのレジスタ一覧...... 126
クロック選択レジスタ(CKSCR)............ 88
コモンレジスタバンクプリフィックス(CMR)
.................................. 41
コンディションコードレジスタ(CCR)...... 34
コンペアレジスタ0,1を使用したときの出力波
形例(出力の初期値は0とする)..... 177
自動レディ機能選択レジスタ(ARSR)...... 127
シリアルI/Oのレジスタ................. 299
シリアルインプットデータレジスタ1(SIDR1)/
シリアルアウトプットデータレジスタ
1(SODR1)......................... 281
シリアルコントロールレジスタ(SCR1).... 279
シリアルシフトデータレジスタ (SDR).... 304
シリアルステータスレジスタ1(SSR1)..... 282
シリアルモードコントロールステータスレジ
スタ(SMCS)...................... 300
シリアルモードコントロールレジスタ0(UMC0)
................................. 253
シリアルモードレジスタ1(SMR1)......... 277
ステータスレジスタ0(USR0)............. 255
専用レジスタ........................... 29
タイマカウンタコントロールステータスレジ
スタ
................................. 169
タイマカウンタデータレジスタ.......... 168
446
タイマコント ロールステー タスレジスタ
(TMCSR).......................... 188
タイムベースタイマ制御レジスタ(TBTC)
................................. 148
タイムベースタイマのレジスタ一覧...... 146
遅延割込み要因発生/解除レジスタ....... 217
低消費電力制御回路のレジスタ........... 85
低消費電力モード制御レジスタ(LPMCR).... 86
データレジスタ(ADCR0,ADCR1)........... 238
時計タイマのレジスタ.................. 158
アナログ入力許可レジスタ.............. 230
バス制御信号選択レジスタ(ECSR)........ 130
汎用レジスタ........................... 31
フラッシュメモリのレジスタ............ 328
プルアップ制御レジスタ(PUCR).......... 142
プルアップ制御レジスタ(PUCR)のブロックダ
イヤグラム....................... 142
ポートデータレジスタ(PDR)............. 140
ポート方向レジスタ(DDR)............... 141
要求レベル設定レジスタ................ 222
リセット入力によって初期化されないレジス
タ................................ 76
リロードレジスタ (PRLL, PRLH)......... 207
レート・データレジスタ0(URD0)......... 258
レジスタバンク......................... 38
レジスタバンクポインタ(RP)............. 35
レジスタバンク
レジスタバンク......................... 38
レジスタバンクポインタ
レジスタバンクポインタ(RP)............. 35
レディ機能
レディ機能............................ 134
連続モード
連続モード............................ 240
連続モード時のEI2OSの起動例 ........... 244
連続モード時のI2OSの起動例............ 244
わ
割込み
UART1の割込みとフラグのセットタイミング
................................. 291
UART1の割込み発生要因................. 290
インテリジェントI/Oサービス(EI2OS)機能と割
込み............................. 186
シリアルI/Oの割込み機能............... 313
割込みの概要........................... 48
割込み要因............................. 49
割込み制御レジスタ
割込み制御レジスタ(ICR)................ 62
割込みベクタ
割込みベクタ........................... 51
割込み抑止命令
割込み抑止命令......................... 42
割込み抑止命令とプリフィックス命令に関す
る制約............................ 42
CM44-10123-2
富士通マイクロエレクトロニクス・CONTROLLER MANUAL
F2MC-16LX
16ビット・マイクロコントローラ
MB90435series
ハードウェアマニュアル
2008年7月 第2版発行
発 行
富士通マイクロエレクトロニクス株式会社
編 集
マーケティング統括部
ビジネス推進部