3.5MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CONTROLLER MANUAL
CM44-00203-3
F2MC®-16FX
16 ビット・マイクロコントローラ
プログラミングマニュアル
F2MC®-16FX
16 ビット・マイクロコントローラ
プログラミングマニュアル
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
F2MC-16FX シリーズは , ASIC(Application Specific IC) 対応が可能なオリジナル 16 ビッ
ト・ワンチップ・マイクロコントローラです。民生用機器 , 産業用機器 , 車載用機器な
ど , 高速リアルタイム処理が要求される用途に適しています。
■ 商標
F2MC は FUJITSU Flexible Microcontroller の略で , 富士通マイクロエレクトロニクス株
式会社の登録商標です。
その他の記載されている社名および製品名などの固有名詞は , 各社の商標または登録
商標です。
■ 本書の対象読者
本書は , 実際にこの F2MC®-16FX シリーズ・マイクロ・コントローラを使用して製品
を開発される技術者の方 , 特に F2MC-16FX 用アセンブラのアセンブリ言語を用いてプ
ログラムを製作されるプログラマの方を対象に , F2MC-16FX シリーズの各種命令につ
いて解説したものです。
■ 本書の全体構成
本書は , 以下に示す 8 つの章および付録から構成されます。
第 1 章 CPU
F2MC-16FX CPU コアの概要と構成例について説明します。
第 2 章 メモリ空間
F2MC-16FX CPU のメモリ空間について説明します。
第 3 章 専用レジスタ
F2MC-16FX CPU の専用レジスタについて説明します。
第 4 章 汎用レジスタ
F2MC-16FX CPU の汎用レジスタについて説明します。
第 5 章 プリフィックスコード
プリフィックスコードについて説明します。
第 6 章 割込み
F2MC-16FX の割込み処理の機能と動作について説明しています。
第 7 章 アドレス指定方式
F2MC-16FX の各命令におけるアドレス指定方式について説明します。
第 8 章 命令細則
アセンブラで使用される各実行命令について , リファレンス形式で説明します。な
お , 各実行命令は , アルファベット順に掲載します。
付録
F2MC-16FX 命令一覧および命令マップなどを記載します。
i
■ 参照マニュアル
下記のマニュアルを併せてご覧ください。
• F2MC-16L/16FX/16/16H/16F アセンブラマニュアル
• F2MC-16FX 各品種のハードウェアマニュアル
ii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途 ( 原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう ), ならびに極めて高い信頼性
が要求される用途 ( 海底中継器 , 宇宙衛星をいう ) に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©2008-2010 FUJITSU MICROELECTRONICS LIMITED All rights reserved.
iii
iv
目次
第1章
1.1
1.2
第2章
2.1
2.2
2.3
2.4
2.5
第3章
3.1
3.2
3.3
3.4
3.5
3.6
3.7
第4章
4.1
4.2
第5章
5.1
5.2
5.3
5.4
第6章
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
第7章
7.1
7.2
CPU.............................................................................................................1
CPU の概要 ............................................................................................................................. 2
構成例 ...................................................................................................................................... 4
メモリ空間 ..................................................................................................9
CPU のメモリ空間................................................................................................................. 10
リニア方式のアドレス指定.................................................................................................... 11
バンク方式のアドレス指定.................................................................................................... 13
バンクに分割されたメモリ空間と各バンクレジスタの値..................................................... 15
多バイト長データのメモリ上でのデータ構成とアクセス..................................................... 16
専用レジスタ.............................................................................................19
専用レジスタの構成 .............................................................................................................. 20
アキュムレータ (A)................................................................................................................ 22
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) .................................. 24
プロセッサステータス (PS)................................................................................................... 26
プログラムカウンタ (PC) ...................................................................................................... 31
ダイレクトページレジスタ (DPR)......................................................................................... 32
バンクレジスタ (PCB, DTB, ADB, USB, SSB)...................................................................... 33
汎用レジスタ.............................................................................................35
RAM 上のレジスタバンク ..................................................................................................... 36
RAM 上の汎用レジスタの呼び出し方 ................................................................................... 38
プリフィックスコード ..............................................................................39
バンクセレクトプリフィックス ............................................................................................ 40
コモンレジスタバンクプリフィックス (CMR) ...................................................................... 42
フラグ変化抑止プリフィックスコード (NCC) ...................................................................... 43
プリフィックスコードに関する制約 ..................................................................................... 44
割込み .......................................................................................................47
割込みの概要 ......................................................................................................................... 48
割込みベクタ ......................................................................................................................... 50
割込み制御レジスタ (ICR)..................................................................................................... 53
ノンマスカブルインタラプト (NMI) ...................................................................................... 56
割込みフロー ......................................................................................................................... 59
ハードウェア割込み .............................................................................................................. 61
ソフトウェア割込み .............................................................................................................. 65
多重割込み............................................................................................................................. 67
例外 ....................................................................................................................................... 70
アドレス指定方式 .....................................................................................75
実効アドレスフィールド ....................................................................................................... 76
直接アドレス指定方式........................................................................................................... 77
v
7.3
第8章
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.10
8.11
8.12
8.13
8.14
8.15
8.16
8.17
8.18
8.19
8.20
8.21
8.22
8.23
8.24
8.25
8.26
8.27
8.28
8.29
8.30
8.31
8.32
8.33
8.34
8.35
8.36
8.37
8.38
8.39
8.40
8.41
8.42
8.43
間接アドレス指定方式........................................................................................................... 79
命令細則....................................................................................................83
命令細則の読み方 .................................................................................................................. 84
ADD (Add Byte Data of Destination and Source to Destination) ........................................... 87
ADDC (Add Byte Data of AL and AH with Carry to AL) ......................................................... 89
ADDC (Add Byte Data of Accumulator and Effective Address with Carry to Accumulator)... 90
ADDCW (Add Word Data of Accumulator and Effective Address with Carry to Accumulator)
............................................................................................................................................... 92
ADDDC (Add Decimal Data of AL and AH with Carry to AL)................................................. 94
ADDL (Add Long Word Data of Destination and Source to Destination)............................... 95
ADDSP (Add Word Data of Stack Pointer and Immediate Data to Stack Pointer) ................ 97
ADDW (Add Word Data of AL and AH to AL) ........................................................................ 99
ADDW (Add Word Data of Destination and Source to Destination) .................................... 100
AND (And Byte Data of Destination and Source to Destination) ......................................... 102
AND (And Byte Data of Immediate Data and Condition Code Register) ............................. 104
ANDL (And Long Word Data of Destination and Source to Destination)............................. 106
ANDW (And Word Data of AH and AL to AL) ...................................................................... 108
ANDW (And Word Data of Destination and Source to Destination) .................................... 109
ASR (Arithmetic Shift Byte Data of Accumulator to Right)................................................... 111
ASRL (Arithmetic Shift Long Word Data of Accumulator to Right) ...................................... 113
ASRW (Arithmetic Shift Word Data of Accumulator to Right).............................................. 115
ASRW (Arithmetic Shift Word Data of Accumulator to Right).............................................. 117
BBcc (Branch if Bit Condition satisfied) ............................................................................... 119
Bcc (Branch relative if Condition satisfied) .......................................................................... 121
CALL (Call Subrourtine)....................................................................................................... 123
CALLP (Call physical Address)............................................................................................ 125
CALLV (Call Vectored Subroutine) ...................................................................................... 127
CBNE (Compare Byte Data and Branch if not equal).......................................................... 129
CLRB (Clear Bit) .................................................................................................................. 131
CMP (Compare Byte Data of Destination and Source) ....................................................... 132
CMPL (Compare Long Word Data of Destination and Source) ........................................... 134
CMPW (Compare Word Data of Destination and Source)................................................... 136
CWBNE (Compare Word Data and Branch if not equal) ..................................................... 138
DBNZ (Decrement Byte Data and Branch if not zero) ......................................................... 140
DEC (Decrement Byte Data) ............................................................................................... 142
DECL (Decrement Long Word Data) ................................................................................... 143
DECW (Decrement Word Data)........................................................................................... 144
DIV (Divide Word Data by Byte Data).................................................................................. 146
DIVW (Divide Long Word Data by Word Data).................................................................... 148
DIVU (Divide unsigned Word Data by unsigned Byte Data)................................................ 150
DIVUW (Divide unsigned Long Word Data by unsigned Word Data) .................................. 152
DWBNZ (Decrement Word Data and Branch if not Zero).................................................... 154
EXT (Sign Extend from Byte Data to Word Data)................................................................ 156
EXTW (Sign Extend from Word Data to Long Word Data) .................................................. 157
FILS, FILSI (Fill String Byte) ................................................................................................ 158
FILSW, FILSWI (Fill String Word)....................................................................................... 160
8.44 INC (Increment Byte Data( アドレス指定 ))......................................................................... 162
8.45 INCL (Increment Long Word Data) ...................................................................................... 163
vi
8.46 INCW (Increment Word Data).............................................................................................. 164
8.47 INT (Software Interrupt) ....................................................................................................... 166
8.48
8.49
8.50
8.51
8.52
8.53
8.54
8.55
8.56
8.57
8.58
8.59
8.60
8.61
8.62
8.63
8.64
8.65
8.66
8.67
8.68
8.69
8.70
8.71
8.72
8.73
8.74
8.75
8.76
8.77
8.78
8.79
8.80
8.81
8.82
8.83
8.84
8.85
8.86
8.87
8.88
8.89
8.90
8.91
8.92
8.93
8.94
INT (Software Interrupt( ベクタ指定 ))................................................................................. 168
INT9 (Software Interrupt) ..................................................................................................... 170
INTP (Software Interrupt)..................................................................................................... 172
JCTX (Jump Context) .......................................................................................................... 174
JMP (Jump Destination Address) ........................................................................................ 176
JMPP (Jump Destination Physical Address) ....................................................................... 178
LINK (Link and create new stack frame).............................................................................. 179
LSL (Logical Shift Byte Data of Accumulator to Left)........................................................... 181
LSLL (Logical Shift Long Word Data of Accumulator to Left) .............................................. 183
LSLW (Logical Shift Word Data of Accumulator to Left)...................................................... 185
LSLW (Logical Shift Word Data of Accumulator to Left)...................................................... 187
LSR (Logical Shift Byte Data of Accumulator to Right)........................................................ 189
LSRL (Logical Shift Long Word Data of Accumulator to Right) ........................................... 191
LSRW (Logical Shift Word Data of Accumulator to Right)................................................... 193
LSRW (Logical Shift Word Data of Accumulator to Right)................................................... 195
MOV (Move Byte Data from Source to Accumulator) .......................................................... 197
MOV (Move Byte Data from Accumulator to Destination) ................................................... 199
MOV (Move Byte Immediate data to Destination) ............................................................... 201
MOV (Move Byte Data from Source to Destination) ............................................................ 203
MOV (Move Byte Data from AH to Memory ) ...................................................................... 205
MOVB (Move Bit Data from Bit Address to Accumulator).................................................... 207
MOVB (Move Bit Data from Accumulator to Bit Address).................................................... 209
MOVEA (Move Effective Address to Destination)................................................................ 211
MOVL (Move Long Word Data from Source to Accumulator).............................................. 213
MOVL (Move Long Word Data from Accumulator to Destination) ....................................... 215
MOVN (Move Immediate Nibble Data to Accumulator) ....................................................... 217
MOVS, MOVSI (Move String Byte with Increment) ............................................................. 218
MOVSD (Move String Byte with Decrement)....................................................................... 220
MOVSW, MOVSWI (Move String Word with Increment) ..................................................... 221
MOVSWD (Move String Word with Decrement) .................................................................. 223
MOVW (Move Word Data from Source to Accumulator) ..................................................... 224
MOVW (Move Word Data from Accumulator to Destination)............................................... 226
MOVW (Move Immediate Word Data to Destination) .......................................................... 228
MOVW (Move Word Data from source to Destination)........................................................ 230
MOVW (Move Immediate Word Data to io) ......................................................................... 232
MOVW (Move Word Data from AH to Memory)................................................................... 233
MOVX (Move Byte Data with Sign Extension from Source to Accumulator) ....................... 235
MUL (Multiply Byte Data of Accumulator)............................................................................ 237
MUL (Multiply Byte Data of Accumulator and Effective Address)........................................ 238
MULW (Multiply Word Data of Accumulator) ....................................................................... 240
MULW (Multiply Word Data of Accumulator and Effective Address) ................................... 241
MULU (Multiply Unsigned Byte Data of Accumulator) ......................................................... 243
MULU (Multiply Unsigned Byte Data of Accumulator and Effective Address) ..................... 244
MULUW (Multiply Unsigned Word Data of Accumulator) .................................................... 246
MULUW (Multiply Unsigned Word Data of Accumulator and Effective Address) ................ 247
NEG (Negate Byte Data of Destination) .............................................................................. 248
NEGW (Negate Word Data of Destination) ......................................................................... 250
vii
8.95
8.96
8.97
8.98
8.99
8.100
8.101
8.102
8.103
8.104
8.105
8.106
8.107
8.108
8.109
8.110
8.111
8.112
8.113
8.114
8.115
8.116
8.117
8.118
8.119
8.120
8.121
8.122
8.123
8.124
8.125
8.126
8.127
8.128
8.129
8.130
8.131
8.132
8.133
8.134
8.135
8.136
8.137
8.138
8.139
8.140
NOP (No Operation) ............................................................................................................ 252
NOT (Not Byte Data of Destination) .................................................................................... 253
NOTW (Not Word Data of Destination)................................................................................ 255
NRML (NORMALIZE Long Word)........................................................................................ 257
OR (Or Byte Data of Destination and Source to Destination).............................................. 259
OR (Or Byte Data of Immediate Data and Condition Code Register to Condition Code Register)
............................................................................................................................................. 261
ORL (Or Long Word Data of Destination and Source to Destination ) ................................ 263
ORW (Or Word Data of AH and AL to AL)........................................................................... 265
ORW (Or Word Data of Destination and Source to Destination) ......................................... 266
POPW (Pop Word Data of Accumulator from Stack Memory)............................................. 268
POPW (Pop Word Data of AH from Stack Memory)............................................................ 270
POPW (Pop Word Data of Program Status from Stack Memory)........................................ 272
POPW (Pop Registers from Stack Memory)........................................................................ 274
PUSHW (Push Word Data of Inherent Register to Stack Memory) ..................................... 276
PUSHW (Push Registers to Stack Memory)........................................................................ 278
RET (Return from Subroutine)............................................................................................. 280
RETI (Return from Interrupt)................................................................................................ 282
RETP (Return from physical Address)................................................................................. 285
ROLC (Rotate Byte Data of Accumulator With Carry to Left) .............................................. 287
RORC (Rotate Byte Data of Accumulator With Carry to Right) ........................................... 289
SBBS (Set Bit and Branch if Bit Set) ................................................................................... 291
SCEQ, SCEQI (Scan String Byte until equal with Increment) ............................................. 293
SCEQD (Scan String Byte until equal with Decrement) ...................................................... 295
SCWEQ, SCWEQI (Scan String Word until equal with Increment) ..................................... 297
SCWEQD (Scan String Word until equal with Decrement).................................................. 299
SETB (Set Bit) ..................................................................................................................... 301
SUB (Subtract Byte Data of Source from Destination to Destination) ................................. 302
SUBC (Subtract Byte Data of AL from AH with Carry to AL) ............................................... 304
SUBC (Subtract Byte Data of Effective Address from Accumulator with Carry to Accumulator)
............................................................................................................................................. 305
SUBCW (Subtract Word Data of Effective Address from Accumulator with Carry to
Accumulator)........................................................................................................................ 307
SUBDC (Subtract Decimal Data of AL from AH with Carry to AL)....................................... 309
SUBL (Subtract Long Word Data of Source from Destination to Destination)..................... 310
SUBW (Subtract Word Data of Source from Destination to Destination) ............................ 312
SUBW (Subtract Word Data of AL from AH to AL) .............................................................. 314
SWAP (Swap Byte Data of Accumulator) ............................................................................ 315
SWAPW (Swap Word Data of Accumulator) ....................................................................... 316
UNLINK (Unlink and create new stack frame) ..................................................................... 317
WBTc (Wait until Bit Condition satisfied) ............................................................................. 318
XCH (Exchange Byte Data of Source to Destination).......................................................... 320
XCHW (Exchange Word Data of Source to Destination)..................................................... 322
XOR (Exclusive Or Byte Data of Destination and Source to Destination) ........................... 324
XORL (Exclusive Or Long Word Data of Destination) ......................................................... 326
XORW (Exclusive Or Word Data of AH and AL to AL) ........................................................ 328
XORW (Exclusive Or Word Data of Destination and Source to Destination) ...................... 329
ZEXT (Zero Extend from Byte Data to Word Data) ............................................................. 331
ZEXTW (Zero Extend from Word Data to Long Word Data)................................................ 332
viii
付録
付録 A
A.1
A.2
A.3
付録 B
付録 C
C.1
C.2
C.3
C.4
C.5
C.6
C.7
C.8
C.9
C.10
C.11
C.12
C.13
................................................................................................................333
命令一覧表の説明........................................................................................................... 334
命令一覧表の項目の説明 ............................................................................................. 335
命令一覧表の記号の説明 ............................................................................................. 337
実効アドレスフィールド ............................................................................................. 338
命令一覧表 (351 命令 ) ................................................................................................... 340
命令マップ...................................................................................................................... 356
命令マップの構造 ........................................................................................................ 357
基本ページマップ ........................................................................................................ 359
ビット操作系命令マップ ............................................................................................. 361
文字列操作系命令マップ ............................................................................................. 363
2 バイト系統マップ ..................................................................................................... 365
ea 系命令 ..................................................................................................................... 367
MOVEA RWi,ea 命令 ................................................................................................... 377
MOV Ri,ea 命令 ........................................................................................................... 379
MOVW RWi,ea 命令..................................................................................................... 381
MOV ea,Ri 命令 ........................................................................................................... 383
MOVW ea,RWi 命令..................................................................................................... 385
XCH Ri,ea 命令 ............................................................................................................ 387
XCHW RWi,ea 命令 ..................................................................................................... 389
ix
x
本版での主な変更内容
ページ
変更内容 ( 詳細は本文を参照してください。)
22
第 3 章 専用レジスタ
3.2 アキュムレータ (A)
■ アキュムレータ (A)
レジスタ名を統一。
A レジスタ → アキュムレータ (A)
26
3.4 プロセッサステータス (PS)
■ プロセッサステータス (PS)
レジスタ名を統一。
割込みレベルマスクレジスタ (ILM) →
割込みレベルマスク (ILM)
41
第 5 章 プリフィックスコード
5.1 バンクセレクトプリフィックス
■ バンクセレクトプリフィックス
その他の制御系命令(スタック操作)に LINK, UNLINK 命
令を追加。
43
5.3 フラグ変化抑止プリフィックス
コード (NCC)
■ フラグ変化抑止プリフィックス
コード (NCC)
命令を訂正。
FISW → FILSW
MOVE, MOVSW 命令を削除
51
第 6 章 割込み
6.2 割込みベクタ
■ 割込みベクタテーブル
表 6.2-2
命令を訂正。
CALLV 14 → CALLV 14/15
53
6.3 割込み制御レジスタ (ICR)
■ 割込み制御レジスタ (ICR)
IX の初期値を訂正。
"0" → 0CH
66
6.7 ソフトウェア割込み
■ ソフトウェア割込みの動作
用語を訂正。
フラグをリセット → フラグをクリア
68
6.8 多重割込み
■ 割込み受付の優先順位
表 6.8-1
73
6.9 例外
■ ハードウェア例外 ( ノンマスカブ
ルインタラプト )
● 命令ブレーク (VEIB, システム予
約 , DSU のみで利用可 )
説明を訂正。
実行前の命令ブレーク → 命令実行後の命令ブレーク
80
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
■ 間接アドレス指定方式
● ディスプレースメント付プログ
ラムカウンタ間接 (@PC+disp16)
レジスタ名を訂正。
プログラム・バンク・レジスタ (PCB) →
プログラムカウンタバンクレジスタ (PCB)
第 8 章 命令細則
章全体でフラグ名を変更。
キャリビット (C) → キャリフラグ (C)
85
8.1 命令細則の読み方
■ 命令細則中で使用される記号
( 略称 )
表 8.1-1
brg3 を追加。
87
8.2 ADD (Add Byte Data of Destination and Source to Destination)
説明を訂正。
A の bit8 ∼ bit15 → AL の上位バイト
-
説明を訂正。
「受け付け条件」の説明を訂正。
xi
ページ
90
変更内容 ( 詳細は本文を参照してください。)
8.4 ADDC (Add Byte Data of Accumulator and Effective Address with
Carry to Accumulator)
サマリ文を訂正。
A の bit8 ∼ bit15 → AL の上位バイト
● オペレーション
説明を訂正。
(ea) → ( 第 2 オペランド )
92
8.5 ADDCW (Add Word Data of
Accumulator and Effective
Address with Carry to Accumulator)
● オペレーション
説明を訂正。
(ea) → ( 第 2 オペランド )
119
8.20 BBcc (Branch if Bit Condition
satisfied)
● アセンブラ形式
説明を訂正。
<第 1 オペランド> → addr16:bp
<第 1 オペランド> → dir:bp
<第 1 オペランド> → io:bp
124
8.22 CALL (Call Subrourtine)
● 実行例
命令を変更。
CALL @RW0 → CALL @@RW0
128
8.24 CALLV (Call Vectored Subroutine)
● 実行例
表 8.24-1
XX の説明を訂正。
( 注意事項 ) PCB レジスタ値は XX に設定されます。→
*:XX はプログラムカウンタバンクレジスタ (PCB) の値に
置き換えられます。
132
8.27 CMP (Compare Byte Data of Des- 「● バイト数 , サイクル数」の表を訂正。
tination and Source)
第 1 オペランド : AH → A
● バイト数 , サイクル数
第 2 オペランド : AL → ―
146
8.35 DIV (Divide Word Data by Byte
Data)
オーバフロー発生時の説明文を訂正。
AL の内容は壊れます → AL の内容は不定です
147
● 実行例
Example の図を訂正。
EC D8 → 00 C7
148
8.36 DIVW (Divide Long Word Data
by Word Data)
オーバフロー発生時の説明文を訂正。
AL の内容は壊れます → AL の内容は不定です
157
8.41 EXTW (Sign Extend from Word
Data to Long Word Data)
● オペレーション
説明の訂正。
A の bit16 ∼ bit31 → AH
207
8.68 MOVB (Move Bit Data from Bit
Address to Accumulator)
サマリ文に以下の記述を追加。
AH に AL の値が転送されます。
211
8.70 MOVEA (Move Effective
Address to Destination)
● アセンブラ形式
オペランドを訂正。
<destination> → A
<destination> → RWi
223
8.77 MOVSWD (Move String Word
with Decrement)
命令名称を訂正。
MOVSWI → MOVSWD
● アセンブラ形式
命令名称を訂正。
MOVSWI → MOVSWD
235
8.84 MOVX (Move Byte Data with
Sign Extension from Source to
Accumulator)
● バイト数 , サイクル数
"MOVX A,Ri" 命令のバイト数を訂正。
2→1
248
8.93 NEG (Negate Byte Data of Destination)
サマリ文を訂正。
A の bit8 ∼ bit15 → AL の上位バイト
xii
ページ
変更内容 ( 詳細は本文を参照してください。)
268
8.104 POPW (Pop Word Data of Accumulator from Stack Memory)
サマリ文を訂正。
アキュムレータ (A) の bit16 ∼ 31 → AH
アキュムレータ (A) の bit0 ∼ 15 → AL
293
8.116 SCEQ, SCEQI (Scan String Byte
until equal with Increment)
● アセンブラ形式
以下の記述を削除。
( アドレスインクリメント時 )
295
8.117 SCEQD (Scan String Byte until
equal with Decrement)
● アセンブラ形式
以下の記述を削除。
( アドレスデクリメント時 )
302
8.121 SUB (Subtract Byte Data of
Source from Destination to Destination)
サマリ文を訂正。
A の bit8 ∼ bit15 → AL の上位バイト
304
8.122 SUBC (Subtract Byte Data of
AL from AH with Carry to AL)
サマリ文を訂正。
アキュムレータ (A) の bit8 ∼ bit15 → AL の上位バイト
305
8.123 SUBC (Subtract Byte Data of
Effective Address from Accumulator with Carry to Accumulator)
サマリ文を訂正。
A の bit8 ∼ bit15 → AL の上位バイト
309
8.125 SUBDC (Subtract Decimal Data
of AL from AH with Carry to
AL)
サマリ文を訂正。
A の bit8 ∼ bit15 → AL の上位バイト
315
8.129 SWAP (Swap Byte Data of
Accumulator)
● オペレーション
「● オペレーション」の書き方を変更。
316
8.130 SWAPW (Swap Word Data of
Accumulator)
● オペレーション
「● オペレーション」の書き方を変更。
320
8.133 XCH (Exchange Byte Data of
Source to Destination)
● オペレーション
「● オペレーション」の書き方を変更。
322
8.134 XCHW (Exchange Word Data of
Source to Destination)
● オペレーション
「● オペレーション」の書き方を変更。
331
8.139 ZEXT (Zero Extend from Byte
Data to Word Data)
サマリ文を訂正。
アキュムレータ (A) の bit8 ∼ bit15 → AL の上位バイト
● オペレーション
説明を訂正。
A の bit8 ∼ bit15 → AL[15:8]
8.140 ZEXTW (Zero Extend from
Word Data to Long Word Data)
サマリ文を訂正。
アキュムレータ (A) の bit16 ∼ bit31 → AH
● オペレーション
説明を訂正。
A の bit16 ∼ bit31 → AH
付録
付録 B 命令一覧表 (351 命令 )
表 B-1
"MOVX A,Ri" 命令のバイト数 ( # ) を訂正。
2→1
332
340
xiii
ページ
351
変更内容 ( 詳細は本文を参照してください。)
表 B-12
表タイトルを訂正。
分岐アドレス 2 → 分岐命令 2
注記を訂正。
RP が安定している場合 → RP が変化しない場合
352
表 B-13
注記を訂正。
RP が安定している場合 → RP が変化しない場合
353
表 B-14
表タイトルを訂正。
28 命令 → 21 命令
MOVB 命令のオペランドを訂正。
MOVB addr16:bp → MOVB addr16:bp, A
注記を訂正。
ビットが既に設定されていれば →
ビットが既にセットされていれば
変更箇所は , 本文中のページ左側の│によって示しています。
xiv
第1章
CPU
この章では,F2MC-16FX CPU コアの概要と構成
例について説明します。
1.1 CPU の概要
1.2 構成例
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
1
第 1 章 CPU
1.1 CPU の概要
1.1
F2MC-16FX ファミリ
CPU の概要
F2MC-16FX CPU コアは , 民生用・車載用機器などの高速リアルタイム処理が要求さ
れる用途向けに設計された 16 ビット CPU です。F2MC-16FX の命令体系はコント
ローラ用途向けに設計されており , 高速・高効率な制御処理が可能です。
■ CPU の概要
F2MC-16FX CPU コアは , 16 ビットデータ処理はもちろん , 内部に 32 ビットアキュム
レータを搭載しているため , 32 ビットデータ処理も可能です。ただし , 32 ビットデー
タが処理可能なのは一部の命令です。メモリ空間は最大 16M バイトで , リニア方式お
よびバンク方式のいずれかにてアクセス可能です。命令体系は , F2MC-16LX と互換性
があります。また , 高水準言語に対応しており , アドレッシングモード , 乗除算命令 ,
およびビット処理が充実しています。次に , F2MC-16FX CPU の特長を示します。
● 高速実行
• 最小命令実行時間 16 ns ( 内部 64 MHz 動作時 )
• 基本命令は 1 サイクルで実行
• 5 段パイプラインによる高速処理
• 8 バイトの命令キュー
● 汎用レジスタ : 32 バンク× 8 ワード× 16 ビット
● メモリ空間 : 16M バイト , リニアまたはバンク方式にてアクセス
● コントローラ用途向けに最適化された命令体系
• 高いコード効率
• 豊富なデータタイプ : ビット , バイト , ワード , ロングワード
• 拡張アドレッシングモード : 23 種類
• 32 ビットアキュムレータによる高精度演算 (32 ビット長 )
• 符号付きおよび符号なし乗除算命令
● 強力な割込み機能
• 高速応答速度 ( 約 10 クロックサイクル (CLKB))
• 8 つのプライオリティレベル ( プログラマブル )
• ノンマスカブルインタラプト (NMI)
• DMA 転送により , CPU を使わずに割込み要求を処理可能 ( 最高 16 チャネル )
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 1 章 CPU
1.1 CPU の概要
● 高水準言語 (C 言語 )/ マルチタスク処理に対応した命令体系
• システムスタックポインタ
• 命令体系の対称性
• バレルシフト命令
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
3
第 1 章 CPU
1.2 構成例
1.2
F2MC-16FX ファミリ
構成例
F2MC-16FX CPU および MCU デバイスの構成例を示します。
■ F2MC-16FX CPU のハードウェア構造
● F2MC-16FX CPU のブロックダイヤグラムを図 1.2-1 に示します。
図 1.2-1 F2MC-16FX CPU のブロックダイヤグラム
命令キュー
フェッチステージ
デコードステージ 1
アドレスのデコード操作
デコードステージ 2
データのデコード操作
F2MC−16FX CPU
プログラムカウンタ
PCB, PC
実行ステージ
ライトバック
ステージ
ALU
プロセッサステータス
アキュムレータ
PS
AH, AL
スタックポインタ
汎用レジスタ
USP, SSP
Ri, RWi, RLi
バンクレジスタ
ダイレクトページレジスタ
USB, SSB, DTB, ADB
DPR
● CPU パイプラインの動作
CPU には 5 段の命令パイプラインが採用されており , ほとんどの命令を 1 クロック周
期で実行することができます。パイプラインは以下のステージから構成されています。
• 命令フェッチ (IF)
: 命令キューから命令をフェッチします。
• 命令デコード 1 (D1): 命令をデコードして, アドレス演算についての制御を行います。
• 命令デコード 2 (D2): 命令をデコードして , オペランドおよびデータ演算の選択を行
います。
• 実行 (EX)
: 演算を実行します。
• ライトバック (WB) : 演算結果をレジスタまたはメモリ位置に書き込みます。
4
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 1 章 CPU
1.2 構成例
F2MC-16FX ファミリ
図 1.2-2 命令パイプライン
CLK
命令 1
WB
命令 2
EX
WB
命令 3
D2
EX
WB
命令 4
D1
D2
EX
WB
命令 5
IF
D1
D2
EX
WB
IF
D1
D2
EX
命令 6
WB
命令の実行順序が入れ替わることはありません。つまり , 命令 A が命令 B の前にパイ
プラインに入ると , 命令 A は必ず命令 B の前にライトバックステージに達します。
命令の実行速度は , 原則として 1 サイクルあたり 1 命令です。ただし , メモリ待ちを伴
う転送系命令 , 分岐系命令 , および複数サイクル命令の場合 , 命令の実行に複数のサイ
クルが必要となります。また , コードフェッチ中の命令供給が遅い場合にも命令の実行
速度が低下します。
● 命令キュー
CPU には 8 バイトの命令キューがあります。
命令キューには , フェッチユニットから命令が送られます。連続アドレスのコード
フェッチにはプリフェッチが使用されます。このプリフェッチの使用により , CPU と
F2MC-16FX コアの間のパイプライン実装で発生する待ち時間の問題が解消されていま
す。
● プログラムカウンタ
プログラムカウンタバンク (PCB, プログラムアドレスの上位 8 ビット ) およびプログ
ラムカウンタ (PC, プログラムアドレスの下位 16 ビット ) は , デコードステージ 1 に
よって制御されます。
プログラムカウンタバンクとプログラムカウンタを連結した 24 ビットアドレス {PCB,
PC} によって次に実行される命令が指定されます。
● ALU
ALU は , デコードステージ 2 によって制御されます。このステージで , ALU の演算モー
ドが選択され , オペランドが読み出されます。実際の演算は次のサイクルで実行されま
す。
ALU は , 論理演算および算術演算 ( 乗除算を含む ) に使用します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
5
第 1 章 CPU
1.2 構成例
F2MC-16FX ファミリ
● CPU レジスタとメモリアクセス
ライトバックステージでは , 演算の結果が CPU レジスタやメモリ領域に書き込まれま
す。プログラムカウンタを除き , CPU レジスタはすべてこのパイプライン最終ステー
ジに割り当てられます。
■ F2MC-16FX ファミリ MCU のハードウェア構造例
F2MC-16FX CPU をベースにした MCU デバイスのハードウェア構造例を図 1.2-3 に示
します。
図 1.2-3 F2MC-16FX コアをベースにした MCU デバイス
ユーザポート
F2MC−16FX
ブートROM
CPU
割込み
ROM
コントローラ
(プログラム領域)
RAM
(データ領域)
クロックと
モード
コントロール
16FX コアバス
DMA
コントローラ
タイマ
シリアル
A/Dコンバータ
周辺バスブリッジ
周辺バス1
CAN
外部バス
周辺バスブリッジ
インタフェース
周辺バス2
F2MC−16FX コア
MCU デバイス
● 割込みコントローラ
割込みコントローラは , 入力される割込み要求 (IRQ) の優先度を評価し , 最も高い優先
度の割込み番号を選択します。割込みが認められると , 選択された割込みサービスが
CPU によって処理されます。各ハードウェア IRQ には , 優先度を制御するための割込
みレベルレジスタがあります。
6
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 1 章 CPU
1.2 構成例
● DMA コントローラ
DMA コントローラは , CPU が現在実行しているプログラムを中断することなく IRQ を
処理することもできます。これにより , リソースとメモリ間のデータ転送を自動化する
こともできます。
デバイスによって , 16 までの DMA チャネルを使用することができます。各 DMA チャ
ネルでは実行する IRQ 番号を選択できます。
● クロックとモード制御
このユニットは , 動作モードを制御し , デバイスが正確に動作しているかを監視しま
す。また , すべてのユニットに対して , それぞれの動作モードに合わせて適切なクロッ
クを提供します。
● 外部バスインタフェース
外部バスインタフェースはオプションです。使用可能かどうかはデバイスの構成によ
ります。
● ブート ROM
リセットによるデバイス初期化の後 , プログラムカウンタはブート ROM を指し示しま
す。そして , CPU は , ブート ROM プログラムの実行を開始します。デバイスが初期化
された後に , リセットベクタがフェッチされて , ブート ROM のコードはリセットベク
タから始まるユーザプログラムの実行に分岐します。
● 周辺バスブリッジ
周辺バスブリッジは , 16FX コアのシステムバスと周辺バス間のインタフェースとなり
ます。この周辺バスは , MCU 内部のすべての周辺リソースを接続しています。
周辺バスブリッジは , コアクロックと周辺クロックドメインを同期させます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
7
第 1 章 CPU
1.2 構成例
8
F2MC-16FX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第2章
メモリ空間
F2MC-16FX CPU のメモリ空間について説明しま
す。
2.1 CPU のメモリ空間
2.2 リニア方式のアドレス指定
2.3 バンク方式のアドレス指定
2.4 バンクに分割されたメモリ空間と各バンクレジスタの値
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
9
第 2 章 メモリ空間
2.1 CPU のメモリ空間
2.1
F2MC-16FX ファミリ
CPU のメモリ空間
CPU の管理するすべてのデータ , プログラム , I/O 領域は , CPU の持つ 16M バイト
のメモリ空間に配置されます。CPU は 24 ビットのアドレスバスでアドレスを指し
示すことにより , これらのリソースをアクセスできます ( 図 2.1-1 参照 )。
F2MC-16FX のアドレス指定方式は , リニア方式とバンク方式の 2 つに分けることが
できます。リニア方式では , 24 ビットアドレスすべてを命令により指定します。バ
ンク方式では , 上位 8 ビットアドレスを用途に応じたバンクレジスタにより指定し ,
残りの下位 16 ビットアドレスを命令により指定します。
■ CPU のメモリ空間
図 2.1-1 F2MC-16FX システムとメモリマップの関係例
FFFFFFH
プログラム
プログラム領域
FF8000 H
F 2 MC-16FX
データ
CPU
810000 H
データ領域
割込み
800000 H
周辺回路
0000C0 H
割込み
コントローラ
0000B0 H
汎用ポート
〔デバイス〕
周辺回路
000020 H
汎用ポート
000000 H
10
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
2.2
第 2 章 メモリ空間
2.2 リニア方式のアドレス指定
リニア方式のアドレス指定
F2MC-16FX のリニア方式のアドレス指定は , 24 ビットアドレスすべてを命令によ
り指定します。
■ リニア方式のアドレス指定
F2MC-16FX のアドレス形式は , 命令の実効アドレス指定または命令コード自体 ( イン
プライド ) で決定されます。リニア方式のアドレス指定は , 2 つの方法で使用できます。
ひとつの方法は , 命令のオペランドで直接 24 ビットのアドレスを指定します。もうひ
とつの方法は , 32 ビットの汎用レジスタの下位 24 ビットがアドレスとして参照される
方法です。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
11
第 2 章 メモリ空間
2.2 リニア方式のアドレス指定
F2MC-16FX ファミリ
図 2.2-1 リニア方式のアドレス生成例
(例1)リニア方式の 24ビットオペランド指定
JMPP 123456H
17452D H
旧プログラムカウンタ
17
452D
JMPP 123456H
+プログラムバンク
123456 H
新プログラムカウンタ
12
次の命令
3456
+プログラムバンク
(例2)リニア方式の 32ビットレジスタ間接指定
MOV
A,@RL1+7
旧AL
XXXX
090700 H
3A
+7
RL1
240906F9
(上位8ビットは無視)
新AL
12
003A
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 2 章 メモリ空間
2.3 バンク方式のアドレス指定
F2MC-16FX ファミリ
2.3
バンク方式のアドレス指定
F2MC-16FX のバンク方式のアドレス指定は , アドレスの上位 8 ビットを用途に応じ
たバンクレジスタにより指定し , 残りの下位 16 ビットを命令により指定します。
■ バンク方式のアドレス指定
バンク方式のアドレス指定では , 16M バイトのメモリ空間が 64K バイトごとの 256 個
のバンクに分割されており, 以下に示す4 つのバンクレジスタで各空間に対応するバン
クを指定します。
● プログラムカウンタバンクレジスタ (PCB)
PCB レジスタによって指定される 64K バイトのバンクをプログラム (PC) 空間とよびま
す。PC 空間は , 主に命令コードやベクタテーブル , 即値データなどを保持するのに使
用されます。
● データバンクレジスタ (DTB)
DTB レジスタによって指定される 64K バイトのバンクをデータ (DT) 空間とよびます。
DT 空間は , 主に読み書き可能なデータや内外リソースの制御レジスタ / データレジス
タを保持するのに使用されます。
● ユーザスタックバンクレジスタ (USB), システムスタックバンクレジスタ (SSB)
USB レジスタあるいは SSB レジスタによって指定される 64K バイトのバンクをスタッ
ク (SP) 空間とよびます。SP 空間は , プッシュ命令またはポップ命令の実行 , および割
込み処理によるレジスタ退避やスタックアクセスが起きたときにアクセスされます。
USB レジスタと SSB レジスタのどちらが使用されるかは , コンディションコードレジ
スタ (CCR) 中のスタックフラグ (S) の値に依存します。
● アディショナルデータバンクレジスタ (ADB)
ADB レジスタによって指定される 64K バイトのバンクをアディショナル (AD) 空間と
よびます。AD 空間は , 主に DT 空間に入りきらなかったデータを保持するのに使用さ
れます。命令のコード効率を向上させるために , 各命令はアドレス指定方式ごとに表
2.3-1 に示すデフォルト空間が割り当てられています。
表 2.3-1 デフォルト空間
デフォルト空間
CM44-00203-3
アドレス指定
プログラム空間
PC 間接 , プログラムアクセス , 分岐系
データ空間
@RW0,@RW1,@RW4,@RW5 を用いたアドレス指定 ,
@A,addr16,dir
スタック空間
PUSHW, POPW,@RW3,@RW7,@SP を用いたアドレス指定
アディショナル空間
@RW2,@RW6 を用いたアドレス指定
FUJITSU MICROELECTRONICS LIMITED
13
第 2 章 メモリ空間
2.3 バンク方式のアドレス指定
F2MC-16FX ファミリ
デフォルト以外の空間を使用するときは , プリフィックスコード ( 前置記号 ) を命令に
先行して指定することにより,そのプリフィックスコードに対応した任意のバンク空間
をアクセスできます。
バンクセレクトプリフィックスとそれにより選択されるメモリ空間を表 2.3-2 に示し
ます。
表 2.3-2 バンクセレクトプリフィックス
バンクセレクトプリフィックス
選択される空間
PCB
プログラム空間
DTB
データ空間
ADB
アディショナル空間
SPB
選択したときのスタックフラグ (S) の内容に
よりシステムスタック空間 , ユーザスタック
空間のどちらかが用いられます。
DTB レジスタ , USB レジスタ , SSB レジスタ , ADB レジスタは , リセットにより 00H
に初期化されます。PCB レジスタは FFH に初期化されます。リセット後 , データ空間 ,
スタック空間およびアディショナル空間は , バンク 00H(000000H ∼ 00FFFFH) に配置さ
れ , プログラム空間は , バンク FFH(FF0000H ∼ FFFFFFH) に配置されます。
14
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 2 章 メモリ空間
2.4 バンクに分割されたメモリ空間と各バンクレジスタの値
バンクに分割されたメモリ空間と各バンクレジスタの値
2.4
図 2.4-1 にバンクに分割されたメモリ空間と各レジスタバンクの例を示します。
■ バンクに分割されたメモリ空間と各バンクレジスタの値
図 2.4-1 各空間の物理アドレスの例
FFFFFF H
プログラム空間
FF0000H
FF H
: PCB (プログラムカウンタバンクレジスタ)
B3 H
: ADB (アディショナルデータバンクレジスタ)
92 H
: USB (ユーザスタックバンクレジスタ)
68 H
: DTB (データバンクレジスタ)
4B H
: SSB (システムスタックバンクレジスタ)
物
B3FFFF H
アディショナル
空間
理
B30000 H
ア 92FFFF H
ユーザスタック
空間
920000 H
ド
68FFFF H
レ
データ空間
680000 H
ス
4BFFFF H
4B0000 H
システム
スタック
空間
000000 H
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
15
第 2 章 メモリ空間
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
2.5
F2MC-16FX ファミリ
多バイト長データのメモリ上でのデータ構成とアクセス
多バイト長データは , 下位アドレスから順にメモリへ書き込まれます。多バイト長
データが 32 ビット長であれば , 下位 16 ビットが先に , 次に上位 16 ビットがメモリ
に書き込まれます。
■ メモリ空間における多バイト長データの配置
多バイト長データは , 下位アドレスから順にメモリへ書き込まれます。多バイト長デー
タが 32 ビット長であれば , 下位 16 ビットが先に , 次に上位 16 ビットがメモリに書き
込まれます。
また , 下位データのメモリへの書込み直後にリセット信号が入力されると , 上位データ
が書き込まれないことがあります。データを正しく保持するためには , 上位データの書
込みが終わった後にリセット信号を入力する必要があります。
図 2.5-1 に多バイト長データのメモリ上での配置を示します。データは下位 8 ビット
が n 番地に , 次の下位 8 ビットが n+1 番地に , そしてその次の下位 8 ビットが n+2 番
地に , の順に配置されます。
図 2.5-1 多バイト長データのメモリ上での配置
MSB
01010101
H
LSB
11001100
11111111
00010100
↑
01010101
11001100
11111111
n番地
00010100
↓
L
16
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 2 章 メモリ空間
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
■ 多バイト長データのアクセス
多バイト長データのアクセスは , すべてデータがバンク内であることを想定して行わ
れます。別の言い方をすると , 多バイト長のデータをアクセスする命令は , FFFFH 番地
の次のアドレスは同じバンクの 0000H 番地とみなします。
図 2.5-2 に , 多バイト長データのアクセス命令の実行例を示します。
図 2.5-2 多バイト長データのアクセス命令 (MOVW A,080FFFFH) の実行例
上位
↑
実行前のAL
80FFFF H
?
?
?
?
01H
・
・
・
実行後のAL
800000 H
23 H
01H
23 H
↓
下位
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
17
第 2 章 メモリ空間
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
18
F2MC-16FX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第3章
専用レジスタ
F2MC-16FX CPU のレジスタには , 専用レジスタと
汎用レジスタの 2 種類があります。
F2MC-16FX CPU の専用レジスタについて説明し
ます。専用レジスタは , CPU 内に内蔵されている
専用ハードウェアで , 用途が CPU のアーキテク
チャ上で限定されているものです。これらのレジ
スタは , アドレスを使用せずにアクセスすることが
できます。レジスタの動作は , 専用の命令によって
規定します。
3.1 専用レジスタの構成
3.2 アキュムレータ (A)
3.3 ユーザスタックポインタ (USP) とシステムスタックポイ
ンタ (SSP)
3.4 プロセッサステータス (PS)
3.5 プログラムカウンタ (PC)
3.6 ダイレクトページレジスタ (DPR)
3.7 バンクレジスタ (PCB, DTB, ADB, USB, SSB)
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
19
第 3 章 専用レジスタ
3.1 専用レジスタの構成
3.1
F2MC-16FX ファミリ
専用レジスタの構成
F2MC-16FX CPU には以下の専用レジスタがあります。
• アキュムレータ (A=AH:AL):
2 本の 16 ビットアキュムレータ
( 合計 32 ビットのアキュムレータとしても使用可能 )
• ユーザスタックポインタ (USP):
16 ビットのユーザスタックポインタ
• システムスタックポインタ (SSP):
16 ビットのシステムスタックポインタ
• プロセッサステータス (PS):
システムの状態を示す 16 ビットのレジスタ
• プログラムカウンタ (PC):
次に実行される命令のアドレスを格納する 16 ビットのレジスタ
• プログラムカウンタバンクレジスタ (PCB):
プログラムバンクを示す 8 ビットのレジスタ
• データバンクレジスタ (DTB):
データバンクを示す 8 ビットのレジスタ
• ユーザスタックバンクレジスタ (USB):
ユーザスタックバンクを示す 8 ビットのレジスタ
• システムスタックバンクレジスタ (SSB):
システムスタックバンクを示す 8 ビットのレジスタ
• アディショナルデータバンクレジスタ (ADB):
アディショナルデータバンクを示す 8 ビットのレジスタ
• ダイレクトページレジスタ (DPR):
ダイレクトアクセスするページを示す 8 ビットのレジスタ
20
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 3 章 専用レジスタ
3.1 専用レジスタの構成
F2MC-16FX ファミリ
図 3.1-1 に , 専用レジスタの構成を示します。
図 3.1-1 専用レジスタ
AH
AL
アキュムレータ
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザスタックバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8 ビット
16 ビット
32 ビット
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
21
第 3 章 専用レジスタ
3.2 アキュムレータ (A)
3.2
F2MC-16FX ファミリ
アキュムレータ (A)
アキュムレータ (A) は , 2 つの 16 ビット算術演算レジスタ (AH および AL) から構成
されています。アキュムレータ (A) は , 演算結果やデータ転送の一時記憶に使用され
ます。
■ アキュムレータ (A)
アキュムレータ (A) は , 2 つの 16 ビット算術演算レジスタ (AH および AL) から構成さ
れています。アキュムレータ (A) は , 演算結果やデータ転送の一時記憶に使用されま
す。32 ビットデータ処理時は , AH と AL を連結して使用します。16 ビットデータ処
理モードのワード処理や 8 ビットデータ処理モードのバイト処理のときは AL のみが
使用されます ( 図 3.2-1 および図 3.2-2 を参照してください ) 。
アキュムレータ (A) 中のデータは , メモリまたはレジスタ (Ri, RWi, RLi) 中のデータと
各種演算ができます。また , F2MC-16LX のときと同様 , ワード長以下のデータを AL へ
転送すると , 転送前の AL のデータが自動的に AH に転送されます ( データ保持機能 )。
このデータ保持機能と AL-AH 間演算により , 処理効率の向上が可能になっています。
バイト長以下のデータを AL に転送する際は , データは符号拡張またはゼロ拡張されて
16 ビット長として AL に格納されます。AL のデータは , ワード長としてもバイト長と
しても扱えます。
AL にバイト処理の算術演算命令を実行すると , 演算前の AL の上位 8 ビットは無視さ
れます。演算後の上位 8 ビットはすべて "0" になります。
アキュムレータ (A) はリセットでは初期化されません。リセット直後は不定値になり
ます。
22
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 3 章 専用レジスタ
3.2 アキュムレータ (A)
F2MC-16FX ファミリ
図 3.2-1 32 ビットデータ転送の例
直前の内容
A レジスタ
LSB
MSB
MOVL A, @RW1+6
XXXXH
XXXXH
DTB
A6H
A61540H
8FH
74H
A6153EH
2BH
52H
RW1
15H
38H
+6
最新の内容
A レジスタ
8F74H
2B52H
AH
AL
図 3.2-2 データ保持機能を使った AL-AH 転送の例
MSB
MOVW A, @RW1+6
直前の内容
A レジスタ
XXXXH
1234H
DTB
LSB
A61540H
8FH
74H
A6153EH
2BH
52H
RW1
15H
38H
A6H
+6
最新の内容
A レジスタ
CM44-00203-3
1234H
2B52H
AH
AL
FUJITSU MICROELECTRONICS LIMITED
23
第 3 章 専用レジスタ
3.3 ユーザスタックポインタ (USP) とシステムスタックポイン
タ (SSP)
3.3
F2MC-16FX ファミリ
ユーザスタックポインタ (USP) とシステムスタックポ
インタ (SSP)
USP および SSP は , プッシュ / ポップ命令およびサブルーチン実行時のデータ退避 /
復帰のメモリアドレスを示す 16 ビットレジスタです。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
USP および SSP は , プッシュ/ ポップ命令およびサブルーチン実行時のデータ退避 / 復
帰のメモリアドレスを示す 16 ビットのレジスタです。USP および SSP レジスタはス
タック命令で使用します。
プロセッサステータス (PS) 中のスタックフラグ (S) が "0" のときは USP レジスタが有
効になり , S フラグが "1" のときは SSP レジスタが有効になります ( 図 3.3-1 を参照 )。
また , 割込みが受け付けられると S フラグがセットされるため , 割込み時のレジスタ退
避は必ず SSP の示すメモリ領域で行われます。割込みルーチンでのスタック処理は SSP
で , 割込みルーチン以外のスタック処理は USP が用いられます。スタック空間を分け
ない場合は SSP だけをお使いください。
スタック時のアドレスの上位 8 ビットは , SSP レジスタの場合はシステムスタックバン
クレジスタ (SSB), USP レジスタの場合はユーザスタックバンクレジスタ (USB) により
示されます。
USP レジスタおよび SSP レジスタはリセットでは初期化されません。これらのレジス
タ値は不定になります。
24
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 3 章 専用レジスタ
3.3 ユーザスタックポインタ (USP) とシステムスタックポイン
タ (SSP)
図 3.3-1 スタック操作命令とスタックポインタ
F2MC-16FX ファミリ
例1:Sフラグが"0"のときのPUSHW A
実行前
AL
S フラグ
実行後
AL
MSB
C6F326 H
LSB
A624 H
USB
C6 H
USP
F328 H
0
SSB
56 H
SSP
1234 H
A624 H
USB
C6 H
USP
F326 H
0
SSB
56 H
SSP
1234 H
C6F326 H
A6 H
24 H
561232 H
XX
XX
561232 H
A6 H
24 H
XX
XX
Sフラグが"0"であるため
ユーザスタックを使用
例2:Sフラグが"1"のときのPUSHW A
AL
AL
A624 H
USB
C6 H
USP
F328 H
1
SSB
56 H
SSP
1234 H
A624 H
USB
C6 H
USP
F328 H
1
SSB
56 H
SSP
1232 H
Sフラグが"1"であるため
システムスタックを使用
<注意事項>
スタックポインタに設定するアドレスは , 原則として偶数アドレスを使用してください。
奇数アドレスを使うとスタック動作のパフォーマンス低下の原因となります。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
25
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
3.4
F2MC-16FX ファミリ
プロセッサステータス (PS)
プロセッサステータス (PS) は , CPU の動作制御を行うビットと CPU の状態を示す
ビットより構成されています。
■ プロセッサステータス (PS)
図 3.4-1 に示すように , プロセッサステータス (PS) の上位バイトはレジスタバンクポイ
ンタ (RP) と割込みレベルマスク (ILM) より構成されます。RP レジスタは , レジスタバ
ンクの先頭アドレスを示します。PS レジスタの下位バイトは命令実行結果および割込
み発生などによりセット / リセットされる各種フラグを持つコンディションコードレ
ジスタ (CCR) より構成されます。
図 3.4-1 プロセッサステータス (PS) の構造
bit 15
PS
26
13
ILM
12
8
RP
7
0
CCR
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
F2MC-16FX ファミリ
■ コンディションコードレジスタ (CCR)
図 3.4-2 に , コンディションコードレジスタ (CCR) の構成図を示します。
図 3.4-2 コンディションコードレジスタ (CCR) の構成
bit
7
6
5
4
3
2
1
0
P
I
S
T
N
Z
V
C
PS: CCR
0
0
1
0
0
0
0
0
リセット後の初期値
1
0
1
X
X
X
X
X
ブートROM実行後の値
● P: 特権モードフラグ
特権モードフラグ (P) は , CPU の状態がユーザーモードか特権モードかを示します。P
フラグが "1" のとき , CPU はユーザモードです。P フラグが "0" のとき , CPU はシステ
ムモードです。
P フラグはリセットによってクリアされます。しかしながら , ブート ROM コードの実
行中にセットされます。
P フラグをクリアして , ほかのすべてのハードウェア割込みを無効にすることができる
のは , NMI, HW-INT9 (EDSU) および DSU 割込みだけです。P フラグがクリアされた場
合 , 割込みレベルマスク (ILM) が特権モード (P0 ∼ P7) のシステムインタラプトレベル
を決定します。これらの割込みレベルは , ユーザモード (U0 ∼ U7) のどの ILM レジス
タの設定よりも優先度が高くなります。
P フラグは , 専用の命令 (OR CCR, #imm8 / POPW PS) またはプロセッサステータスの復
帰命令 (RETI / JCTX @A) によってセットすることができます。P フラグが "1" になっ
ている場合は , 特権モード (P=0) への復帰は受け付けられません。
● I: 割込み許可フラグ
ソフトウェア割込み以外の割込みに対し , I フラグに "1" が設定されている場合は割込
みが許可され , I フラグが "0" の場合は割込みが禁止されます。I フラグはリセットに
よってクリアされます。
● S: スタックフラグ
S フラグが "0" の場合は , ユーザスタックポインタ (USP) が有効になります。S フラグ
が "1" の場合は , システムスタックポインタ (SSP) が有効になります。S フラグは , 割
込みが受け付けられた場合 , またはリセットされた場合にセットされます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
27
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
F2MC-16FX ファミリ
● T: スティッキィビットフラグ
論理右シフト命令または算術右シフト命令を実行した場合に , キャリからシフトアウ
トされたデータに 1 つ以上 "1" があれば T フラグに "1" が設定され , "1" がなければ "0"
が設定されます。また , T フラグはシフト量がゼロの場合でも "0" に設定されます。
● N: ネガティブフラグ
N フラグは , 演算結果の MSB が "1" の場合にセットされ , "0" の場合はクリアされます。
● Z: ゼロフラグ
Z フラグは , 演算結果がすべて "0" の場合にセットされ , それ以外の場合はクリアされ
ます。
● V: オーバフローフラグ
Vフラグは, 演算の実行で符号付き数値としてオーバフローが発生した場合にセットさ
れ , オーバフローが発生しなかった場合はクリアされます。
● C: キャリフラグ
C フラグは , 演算の実行で MSB からの桁上り ( キャリー ) または LSB からの桁下り
( ボロー ) が発生した場合にセットされ , 発生しなかった場合はクリアされます。
■ レジスタバンクポインタ (RP)
RP レジスタは , 汎用レジスタと内部 RAM アドレスとの関係を示します。具体的には ,
RP レジスタは現在使用しているレジスタバンクの先頭メモリアドレスを次の変換式
[00180H + (RP) × 10H] を使って示します。
RP レジスタは 5 ビットで構成され , 00H ∼ 1FH
の値をとります。レジスタバンクは , メモリ中の 000180H ∼ 00037FH 番地に割り当て
ることができます。
図 3.4-3 レジスタバンクポインタ (RP)
bit
15
14
13
12
11
10
9
8
B4
B3
B2
B1
B0
0
0
0
0
0
RP
初期値
RP レジスタはリセットによりすべて "0" に初期化されます。命令上では RP レジスタ
に 8 ビットの即値が転送できますが , 実際に使用されるのはそのデータの下位 5 ビット
のみです。
28
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
F2MC-16FX ファミリ
■ 割込みレベルマスク (ILM)
割込みレベルマスク (ILM) は 3 ビットで構成されており , CPU の割込みマスクのレベ
ルを示します。割込み要求は , ILM レジスタおよび特権モードフラグ (P) で示されるレ
ベルよりもレベルの高いものだけが受け付けられます。
割込みの優先度が最も高いのが "P0" で , 最も低いものが "U7" になります。したがって ,
割込みが受け付けられるには , 現状の ILM レジスタの値より小さい値の要求でなけれ
ばなりません ( 図 3.4-4 を参照 )。また , P フラグについても考慮する必要があります。
割込みが受け付けられると , その割込みのレベル値が P フラグと ILM レジスタにセッ
トされます。そして , これ以降の同じレベルおよびそれより優先順位の低い割込みは受
け付けられなくなります。
図 3.4-4 割込みレベルマスク (ILM)
bit
15
14
13
ILM2
ILM1
ILM0
12
11
10
9
8
PS: ILM
1
0
0
リセット後の初期値
0
0
0
ブートROM実行後の値
ILM レジスタはリセットにより 100B に初期化されます。しかしながら , ブート ROM
プログラムの実行中に ILM レジスタは 000B に設定されます。
命令上では ILM レジスタに 8 ビットの即値が転送できますが , 実際に使用されるのは
そのデータの下位 3 ビットのみです (MOV ILM, #imm8 / POPW PS / RETI / JCTX @A)。
CPU がユーザモード (P=1) の場合 , ILM レジスタにはどのような変更でも加えること
ができます。CPU が特権モード (P=0) の場合 , 新しい値をユーザレベル U0 ∼ U7 (P=1
で ) に設定する場合 , または特権レベル (P0 ∼ P7) を上げる場合にのみ , ILM レジスタ
への変更が受け付けられます。より低いレベルの特権モードへ , P0 ∼ P7 の上位レベル
から命令実行で到達することはできません。P フラグに "0" を書き込んで , P=0 の状態
でレベルを下げることができるのは , NMI, HW-INT9 および DSU 割込みだけです。
<注意事項>
特権モードフラグ (P) は ILM の拡張ビットと考えることができます。そのため P フラグ
は , 割込みレベルマスク {P, ILM} の最上位ビットを定義します。
リセットによる初期化の後 , CPU はレベル P4 になります。これにより , DSU を除くす
べての割込み (NMI を含む ) が無効になります。ブート ROM プログラムの実行後 , CPU
はレベル U0 になります。周辺割込みは無効になります。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
29
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
F2MC-16FX ファミリ
P0 ∼ P7 のすべての特権モードレベルはロックされ , 命令によってレベルを入力したり
下げたりできなくなります。つまり , P0 ∼ P7 のレベルは上げることしかできません。
これにより , HW-INT9, NMI および DSU 操作が保護されます。DSU だけが , デバッグ
セッション中に NMI に割り込むことができ , NMI の受付けをマスクできます。
ユーザレベル U0 ∼ U7 は , F2MC-16LX の割込みレベル 0 ∼ 7 と下位互換性がありま
す。P フラグは , ユーザレベルでは書き込めません。
表 3.4-1 特権モードフラグ (P) および割込みレベルマスク (ILM) により示される割込みレベル
30
レベル
P フラグ
ILM の値
受付け可能な割込みレベル
P0
0
0
なし
割込み禁止
P1
0
1
レベル < P1
割込み禁止
P2
0
2
レベル < P2
割込み禁止
P3
0
3
レベル < P3
DSU
P4
0
4
レベル < P4
DSU
P5
0
5
レベル < P5
NMI, DSU
P6
0
6
レベル < P6
NMI, DSU
P7
0
7
レベル < P7
HW-INT9, NMI, DSU
U0
1
0
レベル < U0
ユーザ割込み禁止
U1
1
1
レベル < U1
ユーザレベル 0
U2
1
2
レベル < U2
ユーザレベル 0, 1
U3
1
3
レベル < U3
ユーザレベル 0 ∼ 2
U4
1
4
レベル < U4
ユーザレベル 0 ∼ 3
U5
1
5
レベル < U5
ユーザレベル 0 ∼ 4
U6
1
6
レベル < U6
ユーザレベル 0 ∼ 5
U7
1
7
レベル < U7
ユーザレベル 0 ∼ 6
FUJITSU MICROELECTRONICS LIMITED
HW-INT9,
NMI, DSU
CM44-00203-3
第 3 章 専用レジスタ
3.5 プログラムカウンタ (PC)
F2MC-16FX ファミリ
プログラムカウンタ (PC)
3.5
プログラムカウンタ (PC) は , CPU が実行する命令コードのメモリアドレスの下位
16 ビットを示す 16 ビットカウンタです。
■ プログラムカウンタ (PC)
プログラムカウンタ (PC) は , CPU が実行する命令コードのメモリアドレスの下位 16
ビットを示す 16 ビットカウンタです。アドレスの上位 8 ビットはプログラムカウンタ
バンク (PCB) で示します。
PC レジスタは , 分岐命令 , サブルーチンコール命令 , 割込み , リセットで内容が更新さ
れます。リニアプログラムセグメントの中では , PC レジスタは最後の命令のバイト数
分だけ増加します。
PCレジスタは, オペランドにアクセスする際のベースポインタとしても使用できます。
図 3.5-1 にプログラムカウンタを示します。
図 3.5-1 プログラムカウンタ
PCB
FE H
PC
ABCD H
実行される次の命令
FEABCD H
リセットアドレスは , ブート ROM プログラムの先頭アドレス 0F:FC00H に固定されて
います。リセット時 , PC レジスタは FC00H に初期化され , PCB レジスタは 0FH に初期
化されます。
外部ベクタモードでは , ブート ROM コードの実行後に , FF:FFDCH 番地のリセットベ
クタにより指定される値が , 設定されます。内部ベクタモードでは , 製品に定義されて
いる固定値が PCB レジスタと PC レジスタに設定されます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
31
第 3 章 専用レジスタ
3.6 ダイレクトページレジスタ (DPR)
3.6
F2MC-16FX ファミリ
ダイレクトページレジスタ (DPR)
ダイレクトページレジスタ (DPR) は , 直接アドレス指定方式の命令に使用されるオ
ペランドアドレスの bit8 ∼ bit15 を指定する 8 ビットレジスタです。
■ ダイレクトページレジスタ (DPR)
図 3.6-1 に示すように DPR は , 直接アドレス指定方式の命令オペランドアドレスの bit8 ∼
bit15 を指定します。
図 3.6-1 直接アドレス指定方式における物理アドレスの生成
DPR レジスタ
命令中の直接アドレス
ββββββββ
γγγγγγγγ
DTB レジスタ
αααααααα
LSB
MSB
24ビット
物理アドレス
ααααααααββββββββγγγγγγγγ
DPR レジスタは 8 ビット長で , リセットにより 01H に初期化されます。DPR レジスタ
は命令で読み書き可能です。
32
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
3.7
第 3 章 専用レジスタ
3.7 バンクレジスタ (PCB, DTB, ADB, USB, SSB)
バンクレジスタ (PCB, DTB, ADB, USB, SSB)
各バンクレジスタは , プログラム空間 , データ空間 , ユーザスタック空間 , およびア
ディショナルデータ空間に配置されるメモリバンクを示します。
■ バンクレジスタ
すべてのバンクレジスタはバイト長です。各バンクレジスタ (PCB, DTB, USP, SSP,
ADB) は , PC, DT, SP( ユーザ ), SP( システム ) または AD 空間が割り当てられるメモリ
バンクを示します。
PCB 以外のバンクレジスタは読み書き可能です。PCB は , 読出しはできますが書込み
はできません。PCB レジスタは , JMPP または CALLP 命令実行時 , 16M バイト全空間
への分岐時 , RETP または RETI 命令実行時 , および割込み時に書き換わります。
バンクレジスタの動作の詳細は , 「2.3 バンク方式のアドレス指定」を参照してくださ
い。
● プログラムカウンタバンクレジスタ (PCB)
初期値 : リセット後は 0FH, その後はユーザプログラム開始時のリセットベクタの値。
● データバンクレジスタ (DTB)
初期値 : 00H
● ユーザスタックバンクレジスタ (USB)
初期値 : 00H
● システムスタックバンクレジスタ (SSB)
初期値 : 00H
● アディショナルデータバンクレジスタ (ADB)
初期値 : 00H
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
33
第 3 章 専用レジスタ
3.7 バンクレジスタ (PCB, DTB, ADB, USB, SSB)
34
F2MC-16FX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第4章
汎用レジスタ
F2MC-16FX のレジスタは大別して CPU 内部の専
用レジスタとメモリ上にある汎用レジスタの 2 種
に分けることができます。
F2MC-16FX の汎用レジスタについて説明します。
汎用レジスタは , CPU のアドレス空間上の RAM
上に存在します。アドレスを指定しないでアクセ
スできるという点では専用レジスタと同じですが ,
通常のメモリと同様 , 使用する目的をユーザが指定
できます。
4.1 RAM 上のレジスタバンク
4.2 RAM 上の汎用レジスタの呼び出し方
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
35
第 4 章 汎用レジスタ
4.1 RAM 上のレジスタバンク
4.1
F2MC-16FX ファミリ
RAM 上のレジスタバンク
レジスタバンクは 8 ワード (16 バイト ) で構成されます。これらは , 汎用レジスタ
( バイトレジスタ R0 ∼ R7, ワードレジスタ RW0 ∼ RW7, ロングワードレジスタ
RL0 ∼ RL3)として各種演算やポインタに使用できます。RL0 ∼ RL3 は , メモリの
全空間を直接アクセスするリニアポインタとしても使用できます。
■ RAM 上のレジスタバンク
表 4.1-1 に各レジスタの機能を , 表 4.1-2 に各レジスタの関係を示します。
表 4.1-1 各レジスタの機能
レジスタ名
R0 ∼ R7
36
機能
各種命令のオペランドとして使用
( 注意事項 ) R0 はバレルシフトのカウンタおよびノーマライズ
( 正規化 ) 命令のカウンタとしても使用
RW0 ∼ RW7
ポインタとして使用
各種命令のオペランドとして使用
( 注意事項 ) RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタとして使用
各種命令のオペランドとして使用
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 4 章 汎用レジスタ
4.1 RAM 上のレジスタバンク
F2MC-16FX ファミリ
表 4.1-2 各レジスタの関係
アドレス
バイトレジスタ
000180H + RP × 10H + 0
ワードレジスタ
ロングワードレジスタ
RW0
000180H + RP × 10H + 1
RL0
000180H + RP × 10H + 2
RW1
000180H + RP × 10H + 3
000180H + RP × 10H + 4
RW2
000180H + RP × 10H + 5
RL1
000180H + RP × 10H + 6
RW3
000180H + RP × 10H + 7
000180H + RP × 10H + 8
R0
000180H + RP × 10H + 9
R1
000180H + RP × 10H + 10
R2
000180H + RP × 10H + 11
R3
000180H + RP × 10H + 12
R4
000180H + RP × 10H + 13
R5
000180H + RP × 10H + 14
R6
000180H + RP × 10H + 15
R7
CM44-00203-3
RW4
RL2
RW5
RW6
RL3
RW7
FUJITSU MICROELECTRONICS LIMITED
37
第 4 章 汎用レジスタ
4.2 RAM 上の汎用レジスタの呼び出し方
4.2
F2MC-16FX ファミリ
RAM 上の汎用レジスタの呼び出し方
汎用レジスタは , レジスタバンクポインタ (RP) によって内部 RAM の 000180H ∼
00037FH のどの部分に現在使用中のレジスタバンクが位置するかを指定します。
■ RAM 上の汎用レジスタの呼び出し方
汎用レジスタは内部 RAM の 000180H ∼ 00037FH( 最大仕様の場合 ) に存在します。レ
ジスタバンクポインタ (RP) によって内部 RAM の 000180H ∼ 00037FH のどの部分に現
在使用中のレジスタバンクがあるかを指定します。各バンクにはそれぞれ以下に示す
3 種のレジスタが存在します。これらは , それぞれに独立ではありません。図 4.2-1 に
示すような関係があります。
• R0 ∼ R7 …………8 ビットの汎用レジスタ
• RW0 ∼ RW7 ……16 ビットの汎用レジスタ
• RL0 ∼ RL3………32 ビットの汎用レジスタ
図 4.2-1 汎用レジスタ
MSB
LSB
16ビット
000180 H + RP×10 H
下位
RW0
汎用レジスタの
先頭アドレス
RL0
RW1
RW2
RL1
RW3
R1
R0
RW4
R3
R2
RW5
R5
R4
RW6
R7
R6
RW7
RL2
RL3
上位
ワードレジスタ (RW4 ∼ RW7) の上位バイト , 下位バイトとバイトレジスタ (R0 ∼ R7)
の関係は , 次の式で表せます。
RW(i + 4)=R(i × 2 + 1) × 256 + R(i × 2)〔i=0 ∼ 3〕
ロングワードレジスタ(RL0∼RL3)の上位バイト,下位バイトとワードレジスタ(RW0∼
RW7) の関係は , 次の式で表せます。
RL(i)=RW(i × 2 + 1) × 65536 + RW(i × 2)〔i=0 ∼ 3〕
例えば , R1 のデータを上位バイト , R0 のデータを下位バイトとして並べたデータは ,
RW4 のデータ (2 バイト ) と同じになります。
38
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第5章
プリフィックスコード
命令の前にプリフィックスコードを置くことによ
り , その命令の動作の一部を変更できます。プリ
フィックスコードには , 以下の 3 種類があります。
• バンクセレクトプリフィックス
• コモンレジスタバンクプリフィックス
• フラグ変化抑止プリフィックスコード
それぞれのプリフィックスについて説明します。
5.1 バンクセレクトプリフィックス
5.2 コモンレジスタバンクプリフィックス (CMR)
5.3 フラグ変化抑止プリフィックスコード (NCC)
5.4 プリフィックスコードに関する制約
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
39
第 5 章 プリフィックスコード
5.1 バンクセレクトプリフィックス
5.1
F2MC-16FX ファミリ
バンクセレクトプリフィックス
バンクセレクトプリフィックスを命令の前に置くことにより , その命令がアクセスす
るメモリ空間を , アドレス指定方式と無関係に任意に選択できます。
■ バンクセレクトプリフィックス
データアクセスの際に使用されるメモリ空間は,アドレス指定方式ごとに定められてい
ます。バンクセレクトプリフィックスを命令の前に置くことにより , その命令がアクセ
スするメモリ空間を , アドレス指定方式と無関係に任意に選択できます。バンクセレク
トプリフィックスとそれにより選択されるメモリ空間を表 5.1-1 に示します。
表 5.1-1 バンクセレクトプリフィックス
バンクセレクトプリフィックス
選択される空間
PCB
プログラムカウンタ空間
DTB
データ空間
ADB
アディショナル空間
SPB
そのときのスタックフラグの内容によりシス
テムスタック空間 , ユーザスタック空間のどち
らかが用いられます。
以下に示す命令に対してはプレフィックスコードの効果が異なります。
• 転送命令 (I/O アクセス )
MOV A, io
MOV io, A
MOVX A, io
MOVW io, A
MOV io, #imm8
MOVW io, #imm16
MOVW A, io
これらの命令の前のプリフィックスの有無にかかわらず, I/O空間がアクセスされま
す。
• 分岐命令
RETI
分岐命令の前のプリフィックスの有無にかかわらず , システムスタックバンクレジ
スタ (SSB) が使用されます。
• ビット操作命令 (I/O アクセス )
MOVB A, io:bp
MOVB io:bp, A
SETB io:bp
CLRB io:bp
BBC io:bp, rel
BBS io:bp, rel
WBTC
WBTS
これらの命令の前の有無にかかわらず , I/O 空間がアクセスされます。
40
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 5 章 プリフィックスコード
5.1 バンクセレクトプリフィックス
F2MC-16FX ファミリ
• ストリング操作命令
MOVS
FILS
MOVSW
FILSW
SCEQ
SCWEQ
プリフィックスの有無にかかわらず , オペランドで指定されたバンクレジスタが使
用されます。
• その他の制御系命令 ( スタック操作 )
PUSHW
UNLINK
POPW
POPW PS
LINK
これらの命令の前のプリフィックスの有無にかかわらず , スタックフラグ (S) に応
じてシステムスタックバンクレジスタ (SSB) またはユーザスタックバンクレジスタ
(USB) が使用されます。
以下の場合は , 命令のプリフィックスの効果がその命令だけでなく , 後続の命令まで及
びます。
• その他の制御系命令 ( フラグ変更 )
AND CCR,#imm8
OR CCR,#imm8
これらの命令の動作自体は正常に行われます。命令へのプリフィックスの効果は ,
これらの命令だけでなく , 後続の命令まで及びます。
• その他の制御系命令 ( 割込み制御 )
MOV ILM,#imm8
この命令の動作自体は正常に行われます。命令へのプリフィックスの効果は , この
命令だけでなく , 後続の命令まで及びます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
41
第 5 章 プリフィックスコード
5.2 コモンレジスタバンクプリフィックス (CMR)
5.2
F2MC-16FX ファミリ
コモンレジスタバンクプリフィックス (CMR)
レジスタバンクをアクセスする命令の前に , コモンレジスタバンクプリフィックス
(CMR) を置くことで , 現在のレジスタバンクポインタ (RP) の値に関係なく , その命令
のレジスタアクセスをすべて 000180H ∼ 00018FH にあるコモンバンク (RP=0 のと
きに選択されるレジスタバンク ) に変更できます。
■ コモンレジスタバンクプリフィックス (CMR)
複数のタスク間でのデータ交換を容易にするためには , そのときのレジスタバンクポ
インタ (RP) がどのような値でも , 比較的簡単に , ある定められた同一のレジスタバン
クをアクセスする手段が必要です。そのために , F2MC-16FX では , 各タスクで共通に
使用できるレジスタバンクを用意しています。これをコモンバンクといいます。コモ
ンバンクは , メモリの 000180H ∼ 00018FH 番地に配置されます。コモンバンクは , RP
レジスタの値が "0" のときに選択されます。
レジスタバンクをアクセスする命令の前に , コモンレジスタバンクプリフィックス
(CMR) を置くことで , 現在のレジスタバンクポインタ (RP) の値に関係なく , その命令
のレジスタアクセスをすべて 000180H ∼ 00018FH にあるコモンバンク (RP=0 のときに
選択されるレジスタバンク ) に変更できます。
以下に示す命令に対してはプレフィックスコードの効果が異なります。
• ストリング命令
MOVS
FILSW
NOVSW
SCEQ
FILS
プリフィックスコードを付加したストリング操作命令の実行中に割込みが要求さ
れると , 割込みからの復帰後のストリング操作命令に対してはプリフィックスが無
効となるため , 誤動作が発生することがあります。これらのストリング操作命令に
対しては CMR プリフィックスを付加しないでください。
• その他の制御系命令 ( フラグ変更 )
AND CCR,#imm8
OR CCR,#imm8
POPW PS
これらの命令の動作自体は正常に行われます。命令へのプリフィックスの効果は ,
これらの命令だけでなく , 後続の命令まで及びます。
• その他の制御系命令 ( 割込み制御 )
MOV ILM, #imm8
この命令の動作自体は正常に行われます。命令へのプリフィックスの効果は , この
命令だけでなく , 後続の命令まで及びます。
42
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 5 章 プリフィックスコード
5.3 フラグ変化抑止プリフィックスコード (NCC)
F2MC-16FX ファミリ
5.3
フラグ変化抑止プリフィックスコード (NCC)
命令の前にフラグ変化抑止プリフィックスコード (NCC) を置くことで , 命令の実行
に伴うフラグ変化を抑止できます。
■ フラグ変化抑止プリフィックスコード (NCC)
不要なフラグ変化を抑止するために , フラグ変化抑止プリフィックスコード (NCC) を
用います。命令の前に NCC プリフィックスを置くことで , 命令の実行に伴うフラグ変
化を抑止できます。
以下に示す命令に対してはプレフィックスコードの効果が異なります。
• 分岐命令
INT #vct8
INT9
INTP addr24
RETI
INT addr16
これらの命令は , プリフィックスの有無にかかわらずコンディションコードレジス
タ (CCR) のフラグは変化します。
• ストリング命令
SCEQ
SCWEQ
FILS
FILSW
上記のストリング命令の前に NCC プレフィックスを置いても無視されます。NCC
プレフィックスが指定されているかどうかに関係なく , コンディションコードレジ
スタ (CCR) のフラグは命令の定義によって変化します。
• その他の制御系命令 ( タスクの切換え )
JCTX @A
この命令は , プリフィックスの有無にかかわらずコンディションコードレジスタ
(CCR) のフラグは変化します。
• その他の制御系命令 ( フラグ変更 )
AND CCR,#imm8
OR CCR,#imm8
POPW PS
これらの命令は , プリフィックスの有無にかかわらずコンディションコードレジス
タ (CCR) のフラグは変化します。命令へのプリフィックスの効果は , これらの命令
だけでなく , 後続の命令まで及びます。
• その他の制御系命令 ( 割込み制御 )
MOV ILM,#imm8
この命令の動作自体は正常に行われます。命令へのプリフィックスの効果は , この
命令だけでなく , 後続の命令まで及びます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
43
第 5 章 プリフィックスコード
5.4 プリフィックスコードに関する制約
5.4
F2MC-16FX ファミリ
プリフィックスコードに関する制約
割込み / ホールド抑止命令の前にプリフィックスコードを置いた場合 , プリフィック
スコードの効果は , 最初の割込み / ホールド抑止命令ではない命令まで及びます。
競合するプリフィックスコードが連続していた場合 , より後方のものが有効になり
ます。
■ 割込み要求を受け付けない命令とプリフィックスコードの関係
以下に示す 10 種類の命令とプリフィックスコードは , 割込みやホールドの要求を受け
付けません。
• MOV ILM,#imm8
• AND CCR,#imm8
• OR CCR,#imm8
• POPW PS
• PCB
• ADB
• NCC
• DTB
• SPB
• CMR
図 5.4-1 に示すように , 上記の命令を実行中に割込み / ホールド要求が発生しても , 要
求が受け付けられるのは , この命令以降で初めて上記以外の命令実行時になります。
図 5.4-1 割込み / ホールド抑止命令
割込み / ホールド抑止命令
(a)
••••••••
割込み要求命令
•••
割込み受付け
(a): 普通の命令
図 5.4-2 のように , 割込み / ホールド抑止命令の前にプリフィックスコードを置いた場
合 , プリフィックスコードの効果は , 最初の割込み / ホールド抑止命令ではない命令ま
で及びます。
図 5.4-2 割込み / ホールド抑止命令とプリフィックスコード
割込み / ホールド抑止命令
MOV A,FFH
NCC
CCR: XXX10XX
MOV ILM,#imm8
••••
ADD A,01H
CCR: XXX10XX
NCC により CCR は変化しません。
44
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 5 章 プリフィックスコード
5.4 プリフィックスコードに関する制約
F2MC-16FX ファミリ
■ プリフィックスコードが連続しているとき
競合するプリフィックスコードが連続していた場合 , より後方のものが有効になりま
す ( 図 5.4-3 を参照 )。
図 5.4-3 プリフィックスコードの連続
プリフィックスコード
•••••
ADB
DTB
PCB
ADD A,01H
••••
プリフィックスコードは PCB が有効になります。
競合するプリフィックスコードは , 上の図では PCB, ADB, DTB, SPB を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
45
第 5 章 プリフィックスコード
5.4 プリフィックスコードに関する制約
46
F2MC-16FX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第6章
割込み
割込みの機能と動作について説明します。
6.1 割込みの概要
6.2 割込みベクタ
6.3 割込み制御レジスタ (ICR)
6.4 ノンマスカブルインタラプト (NMI)
6.5 割込みフロー
6.6 ハードウェア割込み
6.7 ソフトウェア割込み
6.8 多重割込み
6.9 例外
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
47
第 6 章 割込み
6.1 割込みの概要
6.1
F2MC-16FX ファミリ
割込みの概要
F2MC-16FX は , イベントなどの発生により現在実行中の処理を中断して , 別のプロ
グラムに制御を移す割込み機能があります。割込み機能は以下の 4 つに分類するこ
とができます。
• ハードウェア割込み : 内部リソースのイベント発生による割込み処理
• ソフトウェア割込み : ソフトウェアのイベント発生 ( 命令 ) による割込み処理
• 例外 : 動作例外事項の発生による処理
• DMA: 内部リソースのイベント発生による CPU とのやり取りを伴わないデータ転送
■ ハードウェア割込み
ハードウェア割込みは , 内部リソースからの割込み要求によって発生します。ハード
ウェア割込み要求は , 内部リソース内の割込み要求フラグと割込み許可フラグがセッ
トされている場合に発生します。
● 割込みレベルの指定
ハードウェア割込みには , 割込みレベルを指定することができます。割込みレベルを指
定するには , 割込み制御レジスタ (ICR) のレベル設定ビット (IL0, IL1, IL2) を使用しま
す。
ハードウェア割込みには , 個別に割込みレベル (IL) を指定することができます。専用
IL に対するアクセスは , IX インデックスを設定することで実行できます。IX と IL は
共に , 割込み制御レジスタ ICR を介してアクセスできます。
● ハードウェア割込み要求マスク
ハードウェア割込み要求は , 割込み許可フラグ (I) および割込みレベルマスク (ILM) を
使用してマスクすることができます。割込みは , I フラグがセットされ , 割込みレベル
(IL) の値が割込みレベルマスク (ILM) よりも小さい場合にのみ実行されます。さらに ,
ハードウェア割込みを受け付けるには特権モードフラグ(P)がセットされている必要が
あります。P フラグ , I フラグ , および ILM レジスタは , CPU のプロセッサステータス
(PS) の一部です。
マスクのかかっていない割込み要求が発生すると , CPU は PS, PC, PCB, DTB, ADB,
DPR, A の各レジスタからなる 12 バイトのデータを , システムスタックバンクレジスタ
(SSB) およびシステムスタックポインタ (SSP) が示すメモリ領域に退避させます。
48
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 6 章 割込み
6.1 割込みの概要
■ ソフトウェア割込み
INT 命令の実行による割込み要求が , ソフトウェア割込みです。INT 命令により要求さ
れる割込みには , 割込み要求フラグや割込み許可フラグはありません。INT 命令の実行
により , 常に割込み要求が発生します。
INT 命令には割込みレベルの割当てもありません。このため , INT 命令使用時には ILM
レジスタは更新されません。その代わり , 割込み許可フラグ (I) がクリアされ , 以降の
割込み要求が保留状態になります。
■ 例外
以下のソフトウェア例外が処理されます。
• 未定義命令
• INT9
• INTE ( 評価用デバイスのみで利用可能 )
以下のハードウェア例外が処理されます。
• NMI
• HW-INT9( 埋込みデバッグサポート )
• DSU ブレーク要因 ( 評価用デバイスのみで利用可能 )
例外処理は基本的に割込みと同じです。命令の実行中に例外事項が発生したことを検
出したときに , 例外処理を行います。一般的に , 例外処理は予想外の動作の結果に発生
するものです。そのため , プログラムのデバッグや緊急時のリカバリソフトウェアの起
動などに限定して使用してください。
■ ダイレクトメモリアクセス (DMA)
● DMA 機能
F2MC-16FX には , 周辺リソースとメモリ間で自動的にデータ転送する DMA 機能があ
ります。DMA チャネルの数はデバイスに依存します。
指定された数の DMA データ転送が完了すると , 転送元の IRQ チャネルに対して割込
み処理プログラムが自動実行されます。そのような DMA 完了時の割込み処理方法は ,
標準のハードウェア割込みと同じです。
DMA の詳細は , 各デバイスのハードウェアマニュアルを参照してください。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
49
第 6 章 割込み
6.2 割込みベクタ
F2MC-16FX ファミリ
割込みベクタ
6.2
ハードウェア割込みとソフトウェア割込みは同じベクタテーブルを使用します。割
込みサービスルーチンは , IRQ ラインをアサートまたは INT 命令の実行によって割
込みベクタ番号を指定することで実行できます。割込みベクタは , 表 6.2-2 で示され
ている番地の間に割り当てられます。割込みベクタテーブルの位置はテーブルベー
スレジスタで選択できます。
■ 割込みベクタ
● 割込みベクタテーブルベースレジスタ (TBR)
図 6.2-1 割込みベクタテーブルベースレジスタ (TBR)
bit
アドレス:
3A3H, 3A2H
15
14
13
12
11
10
9
8
TB23 TB22 TB21 TB20 TB19 TB18 TB17 TB16
1
0
TB15 TB14 TB13 TB12 TB11 TB10
7
6
5
4
3
2
−
−
リード/ライト: 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
R
初期値:
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
R:
R/W:
1
TBRH, TBRL
リードオンリ
リード/ライト可能
テーブルベースレジスタ (TBR) を使えば , 1K バイト単位で割込みベクタテーブルを任
意のメモリ位置に再配置できます。
TBR レジスタの値によって , 割込みベクタテーブルの開始アドレス 24 ビット中の上位
14 ビット TB[23:10] が決まります。下位ビット側の TB[9:0] は , "0" に固定となります。
テーブルベースレジスタ (TBR) はリセット時に FFFCH に初期化され , その結果 , 初期
テーブルベースは TB[23:0] = FFFC00H となります。
割込みベクタテーブルは 1K バイト (256 ベクタ ) の容量があります。
表 6.2-1 TBR の例
TBR の値
割込みベクタテーブル
の開始アドレス
( テーブルベース )
割込みベクタ
テーブルの終了
コメント
FFFCH
FF:FC00H
FF:FFFFH
F2MC-16FX の場合 ( 初期値 )
FB00H
FB:0000H
FB:03FFH
ROM バンク FB の始点
00FCH
00:FC00H
00:FFFFH
バンク 00 ( 外部メモリ可 ) の終点
0010H
00:1000H
00:13FFH
RAM 領域内部
0000H
00:0000H
00:03FFH
I/O 領域のため使用禁止
50
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 6 章 割込み
6.2 割込みベクタ
F2MC-16FX ファミリ
■ 割込みベクタテーブル
割込み処理中に参照される割込みベクタテーブルは , メモリ領域の "256 × TBR" ∼
"256 × TBR + 3FFH" に割り当てられます。ベクタテーブル位置の , リセット時のデフォ
ルトは FFFC00H ∼ FFFFFFH になります。ベクタテーブルを ROM メモリの先頭に置く
べきではなく , 別の TBR 値を設定する必要があります。
ハードウェア割込み , 例外 , ソフトウェア割込みはすべて同じベクタテーブルを使用し
ます。そのため , 割込みサービスルーチンはハードウェア割込みと対応するソフトウェ
ア割込みのどちらからでも呼び出すことができます。
割込みサービスルーチンの開始アドレスの 3 バイトは , すべて適切な割込みベクタ
(VecAddr = 4 × (255-INT#) + 256 × TBR) が書き込まれる必要があります。
表 6.2-2 割込みベクタテーブル (1 / 2)
割込み /
ベクタ番号
ベクタアドレス
ICR 中のレベルレジスタの
インデックス
ハードウェア IRQ/ 割込み要因
INT 0
CALLV 0/1 *
(TBR × 256) + 3FCH
−
−
INT 1
CALLV 2/3 *
(TBR × 256) + 3F8H
−
−
INT 2
CALLV 4/5 *
(TBR × 256) + 3F4H
−
−
INT 3
CALLV 6/7 *
(TBR × 256) + 3F0H
−
−
INT 4
CALLV 8/9 *
(TBR × 256) + 3ECH
−
−
INT 5
CALLV 10/11 *
(TBR × 256) + 3E8H
−
−
INT 6
CALLV 12/13 *
(TBR × 256) + 3E4H
−
−
INT 7
CALLV 14/15 *
(TBR × 256) + 3E0H
−
−
INT 8
MODE Byte
(TBR × 256) + 3DCH
−
リセット
INT 9
(TBR × 256) + 3D8H
−
INT9 命令
INT 10
(TBR × 256) + 3D4H
−
未定義命令による例外
INT 11
(TBR × 256) + 3D0H
−
NMI
INT 12
(TBR × 256) + 3CCH
IL12
遅延割込み
INT 13
(TBR × 256) + 3C8H
IL13
CR クロックタイマ
INT 14
(TBR × 256) + 3C4H
IL14
メインクロックタイマ
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
51
第 6 章 割込み
6.2 割込みベクタ
F2MC-16FX ファミリ
表 6.2-2 割込みベクタテーブル (2 / 2)
割込み /
ベクタ番号
ベクタアドレス
ICR 中のレベルレジスタの
インデックス
ハードウェア IRQ/ 割込み要因
INT 15
(TBR × 256) + 3C0H
IL15
サブクロックタイマ
INT 16
(TBR × 256) + 3BCH
IL16
<PLL ロック解除用に予約 >
INT 17
(TBR × 256) + 3B8H
IL17
INT 18
(TBR × 256) + 3B4H
IL18
INT 19
(TBR × 256) + 3B0H
IL19
…
デバイス特有の周辺機能
…
…
INT 254
(TBR × 256) + 004H
−
−
INT 255
(TBR × 256) + 000H
−
−
* : プログラムカウンタバンクレジスタ (PCB) が TBR:TB[23:16] と同じで , TBR:TB[15:10] が 111111B の
場合 , CALLV 命令のベクタ領域は "INT #0" ∼ "INT #7" 命令のベクタテーブルと重なります。
CALLV
命令が "INT #0" ∼ "INT #7" 命令と同じアドレスを使用しないようにするか , "INT #0" ∼ "INT #7" 命
令を使用しないようにしてください。
52
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 6 章 割込み
6.3 割込み制御レジスタ (ICR)
F2MC-16FX ファミリ
6.3
割込み制御レジスタ (ICR)
割込み機能を持つ各周辺リソース用に , 割込み制御レジスタ (ICR) があります。割込
み制御レジスタ (ICR) は , 割り当てられる周辺リソースに割込みレベル (IL) を設定し
ます。
■ 割込み制御レジスタ (ICR)
図 6.3-1 に , 割込み制御レジスタのビット構成図を示します。
図 6.3-1 割込み制御レジスタ (ICR)
bit
15
14
13
12
11
10
9
8
IX7
IX6
IX5
IX4
IX3
IX2
IX1
IX0
リード/ライト: R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
初期値:
0
0
0
0
1
1
0
0
7
6
5
4
3
2
1
0
アドレス:
3A0H
−
−
−
−
−
IL2
IL1
IL0
リード/ライト:
−
−
−
−
−
R/W
R/W
R/W
初期値:
X
X
X
X
X
1
1
1
アドレス:
3A1H
bit
−:
R/W:
ICR: IX
ICR: IL
アクセス不可
リード/ライト可能
[bit15 ∼ bit8] IX[7:0] : アクセスする割込みレベル (IL) のインデックス
内部リソースに対応する割込みレベルのインデックスを指定する読み書き可能な
ビットです。このインデックスでアクセスする割込みレベルを選択します。IL[n] は
周辺割込み要求番号 IRQ[n] に属し , 共に割込み INT[n] に関連付けられています。
システム割込み INT0 ∼ INT11 の優先度は固定で , 割込みレベルが存在しません。イ
ンデックス 12 以下の割込みレベルに対して書込みを行うと無視され , 読出しを行う
と不定値が返されます。同じ制約が , デバイス依存の最大割込み番号より上の , 利
用できないハードウェア割込み ( 番号 ) にも適用されます。
IX[7:0] ビットは , リセット時に 0CH に初期化されます。
図 6.3-2 に , インデックス (IX), レベル (IL) と IRQ 番号の間の関係を示します (IX=20
のときの , IX ポインタによるレベルレジスタへのアクセスの例 ) 。点線で囲まれた
IX および選択された IL は , ICR の実際の内容を表しています。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
53
第 6 章 割込み
6.3 割込み制御レジスタ (ICR)
F2MC-16FX ファミリ
レベル設定の読み書きは , IX が指し示す IL に対して行います。IL にレベル設定を
書き込むには , 事前またはワードアクセスにて同時に , IX に対してインデックスの
書込みを行います。IL の読出しを行うには , 読み出す前に IX に書込みを行う必要
があります。
並行タスクを使用する場合の注意事項 :
割込みレベル情報にアクセスする並行タスクの場合 , インデックスアクセスの処理
には注意が必要です。
- ICR:IX および ICR:IL に情報を同時に書き込むには , ワードアクセスを使用してく
ださい。
- 読出しアクセス時には , インデックス ICR:IX をセットから , ワードアクセスで
ICR レジスタ全体を読み出します。正しい ICR:IL エントリを確認するために , 読
み出すはずのインデックスと ICR:IX の値が一致していることを調べてください。
[bit7 ∼ bit3] 未使用ビット
読出しアクセスを行うと不定値が返されます。これらのビットには , 常に "0" を書
き込んでください。
[bit2 ∼ bit0] IL2 ∼ IL0 : 割込みレベル設定ビット
対応する内部リソースの割込みレベルを指定する読み書き可能ビットです。リセッ
ト時 , レベル 7 ( 割込みなし ) に初期化されます。表 6.3-1 に , 割込みレベル設定ビッ
トと割込みレベルの関係を示します。
表 6.3-1 割込みレベル設定ビットと割込みレベル
54
IL2
IL1
IL0
0
0
0
0 ( 最も強い )
0
0
1
1
0
1
0
2
0
1
1
3
1
0
0
4
1
0
1
5
1
1
0
6 ( 最も弱い )
1
1
1
7 ( 割込みなし )
レベル
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 6 章 割込み
6.3 割込み制御レジスタ (ICR)
F2MC-16FX ファミリ
図 6.3-2 インデックス (IX), レベル (IL) および IRQ 番号の間の関係 (IX=20 の場合の例 )
ICR
CM44-00203-3
IX=20
IL16
IRQ16
IL17
IRQ17
IL18
IRQ18
IL19
IRQ19
IL20
IRQ20
IL21
IRQ21
FUJITSU MICROELECTRONICS LIMITED
55
第 6 章 割込み
6.4 ノンマスカブルインタラプト (NMI)
6.4
F2MC-16FX ファミリ
ノンマスカブルインタラプト (NMI)
F2MC-16FX CPU には , ノンマスカブルインタラプトがあります。外部 NMI 端子の
機能を有効化 , レベルの設定 , NMI 要求を終了するレジスタがあります。
■ NMI 制御ステータスレジスタ (NMI)
図 6.4-1 は , NMI 制御ステータスレジスタのビット構成図です。
図 6.4-1 NMI 制御ステータスレジスタ (NMI)
bit
7
6
5
4
3
2
1
0
アドレス:
3A5H
−
−
−
−
FIX9
LEV
EN
FLAG
リード/ライト:
−
−
−
−
R/W
R/W
初期値:
−
−
−
−
0
1
−
R/W
R/W1
R/W0
NMI
R/W1 R/W0
0
X
:アクセス不可
:リード/ライト可能
:リードオンリ。ビットはセットのみ可能
:リードオンリ。ビットはクリアのみ可能
[bit7 ∼ bit4] 未使用ビット
読出しアクセスを行うと不定値が返されます。これらのビットには , 常に "0" を書
き込んでください。
[bit3] FIX9: INT9 ベクタの位置の固定
FIX9 ビットは , INT9 の割込みベクタを代替位置に切り替えます。もし , "1" に設定
されると , 割込みベクタは , アドレス 0F:FFD8H より得られます。もし , "0" に設定
されると , INT9 ベクタの位置は , TBR+3D8H により定義されます。リセットで ,
FIX9 ビットは , "0" に初期化されます。
この機能は , デバイス起動時に実行されるファームウェアにより使用されます。
テーブルベースレジスタ (TBR) から INT9 の割込みベクタを独立させることで , 組
込みデバッグ支援ユニット (EDSU) の信頼性が向上します。
[bit2] LEV: NMI 端子の信号アクティビティレベル
LEV ビットは , NMI 端子信号のアクティビティレベルを指定します。値を "1" にす
ると NMI 端子は正論理入力 , "0" にすると負論理入力であることを意味します。
EN ビットがセットされていない場合 , LEV ビットは読み書き可能となります。EN
ビットがセットされている場合 , LEV の状態はロックされます。その場合 , LEV は
読出し専用となり , EN=1 のときに LEV に書き込んでも無視されます。
56
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 6 章 割込み
6.4 ノンマスカブルインタラプト (NMI)
リセット時に LEV ビットは "1" に初期化されるため , NMI 端子はデフォルトでは正
論理となります。
[bit1] EN: マスク不可能割込み機能許可ビット
EN ビットは , 専用 NMI 端子機能が使用できるようにします。EN ビットが "0" に設
定されている場合 , デバイスは NMI を持ちません。NMI 入力に信号レベルの変更
があっても CPU は反応しません。端子はその他の目的に使用できます。EN ビット
が "1" に設定されている場合 , NMI 端子が有効になります。CPU は , (LEV ビットで
指定された )NMI 端子でアクティブ信号レベルが検出されると NMI の例外処理に分
岐します。
EN ビットが "1" に設定されると , LEV および EN ビットはロックされて書込み不可
になります。いったん NMI 機能が有効になると , 信号レベルの変更も NMI の無効
化もできなくなります。EN ビットを "0" に変更できるのはデバイスリセットだけ
となります。
EN ビットはリセット時に "0" に初期化されるため , デフォルトでは NMI 機能は無
効になっています。
LEV および EN ビットは , 同時に起動 ( 同じアクセスで変更 ) してはいけません。
EN ビットは , 後で個別に有効にする必要があります。そうしないと , スパイクフィ
ルタの緩和時間が原因で NMI が発生することがあります。
[bit0] FLAG: ノンマスカブルインタラプトフラグ
FLAG ビットには , NMI 端子で NMI が発生したときの非同期イベントが格納されま
す。
スパイクを抑制するため , 短いパルスを除去するスパイクフィルタが使用されてい
ます。パルスの極性は , LEV ビットの設定によって決まります。
FLAG ビットは , ハードウェアのイベント (NMI 発生 ) によってセットされ , 割り込
みから抜けるためにソフトウェアによってクリアできます。クリアされると割込み
は終了します。割込みは , EN ビットと FLAG ビットの両方がセットされている場
合にのみ発生します。
FLAG ビットは , 読出しとクリアができます。FLAG ビットに "1" を書き込んでも無
視されます。リードモディファイライト (RMW) 系命令で読出しを行うと , FLAG
ビットには常に "1" が返されます。
FLAG ビットのリセット後の値は不定です。FLAG ビットは , NMI を有効にする前
にクリアする必要があります。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
57
第 6 章 割込み
6.4 ノンマスカブルインタラプト (NMI)
F2MC-16FX ファミリ
図 6.4-2 マスク不可能割込みレジスタの操作
EN
NMI:LEV
ロック機能
[10]
16FX バス
EN
[8] [9]
NMI:EN
CPUへのNMI
CLKB同期
NMI 端子
レベル選択および
スパイクフィルタ
ASET
NMI:FLAG
SCLR
0 スリープ解除
1
ASET: 非同期セット
SCLR: 同期クリア
58
SLEEP || STOP || TIMER
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 6 章 割込み
6.5 割込みフロー
F2MC-16FX ファミリ
割込みフロー
6.5
図 6.5-2 に , 割込みフローを示します。
■ 割込みフロー
ハードウェア割込み , ソフトウェア割込み , 例外が発生すると , 割込み処理フローが実
行されます。割込みフローチャートの詳細は , 図 6.5-2 を参照してください。
割込み処理の前に , CPU 専用レジスタがスタックに退避します ( 図 6.5-1 参照 )。
図 6.5-1 割込み処理中のレジスタ退避
MSB
LSB
ワード (16 ビット)
H
SSP (割込み発生前の値)
AH
AL
DPR
ADB
DTB
PCB
SSP
PC
PS
SSP (割込み発生後の値)
L
割込み処理の終了時 , RETI 命令が実行される中で CPU レジスタのコンテキストが復帰
します。CPU は通常のプログラム実行に戻ります。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
59
第 6 章 割込み
6.5 割込みフロー
F2MC-16FX ファミリ
図 6.5-2 割込みフロー
I, ILM
IF, IE
DER
IL
S
DISEL
START
IF & IE = 1
および DER = 1 および
DISEL = IRQ#
: プログラムステート(PS)の割込みフラグおよび割込みレベルマスク
: 内部リソースの割込み要求フラグおよび割込み許可
: 関連DMAチャネルのDMA許可レジスタ
: ICR/ILRによるIRQチャネルのレベル設定
: CCR/PSのシステムスタックフラグ
: DMA割込み選択レジスタ
YES
NO
IF & IE = 1
および
I=1 & IL<ILM
YES
NO
次の命令の
取込みとデコード
INT 命令
YES
NO
通常命令実行
NO
PS, PC, PCB, DTB,
ADB, DPR, Aを
システムスタック(SSP)へ
退避させ,I=0に設定
PS, PC, PCB, DTB,
ADB, DPR, Aを
システムスタック(SSP)へ
退避させ,ILM = ILに設定
DMA処理による
I/Oサービス
ストリング系
命令の繰返しが完了
YES
PCの更新
60
S=1
割込みベクタ取込み
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
6.6
第 6 章 割込み
6.6 ハードウェア割込み
ハードウェア割込み
内部リソースからの割込み要求信号に対応して , CPU は現在実行中のプログラムを
一時中断し , ユーザの定義した割込み処理用プログラムへ制御を移行させます。
■ ハードウェア割込み
ハードウェア割込みは , 以下の 2 つの処理の結果 , 条件が満たされると発生します。
• 割込み要求レベル (IL) と , プログラムステータス (PS) の割込みレベルマスク (ILM)
値の比較
• PS レジスタの割込み許可フラグ (I) の値のハードウェア参照
ハードウェア割込みが発生すると , CPU は以下の処理を行います。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタ値のシステムスタックへ
の退避
• スタックフラグ (S) のセット
• PS レジスタ内の ILM の設定。現在要求されている割込みレベル (IL) が自動的に設
定される。
• 対応する割込みベクタの読出しおよびその値で示された処理への分岐
デバイスがスタンバイモードのとき , IL<7 のハードウェア割込みがあるとクロックお
よびモード制御ユニットに対するスリープ解除イベントが発生します。
■ ハードウェア割込みシステムの構造
割込みの状態は , 内部リソース , 割込みコントローラの ICR, および CPU の PS 値によっ
て示されます。ハードウェア割込みを使用するには以下の設定を行います。
• 割込みベクタ ( メモリ内 )
- ベクタテーブルをデフォルト以外の箇所に配置する場合は TBR の値を考慮しま
す。
- 割込みサービスルーチンの開始アドレスは , 対応する割込みベクタ (VecAddr =
4 × (255-INT#) + 256 × TBR) に書き込む必要があります。
• 周辺リソース
- 割込み許可ビットおよび要求ビットを使用して , 周辺リソースからの割込み要求
を制御します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
61
第 6 章 割込み
6.6 ハードウェア割込み
F2MC-16FX ファミリ
• 割込みコントローラ
- 発生する可能性のある割込みに対して割込みレベル (ICR:IL) を指定します。
- 複数の割込みが同時発生した場合 , 割込みレベルが小さいものほど優先度が高く
なります。IL=7 では割込みが無効になります。
- 同じレベルの要求が複数ある場合 , 割込みコントローラは割込み番号が最も小さ
い要求を選択します。同じレベルが設定されている場合 , 割込み番号とは関係な
く , 遅延割込みの優先度が最も低くなります。
- 割込み要求と IL の間には一定の関係があります。各ハードウェア割込み要求
IRQ0 ∼ IRQ12 のレベルは , IL[n] によって指定できます。
• CPU
- プログラムステータス (PS) の割込みレベルマスク (ILM) と割込み許可フラグ (I)
が , 要求された割込みレベル (IL) と現在の ILM の値との比較と , 割込み許可の判
定に使用されます。ハードウェア割込みの受付けは , I フラグがセットされている
こと , ILM が IL よりも大きいことが条件になります。
- 割込み処理中 , CPU は 12 バイトを SSB および SSP が示すメモリ領域に退避させ
ます。そのため , 割込みを使用する前にシステムスタックポインタを初期化する
必要があります。
- CPU は割込みベクタの 3 バイト分をフェッチし , PC と PCB にロードします。割
込み処理ルーチンは , この位置から開始する必要があります。その結果 , 次にユー
ザ指定の割込み処理プログラムが実行されます。RETI 命令の実行で通常動作が
再開します。
■ ハードウェア割込みの動作
周辺リソースからの割込み要求 (IRQ) は , 割込みコントローラの前に DMA コントロー
ラに渡されます。DMA コントローラは , DMA チャネル設定 (DMA 割込み要求選択レ
ジスタ DISEL および DMA 許可 DER:ENx ビット ) に従って IRQ を DMA 転送で処理す
るか , 割込みコントローラに渡すかを決定します。DMA 転送は , I フラグと割込みレベ
ルの状態に関係なく受け付けられます。DMA コントローラでは優先度の順位が固定し
ており , チャネル 0 で最も高い優先度 , チャネル 15 で最も低い優先度となります。
図 6.6-1 に , 割込み処理プログラムによるハードウェア割込みの発生から割込み要求の
解除までの処理フローを示します。
62
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 6 章 割込み
6.6 ハードウェア割込み
F2MC-16FX ファミリ
図 6.6-1 ハードウェア割込みの発生と解除まで
F2MC−16FX CPU
(9c)
(9b)
PS
レジスタファイル
スタック
操作
実行パイプライン
F2MC−16FX バス
S
(8)
チェック
Int (9)
(9a)
(12)
I
ILM
(7)
コンパレータ
INT 番号
(6) INT レベル
IRQ付きリソース
割込み
コントローラ
リソース
許可 FF (IE)
(10)
IRQ
(2)
ソース FF (I)
(3)
DMA
(4)
コントローラ
(5)
レベル
コンパレータ
割込み
レベル
IL
(1)
データ転送(3a)およびIRQクリア(3b)の制御
(1)
リソース内で割込み要因が発生します。
(2)
リソース内の割込み許可ビットを参照します。割込み許可になっていれば, リソー
スが DMA コントローラに割込み要求 (IRQ) を送ります。
(3)
DMA コントローラが IRQ を DMA で処理すべきかチェックします。DMA コント
ローラは , 発生した IRQ の割込み番号を選択するか , DMA を有効にするかをチャ
ネルごとに判定します。
-判定が「真」となった場合 , 転送は DMA (3a) が処理します。判定が「偽」となっ
た場合 , 割込み処理は割込みコントローラが行うことになり , (4) に続きます。
-DMA 転送の終了後 , 割込みビットがリソース (3b) でクリアされます。
-最終転送カウントに達すると , 割込みコントローラで DMA 完了割込みが処理さ
れます。
(4)
割込みコントローラが割込み要求を受け取ります。
(5)
割込みコントローラは同時に要求のあった割込みの優先順位を判定します。
(6)
割込みコントローラは最も優先度の高い割込みレベルおよび対応する割込み番
号を CPU に転送します。
(7)
割込みコントローラが要求した割込みレベルとプロセッサステータスレジスタ
の ILM 値が比較されます。
(8)
比較の結果 , 要求されている割込み処理のレベルが現在のレベルより優先順位が
高い (IL<ILM) 場合 , 同じプロセッサステータスレジスタ内の I フラグの内容が
チェックされます。
(9)
ステップ (5) のチェックで I フラグが割込み許可状態だった場合 , 現在実行中の命
令の実行が終了し次第 , 割込み処理が実行されます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
63
第 6 章 割込み
6.6 ハードウェア割込み
F2MC-16FX ファミリ
-CPU の状態を退避させるため , 専用 CPU レジスタがシステムスタック (9a) に転
送されます。
-S フラグが "1" に設定されます (9b)。
-要求されたレベルが ILM ビット (9c) に書き込まれます。
-割込みベクタが読み出されます。
-制御が割込み処理ルーチンに移ります ( 割込みベクタとして読み出されたアドレ
スへの分岐 )。
(10) ユーザの割込み処理ルーチン内でステップ(1)の割込み要因がソフトウェアによっ
てクリアされた場合 , 割込み要求は終了します。
(11) RETI 命令を最後の命令として , 割込み処理ルーチンから復帰します。
(12) システムスタックに退避していた CPU の状態が復元され , 通常のプログラム実行
が再開します。
■ ハードウェア割込みの処理時間
以下に , CPU が割込み処理 ( スタック操作 , 割込みベクタ取込み , 割込みベクタへの分
岐 ) に必要な時間を示します。数値は , スタック操作および割込みベクタ取込みがウェ
イトサイクルなしで実行された場合です。
• 割込み起動 : 10 サイクル + c
• 割込み復帰 : 9 サイクル + c (RETI 命令 )
表 6.6-1 割込み処理時のサイクル数の補正値 (c)
スタックポインタが示しているアドレス
補正値
内部領域が偶数アドレスの場合
0
内部領域が奇数アドレスの場合
+2
バス転送のウェイトサイクルがある場合 ( 例 : 遅い ROM メモリまたは外部領域のベク
タテーブルへのアクセス ), それも加算する必要があります。
64
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
6.7
第 6 章 割込み
6.7 ソフトウェア割込み
ソフトウェア割込み
一定の命令が実行されると , CPU は実行中のプログラムからユーザ定義の割込み処
理用プログラムに制御を移します。これをソフトウェア割込み機能とよびます。ソ
フトウェア割込みはソフトウェア割込み命令を実行すると必ず発生します。
■ ソフトウェア割込み
INT命令により発行されるソフトウェア割込みには, 割込み要求フラグや割込み許可フ
ラグはありません。ソフトウェア割込み要求は , INT 命令の実行により常に発生し , 常
に受け付けられます。
INT 命令には割込みレベルはありません。したがって , INT 命令は割込みレベルマスク
(ILM) を更新しません。INT 命令は , 割込み許可フラグ (I) をクリアして以降のハード
ウェア割込み要求を保留にします。
ソフトウェア割込みが発生すると , CPU は以下の処理を行います。
• CPU 内部の PC, PS, AH, AL, PCB, DTB, ADB, DPR レジスタのシステムスタックへの
退避
• S フラグのセット
• PS レジスタ内の I フラグのクリア。ハードウェア割込みは自動的に無効になります。
• 対応する割込みベクタの取出しおよびその値で示された処理への分岐
■ ソフトウェア割込みシステムの構造
ソフトウェア割込みは CPU 内ですべて処理されます。ソフトウェア割込みを使用する
には , 以下の設定を行います。
• 割込みベクタ ( メモリ内 )
- ベクタテーブルをデフォルト以外の箇所に配置する場合は TBR の値を考慮しま
す。
- 割込みサービスルーチンの開始アドレスは , 対応する割込みベクタ (VecAddr =
4 × (255-INT#) + 256 × TBR) に書き込む必要があります。
• CPU
- 割込み処理中 , CPU は 12 バイトを SSB および SSP が示すメモリ領域に退避させ
ます。そのため , 割込みを使用する前にシステムスタックポインタを初期化する
必要があります。
- CPU は割込みベクタの 3 バイト分をフェッチし , PC と PCB にロードします。割
込み処理ルーチンは , この位置から始める必要があります。その結果 , 次にユー
ザ指定の割込み処理プログラムが実行されます。RETI 命令の実行で通常動作が
再開します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
65
第 6 章 割込み
6.7 ソフトウェア割込み
F2MC-16FX ファミリ
■ ソフトウェア割込みの動作
CPU がソフトウェア割込み命令をフェッチして実行すると , ソフトウェア割込み処理
シーケンスが始まります。このシーケンスは , SSB と SSP の示すメモリ領域へ 12 バイ
ト (PS, PC, PCB, DTB, ADB, DPR, A) を退避させます。次に , 割込みベクタを 3 バイト
取込み , プログラムカウンタ (PC) とプログラムカウンタバンクレジスタ (PCB) へ格納
し , 割込み許可フラグ (I) フラグをクリア , スタックフラグ (S) をセットします。そして ,
分岐処理を行います。その結果 , 次にユーザ指定の割込み処理プログラムが実行されま
す。
図 6.7-1 に , ソフトウェア割込みの発生から , 割込み処理プログラムより制御が戻るま
でのフローを示します。
図 6.7-1 ソフトウェア割込みの発生と解除まで
F2MC−16FX バス
(2b)
PS
レジスタファイル
スタック
操作
I
S
ILM
クリア (2c)
(2a)
実行パイプライン
INT (1)
(5)
命令キュー
F2MC−16FX CPU
RETI命令 (4)
割込み
サービス
ルーチンの処理(3)
INT命令(1)
(1) ソフトウェア割込み命令を実行します。
(2) ソフトウェア割込み命令に対応した割込み処理が CPU によって実行されます。
- CPU の状態を退避させるため , 専用 CPU レジスタがシステムスタック (2a) に転
送されます。
- S フラグが "1" に設定されます (2b)。
- I フラグがクリアされ , ハードウェア割込みが無効になります (2c)。
- 割込みベクタが読み出されます。
- 制御が割込み処理ルーチンに移ります ( 割込みベクタとして読み出されたアドレ
スへの分岐 )。
(3) 割込みサービスルーチンが CPU によって処理されます。
(4) ユーザの割込み処理ルーチン内の RETI 命令で割込み処理が終了します。
(5)CPU は , 専用レジスタのコンテキストをシステムスタックから復元させます。
(6)CPU は , INT 命令に続く次の命令を実行してプログラムを続行します。
66
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
6.8
第 6 章 割込み
6.8 多重割込み
多重割込み
F2MC-16FX CPU は , 多重割込み ( 同時発生する割込み , および入れ子になった割込
み処理 ) をサポートしています。
■ 多重ハードウェア割込み
現在処理中のハードウェア割込みよりも優先度の高い ( レベル値が小さい ) 割込み要求
が発生した場合は , 現在実行中の命令が終了した後に優先度の高い割込み要求に制御
が移ります。優先度の高い割込み処理が終了した後は , 最初に実行していた割込み処理
が再開します。
割込み処理実行中に , 現在実行中の割込みと同等か , 低い優先度の割込み要求が出力さ
れることがあります。この場合は , 割込み許可フラグ (I) または割込みレベルマスク
(ILM) を命令で変更しないかぎり , 現在の割込み処理が終了するまで新しい割込み要求
は保留になります。
DMA 転送は割込み不可で , 多重起動できません。DMA 転送の処理中は , 他の DMA 要
求はすべて保留されます。DMA コントローラに対する要求が同時発生した場合 , 最も
小さいチャネル番号が最初に処理されます。
DMA の詳細は , 各デバイスのハードウェアマニュアルを参照してください。
■ 多重ソフトウェア割込み
ソフトウェア割込みが同時発生することはありません。ソフトウェア割込みは INT 命
令を実行することで発生し , 常に受け付けられます。INT 命令を割込みサービスルーチ
ン内に置いたとしても , 入れ子になったソフトウェア割込みを実行することができま
す。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
67
第 6 章 割込み
6.8 多重割込み
F2MC-16FX ファミリ
■ 割込み受付の優先順位
表 6.8-1 に , すべての割込みの受付け条件を示します。
表 6.8-1 割込み優先順位の制御
イベント
INT#
-
-
種類
命令ブレーク (VEIB)
システム予約
ツールブレーク
(VENMI)
レベル
受付け条件
P2
現在の命令の実行が終了して以
下が成立する場合
ILM>2 || P == 1
P=0
ILM = 2
P2
ストリング命令実行中に割込み
が発生した , または現在の命令
の実行が終了していて , 以下が
成立する場合
ILM>2 || P == 1
P=0
ILM = 2
P4
ストリング命令実行中に割込み
が発生した , または現在の命令
の実行が終了していて , 以下が
成立する場合
ILM>4 || P == 1
P=0
ILM = 4
P6
ストリング命令実行中に割込み
が発生した , または現在の命令
の実行が終了していて , 以下が
成立する場合
ILM>6 || P == 1
P=0
ILM = 6
システム予約
ハードウェアイベント
11
9
13
以降
ソフトウェアイベント ( 命令 )
12
68
-
NMI
アドレス一致検出
(HW-INT9)
ストリング命令実行中に割込み
が発生した , または現在の命令
の実行が終了していて , 以下が
成立する場合
ILM > IL
IL
U0...U7 P == 1
I == 1
同じ IL の要求が複数ある場合
は , 最も小さい IRQ 番号の要求
が受け付けられる。
周辺 IRQ
ストリング命令実行中に割込み
が発生した , または現在の命令
の実行が終了していて , 以下が
成立する場合
IL
ILM > IL
U0...U7
P == 1
I == 1
同じ IL で保留中の周辺 IRQ が
ない。
遅延 INT
ソフトウェア命令ブ
レーク (INTE)
受け付けられた場合の動作
CPU の状態を
システムス
タックに退避
S=1
ILM = IL
割込みベクタ
に分岐
ILM = IL
P=0
ILM = 2
I=0
P2
システム予約
9
INT9
-
I=0
10
未定義命令による
例外
-
I=0
すべて INT 命令
-
RETI 命令
-
常に受付け
-
FUJITSU MICROELECTRONICS LIMITED
I=0
CPU の状態の復元
(P, I, S, ILM を含む )
CM44-00203-3
第 6 章 割込み
6.8 多重割込み
F2MC-16FX ファミリ
IL および ILM
: 割込みレベルおよび割込みレベルマスク
I
: 割込み許可フラグ (PS の CCR 内 )
S
: スタックフラグ (PS の CCR 内 )
P
: 特権モードフラグ (PS の CCR 内 )
以下の表に , 割込みレベルの名称 , 対応する P フラグおよび ILM 値を示します。また ,
割込みレベルを要求割込み要因も記載します。
表 6.8-2 割込みレベル
名称
カテゴリ
P フラグ
ILM の値
優先度
備考
P0
0
0
最高
-
P1
0
1
-
P2
0
2
DSU
0
3
-
0
4
NMI
P5
0
5
-
P6
0
6
HW-INT9
P7
0
7
-
U0
1
0
U1
1
1
U2
1
2
U3
1
3
1
4
U5
1
5
U6
1
6
U7
1
7
P3
P4
U4
CM44-00203-3
特権モード
ユーザモード
周辺機能
最低
FUJITSU MICROELECTRONICS LIMITED
要求なし
69
第 6 章 割込み
6.9 例外
6.9
F2MC-16FX ファミリ
例外
F2MC-16FX では , 様々なソフトウェアおよびハードウェアイベントの発生時に例外
処理が行われます。
■ ソフトウェア例外 ( 命令コード )
ソフトウェア例外は常に受け付けられます。ソフトウェア割込みと同じく , ソフトウェ
ア例外はすべてのハードウェア割込みの受付けを無効にします。ソフトウェア例外は ,
以下のような命令コードの実行によって発生します。
● 未定義命令の実行
命令マップで定義されていないコードはすべて未定義命令として処理されます。未定
義命令が実行されると , ソフトウェア割込み命令 INT#10 と同じ処理が実行されます。
具体的には , スタックに退避しているプログラムカウンタ (PC) 値が , 未定義命令がス
トアされているアドレスです。処理は RETI 命令によって復帰しますが , 同じ例外が再
度発生するので復帰不能になります。
動作 :
SSP ←SSP-2, (SSP) ←AH
SSP ←SSP-2, (SSP) ←AL
SSP ←SSP-2, (SSP) ←DPR:ADB
SSP ←SSP-2, (SSP) ←DTB:PCB
SSP ←SSP-2, (SSP) ←PC
SSP ←SSP-2, (SSP) ←PS
S ←1, I ←0
PCB ←ベクタ #10 のアドレス ( 上位バイト )
PC ←ベクタ #10 のアドレス ( 下位ワード )
● INT9
この命令により , ベクタ #9 によって示される割込み処理ルーチンに分岐します。割込
みルーチンで RETI 命令を実行することで , INT9 命令後の処理に復帰します。
動作 :
SSP ←SSP-2, (SSP) ←AH
SSP ←SSP-2, (SSP) ←AL
SSP ←SSP-2, (SSP) ←DPR:ADB
SSP ←SSP-2, (SSP) ←DTB:PCB
SSP ←SSP-2, (SSP) ←PC+1
SSP ←SSP-2, (SSP) ←PS
S ←1, I ←0
70
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 6 章 割込み
6.9 例外
PCB ←ベクタ #9 のアドレス ( 上位バイト )
PC ←ベクタ #9 のアドレス ( 下位ワード )
● INTE( システム予約。DSU のみで利用可能 )
INTE は , インサーキットエミュレータ (ICE) を使用したデバッグシステムで , ソフト
ウェアブレークポイントを挿入する際に使用します。ソフトウェアブレーク命令の挿
入時に , 元の命令の最初のバイトが INTE と置き換わります。
この命令によって , DSU が定義する固定ベクタによって示された割込み処理ルーチン
に分岐します。スタックに退避されている PC の値は , INTE のストアされているアド
レスです。割込みルーチンで RETI 命令を実行すると , そこで処理が復帰します ( ソフ
トウェアブレークポイントを削除すれば INTE と元の命令を置き換えることができま
す )。
特権モードフラグ (P) はクリアされ , ILM レジスタは 2 に設定されます ( レベル P2)。
これにより , すべてのハードウェア割込みおよび例外が無効になります。P フラグおよ
び ILM は , RETI 命令の実行時に復帰します。
動作 :
SSP ←SSP-2, (SSP) ←AH
SSP ←SSP-2, (SSP) ←AL
SSP ←SSP-2, (SSP) ←DPR:ADB
SSP ←SSP-2, (SSP) ←DTB:PCB
SSP ←SSP-2, (SSP) ←PC
SSP ←SSP-2, (SSP) ←PS
S ←1, I ←0, P ←0, ILM ←2
PCB ←DSU 指定の固定ベクタ ( 上位バイト , 00H, DSU はアドレスを無視 )
PC ←DSU 指定の固定ベクタ ( 下位ワード , 0400H, DSU はアドレスを無視 )
DSU がなければ , INTE は未定義命令による例外と同じように処理されます。割込みベ
クタ #10 が参照されます。P フラグはクリアされず , ILM は更新されません。
■ ハードウェア例外 ( ノンマスカブルインタラプト )
ハードウェア例外は外部イベントのため , ソフトウェア命令ではマスクできません。現
在処理されているものよりもレベル番号が高いハードウェア例外は , RETI 命令の実行
によって以前のレベルに戻るまで保留されます。さらに , ハードウェア例外はすべての
ハードウェア割込みの受付けを無効にします。
複数のハードウェア例外が同時に発生する場合 , VEIB > VENMI > NMI > HW-INT9 の
優先順位で受け付けられます。ハードウェア例外は , 現在の割込みレベルマスクおよび
P フラグの設定で許可されている場合 , 各命令の実行終了後およびストリング命令の実
行中に受け付けられます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
71
第 6 章 割込み
6.9 例外
F2MC-16FX ファミリ
● HW-INT9
HW-INT9 は , アドレス一致検出機能で使用されます。この機能により , 内蔵デバッグ
サポート ( オペランドアドレスブレークまたはデータ値ブレーク ) や簡単なメモリ保護
が実現されています。
特権モードフラグ (P) はクリアされ , 割込みレベルマスク (ILM) は 6 に設定されます
( レベル P6)。これにより , 周辺機能からのすべてのハードウェア割込みが無効になり
ます。P フラグおよび ILM は , RETI 命令の実行時に復帰します。
動作 :
SSP ←SSP-2, (SSP) ←AH
SSP ←SSP-2, (SSP) ←AL
SSP ←SSP-2, (SSP) ←DPR:ADB
SSP ←SSP-2, (SSP) ←DTB:PCB
SSP ←SSP-2, (SSP) ←PC
SSP ←SSP-2, (SSP) ←PS
S ←1, P ←0, ILM ←6
PCB ←ベクタ #9 のアドレス ( 上位バイト )
PC ←ベクタ #9 のアドレス ( 下位ワード )
● NMI
ノンマスカブルインタラプト (NMI) は , 外部ハードウェアの例外処理を行います。
特権モードフラグ (P) はクリアされ , 割込みレベルマスク (ILM) は 4 に設定されます
( レベル P4)。これにより , 周辺機能からのすべてのハードウェア割込みおよび HWINT9 が無効になります。P フラグおよび ILM は , RETI 命令の実行時に復帰します。
動作 :
SSP ←SSP-2, (SSP) ←AH
SSP ←SSP-2, (SSP) ←AL
SSP ←SSP-2, (SSP) ←DPR:ADB
SSP ←SSP-2, (SSP) ←DTB:PCB
SSP ←SSP-2, (SSP) ←PC
SSP ←SSP-2, (SSP) ←PS
S ←1, P ←0, ILM ←4
PCB ←ベクタ #11 のアドレス ( 上位バイト )
PC ←ベクタ #11 のアドレス ( 下位ワード )
72
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 6 章 割込み
6.9 例外
● ツールブレーク (VENMI, システム予約 , DSU のみで利用可能 )
VENMI は DSU を使ったデバッグに使用します。様々なブレーク要因を実装していま
す。
特権モードフラグ (P) はクリアされ , 割込みレベルマスク (ILM) は 2 に設定されます
( レベル P2)。これにより , すべてのハードウェア割込みおよび例外が無効になります。
P フラグおよび ILM は , RETI 命令の実行時に復帰します。
動作 :
SSP ←SSP-2, (SSP) ←AH
SSP ←SSP-2, (SSP) ←AL
SSP ←SSP-2, (SSP) ←DPR:ADB
SSP ←SSP-2, (SSP) ←DTB:PCB
SSP ←SSP-2, (SSP) ←PC
SSP ←SSP-2, (SSP) ←PS
S ←1, P ←0, ILM ←2
PCB ←DSU 指定の固定ベクタ ( 上位バイト , 00H, DSU はアドレスを無視 )
PC ←DSU 指定の固定ベクタ ( 下位ワード , 0400H, DSU はアドレスを無視 )
● 命令ブレーク (VEIB, システム予約 , DSU のみで利用可 )
VEIB は , DSU を使ったデバッグに使用します。命令実行後の命令ブレークを実装して
います。VEIB は , ほかのハードウェア例外とは反対に , ストリング命令の実行中は受
け付けられません。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
73
第 6 章 割込み
6.9 例外
74
F2MC-16FX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第7章
アドレス指定方式
F2MC-16FX の各命令におけるアドレス指定方式に
ついて説明します。
アドレス指定方式では , 使用するデータやアドレス
を指定します。
F2MC-16FX では , 実効アドレス指定または使用す
る命令コード自体でアドレス形式 ( 絶対アドレス ,
相対アドレス ) が決定されます。命令コード自体で
アドレス形式が決定するときは , 使用する命令コー
ドに合わせてアドレスを指定します。
また , 命令によっては , 数種類のアドレス指定方式
を指定できるものがあります。
7.1 実効アドレスフィールド
7.2 直接アドレス指定方式
7.3 間接アドレス指定方式
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
75
第 7 章 アドレス指定方式
7.1 実効アドレスフィールド
7.1
F2MC-16FX ファミリ
実効アドレスフィールド
実効アドレスフィールドで指定されるアドレス形式を表 7.1-1 に示します。
■ 実効アドレスフィールド
表 7.1-1 実効アドレスフィールド
コード
76
表記
アドレス形式
00H
R0
RW0
RL0
01H
R1
RW1
(RL0)
02H
R2
RW2
RL1
03H
R3
RW3
(RL1)
バイト
04H
R4
RW4
RL2
ワード
05H
R5
RW5
(RL2)
06H
R6
RW6
RL3
07H
R7
RW7
(RL3)
08H
@RW0
09H
@RW1
0AH
@RW2
0BH
@RW3
デフォルト
バンク
レジスタ直接
( 注意事項 ) 左の表記欄の汎用レジスタ名は ,
なし
ロングワード
の型に対応します。
DTB
レジスタ間接
DTB
ADB
SPB
0CH
@RW0+
DTB
0DH
@RW1+
DTB
0EH
@RW2+
0FH
@RW3+
SPB
10H
@RW0+disp8
DTB
11H
@RW1+disp8
DTB
12H
@RW2+disp8
13H
@RW3+disp8
ポストインクリメント付レジスタ間接
ADB
ADB
8 ビットディスプレースメント付
SPB
DTB
14H
@RW4+disp8
15H
@RW5+disp8
16H
@RW6+disp8
ADB
17H
@RW7+disp8
SPB
18H
@RW0+disp16
DTB
19H
@RW1+disp16
DTB
1AH
@RW2+disp16
1BH
@RW3+disp16
レジスタ間接
16 ビットディスプレースメント付
レジスタ間接
DTB
ADB
SPB
1CH
@RW0+RW7
インデックス付レジスタ間接
DTB
1DH
@RW1+RW7
DTB
1EH
@PC+disp16
インデックス付レジスタ間接
16 ビットディスプレースメント付 PC 間接
1FH
addr16
直接アドレス
DTB
FUJITSU MICROELECTRONICS LIMITED
PCB
CM44-00203-3
第 7 章 アドレス指定方式
7.2 直接アドレス指定方式
F2MC-16FX ファミリ
7.2
直接アドレス指定方式
直接アドレス指定方式では , オペランドに値 , レジスタおよびアドレスを直接指定し
ます。
■ 直接アドレス指定方式
● 即値 (#imm)
オペランドの値を直接指定します。即値には , データによって以下の 4 種類があります。
• #imm4
• #imm8
• #imm16
• #imm32
● レジスタ直接
オペランドとしてレジスタを直接指定します。指定できるレジスタを以下に示します。
• 汎用レジスタ ( バイト )
: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)
は命令のオペランドに記述しませんが , 自動的に指定されます。
● 直接分岐アドレス (addr16)
分岐先のアドレスをディスプレースメントで直接指定します。ディスプレースメント
のアドレス長は 16 ビットで , 論理空間内での分岐先を示します。無条件分岐命令およ
びサブルーチン呼び出し命令に使用します。アドレスの bit16 ∼ bit23 はプログラムカ
ウンタバンクレジスタ (PCB) により示されます。
● 物理直接分岐アドレス (addr24)
分岐先の物理アドレスをディスプレースメントで直接指定します。ディスプレースメ
ントのデータ長は 24 ビットです。無条件分岐命令 , サブルーチン呼び出し命令 , ソフ
トウェア割込み命令に使用します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
77
第 7 章 アドレス指定方式
7.2 直接アドレス指定方式
F2MC-16FX ファミリ
● I/O 直接 (io)
オペランドのメモリアドレスを 8 ビットのディスプレースメントで直接指定しましま
す。
データバンクレジスタ (DTB), ダイレクトページレジスタ (DPR) の値にかかわらず ,
物理アドレス 000000H ∼ 0000FFH 番地の I/O 空間がアクセスされます。このアドレス
指定を使用した命令の前にバンク指定用のバンクセレクトプリフィックスを記述して
も無効です。
● 短縮直接アドレス (dir)
オペランドでメモリアドレスの下位 8 ビットを指定します。アドレスの bit8 ∼ bit15 は
ダイレクトページレジスタ (DPR) により指定されます。アドレスの bit16 ∼ bit23 はデー
タバンクレジスタ (DTB) により示されます。
● 直接アドレス (addr16)
オペランドでメモリアドレス下位 16 ビットを直接指定します。アドレスの bit16 ∼ bit23
はデータバンクレジスタ (DTB) により示されます。
● I/O 直接ビットアドレス (io:bp)
ビットの位置は :bp
物理アドレス 000000H ∼ 0000FFH 番地内のビットを直接指定します。
で表します。数字の大きい方が最上位ビット , 小さい方が最下位ビットとなります。
● 短縮直接ビットアドレス (dir:bp)
オペランドでメモリアドレスの下位 8 ビットを直接指定します。また , アドレスの bit8 ∼
bit15 はダイレクトページレジスタ (DPR) により示されます。アドレスの bit16 ∼ bit23
はデータバンクレジスタ (DTB) により示されます。ビットの位置は :bp で表します。数
字の大きい方が最上位ビット , 小さい方が最下位ビットとなります。
● 直接ビットアドレス (addr16:bp)
64K バイト内の任意のビットに対し直接指定します。アドレスの bit16 ∼ bit23 はデー
タバンクレジスタ (DTB) により示されます。ビット位置は :bp で表します。数字の大
きい方が最上位ビット , 小さい方が最下位ビットとなります。
● ベクタアドレス (#vct)
分岐先のアドレスは指定されたベクタの内容となります。ベクタ番号のデータ長には
4 ビットと 8 ビットの 2 種類があります。サブルーチン呼び出し命令 , ソフトウェア割
込み命令に使用します。
78
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
7.3
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
間接アドレス指定方式
間接アドレス指定方式では , 記述したオペランドが示すアドレスのデータで間接的に
アドレスを指定します。
■ 間接アドレス指定方式
● レジスタ間接 (@RWj j=0 ∼ 3)
汎用レジスタ RWj の内容に示されるアドレスの , メモリをアクセスするアドレス指定
方式です。アドレスの bit16 ∼ bit23 は , RW0/RW1 を用いた場合にはデータバンクレジ
スタ (DTB), RW3 を用いた場合には SPB, RW2 を用いた場合にはアディショナルデータ
バンクレジスタ (ADB) により示されます。
● ポストインクリメント付きレジスタ間接 (@RWj+ j=0 ∼ 3)
汎用レジスタ RWj の内容に示されるアドレスのメモリをアクセスするアドレス指定方
式です。オペランド操作後 RWj は , オペランドデータ長 ( バイトのときは 1, ワードの
ときは 2, ロングワードのときは 4) 分だけインクリメント ( 加算 ) されます。アドレス
の bit16 ∼ bit23 は , RW0/RW1 を用いた場合にはデータバンクレジスタ (DTB), RW3 を
用いた場合には SPB, RW2 を用いた場合にはアディショナルデータバンクレジスタ
(ADB) により示されます。
ポストインクリメントした結果がインクリメント指定をしたレジスタ自身のアドレス
であった場合 , その後に参照される値はインクリメントした値となります。そのため ,
そのレジスタにデータを書き込む命令の場合には , 命令による書込みの方が優先され
るため , インクリメントするはずであったレジスタの値は書込みデータになります。
● ディスプレースメント付きレジスタ間接 (@RWi+disp8 i=0 ∼ 7,@RWj+disp16 j=0 ∼ 3)
汎用レジスタ RWj の内容にディスプレースメントを加算した値で示されるアドレスの
メモリをアクセスするアドレス指定方式です。ディスプレースメントは , バイトまたは
ワードの 2 種類があり , 符号付き数値として加算されます。アドレスの bit16 ∼ bit23 は ,
RW0/RW1/RW4/RW5 を用いた場合はデータバンクレジスタ (DTB) により示されます。
RW3/RW7 を用いた場合は SPB, RW2/RW6 を用いた場合はアディショナルデータバン
クレジスタ (ADB) により示されます。
● ディスプレースメント付きロングレジスタ間接 (@RLi+disp8 i=0 ∼ 3)
汎用レジスタ RLi の内容にディスプレースメントを加算した結果の下位 24 ビットで示
されるアドレスのメモリをアクセスするアドレス指定方式です。ディスプレースメン
トは 8 ビットで , 符号付き数値として加算されます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
79
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
F2MC-16FX ファミリ
● ディスプレースメント付きプログラムカウンタ間接 (@PC+disp16)
( 命令のアドレス +4 +disp16) で示されるアドレスのメモリをアクセスするアドレス指
定方式です。ディスプレースメントはワード長です。アドレスの bit16 ∼ bit23 はプロ
グラムカウンタバンクレジスタ (PCB) により示されます。
次に示す命令のオペランドアドレスは , ( 次の命令のアドレス +disp16) とはみなしませ
んので注意してください。
• DBNZ
eam,rel
• DWBNQ
eam,rel
• CBNE
eam,#imm8,rel
• CWBNE
eam,#imm16,rel
• MOV
eam,#imm8
• MOVW
eam,#imm16
● ベースインデックス付きレジスタ間接 (@RW0+RW7,@RW1+RW7)
汎用レジスタ RW7 の内容に , RW0 または RW1 の内容を加算した値で示されるアドレ
スのメモリをアクセスするアドレス指定方式です。アドレスの bit16 ∼ bit23 はデータ
バンクレジスタ (DTB) により示されます。
● プログラムカウンタ相対分岐アドレス (rel)
分岐先のアドレスはプログラムカウンタ (PC) の値と 8 ビットのディスプレースメント
を加算した値となります。加算の結果が 16 ビットを超えた場合は , バンクレジスタの
インクリメントまたはデクリメントをせずに , 超えた分は無視されます。結果として ,
64K バイトのバンク内で閉じたアドレスとなります。これは無条件 / 条件分岐命令に使
用します。アドレスの bit16 ∼ bit23 はプログラムカウンタバンクレジスタ (PCB) によ
り示されます。
● レジスタリスト (rlst)
スタックに対するプッシュ / ポップの対象となるレジスタを指定します ( 図 7.3-1 参
照 )。
図 7.3-1 レジスタリストの構成
MSB
LSB
RW7
RW6
RW5
RW4
RW3
RW2
RW1
RW0
対応ビットが"1"のとき選択,"0"のとき非選択
● アキュムレータ間接 (@A)
アキュムレータの下位ワード (AL) の内容で示されるアドレスのメモリをアクセスする
アドレス指定方式です。アドレスの bit16 ∼ bit23 はデータバンクレジスタ (DTB) によ
り示されます。
80
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
● アキュムレータ間接分岐アドレス (@A)
分岐先アドレスは , アキュムレータの下位ワード (AL) の内容で示されるアドレスとな
ります。
バンク空間内での分岐先を示し , アドレスの bit16 ∼ bit23 はプログラムカウンタバンク
レジスタ (PCB) で示されます。ただし , JCTX(Jump Context) 命令の場合はアドレスの
bit16 ∼ bit23 はデータバンクレジスタ (DTB) で示されます。このアドレス指定は無条
件分岐命令のときに使用します。
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
81
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
82
F2MC-16FX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第8章
命令細則
アセンブラで使用される各実行命令について , リ
ファレンス形式で説明します。なお , 各実行命令は ,
アルファベット順に掲載します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
83
第 8 章 命令細則
8.1 命令細則の読み方
8.1
F2MC-16FX ファミリ
命令細則の読み方
命令ごとに下記の項目について説明しています。
■ 命令細則の読み方
● アセンブラ形式
各命令をアセンブラのソースプログラムに記述する際の記述形式を示します。
• 英大文字 , 記号 …………ソースプログラム中にそのまま表記します。
• 英小文字…………………ソースプログラム中は , 書き換えて記述します。
• 英小文字のあとの数……命令中のビット幅を示します。
● オペレーション
命令の実行によるレジスタやデータの操作を示します。
● CCR
コンディションコードレジスタ (CCR) の各フラグ (I, S, T, N, Z, V, C) の状態を示しま
す。
• *……命令の実行により変化します。
• −……変化しません。
• S……命令の実行によりセットされます。
• R……命令の実行によりクリアされます。
● バイト数 , サイクル数
命令のバイト数 , 命令実行時のサイクル数 , 奇数アドレス補正のサイクル数を示しま
す。
バイト数の所で "2+" のように " 数値 +" と書かれているときは , 付録 A.3 に示される
「アドレス拡張のバイト数」が数値に加算されて , 命令のバイト数を示します。
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令のサイクル数の値と , 条
件により決まる奇数アドレス補正の値を加算することにより得られます。
● 実行例
各命令の実行例を示します。
実行例中の数値データはすべて 16 進数です。オペランド中の数値データは , サフィッ
クス (H) を付加して 16 進数を表しています。
84
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.1 命令細則の読み方
F2MC-16FX ファミリ
■ 命令細則中で使用される記号 ( 略称 )
表 8.1-1 に命令細則中で使用される記号の一覧を示します。
表 8.1-1 命令細則中で使用される記号 ( 略称 )
表記
A
AH
AL
SP
PC
PCB
DTB
ADB
SSB
USB
DPR
brg1
brg2
brg3
Ri
Rj
Rwi
RWj
RLi
dir
addr16
addr24
ad24 0-15
ad24 16-23
io
imm4
imm8
imm16
imm32
ext(imm8)
disp8
disp16
bp
vct4
vct8
( )b
rel
ear
eam
rlst
CM44-00203-3
意味
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト…AL の下位 8 ビット
ワード…AL の 16 ビット
ロング…AL:AH の 32 ビット
A の上位 16 ビット
A の下位 16 ビット
スタックポインタ (USP or SSP)
プログラムカウンタ
プログラムカウンタバンクレジスタ
データバンクレジスタ
アディショナルデータバンクレジスタ
システムスタックバンクレジスタ
ユーザスタックバンクレジスタ
ダイレクトページレジスタ
DTB, ADB, SSB, USB, DPR, PCB
DTB, ADB, SSB, USB, DPR
DTB, ADB, PCB, SPB
R0, R1, R2, R3, R4, R5, R6, R7
R0, R1, R2, R3
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RW0, RW1, RW2, RW3
RL0, RL1, RL2, RL3
短縮直接アドレス指定
直接アドレス指定
物理直接アドレス指定
addr24 の bit0 ∼ bit15
addr24 の bit16 ∼ bit23
I/O 領域 (000000H ∼ 0000FFH)
4 ビット即値データ
8 ビット即値データ
16 ビット即値データ
32 ビット即値データ
8 ビット即値データを符号拡張した 16 ビットデータ
8 ビットディスプレースメント
16 ビットディスプレースメント
ビットオフセット値
ベクタ番号 (0 ∼ 15)
ベクタ番号 (0 ∼ 255)
ビットアドレス
PC 相対分岐指定
実効アドレス指定 ( コード 00H ∼ 07H)
実効アドレス指定 ( コード 08H ∼ 1FH)
レジスタリスト
FUJITSU MICROELECTRONICS LIMITED
85
第 8 章 命令細則
8.1 命令細則の読み方
F2MC-16FX ファミリ
■ 実行サイクル数
命令の実行に要するサイクル数は , 各命令の「サイクル数」の値 , データのアクセス条
件により決まる「奇数アドレス補正」の値を加算することで得られます。
実際の命令実行においては , 命令フェッチの遅れ , データアクセスの競合等により , 実
行サイクル数が計算値より増大することがあります。とくに , 外部バスインタフェース
を使用して , 外部バスからの命令フェッチや , データアクセスを行うときには , 実行サ
イクル数が増大します。
■ 奇数アドレス補正
一部の命令においては,奇数アドレスへのデータアクセスを行うときに実行サイクルが
増大します。奇数アドレスへのデータアクセスで増大するサイクル数を奇数アドレス
補正として示してあります。
86
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.2 ADD (Add Byte Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
8.2
ADD (Add Byte Data of Destination and Source to
Destination)
第 1 オペランドのバイトデータと , 第 2 オペランドのバイトデータを加算して , 結果
を第 1 オペランドに格納します。
第 1 オペランドがアキュムレータ (A) のときは , AL の上位バイトには 00H が転送され
ます。
● アセンブラ形式
ADD A,#imm8
ADD A,dir
ADD A,ear
ADD A,eam
ADD ear,A
ADD eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド )+( 第 2 オペランド ) 【バイト加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
A
ear
eam
第 2 オペランド
#imm8
dir
ear
eam
A
A
バイト数
2
2
2
2+
2
2+
サイクル数
1
2
1
2
1
3
FUJITSU MICROELECTRONICS LIMITED
87
第 8 章 命令細則
8.2 ADD (Add Byte Data of Destination and Source to
Destination)
● 実行例
F2MC-16FX ファミリ
ADD A,0E021H
この例では , AL の下位バイトデータ (46H) に , E021H 番地のバイトデータ (ABH) を加
算します。
AH
A
AL
×× ××
A 0
AH
4 6
0 0
F 1
CCR × 1 0 0 0
T N Z V C
T N Z V C
B
メモリ
E021
実行前
88
×× ××
CCR ×××××
メモリ
A
A
AL
A
B
E021
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.3 ADDC (Add Byte Data of AL and AH with Carry to AL)
F2MC-16FX ファミリ
8.3
ADDC (Add Byte Data of AL and AH with Carry to
AL)
AL の下位バイトデータと AH の下位バイトデータとキャリフラグ (C) を加算し , 結
果を AL に戻します。AL の上位バイトには 00H が転送されます。
● アセンブラ形式
ADDC A
● オペレーション
(AL) ← (AH) + (AL) + (C) 【キャリ付きバイト加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
ADDC A
この例では , AH の下位バイトデータ (05H) に , AL の下位バイトデータ (D4H) と C フラ
グ ("0") を加算します。
AH
A
0 5
AL
0 5
0 0
D 4
A
0 5
AL
0 5
0 0
D 9
CCR ×××× 0
CCR × 1 0 0 0
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
89
第 8 章 命令細則
8.4 ADDC (Add Byte Data of Accumulator and Effective Address
with Carry to Accumulator)
8.4
F2MC-16FX ファミリ
ADDC (Add Byte Data of Accumulator and Effective
Address with Carry to Accumulator)
アキュムレータ (A) の最下位バイトデータと実効アドレスのバイトデータとキャリ
フラグ (C) を加算し , 結果を A の最下位バイトに戻します。AL の上位バイトには
00H が転送されます。
● アセンブラ形式
ADDC A,ear
ADDC A,eam
● オペレーション
(A) ← (A) + ( 第 2 オペランド ) + (C) 【キャリ付きバイト加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
90
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
1
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.4 ADDC (Add Byte Data of Accumulator and Effective Address
with Carry to Accumulator)
F2MC-16FX ファミリ
● 実行例
ADDC A,E035H
この例では , AL の下位バイトデータ (46H) に , E035H 番地のバイトデータ (D5H) と C フ
ラグ ("1") を加算します。
AH
A
AL
×× ××
A 0
AH
4 6
×× ××
0 0
2 C
CCR ××××1
CCR × 0 0 0 1
T N Z V C
T N Z V C
メモリ
D 5
メモリ
E035
実行前
CM44-00203-3
A
AL
D 5
E035
実行後
FUJITSU MICROELECTRONICS LIMITED
91
第 8 章 命令細則
8.5 ADDCW (Add Word Data of Accumulator and Effective
Address with Carry to Accumulator)
8.5
F2MC-16FX ファミリ
ADDCW (Add Word Data of Accumulator and
Effective Address with Carry to Accumulator)
アキュムレータ (A) の下位ワードデータ (AL), 第 2 オペランドの示すワードデータ ,
およびキャリフラグ (C) を加算し , 結果を A の下位ワードに戻します。
● アセンブラ形式
ADDCW A,ear
ADDCW A,eam
● オペレーション
(A) ← (A) + ( 第 2 オペランド ) + (C) 【キャリ付きワード加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
92
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
1
2
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.5 ADDCW (Add Word Data of Accumulator and Effective
Address with Carry to Accumulator)
F2MC-16FX ファミリ
● 実行例
ADDCW A,@RW0+
この例では , AL のワードデータ (2068H) に , 第 2 オペランド (@RW0+) で示されるアド
レス (E024H) のワードデータ (8952H) と C フラグ ("1") を加算します。
AH
A
RWO
AL
AH
×× ××
2 0
E0
CCR ××××1
24
6 8
A
RWO
AL
×× ××
A 9
E 0
CCR × 1 0 0 0
2 6
T N Z V C
メモリ
T N Z V C
メモリ
8 9
E025
8 9
E025
5 2
E024
5 2
E024
実行前
CM44-00203-3
B B
実行後
FUJITSU MICROELECTRONICS LIMITED
93
第 8 章 命令細則
8.6 ADDDC (Add Decimal Data of AL and AH with Carry to AL)
8.6
F2MC-16FX ファミリ
ADDDC (Add Decimal Data of AL and AH with Carry
to AL)
AL の下位バイトデータと AH の下位バイトデータとキャリフラグ (C) を 10 進加算
し , 結果を AL の下位バイトに戻します。AL の上位バイトには 00H が転送されま
す。
● アセンブラ形式
ADDDC A
● オペレーション
(AL) ← (AH) + (AL) + (C) 【キャリ付き 10 進演算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −不定
C − 10 進演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :2
● 実行例
ADDDC A
この例では , AL の下位バイトデータ (62H) に , AH の下位バイトデータ (58H) と C フラ
グ ("0") を 10 進加算します。
AH
A
× ×
AL
6 2
× ×
5 8
A
× ×
AL
6 2
0 0
2 0
CCR ×××× 0
CCR × 0 0 × 1
T N Z V C
T N Z V C
実行前
94
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.7 ADDL (Add Long Word Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
8.7
ADDL (Add Long Word Data of Destination and
Source to Destination)
第 1 オペランドに記述された演算項のロングワードデータと第 2 オペランドに記述
された被演算項のロングワードデータを加算して , 結果を第 1 オペランドに戻しま
す。
● アセンブラ形式
ADDL A,#imm32
ADDL A,ear
ADDL A,eam
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド )+( 第 2 オペランド ) 【ロングワード加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
第 2 オペランド
#imm32
ear
eam
バイト数
5
2
2+
サイクル数
2
2
3
奇数アドレス補正
0
0
1
FUJITSU MICROELECTRONICS LIMITED
95
第 8 章 命令細則
8.7 ADDL (Add Long Word Data of Destination and Source to
Destination)
● 実行例
F2MC-16FX ファミリ
ADDL A,0E077H
この例では , アキュムレータ (A) のロングワードデータ (85B7A073H) に , E077H 番地の
ロングワードデータ (357F41ABH) を加算します。
AH
A
8 5
AL
B 7
A 0
AH
7 3
A
B B
AL
3 6
E 2
1 E
CCR ××××× CCR × 1 0 0 0
T N Z V C
メモリ
メモリ
3 5
E07A
3 5
E07A
7 F
E079
7 F
E079
4 1
E078
4 1
E078
A B
E077
A B
E077
実行前
96
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.8 ADDSP (Add Word Data of Stack Pointer and Immediate
Data to Stack Pointer)
F2MC-16FX ファミリ
8.8
ADDSP (Add Word Data of Stack Pointer and
Immediate Data to Stack Pointer)
SP( スタックポインタ ) のワードデータと 8 ビットの即値データを符号拡張した値 ,
または 16 ビットの即値データを加算し , 結果を SP に戻します。加算結果が 16 ビッ
トを超えると桁落ちが発生します。
アンダフロー ( 桁落ち ) が発生したかどうかは , CCR で確認することはできません。
● アセンブラ形式
(1) ADDSP #imm8
(2) ADDSP #imm16
● オペレーション
(1) (SP) ← (SP) + 符号拡張した imm8
【ワード加算】
(2) (SP) ← (SP) + imm16
【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
オペランド
CM44-00203-3
#imm8 #imm16
バイト数
2
3
サイクル数
1
1
FUJITSU MICROELECTRONICS LIMITED
97
第 8 章 命令細則
8.8 ADDSP (Add Word Data of Stack Pointer and Immediate
Data to Stack Pointer)
● 実行例
F2MC-16FX ファミリ
ADDSP #89BAH
この例では , SP に 16 ビット即値データ (89BAH) を符号付で加算します。加算結果が
16 ビットを超えるためアンダフローが発生します。
SP
E 2
A 4
CCR × 0 0 0 0
T N Z V C
実行前
98
SP
6 C
CCR
×0 0 0 0
5 E
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.9 ADDW (Add Word Data of AL and AH to AL)
F2MC-16FX ファミリ
8.9
ADDW (Add Word Data of AL and AH to AL)
AH と AL のワードデータを加算して , 結果を AL に戻します。
● アセンブラ形式
ADDW A
● オペレーション
(AL) ← (AH) + (AL) 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
ADDW A
この例では , AL のワードデータ (7F23H) に , AH のワードデータ (83A2H) を加算しま
す。オーバフローが発生するため C フラグをセットします。
AH
A
8 3
AL
A 2
7 F
AH
2 3
A
8 3
AL
A 2
CCR ×××××
0 2
CCR × 0 0 0 1
T N Z V C
実行前
CM44-00203-3
C 5
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
99
第 8 章 命令細則
8.10 ADDW (Add Word Data of Destination and Source to
Destination)
8.10
F2MC-16FX ファミリ
ADDW (Add Word Data of Destination and Source to
Destination)
第 1 オペランドに記述された演算項のワードデータと第 2 オペランドに記述された
被演算項のワードデータを加算して , 結果を第 1 オペランドに戻します。
● アセンブラ形式
ADDW A,#imm16
ADDW A,ear
ADDW A,eam
ADDW ear,A
ADDW eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド )+( 第 2 オペランド ) 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
100
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm16
ear
eam
A
A
バイト数
3
2
2+
2
2+
サイクル数
1
1
2
1
3
奇数アドレス補正
0
0
1
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.10 ADDW (Add Word Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
● 実行例
ADDW @RW0+1,A
この例では , 第 1 オペランド (@RW0+1) で示されるアドレス (E2A5H) のワードデータ
(315DH) に , AL のワードデータ (CD04H) を加算します。
AH
A
RWO
AL
AH
×× ××
C D
E2
CCR ×××××
A4
0 4
A
RWO
AL
×× ××
C D
E 2
CCR × 1 0 0 0
A 4
T N Z V C
メモリ
T N Z V C
メモリ
3 1
E2A6
F E
E2A6
5 D
E2A5
6 1
E2A5
××
E2A4
××
E2A4
実行前
CM44-00203-3
0 4
実行後
FUJITSU MICROELECTRONICS LIMITED
101
第 8 章 命令細則
8.11 AND (And Byte Data of Destination and Source to
Destination)
8.11
F2MC-16FX ファミリ
AND (And Byte Data of Destination and Source to
Destination)
第 1 オペランドに記述された演算項のバイトデータと第 2 オペランドに記述された
被演算項のバイトデータで論理積演算を行い , 結果を第 1 オペランドに戻します。
● アセンブラ形式
AND A,#imm8
AND A,ear
AND A,eam
AND ear,A
AND eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド )and( 第 2 オペランド ) 【バイト論理積】
第 1 オペランドのバイトデータと第 2 オペランドのバイトデータをビットごとに論理
積をとり , 第 1 オペランドに戻します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
102
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm8
ear
eam
A
A
バイト数
2
2
2+
2
2+
サイクル数
1
1
2
1
3
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.11 AND (And Byte Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
● 実行例
AND 0052H,A
この例では , 0052H 番地のバイトデータ (FAH) に , AL の下位バイトデータ (55H) を論理
積演算 (AND) します。
AH
A
AL
×× ××
0 0
AH
5 5
A
AL
×× ××
CCR ×××××
0 0
CCR × 0 0 0 ×
T N Z V C
メモリ
F A
CM44-00203-3
T N Z V C
メモリ
0052
実行前
5 5
5 0
0052
実行後
FUJITSU MICROELECTRONICS LIMITED
103
第 8 章 命令細則
8.12 AND (And Byte Data of Immediate Data and Condition
Code Register)
8.12
F2MC-16FX ファミリ
AND (And Byte Data of Immediate Data and
Condition Code Register)
コンディションコードレジスタ (CCR) のバイトデータと 8 ビットの即値データで論
理積演算を行い , 結果を CCR に戻します。
バイトデータの最上位ビットの論理積演算は行われません。
● アセンブラ形式
AND CCR, #imm8
● オペレーション
(CCR) ← (CCR) and imm8 【バイト論理積】
● CCR
I
S
T
N
Z
V
C
*
*
*
*
*
*
*
I −演算結果の bit6 が入ります。
S −演算結果の bit5 が入ります。
T −演算結果の bit4 が入ります。
N −演算結果の bit3 が入ります。
Z −演算結果の bit2 が入ります。
V −演算結果の bit1 が入ります。
C −演算結果の bit0 が入ります。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
104
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.12 AND (And Byte Data of Immediate Data and Condition
Code Register)
F2MC-16FX ファミリ
● 実行例
AND CCR,#57H
この例では , CCR の値 (0110101B) に , 即値データ (57H) を論理積演算 (AND) します。
AH
A
CCR
AL
×× ××
AH
×× ××
A
I
S
T
N
Z
V
C
0
1
1
0
1
0
1
CCR
AL
×× ××
×× ××
I
S
T
N
Z
V
C
0
0
1
0
1
0
1
ILM2 ILM1 ILM0
ILM
×
×
MSB
RP ×
実行前
CM44-00203-3
×
LSB
×
×
×
ILM2 ILM1 ILM0
×
ILM
×
×
MSB
RP ×
×
LSB
×
×
×
×
実行後
FUJITSU MICROELECTRONICS LIMITED
105
第 8 章 命令細則
8.13 ANDL (And Long Word Data of Destination and Source to
Destination)
8.13
F2MC-16FX ファミリ
ANDL (And Long Word Data of Destination and
Source to Destination)
アキュムレータ (A) と第 2 オペランドのロングワードデータでビットごとに論理積
演算を行い , 結果を A に戻します。
● アセンブラ形式
ANDL A,ear
ANDL A,eam
● オペレーション
(A) ← (A) and ( 第 2 オペランド ) 【ロングワード論理積】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
106
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
2
3
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.13 ANDL (And Long Word Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
● 実行例
ANDL A,0FFF0H
この例では , アキュムレータ (A) のロングワードデータ (8252FEACH) に , FFF0H 番地の
ロングワードデータ (FF55AA00H) を論理積演算 (AND) します。
AH
A
8 2
AL
5 2
F E
AH
A C
A
8 2
AL
5 0
A A
0 0
CCR ××××× CCR × 1 0 0 ×
T N Z V C
メモリ
メモリ
F F
FFF3
F F
FFF3
5 5
FFF2
5 5
FFF2
A A
FFF1
A A
FFF1
0 0
FFF0
0 0
FFF0
実行前
CM44-00203-3
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
107
第 8 章 命令細則
8.14 ANDW (And Word Data of AH and AL to AL)
F2MC-16FX ファミリ
ANDW (And Word Data of AH and AL to AL)
8.14
AH と AL のワードデータで論理積演算を行い , 結果を AL に戻します。
● アセンブラ形式
ANDW A
● オペレーション
(AL) ← (AH) and (AL) 【ワード論理積】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
ANDW A
この例では , AL のワードデータ (AB98H) に , AH のワードデータ (0426H) を論理積演算
(AND) します。
AH
A
0 4
AL
2 6
A B
AH
9 8
A
0 4
AL
2 6
0 0
0 0
CCR ××××× CCR × 0 1 0 ×
T N Z V C
実行前
108
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.15 ANDW (And Word Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
8.15
ANDW (And Word Data of Destination and Source to
Destination)
第 1 オペランドに記述された演算項のワードデータと第 2 オペランドに記述された
被演算項のワードデータで論理積演算を行い , 結果を第 1 オペランドに戻します。
● アセンブラ形式
ANDW A,#imm16
ANDW A,ear
ANDW A,eam
ANDW ear,A
ANDW eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド )and ( 第 2 オペランド ) 【ワード論理積】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm16
ear
eam
A
A
バイト数
3
2
2+
2
2+
サイクル数
1
1
2
1
3
奇数アドレス補正
0
0
1
0
2
FUJITSU MICROELECTRONICS LIMITED
109
第 8 章 命令細則
8.15 ANDW (And Word Data of Destination and Source to
Destination)
● 実行例
F2MC-16FX ファミリ
ANDW 0E001H,A
この例では , 0E001H 番地のワードデータ (8342H) に , AL のワードデータ (5963H) を論
理積演算 (AND) します。
AH
A
AL
×× ××
5 9
AH
6 3
×× ××
5 9
6 3
CCR ×××××
CCR × 0 0 0 ×
T N Z V C
T N Z V C
メモリ
メモリ
8 3
E002
0 1
E002
4 2
E001
4 2
E001
実行前
110
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.16 ASR (Arithmetic Shift Byte Data of Accumulator to Right)
F2MC-16FX ファミリ
8.16
ASR (Arithmetic Shift Byte Data of Accumulator to
Right)
アキュムレータ (A) の最下位バイトデータを第 2 オペランドで示されるビット数だ
け算術右シフトします。A の最下位バイトデータの最上位ビットは変化しません。
最下位ビットからシフトアウトされたビットはコンディションコードレジスタ (CCR)
のキャリフラグ (C) に入ります。
● アセンブラ形式
ASR A,R0
● オペレーション
MSB
LSB
C
T
AL
1
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − キャリよりシフトアウトされたデータに 1 つ以上 "1" であるビットがあればセット ,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロのと
きはクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
111
第 8 章 命令細則
8.16 ASR (Arithmetic Shift Byte Data of Accumulator to Right)
F2MC-16FX ファミリ
● 実行例
ASR A,R0
この例では , AL の下位バイトデータ (96H) を , R0 が示すビット数 (3 ビット ) 算術右シ
フトします。
AH
A
AL
×× ××
RO
0 3
××
AH
9 6
CCR ×××××
A
AL
×× ××
RO
0 3
T N Z V C
実行前
112
××
F 2
CCR 1 1 0 × 1
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.17
第 8 章 命令細則
8.17 ASRL (Arithmetic Shift Long Word Data of Accumulator to
Right)
ASRL (Arithmetic Shift Long Word Data of
Accumulator to Right)
アキュムレータ (A) のロングワードデータを第 2 オペランドで示されるビット数だ
け算術右シフトします。
A の最上位ビットは変化しません。最下位ビットからシフトアウトされたビットはコ
ンディションコードレジスタ (CCR) のキャリフラグ (C) に入ります。
● アセンブラ形式
ASRL A,R0
● オペレーション
MSB
LSB
C
T
1
A
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − キャリよりシフトアウトされたデータに1つ以上"1"であるビットがあればセット,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロのと
きはクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
113
第 8 章 命令細則
8.17 ASRL (Arithmetic Shift Long Word Data of Accumulator to
Right)
● 実行例
F2MC-16FX ファミリ
ASRL A,R0
この例では , アキュムレータ (A) のロングワードデータ (12345678H) を , R0 が示すビッ
ト数 (2 ビット ) 算術右シフトします。
AH
A
1 2
AL
5 6
3 4
RO
AH
7 8
A
0 4
AL
RO
0 2
CCR ×××× 0
CCR
114
9 E 0 2
1 0 0 × 0
T N Z V C
T N Z V C
実行前
1 5
8 D
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.18
第 8 章 命令細則
8.18 ASRW (Arithmetic Shift Word Data of Accumulator to Right)
ASRW (Arithmetic Shift Word Data of Accumulator
to Right)
アキュムレータ (A) の下位ワードデータを 1 ビットだけ算術右シフトします。
A の下位ワードデータの最上位ビットは変化しません。最下位ビットからシフトアウ
トされたビットはキャリフラグ (C) に入ります。
● アセンブラ形式
ASRW A
● オペレーション
MSB
LSB
C
T
AL
1
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − 旧キャリの値が "1" か旧 T の値が "1" であればセット , それ以外であればクリアさ
れます。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の LSB からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
115
第 8 章 命令細則
8.18 ASRW (Arithmetic Shift Word Data of Accumulator to Right)
F2MC-16FX ファミリ
● 実行例
ASRW A
この例では , AL のワードデータ (A096H) を , 1 ビット算術右シフトします。
AH
A
AL
× × × ×
A 0
9 6
A
AL
× × × ×
D 0
4 B
CCR 0 × × × 1
CCR 1 1 0 × 0
T N Z V C
T N Z V C
実行前
116
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.19
第 8 章 命令細則
8.19 ASRW (Arithmetic Shift Word Data of Accumulator to Right)
ASRW (Arithmetic Shift Word Data of Accumulator
to Right)
アキュムレータ (A) の下位ワードデータを第 2 オペランドで示されるビット数だけ
算術右シフトします。
A の下位ワードデータの最上位ビットは変化しません。最下位ビットからシフトアウ
トされたビットはコンディションコードレジスタ (CCR) のキャリフラグ (C) に入りま
す。
● アセンブラ形式
ASRW A,R0
● オペレーション
MSB
LSB
C
T
AL
1
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − キャリよりシフトアウトされたデータに 1 つ以上 "1" であるビットがあればセット ,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロのと
きはクリアされます。
● バイト数 , ステート数
バイト数 :2
ステート数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
117
第 8 章 命令細則
8.19 ASRW (Arithmetic Shift Word Data of Accumulator to Right)
F2MC-16FX ファミリ
● 実行例
ASRW A.R0
この例では , AL のワードデータ (A096H) を , R0 が示すビット数 (2 ビット ) 算術右シフ
トします。
AH
A
AL
×× ××
RO
0 2
AH
A 0 9 6
CCR ×××× 0
A
AL
×× ××
RO
0 2
T N Z V C
実行前
118
E 8
2 5
CCR 0 1 0 × 1
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.20 BBcc (Branch if Bit Condition satisfied)
F2MC-16FX ファミリ
8.20
BBcc (Branch if Bit Condition satisfied)
第 1 オペランドで示されるビットデータが条件を満たしたとき分岐します。
分岐先アドレスは BBcc 命令の次の命令のアドレスに , 符号拡張された第 2 オペランド
のデータをワード加算した番地となります。
● アセンブラ形式
BBC addr16:bp, rel
BBC dir:bp, rel
BBC io:bp, rel
BBS addr16:bp, rel
BBS dir:bp, rel
BBS io:bp, rel
● オペレーション
条件成立時
: (PC) ← (PC) + < バイト数 > + rel 【ワード加算】
条件不成立時
: (PC) ← (PC) + < バイト数 >
【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − −
*
− −
I, S, T, N −変化しません。
Z −ビットデータが "0" ならばセット , "1" ならばクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
BBcc
BBC
BBS
条件
ビットデータ =0
ビットデータ =1
第 1 オペランド
addr16:bp
dir:bp
io:bp
addr16:bp
dir:bp
io:bp
バイト数
5
4
4
5
4
4
サイクル数
5
5
5
5
5
5
FUJITSU MICROELECTRONICS LIMITED
119
第 8 章 命令細則
8.20 BBcc (Branch if Bit Condition satisfied)
F2MC-16FX ファミリ
● 実行例
BBC 1234H:7,12H
この例では , 1234H 番地のバイトデータ (7FH) の , bit7 が "0" のため分岐します ( 条件成
立時 )。
PC
E 1 0 0
E 1 1 7
メモリ
メモリ
× ×
× ×
7 F
120
+(12+バイト数5)→ PC
1234 :bit7=0
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
1234
CM44-00203-3
第 8 章 命令細則
8.21 Bcc (Branch relative if Condition satisfied)
F2MC-16FX ファミリ
8.21
Bcc (Branch relative if Condition satisfied)
命令ごとに決められた条件が成立したときに分岐します。
分岐先は , Bcc 命令の次の命令のアドレスに , 符号拡張されたオペランドのデータを
ワード加算した番地となります。
● アセンブラ形式
BZ/BEQ rel
BNZ/BNE rel
BC/BLO rel
BNC/BHS rel
BN
rel
BP
BV
rel
BNV
rel
BT
rel
BNT
rel
rel
BLT
rel
BGE
rel
BLE
rel
BGT
rel
BLS
rel
BHI
rel
BRA
rel
● オペレーション
条件成立時 : (PC) ← (PC) + 2 + rel
【ワード加算】
条件不成立時 : (PC) ← (PC) + 2
【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :2
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
121
第 8 章 命令細則
8.21 Bcc (Branch relative if Condition satisfied)
F2MC-16FX ファミリ
● 分岐命令と分岐条件
Bcc
BZ/ BNZ/ BC/ BNC/
BN
BEQ BNE BLO BHS
BP
BV
BNV
BT
BNT
BRA
条件
Z=1
N=0
V=1
V=0
T=1
T=0
常に成立
Z=0
C=1
C=0
N=1
Bcc
BLT
BGE
BLE
BGT
BLS
BHI
条件
V xor N=1
V xor N=0
(V xor N)
or Z=1
(V xor N)
or Z =0
C or Z=1
C or Z=0
● 実行例
BHI 50H
この例では , コンディションコードレジスタ (CCR) の C フラグ , Z フラグが "0" のため
分岐します ( 条件成立時 )。
PC
CCR
122
E 2 0 0
0 1 0 1 0
+(2+50)→ PC
C or Z=0,then
CCR
E 2 5 2
0 1 0 1 0
T N Z V C
T N Z V C
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.22 CALL (Call Subrourtine)
F2MC-16FX ファミリ
8.22
CALL (Call Subrourtine)
オペランドが示すアドレスへ分岐します。分岐先サブルーチン中の RET 命令の実行
により , CALL 命令の次の命令に戻ります。
● アセンブラ形式
CALL @ear
CALL @eam
CALL addr16
● オペレーション
(SP) ← (SP) − 2 【ワード減算】, ((SP)) ← (PC) + < バイト数 >
(PC) ← < オペランド >
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
CM44-00203-3
オペランド
@ear
@eam
addr16
バイト数
2
2+
3
サイクル数
3
5
3
奇数アドレス補正
1
1+1
1
FUJITSU MICROELECTRONICS LIMITED
123
第 8 章 命令細則
8.22 CALL (Call Subrourtine)
F2MC-16FX ファミリ
● 実行例
CALL @@RW0
この例では , SP で示されるスタックに次の命令のアドレス (E55AH) をプッシュしてか
ら , オペランド (@@RW0) で示されるアドレス (F340H) の , ワードデータの示すアドレ
ス (DC08H) に分岐します。
PC
E5
58
RWO
F3
40
SP
01
2 4
PC
D C
0 8
RWO
F 3
4 0
メモリ
SP→
0 1
2 2
メモリ
D C
F341
D C
F341
0 8
F340
0 8
F340
××
0124
××
0124
××
0123
E 5
0123
××
0122
5 A
0122
実行前
124
SP
SP→
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.23 CALLP (Call physical Address)
F2MC-16FX ファミリ
8.23
CALLP (Call physical Address)
オペランドが示す物理アドレスへ分岐します。分岐先サブルーチン中の RETP 命令
の実行により , CALLP 命令の次の命令に戻ります。
プログラムカウンタバンクレジスタ (PCB) には , オペランドのデータの最上位バイト
が設定されます。
● アセンブラ形式
CALLP @ear
CALLP @eam
CALLP addr24
● オペレーション
(SP)
← (SP) − 2 【ワード減算】, ((SP)) ← (PCB) 【ゼロ拡張】
(SP)
← (SP) − 2 【ワード減算】, ((SP)) ← (PC)+< バイト数 >
(PCB) ← 分岐先物理アドレス ( 上位バイト )
(PC) ← 分岐先物理アドレス ( 下位ワード )
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
CM44-00203-3
オペランド
@ear
@eam
addr24
バイト数
2
2+
4
サイクル数
5
7
4
奇数アドレス補正
2
2+1
2
FUJITSU MICROELECTRONICS LIMITED
125
第 8 章 命令細則
8.23 CALLP (Call physical Address)
F2MC-16FX ファミリ
● 実行例
CALLP 080711H
この例では , USB と SP で示されるスタックに PCB と次の命令のアドレス (4349H) を
プッシュしてから , 080711H 番地に分岐します。オペランドの最上位バイト (08H) を
PCB に設定します。
PC
43
45
PCB
AD
SP
F9
0 0
USB
1 5
PC
0 7
1 1
PCB
0 8
F C
USB
1 5
CCR × 0 × × × × ×
I S T N Z V C
I S T N Z V C
メモリ
××
15F900
××
15F900
××
15F8FF
0 0
15F8FF
××
15F8FE
A D
15F8FE
××
15F8FD
4 3
15F8FD
××
15F8FC
4 9
15F8FC
実行前
126
F 8
CCR × 0 × × × × ×
メモリ
SP→
SP
SP→
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.24 CALLV (Call Vectored Subroutine)
F2MC-16FX ファミリ
8.24
CALLV (Call Vectored Subroutine)
オペランドで指定した割込みベクタが示すアドレスへ分岐します。分岐先サブルー
チン中の RET 命令の実行により , CALLV 命令の次の命令に戻ります。
RET 命令は通常の CALL 命令の場合と同じものが使用できます。
● アセンブラ形式
CALLV #vct4
● オペレーション
(SP) ← (SP) − 2 【ワード減算】
((SP)) ← (PC) + 1
(PC) ← ベクタアドレス
<注意事項>
プログラムカウンタバンクレジスタ (PCB) が割込みベクタテーブルレジスタ (TBR) の上
位 8 ビット (TBR:TB[23:16]) と同じで , TBR の下位 6 ビット (TBR:TB[15:10]) が 111111B
のときに , "CALLV #vct4" 命令と "INT #vct8" 命令 (#0 ∼ #7) のベクタ領域が重なります
( 表 8.24-1 参照 )。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :5
奇数アドレス補正 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
127
第 8 章 命令細則
8.24 CALLV (Call Vectored Subroutine)
F2MC-16FX ファミリ
● 実行例
CALLV #15
この例では , SP で示されるスタックに次の命令のアドレス (F4A8H) をプッシュしてか
ら , #15 の割込みベクタが示すアドレスへ分岐します。
PC
F4
A7
SP
01
0 2
PC
E 1
メモリ
SP→
5 4
SP
0 1
0 0
メモリ
E 1
FFE1
E 1
FFE1
5 4
FFE0
5 4
FFE0
××
0102
××
0102
××
0101
F 4
0101
××
0100
A 8
0100
SP→
実行前
実行後
表 8.24-1 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) の値に置き換えられます。
128
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.25 CBNE (Compare Byte Data and Branch if not equal)
F2MC-16FX ファミリ
8.25
CBNE (Compare Byte Data and Branch if not equal)
第 1 オペランドと第 2 オペランド (8 ビット即値データ ) のバイト比較演算を行い ,
第 1 オペランドと第 2 オペランドが等しくないとき分岐します。第 1 オペランドと
第 2 オペランドが等しいときは分岐しません。
分岐先アドレスは , CBNE 命令の次の命令のアドレスに , 第 3 オペランドを符号拡張し
たワード値を加算したものとなります。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは ,「CBNE 命令の機械命
令が格納されているアドレス +4+disp16」となります。
「CBNE 命令の次の命令の機械
命令が格納されているアドレス +4+disp16」ではありませんので注意してください。
● アセンブラ形式
CBNE A, #imm8,rel
CBNE ear, #imm8,rel
CBNE eam, #imm8,rel
● オペレーション
( 第 1 オペランド ) ≠ imm8 【バイト比較】: (PC) ← (PC) + < バイト数 > + rel
( 第 1 オペランド ) = imm8 【バイト比較】: (PC) ← (PC) + < バイト数 >
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −比較演算の結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z − ( 第 1 オペランド )=imm8 ならばセット , それ以外はクリアされます。
V −比較演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −比較演算の結果 , ボローが生じればセット , それ以外はクリアされます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
129
第 8 章 命令細則
8.25 CBNE (Compare Byte Data and Branch if not equal)
F2MC-16FX ファミリ
● バイト数 , サイクル数
第 1 オペランド
A
ear
eam
第 2 オペランド
#imm8
#imm8
#imm8
第 3 オペランド
rel
rel
rel
バイト数
3
4
4+
サイクル数
5
4
5
● 実行例
CBNE A,#0F4H,55H
この例では , AL の下位バイトデータ (F3H) と , 8 ビット即値データ (F4H) を比較演算し
ます。第 1 オペランドと第 2 オペランドが等しくないため分岐します。
AH
A
AL
×× ××
0 0
AH
F 3
A
AL
× × × ×
0 0
F 3
PC
E 3
6 8
F3H=F4H
PC
E 3
1 0
+(55H+バイト数3) →
CCR ×××××
T N Z V C
実行前
130
FUJITSU MICROELECTRONICS LIMITED
CCR
×1 0 0 1
T N Z V C
実行後
CM44-00203-3
第 8 章 命令細則
8.26 CLRB (Clear Bit)
F2MC-16FX ファミリ
8.26
CLRB (Clear Bit)
オペランドで示されるメモリの bp で表されるビット位置の内容を "0" にします。
● アセンブラ形式
CLRB dir:bp
CLRB io:bp
CLRB addr16:bp
● オペレーション
( オペランド )b ← 0 【ビット転送】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
オペランド
dir:bp
io:bp
addr16:bp
バイト数
3
3
4
サイクル数
3
3
3
● 実行例
CLRB 0AA55H:3
この例では , AA55H 番地のデータ (FFH) の bit3 を "0" にします。
メモリ
メモリ
××
××
F F
CM44-00203-3
AA55
F 7
××
××
実行前
実行後
AA55
FUJITSU MICROELECTRONICS LIMITED
131
第 8 章 命令細則
8.27 CMP (Compare Byte Data of Destination and Source)
8.27
F2MC-16FX ファミリ
CMP (Compare Byte Data of Destination and
Source)
第 1 オペランドのバイトデータと第 2 オペランドのバイトデータで比較演算を行い ,
フラグ変化をコンディションコードレジスタ (CCR) にセットします。
第 1 オペランドおよび第 2 オペランドのデータは変化しません。
オペランドとしてアキュムレータ(A)だけを指定した場合は, AHとALが比較されます。
● アセンブラ形式
1)
CMP A,#imm8
CMP A,ear
2)
CMP A,eam
CMP A
● オペレーション
1)
( 第 1 オペランド ) − ( 第 2 オペランド )
【バイト比較】
2)
(AH) − (AL)
【バイト比較】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
132
第 1 オペランド
A
A
A
A
第 2 オペランド
#imm8
ear
eam
―
バイト数
2
2
2+
1
サイクル数
1
1
2
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.27 CMP (Compare Byte Data of Destination and Source)
F2MC-16FX ファミリ
● 実行例
CMP A,#7FH
この例では , AL の下位バイトデータ (22H) と 8 ビット即値データ (7FH) を比較演算し
ます。
AH
A
AL
×× ××
A 0
A
AL
×× ××
A 0
2 2
CCR ×××××
CCR × 1 0 0 1
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
2 2
実行後
FUJITSU MICROELECTRONICS LIMITED
133
第 8 章 命令細則
8.28 CMPL (Compare Long Word Data of Destination and
Source)
8.28
F2MC-16FX ファミリ
CMPL (Compare Long Word Data of Destination and
Source)
第 1 オペランドのロングワードデータと第 2 オペランドのロングワードデータを比
較演算し , 結果をコンディションコードレジスタ (CCR) にセットします。
第 1 オペランドおよび第 2 オペランドのデータは変化しません。
● アセンブラ形式
CMPL A,#imm32
CMPL A,ear
CMPL A,eam
● オペレーション
( 第 1 オペランド ) − ( 第 2 オペランド ) 【ロングワード比較】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
134
第 1 オペランド
A
A
A
第 2 オペランド
#imm32
ear
eam
バイト数
5
2
2+
サイクル数
2
2
3
奇数アドレス補正
0
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.28 CMPL (Compare Long Word Data of Destination and
Source)
F2MC-16FX ファミリ
● 実行例
CMPL A,#12345678H
この例では , アキュムレータ (A) のロングワードデータ (12345678H) と 32 ビット即値
データ (12345678H) を比較演算します。
AH
A
1 2
AL
3 4
5 6
7 8
A
1 2
AL
3 4
5 6
7 8
CCR ×××××
CCR × 0 1 0 0
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
135
第 8 章 命令細則
8.29 CMPW (Compare Word Data of Destination and Source)
8.29
F2MC-16FX ファミリ
CMPW (Compare Word Data of Destination and
Source)
第 1 オペランドのワードデータと第 2 オペランドのワードデータを比較演算し , 結
果をコンディションコードレジスタ (CCR) にセットします。
第 1 オペランドおよび第 2 オペランドのデータは変化しません。オペランドとして A
だけを指定した場合は , AH と AL が比較演算されます。
● アセンブラ形式
1)
CMPW A,#imm16
CMPW A,ear
2)
CMPW A,eam
CMPW A
● オペレーション
1)
( 第 1 オペランド ) − ( 第 2 オペランド )
【ワード比較】
2)
(AH) − (AL)
【ワード比較】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
136
第 1 オペランド
A
A
A
A
第 2 オペランド
#imm16
ear
eam
−
バイト数
3
2
2+
1
サイクル数
1
1
2
1
奇数アドレス補正
0
0
1
0
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.29 CMPW (Compare Word Data of Destination and Source)
F2MC-16FX ファミリ
● 実行例
CMPW A,RW0
この例では , AL のワードデータ (ABCDH) と RW0 のワードデータ (ABCCH) を比較演
算します。
A
AH
AL
× × ××
A B C D
RWO
A
AL
×× ××
A B C C
RWO
A B
C D
A B
C C
CCR ×××××
CCR × 0 0 0 0
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
137
第 8 章 命令細則
8.30 CWBNE (Compare Word Data and Branch if not equal)
8.30
F2MC-16FX ファミリ
CWBNE (Compare Word Data and Branch if not
equal)
第 1 オペランドと第 2 オペランド (16 ビット即値データ ) のワード比較演算を行い ,
第 1 オペランドと第 2 オペランドが等しくないとき分岐します。第 1 オペランドと
第 2 オペランドが等しいときは分岐しません。
分岐先アドレスは , CWBNE 命令の次の命令のアドレスに , 第 3 オペランドを符号拡張
したワードデータを加算したものとなります。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは「CWBNE 命令の機械命
令が格納されているアドレス +4+disp16」となります。「CWBNE 命令の次の命令の機
械命令が格納されているアドレス +disp16」ではありません。
● アセンブラ形式
CWBNE A,#imm16,rel
CWBNE ear,#imm16,rel
CWBNE eam,#imm16,rel
● オペレーション
( 第 1 オペランド ) ≠ imm16 【ワード比較】: (PC) ← (PC) + < バイト数 > + rel
( 第 1 オペランド ) = imm16 【ワード比較】: (PC) ← (PC) + < バイト数 >
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −比較演算の結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z − ( 第 1 オペランド ) = imm16 ならばセット , それ以外はクリアされます。
V −比較演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −比較演算の結果 , ボローが生じればセット , それ以外はクリアされます。
138
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.30 CWBNE (Compare Word Data and Branch if not equal)
F2MC-16FX ファミリ
● バイト数 , サイクル数
A
第 1 オペランド
ear
eam
#imm16 #imm16 #imm16
第 2 オペランド
第 3 オペランド
rel
rel
rel
バイト数
4
5
5+
サイクル数
5
5
6
奇数アドレス補正
0
0
1
● 実行例
CWBNE A,#0E5E5H,30H
この例では , AL のワードデータ (5EE5H) と 16 ビット即値データ (E5E5H) を比較演算し
ます。第 1 オペランドと第 2 オペランドが等しくないため分岐します。
A
AH
AL
× × ××
5 E E 5
PC
AH
A
AL
×× ××
D 8 5 6
PC
CCR
CCR ×××××
CM44-00203-3
E 5
D 8
8
A
×0 0 0 0
T N Z V C
T N Z V C
実行前
5 E
実行後
FUJITSU MICROELECTRONICS LIMITED
139
第 8 章 命令細則
8.31 DBNZ (Decrement Byte Data and Branch if not zero)
8.31
F2MC-16FX ファミリ
DBNZ (Decrement Byte Data and Branch if not zero)
第 1 オペランドの内容から 1 をバイト減算し , この結果が 00H 以外のとき分岐しま
す。減算結果が 00H のときは次の命令に制御が移ります。
分岐先アドレスは DBNZ 命令の次の命令のアドレスに , 第 2 オペランドのデータを符
号拡張したワードデータを加算したものとなります。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは「DBNZ 命令の機械命
令が格納されているアドレス +4+disp16」となります。「DBNZ 命令の次の命令の機械
命令が格納されているアドレス +disp16」ではありませんので注意してください。
● アセンブラ形式
DBNZ ear,rel
DBNZ eam,rel
● オペレーション
(ea) ← (ea) − 1 【バイト減算】
if(ea) ≠ 0 : (PC) ← (PC) + < バイト数 > + rel
if(ea) = 0 : (PC) ← (PC) + < バイト数 >
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果がオーバフローが発生したときセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
140
第 1 オペランド
ear
eam
第 2 オペランド
rel
rel
バイト数
3
3+
サイクル数
5
6
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.31 DBNZ (Decrement Byte Data and Branch if not zero)
F2MC-16FX ファミリ
● 実行例
DBNZ @RW0+2,40H
この例では , 第 1 オペランド (@RW0+2) で示されるアドレスの (0122H) バイトデータ
(03H) から 1 を減算します。演算結果がゼロでないので分岐します。
PC
E 3 5 8
PC
E 3 9 C
RWO
0 1 2 0
RWO
0 1
CCR
RWO+2 →
0 0 0 0 1
T N Z V C
T N Z V C
メモリ
メモリ
0 3
0122
××
××
実行前
CM44-00203-3
CCR
0 0 1 0 1
2 0
RWO+2 →
2
0122
0121
××
0121
0120
××
0120
0
実行後
FUJITSU MICROELECTRONICS LIMITED
141
第 8 章 命令細則
8.32 DEC (Decrement Byte Data)
8.32
F2MC-16FX ファミリ
DEC (Decrement Byte Data)
オペランドのバイトデータから 1 を引き , 結果をオペランドへ戻します。
● アセンブラ形式
DEC ear
DEC eam
● オペレーション
(ea) ← (ea) − 1 【バイト減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
オペランド
ear
eam
バイト数
2
2+
サイクル数
1
3
● 実行例
DEC R1
この例では , R1 のバイトデータ (80H) から 1 を減算します。
R1
8 0
7 F
CCR ×××××
CCR × 0 0 1 ×
T N Z V C
T N Z V C
実行前
142
R1
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.33 DECL (Decrement Long Word Data)
F2MC-16FX ファミリ
8.33
DECL (Decrement Long Word Data)
オペランドのロングワードデータから 1 を引き , 結果をオペランドへ戻します。
● アセンブラ形式
DECL ear
DECL eam
● オペレーション
(ea) ← (ea) − 1 【ロングワード減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
オペランド
ear
eam
バイト数
2
2+
サイクル数
2
4
奇数アドレス補正
0
2)
● 実行例
DECL RL0
この例では , RL0 のロングワードデータ (00001000H) から 1 を減算します。
RLO
0 0
0 0
1 0
0 0
RLO
0 0
0 0
CCR ×××××
0 F
CCR × 0 0 0 ×
T N Z V C
実行前
CM44-00203-3
F F
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
143
第 8 章 命令細則
8.34 DECW (Decrement Word Data)
8.34
F2MC-16FX ファミリ
DECW (Decrement Word Data)
オペランドのワードデータから 1 を引き , 結果をオペランドへ戻します。
● アセンブラ形式
DECW ear
DECW eam
● オペレーション
(ea) ← (ea) − 1 【ワード減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
144
オペランド
ear
eam
バイト数
2
2+
サイクル数
1
3
奇数アドレス補正
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.34 DECW (Decrement Word Data)
F2MC-16FX ファミリ
● 実行例
DECW @RW0+1000H
この例では , オペランド (@RW0+1000H) で示されるアドレス (7780H) のワードデータ
(0001H) から 1 を減算します。
RWO
6 7 8 0
RWO
T N Z V C
T N Z V C
メモリ
メモリ
0 0
7781
0 1
7780
× ×
777F
RWO+1000H →
実行前
CM44-00203-3
8 0
CCR × 0 1 0 ×
CCR ×××××
RWO+1000H →
6 7
FUJITSU MICROELECTRONICS LIMITED
0
0
7781
0
0
7780
× ×
777F
実行後
145
第 8 章 命令細則
8.35 DIV (Divide Word Data by Byte Data)
8.35
F2MC-16FX ファミリ
DIV (Divide Word Data by Byte Data)
第 1 オペランドのワードデータを第 2 オペランドのバイトデータで割り , その結果
としてバイトデータの商を第 1 オペランドに , バイトデータの剰余を第 2 オペラン
ドに収めます。符号付き数値として演算を行います。
オペランドに A だけを記述すると , AH のワードデータを AL のバイトデータで割り ,
その結果としてバイトデータの商を AL に , バイトデータの剰余を AH に収めます。符
号付き数値として演算を行います。
なお , ゼロでの割り算 ( ゼロディバイド ) が発生したときは , 第 2 オペランドまたは AL
は命令実行直前の値を保持します。ただし , オーバフロー ( 桁あふれ ) が発生したとき
は , AL の内容は不定です。
● アセンブラ形式
1)
DIV A,ear
2)
DIV A
DIV A,eam
● オペレーション
1)
word(A) / byte(ea), 商 → byte(A), 剰余 → byte(ea)
2)
word(AH) / byte(AL), 商 → byte(AL), 剰余 → byte(AH)
● CCR
I
S
T
N
Z
V
C
− − − − −
*
*
I, S, T, N, Z −変化しません。
V−演算の結果オーバフローが発生するか除数がゼロのときセット, それ以外はクリア
されます。
C −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数
146
第 1 オペランド
A
A
A
第 2 オペランド
−
ear
eam
バイト数
2
2
2+
サイクル数
オーバフロー :5
正常 :11
オーバフロー :5
正常 :11
オーバフロー :6
正常 :13
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.35 DIV (Divide Word Data by Byte Data)
F2MC-16FX ファミリ
● 実行例
DIV A
この例では , AH のワードデータ (1357H) を AL のバイトデータ (AAH) で符号付き除算
します。商を AL の下位バイトに , 剰余を AH の下位バイトに設定します。
A H
A
1 3
A L
0 0
5 7
A A
A
0 0
A L
0 0
3 1
C 7
CCR ×××××
CCR ××× 0 0
T N Z V C
T N Z V C
実行前
CM44-00203-3
A H
実行後
FUJITSU MICROELECTRONICS LIMITED
147
第 8 章 命令細則
8.36 DIVW (Divide Long Word Data by Word Data)
8.36
F2MC-16FX ファミリ
DIVW (Divide Long Word Data by Word Data)
第 1 オペランド (A) のロングワードデータを第 2 オペランドのワードデータで割り ,
その結果としてワードデータの商を A に , ワードデータの剰余を第 2 オペランドに
格納します。符号付き数値として演算を行います。
なお , ゼロでの割り算 ( ゼロディバイド ) が発生したときは , 第 2 オペランドまたは AL
は命令実行直前の値を保持します。ただし , オーバフロー ( 桁あふれ ) が発生したとき
は , AL の内容は不定です。
● アセンブラ形式
DIVW A,ear
DIVW A, eam
● オペレーション
Long word (A) / word(ea), 商 → word(A), 剰余 → word(ea)
● CCR
I
S
T
N
Z
V
C
− − − − −
*
*
I, S, T, N, Z −変化しません。
V −演算の結果オーバフローが発生するか除数がゼロのときセット , それ以外はクリア
されます。
C −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数
148
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
オーバフロー :5
正常 :19
オーバフロー :6
正常 :21
奇数アドレス補正
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.36 DIVW (Divide Long Word Data by Word Data)
F2MC-16FX ファミリ
● 実行例
DIVW A,7254H
この例では , アキュムレータ (A) のロングワードデータ (00001357H) を , 7254H 番地の
ワードデータ (00AAH) で符号付き除算します。商を AL に , 剰余を 7254H 番地に設定
します。
A H
A
0 0
A L
0 0
1 3
A H
5 7
0 0
0 0
0 0
1 D
CCR ×××××
CCR ××× 0 0
T N Z V C
T N Z V C
メモリ
メモリ
0 0
7255
0 0
7255
A A
7254
1 5
7254
実行前
CM44-00203-3
A
A L
実行後
FUJITSU MICROELECTRONICS LIMITED
149
第 8 章 命令細則
8.37 DIVU (Divide unsigned Word Data by unsigned Byte Data)
8.37
F2MC-16FX ファミリ
DIVU (Divide unsigned Word Data by unsigned Byte
Data)
第 1 オペランドのワードデータを第 2 オペランドのバイトデータで割り , その結果
としてバイトデータの商を第 1 オペランドに , バイトデータの剰余を第 2 オペラン
ドに収めます。符号なし数値として演算を行います。
オペランドに A だけを記述すると , AH のワードデータを AL のバイトデータで割り , そ
の結果としてバイトデータの商を AL に , バイトデータの剰余を AH に収めます。符号
なし数値として演算を行います。
なお , オーバフロー ( 桁あふれ ) あるいはゼロでの割り算 ( ゼロディバイド ) が発生し
たときは , 第 2 オペランドまたは AL は命令実行直前の値を保持します。
● アセンブラ形式
1)
DIVU A,ear
2)
DIVU A
DIVU A,eam
● オペレーション
1)
word(A) / byte(ea), 商→ byte(A), 剰余→ byte(ea)
2)
word(AH) / byte(AL), 商→ byte(AL), 剰余→ byte(AH)
● CCR
I
S
T
N
Z
V
C
− − − − −
*
*
I, S, T, N, Z −変化しません。
V −演算の結果オーバフローが発生するか除数がゼロのときセット , それ以外はクリア
されます。
C −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数
150
第 1 オペランド
A
A
A
第 2 オペランド
−
ear
eam
バイト数
1
2
2+
サイクル数
オーバフロー :4
正常 :9
オーバフロー :4
正常 : 9
オーバフロー :5
正常 :11
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.37 DIVU (Divide unsigned Word Data by unsigned Byte Data)
F2MC-16FX ファミリ
● 実行例
DIVU A
この例では , AH のワードデータ (1357H) を AL のバイトデータ (AAH) で符号なし除算
します。商を AL に , 剰余を AH に設定します。
AH
A
1 3
AL
5 7
0 0
A A
A
0 0
AL
1 5
0 0
1 D
CCR ×××××
CCR ××× 0 0
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
151
第 8 章 命令細則
8.38 DIVUW (Divide unsigned Long Word Data by unsigned
Word Data)
8.38
F2MC-16FX ファミリ
DIVUW (Divide unsigned Long Word Data by
unsigned Word Data)
第 1 オペランド (A) のロングワードデータを第 2 オペランドのワードデータで割り ,
その結果としてワードデータの商を A に , ワードデータの剰余を第 2 オペランドに
格納します。演算は , 符号なし数値として行われます。
オーバフロー ( 桁あふれ ) あるいはゼロでの割り算 ( ゼロディバイド ) が発生したとき
は , 第 2 オペランドまたは AL は命令実行直前の値を保持します。
● アセンブラ形式
DIVUW A,ear
DIVUW A,eam
● オペレーション
long word(A) / word(ea), 商 → word(A), 剰余 → word(ea)
● CCR
I
S
T
N
Z
V
C
− − − − −
*
*
I, S, T, N, Z −変化しません。
V −演算の結果オーバフローが発生するか除数がゼロのときセット , それ以外はクリア
されます。
C −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数
152
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
オーバフロー :4
正常 :17
オーバフロー :5
正常 :19
奇数アドレス補正
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.38 DIVUW (Divide unsigned Long Word Data by unsigned
Word Data)
F2MC-16FX ファミリ
● 実行例
DIVUW A,7254H
この例では , アキュムレータ (A) のロングワードデータ (00001357H) を , 7254H 番地の
ワードデータ (00AAH) で符号なし除算します。商を AL に , 剰余を 7254H 番地に設定
します。
AH
A
0 0
AL
0 0
1 3
AH
5 7
0 0
AL
0 0
0 0
1 D
CCR ×××××
CCR ××× 0 0
T N Z V C
T N Z V C
メモリ
メモリ
0 0
7255
0 0
7255
A A
7254
1 5
7254
実行前
CM44-00203-3
A
実行後
FUJITSU MICROELECTRONICS LIMITED
153
第 8 章 命令細則
8.39 DWBNZ (Decrement Word Data and Branch if not Zero)
8.39
F2MC-16FX ファミリ
DWBNZ (Decrement Word Data and Branch if not
Zero)
第 1 オペランドの内容から 1 をワード減算し , この結果がゼロ以外のときに分岐し
ます。減算結果がゼロのときは DWBNZ 命令の次の命令に制御が移ります。
分岐先アドレスは DWBNZ 命令の次の命令のアドレスに第 2 オペランドのデータを符
号拡張したワードデータを加算したものとなります。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは「DWBNZ 命令の機械
命令が格納されているアドレス +4+disp16」となります。「DWBNZ 命令の次の命令の
機械命令が格納されているアドレス +disp16」ではありませんので注意してください。
● アセンブラ形式
DWBNZ ear,rel
DWBNZ eam,rel
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) − 1
( 第 1 オペランド ) ≠ 0 のとき
【ワード減算】
(PC) ← (PC) + < バイト数 > + 第 2 オペランド
(PC) ← (PC) + < バイト数 >
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果がオーバフローが発生したときセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
154
第 1 オペランド
ear
eam
第 2 オペランド
rel
rel
バイト数
3
3+
サイクル数
5
6
奇数アドレス補正
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 8 章 命令細則
8.39 DWBNZ (Decrement Word Data and Branch if not Zero)
● 実行例
DWBNZ RW0,30H
この例では , RW0 のワードデータ (0001H) から 1 を減算します。演算結果がゼロなの
で分岐しません。
PC
F 8 2 0
PC
F 8 2 3
RWO
0 0 0 1
RWO
0 0
CCR
CM44-00203-3
×××××
CCR
0 0
×0 0 0 ×
T N Z V C
T N Z V C
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
155
第 8 章 命令細則
8.40 EXT (Sign Extend from Byte Data to Word Data)
8.40
F2MC-16FX ファミリ
EXT (Sign Extend from Byte Data to Word Data)
AL の下位バイトデータを符号付き 2 進数としてワードデータに拡張します。
● アセンブラ形式
EXT
● オペレーション
AL の bit7 = 0 のとき AL の bit8 ∼ bit15 ← 00H
AL の bit7 ≠ 0 のとき AL の bit8 ∼ bit15 ← FFH
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −符号拡張したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −符号拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
EXT
この例では , AL の下位バイトデータ (80H) の最上位ビットが "1" のため , AL の上位バ
イト (bit8 ∼ bit15) が FFH で拡張されます。
AH
A
AL
×× ××
××
8 0
A
AL
×× ××
F F
8 0
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
実行前
156
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.41 EXTW (Sign Extend from Word Data to Long Word Data)
F2MC-16FX ファミリ
8.41
EXTW (Sign Extend from Word Data to Long Word
Data)
A の下位ワードデータを符号付き 2 進数としてロングワードデータに拡張します。
● アセンブラ形式
EXTW
● オペレーション
A の bit15 = 0 のとき (AH) ← 0000H
A の bit15 ≠ 0 のとき (AH) ← FFFFH
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −符号拡張したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −符号拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
EXTW
この例では , AL のワードデータ (FF80H) の最上位ビットが "1" のため , AH(A の bit16
∼ bit31) が FFFFH で拡張されます。
AH
A
AL
×× ××
F F
8 0
A
F F
AL
F F
F F
8 0
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
157
第 8 章 命令細則
8.42 FILS, FILSI (Fill String Byte)
8.42
F2MC-16FX ファミリ
FILS, FILSI (Fill String Byte)
<bank> で指定されたバンクレジスタを上位 8 ビット , AH の内容を下位 16 ビット
として示されるアドレスから , RW0 バイト分の領域に AL の内容を転写します。
RW0 がゼロであった場合は転送は行われません。命令実行中に割込みが生じると , 命
令の実行を一時中断し , 割込み処理が終わった時点で処理の継続を行います。
<bank> としては PCB, DTB, ADB, SPB の 4 種が指定できます。<bank> 省略時は DTB
が指定されたものとします。
● アセンブラ形式
FILS [<bank>]
FILSI [<bank>]
● オペレーション
RW0 ≠ 0 である間 ,
((AH)) ← (AL) 【バイト転送】, (AH) ← (AH) + 1,
(RW0) ← (RW0) − 1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロのときセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :(RW0 + 1) / 2
奇数アドレス補正 : 1
158
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.42 FILS, FILSI (Fill String Byte)
F2MC-16FX ファミリ
● 実行例
FILS
この例では , DTB と AH で示されるアドレス (94BC00H) から , RW0 が示すバイト数
(0100H) に AL の下位バイトデータ (E5H) を転送します。
AL
AH
A
RWO
B C
0 0
01
00
0 0
DTB
AH
E 5
A
94
RWO
AL
B D
0 0
0 0
0 0
T N Z V C
メモリ
××
94BDOO
94BCFF
E 5
94BCFF
94BCFE
E 5
94BCFE
××
94BDOO
××
××
AH →
××
94BC02
E 5
94BC02
××
94BC01
E 5
94BC01
××
94BC00
E 5
94BC00
実行前
9 4
T N Z V C
メモリ
CM44-00203-3
DTB
E 5
CCR × 1 0 ××
CCR ×××××
AH →
0 0
実行後
FUJITSU MICROELECTRONICS LIMITED
159
第 8 章 命令細則
8.43 FILSW, FILSWI (Fill String Word)
8.43
F2MC-16FX ファミリ
FILSW, FILSWI (Fill String Word)
<bank> で指定されたバンクレジスタを上位 8 ビット , AH の内容を下位 16 ビット
として示されるアドレスから , RW0 ワード分の領域に AL の内容を転写します。
RW0 がゼロであった場合は転送は行われません。命令実行中に割込みが生じると , 命
令の実行を一時中断し , 割込み処理が終わった時点で処理の継続を行います。
<bank> としては PCB, DTB, ADB, SPB の 4 種の指定ができます。<bank> 省略時は DTB
が指定されたものとします。
● アセンブラ形式
FILSW [<bank>]
FILSWI [<bank>]
● オペレーション
RW0 ≠ 0 である間 ,
((AH)) ← (AL) 【ワード転送】, (AH) ← (AH) + 2,
(RW0) ← (RW0) − 1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロのときセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 : RW0 がゼロのときに 1 サイクル , それ以外は RW0 サイクル
奇数アドレス補正 :1
160
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.43 FILSW, FILSWI (Fill String Word)
F2MC-16FX ファミリ
● 実行例
FILSW ADB
この例では , ADB と AH で示されるアドレス (49ABFEH) から , RW0 が示すワード数
(0080H) に AL のワードデータ (E55EH) を転送します。
AH
A
RWO
AL
A B
F E
00
80
E 5
ADB
AH
5 E
A
49
RWO
AL
A C
F E
0 0
0 0
CCR ×××××
××
49ACFF
T N Z V C
××
49ACFE
××
××
49ACFF
××
49ACFE
49ACFD
E 5
49ACFD
××
49AC00
5 E
49AC00
××
49ABFF
E 5
49ABFF
××
49ABFE
5 E
49ABFE
実行前
4 9
メモリ
メモリ
CM44-00203-3
ADB
5 E
CCR × 0 0 ××
T N Z V C
AH →
E 5
AH →
実行後
FUJITSU MICROELECTRONICS LIMITED
161
第 8 章 命令細則
8.44 INC (Increment Byte Data( アドレス指定 ))
8.44
F2MC-16FX ファミリ
INC (Increment Byte Data( アドレス指定 ))
オペランドのバイトデータに 1 を加え , その結果をオペランドへ戻します。
● アセンブラ形式
INC ear
INC eam
● オペレーション
( オペランド ) ← ( オペランド ) +1 【バイト加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
オペランド
ear
eam
バイト数
2
2+
サイクル数
1
3
● 実行例
INC R0
この例では , R0 のバイトデータ (FFH) に 1 を加算します。
RO
F F
CCR ×××××
T N Z V C
実行前
162
RO
0 0
CCR × 0 1 0 ×
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.45 INCL (Increment Long Word Data)
F2MC-16FX ファミリ
8.45
INCL (Increment Long Word Data)
オペランドのロングワードデータに 1 を加え , その結果をオペランドへ戻します。
● アセンブラ形式
INCL ear
INCL eam
● オペレーション
( オペランド ) ← ( オペランド ) +1 【ロングワード加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
オペランド
ear
eam
バイト数
2
2+
サイクル数
2
4
奇数アドレス補正
0
2
● 実行例
INCL RL0
この例では , RL0 のロングワードデータ (7FFFFFFFH) に 1 を加算します。
RLO
7 F
F F
F F
F F
RLO
8 0
0 0
CCR ×××××
0 0
CCR × 1 0 1 ×
T N Z V C
T N Z V C
実行前
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
0 0
実行後
163
第 8 章 命令細則
8.46 INCW (Increment Word Data)
8.46
F2MC-16FX ファミリ
INCW (Increment Word Data)
オペランドのワードデータに 1 を加え , その結果をオペランドへ戻します。
● アセンブラ形式
INCW ear
INCW eam
● オペレーション
( オペランド ) ← ( オペランド ) +1 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数
164
オペランド
ear
eam
バイト数
2
2+
サイクル数
1
3
奇数アドレス補正
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.46 INCW (Increment Word Data)
F2MC-16FX ファミリ
● 実行例
INCW @RW0+
この例では , オペランド (@RW0+) で示されるアドレス (0354H) のワードデータ (0101H)
に 1 を加算します。
RWO
0 3
5 4
RWO
CCR ×××××
RWO →
5 6
CCR × 0 0 0 ×
T N Z V C
T N Z V C
メモリ
メモリ
××
0357
××
0356
0355
0 1
0355
0354
0 2
0354
××
0357
××
0356
0 1
0 1
実行前
CM44-00203-3
0 3
RWO →
実行後
FUJITSU MICROELECTRONICS LIMITED
165
第 8 章 命令細則
8.47 INT (Software Interrupt)
8.47
F2MC-16FX ファミリ
INT (Software Interrupt)
バンク 0FFH 内の指定されたアドレスの割込み処理ルーチンへ分岐します。分岐先
割込みルーチン中の RETI 命令の実行により , この命令の次の命令に戻ります。
● アセンブラ形式
INT addr16
● オペレーション
(SSP) ← (SSP)-2, ((SSP)) ← (AH), (SSP) ← (SSP)-2, ((SSP)) ← (AL)
(SSP) ← (SSP)-2, ((SSP)) ← (DPR):(ADB)
【DPRを上位, ADBを下位としてセットで退避される】
(SSP) ← (SSP)-2, ((SSP)) ← (DTB):(PCB)
【DTB を上位 , PCB を下位としてセットで退避される】
(SSP) ← (SSP)-2, ((SSP)) ← (PC+3), (SSP) ← (SSP)-2, ((SSP)) ← (PS)
(S) ← 1, (I) ← 0, (PCB) ← 0FFH, (PC) ← addr16
● CCR
I
S
T
N
Z
V
C
R
S
− − − − −
I −クリアされます。
S −セットされます。
T, N, Z, V, C −変化しません。
● バイト数 , サイクル数
バイト数 :3
サイクル数 :8
奇数アドレス補正 :6
166
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.47 INT (Software Interrupt)
F2MC-16FX ファミリ
● 実行例
INT 020F2H
この例では , FF20F2H 番地の割込み処理ルーチンへ分岐します。PCB に FFH を設定し
ます。
AH
A
F F
E E
D D
C C
A
F F
AL
E E
D D
PC
PCB
9 9
F F
DPR
ADB
CCR
B B
A A
CCR
RP
I S T N Z V C
ILM
RP
I S T N Z V C
1 0
0 0 0 0 1 0 1
0 3
1 0
0 1 0 0 1 0 1
PCB
9 9
8 8
DPR
ADB
B B
A A
ILM
0 3
SSB
PC
7 7
6 6
SSB
SSP
8 0
0 3
0 0
2 0
SSP
7 F
F 4
038000
038000
××
037FFF
FF
037FFF
××
037FFE
EE
037FFE
××
037FFD
DD
037FFD
××
037FFC
CC
037FFC
××
037FFB
BB
037FFB
××
037FFA
AA
037FFA
××
037FF9
99
037FF9
××
037FF8
88
037FF8
××
037FF7
77
037FF7
××
037FF6
69
037FF6
××
037FF5
70
037FF5
××
037FF4
85
037FF4
実行前
CM44-00203-3
F 2
メモリ
メモリ
SSP →
C C
DTB
DTB
0 3
AH
AL
SSP →
実行後
FUJITSU MICROELECTRONICS LIMITED
167
第 8 章 命令細則
8.48 INT (Software Interrupt( ベクタ指定 ))
8.48
F2MC-16FX ファミリ
INT (Software Interrupt( ベクタ指定 ))
オペランドで指定した割込みベクタが示す割込み処理ルーチンへ分岐します。
● アセンブラ形式
INT #vct8
● オペレーション
(SSP) ← (SSP)-2, ((SSP)) ← (AH), (SSP) ← (SSP)-2, ((SSP)) ← (AL)
(SSP) ← (SSP)-2, ((SSP)) ← (DPR):(ADB)
【DPRを上位, ADBを下位としてセットで退避される】
(SSP) ← (SSP)-2, ((SSP)) ← (DTB):(PCB)
【DTB を上位 , PCB を下位としてセットで退避される】
(SSP) ← (SSP)-2, ((SSP)) ← (PC+2), (SSP) ← (SSP)-2, ((SSP)) ← (PS)
(S) ← 1, (I) ← 0, (PCB) ←ベクタアドレス ( 上位バイト )
(PC) ←ベクタアドレス ( 下位ワード )
● CCR
I
S
T
N
Z
V
C
R
S
− − − − −
I −クリアされます。
S −セットされます。
T, N, Z, V, C −変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :12
奇数アドレス補正 :6
168
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.48 INT (Software Interrupt( ベクタ指定 ))
F2MC-16FX ファミリ
● 実行例
INT #11
この例では , #11 の割込みベクタが示す割込み処理ルーチンへ分岐します。
AH
A
F F
E E
D D
C C
A
F F
E E
D D
C C
PC
PCB
9 9
8 9
DPR
ADB
CCR
B B
A A
CCR
RP
I S T N Z V C
ILM
RP
I S T N Z V C
1 5
0 0 0 0 1 0 1
0 2
1 5
0 1 0 0 1 0 1
PCB
9 9
8 8
DPR
ADB
B B
A A
ILM
0 2
SSB
PC
7 7
6 6
SSB
SSP
8 0
0 3
0 0
メモリ
E 7
9 5
SSP
7 F
F 4
メモリ
8 9
FFFFD2
8 9
FFFFD2
E 7
FFFFD1
E 7
FFFFD1
9 5
FFFFD0
9 5
FFFFD0
038000
SSP →
××
037FFF
FF
037FFF
××
037FFE
EE
037FFE
××
037FFD
DD
037FFD
××
037FFC
CC
037FFC
××
037FFB
BB
037FFB
××
037FFA
AA
037FFA
××
037FF9
99
037FF9
××
037FF8
88
037FF8
××
037FF7
77
037FF7
××
037FF6
68
037FF6
037FF5
55
037FF5
××
××
実行前
CM44-00203-3
AL
DTB
DTB
0 3
AH
AL
037FF4
SSP →
85
037FF4
実行後
FUJITSU MICROELECTRONICS LIMITED
169
第 8 章 命令細則
8.49 INT9 (Software Interrupt)
8.49
F2MC-16FX ファミリ
INT9 (Software Interrupt)
ベクタが示す割込み処理ルーチンへ分岐します。
分岐先割込みルーチン中の RETI 命令の実行により , この命令の次の命令に戻りま
す。
● アセンブラ形式
INT9
● オペレーション
(SSP) ← (SSP)-2, ((SSP)) ← (AH), (SSP) ← (SSP)-2, ((SSP)) ← (AL)
(SSP) ← (SSP)-2, ((SSP)) ← (DPR):(ADB)
【DPRを上位, ADBを下位としてセットで退避される】
(SSP) ← (SSP)-2, ((SSP)) ← (DTB):(PCB)
【DTB を上位 , PCB を下位としてセットで退避される】
(SSP) ← (SSP)-2, ((SSP)) ← (PC+1), (SSP) ← (SSP)-2, ((SSP)) ← (PS)
(S) ← 1, (I) ← 0, (PCB) ←ベクタアドレス ( 上位バイト )
(PC) ←ベクタアドレス ( 下位ワード )
● CCR
I
S
T
N
Z
V
C
R
S
− − − − −
I −クリアされます。
S −セットされます。
T, N, Z, V, C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :12
奇数アドレス補正 :6
170
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.49 INT9 (Software Interrupt)
F2MC-16FX ファミリ
● 実行例
INT9
この例では , #9 の割込みベクタが示す割込み処理ルーチンへ分岐します。
AH
A
1 1
3 3
4 4
A
1 1
3 3
4 4
PC
PCB
7 7
8 9
DPR
ADB
CCR
5 5
6 6
CCR
RP
I S T N Z V C
ILM
RP
I S T N Z V C
1 5
0 0 0 0 1 0 1
0 2
1 5
0 1 0 0 1 0 1
PCB
7 7
8 8
DPR
ADB
5 5
6 6
ILM
0 2
SSB
9 9
A A
SSB
SSP
8 0
0 3
0 0
メモリ
E 7
9 5
SSP
7 F
F 4
メモリ
8 9
FFFFDA
8 9
FFFFDA
E 7
FFFFD9
E 7
FFFFD9
9 5
FFFFD8
9 5
FFFFD8
038000
SSP →
××
037FFF
11
037FFF
××
037FFE
22
037FFE
××
037FFD
33
037FFD
××
037FFC
44
037FFC
××
037FFB
55
037FFB
××
037FFA
66
037FFA
××
037FF9
77
037FF9
××
037FF8
88
037FF8
××
037FF7
99
037FF7
××
037FF6
AB
037FF6
037FF5
55
037FF5
85
037FF4
××
××
実行前
CM44-00203-3
AL
2 2
DTB
PC
DTB
0 3
AH
AL
2 2
037FF4
SSP →
実行後
FUJITSU MICROELECTRONICS LIMITED
171
第 8 章 命令細則
8.50 INTP (Software Interrupt)
8.50
F2MC-16FX ファミリ
INTP (Software Interrupt)
オペランドで指定された 24 ビットの物理アドレスの割込みルーチンへ分岐します。
16M バイト全空間の任意のアドレスが指定可能です。
分岐先割込みルーチン中の RETI 命令の実行により , この命令の次の命令に戻りま
す。
● アセンブラ形式
INTP addr24
● オペレーション
(SSP) ← (SSP)-2, ((SSP)) ← (AH), (SSP) ← (SSP)-2, ((SSP)) ← (AL)
(SSP) ← (SSP)-2, ((SSP)) ← (DPR):(ADB) 【DPR: 上位 , ADB: 下位バイト】
(SSP) ← (SSP)-2, ((SSP)) ← (DTB):(PCB) 【DTB: 上位 , PCB: 下位バイト】
(SSP) ← (SSP)-2, ((SSP)) ← (PC+4), (SSP) ← (SSP)-2, ((SSP)) ← (PS)
(S) ← 1, (I) ← 0, (PCB) ← addr24 の最上位バイト , (PC) ← addr24 の下位ワード
● CCR
I
S
T
N
Z
V
C
R
S
− − − − −
I −クリアされます。
S −セットされます。
T, N, Z, V, C −変化しません。
● バイト数 , サイクル数
バイト数 :4
サイクル数 :8
奇数アドレス補正 :6
172
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.50 INTP (Software Interrupt)
F2MC-16FX ファミリ
● 実行例
INTP 0C8F220H
この例では , C8F220H 番地の割込み処理ルーチンへ分岐します。PCB に C8H を設定し
ます。
AH
A
1 1
AH
AL
2 2
3 3
DTB
PCB
7 7
8 8
DPR
ADB
4 4
PC
9 9
A A
A
1 1
3 3
DTB
PCB
7 7
C 8
4 4
PC
F 2
2 0
DPR
ADB
5 5
6 6
CCR
5 5
6 6
CCR
ILM
RP
I S T N Z V C
ILM
RP
I S T N Z V C
0 3
1 0
0 0 0 0 1 0 1
0 3
1 0
0 1 0 0 1 0 1
SSB
0 3
SSB
SSP
8 0
0 3
0 0
メモリ
SSP →
SSP
7 F
F 4
メモリ
038000
038000
××
037FFF
1 1
037FFF
××
037FFE
2 2
037FFE
××
037FFD
3 3
037FFD
××
037FFC
4 4
037FFC
××
037FFB
5 5
037FFB
××
037FFA
6 6
037FFA
××
037FF9
7 7
037FF9
××
037FF8
8 8
037FF8
××
037FF7
9 9
037FF7
××
037FF6
A E
037FF6
××
037FF5
7 0
037FF5
××
037FF4
8 5
037FF4
実行前
CM44-00203-3
AL
2 2
SSP →
実行後
FUJITSU MICROELECTRONICS LIMITED
173
第 8 章 命令細則
8.51 JCTX (Jump Context)
8.51
F2MC-16FX ファミリ
JCTX (Jump Context)
メモリに退避されたレジスタの内容やアドレスなどを復帰します。
● アセンブラ形式
JCTX @A
● オペレーション
(temp)
←
(AL)
(PS)
←
((temp))
:
(temp)
←
(temp) + 2
(PC)
←
((temp))
:
(temp)
←
(temp) + 2
(DTB), (PCB)
←
((temp))
:
(temp)
←
(temp) + 2
(DPR), (ADB) ←
((temp))
:
(temp)
←
(temp) + 2
(AL)
←
((temp))
:
(temp)
←
(temp) + 2
(AH)
←
((temp))
● CCR
I
S
T
N
Z
V
C
*
*
*
*
*
*
*
I − AL の示す番地の bit6 が入ります。
S − AL の示す番地の bit5 が入ります。
T − AL の示す番地の bit4 が入ります。
N − AL の示す番地の bit3 が入ります。
Z − AL の示す番地の bit2 が入ります。
V − AL の示す番地の bit1 が入ります。
C − AL の示す番地の bit0 が入ります。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :PR の内容が変化するときは 23, それ以外は 6
174
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.51 JCTX (Jump Context)
F2MC-16FX ファミリ
● 実行例
JCTX @A
この例では, DTBとALで示されるアドレス(09E020H)から, コンテキストを復帰します。
AH
A
AH
AL
× × × ×
E 0
2 0
A
C B
AL
7 5
0 2
DTB
PCB
PC
DTB
PCB
0 9
××
×× ××
8 0
5 0
DPR
ADB
DPR
ADB
××
××
CCR
0 8
C E
CCR
ILM
RP
I S T N Z V C
ILM
RP
I S T N Z V C
××
××
×××××××
0 7
1 6
0 0 0 1 0 1 0
メモリ
PC
8 8
09E02C
CB
09E02B
C B
09E02B
75
09E02A
7 5
09E02A
02
09E029
0 2
09E029
50
09E028
5 0
09E028
08
09E027
0 8
09E027
CE
09E026
C E
09E026
80
09E025
8 0
09E025
50
09E024
5 0
09E024
88
09E023
8 8
09E023
01
09E022
0 1
09E022
09E021
F 6
09E021
F6
AL →
0 1
メモリ
09E02C
8A
実行前
CM44-00203-3
5 0
09E020
8 A
09E020
実行後
FUJITSU MICROELECTRONICS LIMITED
175
第 8 章 命令細則
8.52 JMP (Jump Destination Address)
8.52
F2MC-16FX ファミリ
JMP (Jump Destination Address)
オペランドで示されるアドレスのワードデータを読み出し , そのワードデータが示
すアドレスへ分岐します。
● アセンブラ形式
JMP @A
JMP addr16
JMP @ear
JMP @eam
● オペレーション
(PC) ← ( オペランド )
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
176
オペランド
@A
@ear
@eam
addr16
バイト数
1
2
2+
3
サイクル数
2
2
4
2
奇数アドレス補正
0
0
1
0
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.52 JMP (Jump Destination Address)
F2MC-16FX ファミリ
● 実行例
JMP @@RW0+2
この例では , オペランド (@RW0+2) で示されるアドレス (A0A2H) の , ワードデータの
示すアドレス (DB80H) に分岐します。
PC
E 0
0 0
PC
D B
8 0
RWO
A 0
A 0
RWO
A 0
A 0
メモリ
RWO+2 →
D B
A0A3
8 0
A0A2
A0A1
××
A0A1
A0A0
××
A0A0
D B
A0A3
8 0
A0A2
××
××
実行前
CM44-00203-3
メモリ
RWO+2 →
実行後
FUJITSU MICROELECTRONICS LIMITED
177
第 8 章 命令細則
8.53 JMPP (Jump Destination Physical Address)
8.53
F2MC-16FX ファミリ
JMPP (Jump Destination Physical Address)
オペランドが addr24 の場合 , addr24 で示される物理アドレスへ分岐します。
また , オペランドが @ea の場合 , オペランドの内容で示される物理アドレスへ分岐
します。
● アセンブラ形式
1)
JMPP addr24
2)
JMPP @ear
JMPP @eam
● オペレーション
1)
: (PC) ← addr24 の下位ワード
(PCB) ← addr24 の最上位バイト
2)
: (PC) ← (ea) 【ワード転送】
(PCB) ← (ea+2) 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
オペランド
addr24
@ear
@eam
バイト数
4
2
2+
サイクル数
2
3
5
奇数アドレス補正
0
0
1
● 実行例
JMPP 0FFC850H
この例では , FFC850H に分岐します。PCB に FFH を設定します。
PC
1 2
4 8
PCB 3 4
実行前
178
PC
C 8
PCB
5 0
F F
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.54 LINK (Link and create new stack frame)
F2MC-16FX ファミリ
8.54
LINK (Link and create new stack frame)
現在のフレームポインタ (RW3) の値をスタックに保存し , 新しいフレームポインタ
を設定します。これにより , 新しいローカル ( 局所 ) 変数の領域を確保します。この
命令は関数を呼び出す前に使用します。
● アセンブラ形式
LINK #imm8
● オペレーション
(SP) ← (SP)-2; ((SP)) ← (RW3); (RW3) ← (SP); (SP) ← (SP)-imm8
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :2
奇数アドレス補正 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
179
第 8 章 命令細則
8.54 LINK (Link and create new stack frame)
F2MC-16FX ファミリ
● 実行例
LINK #20H
この例では , SP で示されるスタックに RW3 をプッシュします。次に SP の値 (E020H)
から 8 ビット即値データ (20H) を減算します。
SP
E0
22
SP
E 0
0 0
RW3
A0
46
RW3
E 0
2 0
メモリ
メモリ
A 0
SP→
××
E022
SP→
実行前
180
4 6
E020
× ×
E000
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.55 LSL (Logical Shift Byte Data of Accumulator to Left)
F2MC-16FX ファミリ
8.55
LSL (Logical Shift Byte Data of Accumulator to Left)
アキュムレータ (A) の最下位バイトデータを , 第 2 オペランドで示されるビット数だ
け左へシフトします。
A の最下位ビットには "0" が入ります。A の最下位バイトデータの最上位ビットからシ
フトアウトされたビットはキャリフラグ (C) に入ります。
● アセンブラ形式
LSL A,R0
● オペレーション
C
MSB
AL
LSB
0
● CCR
I
S
T
N
Z
V
C
− − −
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の MSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロの場
合はクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
181
第 8 章 命令細則
8.55 LSL (Logical Shift Byte Data of Accumulator to Left)
F2MC-16FX ファミリ
● 実行例
LSL A,R0
この例では , AL の下位バイトデータ (FEH) を , R0 が示すビット数 (2 ビット ) 左シフト
します。
AH
A
AL
×× ××
××
RO
AH
F F
A
AL
×× F C
×× ××
02
CCR ×××××
RO
0 2
CCR × 1 0 × 1
T N Z V C
実行前
182
FUJITSU MICROELECTRONICS LIMITED
T N Z V C
実行後
CM44-00203-3
F2MC-16FX ファミリ
8.56
第 8 章 命令細則
8.56 LSLL (Logical Shift Long Word Data of Accumulator to Left)
LSLL (Logical Shift Long Word Data of Accumulator
to Left)
アキュムレータ (A) のロングワードデータを , 第 2 オペランドで示されるビット数だ
け左へシフトします。
アキュムレータ (A) の最下位ビットには "0" が入ります。最上位ビットからシフトアウ
トされたビットはキャリフラグ (C) に入ります。
● アセンブラ形式
LSLL A,R0
● オペレーション
C
MSB
A
LSB
0
● CCR
I
S
T
N
Z
V
C
− − −
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の MSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロの場
合はクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
183
第 8 章 命令細則
8.56 LSLL (Logical Shift Long Word Data of Accumulator to Left)
F2MC-16FX ファミリ
● 実行例
LSLL A,R0
この例では , アキュムレータ (A) のロングワードデータ (33333333H) を , R0 が示すビッ
ト数 (2 ビット ) 左シフトします。
A
AH
AL
3 3 3 3
3 3 3 3
RO
A
AH
AL
C C C C
C C C C
02
0 2
CCR ×××××
CCR × 1 0 × 0
T N Z V C
T N Z V C
実行前
184
RO
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00203-3
第 8 章 命令細則
8.57 LSLW (Logical Shift Word Data of Accumulator to Left)
F2MC-16FX ファミリ
8.57
LSLW (Logical Shift Word Data of Accumulator to
Left)
アキュムレータ (A) の下位ワードデータを , 1 ビットだけ左へシフトします。
アキュムレータ (A) の最下位ビットには "0" が入ります。アキュムレータ (A) の下位
ワードデータの最上位ビットからシフトアウトされたビットはキャリフラグ (C) に入
ります。
● アセンブラ形式
LSLW A / SHLW A
● オペレーション
C
MSB
AL
LSB
0
● CCR
I
S
T
N
Z
V
C
− − −
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の MSB からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
185
第 8 章 命令細則
8.57 LSLW (Logical Shift Word Data of Accumulator to Left)
F2MC-16FX ファミリ
● 実行例
LSLW A
この例では , AL のワードデータ (AA55H) を , 1 ビット左シフトします。
AH
A
AL
×× ××
A A
AH
5 5
A
AL
×× ××
CCR ×××××
5 5
CCR × 0 0 × 1
T N Z V C
実行前
186
A A
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.58 LSLW (Logical Shift Word Data of Accumulator to Left)
F2MC-16FX ファミリ
8.58
LSLW (Logical Shift Word Data of Accumulator to
Left)
アキュムレータ (A) の下位ワードデータを , 第 2 オペランドで示されるビット数だけ
左へシフトします。
アキュムレータ (A) の最下位ビットには "0" が入ります。アキュムレータ (A) の下位
ワードデータの最上位ビットからシフトアウトされたビットはキャリフラグ (C) に入
ります。
● アセンブラ形式
LSLW A,R0
● オペレーション
C
MSB
AL
LSB
0
● CCR
I
S
T
N
Z
V
C
− − −
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の MSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロの場
合はクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
187
第 8 章 命令細則
8.58 LSLW (Logical Shift Word Data of Accumulator to Left)
F2MC-16FX ファミリ
● 実行例
LSLW A,R0
この例では , AL のワードデータ (AA55H) を , R0 が示すビット数 (4 ビット ) 左シフト
します。
AH
A
AL
×× ××
A A
RO
AH
5 5
A
AL
×× ××
A 5
04
RO
CCR ×××××
188
0 4
CCR × 1 0 × 0
T N Z V C
実行前
5 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.59 LSR (Logical Shift Byte Data of Accumulator to Right)
F2MC-16FX ファミリ
8.59
LSR (Logical Shift Byte Data of Accumulator to
Right)
アキュムレータ (A) の最下位バイトデータを , 第 2 オペランドで示されるビット数だ
け右へシフトします。
アキュムレータ (A) の最下位バイトの最上位ビットには "0" が入ります。最下位ビット
からシフトアウトされたビットはキャリフラグ (C) に入ります。
● アセンブラ形式
LSR A,R0
● オペレーション
AL
MSB
LSB
C
T
1
0
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − キャリよりシフトアウトされたデータに1つ以上"1"であるビットがあればセット,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフトの結果の MSB が "1" のときセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロの場
合はクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
189
第 8 章 命令細則
8.59 LSR (Logical Shift Byte Data of Accumulator to Right)
F2MC-16FX ファミリ
● 実行例
LSR A,R0
この例では , AL の下位バイトデータ (FFH) を , R0 が示すビット数 (5 ビット ) 右シフト
します。
AH
A
AL
×× ××
××
RO
AH
F F
A
AL
×× ××
05
××
RO
CCR ×××××
190
0 5
CCR 1 0 0 × 1
T N Z V C
実行前
0 7
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.60 LSRL (Logical Shift Long Word Data of Accumulator to
Right)
F2MC-16FX ファミリ
8.60
LSRL (Logical Shift Long Word Data of Accumulator
to Right)
アキュムレータ (A) のロングワードデータを , 第 2 オペランドで示されるビット数だ
け右へシフトします。
アキュムレータ (A) の最上位ビットには "0" が入り , アキュムレータ (A) の最下位ビッ
トからシフトアウトされたビットはキャリフラグ (C) に入ります。
● アセンブラ形式
LSRL A,R0
● オペレーション
A
MSB
LSB
C
T
1
0
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − キャリよりシフトアウトされたデータに1つ以上"1"であるビットがあればセット,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフトの結果の MSB が "1" のときセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロの場
合はクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
191
第 8 章 命令細則
8.60 LSRL (Logical Shift Long Word Data of Accumulator to
Right)
● 実行例
F2MC-16FX ファミリ
LSRL A,R0
この例では , アキュムレータ (A) のロングワードデータ (33333333H) を , R0 が示すビッ
ト数 (16 ビット ) 右シフトします。
A
AH
AL
3 3 3 3
3 3 3 3
RO
A
AH
AL
0 0 0 0
3 3 3 3
10
CCR ×××××
RO
CCR
T N Z V C
実行前
192
FUJITSU MICROELECTRONICS LIMITED
1 0
10 0 × 0
T N Z V C
実行後
CM44-00203-3
第 8 章 命令細則
8.61 LSRW (Logical Shift Word Data of Accumulator to Right)
F2MC-16FX ファミリ
8.61
LSRW (Logical Shift Word Data of Accumulator to
Right)
アキュムレータ (A) の下位ワードデータを , 1 ビットだけ右へシフトします。
アキュムレータ (A) の下位ワードデータの最上位ビットには "0" が入ります。最下位
ビットはキャリフラグ (C) に入ります。
● アセンブラ形式
LSRW A / SHRW A
● オペレーション
MSB
AL
LSB
C
T
1
0
● CCR
I
S
T
N
Z
V
C
− −
*
R
*
−
*
I, S −変化しません。
T −キャリよりシフトアウトされたデータと旧 T フラグとの OR がセットされます。
N −クリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の LSB からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
193
第 8 章 命令細則
8.61 LSRW (Logical Shift Word Data of Accumulator to Right)
F2MC-16FX ファミリ
● 実行例
LSRW A
この例では , AL のワードデータ (AAAAH) を , 1 ビット右シフトします。
AH
A
AL
×× ××
A A
A A
A
AL
×× ××
5 5
5 5
CCR 1 ××× 0
CCR 1 0 0 × 0
T N Z V C
T N Z V C
実行前
194
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.62 LSRW (Logical Shift Word Data of Accumulator to Right)
F2MC-16FX ファミリ
8.62
LSRW (Logical Shift Word Data of Accumulator to
Right)
アキュムレータ (A) の下位ワードデータを , 第 2 オペランドで示されるビット数だけ
右へシフトします。
アキュムレータ (A) の下位ワードデータの最上位ビットには "0" が入ります。最下位
ビットからシフトアウトされたビットはキャリフラグ (C) に入ります。
● アセンブラ形式
LSRW A,R0
● オペレーション
MSB
AL
LSB
C
T
1
0
● CCR
I
S
T
N
Z
V
C
− −
*
*
*
−
*
I, S −変化しません。
T − キャリよりシフトアウトされたデータに1つ以上"1"であるビットがあればセット,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフトの結果の MSB が "1" のときセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C −A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロの場
合はクリアされます。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
195
第 8 章 命令細則
8.62 LSRW (Logical Shift Word Data of Accumulator to Right)
F2MC-16FX ファミリ
● 実行例
LSRW A,R0
この例では , AL のワードデータ (AAAAH) を , R0 が示すビット数 (12 ビット ) 右シフ
トします。
AH
A
AL
×× ××
A A
RO
AH
A A
A
AL
×× ××
0 0
0C
CCR ×××××
RO
CCR
T N Z V C
実行前
196
FUJITSU MICROELECTRONICS LIMITED
0 A
0 C
10 0 × 1
T N Z V C
実行後
CM44-00203-3
第 8 章 命令細則
8.63 MOV (Move Byte Data from Source to Accumulator)
F2MC-16FX ファミリ
8.63
MOV (Move Byte Data from Source to Accumulator)
AH に AL の値が転送されます。そのあと , AL の上位バイトには 00H が , AL の下位
バイトには第 2 オペランドのバイトデータが転送されます。
第 2 オペランドが @A の場合は , AH への転送は行われません。
● アセンブラ形式
MOV A,#imm8
MOV A,Ri
MOV A,@A
MOV A,dir
MOV A,@RLi+disp8
MOV A,addr16
MOV A,io
MOV A,brg1
MOV A,eam
MOV A,ear
● オペレーション
(A) ← ( 第 2 オペランド ) 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
第 1 オペランド
A
A
A
A
第 2 オペランド #imm8 @A @RLi+disp8 io
CM44-00203-3
A
A
A
addr16
Ri
dir
A
A
A
ear eam brg1
バイト数
2
2
3
2
3
1
2
2
2+
2
サイクル数
1
1
1
1
1
1
1
1
1
1
FUJITSU MICROELECTRONICS LIMITED
197
第 8 章 命令細則
8.63 MOV (Move Byte Data from Source to Accumulator)
F2MC-16FX ファミリ
● 実行例
MOV A,0092H
この例では , AL のワードデータ (A046H) を AH に転送したあと , 0092H 番地のバイト
データ (71H) を AL に転送します。
AH
A
AL
×× ××
A 0
AH
4 6
A
A 0
AL
0 0
4 6
CCR ×××××
CCR × 0 0 × ×
T N Z V C
メモリ
7 1
198
T N Z V C
メモリ
0092
実行前
7 1
7 1
0092
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.64 MOV (Move Byte Data from Accumulator to Destination)
F2MC-16FX ファミリ
8.64
MOV (Move Byte Data from Accumulator to
Destination)
アキュムレータ (A) の最下位バイトデータを , 第 1 オペランドで示されるアドレスに
転送します。
● アセンブラ形式
MOV dir,A
MOV Ri,A
MOV @RLi+disp8,A
MOV io,A
MOV addr16,A
MOV brg2,A
MOV ear,A
MOV eam,A
● オペレーション
( 第 1 オペランド ) ← (A) 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
dir
@RLi+disp8 addr16
io
Ri
ear
第 2 オペランド
A
A
バイト数
2
サイクル数
1
A
A
A
A
A
A
3
3
2
1
2
2+
2
1
1
1
1
1
1
1
FUJITSU MICROELECTRONICS LIMITED
eam brg2
199
第 8 章 命令細則
8.64 MOV (Move Byte Data from Accumulator to Destination)
F2MC-16FX ファミリ
● 実行例
MOV R1,A
この例では , AL の下位バイトデータ (32H) を R1 に転送します。
AH
A
AL
×× ××
4 9
AH
3 2
R1 ××
CCR ×××××
T N Z V C
A
CCR
×× ××
4 9
×0 0 ××
3 2
R1
3 2
T N Z V C
実行前
200
AL
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00203-3
第 8 章 命令細則
8.65 MOV (Move Byte Immediate data to Destination)
F2MC-16FX ファミリ
8.65
MOV (Move Byte Immediate data to Destination)
第 2 オペランドで指定された 8 ビットの即値データを第 1 オペランドで示されるア
ドレスに転送します。
第 1 オペランドが @PC+disp16 のときの転送先アドレスは「MOV 命令の機械命令が格
納されているアドレス +4+rel」となります。
「MOV 命令の次の命令の機械命令が格納
されているアドレス +rel」ではありません。
● アセンブラ形式
MOV RP,#imm8
MOV ILM,#imm8
MOV io,#imm8
MOV dir,#imm8
MOV ear,#imm8
MOV eam,#imm8
● オペレーション
( 第 1 オペランド ) ← imm8
● CCR
転送先が汎用レジスタ (R0 ∼ R7)
とバンクレジスタの場合
転送先が汎用レジスタ (R0 ∼ R7)
とバンクレジスタ以外の場合
I
S
T
N
Z
V
C
I
S
T
N
Z
V
C
−
−
−
*
*
−
−
−
−
−
−
−
−
−
I, S, T −変化しません。
N −汎用レジスタ以外への転送であれば変化しません。汎用レジスタへの転送であれ
ば , 転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z − 汎用レジスタ以外への転送であれば変化しません。汎用レジスタへの転送であれ
ば , 転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
RP
ILM
dir
io
ear
eam
第 2 オペランド
#imm8
#imm8
#imm8
#imm8
#imm8
#imm8
バイト数
2
2
3
3
3
3+
サイクル数
RP の内容が変化
するときは 19,
それ以外は 4
1
1
1
1
1
FUJITSU MICROELECTRONICS LIMITED
201
第 8 章 命令細則
8.65 MOV (Move Byte Immediate data to Destination)
F2MC-16FX ファミリ
● 実行例
MOV 009FH,#22H
この例では , 8 ビット即値データ (22H) を 009FH 番地にバイト転送します。
A
AH
AL
×× ××
×× ××
A
AL
×× ××
×× ××
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
メモリ
7 1
メモリ
009F
実行前
202
AH
2 2
009F
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.66 MOV (Move Byte Data from Source to Destination)
F2MC-16FX ファミリ
8.66
MOV (Move Byte Data from Source to Destination)
第 2 オペランドで示されるバイトデータを第 1 オペランドへ転送します。
ここで解説する MOV Ri, #imm8 は基本ページマップ (「付録 C 表 C.2-1 」参照 ) 内に
ある命令を指し , MOV ear, #imm8 に含まれるものとは別のコードの命令です。
● アセンブラ形式
MOV Ri,#imm8
MOV Ri,ear
MOV Ri,eam
MOV ear,Ri
MOV eam,Ri
● オペレーション
( 第 1 オペランド ) ← ( 第 2 オペランド ) 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
Ri
Ri
Ri
ear
eam
第 2 オペランド
#imm8
ear
eam
Ri
Ri
バイト数
2
2
2+
2
2+
サイクル数
1
1
1
1
1
FUJITSU MICROELECTRONICS LIMITED
203
第 8 章 命令細則
8.66 MOV (Move Byte Data from Source to Destination)
F2MC-16FX ファミリ
● 実行例
MOV R3,@RW0
この例では , 第 2 オペランド (@RW0) で示されるアドレス (E001H) のバイトデータ (71H)
を , R3 に転送します。
RWO
R3 ××
E 0
RWO
0 1
CCR ×××××
R3
E 0
7 1 CCR ×× 0 0 ×
T N Z V C
メモリ
7 1
実行前
204
0 1
T N Z V C
メモリ
E001
7 1
E001
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.67 MOV (Move Byte Data from AH to Memory )
F2MC-16FX ファミリ
8.67
MOV (Move Byte Data from AH to Memory )
AH の下位バイトデータを AL の内容によって示されるメモリへ転送します。
● アセンブラ形式
MOV @AL,AH
● オペレーション
((AL)) ← (AH) 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
205
第 8 章 命令細則
8.67 MOV (Move Byte Data from AH to Memory )
F2MC-16FX ファミリ
● 実行例
MOV @AL,AH
この例では , AH の下位バイトデータ (22H) を , AL のワードデータで示されるアドレス
(E084H) にバイト転送します。
AH
A
0 1
AL
2 2
E 0
AH
8 4
A
0 1
AL
2 2
E 0
CCR × 0 0 ××
CCR ×××××
T N Z V C
メモリ
実行前
206
T N Z V C
メモリ
E084
7 1
8 4
2 2
E084
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.68 MOVB (Move Bit Data from Bit Address to Accumulator)
F2MC-16FX ファミリ
8.68
MOVB (Move Bit Data from Bit Address to
Accumulator)
AH に AL の値が転送されます。そのあと , アキュムレータ (A) の bit8 ∼ bit15 には
00H が転送されます。A の bit0 ∼ bit7 には , 第 2 オペランドで指定したアドレスの
ビットが "0" のとき 00H, "1" のとき FFH が転送されます。
● アセンブラ形式
MOVB A,addr16:bp
MOVB A,dir:bp
MOVB A,io:bp
● オペレーション
【バイト転送】
( 第 2 オペランド ) = 0 のとき :(A) ← 00H ( 第 2 オペランド ) = 1 のとき :(A) ← FFH 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送されるビットが "1" ならばセット , "0" ならばクリアされます。
Z −転送されるビットが "0" ならばセット , "1" ならばクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
第 2 オペランド
addr16:bp
dir:bp
io:bp
バイト数
4
3
3
サイクル数
1
1
1
FUJITSU MICROELECTRONICS LIMITED
207
第 8 章 命令細則
8.68 MOVB (Move Bit Data from Bit Address to Accumulator)
F2MC-16FX ファミリ
● 実行例
MOVB A,32H:3
この例では , 32H 番地のバイトデータ (7FH) の bit3 が "1" なので , AL に 00FFH が設定さ
れます。
A
AH
AL
×× ××
×× ××
A
AL
×× ××
0 0
F F
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
メモリ
メモリ
× ×
× ×
7 F
208
AH
0032
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
0032
CM44-00203-3
第 8 章 命令細則
8.69 MOVB (Move Bit Data from Accumulator to Bit Address)
F2MC-16FX ファミリ
8.69
MOVB (Move Bit Data from Accumulator to Bit
Address)
アキュムレータ (A) の最下位バイトデータが 00H のときは , 第 1 オペランドで指定
したビットアドレスにビットデータ 0 を転送します。
A の最下位バイトデータが 00H でないときは , 第 1 オペランドで指定したビットア
ドレスにビットデータ 1 を転送します。
● アセンブラ形式
MOVB addr16:bp,A
MOVB dir:bp,A
MOVB io:bp,A
● オペレーション
(A) のバイトデータが 00H のとき
:( 第 1 オペランド )b=0 【ビット転送】
(A) のバイトデータが 00H でないとき :( 第 1 オペランド )b=1 【ビット転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N − A のバイトデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z − A のバイトデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
第 1 オペランド addr16:bp
CM44-00203-3
dir:bp
io:bp
第 2 オペランド
A
A
A
バイト数
4
3
3
サイクル数
3
3
3
FUJITSU MICROELECTRONICS LIMITED
209
第 8 章 命令細則
8.69 MOVB (Move Bit Data from Accumulator to Bit Address)
F2MC-16FX ファミリ
● 実行例
MOVB 765FH:7,A
この例では, ALの下位バイトデータが00H でないので, 765FH 番地のbit7を"1"にします。
AH
A
AL
××
×× ××
0 1
A
AL
××
×× ××
0 1
CCR ×××××
CCR × 0 0 ××
T N Z V C
T N Z V C
メモリ
メモリ
× ×
× ×
7 F
210
AH
765F
F
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
765F
CM44-00203-3
第 8 章 命令細則
8.70 MOVEA (Move Effective Address to Destination)
F2MC-16FX ファミリ
8.70
MOVEA (Move Effective Address to Destination)
第 2 オペランドで示される値 ( 実効アドレス ) を第 1 オペランドへ転送します。
第2オペランドに汎用レジスタが指定されたときは, 汎用レジスタアドレスを転送しま
す。転送先 ( 第 1 オペランド ) がアキュムレータ (A) の場合 , AH には , アドレス転送前
の AL の値が転送されます。
● アセンブラ形式
MOVEA A,ear
MOVEA RWi,ear
MOVEA A,eam
MOVEA RWi,eam
● オペレーション
第 1 オペランド← ea 【ワード転送】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
RWi
RWi
第 2 オペランド
ear
eam
ear
eam
バイト数
2
2+
2
2+
サイクル数
1
1
1
1
FUJITSU MICROELECTRONICS LIMITED
211
第 8 章 命令細則
8.70 MOVEA (Move Effective Address to Destination)
F2MC-16FX ファミリ
● 実行例
MOVEA RW2,@RW0+2
この例では , 第 2 オペランド (@RW0+2) で示されるアドレス値 (006BH) を , RW2 に転
送します。
RWO
0 0
6 9
RWO
0 0
6 9
RW2
×× ××
RW2
0 0
6 B
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
212
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.71
第 8 章 命令細則
8.71 MOVL (Move Long Word Data from Source to Accumulator)
MOVL (Move Long Word Data from Source to
Accumulator)
第 2 オペランドで示されるロングワードデータをアキュムレータ (A) へ転送します。
● アセンブラ形式
MOVL A,#imm32
MOVL A,ear
MOVL A,eam
● オペレーション
(A) ← ( 第 2 オペランド ) 【ロングワード転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
第 2 オペランド
#imm32
ear
eam
バイト数
5
2
2+
サイクル数
2
2
2
奇数アドレス補正
0
0
1
FUJITSU MICROELECTRONICS LIMITED
213
第 8 章 命令細則
8.71 MOVL (Move Long Word Data from Source to Accumulator)
F2MC-16FX ファミリ
● 実行例
MOVL A,#0053FF64H
この例では , 32 ビット即値データ (0053FF64H) を , アキュムレータ (A) にロングワード
転送します。
AH
A
AL
×× ××
×× ××
A
0 0
AL
F F
5 3
6 4
CCR ×××××
CCR × 0 0 ××
T N Z V C
T N Z V C
実行前
214
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.72 MOVL (Move Long Word Data from Accumulator to
Destination)
F2MC-16FX ファミリ
8.72
MOVL (Move Long Word Data from Accumulator to
Destination)
アキュムレータ (A) のロングワードデータを第 1 オペランドへ転送します。
● アセンブラ形式
MOVL ear,A
MOVL eam,A
● オペレーション
( 第 1 オペランド ) ← (A) 【ロングワード転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
215
第 8 章 命令細則
8.72 MOVL (Move Long Word Data from Accumulator to
Destination)
● バイト数 , サイクル数
第 1 オペランド
ear
eam
第 2 オペランド
A
A
バイト数
2
2+
サイクル数
2
2
奇数アドレス補正
0
1
F2MC-16FX ファミリ
● 実行例
MOVL RL1,A
この例では , アキュムレータ (A) のロングワードデータ (0197A024H) を , RL1 に転送し
ます。
AH
A
RL1
0 1
AL
A 0
9 7
×× ××
2 4
×× ××
AL
A
0 1
9 7
A 0
2 4
RL1
0 1
9 7
A 0
2 4
CCR ×××××
CCR × 0 0 ××
T N Z V C
T N Z V C
実行前
216
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.73 MOVN (Move Immediate Nibble Data to Accumulator)
F2MC-16FX ファミリ
8.73
MOVN (Move Immediate Nibble Data to
Accumulator)
AH に AL の値が転送されます。そのあと , AL の bit4 ∼ bit15 には 000H が , AL の
bit0 ∼ bit3 には第 2 オペランドで指定されたニブルデータが転送されます。
● アセンブラ形式
MOVN A,#imm4
● オペレーション
(A) ← imm4 【バイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
R
*
− −
I, S, T −変化しません。
N −クリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
MOVN A,#0FH
この例では , AL のワードデータ (6207H) を AH に転送したあと , 4 ビット即値データ
(FH) をゼロ拡張したバイトデータ (0FH) を , AL に転送します。
AH
A
AL
×× ××
6 2
AH
0 7
A
6 2
AL
0 0
0 7
CCR ×××××
CCR × 0 0 ××
T N Z V C
実行前
CM44-00203-3
0 F
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
217
第 8 章 命令細則
8.74 MOVS, MOVSI (Move String Byte with Increment)
8.74
F2MC-16FX ファミリ
MOVS, MOVSI (Move String Byte with Increment)
<source bank> で指定される空間の AL で示されるアドレスから , <destination
bank> で指定される空間の AH で示されるアドレスへ , バイトデータを転送します。
RW0 で指定された回数だけ , アドレスを増加させながら転送を繰り返します。
RW0 がゼロであったときは転送は行いません。<destination bank>, <sourcebank> として
PCB, DTB, ADB, SPB の 4 種が使用できます。省略時は自動的に DTB が設定されます。
転送中に割込みが生じた場合は , 転送を一時中断して割込み処理を行います。割込み処
理の終了のあと転送を再開します。
● アセンブラ形式
MOVS [<destination bank>] [,<source bank>]
MOVSI [<destination bank>] [,<source bank>]
● オペレーション
RW0=0 となるまで
((AH)) ← ((AL)) 【バイト転送】
(AH) ← (AH)+1, (AL) ← (AL)+1
(RW0) ← (RW0)-1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数
:2
サイクル数
: RW0 がゼロのときに 1 サイクル , RW0 が 1 以上で転送元と転送先
のアドレス領域が重ならないときに RW0 サイクル , それ以外は 2
× RW0 サイクル
奇数アドレス補正 : 1
218
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.74 MOVS, MOVSI (Move String Byte with Increment)
F2MC-16FX ファミリ
● 実行例
MOVSI ADB,PCB
この例では , PCB と AL で示されるアドレス (FF0000H) から , ADB と AH で示されるア
ドレス (018000H) へバイトデータを転送します。
AH
AH
AL
A
8 0
0 0
RWO
0 0
0 3
0 0
0 0
CCR ×××××
AL
A
8 0
0 3
RWO
0 0
0 0
0 0
0 3
CCR ×××××
T N Z V C
T N Z V C
PCB
F F
PCB
ADB 0 1
F F
ADB 0 1
メモリ
AL →
AH→
メモリ
F C
FF0003
F D
F C
FF0003
FF0002
F D
FF0002
F E
FF0001
F E
FF0001
F F
FF0000
F F
FF0000
××
018003
××
018003
××
018002
F D
018002
××
018001
F E
018001
××
018000
F F
018000
AL →
AH→
実行前
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
実行後
219
第 8 章 命令細則
8.75 MOVSD (Move String Byte with Decrement)
8.75
F2MC-16FX ファミリ
MOVSD (Move String Byte with Decrement)
<source bank> で指定される空間の AL で示されるアドレスから , <destination
bank> で指定される空間の AH で示されるアドレスへ , バイトデータを転送します。
RW0 で指定された回数だけ , アドレスを減少させながら転送を繰り返します。
RW0 がゼロであったときは転送は行いません。<destination bank>, <sourcebank> として
PCB, DTB, ADB, SPB の 4 種が使用できます。省略時は自動的に DTB が設定されます。
転送中に割込みが生じた場合は , 転送を一時中断して割込み処理を行います。割込み処
理の終了のあと転送を再開します。
● アセンブラ形式
MOVSD [<destination bank>] [,<source bank>]
● オペレーション
RW0=0 となるまで
((AH)) ← ((AL)) 【バイト転送】
(AH) ← (AH)-1, (AL) ← (AL)-1
(RW0) ← (RW0)-1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :RW0 がゼロのときに 1 サイクル , それ以外は 2 × RW0 サイクル
220
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.76 MOVSW, MOVSWI (Move String Word with Increment)
F2MC-16FX ファミリ
8.76
MOVSW, MOVSWI (Move String Word with
Increment)
<source bank> で指定される空間の AL で示されるアドレスから , <destination
bank> で指定される空間の AH で示されるアドレスへ , ワードデータを転送します。
RW0 で指定された回数だけ , アドレスを増加させながら転送を繰り返します。
RW0 がゼロであったときは転送は行いません。<destination bank>, <source bank> として
PCB, DTB, ADB, SPB の 4 種が使用できます。省略時は , 自動的に DTB が設定されます。
転送中に割込みが生じた場合は , 転送を一時中断して割込み処理を行います。割込み処
理の終了のあと転送を再開します。
● アセンブラ形式
MOVSW
[<destination bank>] [,<source bank>]
MOVSWI [<destination bank>] [,<source bank>]
● オペレーション
RW0=0 となるまで
((AH)) ← ((AL)) 【ワード転送】
(AH) ← (AH)+2, (AL) ← (AL)+2
(RW0) ← (RW0)-1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグとも変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 : RW0 がゼロのときに 1 サイクル , それ以外は 2 × RW0 サイクル
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
221
第 8 章 命令細則
8.76 MOVSW, MOVSWI (Move String Word with Increment)
F2MC-16FX ファミリ
● 実行例
MOVSW ,ADB
この例では , ADB と AL で示されるアドレス (38A000H) から , DTB と AH で示される
アドレス (CD0000H) へワードデータを転送します。
AH
AH
AL
A
0 0
0 0
RWO
0 0
0 3
A 0
0 0
CCR ×××××
AL
A
0 0
0 6
RWO
0 0
0 0
A 0
CCR ×××××
T N Z V C
T N Z V C
DTB
C D
DTB
ADB 3 8
メモリ
AH→
0 6
C D
ADB 3 8
AH→
メモリ
××
CD0005
2 6
CD0005
××
CD0004
4 2
CD0004
××
CD0003
3 6
CD0003
××
CD0002
3 1
CD0002
××
CD0001
4 D
CD0001
××
CD0000
4 6
CD0000
AL →
AL →
2 6
38A005
2 6
38A005
4 2
38A004
4 2
38A004
3 6
38A003
3 6
38A003
3 1
38A002
3 1
38A002
4 D
38A001
4 D
38A001
4 6
38A000
4 6
38A000
実行前
222
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00203-3
第 8 章 命令細則
8.77 MOVSWD (Move String Word with Decrement)
F2MC-16FX ファミリ
8.77
MOVSWD (Move String Word with Decrement)
<source bank> で指定される空間の AL で示されるアドレスから , <destination
bank> で指定される空間の AH で示されるアドレスへ , ワードデータを転送します。
RW0 で指定された回数だけ , アドレスを減少させながら転送を繰り返します。
RW0 がゼロであったときは転送は行いません。<destination bank>, <source bank> として
PCB, DTB, ADB, SPB の 4 種が使用できます。省略時は , 自動的に DTB が設定されます。
転送中に割込みが生じた場合は , 転送を一時中断して割込み処理を行います。割込み処
理の終了のあと転送を再開します。
● アセンブラ形式
MOVSWD
[<destination bank>] [,<source bank>]
● オペレーション
RW0=0 となるまで
((AH)) ← ((AL)) 【ワード転送】
(AH) ← (AH)-2, (AL) ← (AL)-2
(RW0) ← (RW0)-1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグとも変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 : RW0 がゼロのときに 1 サイクル , それ以外は 2 × RW0 サイクル
奇数アドレス補正 :
転送先が奇数アドレスのとき RW0 サイクル , 転送元が奇数アド
レスのとき RW0 サイクル , 転送先 , 転送元の両方が奇数アドレ
スのときは 2 × RW0 サイクル
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
223
第 8 章 命令細則
8.78 MOVW (Move Word Data from Source to Accumulator)
8.78
F2MC-16FX ファミリ
MOVW (Move Word Data from Source to
Accumulator)
AH に AL の値が転送されます。そのあと , AL に第 2 オペランドのワードデータが
転送されます。
第 2 オペランドが @A の場合は , AH への転送は行われません。
● アセンブラ形式
MOVW A,#imm16
MOVW A,@RWi+disp8
MOVW A,@A
MOVW A,addr16
MOVW A,@RLi+disp8
MOVW A,RWi
MOVW A,SP
MOVW A,dir
MOVW A,io
MOVW A,ear
MOVW A,eam
● オペレーション
(A) ← ( 第 2 オペランド ) 【ワード転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
第 1 オペランド
第 2 オペランド
224
A
A
A
A
A
A
A
A
A
A
A
#imm16 @A @RLi+disp8 SP io @RWi+disp8 addr16 RWi dir ear eam
バイト数
3
2
3
1
2
2
3
1
2
2
2+
サイクル数
1
1
1
1
1
1
1
1
1
1
1
奇数アドレス補正
0
1
1
0
1
1
1
0
1
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.78 MOVW (Move Word Data from Source to Accumulator)
F2MC-16FX ファミリ
● 実行例
MOVW A,0F9A0H
この例では , AL のワードデータ (4901H) を AH に転送したあと , F9A0H 番地のワード
データ (AE86H) を AL に転送します。
AH
A
AL
×× ××
4 9
AH
0 1
4 9
A E
0 1
8 6
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
メモリ
メモリ
A E
F9A1
A E
F9A1
8 6
F9A0
8 6
F9A0
実行前
CM44-00203-3
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
225
第 8 章 命令細則
8.79 MOVW (Move Word Data from Accumulator to Destination)
8.79
F2MC-16FX ファミリ
MOVW (Move Word Data from Accumulator to
Destination)
アキュムレータ (A) の下位ワードデータを第 1 オペランドへ転送します。
● アセンブラ形式
MOVW @RLi+disp8,A
MOVW addr16,A
MOVW SP,A
MOVW RWi,A
MOVW io,A
MOVW dir,A
MOVW @RWi+disp8,A
MOVW ear,A
MOVW eam,A
● オペレーション
( 第 1 オペランド ) ← (A) 【ワード転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
226
第 1 オペランド
dir
@RLi+disp8 addr16 SP
io @RWi+disp8 RWi ear eam
第 2 オペランド
A
A
A
A
A
A
A
A
A
バイト数
2
3
3
1
2
2
1
2
2+
サイクル数
1
1
1
1
1
1
1
1
1
奇数アドレス補正
1
1
1
0
1
1
0
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.79 MOVW (Move Word Data from Accumulator to Destination)
F2MC-16FX ファミリ
● 実行例
MOVW RW0,A
この例では , AL のワードデータ (0000H) を RW0 に転送します。
AH
A
AL
×× ××
0 0
AH
0 0
×× ××
RWO
A
AL
×× ××
RWO
CCR ×××××
CM44-00203-3
0 0
0 0
0 0
CCR × 0 1 ××
T N Z V C
実行前
0 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
227
第 8 章 命令細則
8.80 MOVW (Move Immediate Word Data to Destination)
8.80
F2MC-16FX ファミリ
MOVW (Move Immediate Word Data to Destination)
16 ビットの即値データを第 1 オペランドに転送します。
第 1 オペランドが @PC+disp16 のときの転送先アドレスは「MOVW 命令の機械命令が
格納されているアドレス +4+disp16」となります。
「MOVW 命令の次の命令の機械命令
が格納されているアドレス +disp16」ではありません。
● アセンブラ形式
MOVW ear,#imm16
MOVW eam,#imm16
● オペレーション
( 第 1 オペランド ) ← imm16
● CCR
転送先が汎用レジスタ (RW0 ∼ RW7)
の場合
転送先が汎用レジスタ (RW0 ∼ RW7)
以外の場合
I
S
T
N
Z
V
C
I
S
T
N
Z
V
C
−
−
−
*
*
−
−
−
−
−
−
−
−
−
I, S, T −変化しません。
N −汎用レジスタ以外への転送であれば変化しません。汎用レジスタへの転送であれ
ば , 転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z − 汎用レジスタ以外への転送であれば変化しません。汎用レジスタへの転送であれ
ば , 転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。全フラグ変化しません。
● バイト数 , サイクル数
第 1 オペランド
第 2 オペランド
228
ear
eam
#imm16 #imm16
バイト数
4
4+
サイクル数
2
2
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 8 章 命令細則
8.80 MOVW (Move Immediate Word Data to Destination)
● 実行例
MOVW RW0,#2343H
この例では , 16 ビット即値データ (2343H) を RW0 に転送します。
CCR ×××××
CCR × 0 0 ××
T N Z V C
RWO
×× ××
実行前
CM44-00203-3
T N Z V C
RWO
2 3
4 3
実行後
FUJITSU MICROELECTRONICS LIMITED
229
第 8 章 命令細則
8.81 MOVW (Move Word Data from source to Destination)
8.81
F2MC-16FX ファミリ
MOVW (Move Word Data from source to Destination)
第 2 オペランドで指定されたワードデータを第 1 オペランドへ転送します。
● アセンブラ形式
MOVW RWi,#imm16
MOVW ear,RWi
MOVW eam,RWi
MOVW RWi,ear
MOVW RWi,eam
● オペレーション
( 第 1 オペランド ) ← ( 第 2 オペランド ) 【ワード転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
230
第 1 オペランド
RWi
RWi
RWi
ear
eam
第 2 オペランド
#imm16
ear
eam
RWi
RWi
バイト数
3
2
2+
2
2+
サイクル数
1
1
1
1
1
奇数アドレス補正
0
0
1
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.81 MOVW (Move Word Data from source to Destination)
F2MC-16FX ファミリ
● 実行例
MOVW RW1,RW0
この例では , RW0 のワードデータ (004AH) を RW1 に転送します。
A
AH
AL
×× ××
×× ××
A
AH
AL
×× ××
×× ××
RWO
0 0
4 A
RWO
0 0
4 A
RW1
×× ××
RW1
0 0
4 A
CCR × 0 0 ××
CCR ×××××
T N Z V C
T N Z V C
実行前
CM44-00203-3
実行後
FUJITSU MICROELECTRONICS LIMITED
231
第 8 章 命令細則
8.82 MOVW (Move Immediate Word Data to io)
8.82
F2MC-16FX ファミリ
MOVW (Move Immediate Word Data to io)
16 ビットの即値データを第 1 オペランドで示される I/O 領域に転送します。
● アセンブラ形式
MOVW io,#imm16
● オペレーション
( 第 1 オペランド ) ← imm16 【ワード転送】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :4
サイクル数 :1
奇数アドレス補正 :1
● 実行例
MOVW 24H,#2343H
この例では , 16 ビット即値データ (2343H) を , I/O 領域の 24H 番地にワード転送します。
232
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
メモリ
メモリ
××
××
××
000025
2 3
000025
××
000024
4 3
000024
××
××
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.83 MOVW (Move Word Data from AH to Memory)
F2MC-16FX ファミリ
8.83
MOVW (Move Word Data from AH to Memory)
AH のワードデータを AL の内容によって示されるメモリへ転送します。
● アセンブラ形式
MOVW @AL, AH
● オペレーション
((AL)) ← (AH) ( ワード転送 )
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
奇数アドレス補正 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
233
第 8 章 命令細則
8.83 MOVW (Move Word Data from AH to Memory)
F2MC-16FX ファミリ
● 実行例
MOVW @AL,AH
この例では , AH のワードデータ (00CBH) を , AL で示されるアドレス (FEFFH) へ転送
します。
AH
A
0 0
AL
F E
C B
AH
F F
0 0
AL
F E
C B
F F
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
メモリ
7 1
メモリ
FEFF
実行前
234
A
C B
FEFF
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.84 MOVX (Move Byte Data with Sign Extension from Source
to Accumulator)
F2MC-16FX ファミリ
8.84
MOVX (Move Byte Data with Sign Extension from
Source to Accumulator)
AH に AL の値が転送されます。そのあと , AL に , 第 2 オペランドのバイトデータを
符号拡張した , ワードデータが転送されます。
第 2 オペランドが @A の場合は , AH への転送は行われません。
● アセンブラ形式
MOVX A,#imm8
MOVX A,@RWi+disp8
MOVX A,@A
MOVX A,addr16
MOVX A,@RLi+disp8
MOVX A,Ri
MOVX A,dir
MOVX A,io
MOVX A,ear
MOVX A,eam
● オペレーション
(A) ← ( 第 2 オペランド ) 【符号拡張付きバイト転送】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
− −
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
第 1 オペランド
A
A
A
A
第 2 オペランド #imm8 @A @RLi+disp8 dir
A
A
A
A
io @RWi+disp8 addr16 Ri
A
A
ear eam
バイト数
2
2
3
2
2
2
3
1
2
2+
サイクル数
1
1
1
1
1
1
1
1
1
1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
235
第 8 章 命令細則
8.84 MOVX (Move Byte Data with Sign Extension from Source
to Accumulator)
● 実行例
F2MC-16FX ファミリ
MOVX A,0E001H
この例では , AL のワードデータ (A046H) を AH に転送したあと , E001H 番地のバイト
データ (86H) を符号拡張したワードデータ (FF86H) を , AL に転送します。
AH
A
AL
×× ××
A 0
AH
4 6
A 0
F F
4 6
8 6
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
メモリ
8 6
メモリ
E001
実行前
236
A
AL
8 6
E001
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.85 MUL (Multiply Byte Data of Accumulator)
F2MC-16FX ファミリ
8.85
MUL (Multiply Byte Data of Accumulator)
AH と AL の下位バイトデータを符号付き 2 進数として乗算し , 結果をアキュムレー
タ (A) の AL へ戻します。
● アセンブラ形式
MUL A
● オペレーション
word(A) ← byte (AH) × byte (AL) 【バイト乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 : 2
サイクル数 : 4
● 実行例
MUL A
この例では , AH の下位バイトデータ (FAH) と , AL の下位バイトデータ (11H) を符号付
きで乗算します。乗算結果のワードデータ (FF9AH) を AL に設定します。
AH
A
0 0
AL
F A
0 0
1 1
A
0 0
AL
F A
F F
9 A
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
237
第 8 章 命令細則
8.86 MUL (Multiply Byte Data of Accumulator and Effective
Address)
8.86
F2MC-16FX ファミリ
MUL (Multiply Byte Data of Accumulator and
Effective Address)
アキュムレータ (A) と第 2 オペランドのバイトデータを符号付き 2 進数として乗算
し , 結果を A の bit0 ∼ bit15 に戻します。
● アセンブラ形式
MUL A,ear
MUL A,eam
● オペレーション
word (A) ← byte (A) × byte (ea) 【バイト乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
238
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
4
5
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.86 MUL (Multiply Byte Data of Accumulator and Effective
Address)
F2MC-16FX ファミリ
● 実行例
MUL A,R7
この例では , AL の下位バイトデータ (85H) と , R7 のバイトデータ (A5H) を符号付きで
乗算します。乗算結果のワードデータ (2B89H) を AL に設定します。
AH
A
AL
×× ××
0 0
8 5
R7
A 5
A
AL
×× ××
2 B
B 9
R7
A 5
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
239
第 8 章 命令細則
8.87 MULW (Multiply Word Data of Accumulator)
8.87
F2MC-16FX ファミリ
MULW (Multiply Word Data of Accumulator)
AH と AL のワードデータを符号付き 2 進数として乗算し , 結果のロングワードデー
タをアキュムレータ (A) に戻します。
● アセンブラ形式
MULW A
● オペレーション
long (A) ← word (AH) × word (AL) 【ワード乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 : 2
サイクル数 : 6
● 実行例
MULW A
この例では , AH のワードデータ (AD01H) と , AL のワードデータ (05EDH) を符号付き
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
A D
AL
0 1
0 5
E D
A
F E
AL
1 4
2 E
E D
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
240
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.88 MULW (Multiply Word Data of Accumulator and Effective
Address)
F2MC-16FX ファミリ
8.88
MULW (Multiply Word Data of Accumulator and
Effective Address)
アキュムレータ (A) と第 2 オペランドのワードデータを符号付き 2 進数として乗算
し , 結果のロングワードデータを A に戻します。
● アセンブラ形式
MULW A,ear
MULW A,eam
● オペレーション
long (A) ← word (A) × word ( 第 2 オペランド ) 【ワード乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
6
7
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
241
第 8 章 命令細則
8.88 MULW (Multiply Word Data of Accumulator and Effective
Address)
● 実行例
F2MC-16FX ファミリ
MULW A,RW5
この例では , AL のワードデータ (8342H) と , RW5 のワードデータ (4314H) を符号付き
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
AL
×× ××
RW5
8 3
4 2
4 3
1 4
A
D F
AL
5 0
RW5
8 7
2 8
4 3
1 4
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
242
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.89 MULU (Multiply Unsigned Byte Data of Accumulator)
F2MC-16FX ファミリ
8.89
MULU (Multiply Unsigned Byte Data of Accumulator)
AH と AL の下位バイトデータを符号なし 2 進数として乗算し , 結果をアキュムレー
タ (A) の AL に戻します。
● アセンブラ形式
MULU A
● オペレーション
word (A) ← byte (AH) × byte (AL) 【バイト乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :2
● 実行例
MULU A
この例では , AH の下位バイトデータ (FAH) と , AL の下位バイトデータ (11H) を符号な
し乗算します。乗算結果のワードデータ (109AH) を AL に設定します。
AH
A
0 0
AL
F A
0 0
1 1
A
0 0
AL
F A
1 0
9 A
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
243
第 8 章 命令細則
8.90 MULU (Multiply Unsigned Byte Data of Accumulator and
Effective Address)
8.90
F2MC-16FX ファミリ
MULU (Multiply Unsigned Byte Data of Accumulator
and Effective Address)
アキュムレータ (A) と第 2 オペランドのバイトデータを符号なし 2 進数として乗算
し , 結果を A の bit0 ∼ bit15 に戻します。
● アセンブラ形式
MULU A,ear
MULU A,eam
● オペレーション
word (A) ← byte (A) × byte ( 第 2 オペランド ) 【バイト乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
244
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
2
3
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.90 MULU (Multiply Unsigned Byte Data of Accumulator and
Effective Address)
F2MC-16FX ファミリ
● 実行例
MULU A,R7
この例では , AL の下位バイトデータ (85H) と , R7 のバイトデータ (A5H) を符号なし乗
算します。乗算結果のワードデータ (55B9H) を AL に設定します。
AH
A
AL
×× ××
0 0
8 5
R7
A 5
A
AL
×× ××
5 5
B 9
R7
A 5
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
245
第 8 章 命令細則
8.91 MULUW (Multiply Unsigned Word Data of Accumulator)
8.91
F2MC-16FX ファミリ
MULUW (Multiply Unsigned Word Data of
Accumulator)
AH と AL のワードデータを符号なし 2 進数として乗算し , 結果のロングワードデー
タをアキュムレータ (A) に戻します。
● アセンブラ形式
MULUW A
● オペレーション
long (A) ← word (AH) × word (AL) 【ワード乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :4
● 実行例
MULUW A
この例では , AH のワードデータ (AD01H) と , AL のワードデータ (05EDH) を符号なし
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
A D
AL
0 1
0 5
E D
A
0 4
AL
0 1
2 E
E D
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
246
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.92
第 8 章 命令細則
8.92 MULUW (Multiply Unsigned Word Data of Accumulator and
Effective Address)
MULUW (Multiply Unsigned Word Data of
Accumulator and Effective Address)
アキュムレータ (A) と第 2 オペランドのワードデータを符号なし 2 進数として乗算
し , 結果のロングワードデータを A に戻します。
● アセンブラ形式
MULUW A,ear
MULUW A,eam
● オペレーション
long (A) ← word (A) × word ( 第 2 オペランド ) 【ワード乗算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
4
5
奇数アドレス補正
0
1
● 実行例
MULUW A,RW5
この例では , AL のワードデータ (8342H) と , RW5 のワードデータ (4314H) を符号なし
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
RW5
AL
AH
×× ××
8 3
4 3
CCR ×××××
1 4
4 2
AL
A
2 2
6 4
RW5
4 3
1 4
8 7
T N Z V C
実行前
CM44-00203-3
2 8 CCR ×××××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
247
第 8 章 命令細則
8.93 NEG (Negate Byte Data of Destination)
8.93
F2MC-16FX ファミリ
NEG (Negate Byte Data of Destination)
オペランドで指定されたバイトデータの 2 の補数をとり , 結果をオペランドへ戻し
ます。オペランドがアキュムレータ (A) の場合は AL の上位バイトには演算結果を符
号拡張した値が転送されます。
● アセンブラ形式
NEG A
NEG ear
NEG eam
● オペレーション
( オペランド ) ← 0 − ( オペランド ) 【バイト演算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
248
オペランド
A
ear
eam
バイト数
1
2
2+
サイクル数
1
1
3
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
第 8 章 命令細則
8.93 NEG (Negate Byte Data of Destination)
● 実行例
NEG R0
この例では , R0 のバイトデータ (59H) の 2 の補数を求めます。
R0
R0
A 7
CCR ×××××
CCR × 1 0 0 1
T N Z V C
T N Z V C
実行前
CM44-00203-3
5 9
実行後
FUJITSU MICROELECTRONICS LIMITED
249
第 8 章 命令細則
8.94 NEGW (Negate Word Data of Destination)
8.94
F2MC-16FX ファミリ
NEGW (Negate Word Data of Destination)
オペランドで指定されたワードデータの 2 の補数をとり , 結果をオペランドへ戻し
ます。
● アセンブラ形式
NEGW A
NEGW ear
NEGW eam
● オペレーション
( オペランド ) ← 0 − ( オペランド ) 【ワード演算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
250
オペランド
A
ear
eam
バイト数
1
2
2+
サイクル数
1
1
3
奇数アドレス補正
0
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.94 NEGW (Negate Word Data of Destination)
F2MC-16FX ファミリ
● 実行例
NEGW A
この例では , AL のワードデータ (AB98H) の 2 の補数を求めます。
AH
A
×× ××
CM44-00203-3
AL
A B
AH
9 8
A
AL
×× ××
5 4
6 8 CCR ×××××
CCR × 0 0 0 1
T N Z V C
実行前
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
251
第 8 章 命令細則
8.95 NOP (No Operation)
8.95
F2MC-16FX ファミリ
NOP (No Operation)
何の動作も行いません。
● アセンブラ形式
NOP
● オペレーション
何の動作も行いません。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
NOP
NOP 命令では , 何も動作をしません。
A
AH
AL
×× ××
×× ××
PC
F 0
A
AH
AL
×× ××
×× ××
0 0
PC
CCR ×××××
メモリ
PC →
0 1
CCR ×××××
T N Z V C
T N Z V C
メモリ
××
F001
0 0
F000
PC →
実行前
252
F 0
FUJITSU MICROELECTRONICS LIMITED
××
F001
0 0
F000
実行後
CM44-00203-3
第 8 章 命令細則
8.96 NOT (Not Byte Data of Destination)
F2MC-16FX ファミリ
8.96
NOT (Not Byte Data of Destination)
オペランドで指定されたバイトデータの論理否定をとり , 結果をオペランドへ戻し
ます。
● アセンブラ形式
NOT A
NOT ear
NOT eam
● オペレーション
( オペランド ) ← not ( オペランド ) 【バイト論理否定】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
オペランド
A
ear
eam
バイト数
1
2
2+
サイクル数
1
1
3
FUJITSU MICROELECTRONICS LIMITED
253
第 8 章 命令細則
8.96 NOT (Not Byte Data of Destination)
F2MC-16FX ファミリ
● 実行例
NOT 0071H
この例では , 0071H 番地のバイトデータ (FFH) のビットごとに反転します。
A
AH
AL
×× ××
×× ××
A
AH
AL
×× ××
×× ××
CCR ×××××
メモリ
F F
T N Z V C
T N Z V C
メモリ
0071
実行前
254
CCR × 0 1 0 ×
FUJITSU MICROELECTRONICS LIMITED
0 0
0071
実行後
CM44-00203-3
第 8 章 命令細則
8.97 NOTW (Not Word Data of Destination)
F2MC-16FX ファミリ
8.97
NOTW (Not Word Data of Destination)
オペランドで指定されたワードデータの論理否定をとり , 結果をオペランドへ戻し
ます。
● アセンブラ形式
NOTW A
NOTW ear
NOTW eam
● オペレーション
( オペランド ) ← not( オペランド ) 【ワード論理否定】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
オペランド
A
ear
eam
バイト数
1
2
2+
サイクル数
1
1
3
奇数アドレス補正
0
0
2
FUJITSU MICROELECTRONICS LIMITED
255
第 8 章 命令細則
8.97 NOTW (Not Word Data of Destination)
F2MC-16FX ファミリ
● 実行例
NOTW RW3
この例では , RW3 のワードデータ (258BH) をビットごとに反転します。
RW3
256
2 5
8 B
RW3
D A
7 4
CCR ×××××
CCR × 1 0 0 ×
T N Z V C
T N Z V C
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.98 NRML (NORMALIZE Long Word)
F2MC-16FX ファミリ
8.98
NRML (NORMALIZE Long Word)
アキュムレータ (A) のロングワードデータがゼロでないとき , アキュムレータ (A) の
最上位ビットが "1" になるまで左にシフトします。
R0 にそのときのシフト回数が入り , ゼロフラグ (Z) はクリアされます。
アキュムレータ (A) のロングワードデータがゼロのとき , R0 にゼロが入り , ゼロフラ
グ (Z) はセットされます。
● アセンブラ形式
NRML A,R0
● オペレーション
A ≠ 0 のとき……A の最上位ビットが "1" になるまで左にシフトします。
(R0) ←そのときのシフト回数 , Z ← "0"
A=0 のとき……(R0) ← 0, Z ← "1"
● CCR
I
S
T
N
Z
V
C
− − − −
*
− −
I, S, T, N −変化しません。
Z − A がゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
257
第 8 章 命令細則
8.98 NRML (NORMALIZE Long Word)
F2MC-16FX ファミリ
● 実行例
NRML A,R0
この例では , アキュムレータ (A) のロングワードデータ (00008361H) を 16 ビット左シ
フトします。R0 にシフトしたビット数 (10H) を設定します。
AH
A
0 0
AL
0 0
8 3
6 1
RO
3 4
A
8 3
AL
6 1
0 0
0 0
RO
1 0
CCR ×××××
CCR ×× 0 ××
T N Z V C
T N Z V C
実行前
258
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.99
第 8 章 命令細則
8.99 OR (Or Byte Data of Destination and Source to Destination)
OR (Or Byte Data of Destination and Source to
Destination)
第 1 オペランドと第 2 オペランドのバイトデータで論理和演算を行い , 結果を第 1
オペランドに戻します。
● アセンブラ形式
OR A,#imm8
OR A,ear
OR A,eam
OR ear,A
OR eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド )or( 第 2 オペランド ) 【バイト論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm8
ear
eam
A
A
バイト数
2
2
2+
2
2+
サイクル数
1
1
2
1
3
FUJITSU MICROELECTRONICS LIMITED
259
第 8 章 命令細則
8.99 OR (Or Byte Data of Destination and Source to Destination)
F2MC-16FX ファミリ
● 実行例
OR 0052H,A
この例では , 0052H 番地のバイトデータと , AL の下位バイトデータ (37H) を論理和演算
(OR) します。
AH
A
AL
0 0
×× ××
AH
3 7
A
F A
3 7
CCR × 1 0 0 ×
T N Z V C
T N Z V C
メモリ
0052
実行前
260
0 0
×× ××
CCR ×××××
メモリ
AL
FUJITSU MICROELECTRONICS LIMITED
F F
0052
実行後
CM44-00203-3
F2MC-16FX ファミリ
8.100
第 8 章 命令細則
8.100 OR (Or Byte Data of Immediate Data and Condition Code
Register to Condition Code Register)
OR (Or Byte Data of Immediate Data and Condition
Code Register to Condition Code Register)
コンディションコードレジスタ (CCR) のバイトデータと指定された 8 ビットの即値
データで論理和演算を行い , 結果をコンディションコードレジスタ (CCR) に戻しま
す。
コンディションコードレジスタ (CCR) は 7 ビットしかないため , 即値データの bit7 は
無視されます。
● アセンブラ形式
OR CCR,#imm8
● オペレーション
(CCR) ← (CCR) or imm8 【バイト論理和】
● CCR
I
S
T
N
Z
V
C
*
*
*
*
*
*
*
I −演算結果の bit6 が入ります。
S −演算結果の bit5 が入ります。
T −演算結果の bit4 が入ります。
N −演算結果の bit3 が入ります。
Z −演算結果の bit2 が入ります。
V −演算結果の bit1 が入ります。
C −演算結果の bit0 が入ります。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
261
第 8 章 命令細則
8.100 OR (Or Byte Data of Immediate Data and Condition Code
Register to Condition Code Register)
● 実行例
F2MC-16FX ファミリ
OR CCR,#57H
この例では , CCR と , 8 ビット即値データ (57H) の bit6 ∼ bit0 を論理和演算 (OR) します。
AH
A
CCR
AL
×× ××
AH
×× ××
A
I
S
T
N
Z
V
C
0
1
1
0
1
0
1
CCR
AL
×× ××
×× ××
I
S
T
N
Z
V
C
1
1
1
0
1
1
1
ILM2 ILM1 ILM0
ILM
×
×
MSB
RP ×
実行前
262
×
LSB
×
×
×
ILM2 ILM1 ILM0
×
ILM
×
×
MSB
RP ×
×
LSB
×
×
×
×
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.101 ORL (Or Long Word Data of Destination and Source to
Destination )
F2MC-16FX ファミリ
8.101
ORL (Or Long Word Data of Destination and Source
to Destination )
アキュムレータ (A) のロングワードデータと第 2 オペランドのロングワードデータ
で論理和演算を行い , 結果を A に戻します。
● アセンブラ形式
ORL A,ear
ORL A,eam
● オペレーション
(A) ← (A) or ( 第 2 オペランド ) 【ロングワード論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
2
3
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
263
第 8 章 命令細則
8.101 ORL (Or Long Word Data of Destination and Source to
Destination )
● 実行例
F2MC-16FX ファミリ
ORL A,0FFF0H
この例では , アキュムレータ (A) のロングワードデータ (725DF05CH) と , FFF0H 番地の
ロングワードデータ (FF55AA00H) を論理和演算 (OR) します。
AH
A
7 2
AL
5 D
F 0
AH
5 C
F F
5 D
F A
5 C
CCR ×××××
CCR × 1 0 0 ×
T N Z V C
T N Z V C
メモリ
メモリ
F F
FFF3
F F
FFF3
5 5
FFF2
5 5
FFF2
A A
FFF1
A A
FFF1
0 0
FFF0
0 0
FFF0
実行前
264
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.102 ORW (Or Word Data of AH and AL to AL)
F2MC-16FX ファミリ
8.102
ORW (Or Word Data of AH and AL to AL)
AH と AL のワードデータで論理和演算を行い , 結果を AL に戻します。
● アセンブラ形式
ORW A
● オペレーション
(AL) ← (AH) or (AL) 【ワード論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
ORW A
この例では , AL のワードデータ (AB98H) と , AH のワードデータ (0426H) を論理和演算
(OR) します。
AH
A
0 4
AL
2 6
A B
A
0 4
AL
2 6
A F
B E
CCR ×××××
CCR × 1 0 0 ×
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
9 8
実行後
FUJITSU MICROELECTRONICS LIMITED
265
第 8 章 命令細則
8.103 ORW (Or Word Data of Destination and Source to
Destination)
8.103
F2MC-16FX ファミリ
ORW (Or Word Data of Destination and Source to
Destination)
第 1 オペランドと第 2 オペランドのワードデータで論理和演算を行い , 結果を第 1
オペランドに戻します。
● アセンブラ形式
ORW A,#imm16
ORW A,ear
ORW A,eam
ORW ear,A
ORW eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) or ( 第 2 オペランド ) 【ワード論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
266
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm16
ear
eam
A
A
バイト数
3
2
2+
2
2+
サイクル数
1
1
2
1
3
奇数アドレス補正
0
0
1
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.103 ORW (Or Word Data of Destination and Source to
Destination)
F2MC-16FX ファミリ
● 実行例
ORW 0E001H,A
この例では , E001H 番地のワードデータ (4283H) と , AL のワードデータ (5963H) を論理
和演算 (OR) します。
AH
A
AL
5 9
×× ××
AH
6 3
A
×× ××
CCR ×××××
メモリ
5 9
6 3
CCR × 1 0 0 ×
T N Z V C
T N Z V C
メモリ
8 3
E002
D B
E002
4 2
E001
6 3
E001
実行前
CM44-00203-3
AL
FUJITSU MICROELECTRONICS LIMITED
実行後
267
第 8 章 命令細則
8.104 POPW (Pop Word Data of Accumulator from Stack
Memory)
8.104
F2MC-16FX ファミリ
POPW (Pop Word Data of Accumulator from Stack
Memory)
AH に AL の値が転送されます。そのあと , AL にスタックポインタ (SP) で示される
メモリのワードデータが転送されます。データの転送後 , SP の値 ( ワードデータ )
に 0002H をワード加算します。
● アセンブラ形式
POPW A
● オペレーション
(A) ← ((SP)) 【ワード転送】
(SP) ← (SP)+2 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
奇数アドレス補正 :1
268
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.104 POPW (Pop Word Data of Accumulator from Stack
Memory)
F2MC-16FX ファミリ
● 実行例
POPW A
この例では , AL のワードデータ (1635H) を AH に転送したあと , SP で示されるアドレ
ス (0120H) のワードデータ (10ACH) を AL に転送します。SP に 2 を加算します。
AH
0 4
A
AL
2 2
SP
AH
1 6
3 5
0 1
2 0
A
1 6
AL
3 5
SP
CCR ×××××
T N Z V C
0 1
2 2
T N Z V C
メモリ
0122
0122
SP →
1 0
0121
1 0
0121
A C
0120
A C
0120
実行前
CM44-00203-3
A C
CCR ×××××
メモリ
SP →
1 0
実行後
FUJITSU MICROELECTRONICS LIMITED
269
第 8 章 命令細則
8.105 POPW (Pop Word Data of AH from Stack Memory)
8.105
F2MC-16FX ファミリ
POPW (Pop Word Data of AH from Stack Memory)
スタックポインタ (SP) で示されるメモリからワードデータを AH へ転送します。そ
の後 , SP の値 ( ワードデータ ) に 0002H をワード加算します。
● アセンブラ形式
POPW AH
● オペレーション
(AH) ← ((SP)) 【ワード転送】
(SP) ← (SP)+2 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
奇数アドレス補正 :1
270
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.105 POPW (Pop Word Data of AH from Stack Memory)
F2MC-16FX ファミリ
● 実行例
POPW AH
この例では , SP で示されるアドレス (0120H) のワードデータ (4314H) を AH に転送しま
す。SP に 2 を加算します。
AH
0 4
A
AL
2 2
SP
AH
1 6
3 5
0 1
2 0
A
4 3
AL
1 4
SP
CCR ×××××
T N Z V C
0 1
2 2
T N Z V C
メモリ
0122
0122
SP →
4 3
0121
4 3
0121
1 4
0120
1 4
0120
実行前
CM44-00203-3
3 5
CCR ×××××
メモリ
SP →
1 6
実行後
FUJITSU MICROELECTRONICS LIMITED
271
第 8 章 命令細則
8.106 POPW (Pop Word Data of Program Status from Stack
Memory)
8.106
F2MC-16FX ファミリ
POPW (Pop Word Data of Program Status from
Stack Memory)
スタックポインタ (SP) で示されるメモリからワードデータをプロセッサステータス
(PS) へ転送します。ただし , ワードデータの bit7 は無視されます。その後 , SP の値
( ワードデータ ) に 0002H をワード加算します。
● アセンブラ形式
POPW PS
● オペレーション
(PS) ← ((SP)) 【ワード転送】
(SP) ← (SP)+2 【ワード加算】
● CCR
I
S
T
N
Z
V
C
*
*
*
*
*
*
*
スタックメモリの対応するビットの値が転送されます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :PR の内容が変化するときは 19, それ以外は 4
奇数アドレス補正 :1
272
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.106 POPW (Pop Word Data of Program Status from Stack
Memory)
F2MC-16FX ファミリ
● 実行例
POPW PS
この例では , SP で示されるアドレス (0120H) のワードデータ (4314H) を PS に転送しま
す。SP に 2 を加算します。
SP
CCR
×
2 0
SP
I
S
T
N
Z
V
C
×
×
×
×
×
×
×
MSB
ILM2 ILM1 ILM0
ILM
0 1
×
×
RP ×
CCR
LSB
×
×
×
×
0
S
T
N
Z
V
C
0
0
1
0
1
0
0
1
0122
RP
0
0
LSB
0
0
1
1
0122
SP →
4 3
0121
4 3
0121
1 4
0120
1 4
0120
実行前
CM44-00203-3
MSB
メモリ
メモリ
SP →
2 2
I
ILM2 ILM1 ILM0
ILM
0 1
実行後
FUJITSU MICROELECTRONICS LIMITED
273
第 8 章 命令細則
8.107 POPW (Pop Registers from Stack Memory)
8.107
F2MC-16FX ファミリ
POPW (Pop Registers from Stack Memory)
レジスタリスト (rlst) で示された複数の汎用ワードレジスタに , スタックポインタ
(SP) で示されるデータを転送します。
アセンブラ表記上はレジスタリストとしてレジスタ名を列挙しますが , アセンブル後
にレジスタリストはバイトデータとなります。
● アセンブラ形式
POPW rlst
● オペレーション
(RWx) ← ((SP)) 【ワード転送】
(SP) ← (SP)+2 【ワード加算】
これを rlst で示されたレジスタの数だけ繰り返します。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :( 転送する回数 )
奇数アドレス補正 :( 転送する回数 )
274
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.107 POPW (Pop Registers from Stack Memory)
F2MC-16FX ファミリ
● 実行例
POPW (RW0,RW4)
この例では , SP で示されるスタックから RW0 と RW4 をポップします。
SP
3 4 F A
SP
× ×
× ×
RW0
0 2
0 1
RW1
× ×
× ×
RW1
× ×
× ×
RW2
× ×
× ×
RW2
× ×
× ×
RW3
× ×
× ×
RW3
× ×
× ×
RW4
× ×
× ×
RW4
0 4
0 3
RW5
× ×
× ×
RW5
× ×
× ×
RW6
× ×
× ×
RW6
× ×
× ×
RW7
× ×
× ×
RW7
× ×
× ×
メモリ
34FE
34FE
SP →
0 4
34FD
0 4
34FD
0 3
34FC
0 3
34FC
0 2
34FB
0 2
34FB
0 1
34FA
0 1
34FA
実行前
CM44-00203-3
F E
RW0
メモリ
SP →
3 4
実行後
FUJITSU MICROELECTRONICS LIMITED
275
第 8 章 命令細則
8.108 PUSHW (Push Word Data of Inherent Register to Stack
Memory)
8.108
F2MC-16FX ファミリ
PUSHW (Push Word Data of Inherent Register to
Stack Memory)
スタックポインタ (SP) の値から 2 をワードで減算し , その結果の SP で示されるメ
モリへレジスタのワードデータを転送します。
● アセンブラ形式
PUSHW A
PUSHW AH
PUSHW PS
● オペレーション
(SP) ← (SP) − 2 【ワード減算】
((SP)) ← ( オペランド ) 【ワード転送】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
276
オペランド
A
AH
PS
バイト数
1
1
1
サイクル数
1
1
1
奇数アドレス補正
1
1
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.108 PUSHW (Push Word Data of Inherent Register to Stack
Memory)
F2MC-16FX ファミリ
● 実行例
PUSHW A
この例では , SP から 2 を減算したあと , AL のワードデータを SP で示されるアドレス
(0120H) へ転送します。
AH
A
AL
×× ××
SP
AH
4 5
A 4
0 1
2 2
A
AL
×× ××
SP
CCR ×××××
T N Z V C
CM44-00203-3
0 1
2 0
T N Z V C
メモリ
0122
× ×
0121
× ×
0120
実行前
A 4
CCR ×××××
メモリ
SP →
4 5
0122
SP →
4 5
0121
A 4
0120
実行後
FUJITSU MICROELECTRONICS LIMITED
277
第 8 章 命令細則
8.109 PUSHW (Push Registers to Stack Memory)
8.109
F2MC-16FX ファミリ
PUSHW (Push Registers to Stack Memory)
レジスタリスト (rlst) で示された複数の汎用ワードレジスタの内容を , スタックポイ
ンタ (SP) で示されるメモリへ転送します。
アセンブラ表記上はレジスタリストとしてレジスタ名を列挙しますが , アセンブル後
にレジスタリストはバイトデータとなります。
● アセンブラ形式
PUSHW rlst
● オペレーション
(SP) ← (SP) − 2 【ワード減算】
((SP)) ← (RWx) 【ワード転送】
これを rlst で示されたレジスタの数だけ繰り返します。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :2
サイクル数 :( 転送する回数 )
奇数アドレス補正 :( 転送する回数 )
278
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.109 PUSHW (Push Registers to Stack Memory)
F2MC-16FX ファミリ
● 実行例
PUSHW (RW1,RW3)
この例では , SP で示されるスタックに RW3 と RW1 をプッシュします。
SP
3 4 F E
SP
F A
RW0
× ×
× ×
RW0
× ×
× ×
RW1
3 5
A 4
RW1
3 5
A 4
RW2
× ×
× ×
RW2
× ×
× ×
RW3
6 D
F 0
RW3
6 D
F 0
RW4
× ×
× ×
RW4
× ×
× ×
RW5
× ×
× ×
RW5
× ×
× ×
RW6
× ×
× ×
RW6
× ×
× ×
RW7
× ×
× ×
RW7
× ×
× ×
メモリ
メモリ
34FE
SP →
34FE
× ×
34FD
6 D
34FD
× ×
34FC
F 0
34FC
× ×
34FB
3 5
34FB
× ×
34FA
A 4
34FA
実行前
CM44-00203-3
3 4
SP →
実行後
FUJITSU MICROELECTRONICS LIMITED
279
第 8 章 命令細則
8.110 RET (Return from Subroutine)
8.110
F2MC-16FX ファミリ
RET (Return from Subroutine)
スタックポインタ (SP) で示されるアドレスへ分岐します。
サブルーチン呼び出し命令 (CALL, CALLV) と対で使用すると , 分岐先の処理が終了し
たあと , サブルーチン読出し命令の次の命令に戻ります。
● アセンブラ形式
RET
● オペレーション
(PC) ← ((SP)) 【ワード転送】
(SP) ← (SP)+2 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :4
奇数アドレス補正 :1
280
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.110 RET (Return from Subroutine)
F2MC-16FX ファミリ
● 実行例
RET
この例では , SP で示されるアドレス (0062H) のワードデータ (FC22H) を , PC に設定し
ます。SP に 2 を加算します。
SP
0 0 6 2
SP
0 0
6 4
PC
F 0 0 2
PC
F C
2 2
メモリ
メモリ
0064
SP →
F C
0063
F C
0063
2 2
0062
2 2
0062
実行前
CM44-00203-3
0064
SP →
実行後
FUJITSU MICROELECTRONICS LIMITED
281
第 8 章 命令細則
8.111 RETI (Return from Interrupt)
8.111
F2MC-16FX ファミリ
RETI (Return from Interrupt)
システムスタックポインタ (SSP) で示されるメモリの内容をプロセッサステータス
(PS) に復帰し , IF, ILM による割込み要求の検出を行います。
次の割込み受付けの場合には検出した割込みベクタへの分岐を行い , 次の割込み受付
けでない場合には割込みからの復帰を行います。
● アセンブラ形式
RETI
● オペレーション
1) 次の割込み受付けの場合
(PS)
←
((SSP))
(S)
←
1, (PCB), (PC) ← 割込みベクタアドレス
(ILM)
←
受け付けた割込みレベル
DTB, PCB, DPR, ADB, AL, AH の復帰は行いません。
2) 次の割込みからの復帰の場合
282
(PS)
←
((SSP)), (SSP)
←
(SSP)+2;
(PC)
←
((SSP)), (SSP)
←
(SSP)+2;
(DTB), (PCB)
←
((SSP)), (SSP)
←
(SSP)+2;
(DPR), (ADB)
←
((SSP)), (SSP)
←
(SSP)+2;
(AL)
←
((SSP)), (SSP)
←
(SSP)+2;
(AH)
←
((SSP)), (SSP)
←
(SSP)+2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.111 RETI (Return from Interrupt)
F2MC-16FX ファミリ
● CCR
1) 次の割込み受付けの場合
I
S
T
N
Z
V
C
*
S
*
*
*
*
*
I −待避されていた I の値に復帰します。
S −セットされます。
T −待避されていた T の値に復帰します。
N −待避されていた N の値に復帰します。
Z −待避されていた Z の値に復帰します。
V −待避されていた V の値に復帰します。
C −待避されていた C の値に復帰します。
2) 次の割込みからの復帰の場合
I
S
T
N
Z
V
C
*
*
*
*
*
*
*
I −待避されていた I の値に復帰します。
S −待避されていた S の値に復帰します。
T −待避されていた T の値に復帰します。
N −待避されていた N の値に復帰します。
Z −待避されていた Z の値に復帰します。
V −待避されていた V の値に復帰します。
C −待避されていた C の値に復帰します。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :PR の内容が変化するときは 23, それ以外は 6
奇数アドレス補正 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
283
第 8 章 命令細則
8.111 RETI (Return from Interrupt)
F2MC-16FX ファミリ
● 実行例
RETI( 割込みから復帰の場合 )
この例では , SSB と SP で示されるアドレス (037FF4H) から , ワードデータを各レジス
タに転送します。レジスタへの転送毎に , SP に 2 を加算します。
AH
A
AH
AL
A
×××× ××××
F F F F
D D C C
DTB
PCB
PC
DTB
PCB
××
××
×× ××
9 9
8 8
DPR
ADB
DPR
ADB
××
××
CCR
B B
A A
CCR
ILM
RP
I S T N Z V C
ILM
RP
I S T N Z V C
××
××
×××××××
0 3
0 1
0 0 0 0 0 0 0
SSB
SSP
SSB
0 3
SSP
7 F
7 7
8 0
6 6
0 0
メモリ
038000
SSP →
PC
0 3
F 4
メモリ
038000
SSP →
FF
037FFF
FF
037FFF
EE
037FFE
EE
037FFE
DD
037FFD
DD
037FFD
CC
037FFC
CC
037FFC
BB
037FFB
BB
037FFB
AA
037FFA
AA
037FFA
99
037FF9
99
037FF9
88
037FF8
88
037FF8
77
037FF7
77
037FF7
66
037FF6
66
037FF6
61
037FF5
61
037FF5
80
037FF4
80
037FF4
実行前
284
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.112 RETP (Return from physical Address)
F2MC-16FX ファミリ
8.112
RETP (Return from physical Address)
スタックポインタ (SP) で示される物理アドレスへ分岐します。
CALLP 命令と対で使用すると , 分岐先の処理が終了したあと , CALLP 命令の次の命令
に戻ります。
● アセンブラ形式
RETP
● オペレーション
(PC) ← ((SP)), (SP) ← (SP) + 2 【ワード加算】
(PCB) ← ((SP)) 【バイト転送】, (SP) ← (SP) + 2 【ワード加算】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :5
奇数アドレス補正 :1
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
285
第 8 章 命令細則
8.112 RETP (Return from physical Address)
F2MC-16FX ファミリ
● 実行例
RETP
この例では , USB と SP で示されるスタックから PC と PCB をポップして , AD4345H 番
地に分岐します。
PC
2 2
F C
SP
F 8
0 8
PCB
CCR
USB
F C
PC
4 3
4 5
PCB
1 5
SP
A D
CCR
× 0 ×××××
1 5
× 0 ×××××
メモリ
××
15F900
15F8FF
0 0
15F8FF
A D
15F8FE
A D
15F8FE
4 3
15F8FD
4 3
15F8FD
4 5
15F8FC
4 5
15F8FC
××
15F900
0 0
実行前
286
USB
0 0
I S T N Z V C
I S T N Z V C
メモリ
SP →
F 9
SP →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.113 ROLC (Rotate Byte Data of Accumulator With Carry to
Left)
F2MC-16FX ファミリ
8.113
ROLC (Rotate Byte Data of Accumulator With Carry
to Left)
オペランドのバイトデータを 1 ビットだけ , キャリフラグ (C) も含めて左へローテー
ト ( 回転 ) シフトします。オペランドの最上位ビットはキャリフラグ (C) に入りま
す。
● アセンブラ形式
ROLC A
ROLC ear
ROLC eam
● オペレーション
MSB
LSB
C
A or オペランド
● CCR
I
S
T
N
Z
V
C
− − −
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の MSB からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数
CM44-00203-3
オペランド
A
ear
eam
バイト数
2
2
2+
サイクル数
1
1
3
FUJITSU MICROELECTRONICS LIMITED
287
第 8 章 命令細則
8.113 ROLC (Rotate Byte Data of Accumulator With Carry to
Left)
● 実行例
F2MC-16FX ファミリ
ROLC A
この例では , AL の下位バイトデータ (32H) と C フラグ ("0") を , 左へローテートします。
AH
A
AL
×× ××
××
3 2
A
AL
×× ××
××
6 4
CCR ×××× 0
CCR × 0 0 × 0
T N Z V C
T N Z V C
実行前
288
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.114 RORC (Rotate Byte Data of Accumulator With Carry to
Right)
F2MC-16FX ファミリ
8.114
RORC (Rotate Byte Data of Accumulator With Carry
to Right)
オペランドのバイトデータをキャリフラグ (C) も含めて 1 ビット右へローテート ( 回
転 ) シフトします。オペランドの最下位ビットはキャリフラグ (C) に入ります。
● アセンブラ形式
RORC A
RORC ear
RORC eam
● オペレーション
MSB
LSB
C
A or オペランド
● CCR
I
S
T
N
Z
V
C
− − −
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の LSB からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数
CM44-00203-3
オペランド
A
ear
eam
バイト数
2
2
2+
サイクル数
1
1
3
FUJITSU MICROELECTRONICS LIMITED
289
第 8 章 命令細則
8.114 RORC (Rotate Byte Data of Accumulator With Carry to
Right)
● 実行例
F2MC-16FX ファミリ
RORC A
この例では , AL の下位バイトデータ (32H) と C フラグ ("0") を , 右へローテートします。
A
×× ××
××
A
×× ××
××
1 9
CCR ×××× 0
CCR × 0 0 × 0
T N Z V C
T N Z V C
実行前
290
3 2
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.115 SBBS (Set Bit and Branch if Bit Set)
F2MC-16FX ファミリ
8.115
SBBS (Set Bit and Branch if Bit Set)
第 1 オペランドで示されるビットデータが "1" のとき分岐します。
分岐先アドレスは , SBBS 命令の次の命令のアドレスと第 2 オペランドを符号拡張した
値をワード加算した番地となります。
命令実行後 , 第 1 オペランドで示されるビットは "1" にセットされます。
● アセンブラ形式
SBBS addr16:bp,rel
● オペレーション
条件成立時……(PC) ← (PC) + < バイト数 > + rel 【ワード加算】,
(addr16:bp) ← 1
条件不成立時……(PC) ← (PC) + < バイト数 > 【ワード加算】,
(addr16:bp) ← 1
● CCR
I
S
T
N
Z
V
C
− − − −
*
− −
I, S, T, N −変化しません。
Z −ビットデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :5
サイクル数 :5
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
291
第 8 章 命令細則
8.115 SBBS (Set Bit and Branch if Bit Set)
F2MC-16FX ファミリ
● 実行例
SBBS 1234H:5,20H
この例では , 1234H 番地のバイトデータ (7FH) の bit7 が "1" なので , bit7 を "1" に設定し
てから , 分岐します ( 条件成立時 )。
PC
E 1 0 0
E 1 2 5
メモリ
メモリ
× ×
× ×
7 F
292
PC
1234
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
1234
CM44-00203-3
第 8 章 命令細則
8.116 SCEQ, SCEQI (Scan String Byte until equal with
Increment)
F2MC-16FX ファミリ
8.116
SCEQ, SCEQI (Scan String Byte until equal with
Increment)
<bank> で指定される空間の AH で示されるバイトデータと AL 中のデータを比較し
ます。比較結果が一致するか , または RW0 がゼロとなるまで , アドレスのインクリ
メント , RW0 のデクリメントを繰り返します。
<bank> として PCB, DTB, ADB, SPB の 4 種類が指定可能です。省略時は , 自動的に DTB
が設定されます。
RW0 がゼロであった場合は比較は行いません。また , 命令実行中に割込みが発生する
と命令の実行を一時中断して割込み処理を行い , 割込み処理が終了したあとで続きを
再開します。
● アセンブラ形式
SCEQ [<bank>] SCEQI [<bank>]
● オペレーション
RW0=0 もしくは ((AH))=(AL) 【バイト比較】になるまで
(AH) ← (AH) + 1
(RW0) ← (RW0) − 1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算結果の MSB が "1" ならばセット , それ以外はクリアされま
す。
Z − RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
AL の内容と同じものが見つかった場合にセット , RW0 がゼロになって停止したと
きにクリアされます。
V −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算の結果オーバフローが生じたらセット,それ以外はクリアさ
れます。
C −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算の結果ボローが生じたらセット , それ以外はクリアされま
す。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
293
第 8 章 命令細則
8.116 SCEQ, SCEQI (Scan String Byte until equal with
Increment)
● バイト数 , サイクル数
F2MC-16FX ファミリ
バイト数 :2
サイクル数 : RW0 がゼロのときに 1 サイクル , RW0 が 1 のときに 3 サイクル , それ以
外は 2 + 2 ×比較回数サイクル
● 実行例
SCEQ
この例では , DTB と AH で示されるアドレス (031580H) のバイトデータ (54H) から , AL
の下位バイトデータ (46H) と比較します。031585H 番地のバイトデータ (46H) で一致し
ています。
AH
AL
A
1 5
8 0
RWO
0 1
0 0
0 0
DTB
AH
4 6
0 3
AL
A
1 5
8 6
RWO
0 0
F A
CCR ×××××
0 0
DTB
T N Z V C
T N Z V C
メモリ
031586
031586
AH →
4 6
031585
4 6
031585
4 8
031584
4 8
031584
4 9
031583
4 9
031583
4 D
031582
4 D
031582
4 E
031581
4 E
031581
5 4
031580
5 4
031580
実行前
294
0 3
CCR × 0 1 0 0
メモリ
AH →
4 6
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.117 SCEQD (Scan String Byte until equal with Decrement)
F2MC-16FX ファミリ
8.117
SCEQD (Scan String Byte until equal with
Decrement)
<bank> で指定される空間の AH で示されるバイトデータと AL 中のデータを比較し
ます。比較結果が一致するか , または RW0 がゼロとなるまで , アドレスのデクリメ
ント , RW0 のデクリメントを繰り返します。
<bank> として PCB, DTB, ADB, SPB の 4 種類が指定可能です。省略時は , 自動的に DTB
が設定されます。
RW0 がゼロであった場合は比較は行いません。また , 命令実行中に割込みが発生する
と命令の実行を一時中断して割込み処理を行い , 割込み処理が終了したあとで続きを
再開します。
● アセンブラ形式
SCEQD [<bank>]
● オペレーション
RW0=0 もしくは ((AH))=(AL) 【バイト比較】になるまで
(AH) ← (AH) − 1
(RW0) ← (RW0) − 1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算結果の MSB が "1" ならばセット , それ以外はクリアされま
す。
Z − RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
AL の内容と同じものが見つかった場合にセット , RW0 がゼロになって停止したと
きにクリアされます。
V −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算の結果オーバフローが生じたらセット,それ以外はクリアさ
れます。
C −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは最
後に行った比較演算の結果ボローが生じたらセット , それ以外はクリアされます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
295
第 8 章 命令細則
8.117 SCEQD (Scan String Byte until equal with Decrement)
F2MC-16FX ファミリ
● バイト数 , サイクル数
バイト数 :2
サイクル数 : RW0 がゼロのときに 1 サイクル , RW0 が 1 のときに 3 サイクル , それ以
外は 2 + 2 ×比較回数サイクル
奇数アドレス補正 : 比較回数
296
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.118 SCWEQ, SCWEQI (Scan String Word until equal with
Increment)
F2MC-16FX ファミリ
8.118
SCWEQ, SCWEQI (Scan String Word until equal with
Increment)
<bank> で指定される空間の AH で示されるワードデータと AL 中のデータを比較し
ます。比較結果が一致するか , または RW0 がゼロとなるまで , アドレスのインクリ
メントと , RW0 のデクリメントを繰り返します。
<bank> として PCB, DTB, ADB, SPB の 4 種類が指定可能です。省略時は , 自動的に DTB
が設定されます。
RW0 がゼロであった場合は比較は行いません。また , 命令実行中に割込みが発生する
と命令の実行を一時中断して割込み処理を行い , 割込み処理が終了したあとで続きを
再開します。
● アセンブラ形式
SCWEQ [<Bank>]
SCWEQI [<Bank>]
● オペレーション
RW0=0 もしくは ((AH))=(AL) 【ワード比較】になるまで
(AH)
←
(AH) + 2
(RW0)
←
(RW0) − 1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算結果の MSB が "1" ならばセット , それ以外はクリアされま
す。
Z − RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
AL の内容と同じものが見つかった場合にセット , RW0 がゼロになって停止したと
きにクリアされます。
V −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算の結果オーバフローが生じたらセット,それ以外はクリアさ
れます。
C −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算の結果ボローが生じたらセット ,それ以外はクリアされます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
297
第 8 章 命令細則
8.118 SCWEQ, SCWEQI (Scan String Word until equal with
Increment)
● バイト数 , サイクル数
F2MC-16FX ファミリ
バイト数 :2
サイクル数 : RW0 がゼロのときに 1 サイクル , RW0 が 1 のときに 3 サイクル , それ以
外は 2 + 2 ×比較回数サイクル
奇数アドレス補正 : 比較回数
● 実行例
SCWEQ
この例では , DTB と AH で示されるアドレス (DEC000H) のワードデータ (E1E0H) から ,
AL のワードデータ (00FFH) と比較します。RW0 がゼロになり終了しています。
AH
AL
A
C 0
0 0
RWO
0 0
0 3
0 0
DTB
AH
F F
D E
A
C 0
0 6
RWO
0 0
0 0
DTB
F F
D E
CCR × 1 0 0 1
T N Z V C
T N Z V C
メモリ
E 6
DEC006
E 5
E 6
DEC006
DEC005
E 5
DEC005
E 4
DEC004
E 4
DEC004
E 3
DEC003
E 3
DEC003
E 2
DEC002
E 2
DEC002
E 1
DEC001
E 1
DEC001
E 0
DEC000
E 0
DEC000
実行前
298
0 0
CCR ×××××
メモリ
AH →
AL
AH →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
8.119
第 8 章 命令細則
8.119 SCWEQD (Scan String Word until equal with Decrement)
SCWEQD (Scan String Word until equal with
Decrement)
<bank> で指定される空間の AH で示されるワードデータと AL 中のデータを比較し
ます。比較結果が一致するか , または RW0 がゼロとなるまで , アドレスのデクリメ
ントと , RW0 のデクリメントを繰り返します。
<bank> として PCB, DTB, ADB, SPB の 4 種類が指定可能です。省略時は , 自動的に DTB
が設定されます。
RW0 がゼロであった場合は比較は行いません。また , 命令実行中に割込みが発生する
と命令の実行を一時中断して割込み処理を行い , 割込み処理が終了したあとで続きを
再開します。
● アセンブラ形式
SCWEQD [<Bank>]
● オペレーション
RW0=0 もしくは ((AH))=(AL) 【ワード比較】になるまで
(AH)
←
(AH) − 2
(RW0)
←
(RW0) − 1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算結果の MSB が "1" ならばセット , それ以外はクリアされま
す。
Z − RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
AL の内容と同じものが見つかった場合にセット , RW0 がゼロになって停止したと
きにクリアされます。
V −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは
最後に行った比較演算の結果オーバフローが生じたらセット,それ以外はクリアさ
れます。
C −RW0 が始めからゼロであったときは変化しません。RW0 がゼロでなかったときは最
後に行った比較演算の結果ボローが生じたらセット , それ以外はクリアされます。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
299
第 8 章 命令細則
8.119 SCWEQD (Scan String Word until equal with Decrement)
F2MC-16FX ファミリ
● バイト数 , サイクル数
バイト数
:2
サイクル数
: RW0 がゼロのときに 1 サイクル , RW0 が 1 のときに 3 サイクル ,
それ以外は 2 + 2 ×比較回数サイクル
奇数アドレス補正 : 比較回数
300
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.120 SETB (Set Bit)
F2MC-16FX ファミリ
8.120
SETB (Set Bit)
オペランドで示されるビットアドレスの内容を "1" にします。
● アセンブラ形式
SETB addr16:bp
SETB dir:bp
SETB io:bp
● オペレーション
( オペランド )b ← 1 【ビット転送】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
オペランド
addr16:bp
dir:bp
io:bp
バイト数
4
3
3
サイクル数
3
3
3
● 実行例
SETB 0AA55H:4
この例では , AA55H 番地のデータ (FFH) の bit4 を "1" にします。
CCR
0 0 0 0 0
0 0 0 0 0
T N Z V C
T N Z V C
メモリ
メモリ
× ×
× ×
6 F
CM44-00203-3
CCR
AA55
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
AA55
301
第 8 章 命令細則
8.121 SUB (Subtract Byte Data of Source from Destination to
Destination)
8.121
F2MC-16FX ファミリ
SUB (Subtract Byte Data of Source from Destination
to Destination)
第 1 オペランドのバイトデータから第 2 オペランドのバイトデータを減算して , 結
果を第 1 オペランドに戻します。第 1 オペランドが A のときは , AL の上位バイトに
は 00H が転送されます。
● アセンブラ形式
SUB A,#imm8
SUB A,dir
SUB A,ear
SUB A,eam
SUB ear,A
SUB eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) − ( 第 2 オペランド ) 【バイト減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
302
第 1 オペランド
A
A
A
A
ear
eam
第 2 オペランド
#imm8
dir
ear
eam
A
A
バイト数
2
2
2
2+
2
2+
サイクル数
1
2
1
2
1
3
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.121 SUB (Subtract Byte Data of Source from Destination to
Destination)
F2MC-16FX ファミリ
● 実行例
SUB A,#22H
この例では, ALの下位バイトデータ(01H)から, 8ビット即値データ(22H)を減算します。
AH
A
AL
×× ××
4 9
0 1
A
AL
×× ××
0 0
D F
CCR ×××××
CCR × 1 0 0 1
T N Z V C
T N Z V C
実行前
CM44-00203-3
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
303
第 8 章 命令細則
8.122 SUBC (Subtract Byte Data of AL from AH with Carry to AL)
8.122
F2MC-16FX ファミリ
SUBC (Subtract Byte Data of AL from AH with Carry
to AL)
AH の下位バイトデータから AL の下位バイトデータおよびキャリフラグ (C) を減算
し , 結果を AL に戻します。AL の上位バイトには 00H が転送されます。
● アセンブラ形式
SUBC A
● オペレーション
(AL) ← (AH) − (AL) − (C) 【キャリ付きバイト減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
SUBC A
この例では , AH の下位バイトデータ (05H) から , AL の下位バイトデータ (D4H) と C フ
ラグ ("1") を減算します。減算結果 (30H) は AL の下位バイトに設定されます。
AH
A
0 5
AL
0 5
0 0
D 4
A
0 5
AL
0 5
0 0
3 0
CCR ×××× 1
CCR × 0 0 0 1
T N Z V C
T N Z V C
実行前
304
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.123 SUBC (Subtract Byte Data of Effective Address from
Accumulator with Carry to Accumulator)
F2MC-16FX ファミリ
8.123
SUBC (Subtract Byte Data of Effective Address from
Accumulator with Carry to Accumulator)
アキュムレータ (A) のバイトデータから第 2 オペランドで示されるバイトデータお
よびキャリフラグ (C) を減算し , 結果を A に戻します。AL の上位バイトには 00H が
転送されます。
● アセンブラ形式
SUBC A,ear
SUBC A,eam
● オペレーション
(A) ← (A) − ( 第 2 オペランド ) − (C) 【キャリ付きバイト減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
1
2
FUJITSU MICROELECTRONICS LIMITED
305
第 8 章 命令細則
8.123 SUBC (Subtract Byte Data of Effective Address from
Accumulator with Carry to Accumulator)
● 実行例
F2MC-16FX ファミリ
SUBC A,R1
この例では , AL の下位バイトデータ (35H) から , R1 のバイトデータ (54H) と C フラグ
("0") を減算します。
AH
A
AL
×× ××
0 0
R1
3 5
A
AL
×× ××
0 0
R1
54
E 1
54
CCR ×××× 0
CCR × 1 0 0 1
T N Z V C
T N Z V C
実行前
306
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.124 SUBCW (Subtract Word Data of Effective Address from
Accumulator with Carry to Accumulator)
F2MC-16FX ファミリ
8.124
SUBCW (Subtract Word Data of Effective Address
from Accumulator with Carry to Accumulator)
アキュムレータ (A) の下位ワードデータから第 2 オペランドのワードデータおよび
キャリフラグ (C) を減算し , 結果を A に戻します。
● アセンブラ形式
SUBCW A,ear
SUBCW A,eam
● オペレーション
(A) ← (A) − ( 第 2 オペランド ) − (C) 【キャリ付きワード減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
1
2
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
307
第 8 章 命令細則
8.124 SUBCW (Subtract Word Data of Effective Address from
Accumulator with Carry to Accumulator)
● 実行例
F2MC-16FX ファミリ
SUBCW A,0E024H
この例では , AL のワードデータ (7558H) から , E024H 番地のワードデータ (A95BH) と
C フラグ ("1") を減算します。
AH
A
AL
7 5
×× ××
AH
5 8
A
F C
CCR × 1 0 0 1
T N Z V C
T N Z V C
メモリ
A 9
E025
A 9
E025
5 B
E024
5 B
E024
実行前
308
C B
×× ××
CCR ×××× 1
メモリ
AL
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00203-3
第 8 章 命令細則
8.125 SUBDC (Subtract Decimal Data of AL from AH with Carry
to AL)
F2MC-16FX ファミリ
8.125
SUBDC (Subtract Decimal Data of AL from AH with
Carry to AL)
AH の下位バイトデータから AL の下位バイトデータおよびキャリフラグ (C) を減算
し , 結果を AL に戻します。AL の上位バイトには 00H が転送されます。
● アセンブラ形式
SUBDC A
● オペレーション
(AL) ← (AH) − (AL) − (C) 【キャリ付き 10 進減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −不定
C − 10 進演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :2
● 実行例
SUBDC A
この例では , AH のバイトデータ (86H) から , AL のバイトデータ (86H) と C フラグ ("0")
を 10 進減算します。
AH
A
××
AL
8 6
××
AH
8 6
A
××
AL
8 6
CCR ×××× 0
0 0
CCR × 0 1 × 0
T N Z V C
実行前
CM44-00203-3
0 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
309
第 8 章 命令細則
8.126 SUBL (Subtract Long Word Data of Source from
Destination to Destination)
8.126
F2MC-16FX ファミリ
SUBL (Subtract Long Word Data of Source from
Destination to Destination)
アキュムレータ (A) のロングワードデータから第 2 オペランドのロングワードデー
タを減算して結果を A に戻します。
● アセンブラ形式
SUBL A,#imm32
SUBL A,ear
SUBL A,eam
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) − ( 第 2 オペランド ) 【ロングワード減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
310
第 1 オペランド
A
A
A
第 2 オペランド
#imm32
ear
eam
バイト数
5
2
2+
サイクル数
2
2
3
奇数アドレス補正
0
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.126 SUBL (Subtract Long Word Data of Source from
Destination to Destination)
F2MC-16FX ファミリ
● 実行例
SUBL A,0FD12H
この例では , アキュムレータ (A) のロングワードデータ (34B3F201H) から , FD12H 番地
のロングワードデータ (525F31BDH) を減算します。
AH
A
3 4
AL
F 2
B 3
AH
0 1
A
E 2
AL
C 0
5 4
CCR ×××××
CCR × 1 0 0 1
T N Z V C
メモリ
T N Z V C
メモリ
FD16
FD16
5 2
FD15
5 2
FD15
5 F
FD14
5 F
FD14
3 1
FD13
3 1
FD13
B D
FD12
B D
FD12
実行前
CM44-00203-3
4 4
FUJITSU MICROELECTRONICS LIMITED
実行後
311
第 8 章 命令細則
8.127 SUBW (Subtract Word Data of Source from Destination to
Destination)
8.127
F2MC-16FX ファミリ
SUBW (Subtract Word Data of Source from
Destination to Destination)
第 1 オペランドのワードデータから第 2 オペランドのワードデータを減算して , 結
果を第 1 オペランドに戻します。
● アセンブラ形式
SUBW A,#imm16
SUBW A,ear
SUBW A,eam
SUBW ear,A
SUBW eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) − ( 第 2 オペランド ) 【ワード減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
312
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm16
ear
eam
A
A
バイト数
3
2
2+
2
2+
サイクル数
1
1
2
1
3
奇数アドレス補正
0
0
1
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.127 SUBW (Subtract Word Data of Source from Destination to
Destination)
F2MC-16FX ファミリ
● 実行例
SUBW @RW0+,A
この例では , 第 1 オペランド (@RW0+) で示されるアドレス (E2A4H) のワードデータ
(5DABH) に , AL のワードデータ (3104H) を減算します。
AH
A
AL
×× ××
RW0
AH
3 1
0 4
E 2
A 4
A
AL
×× ××
RW0
CCR ×××××
E 2
A 6
T N Z V C
メモリ
5 D
E2A5
2 C
E2A5
A B
E2A4
A 7
E2A4
実行前
CM44-00203-3
0 4
CCR × 0 0 0 0
T N Z V C
メモリ
3 1
実行後
FUJITSU MICROELECTRONICS LIMITED
313
第 8 章 命令細則
8.128 SUBW (Subtract Word Data of AL from AH to AL)
F2MC-16FX ファミリ
SUBW (Subtract Word Data of AL from AH to AL)
8.128
AH のワードデータから AL のワードデータを減算して , 結果を AL に戻します。
● アセンブラ形式
SUBW A
● オペレーション
(AL) ← (AH) − (AL) 【ワード減算】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
SUBW A
この例では , AH のワードデータ (83A2H) から , AL のワードデータ (1019H) を減算しま
す。減算結果 (7389H) は AL に設定されます。
AH
A
8 3
AL
1 0
A 2
AH
1 9
A
8 3
AL
7 3
A 2
CCR ×××××
CCR × 0 0 1 0
T N Z V C
実行前
314
8 9
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.129 SWAP (Swap Byte Data of Accumulator)
F2MC-16FX ファミリ
8.129
SWAP (Swap Byte Data of Accumulator)
アキュムレータ (A) のワードデータの上位バイトと下位バイトを交換します。
● アセンブラ形式
SWAP
● オペレーション
temp ← AL[7:0]
AL[7:0] ← AL[15:8]
AL[15:8] ← temp 【バイト交換】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
SWAP
この例では , AL の上位バイトデータ (06H) と , AL の下位バイトデータ (90H) を交換し
ます。
AH
A
AL
0 6
×× ××
AH
9 0
A
AL
9 0
×× ××
CCR ×××××
CCR
T N Z V C
実行前
CM44-00203-3
0 6
×××××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
315
第 8 章 命令細則
8.130 SWAPW (Swap Word Data of Accumulator)
F2MC-16FX ファミリ
SWAPW (Swap Word Data of Accumulator)
8.130
アキュムレータ (A) のロングワードデータの下位ワードと上位ワードを交換します。
● アセンブラ形式
SWAPW
● オペレーション
temp ← (AH)
(AH) ← (AL)
(AL) ← temp 【ワード交換】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
SWAPW
この例では , AH のワードデータ (1986H) と , AL のワードデータ (9861H) を交換します。
AH
A
1 9
AL
8 6
9 8
AH
6 1
A
9 8
AL
6 1
CCR ×××××
CCR
T N Z V C
実行前
316
1 9
8 6
×××××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.131 UNLINK (Unlink and create new stack frame)
F2MC-16FX ファミリ
8.131
UNLINK (Unlink and create new stack frame)
保存されている旧フレームポインタをスタックから復帰します。
● アセンブラ形式
UNLINK
● オペレーション
(SP) ← (RW3), (RW3) ← ((SP)), (SP) ← (SP) + 2
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
奇数アドレス補正 :1
● 実行例
UNLINK
この例では , RW3 のワードデータ (E020H) を SP に転送してから , SP で示されるスタッ
クから RW3 をポップします。
SP
E 0
0 0
SP
E 0
2 2
RW3
E 0
2 0
RW3
A 0
4 6
メモリ
メモリ
A 0
4 6
SP →
××
実行前
CM44-00203-3
E020
SP →
××
E022
A 0
E021
4 6
E020
E000
実行後
FUJITSU MICROELECTRONICS LIMITED
317
第 8 章 命令細則
8.132 WBTc (Wait until Bit Condition satisfied)
8.132
F2MC-16FX ファミリ
WBTc (Wait until Bit Condition satisfied)
オペランドで示されるビットアドレスのデータが条件を満たすまで , オペランドで
示されるビットアドレスのデータの読出し動作を続けます。ビットアドレスのデー
タが条件を満たすと , WBTc 命令の次の命令に制御が移ります。
● アセンブラ形式
WBTC io:bp
WBTS io:bp
● オペレーション
io:bp で示されるビットアドレスのデータが条件を満たすまで io:bp の読出し動作を続
けます。ビットアドレスのデータが条件を満たすと , 次の命令に制御が移ります。
条件が満たされず読出し動作を繰り返している最中は , 割込みが受け付けられる状態
となっています。
この状態で割込みが起動された場合 , RETI 命令による復帰先は WBTc
命令となります。復帰先は , WBTc 命令の次の命令ではありません。
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
命令
WBTC
WBTS
条件
ビットデータ =0
ビットデータ =1
バイト数
3
3
サイクル数
318
不定回数
不定回数
( 条件が成立するまで ) ( 条件が成立するまで )
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.132 WBTc (Wait until Bit Condition satisfied)
F2MC-16FX ファミリ
● 実行例
WBTS 34H:7
この例では , 34H 番地のバイトデータの bit7 が "1" になるのを待ちます。
PC
E 1 0 0
メモリ
bit7が(リソースの動作などにより)"1"に
× ×
周辺の
レジスタ
7 F
なるまで34H番地の読出し動作を続けます。
0034H
bit7が"1"になると,次の命令を実行します。
× ×
実行前
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
実行後
319
第 8 章 命令細則
8.133 XCH (Exchange Byte Data of Source to Destination)
8.133
F2MC-16FX ファミリ
XCH (Exchange Byte Data of Source to Destination)
第 1 オペランドと第 2 オペランドのバイトデータを交換します。
第 1 オペランドが A のときは , AL の上位バイトは 00H になります。
● アセンブラ形式
XCH A,ear
XCH A,eam
XCH Ri,ear
XCH Ri,eam
● オペレーション
temp ← ( 第 1 オペランド )
( 第 1 オペランド ) ← ( 第 2 オペランド )
( 第 2 オペランド ) ← temp 【バイト交換】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
320
第 1 オペランド
A
A
Ri
Ri
第 2 オペランド
ear
eam
ear
eam
バイト数
2
2+
2
2+
サイクル数
1
2
2
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.133 XCH (Exchange Byte Data of Source to Destination)
F2MC-16FX ファミリ
● 実行例
XCH R4,@RW0+
この例では , R4 のバイトデータ (F1H) と , 第 2 オペランド (@RW0+) で示されるアドレ
ス (0060H) のバイトデータ (22H) を交換します。
RWO
0 0
6 0
R4
RWO
R4
F 1
CCR ×××××
CCR
T N Z V C
実行前
CM44-00203-3
2 2
×××××
メモリ
0061
2 2
6 1
T N Z V C
メモリ
RWO →
0 0
0060
0061
RWO →
F 1
0060
実行後
FUJITSU MICROELECTRONICS LIMITED
321
第 8 章 命令細則
8.134 XCHW (Exchange Word Data of Source to Destination)
8.134
F2MC-16FX ファミリ
XCHW (Exchange Word Data of Source to
Destination)
第 1 オペランドと第 2 オペランドのワードデータを交換します。
● アセンブラ形式
XCHW A,ear
XCHW A,eam
XCHW RWi,ear
XCHW RWi,eam
● オペレーション
temp ← ( 第 1 オペランド )
( 第 1 オペランド ) ← ( 第 2 オペランド )
( 第 2 オペランド ) ← temp 【ワード交換】
● CCR
I
S
T
N
Z
V
C
− − − − − − −
全フラグ変化しません。
● バイト数 , サイクル数
322
第 1 オペランド
A
A
RWi
RWi
第 2 オペランド
ear
eam
ear
eam
バイト数
2
2+
2
2+
サイクル数
1
2
2
2
奇数アドレス補正
0
2
0
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.134 XCHW (Exchange Word Data of Source to Destination)
F2MC-16FX ファミリ
● 実行例
XCHW A,@RW0
この例では , AL のワードデータ (24B4H) と , 第 2 オペランド (@RW0) で示されるアド
レス (E001H) のワードデータ (2D58H) を交換します。
AH
A
AL
×× ××
RWO
AH
3 4
B 4
E 0
0 1
A
AL
×× ××
RWO
CCR ×××××
CCR
T N Z V C
CM44-00203-3
E 0
0 1
×××××
メモリ
2 D
E002
5 8
E001
実行前
5 8
T N Z V C
メモリ
RWO →
2 D
RWO →
3 4
E002
B 4
E001
実行後
FUJITSU MICROELECTRONICS LIMITED
323
第 8 章 命令細則
8.135 XOR (Exclusive Or Byte Data of Destination and Source
to Destination)
8.135
F2MC-16FX ファミリ
XOR (Exclusive Or Byte Data of Destination and
Source to Destination)
第 1 オペランドと第 2 オペランドのバイトデータで排他的論理和演算を行い , 結果
を第 1 オペランドに戻します。
● アセンブラ形式
XOR A,#imm8
XOR A,ear
XOR A,eam
XOR ear,A
XOR eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) xor ( 第 2 オペランド ) 【バイト排他的論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
324
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm8
ear
eam
A
A
バイト数
2
2
2+
2
2+
サイクル数
1
1
2
1
3
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.135 XOR (Exclusive Or Byte Data of Destination and Source
to Destination)
F2MC-16FX ファミリ
● 実行例
XOR 0052H,A
この例では , 0052H 番地のバイトデータ (FAH) と , AL の下位バイトデータ (55H) を排他
的論理和演算 (XOR) します。
AH
A
AL
×× ××
0 0
AH
5 5
A
AL
×× ××
CCR ×××××
0 0
CCR
T N Z V C
メモリ
F A
実行前
CM44-00203-3
5 5
× 1 0 0×
T N Z V C
メモリ
000052
A F
000052
実行後
FUJITSU MICROELECTRONICS LIMITED
325
第 8 章 命令細則
8.136 XORL (Exclusive Or Long Word Data of Destination)
8.136
F2MC-16FX ファミリ
XORL (Exclusive Or Long Word Data of Destination)
アキュムレータ (A) のロングワードデータと第 2 オペランドのロングワードデータ
で排他的論理和演算を行い , 結果を A に戻します。
● アセンブラ形式
XORL A,ear
XORL A,eam
● オペレーション
(A) ← (A) xor ( 第 2 オペランド ) 【ロングワード排他的論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
326
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
サイクル数
2
3
奇数アドレス補正
0
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.136 XORL (Exclusive Or Long Word Data of Destination)
F2MC-16FX ファミリ
● 実行例
XORL A,0FFF0H
この例では , アキュムレータ (A) のロングワードデータ (8252FEACH) と , FFF0H 番地の
ロングワードデータ (FF55AA00H) を排他的論理和演算 (XOR) します。
AH
A
8 2
AL
F E
5 2
AH
A C
A
7 D
AL
5 4
0 7
CCR ×××××
CCR
T N Z V C
メモリ
CM44-00203-3
× 0 0 0×
T N Z V C
メモリ
F F
FFF3
F F
FFF3
5 5
FFF2
5 5
FFF2
A A
FFF1
A A
FFF1
0 0
FFF0
0 0
FFF0
実行前
A C
実行後
FUJITSU MICROELECTRONICS LIMITED
327
第 8 章 命令細則
8.137 XORW (Exclusive Or Word Data of AH and AL to AL)
8.137
F2MC-16FX ファミリ
XORW (Exclusive Or Word Data of AH and AL to AL)
AH と AL のワードデータで排他的論理和演算 (XOR) を行い , 結果を AL に戻しま
す。
● アセンブラ形式
XORW A
● オペレーション
(AL) ← (AH) xor (AL) 【ワード排他的論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
XORW A
この例では , AL のワードデータ (AB98H) と , AH のワードデータ (0426H) を排他的論理
和演算 (XOR) します。
AH
A
AL
0 4 2 6
A B
AH
9 8
A
AL
0 4 2 6
CCR ×××××
328
B E
CCR × 1 0 0 ×
T N Z V C
実行前
A F
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.138 XORW (Exclusive Or Word Data of Destination and
Source to Destination)
F2MC-16FX ファミリ
8.138
XORW (Exclusive Or Word Data of Destination and
Source to Destination)
第 1 オペランドと第 2 オペランドのワードデータで排他的論理和演算を行い , 結果
を第 1 オペランドに戻します。
● アセンブラ形式
XORW A,#imm16
XORW A,ear
XORW A,eam
XORW ear,A
XORW eam,A
● オペレーション
( 第 1 オペランド ) ← ( 第 1 オペランド ) xor ( 第 2 オペランド ) 【ワード排他的論理和】
● CCR
I
S
T
N
Z
V
C
− − −
*
*
R
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −クリアされます。
C −変化しません。
● バイト数 , サイクル数
CM44-00203-3
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm16
ear
eam
A
A
バイト数
3
2
2+
2
2+
サイクル数
1
1
2
1
3
奇数アドレス補正
0
0
1
0
2
FUJITSU MICROELECTRONICS LIMITED
329
第 8 章 命令細則
8.138 XORW (Exclusive Or Word Data of Destination and
Source to Destination)
● 実行例
F2MC-16FX ファミリ
XORW 0E001H,A
この例では , E001H 番地のワードデータ (8342H) と , AL のワードデータ (5963H) を排他
的論理和演算 (XOR) します。
AH
A
AL
5 9
×× ××
6 3
A
AH
AL
×× ××
5 9 6 3
CCR ×××××
CCR
T N Z V C
メモリ
T N Z V C
メモリ
8 3
E002
D A
E002
4 2
E001
2 1
E001
実行前
330
× 1 0 0×
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
第 8 章 命令細則
8.139 ZEXT (Zero Extend from Byte Data to Word Data)
F2MC-16FX ファミリ
8.139
ZEXT (Zero Extend from Byte Data to Word Data)
AL の上位バイトに 00H を転送します。
● アセンブラ形式
ZEXT
● オペレーション
AL[15:8] ← 00H
● CCR
I
S
T
N
Z
V
C
− − −
R
*
− −
I, S, T −変化しません。
N −クリアされます。
Z −ゼロ拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
ZEXT
この例では , AL の上位バイトを 00H にします。
AH
A
AL
×× ××
××
8 0
A
AH
AL
×× ××
0 0 8 0
CCR ×××××
CCR
T N Z V C
実行前
CM44-00203-3
× 0 0 ××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
331
第 8 章 命令細則
8.140 ZEXTW (Zero Extend from Word Data to Long Word Data)
F2MC-16FX ファミリ
ZEXTW (Zero Extend from Word Data to Long Word
Data)
8.140
AH に 0000H を転送します。
● アセンブラ形式
ZEXTW
● オペレーション
AH ← 0000H
● CCR
I
S
T
N
Z
V
C
− − −
R
*
− −
I, S, T −変化しません。
N −クリアされます。
Z −ゼロ拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数
バイト数 :1
サイクル数 :1
● 実行例
ZEXTW
この例では , AH を 0000H にします。
A
AH
AL
×× ××
F F 8 0
A
AH
AL
0 0 0 0
F F 8 0
CCR ×××××
CCR
T N Z V C
実行前
332
× 0 0 ××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
F2MC-16FX の命令一覧および命令マップなどを掲
載します。
付録 A 命令一覧表の説明
付録 B 命令一覧表 (351 命令 )
付録 C 命令マップ
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
333
付録
付録 A 命令一覧表の説明
付録 A
F2MC-16FX ファミリ
命令一覧表の説明
ここでは , 命令一覧表 (351 命令 ) に示す各命令一覧表の項目と記号についての説明
を記載します。
A.1 命令一覧表の項目の説明
A.2 命令一覧表の記号の説明
A.3 実効アドレスフィールド
334
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 A 命令一覧表の説明
F2MC-16FX ファミリ
A.1
命令一覧表の項目の説明
表 A.1-1 に命令一覧表の項目の説明を示します。
表 A.1-1 命令一覧表の項目の説明
項目
説明
ニーモニック
英大文字 , 記号 : アセンブラ上もそのまま表記します。
英小文字 : アセンブラ上では , 書き換えて記述します。
英小文字の後の数 : 命令中のビット幅を示します。
#
バイト数を示します。
∼
サイクル数を示します。
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
CM44-00203-3
リードモディファイライト系命令 (1 命令でメモリなどからデー
タを読出し処理しその結果をメモリへ書き込む ) であるかどう
か示します。
*: リードモディファイライト系命令である。
− : リードモディファイライト系命令ではない。
( 注意事項 )
読み書きで意味の異なる I/O レジスタ等のアドレスには使用
できません。
FUJITSU MICROELECTRONICS LIMITED
335
付録
付録 A 命令一覧表の説明
F2MC-16FX ファミリ
■ 実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の " サイクル数 " の値と
データのアクセス条件で決まる"奇数アドレス補正"の値を加算することで得られます。
実際の命令実行においては,命令フェッチの遅れ,データアクセスの競合等により,実
行サイクル数が計算値より増大することがあります。とくに,外部バスインタフェー
スを使用して,外部バスからの命令フェッチや,データアクセスを行うときには,実
行サイクル数が増大します。
■ 奇数アドレス補正
一部の命令においては,奇数アドレスへのデータアクセスを行うときに実行サイクル
が増大します。奇数アドレスのデータアクセスで増大するサイクル数を奇数アドレス
補正として,命令一覧の項目 B に示してあります。
336
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 A 命令一覧表の説明
F2MC-16FX ファミリ
A.2
命令一覧表の記号の説明
表 A.2-1 に , 命令一覧表中の記号説明の一覧を示します。
■ 命令一覧表の記号の説明
表 A.2-1 命令一覧表中の記号説明
表記
A
AH
AL
SP
PC
PCB
DTB
ADB
SSB
USB
DPR
brg1
brg2
Ri
Rj
RWi
RWj
RLi
dir
addr16
addr24
ad24 0-15
ad24 16-23
io
imm4
imm8
imm16
imm32
ext(imm8)
disp8
disp16
bp
vct4
vct8
( )b
rel
ear
eam
rlst
CM44-00203-3
意味
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト … AL の下位 8bit
ワード … AL の 16bit
ロングワード … AL:AH の 32bit
A の上位 16bit
A の下位 16bit
スタックポインタ (USP or SSP)
プログラムカウンタ
プログラムカウンタバンクレジスタ
データバンクレジスタ
アディショナルデータバンクレジスタ
システムスタックバンクレジスタ
ユーザスタックバンクレジスタ
ダイレクトページレジスタ
DTB, ADB, SSB, USB, DPR, PCB
DTB, ADB, SSB, USB, DPR
R0, R1, R2, R3, R4, R5, R6, R7
R0, R1, R2, R3
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RW0, RW1, RW2, RW3
RL0, RL1, RL2, RL3
短縮直接アドレス指定
直接アドレス指定
物理直接アドレス指定
addr24 の bit0-bit15
addr24 の bit16-bit23
I/O 領域 (000000H ∼ 0000FFH)
4bit 即値データ
8bit 即値データ
16bit 即値データ
32bit 即値データ
8bit 即値データを符号拡張した 16bit データ
8bit ディスプレースメント
16bit ディスプレースメント
ビットオフセット値
ベクタ番号 (0 ∼ 15)
ベクタ番号 (0 ∼ 255)
ビットアドレス
PC 相対分岐指定
実効アドレス指定 ( コード 00H ∼ 07H)
実効アドレス指定 ( コード 08H ∼ 1FH)
レジスタリスト
FUJITSU MICROELECTRONICS LIMITED
337
付録
付録 A 命令一覧表の説明
A.3
F2MC-16FX ファミリ
実効アドレスフィールド
表 A.3-1 に , 実効アドレスフィールド指定アドレス形式を示します。
表 A.3-1 実効アドレスフィールド (1 / 2)
コード
338
アドレス形式
アドレス拡張部
のバイト数 *
レジスタ直接
( 注意事項 ) 左の表記欄の汎用レジスタ名は ,
バイト
ワード
ロングワード
の型に対応します。
−
レジスタ間接
0
ポストインクリメント付
レジスタ間接
0
8 ビットディスプレースメント付
レジスタ間接
1
16 ビットディスプレースメント付
レジスタ間接
2
表記
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
18
@RW0+disp16
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 A 命令一覧表の説明
F2MC-16FX ファミリ
表 A.3-1 実効アドレスフィールド (2 / 2)
コード
アドレス拡張部
のバイト数 *
表記
アドレス形式
1C
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
*: アドレス拡張のバイト数は , 命令一覧表の "#"( バイト数 ) および命令細則のバイト数の所で "2+"
のように " 数値 +" と書かれているときに,数値に加算されて,命令のバイト数を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
339
付録
付録 B 命令一覧表 (351 命令 )
付録 B
F2MC-16FX ファミリ
命令一覧表 (351 命令 )
アセンブラで使用される命令の一覧を記載します。
各命令一覧の項目と記号については「付録 A 命令一覧表の説明」を参照してくださ
い。
表 B-1 転送命令 ( バイト ) :41 命令
MOV
ニーモニック
A, dir
#
2
∼
1
B
0
オペレーション
byte (A) ← (dir)
I
-
S
-
T
-
N
*
Z
*
V
-
C
-
RMW
-
MOV
A, addr16
3
1
0
byte (A) ← (addr16)
Z
MOV
A, Ri
1
1
0
byte (A) ← (Ri)
Z
*
-
-
-
*
*
-
-
-
*
-
-
-
*
*
-
-
MOV
A, ear
2
1
0
byte (A) ← (ear)
-
Z
*
-
-
-
*
*
-
-
MOV
A, eam
2+
1
0
-
byte (A) ← (eam)
Z
*
-
-
-
*
*
-
-
MOV
A, io
2
1
-
0
byte (A) ← (io)
Z
*
-
-
-
*
*
-
-
MOV
A, #imm8
2
-
1
0
byte (A) ← imm8
Z
*
-
-
-
*
*
-
-
MOV
A, @A
-
2
1
0
byte (A) ← ((A))
Z
-
-
-
-
*
*
-
-
MOV
-
A, @RLi+disp8
3
1
0
byte (A) ← ((RLi)+disp8)
Z
*
-
-
-
*
*
-
-
-
MOVN
A, #imm4
1
1
0
byte (A) ← imm4
Z
*
-
-
-
R
*
-
-
-
MOVX
A, dir
2
1
0
byte (A) ← (dir)
X
*
-
-
-
*
*
-
-
-
MOVX
A, addr16
3
1
0
byte (A) ← (addr16)
X
*
-
-
-
*
*
-
-
-
MOVX
A, Ri
1
1
0
byte (A) ← (Ri)
X
*
-
-
-
*
*
-
-
-
MOVX
A, ear
2
1
0
byte (A) ← (ear)
X
*
-
-
-
*
*
-
-
-
MOVX
A, eam
2+
1
0
byte (A) ← (eam)
X
*
-
-
-
*
*
-
-
-
MOVX
A, io
2
1
0
byte (A) ← (io)
X
*
-
-
-
*
*
-
-
-
MOVX
A, #imm8
2
1
0
byte (A) ← imm8
X
*
-
-
-
*
*
-
-
-
MOVX
A, @A
2
1
0
byte (A) ← ((A))
X
-
-
-
-
*
*
-
-
-
MOVX
A, @RWi+disp8
2
1
0
byte (A) ← ((RWi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOVX
A, @RLi+disp8
3
1
0
byte (A) ← ((RLi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOV
dir, A
2
1
0
byte (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
addr16, A
3
1
0
byte (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri, A
1
1
0
byte (Ri) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
ear, A
2
1
0
byte (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
eam, A
2+
1
0
byte (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
io, A
2
1
0
byte (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
@RLi+disp8, A
3
1
0
byte ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri, ear
2
1
0
byte (Ri) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOV
Ri, eam
2+
1
0
byte (Ri) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOV
ear, Ri
2
1
0
byte (ear) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
eam, Ri
2+
1
0
byte (eam) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
Ri, #imm8
2
1
0
byte (Ri) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
io, #imm8
3
1
0
byte (io) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
dir, #imm8
3
1
0
byte (dir) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ear, #imm8
3
1
0
byte (ear) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
eam, #imm8
3+
1 / 2*1
0
byte (eam) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
@AL, AH
2
1
0
byte ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCH
A, ear
2
1
0
byte (A) ←→ (ear)
Z
-
-
-
-
-
-
-
-
-
XCH
A, eam
2+
2
0
byte (A) ←→ (eam)
Z
-
-
-
-
-
-
-
-
-
XCH
Ri, ear
2
2
0
byte (Ri) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCH
Ri, eam
2+
2
0
-
-
-
-
-
-
-
-
-
-
byte (Ri) ←→ (eam)
*1 : eam が Ri/@RWi/@RWi+/@RWi+RW7 の場合は 1,それ以外は 2
340
LH AH
Z
*
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-2 転送命令 ( ワード , ロングワード ) :38 命令
MOVW
ニーモニック
A, dir
#
2
∼
1
B
1
オペレーション
word (A) ← (dir)
LH AH
*
I
-
S
-
T
-
N
*
Z
*
V
-
C
-
RMW
-
MOVW
A, addr16
3
1
1
word (A) ← (addr16)
-
MOVW
A, SP
1
1
0
word (A) ← (SP)
-
*
-
-
-
*
*
-
-
-
*
-
-
-
*
*
-
-
MOVW
A, RWi
1
1
0
word (A) ← (RWi)
-
-
*
-
-
-
*
*
-
-
MOVW
A, ear
2
1
0
-
word (A) ← (ear)
-
*
-
-
-
*
*
-
-
MOVW
A, eam
2+
1
-
1
word (A) ← (eam)
-
*
-
-
-
*
*
-
-
MOVW
A, io
2
-
1
1
word (A) ← (io)
-
*
-
-
-
*
*
-
-
MOVW
A, @A
-
2
1
1
word (A) ← ((A))
-
-
-
-
-
*
*
-
-
MOVW
-
A, #imm16
3
1
0
word (A) ← imm16
-
*
-
-
-
*
*
-
-
-
MOVW
A, @RWi+disp8
2
1
1
word (A) ← ((RWi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
A, @RLi+disp8
3
1
1
word (A) ← ((RLi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
dir, A
2
1
1
word (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
addr16, A
3
1
1
word (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
SP, A
1
1
0
word (SP) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi, A
1
1
0
word (RWi) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
ear, A
2
1
0
word (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
eam, A
2+
1
1
word (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
io, A
2
1
1
word (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RWi+disp8, A
2
1
1
word ((RWi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RLi+disp8, A
3
1
1
word ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi, ear
2
1
0
word (RWi) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi, eam
2+
1
1
word (RWi) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVW
ear, RWi
2
1
0
word (ear) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
eam, RWi
2+
1
1
word (eam) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi, #imm16
3
1
0
word (RWi) ← imm16
-
-
-
-
-
*
*
-
-
-
MOVW
io, #imm16
4
1
1
word (io) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
ear, #imm16
4
2
0
word (ear) ← imm16
-
-
-
-
-
*
*
-
-
-
MOVW
eam, #imm16
4+
2
1
word (eam) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
@AL, AH
2
1
1
word ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCHW
A, ear
2
1
0
word (A) ←→ ear
-
-
-
-
-
-
-
-
-
-
XCHW
A, eam
2+
2
2
word (A) ←→ eam
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, ear
2
2
0
word (RWi) ←→ ear
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, eam
2+
2
2
word (RWi) ←→ eam
-
-
-
-
-
-
-
-
-
-
MOVL
A, ear
2
2
0
long (A) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVL
A, eam
2+
2
1
long (A) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVL
A, #imm32
5
2
0
long (A) ← imm32
-
-
-
-
-
*
*
-
-
-
MOVL
ear, A
2
2
0
long (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVL
eam, A
2+
1
long (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
*1
3/2
*1 : eam が @RWi+ の場合は 3, それ以外は 2
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
341
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-3 加減算命令 ( バイト , ワード , ロングワード ) :42 命令
ADD
ニーモニック
A, #imm8
#
2
∼
1
B
0
オペレーション
byte (A) ← (A) + imm8
LH AH
Z
-
I
-
S
-
T
-
N
*
Z
*
V
*
C RMW
*
-
ADD
A, dir
2
2
0
byte (A) ← (A) + (dir)
Z
-
-
-
-
*
*
*
*
-
ADD
A, ear
2
1
0
byte (A) ← (A) + (ear)
Z
-
-
-
-
*
*
*
*
-
ADD
A, eam
2+
2
0
byte (A) ← (A) + (eam)
Z
-
-
-
-
*
*
*
*
-
ADD
ear, A
2
1
0
byte (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
ADD
eam, A
2+
3
0
byte (eam) ← (eam) + (A)
Z
-
-
-
-
*
*
*
*
*
ADDC
A
1
1
0
byte (A) ← (AH) + (AL) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A, ear
2
1
0
byte (A) ← (A) + (ear) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A, eam
2+
2
0
byte (A) ← (A) + (eam) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDDC
A
1
2
0
byte (A) ← (AH) + (AL) + (C) : decimal
Z
-
-
-
-
*
*
*
*
-
SUB
A, #imm8
2
1
0
byte (A) ← (A) - imm8
Z
-
-
-
-
*
*
*
*
-
SUB
A, dir
2
2
0
byte (A) ← (A) - (dir)
Z
-
-
-
-
*
*
*
*
-
SUB
A, ear
2
1
0
byte (A) ← (A) - (ear)
Z
-
-
-
-
*
*
*
*
-
SUB
A, eam
2+
2
0
byte (A) ← (A) - (eam)
Z
-
-
-
-
*
*
*
*
-
SUB
ear, A
2
1
0
byte (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUB
eam, A
2+
3
0
byte (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBC
A
1
1
0
byte (A) ← (AH) - (AL) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A, ear
2
1
0
byte (A) ← (A) - (ear) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A, eam
2+
2
0
byte (A) ← (A) - (eam) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBDC
A
1
2
0
byte (A) ← (AH) - (AL) - (C) : decimal
Z
-
-
-
-
*
*
*
*
-
ADDW
A
1
1
0
word (A) ← (AH) + (AL)
-
-
-
-
-
*
*
*
*
-
ADDW
A, ear
2
1
0
word (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDW
A, eam
2+
2
1
word (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDW
A, #imm16
3
1
0
word (A) ← (A) + imm16
-
-
-
-
-
*
*
*
*
-
ADDW
ear, A
2
1
0
word (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
ADDW
eam, A
2+
3
2
word (eam) ← (eam) + (A)
-
-
-
-
-
*
*
*
*
*
ADDCW
A, ear
2
1
0
word (A) ← (A) + (ear) + (C)
-
-
-
-
-
*
*
*
*
-
ADDCW
A, eam
2+
2
1
word (A) ← (A) + (eam) + (C)
-
-
-
-
-
*
*
*
*
-
SUBW
A
1
1
0
word (A) ← (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
SUBW
A, ear
2
1
0
word (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBW
A, eam
2+
2
1
word (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBW
A, #imm16
3
1
0
word (A) ← (A) - imm16
-
-
-
-
-
*
*
*
*
-
SUBW
ear, A
2
1
0
word (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUBW
eam, A
2+
3
2
word (eam) ← (eam) - (A)
-
-
-
-
-
*
*
*
*
*
SUBCW
A, ear
2
1
0
word (A) ← (A) - (ear) - (C)
-
-
-
-
-
*
*
*
*
-
SUBCW
A, eam
2+
2
1
word (A) ← (A) - (eam) - (C)
-
-
-
-
-
*
*
*
*
-
ADDL
A, ear
2
2
0
long (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDL
A, eam
2+
3
1
long (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDL
A, #imm32
5
2
0
long (A) ← (A) + imm32
-
-
-
-
-
*
*
*
*
-
SUBL
A, ear
2
2
0
long (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBL
A, eam
2+
3
1
long (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBL
A, #imm32
5
2
0
long (A) ← (A) - imm32
-
-
-
-
-
*
*
*
*
-
342
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-4 増減算命令 ( バイト , ワード , ロングワード ) :12 命令
INC
ニーモニック
ear
#
2
∼
1
B
0
オペレーション
byte (ear) ← (ear) + 1
LH AH
-
I
-
S
-
T
-
N
*
Z
*
V
*
C
-
RMW
-
INC
eam
2+
3
0
byte (eam) ← (eam) + 1
-
DEC
ear
2
1
0
byte (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
*
-
-
-
-
*
*
*
-
DEC
eam
2+
3
0
byte (eam) ← (eam) - 1
-
-
-
-
-
-
*
*
*
-
*
INCW
ear
2
1
0
word (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
INCW
eam
2+
3
2
word (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
DECW
ear
2
1
0
word (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
DECW
eam
2+
3
2
word (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
INCL
ear
2
2
0
long (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
INCL
eam
2+
4
2
long (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
DECL
ear
2
2
0
long (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
DECL
eam
2+
4
2
long (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
343
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-5 比較命令 ( バイト , ワード , ロングワード ) :11 命令
CMP
CMP
CMP
CMP
CMPW
CMPW
CMPW
CMPW
CMPL
CMPL
CMPL
344
ニーモニック
A
A, ear
A, eam
A, #imm8
A
A, ear
A, eam
A, #imm16
A, ear
A, eam
A, #imm32
#
1
2
2+
2
1
2
2+
3
2
2+
5
∼
1
1
2
1
1
1
2
1
2
3
2
B
0
0
0
0
0
0
1
0
0
1
0
オペレーション
byte (AH) - (AL)
byte (A) - (ear)
byte (A) - (eam)
byte (A) - imm8
word (AH) - (AL)
word (A) - (ear)
word (A) - (eam)
word (A) - imm16
long (A) - (ear)
long (A) - (eam)
long (A) - imm32
LH AH
-
FUJITSU MICROELECTRONICS LIMITED
I
-
S
-
T
-
N
*
*
*
*
*
*
*
*
*
*
*
Z
*
*
*
*
*
*
*
*
*
*
*
V
*
*
*
*
*
*
*
*
*
*
*
C
*
*
*
*
*
*
*
*
*
*
*
RMW
-
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-6 符合なし乗除算命令 ( ワード , ロングワード ) :11 命令
ニーモニック
DIVU
A
#
1
4 / 9*1
B
0
DIVU
A, ear
2
4 / 9*1
0
DIVU
A, eam
2+
5 / 11*2
0
DIVUW
A, ear
2
4 / 17*3
0
DIVUW
A, eam
2+
5 / 19*4
2
∼
オペレーション
word (AH) / byte (AL)
quotient → byte (AL), remainder → byte (AH)
word (A) / byte (ear)
quotient → byte (A), remainder → byte (ear)
word (A) / byte (eam)
quotient → byte (A), remainder → byte (eam)
long (A) / word (ear)
quotient → word (A), remainder → word (ear)
long (A) / word (eam)
quotient → word (A), remainder → word (eam)
LH AH
-
I
-
S
-
T
-
N
-
Z
-
V
*
C RMW
*
-
-
-
-
-
-
-
-
*
*
-
-
-
-
-
-
-
-
*
*
-
-
-
-
-
-
-
-
*
*
-
-
-
-
-
-
-
-
*
*
-
MULU
A
1
2
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A, ear
2
2
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A, eam
2+
3
0
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
MULUW
A
1
4
0
word (AH) * word (AL) → long (A)
-
-
-
-
-
-
-
-
-
-
MULUW
A, ear
2
4
0
word (A) * word (ear) → long (A)
-
-
-
-
-
-
-
-
-
-
MULUW
A, eam
2+
5
1
word (A) * word (eam) → long (A)
-
-
-
-
-
-
-
-
-
-
*1 : オーバフローの場合は 4, それ以外は 9
*2 : オーバフローの場合は 5, それ以外は 11
*3 : オーバフローの場合は 4, それ以外は 17
*4 : オーバフローの場合は 5, それ以外は 19
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
345
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-7 符合付き乗除算命令 ( ワード , ロングワード ) :11 命令
ニーモニック
DIV
A
#
2
5 / 11*1
B
0
DIV
A, ear
2
5 / 11*1
0
DIV
A, eam
2+
6 / 13*2
0
DIVW
A, ear
2
5 / 19*3
0
DIVW
A, eam
2+
6 / 21*4
2
∼
オペレーション
word (AH) / byte (AL)
quotient → byte (AL), remainder → byte (AH)
word (A) / byte (ear)
quotient → byte (A), remainder → byte (ear)
word (A) / byte (eam)
quotient → byte (A), remainder → byte (eam)
long (A) / word (ear)
quotient → word (A), remainder → word (ear)
long (A) / word (eam)
quotient → word (A), remainder → word (eam)
LH AH
Z -
I
-
S
-
T
-
N
-
Z
-
V
*
C RMW
*
-
Z
-
-
-
-
-
-
*
*
-
Z
-
-
-
-
-
-
*
*
-
-
-
-
-
-
-
-
*
*
-
-
-
-
-
-
-
-
*
*
-
MUL
A
2
4
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
MUL
A, ear
2
4
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MUL
A, eam
2+
5
0
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
MULW
A
2
6
0
word (AH) * word (AL) → long (A)
-
-
-
-
-
-
-
-
-
-
MULW
A, ear
2
6
0
word (A) * word (ear) → long (A)
-
-
-
-
-
-
-
-
-
-
MULW
A, eam
2+
7
1
word (A) * word (eam) → long (A)
-
-
-
-
-
-
-
-
-
-
*1 : オーバフローの場合は 5, それ以外は 11
*2 : オーバフローの場合は 6, それ以外は 13
*3 : オーバフローの場合は 5, それ以外は 19
*4 : オーバフローの場合は 6, それ以外は 21
346
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-8 論理演算命令 ( バイト , ワード , ロングワード ) :45 命令
AND
ニーモニック
A, #imm8
#
2
∼
1
B
0
オペレーション
byte (A) ← (A) and imm8
LH AH
-
I
-
S
-
T
-
N
*
Z
*
V
R
C
-
RMW
-
AND
A, ear
2
1
0
byte (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
AND
A, eam
2+
2
0
byte (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
AND
ear, A
2
1
0
byte (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
AND
eam, A
2+
3
0
byte (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
OR
A, #imm8
2
1
0
byte (A) ← (A) or imm8
-
-
-
-
-
*
*
R
-
-
OR
A, ear
2
1
0
byte (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
OR
A, eam
2+
2
0
byte (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
OR
ear, A
2
1
0
byte (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
OR
eam, A
2+
3
0
byte (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
XOR
A, #imm8
2
1
0
byte (A) ← (A) xor imm8
-
-
-
-
-
*
*
R
-
-
XOR
A, ear
2
1
0
byte (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XOR
A, eam
2+
2
0
byte (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XOR
ear, A
2
1
0
byte (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XOR
eam, A
2+
3
0
byte (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOT
A
1
1
0
byte (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOT
ear
2
1
0
byte (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOT
eam
2+
3
0
byte (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
ANDW
A
1
1
0
word (A) ← (AH) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
A, #imm16
3
1
0
word (A) ← (A) and imm16
-
-
-
-
-
*
*
R
-
-
ANDW
A, ear
2
1
0
word (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
ANDW
A, eam
2+
2
1
word (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ANDW
ear, A
2
1
0
word (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
ANDW
eam, A
2+
3
2
word (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
ORW
A
1
1
0
word (A) ← (AH) or (A)
-
-
-
-
-
*
*
R
-
-
ORW
A, #imm16
3
1
0
word (A) ← (A) or imm16
-
-
-
-
-
*
*
R
-
-
ORW
A, ear
2
1
0
word (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORW
A, eam
2+
2
1
word (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
ORW
ear, A
2
1
0
word (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
ORW
eam, A
2+
3
2
word (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
XORW
A
1
1
0
word (A) ← (AH) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
A, #imm16
3
1
0
word (A) ← (A) xor imm16
-
-
-
-
-
*
*
R
-
-
XORW
A, ear
2
1
0
word (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORW
A, eam
2+
2
1
word (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XORW
ear, A
2
1
0
word (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
eam, A
2+
3
2
word (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOTW
A
1
1
0
word (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOTW
ear
2
1
0
word (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOTW
eam
2+
3
2
word (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
ANDL
A, ear
2
2
0
long (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
ANDL
A, eam
2+
3
1
long (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ORL
A, ear
2
2
0
long (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORL
A, eam
2+
3
1
long (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
XORL
A, ear
2
2
0
long (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORL
A, eam
2+
3
1
long (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
347
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-9 符合反転命令 ( バイト , ワード ) :6 命令
NEG
ニーモニック
A
#
1
∼
1
B
0
オペレーション
byte (A) ← 0 - (A)
LH AH
X
-
I
-
S
-
T
-
N
*
Z
*
V
*
C
*
RMW
-
NEG
ear
2
1
0
byte (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
NEG
eam
2+
3
0
byte (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
NEGW
A
1
1
0
word (A) ← 0 - (A)
-
-
-
-
-
*
*
*
*
-
NEGW
ear
2
1
0
word (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
NEGW
eam
2+
3
2
word (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
348
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-10 シフト / ノーマライズ命令 ( バイト , ワード , ロングワード ) :19 命令
ニーモニック
RORC
A
#
2
∼
1
B
0
オペレーション
byte (A) ← Right rotation of (A) with carry
LH AH I
- - -
S
-
T
-
N
*
Z
*
V
-
C RMW
*
-
RORC
ear
2
1
0
byte (ear) ← Right rotation of (ear) with carry
-
-
-
-
-
*
*
-
*
-
RORC
eam
2+
3
0
byte (eam) ← Right rotation of (eam) with carry
-
-
-
-
-
*
*
-
*
*
ROLC
A
2
1
0
byte (A) ← Left rotation of (A) with carry
-
-
-
-
-
*
*
-
*
-
ROLC
ear
2
1
0
byte (ear) ← Right rotation of (ear) with carry
-
-
-
-
-
*
*
-
*
-
ROLC
eam
2+
3
0
byte (eam) ← Right rotation of (eam) with carry
-
-
-
-
-
*
*
-
*
*
ASR
A, R0
2
1
0
byte (A) ← Arithmetic right barrel shift of (A) , (R0) bits
-
-
-
-
*
*
*
-
*
-
LSR
A, R0
2
1
0
byte (A) ← Logical right barrel shift of (A) , (R0) bits
-
-
-
-
*
*
*
-
*
-
LSL
A, R0
2
1
0
byte (A) ← Logical left barrel shift of (A) , (R0) bits
-
-
-
-
-
*
*
-
*
-
ASRW
A
1
1
0
word (A) ← Arithmetic right shift of (A) , 1 bit
-
-
-
-
*
*
*
-
*
-
LSRW/SHRW A
1
1
0
word (A) ← Logical right shift of (A) , 1 bits
-
-
-
-
*
R
*
-
*
-
LSLW/SHLW A
1
1
0
word (A) ← Logical left shift of (A) , 1 bits
-
-
-
-
-
*
*
-
*
-
ASRW
A, R0
2
1
0
word (A) ← Arithmetic right barrel shift of (A) , (R0) bits
-
-
-
-
*
*
*
-
*
-
LSRW
A, R0
2
1
0
word (A) ← Logical right barrel shift of (A) , (R0) bits
-
-
-
-
*
*
*
-
*
-
LSLW
A, R0
2
1
0
word (A) ← Logical left barrel shift of (A) , (R0) bits
-
-
-
-
-
*
*
-
*
-
ASRL
A, R0
2
1
0
long (A) ← Arithmetic right barrel shift of (A) , (R0) bits
-
-
-
-
*
*
*
-
*
-
LSRL
A, R0
2
1
0
long (A) ← Logical right barrel shift of (A) , (R0) bits
-
-
-
-
*
*
*
-
*
-
LSLL
A, R0
2
1
0
long (A) ← Logical left barrel shift of (A) , (R0) bits
NRML
A, R0
2
1
0
long (A) ← Shift left (A) until the MSB is "1"
byte (R0) ← Shift count (the first "1" bit position)
-
-
-
-
-
*
-
*
*
-
*
-
-
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
349
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-11 分岐命令 1:31 命令
ニーモニック
BZ/BEQ
rel
BNZ/BNE
rel
BC/BLO
rel
BNC/BHS
rel
BN
rel
BP
rel
BV
rel
BNV
rel
BT
rel
BNT
rel
BLT
rel
BGE
rel
BLE
rel
BGT
rel
BLS
rel
BHI
rel
BRA
rel
JMP
@A
#
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
∼
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
B
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
オペレーション
Branch on (Z) = 1
Branch on (Z) = 0
Branch on (C) = 1
Branch on (C) = 0
Branch on (N) = 1
Branch on (N) = 0
Branch on (V) = 1
Branch on (V) = 0
Branch on (T) = 1
Branch on (T) = 0
Branch on (V) xor (N) = 1
Branch on (V) xor (N) = 0
Branch on ((V) xor (N)) or (Z) = 1
Branch on ((V) xor (N)) or (Z) = 0
Branch on (C) or (Z) = 1
Branch on (C) or (Z) = 0
Branch always (Unconditional branch)
I
-
S
-
T
-
N
-
Z
-
V
-
C RMW
-
JMP
addr16
3
2
0
word (PC) ← addr16
-
JMP
@ear
2
2
0
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
JMP
@eam
2+
4
1
word (PC) ← (eam)
-
-
-
-
-
-
-
-
-
-
JMPP
@ear
2
3
0
-
word (PC) ← (ear), (PCB) ← (ear+2)
-
-
-
-
-
-
-
-
-
-
word (PC) ← (A)
LH AH
-
JMPP
@eam
2+
5
1
word (PC) ← (eam), (PCB) ← (eam+2)
-
-
-
-
-
-
-
-
-
-
JMPP
CALL
addr24
@ear
4
2
2
3
0
1
word (PC) ← ad24 0-15, (PCB) ← ad24 16-23
-
-
-
-
-
-
-
-
-
-
CALL
@eam
2+
5
1+1*a
word (SP) ← (SP)-2, ((SP)) ← (PC)+ 2+
word (PC) ← (eam)
-
-
-
-
-
-
-
-
-
-
CALL
addr16
3
3
1
word (SP) ← (SP)-2, ((SP)) ← (PC)+3
word (PC) ← addr16
-
-
-
-
-
-
-
-
-
-
CALLV
#vct4
1
5
1
word (SP) ← (SP)-2, ((SP)) ← (PC)+1
word (PC) ← (vecter_address)
-
-
-
-
-
-
-
-
-
-
CALLP
@ear
2
5
2
word (SP) ← (SP)-2, ((SP)) ← (PCB)
word (SP) ← (SP)-2, ((SP)) ← (PC)+2
word (PC) ← (ear), (PCB) ← (ear+2)
-
-
-
-
-
-
-
-
-
-
CALLP
@eam
2+
7
2+1*b
word (SP) ← (SP)-2, ((SP)) ← (PCB)
word (SP) ← (SP)-2, ((SP)) ← (PC)+ 2+
word (PC) ← (eam), (PCB) ← (eam+2)
-
-
-
-
-
-
-
-
-
-
CALLP
addr24
4
4
2
word (SP) ← (SP)-2, ((SP)) ← (PCB)
word (SP) ← (SP)-2, ((SP)) ← (PC)+4
word (PC) ← ad24 0-15, (PCB) ← ad24 16-23
-
-
-
-
-
-
-
-
-
-
word (SP) ← (SP)-2, ((SP)) ← (PC)+2
word (PC) ← (ear)
*a : 補正値:奇数スタックには +1, 奇数オペランドアドレスには +1
*b : 補正値:奇数スタックには +2, 奇数オペランドアドレスには +1
350
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-12 分岐命令 2:19 命令
ニーモニック
CBNE
A, #imm8, rel
CWBNE
A, #imm16, rel
CBNE
ear, #imm8, rel
CBNE
eam, #imm8, rel
CWBNE
ear, #imm16, rel
CWBNE
eam, #imm16, rel
#
3
4
4
4+
5
5+
∼
5
5
4
5
5
6
B
0
0
0
0
0
1
オペレーション
Branch on byte (A) not equal to imm8
Branch on word (A) not equal to imm16
Branch on byte (ear) not equal to imm8
Branch on byte (eam) not equal to imm8
Branch on word (ear) not equal to imm16
Branch on word (eam) not equal to imm16
LH
-
AH
-
I
-
S T N
- - *
- - *
- - *
- - *
- - *
- - *
Z
*
*
*
*
*
*
V
*
*
*
*
*
*
C RMW
*
*
*
*
*
*
-
DBNZ
ear, rel
3
5
0
byte (ear) ← (ear) - 1, Branch on (ear) not equal to 0
-
-
-
-
-
*
*
*
-
-
DBNZ
eam, rel
3+
6
0
byte (eam) ← (eam) - 1, Branch on (eam) not equal to 0
-
-
-
-
-
*
*
*
-
*
DWBNZ
ear, rel
3
5
0
word (ear) ← (ear) - 1, Branch on (ear) not equal to 0
-
-
-
-
-
*
*
*
-
-
DWBNZ
eam, rel
3+
6
2
-
-
-
-
-
*
*
*
-
*
INT
INT
INTP
INT9
INTE
#vct8
addr16
addr24
2
3
4
1
1
11
8
8
11
12
6
6
6
6
6
word (eam) ← (eam) - 1, Branch on (eam) not equal to 0
Software interrupt
Software interrupt
Software interrupt
Software interrupt
Software interrupt for break point (reserved for emulator)
-
-
R
R
R
R
R
S
S
S
S
S
-
-
-
-
-
-
1
1
Return from interrupt
-
-
*
*
*
*
*
*
*
-
2
22 / 6*1
2
1
word (SP) ← (SP) - 2, ((SP)) ← (RW3),
word (RW3) ← (SP), (SP) ← (SP) - imm8
-
-
-
-
-
-
-
-
-
-
UNLINK
1
1
1
word (SP) ← (RW3), (RW3) ← ((SP)),
word (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
RET
1
4
1
word (PC) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
RETP
1
5
1
word (PC) ← ((SP)), (SP) ← (SP) + 2,
byte (PCB) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
RETI
LINK
#imm8
*1 : RP が変化しない場合は 6, それ以外は 22
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
351
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-13 その他の制御命令 ( バイト , ワード , ロングワード ) :28 命令
ニーモニック
PUSHW
A
#
1
∼
1
B
1
オペレーション
word (SP) ← (SP) - 2, ((SP)) ← (A)
LH AH I
- - -
S
-
T
-
N
-
Z
-
V
-
C RMW
-
PUSHW
AH
1
1
1
word (SP) ← (SP) - 2, ((SP)) ← (AH)
-
-
PUSHW
PS
1
1
1
word (SP) ← (SP) - 2, ((SP)) ← (PS)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
PUSHW
rlst
2
N*a
multi word (SP) ← (SP) - 2n, ((SP)) ← (rlst)
-
-
-
-
-
-
-
-
-
-
-
-
POPW
A
1
N*1
1
1
word (A) ← ((SP)), (SP) ← (SP) + 2
-
*
-
-
-
-
-
-
-
POPW
AH
1
1
1
word (AH) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
POPW
PS
1
18 / 4*2
1
word (PS) ← ((SP)), (SP) ← (SP) + 2
-
-
*
*
*
*
*
*
*
-
POPW
rlst
2
N*1
N*a
multi word (rlst) ← ((SP)), (SP) ← (SP) + 2n
-
-
-
-
-
-
-
-
-
-
1
Context switch
-
-
*
*
*
*
*
*
*
-
0
byte (CCR) ← (CCR) and imm8
-
-
*
*
*
*
*
*
*
-
0
byte (CCR) ← (CCR) or imm8
-
-
*
*
*
*
*
*
*
-
0
byte (RP) ← imm8
-
-
-
-
-
-
-
-
-
-
2
19 / 4*2
1
0
byte (ILM) ← imm8
-
-
-
-
-
-
-
-
-
-
RWi, ear
2
1
0
word (RWi) ← ear
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi, eam
2+
1
0
word (RWi) ← eam
-
-
-
-
-
-
-
-
-
-
MOVEA
A, ear
2
1
0
word (A) ← ear
-
*
-
-
-
-
-
-
-
-
MOVEA
A, eam
2+
1
0
word (A) ← eam
-
*
-
-
-
-
-
-
-
-
ADDSP
#imm8
2
1
0
word (SP) ← (SP) + ext(imm8)
-
-
-
-
-
-
-
-
-
-
ADDSP
#imm16
3
1
0
word (SP) ← (SP) + imm16
-
-
-
-
-
-
-
-
-
-
MOV
A, brg1
2
1
0
byte (A) ← (brg1)
Z
*
-
-
-
*
*
-
-
-
MOV
NOP
ADB
DTB
PCB
SPB
NCC
CMR
brg2, A
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
byte (brg2) ← (A)
No operation
Prefix code for AD space access
Prefix code for DT space access
Prefix code for PC space access
Prefix code for SP space access
Prefix code for flags no change
Prefix code for common register bank
-
-
-
-
-
*
-
*
-
-
-
-
JCTX
@A
1
AND
CCR, #imm8
2
OR
CCR, #imm8
2
1
MOV
RP, #imm8
2
MOV
ILM, #imm8
MOVEA
22 / 6
1
*3
*1 : N は保存 / 復帰するレジスタの数による。最小は 1
*2 : RP が変化しない場合は 4, それ以外は 18
*3 : RP が変化しない場合は 6, それ以外は 22
*a : N は保存するレジスタの数による
352
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-14 ビット操作命令:21 命令
ニーモニック
MOVB
A, dir:bp
#
3
∼
1
B
0
オペレーション
byte (A) ← (dir:bp) b
LH AH I
Z * -
S T N Z
- - * *
V C RMW
- -
MOVB
A, addr16:bp
4
1
0
byte (A) ← (addr16:bp) b
Z
*
MOVB
A, io:bp
3
1
0
byte (A) ← (io:bp) b
Z
*
-
-
-
*
*
-
-
-
-
-
*
*
-
-
MOVB
dir:bp, A
3
3
0
bit (dir:bp) b ← (A)
-
-
-
-
-
-
*
*
-
-
*
MOVB
addr16:bp, A
4
3
0
bit (addr16:bp) b ← (A)
MOVB
io:bp, A
3
3
0
bit (io:bp) b ← (A)
-
-
-
-
-
*
*
-
-
*
-
-
-
-
-
*
*
-
-
SETB
dir:bp
3
3
0
*
bit (dir:bp) b ← 1
-
-
-
-
-
-
-
-
-
SETB
addr16:bp
4
3
*
0
bit (addr16:bp) b ← 1
-
-
-
-
-
-
-
-
-
SETB
io:bp
3
*
3
0
bit (io:bp) b ← 1
-
-
-
-
-
-
-
-
-
CLRB
dir:bp
*
3
3
0
bit (dir:bp) b ← 0
-
-
-
-
-
-
-
-
-
CLRB
*
addr16:bp
4
3
0
bit (addr16:bp) b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
BBC
BBC
BBC
BBS
BBS
BBS
SBBS
io:bp
dir:bp, rel
addr16:bp, rel
io:bp, rel
dir:bp, rel
addr16:bp, rel
io:bp, rel
addr16:bp, rel
3
4
5
4
4
5
4
5
3
5
5
5
5
5
5
5
0
0
0
0
0
0
0
0
bit (io:bp) b ← 0
Branch on (dir:bp) b = 0
Branch on (addr16:bp) b = 0
Branch on (io:bp) b = 0
Branch on (dir:bp) b = 1
Branch on (addr16:bp) b = 1
Branch on (io:bp) b = 1
Branch on (addr16:bp) b = 1, bit (addr16:bp) b ← 1
-
-
-
-
-
-
*
*
*
*
*
*
*
-
-
*
*
WBTS
io:bp
3
undefined*1
0
Wait until (io:bp) b = 1
-
-
-
-
-
-
-
-
-
-
WBTC
io:bp
3
undefined*2
0
Wait until (io:bp) b = 0
-
-
-
-
-
-
-
-
-
-
-
*1 : ビットが既にセットされていれば 4, それ以外は不定
*2 : ビットが既にクリアされていれば 4, それ以外は不定
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
353
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-15 アキュムレータ操作命令 ( バイト , ワード ) :6 命令
ニーモニック
SWAP
#
1
∼
1
B
0
オペレーション
byte (A) 0-7 ←→ (A) 8-15
LH AH
-
word (AH) ←→ (AL)
Byte sign extension
Word sign extension
Byte zero extension
Word zero extension
-
*
-
-
-
-
-
-
-
-
X
Z
-
X
Z
-
-
-
*
*
R
R
*
*
*
*
-
-
-
SWAPW
1
1
0
EXT
EXTW
ZEXT
ZEXTW
1
1
1
1
1
1
1
1
0
0
0
0
354
FUJITSU MICROELECTRONICS LIMITED
I
-
S
-
T
-
N
-
Z
-
V
-
C
-
RMW
-
CM44-00203-3
付録
付録 B 命令一覧表 (351 命令 )
F2MC-16FX ファミリ
表 B-16 ストリング命令:10 命令
#
∼
B
S
T
N
Z
V C
MOVS/MOVSI
brg3, brg3
2
RW0*2
1
byte transfer @AH+ ← @AL+, (RW0) times
-
-
-
-
-
-
-
-
-
MOVSD
brg3, brg3
2
2*RW0
0
byte transfer @AH- ← @AL-, (RW0) times
-
-
-
-
-
-
-
-
-
-
SCEQ/SCEQI
brg3
2
2+2*N*3
0
byte search @AH+ = AL, (RW0) times or till match
-
-
-
-
-
*
*
*
*
-
ニーモニック
オペレーション
LH AH I
RMW
-
SCEQD
brg3
2
2+2*N*3
0
byte search @AH- = AL, (RW0) times or till match
-
-
-
-
-
*
*
*
*
-
FILS/FILSI
brg3
2
RW0/2*4
1
byte fill @AH+ ← AL, (RW0) times
-
-
-
-
-
*
*
-
-
-
MOVSW/MOVSWI brg3, brg3
2
2*RW0
1
word transfer @AH+ ← @AL+, (RW0) times
-
-
-
-
-
-
-
-
-
MOVSWD
brg3, brg3
2
2*RW0
(1+1)*RW0*a
word transfer @AH- ← @AL-, (RW0) times
-
-
-
-
-
-
-
-
-
-
SCWEQ/SCWEQI
brg3
2
2+2*N*3
N*b
word search @AH+ = AL, (RW0) times or till match
-
-
-
-
-
*
*
*
*
-
SCWEQD
brg3
2
2+2*N*3
N*b
word search @AH- = AL, (RW0) times or till match
-
-
-
-
-
*
*
*
*
-
FILSW/FILSWI
brg3
2
RW0
1
word fill @AH+ ← AL, (RW0) times
-
-
-
-
-
*
*
-
-
-
*1 : RW0=0 であれば , 全文字列操作には 1 サイクルが必要
*2 : 範囲が重複していれば 2*RW0, 最適化は行えない
*3 : RW0=0 であれば 1, RW0=1 であれば 3, N は一致するまで比較された項目の数
*4 : バイト数が奇数の場合 , サイクル数は端数切り上げ
*a : src と dest アドレスの両方が奇数であれば , 補正は 2*RW0。src または dest のみが奇数であれば , 1*RW0
*b : N は一致するまで比較された項目の数
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
355
付録
付録 C 命令マップ
付録 C
F2MC-16FX ファミリ
命令マップ
ここでは , F2MC-16FX CPU の 命令マップの一覧を記載します。
C.1 命令マップの構造
C.2 基本ページマップ
C.3 ビット操作系命令マップ
C.4 文字列操作系命令マップ
C.5 2 バイト系統マップ
C.6 ea 系命令
C.7 MOVEA RWi,ea 命令
C.8 MOV Ri,ea 命令
C.9 MOVW RWi,ea 命令
C.10 MOV ea,Ri 命令
C.11 MOVW ea,RWi 命令
C.12 XCH Ri,ea 命令
C.13 XCHW RWi,ea 命令
356
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
付録
付録 C 命令マップ
F2MC-16FX ファミリ
C.1
命令マップの構造
F2MC-16FX CPU の命令コードは 1 ∼ 2 バイトで構成されています。命令マップも
1 ∼ 2 バイト用の複数ページで構成されています。
■ 命令マップの構造
図 C.1-1 に , 命令マップの構造を示します。
図 C.1-1 F2MC-16FX CPU 命令マップの構造
:第 1 バイト
基本ページマップ
ビット操作系命令
文字列操作系命令
2 バイト系命令
ea 系命令× 9
:第 2 バイト
命令コードが 1 バイト命令 (NOP 命令など ) の場合は , 基本ページに命令コードが記述
されています。命令コードが 2 バイト命令 (MOVS 命令など ) の場合は , 基本ページ
マップを参照して, 次に参照する命令コードの第2 バイト目が記述されているマップの
名称を調べてください。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
357
付録
付録 C 命令マップ
F2MC-16FX ファミリ
図 C.1-2 に , 実際の命令コードと命令マップの対応を示します。
図 C.1-2 実際の命令とマップの対応図
命令によっては,
ない場合もある
命令によって
長さが異なる
命令コード 第 1 バイト
第 2 バイト
オペランド
オペランド
・・・
[ 基本ページマップ ]
XY
+Z
[ 拡張ページマップ ]*
UV
+W
*:拡張ページマップとはビット操作系命令・文字列操作系命令・2 バイト系命令・ea 系命令
の総称で , 実際は各系列の命令ごとに複数存在します。
358
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
F2MC-16FX ファミリ
C.2
付録
付録 C 命令マップ
基本ページマップ
表 C.2-1 に , 基本ページマップの一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
359
360
JCTX
@A
NEG
LINK
SPB
ADB
DTB
PCB
FUJITSU MICROELECTRONICS LIMITED
SWAPW
ADDSP
#imm16
ASRW
+E A
LSRW
+F A
+D
EXTW
LSLW
+C A
ZEXTW
CMPL
A,
#imm32
NEGW
+B A
INTE
MOV
ILM,
#imm8
MULUW
A
XORW
A
ORW
A
ANDW
A
CMPW
A
CBNE
A,
#imm8, rel
SUBW
A
ADDW
A
ADDL
A,
#imm32
SUBL
A,
#imm32
MULU
A
DIVU
A
OR
CCR,
#imm8
AND
CCR,
#imm8
CMP
A
ADDC
A
SUB
A,
dir
ADD
A,
dir
20
ADDSP
#imm8
SWAP
ZEXT
MOV
+A RP,
#imm8
+9
UNLINK
+8 #imm8
+7
+6
+5
+4
+3 A
EXT
SUBDC
A
NCC
CMR
10
ADDDC
INT9
NOP
+2 A
+1
+0
00
MOVW
dir,
A
MOVW
A,
dir
MOVW
SP,
A
MOVW
A,
SP
MOVX
A,
dir
MOV
dir,
#imm8
MOVX
A,
#imm8
MOV
A,
#imm8
MOV
dir,
A
MOV
A,
dir
40
NOTW
A
XORW
A,
#imm16
ORW
A,
#imm16
ANDW
A,
#imm16
CMPW
A,
#imm16
PUSHW
rlst
PUSHW
PS
PUSHW
AH
PUSHW
A
MOVL
A,
#imm32
CWBNE
MOVW
A,
A,
#imm16, rel #imm16
SUBW
A,
#imm16
ADDW
A,
#imm16
NOT
A
XOR
A,
#imm8
OR
A,
#imm8
AND
A,
#imm8
CMP
A,
#imm8
SUBC
A
SUB
A,
#imm8
ADD
A,
#imm8
30
POPW
rlst
POPW
PS
POPW
AH
POPW
A
MOVW
addr16,
A
MOVW
A,
addr16
MOVW
io,
A
MOVW
A,
io
MOVX
A,
addr16
MOVW
io,
#imm16
MOVX
A,
io
MOV
io,
#imm8
MOV
addr16,
A
MOV
A,
addr16
MOV
io,
A
MOV
A,
io
50
ea
MOVW
RW2,
A
MOVW
RW3,
A
MOVW
RW4,
A
MOVW
RW5,
A
MOVW
RW6,
A
MOVW
RW7,
A
MOVW
A,
RW2
MOVW
A,
RW3
MOVW
A,
RW4
MOVW
A,
RW5
MOVW
A,
RW6
MOVW
A,
RW7
instruction
instruction
instruction
XCHW RWi, ea
instruction
instruction
2-byte
instruction
XCH Ri, ea
String operation
instruction
MOVW ea, RWi
MOV ea, Ri
instruction
MOVW RWi, ea
instruction
MOV Ri, ea
instruction
A,
RW1
MOVW
RW1,
A
MOVEA RWi, ea MOVW
MOV
R7,
A
MOV
R6,
A
MOV
R5,
A
MOV
R4,
A
MOV
R3,
A
MOV
R2,
A
MOV
R1,
A
MOV
R0,
A
90
MOVW
RW0,
A
MOV
A,
R7
MOV
A,
R6
MOV
A,
R5
MOV
A,
R4
MOV
A,
R3
MOV
A,
R2
MOV
A,
R1
MOV
A,
R0
80
MOVW
A,
RW0
instruction 9
ea
instruction 8
ea
instruction 7
ea
instruction 6
ea
instruction 5
ea
instruction 4
ea
instruction 3
ea
instruction 2
ea
instruction 1
70
Bit operation
RETI
INTP
addr24
INT
addr16
INT
#vct8
RET
RETP
CALLP
addr24
CALL
addr16
JMPP
addr24
JMP
addr16
JMP
@A
BRA
rel
60
MOVW
RW7,
#imm16
MOVW
RW6,
#imm16
MOVW
RW5,
#imm16
MOVW
RW4,
#imm16
MOVW
RW3,
#imm16
MOVW
RW2,
#imm16
MOVW
RW1,
#imm16
MOVW
RW0,
#imm16
MOV
R7,
#imm8
MOV
R6,
#imm8
MOV
R5,
#imm8
MOV
R4,
#imm8
MOV
R3,
#imm8
MOV
R2,
#imm8
MOV
R1,
#imm8
MOV
R0,
#imm8
A0
MOVN
A
@RW7+disp8
#imm4
@RW7+disp8, A,
MOVW
A,
MOVN
#imm4
A
@RW6+disp8
MOVW
@RW6+disp8, A,
MOVW
A,
MOVN
#imm4
A
@RW5+disp8
MOVW
@RW5+disp8, A,
MOVN
#imm4
MOVW
A,
MOVW
@RW4+disp8 A
@RW4+disp8, A,
MOVN
#imm4
A
@RW3+disp8
MOVW
@RW3+disp8, A,
MOVW
A,
MOVN
#imm4
A
@RW2+disp8
MOVW
@RW2+disp8, A,
MOVN
#imm4
MOVW
A,
MOVW
A
@RW1+disp8
MOVN
@RW1+disp8, A,
MOVW
#imm4
@RW0+disp8, A,
MOVW
MOVN
A,
@RW7+disp8 #imm4
MOVX
A
MOVN
A,
@RW6+disp8 #imm4
MOVX
A
MOVN
A,
@RW5+disp8 #imm4
MOVX
A
MOVN
A,
@RW4+disp8 #imm4
MOVX
A
MOVN
A,
@RW3+disp8 #imm4
MOVX
A
MOVN
A,
@RW2+disp8 #imm4
MOVX
A
MOVN
A,
@RW1+disp8 #imm4
MOVX
A
MOVW
A,
MOVW
A,
D0
MOVN
A,
@RW0+disp8 #imm4
C0
MOVX
A
@RW0+disp8 A
MOVW
A,
MOVX
A,
R7
MOVX
A,
R6
MOVX
A,
R5
MOVX
A,
R4
MOVX
A,
R3
MOVX
A,
R2
MOVX
A,
R1
MOVX
A,
R0
B0
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
CALLV
#vct4
E0
BHI
rel
BLS
rel
BGT
rel
BLE
rel
BGE
rel
BLT
rel
BNT
rel
BT
rel
BNV
rel
BV
rel
BP
rel
BN
rel
BNC/BHS
rel
BC/BLO
rel
BNZ/BNE
rel
BZ/BEQ
rel
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.2-1 基本ページマップ
CM44-00203-3
F2MC-16FX ファミリ
C.3
付録
付録 C 命令マップ
ビット操作系命令マップ
表 C.3-1 に , ビット操作系命令マップの一覧を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
361
362
MOVB
ip:bp,
A
MOVB
ip:bp,
A
MOVB
ip:bp,
A
MOVB
MOVB
MOVB
ip:bp,
A
MOVB
ip:bp,
A
MOVB
ip:bp,
A
MOVB
dir:bp,
A
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
A,
addr16:bp
MOVB
MOVB
MOVB
MOVB
MOVB
MOVB
FUJITSU MICROELECTRONICS LIMITED
MOVB
MOVB
MOVB
MOVB
MOVB
dir:bp
+F A,
dir:bp
+E A,
dir:bp
+D A,
dir:bp
+C A,
dir:bp
+B A,
dir:bp
+A A,
dir:bp
+9 A,
dir:bp
+8 A,
io:bp
+7 A,
io:bp
+6 A,
io:bp
+5 A,
io:bp
MOVB
dir:bp,
A
MOVB
dir:bp,
A
MOVB
dir:bp,
A
MOVB
dir:bp,
A
MOVB
dir:bp,
A
MOVB
dir:bp,
A
MOVB
dir:bp,
A
MOVB
ip:bp,
A
+4 A,
MOVB
io:bp
+3 A,
io:bp
+2 A,
io:bp
+1 A,
io:bp
+0 A,
MOVB
20
MOVB
ip:bp,
A
10
MOVB
00
MOVB
addr16:bp
MOVB
addr16:bp
MOVB
addr16:bp
MOVB
addr16:bp
MOVB
addr16:bp
MOVB
addr16:bp
MOVB
addr16:bp
MOVB
addr16:bp
30
CLRB
dir:bp
CLRB
dir:bp
CLRB
dir:bp
CLRB
dir:bp
CLRB
dir:bp
CLRB
dir:bp
CLRB
dir:bp
CLRB
dir:bp
CLRB
io:bp
CLRB
io:bp
CLRB
io:bp
CLRB
io:bp
CLRB
io:bp
CLRB
io:bp
CLRB
io:bp
CLRB
io:bp
40
CLRB
addr16:bp
CLRB
addr16:bp
CLRB
addr16:bp
CLRB
addr16:bp
CLRB
addr16:bp
CLRB
addr16:bp
CLRB
addr16:bp
CLRB
addr16:bp
50
SETB
dir:bp
SETB
dir:bp
SETB
dir:bp
SETB
dir:bp
SETB
dir:bp
SETB
dir:bp
SETB
dir:bp
SETB
dir:bp
SETB
io:bp
SETB
io:bp
SETB
io:bp
SETB
io:bp
SETB
io:bp
SETB
io:bp
SETB
io:bp
SETB
io:bp
60
SETB
addr16:bp
SETB
addr16:bp
SETB
addr16:bp
SETB
addr16:bp
SETB
addr16:bp
SETB
addr16:bp
SETB
addr16:bp
SETB
addr16:bp
70
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
dir:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
BBC
ip:bp,
rel
80
BBS
io:bp,
rel
BBS
io:bp,
rel
BBS
io:bp,
rel
BBS
io:bp,
rel
BBS
io:bp,
rel
BBS
io:bp,
rel
BBS
io:bp,
rel
BBS
io:bp,
rel
A0
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
BBC
BBS
addr16:bp, dir:bp,
rel
rel
90
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
BBS
addr16:bp,
rel
B0
WBTS
io:bp
WBTS
io:bp
WBTS
io:bp
WBTS
io:bp
WBTS
io:bp
WBTS
io:bp
WBTS
io:bp
WBTS
io:bp
C0
D0
WBTC
io:bp
WBTC
io:bp
WBTC
io:bp
WBTC
io:bp
WBTC
io:bp
WBTC
io:bp
WBTC
io:bp
WBTC
io:bp
E0
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
SBBS
addr16:bp,
rel
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.3-1 ビット操作系命令マップ ( 第 1 バイト =6CH)
CM44-00203-3
F2MC-16FX ファミリ
C.4
付録
付録 C 命令マップ
文字列操作系命令マップ
表 C.4-1 に , 文字列操作系命令マップの一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
363
364
MOVSD
PCB,
PCB
MOVSD
PCB,
DTB
MOVSD
PCB,
ADB
MOVSD
PCB,
SPB
MOVSI
MOVSI
MOVSI
MOVSI
MOVSD
DTB,
PCB
MOVSD
DTB,
DTB
MOVSD
DTB,
ADB
MOVSD
DTB,
SPB
MOVSD
ADB,
PCB
MOVSD
ADB,
DTB
MOVSD
ADB,
ADB
MOVSD
ADB,
SPB
MOVSD
SPB,
PCB
MOVSD
SPB,
DTB
MOVSD
SPB,
ADB
MOVSD
SPB,
SPB
MOVSI
MOVSI
MOVSI
MOVSI
MOVSI
MOVSI
FUJITSU MICROELECTRONICS LIMITED
MOVSI
MOVSI
MOVSI
MOVSI
MOVSI
SPB
+F SPB,
ADB
+E SPB,
DTB
+D SPB,
PCB
+C SPB,
SPB
+B ADB,
ADB
+A ADB,
DTB
+9 ADB,
PCB
+8 ADB,
SPB
+7 DTB,
ADB
+6 DTB,
DTB
+5 DTB,
PCB
+4 DTB,
MOVSI
SPB
+3 PCB,
ADB
+2 PCB,
DTB
+1 PCB,
PCB
+0 PCB,
10
00
MOVSWI
SPB,
SPB
MOVSWI
SPB,
ADB
MOVSWI
SPB,
DTB
MOVSWI
SPB,
PCB
MOVSWI
ADB,
SPB
MOVSWI
ADB,
ADB
MOVSWI
ADB,
DTB
MOVSWI
ADB,
PCB
MOVSWI
DTB,
SPB
MOVSWI
DTB,
ADB
MOVSWI
DTB,
DTB
MOVSWI
DTB,
PCB
MOVSWI
PCB,
SPB
MOVSWI
PCB,
ADB
MOVSWI
PCB,
DTB
MOVSWI
PCB,
PCB
20
MOVSWD
SPB,
SPB
MOVSWD
SPB,
ADB
MOVSWD
SPB,
DTB
MOVSWD
SPB,
PCB
MOVSWD
ADB,
SPB
MOVSWD
ADB,
ADB
MOVSWD
ADB,
DTB
MOVSWD
ADB,
PCB
MOVSWD
DTB,
SPB
MOVSWD
DTB,
ADB
MOVSWD
DTB,
DTB
MOVSWD
DTB,
PCB
MOVSWD
PCB,
SPB
MOVSWD
PCB,
ADB
MOVSWD
PCB,
DTB
MOVSWD
PCB,
PCB
30
40
50
60
70
SCEQI
SPB
SCEQI
ADB
SCEQI
DTB
SCEQI
PCB
80
SCEQD
SPB
SCEQD
ADB
SCEQD
DTB
SCEQD
PCB
90
SCWEQI
SPB
SCWEQI
ADB
SCWEQI
DTB
SCWEQI
PCB
A0
SCWEQD
SPB
SCWEQD
ADB
SCWEQD
DTB
SCWEQD
PCB
B0
FILSI
SPB
FILSI
ADB
FILSI
DTB
FILSI
PCB
C0
D0
FILSWI
SPB
FILSWI
ADB
FILSWI
DTB
FILSWI
PCB
E0
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.4-1 文字列操作系命令マップ ( 第 1 バイト =6EH)
CM44-00203-3
F2MC-16FX ファミリ
C.5
付録
付録 C 命令マップ
2 バイト系統マップ
表 C.5-1 に , 2 バイト系統マップの一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
365
366
MOV
ADB,
A
MOV
SSB,
A
MOV
USB,
A
MOV
MOV
MOV
MOV
DPR,
A
MOV
@AL,
AH
MOVX
A,
@A
RORC
A
MOV
MOV
ROLC
FUJITSU MICROELECTRONICS LIMITED
LSLL
A,
R0
MOVW
@AL,
AH
ASRL
A,
R0
LSRL
A,
R0
LSLW
MOVW
ASRW
LSRW
R0
+F A,
R0
+E A,
@A
+D A,
R0
+C A,
+B
+A
+9
+8
+7 A
PCB
+6 A,
@A
+5 A,
DPR
+4 A,
MOV
USB
+3 A,
SSB
+2 A,
ADB
+1 A,
DTB
+0 A,
MOV
DTB,
A
10
MOV
00
MOV
30
MOV
40
MOV
MOV
MOV
MOV
MOV
MOV
LSR
A,
R0
ASR
A,
R0
NRML
A,
R0
LSL
A,
R0
MOVW
MOVW
MOVW
MOVW
@RL3+disp8, A,
@RL3+disp8
A
MOVW
@RL2+disp8, A,
@RL2+disp8
A
MOVW
@RL1+disp8, A,
@RL1+disp8
A
MOVW
@RL0+disp8, A,
@RL0+disp8
A
MOVW
@RL3+disp8, A,
@RL3+disp8 A
@RL3+disp8
MOVX
A,
@RL2+disp8, A,
@RL2+disp8 A
@RL2+disp8
MOVX
A,
@RL1+disp8, A,
@RL1+disp8 A
@RL1+disp8
MOVX
A,
@RL0+disp8, A,
@RL0+disp8 A
@RL0+disp8
MOVX
A,
20
50
60
DIV
A
MULW
A
MUL
A
70
80
90
A0
B0
C0
D0
E0
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.5-1 2 バイト系命令マップ ( 第 1 バイト =6FH)
CM44-00203-3
F2MC-16FX ファミリ
C.6
付録
付録 C 命令マップ
ea 系命令
ea 系命令 ( 第 1 バイト =70H ∼第 1 バイト =78H) を次の 9 つに分けて示します。
• ea 系命令その 1 ( 第 1 バイト =70H)( 表 C.6-1 参照 )
• ea 系命令その 2 ( 第 1 バイト =71H)( 表 C.6-2 参照 )
• ea 系命令その 3 ( 第 1 バイト =72H)( 表 C.6-3 参照 )
• ea 系命令その 4 ( 第 1 バイト =73H)( 表 C.6-4 参照 )
• ea 系命令その 5 ( 第 1 バイト =74H)( 表 C.6-5 参照 )
• ea 系命令その 6 ( 第 1 バイト =75H)( 表 C.6-6 参照 )
• ea 系命令その 7 ( 第 1 バイト =76H)( 表 C.6-7 参照 )
• ea 系命令その 8 ( 第 1 バイト =77H)( 表 C.6-8 参照 )
• ea 系命令その 9 ( 第 1 バイト =78H)( 表 C.6-9 参照 )
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
367
368
20
SUBL
A,
@RW1+disp8 RL0
ADDL
A,
SUBL
A,
@RW2+disp8 RL1
ADDL
A,
ADDL
+2 A,
RL1
ADDL
+3 A,
RL1
FUJITSU MICROELECTRONICS LIMITED
SUBL
A,
@RW4+disp8 RL2
ADDL
A,
SUBL
A,
@RW5+disp8 RL2
ADDL
A,
SUBL
A,
@RW6+disp8 RL3
ADDL
A,
SUBL
A,
@RW7+disp8 RL3
ADDL
A,
SUBL
A,
@RW0+disp16 @RW0
ADDL
A,
SUBL
A,
@RW1+disp16 @RW1
ADDL
A,
SUBL
A,
@RW2+disp16 @RW2
ADDL
A,
SUBL
A,
@RW3+disp16 @RW3
ADDL
A,
SUBL
A,
@RW0+RW7 @RW0+
ADDL
A,
SUBL
A,
@RW1+RW7 @RW1+
ADDL
A,
SUBL
A,
@PC+disp16 @RW2+
ADDL
A,
addr16
ADDL
+5 A,
RL2
ADDL
+6 A,
RL3
ADDL
+7 A,
RL3
ADDL
+8 A,
@RW0
ADDL
+9 A,
@RW1
ADDL
+A A,
@RW2
ADDL
+B A,
@RW3
ADDL
+C A,
@RW0+
ADDL
+D A,
@RW1+
ADDL
+E A,
@RW2+
ADDL
+F A,
@RW3+
SUBL
A,
@RW3+
ADDL
A,
ADDL
+4 A,
RL2
SUBL
A,
@RW3+disp8 RL1
ADDL
A,
SUBL
A,
@RW0+disp8 RL0
ADDL
A,
10
ADDL
+1 A,
RL0
RL0
+0 A,
ADDL
00
CWBNE
RW0,
40
CWBNE
RW1,
CWBNE
RW2,
CWBNE
RW3,
CWBNE
RW4,
CWBNE
RW5,
CWBNE
RW6,
CWBNE
RW7,
CWBNE
@RW0,
CWBNE
@RW1,
CWBNE
@RW2,
CWBNE
@RW3,
CWBNE
@RW0+,
CWBNE
@RW1+,
CWBNE
@RW2+,
SUBL
A,
addr16
CWBNE
addr16,
#imm16, rel
#imm16, rel
CMPL
A,
@RW3+
CMPL
@PC+disp16, A,
#imm16, rel
@RW2+
CWBNE
CMPL
@RW1+RW7, A,
#imm16, rel
@RW1+
CWBNE
CMPL
@RW0+RW7, A,
#imm16, rel
@RW0+
CWBNE
CMPL
@RW3+disp16, A,
#imm16, rel
@RW3
CWBNE
CMPL
@RW2+disp16, A,
#imm16, rel
@RW2
CWBNE
CMPL
@RW1+disp16, A,
#imm16, rel
@RW1
CWBNE
CMPL
@RW0+disp16, A,
#imm16, rel
@RW0
CWBNE
CMPL
@RW7+disp8, A,
#imm16, rel
RL3
CWBNE
CMPL
@RW6+disp8, A,
#imm16, rel
RL3
CWBNE
CMPL
@RW5+disp8, A,
#imm16, rel
RL2
CWBNE
CMPL
@RW4+disp8, A,
#imm16, rel
RL2
CWBNE
CMPL
@RW3+disp8, A,
#imm16, rel
RL1
CWBNE
CMPL
@RW2+disp8, A,
#imm16, rel
RL1
CWBNE
CMPL
@RW1+disp8, A,
#imm16, rel
RL0
CWBNE
60
CMPL
@RW0+disp8, A,
#imm16, rel
RL0
CWBNE
50
CWBNE
@RW3+,
@PC+disp16 #imm16, rel
SUBL
A,
@RW1+RW7 #imm16, rel
SUBL
A,
@RW0+RW7 #imm16, rel
SUBL
A,
@RW3+disp16 #imm16, rel
SUBL
A,
@RW2+disp16 #imm16, rel
SUBL
A,
@RW1+disp16 #imm16, rel
SUBL
A,
@RW0+disp16 #imm16, rel
SUBL
A,
@RW7+disp8 #imm16, rel
SUBL
A,
@RW6+disp8 #imm16, rel
SUBL
A,
@RW5+disp8 #imm16, rel
SUBL
A,
@RW4+disp8 #imm16, rel
SUBL
A,
@RW3+disp8 #imm16, rel
SUBL
A,
@RW2+disp8 #imm16, rel
SUBL
A,
@RW1+disp8 #imm16, rel
SUBL
A,
@RW0+disp8 #imm16, rel
SUBL
A,
30
80
CMPL
A,
addr16
ANDL
A,
@RW3+
ANDL
A,
@PC+disp16 @RW2+
CMPL
A,
ANDL
A,
@RW1+RW7 @RW1+
CMPL
A,
ANDL
A,
@RW0+RW7 @RW0+
CMPL
A,
ANDL
A,
@RW3+disp16 @RW3
CMPL
A,
ANDL
A,
@RW2+disp16 @RW2
CMPL
A,
ANDL
A,
@RW1+disp16 @RW1
CMPL
A,
ANDL
A,
@RW0+disp16 @RW0
CMPL
A,
ANDL
A,
@RW7+disp8 RL3
CMPL
A,
ANDL
A,
@RW6+disp8 RL3
CMPL
A,
ANDL
A,
@RW5+disp8 RL2
CMPL
A,
ANDL
A,
@RW4+disp8 RL2
CMPL
A,
ANDL
A,
@RW3+disp8 RL1
CMPL
A,
ANDL
A,
@RW2+disp8 RL1
CMPL
A,
ANDL
A,
@RW1+disp8 RL0
CMPL
A,
ANDL
A,
@RW0+disp8 RL0
CMPL
A,
70
A0
ANDL
A,
addr16
ORL
A,
@RW3+
ORL
A,
@PC+disp16 @RW2+
ANDL
A,
ORL
A,
@RW1+RW7 @RW1+
ANDL
A,
ORL
A,
@RW0+RW7 @RW0+
ANDL
A,
ORL
A,
@RW3+disp16 @RW3
ANDL
A,
ORL
A,
@RW2+disp16 @RW2
ANDL
A,
ORL
A,
@RW1+disp16 @RW1
ANDL
A,
ORL
A,
@RW0+disp16 @RW0
ANDL
A,
ORL
A,
@RW7+disp8 RL3
ANDL
A,
ORL
A,
@RW6+disp8 RL3
ANDL
A,
ORL
A,
@RW5+disp8 RL2
ANDL
A,
ORL
A,
@RW4+disp8 RL2
ANDL
A,
ORL
A,
@RW3+disp8 RL1
ANDL
A,
ORL
A,
@RW2+disp8 RL1
ANDL
A,
ORL
A,
@RW1+disp8 RL0
ANDL
A,
ORL
A,
@RW0+disp8 RL0
ANDL
A,
90
C0
ORL
A,
addr16
XORL
A,
@RW3+
XORL
A,
@PC+disp16 @RW2+
ORL
A,
XORL
A,
@RW1+RW7 @RW1+
ORL
A,
XORL
A,
@RW0+RW7 @RW0+
ORL
A,
XORL
A,
@RW3+disp16 @RW3
ORL
A,
XORL
A,
@RW2+disp16 @RW2
ORL
A,
XORL
A,
@RW1+disp16 @RW1
ORL
A,
XORL
A,
@RW0+disp16 @RW0
ORL
A,
XORL
A,
@RW7+disp8 RL3
ORL
A,
XORL
A,
@RW6+disp8 RL3
ORL
A,
XORL
A,
@RW5+disp8 RL2
ORL
A,
XORL
A,
@RW4+disp8 RL2
ORL
A,
XORL
A,
@RW3+disp8 RL1
ORL
A,
XORL
A,
@RW2+disp8 RL1
ORL
A,
XORL
A,
@RW1+disp8 RL0
ORL
A,
XORL
A,
@RW0+disp8 RL0
ORL
A,
B0
E0
XORL
A,
addr16
CBNE
@RW3+,
#imm8, rel
CBNE
@RW2+,
@PC+disp16 #imm8, rel
XORL
A,
CBNE
@RW1+,
@RW1+RW7 #imm8, rel
XORL
A,
CBNE
@RW0+,
@RW0+RW7 #imm8, rel
XORL
A,
CBNE
@RW3,
@RW3+disp16 #imm8, rel
XORL
A,
CBNE
@RW2,
@RW2+disp16 #imm8, rel
XORL
A,
CBNE
@RW1,
@RW1+disp16 #imm8, rel
XORL
A,
CBNE
@RW0,
@RW0+disp16 #imm8, rel
XORL
A,
CBNE
R7,
@RW7+disp8 #imm8, rel
XORL
A,
CBNE
R6,
@RW6+disp8 #imm8, rel
XORL
A,
CBNE
R5,
@RW5+disp8 #imm8, rel
XORL
A,
CBNE
R4,
@RW4+disp8 #imm8, rel
XORL
A,
CBNE
R3,
@RW3+disp8 #imm8, rel
XORL
A,
CBNE
R2,
@RW2+disp8 #imm8, rel
XORL
A,
CBNE
R1,
@RW1+disp8 #imm8, rel
XORL
A,
CBNE
R0,
@RW0+disp8 #imm8, rel
XORL
A,
D0
CBNE
addr16,
#imm8, rel
#imm8, rel
@PC+disp16,
CBNE
#imm8, rel
@RW1+RW7,
CBNE
#imm8, rel
@RW0+RW7,
CBNE
#imm8, rel
@RW3+disp16,
CBNE
#imm8, rel
@RW2+disp16,
CBNE
#imm8, rel
@RW1+disp16,
CBNE
#imm8, rel
@RW0+disp16,
CBNE
#imm8, rel
@RW7+disp8,
CBNE
#imm8, rel
@RW6+disp8,
CBNE
#imm8, rel
@RW5+disp8,
CBNE
#imm8, rel
@RW4+disp8,
CBNE
#imm8, rel
@RW3+disp8,
CBNE
#imm8, rel
@RW2+disp8,
CBNE
#imm8, rel
@RW1+disp8,
CBNE
#imm8, rel
@RW0+disp8,
CBNE
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.6-1 ea 系命令 その 1 ( 第 1 バイト =70H)
CM44-00203-3
CM44-00203-3
CALLP
@@RW1+disp8 @RL0
JMPP
CALLP
@@RW2+disp8 @RL1
JMPP
JMPP
+2 @RL1
JMPP
+3 @RL1
FUJITSU MICROELECTRONICS LIMITED
CALLP
@@RW4+disp8 @RL2
JMPP
CALLP
@@RW5+disp8 @RL2
JMPP
CALLP
@@RW6+disp8 @RL3
JMPP
CALLP
@@RW7+disp8 @RL3
JMPP
CALLP
@@RW0+disp16 @@RW0
JMPP
CALLP
@@RW1+disp16 @@RW1
JMPP
CALLP
@@RW2+disp16 @@RW2
JMPP
JMPP
+5 @RL2
JMPP
+6 @RL3
JMPP
+7 @RL3
JMPP
+8 @@RW0
JMPP
+9 @@RW1
JMPP
+A @@RW2
JMPP
+B @@RW3
INCL
DECL
@PC+disp16 @RW2+
INCL
addr16
JMPP
JMPP
CALLP
CALLP
INCL
+E @@RW2+ @@PC+disp16 @@RW2+ @@PC+disp16 @RW2+
JMPP
JMPP
+F @@RW3+ @addr16
DECL
@RW3+
DECL
@RW1+RW7 @RW1+
INCL
@RW3+
INCL
JMPP
JMPP
CALLP
CALLP
INCL
+D @@RW1+ @@RW1+RW7 @@RW1+ @@RW1+RW7 @RW1+
CALLP
CALLP
@@RW3+ @addr16
DECL
@RW0+RW7 @RW0+
DECL
@RW3+disp16 @RW3
INCL
DECL
@RW2+disp16 @RW2
INCL
DECL
@RW1+disp16 @RW1
INCL
DECL
@RW0+disp16 @RW0
INCL
DECL
@RW7+disp8 RL3
INCL
DECL
@RW6+disp8 RL3
INCL
DECL
@RW5+disp8 RL2
INCL
DECL
@RW4+disp8 RL2
INCL
DECL
@RW3+disp8 RL1
INCL
DECL
@RW2+disp8 RL1
INCL
DECL
@RW1+disp8 RL0
INCL
60
DECL
@RW0+disp8 RL0
INCL
50
INCL
INCL
@@RW3+disp16 @RW3
CALLP
INCL
@@RW2+disp16 @RW2
CALLP
INCL
@@RW1+disp16 @RW1
CALLP
INCL
@@RW0+disp16 @RW0
CALLP
INCL
@@RW7+disp8 RL3
CALLP
INCL
@@RW6+disp8 RL3
CALLP
INCL
@@RW5+disp8 RL2
CALLP
INCL
@@RW4+disp8 RL2
CALLP
INCL
@@RW3+disp8 RL1
CALLP
INCL
@@RW2+disp8 RL1
CALLP
INCL
@@RW1+disp8 RL0
CALLP
40
INCL
@@RW0+disp8 RL0
CALLP
30
JMPP
JMPP
CALLP
CALLP
INCL
+C @@RW0+ @@RW0+RW7 @@RW0+ @@RW0+RW7 @RW0+
CALLP
@@RW3+disp16 @@RW3
JMPP
JMPP
+4 @RL2
CALLP
@@RW3+disp8 @RL1
JMPP
JMPP
+1 @RL0
CALLP
20
@@RW0+disp8 @RL0
JMPP
10
+0 @RL0
JMPP
00
RL0
DECL
addr16
MOVL
A,
@RW3+
MOVL
@PC+disp16 A,
@RW2+
DECL
MOVL
@RW1+RW7 A,
@RW1+
DECL
MOVL
@RW0+RW7 A,
@RW0+
DECL
MOVL
@RW3+disp16 A,
@RW3
DECL
MOVL
@RW2+disp16 A,
@RW2
DECL
MOVL
@RW1+disp16 A,
@RW1
DECL
MOVL
@RW0+disp16 A,
@RW0
DECL
MOVL
@RW7+disp8 A,
RL3
DECL
MOVL
@RW6+disp8 A,
RL3
DECL
MOVL
@RW5+disp8 A,
RL2
DECL
MOVL
@RW4+disp8 A,
RL2
DECL
MOVL
@RW3+disp8 A,
RL1
DECL
MOVL
@RW2+disp8 A,
RL1
DECL
MOVL
@RW1+disp8 A,
RL0
DECL
80
MOVL
@RW0+disp8 A,
DECL
70
A0
MOVL
A,
addr16
MOVL
@RW3+,
A
MOVL
@RW2+,
@PC+disp16 A
MOVL
A,
MOVL
@RW1+,
@RW1+RW7 A
MOVL
A,
MOVL
@RW0+,
@RW0+RW7 A
MOVL
A,
MOVL
A,
@RW3,
@RW3+disp16 A
MOVL
MOVL
@RW2,
@RW2+disp16 A
MOVL
A,
MOVL
@RW1,
@RW1+disp16 A
MOVL
A,
MOVL
@RW0,
@RW0+disp16 A
MOVL
A,
MOVL
RL3,
@RW7+disp8 A
MOVL
A,
MOVL
RL3,
@RW6+disp8 A
MOVL
A,
MOVL
RL2,
@RW5+disp8 A
MOVL
A,
MOVL
RL2,
@RW4+disp8 A
MOVL
A,
MOVL
RL1,
@RW3+disp8 A
MOVL
A,
MOVL
RL1,
@RW2+disp8 A
MOVL
A,
MOVL
RL0,
@RW1+disp8 A
MOVL
A,
MOVL
RL0,
@RW0+disp8 A
MOVL
A,
90
MOVL
addr16,
A
MOV
@RW3+,
#imm8
MOV
@PC+disp16, @RW2+,
A
#imm8
MOVL
MOV
@RW1+RW7, @RW1+,
A
#imm8
MOVL
MOV
@RW0+RW7, @RW0+,
A
#imm8
MOVL
MOV
@RW3+disp16, @RW3,
A
#imm8
MOVL
MOV
@RW2+disp16, @RW2,
A
#imm8
MOVL
MOV
@RW1+disp16, @RW1,
A
#imm8
MOVL
MOV
@RW0+disp16, @RW0,
A
#imm8
MOVL
MOV
@RW7+disp8, R7,
A
#imm8
MOVL
MOV
@RW6+disp8, R6,
A
#imm8
MOVL
MOV
@RW5+disp8, R5,
A
#imm8
MOVL
MOV
@RW4+disp8, R4,
A
#imm8
MOVL
MOV
@RW3+disp8, R3,
A
#imm8
MOVL
MOV
@RW2+disp8, R2,
A
#imm8
MOVL
A
@RW1+disp8,
MOV
R1,
#imm8
#imm8
RW0
MOV
addr16,
#imm8
MOVEA
A,
@RW3+
MOVEA
@PC+disp16, A,
#imm8
@RW2+
MOV
MOVEA
@RW1+RW7, A,
#imm8
@RW1+
MOV
MOVEA
@RW0+RW7, A,
#imm8
@RW0+
MOV
MOVEA
@RW3+disp16, A,
#imm8
@RW3
MOV
MOVEA
@RW2+disp16, A,
#imm8
@RW2
MOV
MOVEA
@RW1+disp16, A,
#imm8
@RW1
MOV
MOVEA
@RW0+disp16, A,
#imm8
@RW0
MOV
MOVEA
@RW7+disp8, A,
#imm8
RW7
MOV
MOVEA
@RW6+disp8, A,
#imm8
RW6
MOV
MOVEA
@RW5+disp8, A,
#imm8
RW5
MOV
MOVEA
@RW4+disp8, A,
#imm8
RW4
MOV
MOVEA
@RW3+disp8, A,
#imm8
RW3
MOV
MOVEA
@RW2+disp8, A,
#imm8
RW2
MOV
MOVEA
@RW1+disp8, A,
#imm8
RW1
MOV
#imm8
MOVL
E0
MOVEA
A
MOV
D0
@RW0+disp8, A,
MOV
C0
@RW0+disp8, R0,
MOVL
B0
MOVEA
A,
addr16
@PC+disp16
MOVEA
A,
@RW1+RW7
MOVEA
A,
@RW0+RW7
MOVEA
A,
@RW3+disp16
MOVEA
A,
@RW2+disp16
MOVEA
A,
@RW1+disp16
MOVEA
A,
@RW0+disp16
MOVEA
A,
@RW7+disp8
MOVEA
A,
@RW6+disp8
MOVEA
A,
@RW5+disp8
MOVEA
A,
@RW4+disp8
MOVEA
A,
@RW3+disp8
MOVEA
A,
@RW2+disp8
MOVEA
A,
@RW1+disp8
MOVEA
A,
@RW0+disp8
MOVEA
A,
F0
F2MC-16FX ファミリ
付録
付録 C 命令マップ
表 C.6-2 ea 系命令 その 2 ( 第 1 バイト =71H)
369
370
RORC
@RW1+disp8 R1
ROLC
RORC
@RW2+disp8 R2
ROLC
ROLC
+2 R2
ROLC
+3 R3
ROLC
RORC
@RW5+disp8 R5
ROLC
ROLC
+5 R5
ROLC
+6 R6
FUJITSU MICROELECTRONICS LIMITED
RORC
@RW7+disp8 R7
ROLC
RORC
@RW0+disp16 @RW0
ROLC
RORC
@RW1+disp16 @RW1
ROLC
RORC
@RW2+disp16 @RW2
ROLC
RORC
@RW3+disp16 @RW3
ROLC
RORC
@RW0+RW7 @RW0+
ROLC
RORC
@RW1+RW7 @RW1+
ROLC
RORC
@PC+disp16 @RW2+
ROLC
addr16
ROLC
+8 @RW0
ROLC
+9 @RW1
ROLC
+A @RW2
ROLC
+B @RW3
ROLC
+C @RW0+
ROLC
+D @RW1+
ROLC
+E @RW2+
ROLC
+F @RW3+
RORC
@RW3+
ROLC
ROLC
+7 R7
@RW6+disp8
RORC
@RW4+disp8 R4
RORC
R6
ROLC
ROLC
+4 R4
RORC
@RW3+disp8 R3
ROLC
ROLC
+1 R1
RORC
@RW0+disp8 R0
ROLC
ROLC
20
+0 R0
10
00
INC
INC
R6
40
RORC
addr16
INC
@RW3+
INC
@PC+disp16 @RW2+
RORC
INC
@RW1+RW7 @RW1+
RORC
INC
@RW0+RW7 @RW0+
RORC
INC
@RW3+disp16 @RW3
RORC
INC
@RW2+disp16 @RW2
RORC
INC
@RW1+disp16 @RW1
RORC
INC
@RW0+disp16 @RW0
RORC
INC
@RW7+disp8 R7
RORC
@RW6+disp8
RORC
INC
@RW5+disp8 R5
RORC
INC
@RW4+disp8 R4
RORC
INC
@RW3+disp8 R3
RORC
INC
@RW2+disp8 R2
RORC
INC
@RW1+disp8 R1
RORC
@RW0+disp8 R0
RORC
30
INC
addr16
DEC
@RW3+
DEC
@PC+disp16 @RW2+
INC
DEC
@RW1+RW7 @RW1+
INC
DEC
@RW0+RW7 @RW0+
INC
DEC
@RW3+disp16 @RW3
INC
DEC
@RW2+disp16 @RW2
INC
DEC
@RW1+disp16 @RW1
INC
DEC
@RW0+disp16 @RW0
INC
DEC
@RW7+disp8 R7
INC
DEC
@RW6+disp8 R6
INC
DEC
@RW5+disp8 R5
INC
DEC
@RW4+disp8 R4
INC
DEC
@RW3+disp8 R3
INC
DEC
@RW2+disp8 R2
INC
DEC
@RW1+disp8 R1
INC
60
DEC
@RW0+disp8 R0
INC
50
R0
DEC
addr16
MOV
A,
@RW3+
MOV
@PC+disp16 A,
@RW2+
DEC
MOV
@RW1+RW7 A,
@RW1+
DEC
MOV
@RW0+RW7 A,
@RW0+
DEC
MOV
@RW3+disp16 A,
@RW3
DEC
MOV
@RW2+disp16 A,
@RW2
DEC
MOV
@RW1+disp16 A,
@RW1
DEC
MOV
@RW0+disp16 A,
@RW0
DEC
MOV
@RW7+disp8 A,
R7
DEC
MOV
@RW6+disp8 A,
R6
DEC
MOV
@RW5+disp8 A,
R5
DEC
MOV
@RW4+disp8 A,
R4
DEC
MOV
@RW3+disp8 A,
R3
DEC
MOV
@RW2+disp8 A,
R2
DEC
MOV
@RW1+disp8 A,
R1
DEC
80
MOV
@RW0+disp8 A,
DEC
70
A0
MOV
A,
addr16
MOV
@RW3+,
A
MOV
@RW2+,
@PC+disp16 A
MOV
A,
MOV
@RW1+,
@RW1+RW7 A
MOV
A,
MOV
@RW0+,
@RW0+RW7 A
MOV
A,
MOV
@RW3,
@RW3+disp16 A
MOV
A,
MOV
@RW2,
@RW2+disp16 A
MOV
A,
MOV
@RW1,
@RW1+disp16 A
MOV
A,
MOV
@RW0,
@RW0+disp16 A
MOV
A,
MOV
R7,
@RW7+disp8 A
MOV
A,
MOV
R6,
@RW6+disp8 A
MOV
A,
MOV
R5,
@RW5+disp8 A
MOV
A,
MOV
R4,
@RW4+disp8 A
MOV
A,
MOV
R3,
@RW3+disp8 A
MOV
A,
MOV
R2,
@RW2+disp8 A
MOV
A,
MOV
R1,
@RW1+disp8 A
MOV
A,
MOV
R0,
@RW0+disp8 A
MOV
A,
90
MOVX
A,
MOVX
R0
MOV
addr16,
A
MOVX
A,
@RW3+
MOVX
@PC+disp16, A,
A
@RW2+
MOV
MOVX
@RW1+RW7, A,
A
@RW1+
MOV
MOVX
@RW0+RW7, A,
A
@RW0+
MOV
MOVX
@RW3+disp16, A,
A
@RW3
MOV
MOVX
@RW2+disp16, A,
A
@RW2
MOV
MOVX
@RW1+disp16, A,
A
@RW1
MOV
MOVX
@RW0+disp16, A,
A
@RW0
MOV
MOVX
@RW7+disp8, A,
A
R7
MOV
MOVX
@RW6+disp8, A,
A
R6
MOV
MOVX
@RW5+disp8, A,
A
R5
MOV
MOVX
@RW4+disp8, A,
A
R4
MOV
MOVX
@RW3+disp8, A,
A
R3
MOV
MOVX
@RW2+disp8, A,
A
R2
MOV
MOVX
@RW1+disp8, A,
A
R1
MOV
A
E0
MOVX
A,
addr16
XCH
A,
@RW3+
XCH
A,
@PC+disp16 @RW2+
MOVX
A,
XCH
A,
@RW1+RW7 @RW1+
MOVX
A,
XCH
A,
@RW0+RW7 @RW0+
MOVX
A,
XCH
A,
@RW3+disp16 @RW3
MOVX
A,
XCH
A,
@RW2+disp16 @RW2
MOVX
A,
XCH
A,
@RW1+disp16 @RW1
MOVX
A,
XCH
A,
@RW0+disp16 @RW0
MOVX
A,
XCH
A,
@RW7+disp8 R7
MOVX
A,
XCH
A,
@RW6+disp8 R6
MOVX
A,
XCH
A,
@RW5+disp8 R5
MOVX
A,
XCH
A,
@RW4+disp8 R4
MOVX
A,
XCH
A,
@RW3+disp8 R3
MOVX
A,
XCH
A,
@RW2+disp8 R2
MOVX
A,
XCH
A,
@RW1+disp8 R1
MOVX
A,
XCH
A,
@RW0+disp8 R0
D0
C0
@RW0+disp8, A,
MOV
B0
XCH
A,
addr16
@PC+disp16
XCH
A,
@RW1+RW7
XCH
A,
@RW0+RW7
XCH
A,
@RW3+disp16
XCH
A,
@RW2+disp16
XCH
A,
@RW1+disp16
XCH
A,
@RW0+disp16
XCH
A,
@RW7+disp8
XCH
A,
@RW6+disp8
XCH
A,
@RW5+disp8
XCH
A,
@RW4+disp8
XCH
A,
@RW3+disp8
XCH
A,
@RW2+disp8
XCH
A,
@RW1+disp8
XCH
A,
@RW0+disp8
XCH
A,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.6-3 ea 系命令 その 3 ( 第 1 バイト =72H)
CM44-00203-3
CM44-00203-3
CALL
@@RW1+disp8 @RW1
JMP
CALL
@@RW2+disp8 @RW2
JMP
JMP
+2 @RW2
JMP
+3 @RW3
FUJITSU MICROELECTRONICS LIMITED
CALL
@@RW4+disp8 @RW4
JMP
CALL
@@RW5+disp8 @RW5
JMP
CALL
@@RW6+disp8 @RW6
JMP
CALL
@@RW7+disp8 @RW7
JMP
CALL
@@RW0+disp16 @@RW0
JMP
CALL
@@RW1+disp16 @@RW1
JMP
CALL
@@RW2+disp16 @@RW2
JMP
JMP
+5 @RW5
JMP
+6 @RW6
JMP
+7 @RW7
JMP
+8 @@RW0
JMP
+9 @@RW1
JMP
+A @@RW2
JMP
+B @@RW3
INCW
40
DECW
60
INCW
DECW
@PC+disp16 @RW2+
INCW
addr16
JMP
JMP
CALL
CALL
INCW
+E @@RW2+ @@PC+disp16 @@RW2+ @@PC+disp16 @RW2+
JMP
JMP
+F @@RW3+ @addr16
DECW
@RW3+
DECW
@RW1+RW7 @RW1+
INCW
@RW3+
INCW
JMP
JMP
CALL
CALL
INCW
+D @@RW1+ @@RW1+RW7 @@RW1+ @@RW1+RW7 @RW1+
CALL
CALL
@@RW3+ @addr16
DECW
@RW0+RW7 @RW0+
DECW
@RW3+disp16 @RW3
INCW
DECW
@RW2+disp16 @RW2
INCW
DECW
@RW1+disp16 @RW1
INCW
DECW
@RW0+disp16 @RW0
INCW
DECW
@RW7+disp8 RW7
INCW
DECW
@RW6+disp8 RW6
INCW
DECW
@RW5+disp8 RW5
INCW
DECW
@RW4+disp8 RW4
INCW
DECW
@RW3+disp8 RW3
INCW
DECW
@RW2+disp8 RW2
INCW
DECW
@RW1+disp8 RW1
INCW
@RW0+disp8 RW0
INCW
50
INCW
INCW
@@RW3+disp16 @RW3
CALL
INCW
@@RW2+disp16 @RW2
CALL
INCW
@@RW1+disp16 @RW1
CALL
INCW
@@RW0+disp16 @RW0
CALL
INCW
@@RW7+disp8 RW7
CALL
INCW
@@RW6+disp8 RW6
CALL
INCW
@@RW5+disp8 RW5
CALL
INCW
@@RW4+disp8 RW4
CALL
INCW
@@RW3+disp8 RW3
CALL
INCW
@@RW2+disp8 RW2
CALL
INCW
@@RW1+disp8 RW1
CALL
@@RW0+disp8 RW0
CALL
30
JMP
JMP
CALL
CALL
INCW
+C @@RW0+ @@RW0+RW7 @@RW0+ @@RW0+RW7 @RW0+
CALL
@@RW3+disp16 @@RW3
JMP
JMP
+4 @RW4
CALL
@@RW3+disp8 @RW3
JMP
JMP
+1 @RW1
CALL
20
@@RW0+disp8 @RW0
JMP
10
+0 @RW0
JMP
00
RW0
@RW0+
@RW1+
DECW
addr16
@RW3+
MOVW
A,
@RW2+
MOVW
@PC+disp16 A,
DECW
MOVW
@RW1+RW7 A,
DECW
MOVW
@RW0+RW7 A,
DECW
MOVW
@RW3+disp16 A,
@RW3
DECW
MOVW
@RW2+disp16 A,
@RW2
DECW
MOVW
@RW1+disp16 A,
@RW1
DECW
MOVW
@RW0+disp16 A,
@RW0
DECW
MOVW
@RW7+disp8 A,
RW7
DECW
MOVW
@RW6+disp8 A,
RW6
DECW
MOVW
@RW5+disp8 A,
RW5
DECW
MOVW
@RW4+disp8 A,
RW4
DECW
MOVW
@RW3+disp8 A,
RW3
DECW
MOVW
@RW2+disp8 A,
RW2
DECW
MOVW
@RW1+disp8 A,
RW1
DECW
80
MOVW
@RW0+disp8 A,
DECW
70
A0
MOVW
@RW0,
A
MOVW
A,
addr16
MOVW
@RW3+,
A
MOVW
@RW2+,
@PC+disp16 A
MOVW
A,
MOVW
@RW1+,
@RW1+RW7 A
MOVW
A,
MOVW
@RW0+,
@RW0+RW7 A
MOVW
A,
MOVW
@RW3,
@RW3+disp16 A
MOVW
A,
MOVW
@RW2,
@RW2+disp16 A
MOVW
A,
MOVW
@RW1,
@RW1+disp16 A
MOVW
A,
@RW0+disp16
MOVW
A,
MOVW
RW7,
@RW7+disp8 A
MOVW
A,
MOVW
RW6,
@RW6+disp8 A
MOVW
A,
MOVW
RW5,
@RW5+disp8 A
MOVW
A,
MOVW
RW4,
@RW4+disp8 A
MOVW
A,
MOVW
RW3,
@RW3+disp8 A
MOVW
A,
MOVW
RW2,
@RW2+disp8 A
MOVW
A,
MOVW
RW1,
@RW1+disp8 A
MOVW
A,
MOVW
RW0,
@RW0+disp8 A
MOVW
A,
90
MOVW
RW5,
#imm16
MOVW
RW4,
#imm16
MOVW
RW3,
#imm16
MOVW
RW2,
#imm16
MOVW
RW1,
#imm16
MOVW
MOVW
RW0,
#imm16
MOVW
addr16,
A
MOVW
@RW3+,
#imm16
MOVW
@PC+disp16, @RW2+,
A
#imm16
MOVW
MOVW
@RW1+RW7, @RW1+,
A
#imm16
MOVW
MOVW
@RW0+RW7, @RW0+,
A
#imm16
MOVW
MOVW
@RW3+disp16, @RW3,
A
#imm16
MOVW
MOVW
@RW2+disp16, @RW2,
A
#imm16
MOVW
MOVW
@RW1+disp16, @RW1,
A
#imm16
MOVW
MOVW
@RW0+disp16, @RW0,
A
#imm16
MOVW
MOVW
@RW7+disp8, RW7,
A
#imm16
MOVW
XCHW
A,
RW5
XCHW
A,
RW4
XCHW
A,
RW3
XCHW
A,
RW2
XCHW
A,
RW1
XCHW
A,
RW0
E0
MOVW
addr16,
#imm16
XCHW
A,
@RW3+
XCHW
@PC+disp16, A,
#imm16
@RW2+
MOVW
XCHW
@RW1+RW7, A,
#imm16
@RW1+
MOVW
XCHW
@RW0+RW7, A,
#imm16
@RW0+
MOVW
XCHW
@RW3+disp16, A,
#imm16
@RW3
MOVW
XCHW
@RW2+disp16, A,
#imm16
@RW2
MOVW
XCHW
@RW1+disp16, A,
#imm16
@RW1
MOVW
XCHW
@RW0+disp16, A,
#imm16
@RW0
MOVW
XCHW
@RW7+disp8, A,
#imm16
RW7
MOVW
XCHW
@RW6+disp8, A,
#imm16
RW6
MOVW
#imm16
@RW5+disp8,
MOVW
#imm16
@RW4+disp8,
MOVW
#imm16
@RW3+disp8,
MOVW
#imm16
@RW2+disp8,
MOVW
#imm16
@RW1+disp8,
MOVW
#imm16
@RW0+disp8,
D0
C0
MOVW
@RW6+disp8, RW6,
A
#imm16
MOVW
A
@RW5+disp8,
MOVW
A
@RW4+disp8,
MOVW
A
@RW3+disp8,
MOVW
A
@RW2+disp8,
MOVW
A
@RW1+disp8,
MOVW
A
@RW0+disp8,
MOVW
B0
XCHW
A,
addr16
@PC+disp16
XCHW
A,
@RW1+RW7
XCHW
A,
@RW0+RW7
XCHW
A,
@RW3+disp16
XCHW
A,
@RW2+disp16
XCHW
A,
@RW1+disp16
XCHW
A,
@RW0+disp16
XCHW
A,
@RW7+disp8
XCHW
A,
@RW6+disp8
XCHW
A,
@RW5+disp8
XCHW
A,
@RW4+disp8
XCHW
A,
@RW3+disp8
XCHW
A,
@RW2+disp8
XCHW
A,
@RW1+disp8
XCHW
A,
@RW0+disp8
XCHW
A,
F0
F2MC-16FX ファミリ
付録
付録 C 命令マップ
表 C.6-4 ea 系命令 その 4 ( 第 1 バイト =73H)
371
372
SUB
A,
@RW1+disp8 R1
ADD
A,
SUB
A,
@RW2+disp8 R2
SUB
A,
@RW3+disp8 R3
ADD
+2 A,
R2
ADD
+3 A,
R3
FUJITSU MICROELECTRONICS LIMITED
SUB
A,
@RW4+disp8 R4
ADD
A,
SUB
A,
@RW5+disp8 R5
ADD
A,
SUB
A,
@RW6+disp8 R6
ADD
A,
SUB
A,
@RW7+disp8 R7
ADD
A,
SUB
A,
@RW0+disp16 @RW0
ADD
A,
SUB
A,
@RW1+disp16 @RW1
ADD
A,
SUB
A,
@RW2+disp16 @RW2
ADD
A,
SUB
A,
@RW3+disp16 @RW3
ADD
A,
SUB
A,
@RW0+RW7 @RW0+
ADD
A,
SUB
A,
@RW1+RW7 @RW1+
ADD
A,
SUB
A,
@PC+disp16 @RW2+
ADD
A,
addr16
ADD
+5 A,
R5
ADD
+6 A,
R6
ADD
+7 A,
R7
ADD
+8 A,
@RW0
ADD
+9 A,
@RW1
ADD
+A A,
@RW2
ADD
+B A,
@RW3
ADD
+C A,
@RW0+
ADD
+D A,
@RW1+
ADD
+E A,
@RW2+
ADD
+F A,
@RW3+
SUB
A,
@RW3+
ADD
A,
ADD
+4 A,
R4
R0
ADD
A,
ADD
A,
ADD
+1 A,
R1
20
SUB
A,
@RW0+disp8 R0
+0 A,
ADD
A,
10
ADD
00
40
SUB
A,
addr16
ADDC
A,
@RW3+
ADDC
A,
@PC+disp16 @RW2+
SUB
A,
ADDC
A,
@RW1+RW7 @RW1+
SUB
A,
ADDC
A,
@RW0+RW7 @RW0+
SUB
A,
ADDC
A,
@RW3+disp16 @RW3
SUB
A,
ADDC
A,
@RW2+disp16 @RW2
SUB
A,
ADDC
A,
@RW1+disp16 @RW1
SUB
A,
ADDC
A,
@RW0+disp16 @RW0
SUB
A,
ADDC
A,
@RW7+disp8 R7
SUB
A,
ADDC
A,
@RW6+disp8 R6
SUB
A,
ADDC
A,
@RW5+disp8 R5
SUB
A,
ADDC
A,
@RW4+disp8 R4
SUB
A,
ADDC
A,
@RW3+disp8 R3
SUB
A,
ADDC
A,
@RW2+disp8 R2
SUB
A,
ADDC
A,
@RW1+disp8 R1
SUB
A,
ADDC
A,
@RW0+disp8 R0
SUB
A,
30
60
ADDC
A,
addr16
CMP
A,
@RW3+
CMP
A,
@PC+disp16 @RW2+
ADDC
A,
CMP
A,
@RW1+RW7 @RW1+
ADDC
A,
CMP
A,
@RW0+RW7 @RW0+
ADDC
A,
CMP
A,
@RW3+disp16 @RW3
ADDC
A,
CMP
A,
@RW2+disp16 @RW2
ADDC
A,
CMP
A,
@RW1+disp16 @RW1
ADDC
A,
CMP
A,
@RW0+disp16 @RW0
ADDC
A,
CMP
A,
@RW7+disp8 R7
ADDC
A,
CMP
A,
@RW6+disp8 R6
ADDC
A,
CMP
A,
@RW5+disp8 R5
ADDC
A,
CMP
A,
@RW4+disp8 R4
ADDC
A,
CMP
A,
@RW3+disp8 R3
ADDC
A,
CMP
A,
@RW2+disp8 R2
ADDC
A,
CMP
A,
@RW1+disp8 R1
ADDC
A,
CMP
A,
@RW0+disp8 R0
ADDC
A,
50
80
CMP
A,
addr16
AND
A,
@RW3+
AND
A,
@PC+disp16 @RW2+
CMP
A,
AND
A,
@RW1+RW7 @RW1+
CMP
A,
AND
A,
@RW0+RW7 @RW0+
CMP
A,
AND
A,
@RW3+disp16 @RW3
CMP
A,
AND
A,
@RW2+disp16 @RW2
CMP
A,
AND
A,
@RW1+disp16 @RW1
CMP
A,
AND
A,
@RW0+disp16 @RW0
CMP
A,
AND
A,
@RW7+disp8 R7
CMP
A,
AND
A,
@RW6+disp8 R6
CMP
A,
AND
A,
@RW5+disp8 R5
CMP
A,
AND
A,
@RW4+disp8 R4
CMP
A,
AND
A,
@RW3+disp8 R3
CMP
A,
AND
A,
@RW2+disp8 R2
CMP
A,
AND
A,
@RW1+disp8 R1
CMP
A,
AND
A,
@RW0+disp8 R0
CMP
A,
70
A0
AND
A,
addr16
OR
A,
@RW3+
OR
A,
@PC+disp16 @RW2+
AND
A,
OR
A,
@RW1+RW7 @RW1+
AND
A,
OR
A,
@RW0+RW7 @RW0+
AND
A,
OR
A,
@RW3+disp16 @RW3
AND
A,
OR
A,
@RW2+disp16 @RW2
AND
A,
OR
A,
@RW1+disp16 @RW1
AND
A,
OR
A,
@RW0+disp16 @RW0
AND
A,
OR
A,
@RW7+disp8 R7
AND
A,
OR
A,
@RW6+disp8 R6
AND
A,
OR
A,
@RW5+disp8 R5
AND
A,
OR
A,
@RW4+disp8 R4
AND
A,
OR
A,
@RW3+disp8 R3
AND
A,
OR
A,
@RW2+disp8 R2
AND
A,
OR
A,
@RW1+disp8 R1
AND
A,
OR
A,
@RW0+disp8 R0
AND
A,
90
C0
OR
A,
addr16
XOR
A,
@RW3+
XOR
A,
@PC+disp16 @RW2+
OR
A,
XOR
A,
@RW1+RW7 @RW1+
OR
A,
XOR
A,
@RW0+RW7 @RW0+
OR
A,
XOR
A,
@RW3+disp16 @RW3
OR
A,
XOR
A,
@RW2+disp16 @RW2
OR
A,
XOR
A,
@RW1+disp16 @RW1
OR
A,
XOR
A,
@RW0+disp16 @RW0
OR
A,
XOR
A,
@RW7+disp8 R7
OR
A,
XOR
A,
@RW6+disp8 R6
OR
A,
XOR
A,
@RW5+disp8 R5
OR
A,
XOR
A,
@RW4+disp8 R4
OR
A,
XOR
A,
@RW3+disp8 R3
OR
A,
XOR
A,
@RW2+disp8 R2
OR
A,
XOR
A,
@RW1+disp8 R1
OR
A,
XOR
A,
@RW0+disp8 R0
OR
A,
B0
E0
DBNZ
R1,
rel
XOR
A,
addr16
DBNZ
@RW3+,
rel
DBNZ
@RW2+,
@PC+disp16 rel
XOR
A,
DBNZ
@RW1+,
@RW1+RW7 rel
XOR
A,
DBNZ
@RW0+,
@RW0+RW7 rel
XOR
A,
DBNZ
@RW3,
@RW3+disp16 rel
XOR
A,
DBNZ
@RW2,
@RW2+disp16 rel
XOR
A,
DBNZ
@RW1,
@RW1+disp16 rel
XOR
A,
DBNZ
@RW0,
@RW0+disp16 rel
XOR
A,
DBNZ
R7,
@RW7+disp8 rel
XOR
A,
DBNZ
R6,
@RW6+disp8 rel
XOR
A,
DBNZ
R5,
@RW5+disp8 rel
XOR
A,
DBNZ
R4,
@RW4+disp8 rel
XOR
A,
DBNZ
R3,
@RW3+disp8 rel
XOR
A,
DBNZ
R2,
@RW2+disp8 rel
XOR
A,
@RW1+disp8
XOR
A,
DBNZ
R0,
@RW0+disp8 rel
XOR
A,
D0
DBNZ
addr16,
rel
rel
@PC+disp16,
DBNZ
rel
@RW1+RW7,
DBNZ
rel
@RW0+RW7,
DBNZ
rel
@RW3+disp16,
DBNZ
rel
@RW2+disp16,
DBNZ
rel
@RW1+disp16,
DBNZ
rel
@RW0+disp16,
DBNZ
rel
@RW7+disp8,
DBNZ
rel
@RW6+disp8,
DBNZ
rel
@RW5+disp8,
DBNZ
rel
@RW4+disp8,
DBNZ
rel
@RW3+disp8,
DBNZ
rel
@RW2+disp8,
DBNZ
rel
@RW1+disp8,
DBNZ
rel
@RW0+disp8,
DBNZ
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.6-5 ea 系命令 その 5 ( 第 1 バイト =74H)
CM44-00203-3
CM44-00203-3
SUB
SUBC
@RW2+disp8, A,
A
R2
SUB
ADD
SUB
@RW2+disp8, R2,
A
A
SUB
@RW3+disp8, R3,
A
A
ADD
+2 R2,
A
ADD
+3 R3,
A
FUJITSU MICROELECTRONICS LIMITED
SUB
SUBC
@RW5+disp8, A,
A
R5
SUB
SUBC
@RW6+disp8, A,
A
R6
SUB
SUBC
@RW7+disp8, A,
A
R7
SUB
SUBC
@RW0+disp16, A,
A
@RW0
SUB
SUBC
@RW1+disp16, A,
A
@RW1
SUB
SUBC
@RW2+disp16, A,
A
@RW2
SUB
SUBC
@RW3+disp16, A,
A
@RW3
SUB
SUBC
@RW0+RW7, A,
A
@RW0+
SUB
SUBC
@RW1+RW7, A,
A
@RW1+
SUB
ADD
SUB
@RW5+disp8, R5,
A
A
ADD
SUB
@RW6+disp8, R6,
A
A
ADD
SUB
@RW7+disp8, R7,
A
A
ADD
SUB
@RW0+disp16, @RW0,
A
A
ADD
SUB
@RW1+disp16, @RW1,
A
A
ADD
SUB
@RW2+disp16, @RW2,
A
A
ADD
SUB
@RW3+disp16, @RW3,
A
A
ADD
SUB
@RW0+RW7, @RW0+,
A
A
ADD
SUB
@RW1+RW7, @RW1+,
A
A
ADD
SUB
@PC+disp16, @RW2+,
A
A
ADD
addr16,
A
ADD
+5 R5,
A
ADD
+6 R6,
A
ADD
+7 R7,
A
ADD
+8 @RW0,
A
ADD
+9 @RW1,
A
ADD
+A @RW2,
A
ADD
+B @RW3,
A
ADD
+C @RW0+,
A
ADD
+D @RW1+,
A
ADD
+E @RW2+,
A
ADD
+F @RW3+,
A
SUB
@RW3+,
A
SUBC
@RW4+disp8, A,
A
R4
SUB
@RW4+disp8, R4,
A
A
SUB
addr16,
A
SUBC
A,
@RW3+
SUBC
@PC+disp16, A,
A
@RW2+
SUB
ADD
ADD
+4 R4,
A
SUBC
@RW3+disp8, A,
A
R3
SUBC
@RW1+disp8, A,
A
R1
ADD
SUB
SUB
@RW1+disp8, R1,
A
A
R0
A
ADD
A
40
SUBC
A
SUB
30
@RW0+disp8, A,
SUB
20
@RW0+disp8, R0,
ADD
10
ADD
+1 R1,
A
A
+0 R0,
ADD
00
SUBC
A,
addr16
@PC+disp16
SUBC
A,
@RW1+RW7
SUBC
A,
@RW0+RW7
SUBC
A,
@RW3+disp16
SUBC
A,
@RW2+disp16
SUBC
A,
@RW1+disp16
SUBC
A,
@RW0+disp16
SUBC
A,
@RW7+disp8
SUBC
A,
@RW6+disp8
SUBC
A,
@RW5+disp8
SUBC
A,
@RW4+disp8
SUBC
A,
@RW3+disp8
SUBC
A,
@RW2+disp8
SUBC
A,
@RW1+disp8
SUBC
A,
@RW0+disp8
SUBC
A,
50
NEG
@RW3+
NEG
@RW2+
NEG
@RW1+
NEG
@RW0+
NEG
@RW3
NEG
@RW2
NEG
@RW1
NEG
@RW0
NEG
R7
NEG
R6
NEG
R5
NEG
R4
NEG
R3
NEG
R2
NEG
R1
NEG
R0
60
AND
R0,
A
80
NEG
addr16
AND
@RW3+,
A
AND
@PC+disp16 @RW2+,
A
NEG
AND
@RW1+RW7 @RW1+,
A
NEG
AND
@RW0+RW7 @RW0+,
A
NEG
AND
@RW3+disp16 @RW3,
A
NEG
AND
@RW2+disp16 @RW2,
A
NEG
AND
@RW1+disp16 @RW1,
A
NEG
AND
@RW0+disp16 @RW0,
A
NEG
AND
@RW7+disp8 R7,
A
NEG
AND
@RW6+disp8 R6,
A
NEG
AND
@RW5+disp8 R5,
A
NEG
AND
@RW4+disp8 R4,
A
NEG
AND
@RW3+disp8 R3,
A
NEG
AND
@RW2+disp8 R2,
A
NEG
AND
@RW1+disp8 R1,
A
NEG
@RW0+disp8
NEG
70
OR
A
A0
AND
addr16,
A
OR
@RW3+,
A
OR
@PC+disp16, @RW2+,
A
A
AND
OR
@RW1+RW7, @RW1+,
A
A
AND
OR
@RW0+RW7, @RW0+,
A
A
AND
OR
@RW3+disp16, @RW3,
A
A
AND
OR
@RW2+disp16, @RW2,
A
A
AND
OR
@RW1+disp16, @RW1,
A
A
AND
OR
@RW0+disp16, @RW0,
A
A
AND
OR
@RW7+disp8, R7,
A
A
AND
OR
@RW6+disp8, R6,
A
A
AND
OR
@RW5+disp8, R5,
A
A
AND
OR
@RW4+disp8, R4,
A
A
AND
OR
@RW3+disp8, R3,
A
A
AND
OR
@RW2+disp8, R2,
A
A
AND
OR
@RW1+disp8, R1,
A
A
AND
A
@RW0+disp8, R0,
AND
90
OR
A
OR
addr16,
A
XOR
@RW3+,
A
XOR
@PC+disp16, @RW2+,
A
A
OR
XOR
@RW1+RW7, @RW1+,
A
A
OR
XOR
@RW0+RW7, @RW0+,
A
A
OR
XOR
@RW3+disp16, @RW3,
A
A
OR
XOR
@RW2+disp16, @RW2,
A
A
OR
XOR
@RW1+disp16, @RW1,
A
A
OR
XOR
@RW0+disp16, @RW0,
A
A
OR
XOR
@RW7+disp8, R7,
A
A
OR
XOR
@RW6+disp8, R6,
A
A
OR
XOR
@RW5+disp8, R5,
A
A
OR
XOR
@RW4+disp8, R4,
A
A
OR
XOR
@RW3+disp8, R3,
A
A
OR
XOR
@RW2+disp8, R2,
A
A
OR
XOR
@RW1+disp8, R1,
A
A
OR
A
C0
XOR
@RW0+disp8, R0,
B0
A
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
XOR
addr16,
A
A
NOT
@RW3+
@PC+disp16, @RW2+
XOR
A
@RW1+RW7, @RW1+
XOR
A
@RW0+RW7, @RW0+
XOR
A
@RW3+disp16, @RW3
XOR
A
@RW2+disp16, @RW2
XOR
A
@RW1+disp16, @RW1
XOR
A
@RW0+disp16, @RW0
XOR
A
@RW7+disp8, R7
XOR
A
@RW6+disp8, R6
XOR
A
@RW5+disp8, R5
XOR
A
@RW4+disp8, R4
XOR
A
@RW3+disp8, R3
XOR
A
@RW2+disp8, R2
XOR
A
@RW1+disp8, R1
XOR
E0
NOT
@RW0+disp8, R0
XOR
D0
NOT
addr16
@PC+disp16
NOT
@RW1+RW7
NOT
@RW0+RW7
NOT
@RW3+disp16
NOT
@RW2+disp16
NOT
@RW1+disp16
NOT
@RW0+disp16
NOT
@RW7+disp8
NOT
@RW6+disp8
NOT
@RW5+disp8
NOT
@RW4+disp8
NOT
@RW3+disp8
NOT
@RW2+disp8
NOT
@RW1+disp8
NOT
@RW0+disp8
NOT
F0
F2MC-16FX ファミリ
付録
付録 C 命令マップ
表 C.6-6 ea 系命令 その 6 ( 第 1 バイト =75H)
373
374
@RW0+disp8 RW0
RW0
SUBW
A,
@RW1+disp8 RW1
ADDW
A,
SUBW
A,
@RW2+disp8 RW2
SUBW
A,
@RW3+disp8 RW3
ADDW
+2 A,
RW2
ADDW
+3 A,
RW3
FUJITSU MICROELECTRONICS LIMITED
SUBW
A,
@RW5+disp8 RW5
ADDW
A,
SUBW
A,
@RW6+disp8 RW6
ADDW
A,
SUBW
A,
@RW7+disp8 RW7
SUBW
A,
@RW0+disp16 @RW0
SUBW
A,
@RW1+disp16 @RW1
ADDW
A,
SUBW
A,
@RW2+disp16 @RW2
ADDW
A,
SUBW
A,
@RW3+disp16 @RW3
ADDW
A,
SUBW
A,
@RW0+RW7 @RW0+
ADDW
A,
SUBW
A,
@RW1+RW7 @RW1+
ADDW
A,
SUBW
A,
@PC+disp16 @RW2+
ADDW
A,
addr16
ADDW
+6 A,
RW6
ADDW
+7 A,
RW7
ADDW
+8 A,
@RW0
ADDW
@RW1
ADDW
+A A,
@RW2
ADDW
+B A,
@RW3
ADDW
+C A,
@RW0+
ADDW
+D A,
@RW1+
ADDW
+E A,
@RW2+
ADDW
+F A,
@RW3+
ADDW
A,
SUBW
A,
@RW3+
ADDW
A,
ADDW
+5 A,
RW5
+9 A,
SUBW
A,
@RW4+disp8 RW4
ADDW
A,
ADDW
A,
ADDW
+4 A,
RW4
ADDW
A,
ADDW
A,
ADDW
+1 A,
RW1
SUBW
A,
ADDW
A,
+0 A,
ADDW
20
10
00
ADDCW
A,
40
SUBW
A,
addr16
ADDCW
A,
@RW3+
ADDCW
A,
@PC+disp16 @RW2+
SUBW
A,
ADDCW
A,
@RW1+RW7 @RW1+
SUBW
A,
ADDCW
A,
@RW0+RW7 @RW0+
SUBW
A,
ADDCW
A,
@RW3+disp16 @RW3
SUBW
A,
ADDCW
A,
@RW2+disp16 @RW2
SUBW
A,
ADDCW
A,
@RW1+disp16 @RW1
SUBW
A,
ADDCW
A,
@RW0+disp16 @RW0
SUBW
A,
ADDCW
A,
@RW7+disp8 RW7
SUBW
A,
ADDCW
A,
@RW6+disp8 RW6
SUBW
A,
ADDCW
A,
@RW5+disp8 RW5
SUBW
A,
ADDCW
A,
@RW4+disp8 RW4
SUBW
A,
ADDCW
A,
@RW3+disp8 RW3
SUBW
A,
ADDCW
A,
@RW2+disp8 RW2
SUBW
A,
ADDCW
A,
@RW1+disp8 RW1
SUBW
A,
@RW0+disp8 RW0
SUBW
A,
30
CMPW
A,
60
ADDCW
A,
addr16
CMPW
A,
@RW3+
CMPW
A,
@PC+disp16 @RW2+
ADDCW
A,
CMPW
A,
@RW1+RW7 @RW1+
ADDCW
A,
CMPW
A,
@RW0+RW7 @RW0+
ADDCW
A,
CMPW
A,
@RW3+disp16 @RW3
ADDCW
A,
CMPW
A,
@RW2+disp16 @RW2
ADDCW
A,
CMPW
A,
@RW1+disp16 @RW1
ADDCW
A,
CMPW
A,
@RW0+disp16 @RW0
ADDCW
A,
CMPW
A,
@RW7+disp8 RW7
ADDCW
A,
CMPW
A,
@RW6+disp8 RW6
ADDCW
A,
CMPW
A,
@RW5+disp8 RW5
ADDCW
A,
CMPW
A,
@RW4+disp8 RW4
ADDCW
A,
CMPW
A,
@RW3+disp8 RW3
ADDCW
A,
CMPW
A,
@RW2+disp8 RW2
ADDCW
A,
CMPW
A,
@RW1+disp8 RW1
ADDCW
A,
@RW0+disp8 RW0
ADDCW
A,
50
ANDW
A,
80
CMPW
A,
addr16
ANDW
A,
@RW3+
ANDW
A,
@PC+disp16 @RW2+
CMPW
A,
ANDW
A,
@RW1+RW7 @RW1+
CMPW
A,
ANDW
A,
@RW0+RW7 @RW0+
CMPW
A,
ANDW
A,
@RW3+disp16 @RW3
CMPW
A,
ANDW
A,
@RW2+disp16 @RW2
CMPW
A,
ANDW
A,
@RW1+disp16 @RW1
CMPW
A,
ANDW
A,
@RW0+disp16 @RW0
CMPW
A,
ANDW
A,
@RW7+disp8 RW7
CMPW
A,
ANDW
A,
@RW6+disp8 RW6
CMPW
A,
ANDW
A,
@RW5+disp8 RW5
CMPW
A,
ANDW
A,
@RW4+disp8 RW4
CMPW
A,
ANDW
A,
@RW3+disp8 RW3
CMPW
A,
ANDW
A,
@RW2+disp8 RW2
CMPW
A,
ANDW
A,
@RW1+disp8 RW1
CMPW
A,
@RW0+disp8 RW0
CMPW
A,
70
ORW
A,
A0
ANDW
A,
addr16
ORW
A,
@RW3+
ORW
A,
@PC+disp16 @RW2+
ANDW
A,
ORW
A,
@RW1+RW7 @RW1+
ANDW
A,
ORW
A,
@RW0+RW7 @RW0+
ANDW
A,
ORW
A,
@RW3+disp16 @RW3
ANDW
A,
ORW
A,
@RW2+disp16 @RW2
ANDW
A,
ORW
A,
@RW1+disp16 @RW1
ANDW
A,
ORW
A,
@RW0+disp16 @RW0
ANDW
A,
ORW
A,
@RW7+disp8 RW7
ANDW
A,
ORW
A,
@RW6+disp8 RW6
ANDW
A,
ORW
A,
@RW5+disp8 RW5
ANDW
A,
ORW
A,
@RW4+disp8 RW4
ANDW
A,
ORW
A,
@RW3+disp8 RW3
ANDW
A,
ORW
A,
@RW2+disp8 RW2
ANDW
A,
ORW
A,
@RW1+disp8 RW1
ANDW
A,
@RW0+disp8 RW0
ANDW
A,
90
XORW
A,
C0
ORW
A,
addr16
XORW
A,
@RW3+
XORW
A,
@PC+disp16 @RW2+
ORW
A,
XORW
A,
@RW1+RW7 @RW1+
ORW
A,
XORW
A,
@RW0+RW7 @RW0+
ORW
A,
XORW
A,
@RW3+disp16 @RW3
ORW
A,
XORW
A,
@RW2+disp16 @RW2
ORW
A,
XORW
A,
@RW1+disp16 @RW1
ORW
A,
XORW
A,
@RW0+disp16 @RW0
ORW
A,
XORW
A,
@RW7+disp8 RW7
ORW
A,
XORW
A,
@RW6+disp8 RW6
ORW
A,
XORW
A,
@RW5+disp8 RW5
ORW
A,
XORW
A,
@RW4+disp8 RW4
ORW
A,
XORW
A,
@RW3+disp8 RW3
ORW
A,
XORW
A,
@RW2+disp8 RW2
ORW
A,
XORW
A,
@RW1+disp8 RW1
ORW
A,
@RW0+disp8 RW0
ORW
A,
B0
XORW
A,
addr16
DWBNZ
@RW3+,
rel
DWBNZ
@RW2+,
@PC+disp16 rel
XORW
A,
DWBNZ
@RW1+,
@RW1+RW7 rel
XORW
A,
DWBNZ
@RW0+,
@RW0+RW7 rel
XORW
A,
DWBNZ
@RW3,
@RW3+disp16 rel
XORW
A,
DWBNZ
@RW2,
@RW2+disp16 rel
XORW
A,
DWBNZ
@RW1,
@RW1+disp16 rel
XORW
A,
DWBNZ
@RW0,
@RW0+disp16 rel
XORW
A,
DWBNZ
RW7,
@RW7+disp8 rel
XORW
A,
DWBNZ
RW6,
@RW6+disp8 rel
XORW
A,
DWBNZ
RW5,
@RW5+disp8 rel
XORW
A,
DWBNZ
RW4,
@RW4+disp8 rel
XORW
A,
DWBNZ
RW3,
@RW3+disp8 rel
XORW
A,
DWBNZ
RW2,
@RW2+disp8 rel
XORW
A,
DWBNZ
RW1,
@RW1+disp8 rel
XORW
A,
E0
DWBNZ
RW0,
@RW0+disp8 rel
XORW
A,
D0
DWBNZ
addr16,
rel
rel
@PC+disp16,
DWBNZ
rel
@RW1+RW7,
DWBNZ
rel
@RW0+RW7,
DWBNZ
rel
@RW3+disp16,
DWBNZ
rel
@RW2+disp16,
DWBNZ
rel
@RW1+disp16,
DWBNZ
@RW0+disp16,
rel
DWBNZ
rel
@RW7+disp8,
DWBNZ
rel
@RW6+disp8,
DWBNZ
rel
@RW5+disp8,
DWBNZ
rel
@RW4+disp8,
DWBNZ
rel
@RW3+disp8,
DWBNZ
rel
@RW2+disp8,
DWBNZ
rel
@RW1+disp8,
DWBNZ
rel
@RW0+disp8,
DWBNZ
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.6-7 ea 系命令 その 7 ( 第 1 バイト =76H)
CM44-00203-3
CM44-00203-3
ADDW
ADDW
ADDW
+5 RW5,
A
ADDW
FUJITSU MICROELECTRONICS LIMITED
ADDW
+F @RW3+,
A
A
+E @RW2+,
ADDW
A
ADDW
addr16,
A
SUBW
@RW3+,
A
SUBW
@RW2+,
A
SUBW
addr16,
A
A
@PC+disp16,
SUBCW
A,
@RW3+
SUBCW
A,
@RW2+
SUBW
@PC+disp16,
ADDW
ADDW
ADDW
+D @RW1+,
A
SUBCW
@RW0+RW7, A,
A
@RW0+
SUBW
SUBCW
@RW1+RW7, A,
A
@RW1+
SUBW
@RW0+RW7, @RW0+,
A
A
SUBW
ADDW
ADDW
+C @RW0+,
A
SUBCW
@RW3+disp16, A,
A
@RW3
@RW2
SUBW
@RW1+RW7, @RW1+,
A
A
SUBW
@RW3+disp16, @RW3,
A
A
SUBW
A
ADDW
A
A
SUBCW
SUBW
@RW2+disp16, A,
SUBW
@RW2+disp16, @RW2,
ADDW
+B @RW3,
A
A
+A @RW2,
SUBCW
@RW0+disp16, A,
A
@RW0
SUBW
ADDW
ADDW
ADDW
+9 @RW1,
A
ADDW
SUBW
@RW0+disp16, @RW0,
A
A
SUBCW
@RW1+disp16, A,
A
@RW1
ADDW
ADDW
+8 @RW0,
A
RW6
SUBCW
@RW7+disp8, A,
A
RW7
SUBW
SUBW
SUBW
@RW7+disp8, RW7,
A
A
SUBW
@RW1+disp16, @RW1,
A
A
ADDW
A
A
SUBCW
A
SUBW
SUBCW
@RW5+disp8, A,
A
RW5
SUBW
SUBCW
@RW4+disp8, A,
A
RW4
SUBW
@RW6+disp8, A,
SUBW
RW2
SUBCW
@RW3+disp8, A,
A
RW3
SUBW
@RW6+disp8, RW6,
ADDW
+7 RW7,
A
A
+6 RW6,
SUBW
@RW4+disp8, RW4,
A
A
SUBW
@RW5+disp8, RW5,
A
A
ADDW
SUBW
@RW3+disp8, RW3,
A
A
A
A
SUBCW
A
ADDW
ADDW
+4 RW4,
A
ADDW
+3 RW3,
A
A
SUBW
@RW2+disp8, A,
SUBW
@RW2+disp8, RW2,
ADDW
ADDW
+2 RW2,
RW0
SUBCW
@RW1+disp8, A,
A
RW1
SUBW
A
SUBW
@RW1+disp8, RW1,
A
A
A
40
SUBCW
A
ADDW
ADDW
+1 RW1,
A
A
SUBW
30
@RW0+disp8, A,
SUBW
20
@RW0+disp8, RW0,
ADDW
ADDW
+0 RW0,
10
00
SUBCW
A,
addr16
@PC+disp16
SUBCW
A,
@RW1+RW7
SUBCW
A,
@RW0+RW7
SUBCW
A,
@RW3+disp16
SUBCW
A,
@RW2+disp16
SUBCW
A,
@RW1+disp16
SUBCW
A,
@RW0+disp16
SUBCW
A,
@RW7+disp8
SUBCW
A,
@RW6+disp8
SUBCW
A,
@RW5+disp8
SUBCW
A,
@RW4+disp8
SUBCW
A,
@RW3+disp8
SUBCW
A,
@RW2+disp8
SUBCW
A,
@RW1+disp8
SUBCW
A,
@RW0+disp8
SUBCW
A,
50
NEGW
@RW3+
NEGW
@RW2+
NEGW
@RW1+
NEGW
@RW0+
NEGW
@RW3
NEGW
@RW2
NEGW
@RW1
NEGW
@RW0
NEGW
RW7
NEGW
RW6
NEGW
RW5
NEGW
RW4
NEGW
RW3
NEGW
RW2
NEGW
RW1
NEGW
RW0
60
ANDW
RW0,
A
80
ANDW
RW2,
A
ANDW
RW6,
A
ANDW
A
NEGW
addr16
@PC+disp16
NEGW
@RW1+RW7
NEGW
@RW0+RW7
NEGW
ANDW
@RW3+,
A
ANDW
@RW2+,
A
ANDW
@RW1+,
A
ANDW
@RW0+,
A
ANDW
@RW3+disp16 @RW3,
A
NEGW
@RW2+disp16 @RW2,
NEGW
ANDW
@RW1+disp16 @RW1,
A
NEGW
ANDW
@RW0+disp16 @RW0,
A
NEGW
ANDW
@RW7+disp8 RW7,
A
NEGW
@RW6+disp8
NEGW
ANDW
@RW5+disp8 RW5,
A
NEGW
ANDW
@RW4+disp8 RW4,
A
NEGW
ANDW
@RW3+disp8 RW3,
A
NEGW
@RW2+disp8
NEGW
ANDW
@RW1+disp8 RW1,
A
NEGW
@RW0+disp8
NEGW
70
ORW
A0
A
ORW
A
ORW
A
ORW
A
ANDW
addr16,
A
A
@PC+disp16,
ANDW
ORW
@RW3+,
A
ORW
@RW2+,
A
ORW
@RW1+RW7, @RW1+,
A
A
ANDW
ORW
@RW0+RW7, @RW0+,
A
A
ANDW
ORW
@RW3+disp16, @RW3,
A
A
ANDW
A
@RW2+disp16, @RW2,
ANDW
ORW
@RW1+disp16, @RW1,
A
A
ANDW
ORW
@RW0+disp16, @RW0,
A
A
ANDW
ORW
@RW7+disp8, RW7,
A
A
ANDW
A
@RW6+disp8, RW6,
ANDW
ORW
@RW5+disp8, RW5,
A
A
ANDW
ORW
@RW4+disp8, RW4,
A
A
ANDW
ORW
@RW3+disp8, RW3,
A
A
ANDW
A
@RW2+disp8, RW2,
ANDW
ORW
@RW1+disp8, RW1,
A
A
ANDW
A
@RW0+disp8, RW0,
ANDW
90
XORW
C0
A
XORW
A
XORW
A
XORW
A
ORW
addr16,
A
A
@PC+disp16,
ORW
XORW
@RW3+,
A
XORW
@RW2+,
A
XORW
@RW1+RW7, @RW1+,
A
A
ORW
XORW
@RW0+RW7, @RW0+,
A
A
ORW
XORW
@RW3+disp16, @RW3,
A
A
ORW
A
@RW2+disp16, @RW2,
ORW
XORW
@RW1+disp16, @RW1,
A
A
ORW
XORW
@RW0+disp16, @RW0,
A
A
ORW
XORW
@RW7+disp8, RW7,
A
A
ORW
A
@RW6+disp8, RW6,
ORW
XORW
@RW5+disp8, RW5,
A
A
ORW
XORW
@RW4+disp8, RW4,
A
A
ORW
XORW
@RW3+disp8, RW3,
A
A
ORW
A
@RW2+disp8, RW2,
ORW
XORW
@RW1+disp8, RW1,
A
A
ORW
A
@RW0+disp8, RW0,
ORW
B0
NOTW
E0
NOTW
NOTW
NOTW
NOTW
NOTW
NOTW
NOTW
NOTW
NOTW
NOTW
NOTW
XORW
addr16,
A
A
@PC+disp16,
XORW
A
@RW1+RW7,
XORW
A
@RW0+RW7,
XORW
A
NOTW
@RW3+
NOTW
@RW2+
NOTW
@RW1+
NOTW
@RW0+
@RW3+disp16, @RW3
XORW
A
@RW2+disp16, @RW2
XORW
A
@RW1+disp16, @RW1
XORW
A
@RW0+disp16, @RW0
XORW
A
@RW7+disp8, RW7
XORW
A
@RW6+disp8, RW6
XORW
A
@RW5+disp8, RW5
XORW
A
@RW4+disp8, RW4
XORW
A
@RW3+disp8, RW3
XORW
A
@RW2+disp8, RW2
XORW
A
@RW1+disp8, RW1
XORW
A
@RW0+disp8, RW0
XORW
D0
NOTW
addr16
@PC+disp16
NOTW
@RW1+RW7
NOTW
@RW0+RW7
NOTW
@RW3+disp16
NOTW
@RW2+disp16
NOTW
@RW1+disp16
NOTW
@RW0+disp16
NOTW
@RW7+disp8
NOTW
@RW6+disp8
NOTW
@RW5+disp8
NOTW
@RW4+disp8
NOTW
@RW3+disp8
NOTW
@RW2+disp8
NOTW
@RW1+disp8
NOTW
@RW0+disp8
NOTW
F0
F2MC-16FX ファミリ
付録
付録 C 命令マップ
表 C.6-8 ea 系命令 その 8 ( 第 1 バイト =77H)
375
376
MULUW
A,
@RW1+disp8 RW1
MULU
A,
MULUW
A,
@RW2+disp8 RW2
MULU
A,
MULU
+2 A,
R2
MULU
+3 A,
R3
FUJITSU MICROELECTRONICS LIMITED
MULUW
A,
@RW5+disp8 RW5
MULU
A,
MULUW
A,
@RW6+disp8 RW6
MULU
A,
MULUW
A,
@RW7+disp8 RW7
MULU
A,
MULUW
A,
@RW0+disp16 @RW0
MULU
A,
MULUW
A,
@RW1+disp16 @RW1
MULU
A,
MULUW
A,
@RW2+disp16 @RW2
MULU
A,
MULUW
A,
@RW3+disp16 @RW3
MULU
A,
MULU
+6 A,
R6
MULU
+7 A,
R7
MULU
+8 A,
@RW0
MULU
+9 A,
@RW1
MULU
+A A,
@RW2
MULU
+B A,
@RW3
MULU
+C A,
@RW0+
@PC+disp16
MULU
A,
addr16
MULU
+F A,
@RW3+
MULU
A,
MULU
+E A,
@RW2+
@RW1+RW7
MULU
A,
@RW0+RW7
MULU
A,
MULU
+5 A,
R5
MULU
+D A,
@RW1+
MULUW
A,
@RW4+disp8 RW4
MULUW
A,
@RW3+
MULUW
A,
@RW2+
MULUW
A,
@RW1+
MULUW
A,
@RW0+
MULU
A,
MULU
+4 A,
R4
MULUW
A,
@RW3+disp8 RW3
MULU
A,
MULU
+1 A,
R1
R0
20
MULUW
A,
@RW0+disp8 RW0
MULU
A,
MULU
+0 A,
10
00
40
MULUW
A,
addr16
@PC+disp16
MULUW
A,
@RW1+RW7
MULUW
A,
@RW0+RW7
MULUW
A,
MUL
A,
@RW3+
MUL
A,
@RW2+
MUL
A,
@RW1+
MUL
A,
@RW0+
MUL
A,
@RW3+disp16 @RW3
MULUW
A,
MUL
A,
@RW2+disp16 @RW2
MULUW
A,
MUL
A,
@RW1+disp16 @RW1
MULUW
A,
MUL
A,
@RW0+disp16 @RW0
MULUW
A,
MUL
A,
@RW7+disp8 R7
MULUW
A,
MUL
A,
@RW6+disp8 R6
MULUW
A,
MUL
A,
@RW5+disp8 R5
MULUW
A,
MUL
A,
@RW4+disp8 R4
MULUW
A,
MUL
A,
@RW3+disp8 R3
MULUW
A,
MUL
A,
@RW2+disp8 R2
MULUW
A,
MUL
A,
@RW1+disp8 R1
MULUW
A,
MUL
A,
@RW0+disp8 R0
MULUW
A,
30
60
MUL
A,
addr16
@PC+disp16
MUL
A,
@RW1+RW7
MUL
A,
@RW0+RW7
MUL
A,
MULW
A,
@RW3+
MULW
A,
@RW2+
MULW
A,
@RW1+
MULW
A,
@RW0+
MULW
A,
@RW3+disp16 @RW3
MUL
A,
MULW
A,
@RW2+disp16 @RW2
MUL
A,
MULW
A,
@RW1+disp16 @RW1
MUL
A,
MULW
A,
@RW0+disp16 @RW0
MUL
A,
MULW
A,
@RW7+disp8 RW7
MUL
A,
MULW
A,
@RW6+disp8 RW6
MUL
A,
MULW
A,
@RW5+disp8 RW5
MUL
A,
MULW
A,
@RW4+disp8 RW4
MUL
A,
MULW
A,
@RW3+disp8 RW3
MUL
A,
MULW
A,
@RW2+disp8 RW2
MUL
A,
MULW
A,
@RW1+disp8 RW1
MUL
A,
MULW
A,
@RW0+disp8 RW0
MUL
A,
50
80
MULW
A,
addr16
@PC+disp16
MULW
A,
@RW1+RW7
MULW
A,
@RW0+RW7
MULW
A,
DIVU
A,
@RW3+
DIVU
A,
@RW2+
DIVU
A,
@RW1+
DIVU
A,
@RW0+
DIVU
A,
@RW3+disp16 @RW3
MULW
A,
DIVU
A,
@RW2+disp16 @RW2
MULW
A,
DIVU
A,
@RW1+disp16 @RW1
MULW
A,
DIVU
A,
@RW0+disp16 @RW0
MULW
A,
DIVU
A,
@RW7+disp8 R7
MULW
A,
DIVU
A,
@RW6+disp8 R6
MULW
A,
DIVU
A,
@RW5+disp8 R5
MULW
A,
DIVU
A,
@RW4+disp8 R4
MULW
A,
DIVU
A,
@RW3+disp8 R3
MULW
A,
DIVU
A,
@RW2+disp8 R2
MULW
A,
DIVU
A,
@RW1+disp8 R1
MULW
A,
DIVU
A,
@RW0+disp8 R0
MULW
A,
70
A0
DIVU
A,
addr16
@PC+disp16
DIVU
A,
@RW1+RW7
DIVU
A,
@RW0+RW7
DIVU
A,
DIVUW
A,
@RW3+
DIVUW
A,
@RW2+
DIVUW
A,
@RW1+
DIVUW
A,
@RW0+
DIVUW
A,
@RW3+disp16 @RW3
DIVU
A,
DIVUW
A,
@RW2+disp16 @RW2
DIVU
A,
DIVUW
A,
@RW1+disp16 @RW1
DIVU
A,
DIVUW
A,
@RW0+disp16 @RW0
DIVU
A,
DIVUW
A,
@RW7+disp8 RW7
DIVU
A,
DIVUW
A,
@RW6+disp8 RW6
DIVU
A,
DIVUW
A,
@RW5+disp8 RW5
DIVU
A,
DIVUW
A,
@RW4+disp8 RW4
DIVU
A,
DIVUW
A,
@RW3+disp8 RW3
DIVU
A,
DIVUW
A,
@RW2+disp8 RW2
DIVU
A,
DIVUW
A,
@RW1+disp8 RW1
DIVU
A,
DIVUW
A,
@RW0+disp8 RW0
DIVU
A,
90
C0
DIVUW
A,
addr16
@PC+disp16
DIVUW
A,
@RW1+RW7
DIVUW
A,
@RW0+RW7
DIVUW
A,
DIV
A,
@RW3+
DIV
A,
@RW2+
DIV
A,
@RW1+
DIV
A,
@RW0+
DIV
A,
@RW3+disp16 @RW3
DIVUW
A,
DIV
A,
@RW2+disp16 @RW2
DIVUW
A,
DIV
A,
@RW1+disp16 @RW1
DIVUW
A,
DIV
A,
@RW0+disp16 @RW0
DIVUW
A,
DIV
A,
@RW7+disp8 R7
DIVUW
A,
DIV
A,
@RW6+disp8 R6
DIVUW
A,
DIV
A,
@RW5+disp8 R5
DIVUW
A,
DIV
A,
@RW4+disp8 R4
DIVUW
A,
DIV
A,
@RW3+disp8 R3
DIVUW
A,
DIV
A,
@RW2+disp8 R2
DIVUW
A,
DIV
A,
@RW1+disp8 R1
DIVUW
A,
DIV
A,
@RW0+disp8 R0
DIVUW
A,
B0
E0
DIV
A,
addr16
@PC+disp16
DIV
A,
@RW1+RW7
DIV
A,
@RW0+RW7
DIV
A,
DIVW
A,
@RW3+
DIVW
A,
@RW2+
DIVW
A,
@RW1+
DIVW
A,
@RW0+
DIVW
A,
@RW3+disp16 @RW3
DIV
A,
DIVW
A,
@RW2+disp16 @RW2
DIV
A,
DIVW
A,
@RW1+disp16 @RW1
DIV
A,
DIVW
A,
@RW0+disp16 @RW0
DIV
A,
DIVW
A,
@RW7+disp8 RW7
DIV
A,
DIVW
A,
@RW6+disp8 RW6
DIV
A,
DIVW
A,
@RW5+disp8 RW5
DIV
A,
DIVW
A,
@RW4+disp8 RW4
DIV
A,
DIVW
A,
@RW3+disp8 RW3
DIV
A,
DIVW
A,
@RW2+disp8 RW2
DIV
A,
DIVW
A,
@RW1+disp8 RW1
DIV
A,
DIVW
A,
@RW0+disp8 RW0
DIV
A,
D0
DIVW
A,
addr16
@PC+disp16
DIVW
A,
@RW1+RW7
DIVW
A,
@RW0+RW7
DIVW
A,
@RW3+disp16
DIVW
A,
@RW2+disp16
DIVW
A,
@RW1+disp16
DIVW
A,
@RW0+disp16
DIVW
A,
@RW7+disp8
DIVW
A,
@RW6+disp8
DIVW
A,
@RW5+disp8
DIVW
A,
@RW4+disp8
DIVW
A,
@RW3+disp8
DIVW
A,
@RW2+disp8
DIVW
A,
@RW1+disp8
DIVW
A,
@RW0+disp8
DIVW
A,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.6-9 ea 系命令 その 9 ( 第 1 バイト =78H)
CM44-00203-3
F2MC-16FX ファミリ
C.7
付録
付録 C 命令マップ
MOVEA RWi,ea 命令
表 C.7-1 に , MOVEA RWi,ea 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
377
378
MOVEA
RW0,
MOVEA
RW0,
MOVEA
+5 RW0,
RW5
MOVEA
MOVEA
RW0,
MOVEA
RW1,
@RW0+disp16 @RW0
MOVEA
RW0,
MOVEA
RW0,
MOVEA
+8 RW0,
@RW0
MOVEA
+9 RW0,
@RW1
MOVEA
FUJITSU MICROELECTRONICS LIMITED
@PC+disp16
@RW2+
MOVEA
+F RW0,
@RW3+
MOVEA
RW0,
addr16
MOVEA
RW0,
+E RW0,
MOVEA
@RW1+RW7
MOVEA
RW0,
@RW0+RW7
MOVEA
RW0,
MOVEA
+C RW0,
@RW0+
MOVEA
+D RW0,
@RW1+
MOVEA
RW1,
@RW3+disp16 @RW3
MOVEA
RW1,
@RW3+
MOVEA
RW1,
@RW2+
MOVEA
RW1,
@RW1+
MOVEA
RW1,
@RW0+
MOVEA
RW0,
MOVEA
RW1,
@RW2+disp16 @RW2
MOVEA
+B RW0,
@RW3
@RW2
+A RW0,
MOVEA
RW1,
@RW7+disp8 RW7
MOVEA
RW1,
@RW1+disp16 @RW1
MOVEA
RW0,
MOVEA
RW1,
@RW6+disp8 RW6
MOVEA
+7 RW0,
RW7
RW6
+6 RW0,
MOVEA
RW1,
@RW4+disp8 RW4
MOVEA
RW1,
@RW5+disp8 RW5
MOVEA
RW0,
MOVEA
RW1,
@RW3+disp8 RW3
MOVEA
RW0,
MOVEA
+4 RW0,
RW4
MOVEA
+3 RW0,
RW3
RW2
MOVEA
RW1,
@RW2+disp8 RW2
MOVEA
RW0,
MOVEA
+2 RW0,
MOVEA
RW1,
@RW1+disp8 RW1
MOVEA
RW0,
MOVEA
+1 RW0,
RW1
RW0
20
MOVEA
RW1,
@RW0+disp8 RW0
MOVEA
RW0,
MOVEA
+0 RW0,
10
00
40
MOVEA
RW1,
addr16
@PC+disp16
MOVEA
RW1,
@RW1+RW7
MOVEA
RW1,
@RW0+RW7
MOVEA
RW1,
MOVEA
RW2,
@RW3+
MOVEA
RW2,
@RW2+
MOVEA
RW2,
@RW1+
MOVEA
RW2,
@RW0+
MOVEA
RW2,
@RW3+disp16 @RW3
MOVEA
RW1,
MOVEA
RW2,
@RW2+disp16 @RW2
MOVEA
RW1,
MOVEA
RW2,
@RW1+disp16 @RW1
MOVEA
RW1,
MOVEA
RW2,
@RW0+disp16 @RW0
MOVEA
RW1,
MOVEA
RW2,
@RW7+disp8 RW7
MOVEA
RW1,
MOVEA
RW2,
@RW6+disp8 RW6
MOVEA
RW1,
MOVEA
RW2,
@RW5+disp8 RW5
MOVEA
RW1,
MOVEA
RW2,
@RW4+disp8 RW4
MOVEA
RW1,
MOVEA
RW2,
@RW3+disp8 RW3
MOVEA
RW1,
MOVEA
RW2,
@RW2+disp8 RW2
MOVEA
RW1,
MOVEA
RW2,
@RW1+disp8 RW1
MOVEA
RW1,
MOVEA
RW2,
@RW0+disp8 RW0
MOVEA
RW1,
30
60
MOVEA
RW2,
addr16
@PC+disp16
MOVEA
RW2,
@RW1+RW7
MOVEA
RW2,
@RW0+RW7
MOVEA
RW2,
MOVEA
RW3,
@RW3+
MOVEA
RW3,
@RW2+
MOVEA
RW3,
@RW1+
MOVEA
RW3,
@RW0+
MOVEA
RW3,
@RW3+disp16 @RW3
MOVEA
RW2,
MOVEA
RW3,
@RW2+disp16 @RW2
MOVEA
RW2,
MOVEA
RW3,
@RW1+disp16 @RW1
MOVEA
RW2,
MOVEA
RW3,
@RW0+disp16 @RW0
MOVEA
RW2,
MOVEA
RW3,
@RW7+disp8 RW7
MOVEA
RW2,
MOVEA
RW3,
@RW6+disp8 RW6
MOVEA
RW2,
MOVEA
RW3,
@RW5+disp8 RW5
MOVEA
RW2,
MOVEA
RW3,
@RW4+disp8 RW4
MOVEA
RW2,
MOVEA
RW3,
@RW3+disp8 RW3
MOVEA
RW2,
MOVEA
RW3,
@RW2+disp8 RW2
MOVEA
RW2,
MOVEA
RW3,
@RW1+disp8 RW1
MOVEA
RW2,
MOVEA
RW3,
@RW0+disp8 RW0
MOVEA
RW2,
50
80
MOVEA
RW3,
addr16
@PC+disp16
MOVEA
RW3,
@RW1+RW7
MOVEA
RW3,
@RW0+RW7
MOVEA
RW3,
MOVEA
RW4,
@RW3+
MOVEA
RW4,
@RW2+
MOVEA
RW4,
@RW1+
MOVEA
RW4,
@RW0+
MOVEA
RW4,
@RW3+disp16 @RW3
MOVEA
RW3,
MOVEA
RW4,
@RW2+disp16 @RW2
MOVEA
RW3,
MOVEA
RW4,
@RW1+disp16 @RW1
MOVEA
RW3,
MOVEA
RW4,
@RW0+disp16 @RW0
MOVEA
RW3,
MOVEA
RW4,
@RW7+disp8 RW7
MOVEA
RW3,
MOVEA
RW4,
@RW6+disp8 RW6
MOVEA
RW3,
MOVEA
RW4,
@RW5+disp8 RW5
MOVEA
RW3,
MOVEA
RW4,
@RW4+disp8 RW4
MOVEA
RW3,
MOVEA
RW4,
@RW3+disp8 RW3
MOVEA
RW3,
MOVEA
RW4,
@RW2+disp8 RW2
MOVEA
RW3,
MOVEA
RW4,
@RW1+disp8 RW1
MOVEA
RW3,
MOVEA
RW4,
@RW0+disp8 RW0
MOVEA
RW3,
70
A0
MOVEA
RW4,
addr16
@PC+disp16
MOVEA
RW4,
@RW1+RW7
MOVEA
RW4,
@RW0+RW7
MOVEA
RW4,
MOVEA
RW5,
@RW3+
MOVEA
RW5,
@RW2+
MOVEA
RW5,
@RW1+
MOVEA
RW5,
@RW0+
MOVEA
RW5,
@RW3+disp16 @RW3
MOVEA
RW4,
MOVEA
RW5,
@RW2+disp16 @RW2
MOVEA
RW4,
MOVEA
RW5,
@RW1+disp16 @RW1
MOVEA
RW4,
MOVEA
RW5,
@RW0+disp16 @RW0
MOVEA
RW4,
MOVEA
RW5,
@RW7+disp8 RW7
MOVEA
RW4,
MOVEA
RW5,
@RW6+disp8 RW6
MOVEA
RW4,
MOVEA
RW5,
@RW5+disp8 RW5
MOVEA
RW4,
MOVEA
RW5,
@RW4+disp8 RW4
MOVEA
RW4,
MOVEA
RW5,
@RW3+disp8 RW3
MOVEA
RW4,
MOVEA
RW5,
@RW2+disp8 RW2
MOVEA
RW4,
MOVEA
RW5,
@RW1+disp8 RW1
MOVEA
RW4,
MOVEA
RW5,
@RW0+disp8 RW0
MOVEA
RW4,
90
C0
MOVEA
RW5,
addr16
@PC+disp16
MOVEA
RW5,
@RW1+RW7
MOVEA
RW5,
@RW0+RW7
MOVEA
RW5,
MOVEA
RW6,
@RW3+
MOVEA
RW6,
@RW2+
MOVEA
RW6,
@RW1+
MOVEA
RW6,
@RW0+
MOVEA
RW6,
@RW3+disp16 @RW3
MOVEA
RW5,
MOVEA
RW6,
@RW2+disp16 @RW2
MOVEA
RW5,
MOVEA
RW6,
@RW1+disp16 @RW1
MOVEA
RW5,
MOVEA
RW6,
@RW0+disp16 @RW0
MOVEA
RW5,
MOVEA
RW6,
@RW7+disp8 RW7
MOVEA
RW5,
MOVEA
RW6,
@RW6+disp8 RW6
MOVEA
RW5,
MOVEA
RW6,
@RW5+disp8 RW5
MOVEA
RW5,
MOVEA
RW6,
@RW4+disp8 RW4
MOVEA
RW5,
MOVEA
RW6,
@RW3+disp8 RW3
MOVEA
RW5,
MOVEA
RW6,
@RW2+disp8 RW2
MOVEA
RW5,
MOVEA
RW6,
@RW1+disp8 RW1
MOVEA
RW5,
MOVEA
RW6,
@RW0+disp8 RW0
MOVEA
RW5,
B0
E0
MOVEA
RW6,
addr16
@PC+disp16
MOVEA
RW6,
@RW1+RW7
MOVEA
RW6,
@RW0+RW7
MOVEA
RW6,
MOVEA
RW7,
@RW3+
MOVEA
RW7,
@RW2+
MOVEA
RW7,
@RW1+
MOVEA
RW7,
@RW0+
MOVEA
RW7,
@RW3+disp16 @RW3
MOVEA
RW6,
MOVEA
RW7,
@RW2+disp16 @RW2
MOVEA
RW6,
MOVEA
RW7,
@RW1+disp16 @RW1
MOVEA
RW6,
MOVEA
RW7,
@RW0+disp16 @RW0
MOVEA
RW6,
MOVEA
RW7,
@RW7+disp8 RW7
MOVEA
RW6,
MOVEA
RW7,
@RW6+disp8 RW6
MOVEA
RW6,
MOVEA
RW7,
@RW5+disp8 RW5
MOVEA
RW6,
MOVEA
RW7,
@RW4+disp8 RW4
MOVEA
RW6,
MOVEA
RW7,
@RW3+disp8 RW3
MOVEA
RW6,
MOVEA
RW7,
@RW2+disp8 RW2
MOVEA
RW6,
MOVEA
RW7,
@RW1+disp8 RW1
MOVEA
RW6,
MOVEA
RW7,
@RW0+disp8 RW0
MOVEA
RW6,
D0
MOVEA
RW7,
addr16
@PC+disp16
MOVEA
RW7,
@RW1+RW7
MOVEA
RW7,
@RW0+RW7
MOVEA
RW7,
@RW3+disp16
MOVEA
RW7,
@RW2+disp16
MOVEA
RW7,
@RW1+disp16
MOVEA
RW7,
@RW0+disp16
MOVEA
RW7,
@RW7+disp8
MOVEA
RW7,
@RW6+disp8
MOVEA
RW7,
@RW5+disp8
MOVEA
RW7,
@RW4+disp8
MOVEA
RW7,
@RW3+disp8
MOVEA
RW7,
@RW2+disp8
MOVEA
RW7,
@RW1+disp8
MOVEA
RW7,
@RW0+disp8
MOVEA
RW7,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.7-1 MOVEA RWi, ea 命令 ( 第 1 バイト =79H)
CM44-00203-3
F2MC-16FX ファミリ
C.8
付録
付録 C 命令マップ
MOV Ri,ea 命令
表 C.8-1 に , MOV Ri,ea 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
379
380
MOV
R1,
@RW1+disp8 R1
MOV
R0,
MOV
R1,
@RW2+disp8 R2
MOV
R1,
@RW3+disp8 R3
MOV
+2 R0,
R2
MOV
+3 R0,
R3
FUJITSU MICROELECTRONICS LIMITED
MOV
R1,
@RW5+disp8 R5
MOV
R0,
MOV
R1,
@RW6+disp8 R6
MOV
R0,
MOV
R1,
@RW7+disp8 R7
MOV
R0,
MOV
R1,
@RW0+disp16 @RW0
MOV
R0,
MOV
R1,
@RW1+disp16 @RW1
MOV
R0,
MOV
R1,
@RW2+disp16 @RW2
MOV
R0,
MOV
R1,
@RW3+disp16 @RW3
MOV
R0,
MOV
+6 R0,
R6
MOV
+7 R0,
R7
MOV
+8 R0,
@RW0
MOV
+9 R0,
@RW1
MOV
+A R0,
@RW2
MOV
+B R0,
@RW3
MOV
+C R0,
@RW0+
@PC+disp16
MOV
R0,
addr16
MOV
+F R0,
@RW3+
MOV
R0,
MOV
+E R0,
@RW2+
@RW1+RW7
MOV
R0,
@RW0+RW7
MOV
R0,
MOV
+5 R0,
R5
MOV
+D R0,
@RW1+
MOV
R1,
@RW4+disp8 R4
MOV
R1,
@RW3+
MOV
R1,
@RW2+
MOV
R1,
@RW1+
MOV
R1,
@RW0+
MOV
R0,
MOV
+4 R0,
R4
R0
MOV
R0,
MOV
R0,
MOV
+1 R0,
R1
20
MOV
R1,
@RW0+disp8 R0
+0 R0,
MOV
R0,
10
MOV
00
40
MOV
R1,
addr16
@PC+disp16
MOV
R1,
@RW1+RW7
MOV
R1,
@RW0+RW7
MOV
R1,
MOV
R2,
@RW3+
MOV
R2,
@RW2+
MOV
R2,
@RW1+
MOV
R2,
@RW0+
MOV
R2,
@RW3+disp16 @RW3
MOV
R1,
MOV
R2,
@RW2+disp16 @RW2
MOV
R1,
MOV
R2,
@RW1+disp16 @RW1
MOV
R1,
MOV
R2,
@RW0+disp16 @RW0
MOV
R1,
MOV
R2,
@RW7+disp8 R7
MOV
R1,
MOV
R2,
@RW6+disp8 R6
MOV
R1,
MOV
R2,
@RW5+disp8 R5
MOV
R1,
MOV
R2,
@RW4+disp8 R4
MOV
R1,
MOV
R2,
@RW3+disp8 R3
MOV
R1,
MOV
R2,
@RW2+disp8 R2
MOV
R1,
MOV
R2,
@RW1+disp8 R1
MOV
R1,
MOV
R2,
@RW0+disp8 R0
MOV
R1,
30
60
MOV
R2,
addr16
@PC+disp16
MOV
R2,
@RW1+RW7
MOV
R2,
@RW0+RW7
MOV
R2,
MOV
R3,
@RW3+
MOV
R3,
@RW2+
MOV
R3,
@RW1+
MOV
R3,
@RW0+
MOV
R3,
@RW3+disp16 @RW3
MOV
R2,
MOV
R3,
@RW2+disp16 @RW2
MOV
R2,
MOV
R3,
@RW1+disp16 @RW1
MOV
R2,
MOV
R3,
@RW0+disp16 @RW0
MOV
R2,
MOV
R3,
@RW7+disp8 R7
MOV
R2,
MOV
R3,
@RW6+disp8 R6
MOV
R2,
MOV
R3,
@RW5+disp8 R5
MOV
R2,
MOV
R3,
@RW4+disp8 R4
MOV
R2,
MOV
R3,
@RW3+disp8 R3
MOV
R2,
MOV
R3,
@RW2+disp8 R2
MOV
R2,
MOV
R3,
@RW1+disp8 R1
MOV
R2,
MOV
R3,
@RW0+disp8 R0
MOV
R2,
50
80
MOV
R3,
addr16
@PC+disp16
MOV
R3,
@RW1+RW7
MOV
R3,
@RW0+RW7
MOV
R3,
MOV
R4,
@RW3+
MOV
R4,
@RW2+
MOV
R4,
@RW1+
MOV
R4,
@RW0+
MOV
R4,
@RW3+disp16 @RW3
MOV
R3,
MOV
R4,
@RW2+disp16 @RW2
MOV
R3,
MOV
R4,
@RW1+disp16 @RW1
MOV
R3,
MOV
R4,
@RW0+disp16 @RW0
MOV
R3,
MOV
R4,
@RW7+disp8 R7
MOV
R3,
MOV
R4,
@RW6+disp8 R6
MOV
R3,
MOV
R4,
@RW5+disp8 R5
MOV
R3,
MOV
R4,
@RW4+disp8 R4
MOV
R3,
MOV
R4,
@RW3+disp8 R3
MOV
R3,
MOV
R4,
@RW2+disp8 R2
MOV
R3,
MOV
R4,
@RW1+disp8 R1
MOV
R3,
MOV
R4,
@RW0+disp8 R0
MOV
R3,
70
A0
MOV
R4,
addr16
@PC+disp16
MOV
R4,
@RW1+RW7
MOV
R4,
@RW0+RW7
MOV
R4,
MOV
R5,
@RW3+
MOV
R5,
@RW2+
MOV
R5,
@RW1+
MOV
R5,
@RW0+
MOV
R5,
@RW3+disp16 @RW3
MOV
R4,
MOV
R5,
@RW2+disp16 @RW2
MOV
R4,
MOV
R5,
@RW1+disp16 @RW1
MOV
R4,
MOV
R5,
@RW0+disp16 @RW0
MOV
R4,
MOV
R5,
@RW7+disp8 R7
MOV
R4,
MOV
R5,
@RW6+disp8 R6
MOV
R4,
MOV
R5,
@RW5+disp8 R5
MOV
R4,
MOV
R5,
@RW4+disp8 R4
MOV
R4,
MOV
R5,
@RW3+disp8 R3
MOV
R4,
MOV
R5,
@RW2+disp8 R2
MOV
R4,
MOV
R5,
@RW1+disp8 R1
MOV
R4,
MOV
R5,
@RW0+disp8 R0
MOV
R4,
90
C0
MOV
R5,
addr16
@PC+disp16
MOV
R5,
@RW1+RW7
MOV
R5,
@RW0+RW7
MOV
R5,
MOV
R6,
@RW3+
MOV
R6,
@RW2+
MOV
R6,
@RW1+
MOV
R6,
@RW0+
MOV
R6,
@RW3+disp16 @RW3
MOV
R5,
MOV
R6,
@RW2+disp16 @RW2
MOV
R5,
MOV
R6,
@RW1+disp16 @RW1
MOV
R5,
MOV
R6,
@RW0+disp16 @RW0
MOV
R5,
MOV
R6,
@RW7+disp8 R7
MOV
R5,
MOV
R6,
@RW6+disp8 R6
MOV
R5,
MOV
R6,
@RW5+disp8 R5
MOV
R5,
MOV
R6,
@RW4+disp8 R4
MOV
R5,
MOV
R6,
@RW3+disp8 R3
MOV
R5,
MOV
R6,
@RW2+disp8 R2
MOV
R5,
MOV
R6,
@RW1+disp8 R1
MOV
R5,
MOV
R6,
@RW0+disp8 R0
MOV
R5,
B0
E0
MOV
R6,
addr16
@PC+disp16
MOV
R6,
@RW1+RW7
MOV
R6,
@RW0+RW7
MOV
R6,
MOV
R7,
@RW3+
MOV
R7,
@RW2+
MOV
R7,
@RW1+
MOV
R7,
@RW0+
MOV
R7,
@RW3+disp16 @RW3
MOV
R6,
MOV
R7,
@RW2+disp16 @RW2
MOV
R6,
MOV
R7,
@RW1+disp16 @RW1
MOV
R6,
MOV
R7,
@RW0+disp16 @RW0
MOV
R6,
MOV
R7,
@RW7+disp8 R7
MOV
R6,
MOV
R7,
@RW6+disp8 R6
MOV
R6,
MOV
R7,
@RW5+disp8 R5
MOV
R6,
MOV
R7,
@RW4+disp8 R4
MOV
R6,
MOV
R7,
@RW3+disp8 R3
MOV
R6,
MOV
R7,
@RW2+disp8 R2
MOV
R6,
MOV
R7,
@RW1+disp8 R1
MOV
R6,
MOV
R7,
@RW0+disp8 R0
MOV
R6,
D0
MOV
R7,
addr16
@PC+disp16
MOV
R7,
@RW1+RW7
MOV
R7,
@RW0+RW7
MOV
R7,
@RW3+disp16
MOV
R7,
@RW2+disp16
MOV
R7,
@RW1+disp16
MOV
R7,
@RW0+disp16
MOV
R7,
@RW7+disp8
MOV
R7,
@RW6+disp8
MOV
R7,
@RW5+disp8
MOV
R7,
@RW4+disp8
MOV
R7,
@RW3+disp8
MOV
R7,
@RW2+disp8
MOV
R7,
@RW1+disp8
MOV
R7,
@RW0+disp8
MOV
R7,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.8-1 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
CM44-00203-3
F2MC-16FX ファミリ
C.9
付録
付録 C 命令マップ
MOVW RWi,ea 命令
表 C.9-1 に , MOVW RWi,ea 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
381
382
MOVW
RW1,
@RW0+disp8 RW0
MOVW
RW0,
MOVW
RW1,
@RW1+disp8 RW1
MOVW
RW0,
MOVW
RW1,
@RW2+disp8 RW2
MOVW
RW1,
@RW3+disp8 RW3
MOVW
+1 RW0,
RW1
MOVW
+2 RW0,
RW2
MOVW
+3 RW0,
RW3
FUJITSU MICROELECTRONICS LIMITED
MOVW
RW1,
@RW5+disp8 RW5
MOVW
RW0,
MOVW
RW1,
@RW6+disp8 RW6
MOVW
RW0,
MOVW
RW1,
@RW7+disp8 RW7
MOVW
RW0,
MOVW
RW1,
@RW0+disp16 @RW0
MOVW
RW0,
MOVW
RW1,
@RW1+disp16 @RW1
MOVW
RW0,
MOVW
RW1,
@RW2+disp16 @RW2
MOVW
RW0,
MOVW
RW1,
@RW3+disp16 @RW3
MOVW
RW0,
MOVW
+6 RW0,
RW6
MOVW
+7 RW0,
RW7
MOVW
+8 RW0,
@RW0
MOVW
+9 RW0,
@RW1
MOVW
+A RW0,
@RW2
MOVW
+B RW0,
@RW3
MOVW
+C RW0,
@RW0+
@PC+disp16
MOVW
RW0,
addr16
MOVW
+F RW0,
@RW3+
MOVW
RW0,
MOVW
+E RW0,
@RW2+
@RW1+RW7
MOVW
RW0,
@RW0+RW7
MOVW
RW0,
MOVW
+5 RW0,
RW5
MOVW
+D RW0,
@RW1+
MOVW
RW1,
@RW4+disp8 RW4
MOVW
RW1,
@RW3+
MOVW
RW1,
@RW2+
MOVW
RW1,
@RW1+
MOVW
RW1,
@RW0+
MOVW
RW0,
MOVW
+4 RW0,
RW4
RW0
MOVW
RW0,
MOVW
RW0,
+0 RW0,
MOVW
20
10
00
40
MOVW
RW1,
addr16
@PC+disp16
MOVW
RW1,
@RW1+RW7
MOVW
RW1,
@RW0+RW7
MOVW
RW1,
MOVW
RW2,
@RW3+
MOVW
RW2,
@RW2+
MOVW
RW2,
@RW1+
MOVW
RW2,
@RW0+
MOVW
RW2,
@RW3+disp16 @RW3
MOVW
RW1,
MOVW
RW2,
@RW2+disp16 @RW2
MOVW
RW1,
MOVW
RW2,
@RW1+disp16 @RW1
MOVW
RW1,
MOVW
RW2,
@RW0+disp16 @RW0
MOVW
RW1,
MOVW
RW2,
@RW7+disp8 RW7
MOVW
RW1,
MOVW
RW2,
@RW6+disp8 RW6
MOVW
RW1,
MOVW
RW2,
@RW5+disp8 RW5
MOVW
RW1,
MOVW
RW2,
@RW4+disp8 RW4
MOVW
RW1,
MOVW
RW2,
@RW3+disp8 RW3
MOVW
RW1,
MOVW
RW2,
@RW2+disp8 RW2
MOVW
RW1,
MOVW
RW2,
@RW1+disp8 RW1
MOVW
RW1,
MOVW
RW2,
@RW0+disp8 RW0
MOVW
RW1,
30
60
MOVW
RW2,
addr16
@PC+disp16
MOVW
RW2,
@RW1+RW7
MOVW
RW2,
@RW0+RW7
MOVW
RW2,
MOVW
RW3,
@RW3+
MOVW
RW3,
@RW2+
MOVW
RW3,
@RW1+
MOVW
RW3,
@RW0+
MOVW
RW3,
@RW3+disp16 @RW3
MOVW
RW2,
MOVW
RW3,
@RW2+disp16 @RW2
MOVW
RW2,
MOVW
RW3,
@RW1+disp16 @RW1
MOVW
RW2,
MOVW
RW3,
@RW0+disp16 @RW0
MOVW
RW2,
MOVW
RW3,
@RW7+disp8 RW7
MOVW
RW2,
MOVW
RW3,
@RW6+disp8 RW6
MOVW
RW2,
MOVW
RW3,
@RW5+disp8 RW5
MOVW
RW2,
MOVW
RW3,
@RW4+disp8 RW4
MOVW
RW2,
MOVW
RW3,
@RW3+disp8 RW3
MOVW
RW2,
MOVW
RW3,
@RW2+disp8 RW2
MOVW
RW2,
MOVW
RW3,
@RW1+disp8 RW1
MOVW
RW2,
MOVW
RW3,
@RW0+disp8 RW0
MOVW
RW2,
50
80
MOVW
RW3,
addr16
@PC+disp16
MOVW
RW3,
@RW1+RW7
MOVW
RW3,
@RW0+RW7
MOVW
RW3,
MOVW
RW4,
@RW3+
MOVW
RW4,
@RW2+
MOVW
RW4,
@RW1+
MOVW
RW4,
@RW0+
MOVW
RW4,
@RW3+disp16 @RW3
MOVW
RW3,
MOVW
RW4,
@RW2+disp16 @RW2
MOVW
RW3,
MOVW
RW4,
@RW1+disp16 @RW1
MOVW
RW3,
MOVW
RW4,
@RW0+disp16 @RW0
MOVW
RW3,
MOVW
RW4,
@RW7+disp8 RW7
MOVW
RW3,
MOVW
RW4,
@RW6+disp8 RW6
MOVW
RW3,
MOVW
RW4,
@RW5+disp8 RW5
MOVW
RW3,
MOVW
RW4,
@RW4+disp8 RW4
MOVW
RW3,
MOVW
RW4,
@RW3+disp8 RW3
MOVW
RW3,
MOVW
RW4,
@RW2+disp8 RW2
MOVW
RW3,
MOVW
RW4,
@RW1+disp8 RW1
MOVW
RW3,
MOVW
RW4,
@RW0+disp8 RW0
MOVW
RW3,
70
A0
MOVW
RW4,
addr16
@PC+disp16
MOVW
RW4,
@RW1+RW7
MOVW
RW4,
@RW0+RW7
MOVW
RW4,
MOVW
RW5,
@RW3+
MOVW
RW5,
@RW2+
MOVW
RW5,
@RW1+
MOVW
RW5,
@RW0+
MOVW
RW5,
@RW3+disp16 @RW3
MOVW
RW4,
MOVW
RW5,
@RW2+disp16 @RW2
MOVW
RW4,
MOVW
RW5,
@RW1+disp16 @RW1
MOVW
RW4,
MOVW
RW5,
@RW0+disp16 @RW0
MOVW
RW4,
MOVW
RW5,
@RW7+disp8 RW7
MOVW
RW4,
MOVW
RW5,
@RW6+disp8 RW6
MOVW
RW4,
MOVW
RW5,
@RW5+disp8 RW5
MOVW
RW4,
MOVW
RW5,
@RW4+disp8 RW4
MOVW
RW4,
MOVW
RW5,
@RW3+disp8 RW3
MOVW
RW4,
MOVW
RW5,
@RW2+disp8 RW2
MOVW
RW4,
MOVW
RW5,
@RW1+disp8 RW1
MOVW
RW4,
MOVW
RW5,
@RW0+disp8 RW0
MOVW
RW4,
90
C0
MOVW
RW5,
addr16
@PC+disp16
MOVW
RW5,
@RW1+RW7
MOVW
RW5,
@RW0+RW7
MOVW
RW5,
MOVW
RW6,
@RW3+
MOVW
RW6,
@RW2+
MOVW
RW6,
@RW1+
MOVW
RW6,
@RW0+
MOVW
RW6,
@RW3+disp16 @RW3
MOVW
RW5,
MOVW
RW6,
@RW2+disp16 @RW2
MOVW
RW5,
MOVW
RW6,
@RW1+disp16 @RW1
MOVW
RW5,
MOVW
RW6,
@RW0+disp16 @RW0
MOVW
RW5,
MOVW
RW6,
@RW7+disp8 RW7
MOVW
RW5,
MOVW
RW6,
@RW6+disp8 RW6
MOVW
RW5,
MOVW
RW6,
@RW5+disp8 RW5
MOVW
RW5,
MOVW
RW6,
@RW4+disp8 RW4
MOVW
RW5,
MOVW
RW6,
@RW3+disp8 RW3
MOVW
RW5,
MOVW
RW6,
@RW2+disp8 RW2
MOVW
RW5,
MOVW
RW6,
@RW1+disp8 RW1
MOVW
RW5,
MOVW
RW6,
@RW0+disp8 RW0
MOVW
RW5,
B0
E0
MOVW
RW6,
addr16
@PC+disp16
MOVW
RW6,
@RW1+RW7
MOVW
RW6,
@RW0+RW7
MOVW
RW6,
MOVW
RW7,
@RW3+
MOVW
RW7,
@RW2+
MOVW
RW7,
@RW1+
MOVW
RW7,
@RW0+
MOVW
RW7,
@RW3+disp16 @RW3
MOVW
RW6,
MOVW
RW7,
@RW2+disp16 @RW2
MOVW
RW6,
MOVW
RW7,
@RW1+disp16 @RW1
MOVW
RW6,
MOVW
RW7,
@RW0+disp16 @RW0
MOVW
RW6,
MOVW
RW7,
@RW7+disp8 RW7
MOVW
RW6,
MOVW
RW7,
@RW6+disp8 RW6
MOVW
RW6,
MOVW
RW7,
@RW5+disp8 RW5
MOVW
RW6,
MOVW
RW7,
@RW4+disp8 RW4
MOVW
RW6,
MOVW
RW7,
@RW3+disp8 RW3
MOVW
RW6,
MOVW
RW7,
@RW2+disp8 RW2
MOVW
RW6,
MOVW
RW7,
@RW1+disp8 RW1
MOVW
RW6,
MOVW
RW7,
@RW0+disp8 RW0
MOVW
RW6,
D0
MOVW
RW7,
addr16
@PC+disp16
MOVW
RW7,
@RW1+RW7
MOVW
RW7,
@RW0+RW7
MOVW
RW7,
@RW3+disp16
MOVW
RW7,
@RW2+disp16
MOVW
RW7,
@RW1+disp16
MOVW
RW7,
@RW0+disp16
MOVW
RW7,
@RW7+disp8
MOVW
RW7,
@RW6+disp8
MOVW
RW7,
@RW5+disp8
MOVW
RW7,
@RW4+disp8
MOVW
RW7,
@RW3+disp8
MOVW
RW7,
@RW2+disp8
MOVW
RW7,
@RW1+disp8
MOVW
RW7,
@RW0+disp8
MOVW
RW7,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.9-1 MOVW RWi, ea 命令 ( 第 1 バイト =7BH)
CM44-00203-3
F2MC-16FX ファミリ
付録
付録 C 命令マップ
C.10 MOV ea,Ri 命令
表 C.10-1 に , MOV ea,Ri 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
383
384
MOV
MOV
MOV
MOV
@RW5+disp8, R5,
R0
R1
MOV
MOV
MOV
+5 R5,
R0
MOV
+6 R6,
R0
MOV
FUJITSU MICROELECTRONICS LIMITED
MOV
MOV
addr16,
R1
MOV
MOV
@PC+disp16, @RW2+,
R0
R1
MOV
addr16,
R0
MOV
+E @RW2+,
R0
+F @RW3+,
R0
MOV
@RW3+,
R1
MOV
@PC+disp16, @RW2+,
R1
R2
MOV
@RW1+RW7, @RW1+,
R0
R1
MOV
MOV
MOV
MOV
+D @RW1+,
R0
R2
MOV
@RW3+,
R2
MOV
@RW1+RW7, @RW1+,
R1
R2
MOV
MOV
@RW0+RW7, @RW0+,
R1
R2
MOV
MOV
@RW0+RW7, @RW0+,
R0
R1
MOV
+C @RW0+,
R0
R1
R0
MOV
R0
R1
MOV
MOV
@RW3+disp16, @RW3,
@RW3+disp16, @RW3,
MOV
MOV
MOV
MOV
+A @RW2,
R0
MOV
@RW1+disp16, @RW1,
R1
R2
MOV
MOV
@RW2+disp16, @RW2,
R1
R2
MOV
@RW1+disp16, @RW1,
R0
R1
MOV
MOV
MOV
+9 @RW1,
R0
R2
MOV
@RW0+disp16, @RW0,
R1
R2
MOV
MOV
@RW2+disp16, @RW2,
R0
R1
MOV
@RW0+disp16, @RW0,
R0
R1
R1
R0
MOV
MOV
+8 @RW0,
R0
+B @RW3,
MOV
R1
MOV
MOV
@RW6+disp8, R6,
R1
R2
MOV
MOV
@RW5+disp8, R5,
R1
R2
MOV
@RW7+disp8, R7,
MOV
R2
MOV
@RW4+disp8, R4,
R1
R2
MOV
@RW7+disp8, R7,
R0
+7 R7,
MOV
@RW4+disp8, R4,
R0
R1
MOV
@RW6+disp8, R6,
R0
R1
MOV
R1
R1
MOV
R0
MOV
@RW3+disp8, R3,
MOV
MOV
@RW2+disp8, R2,
R1
R2
MOV
@RW3+disp8, R3,
MOV
+4 R4,
R0
R0
+3 R3,
MOV
@RW2+disp8, R2,
R0
R1
MOV
MOV
+2 R2,
R0
R2
MOV
@RW1+disp8, R1,
R1
R2
MOV
R1
MOV
@RW1+disp8, R1,
R0
R1
R1
MOV
40
MOV
R0
MOV
30
@RW0+disp8, R0,
MOV
20
@RW0+disp8, R0,
MOV
10
MOV
+1 R1,
R0
R0
+0 R0,
MOV
00
R3
MOV
R3
MOV
R3
MOV
R3
MOV
addr16,
R2
MOV
@RW3+,
R3
MOV
@PC+disp16, @RW2+,
R2
R3
MOV
MOV
@RW1+RW7, @RW1+,
R2
R3
MOV
MOV
@RW0+RW7, @RW0+,
R2
R3
MOV
R2
@RW3+disp16, @RW3,
MOV
MOV
@RW2+disp16, @RW2,
R2
R3
MOV
MOV
@RW1+disp16, @RW1,
R2
R3
MOV
MOV
@RW0+disp16, @RW0,
R2
R3
MOV
R2
@RW7+disp8, R7,
MOV
MOV
@RW6+disp8, R6,
R2
R3
MOV
MOV
@RW5+disp8, R5,
R2
R3
MOV
MOV
@RW4+disp8, R4,
R2
R3
MOV
R2
@RW3+disp8, R3,
MOV
MOV
@RW2+disp8, R2,
R2
R3
MOV
MOV
@RW1+disp8, R1,
R2
R3
R2
MOV
60
MOV
@RW0+disp8, R0,
MOV
50
R4
MOV
R4
MOV
R4
MOV
R4
MOV
addr16,
R3
MOV
@RW3+,
R4
MOV
@PC+disp16, @RW2+,
R3
R4
MOV
MOV
@RW1+RW7, @RW1+,
R3
R4
MOV
MOV
@RW0+RW7, @RW0+,
R3
R4
MOV
R3
@RW3+disp16, @RW3,
MOV
MOV
@RW2+disp16, @RW2,
R3
R4
MOV
MOV
@RW1+disp16, @RW1,
R3
R4
MOV
MOV
@RW0+disp16, @RW0,
R3
R4
MOV
R3
@RW7+disp8, R7,
MOV
MOV
@RW6+disp8, R6,
R3
R4
MOV
MOV
@RW5+disp8, R5,
R3
R4
MOV
MOV
@RW4+disp8, R4,
R3
R4
MOV
R3
@RW3+disp8, R3,
MOV
MOV
@RW2+disp8, R2,
R3
R4
MOV
MOV
@RW1+disp8, R1,
R3
R4
MOV
R3
80
MOV
@RW0+disp8, R0,
MOV
70
R5
MOV
R5
MOV
R5
MOV
R5
MOV
addr16,
R4
MOV
@RW3+,
R5
MOV
@PC+disp16, @RW2+,
R4
R5
MOV
MOV
@RW1+RW7, @RW1+,
R4
R5
MOV
MOV
@RW0+RW7, @RW0+,
R4
R5
MOV
R4
@RW3+disp16, @RW3,
MOV
MOV
@RW2+disp16, @RW2,
R4
R5
MOV
MOV
@RW1+disp16, @RW1,
R4
R5
MOV
MOV
@RW0+disp16, @RW0,
R4
R5
MOV
R4
@RW7+disp8, R7,
MOV
MOV
@RW6+disp8, R6,
R4
R5
MOV
MOV
@RW5+disp8, R5,
R4
R5
MOV
MOV
@RW4+disp8, R4,
R4
R5
MOV
R4
@RW3+disp8, R3,
MOV
MOV
@RW2+disp8, R2,
R4
R5
MOV
MOV
@RW1+disp8, R1,
R4
R5
R4
MOV
A0
MOV
@RW0+disp8, R0,
MOV
90
R6
MOV
R6
MOV
R6
MOV
R6
MOV
addr16,
R5
MOV
@RW3+,
R6
MOV
@PC+disp16, @RW2+,
R5
R6
MOV
MOV
@RW1+RW7, @RW1+,
R5
R6
MOV
MOV
@RW0+RW7, @RW0+,
R5
R6
MOV
R5
@RW3+disp16, @RW3,
MOV
MOV
@RW2+disp16, @RW2,
R5
R6
MOV
MOV
@RW1+disp16, @RW1,
R5
R6
MOV
MOV
@RW0+disp16, @RW0,
R5
R6
MOV
R5
@RW7+disp8, R7,
MOV
MOV
@RW6+disp8, R6,
R5
R6
MOV
MOV
@RW5+disp8, R5,
R5
R6
MOV
MOV
@RW4+disp8, R4,
R5
R6
MOV
R5
@RW3+disp8, R3,
MOV
MOV
@RW2+disp8, R2,
R5
R6
MOV
MOV
@RW1+disp8, R1,
R5
R6
MOV
R5
C0
MOV
@RW0+disp8, R0,
MOV
B0
R7
MOV
R7
MOV
R7
MOV
R7
MOV
addr16,
R6
MOV
@RW3+,
R7
MOV
@PC+disp16, @RW2+,
R6
R7
MOV
MOV
@RW1+RW7, @RW1+,
R6
R7
MOV
MOV
@RW0+RW7, @RW0+,
R6
R7
MOV
R6
@RW3+disp16, @RW3,
MOV
MOV
@RW2+disp16, @RW2,
R6
R7
MOV
MOV
@RW1+disp16, @RW1,
R6
R7
MOV
MOV
@RW0+disp16, @RW0,
R6
R7
MOV
R6
@RW7+disp8, R7,
MOV
MOV
@RW6+disp8, R6,
R6
R7
MOV
MOV
@RW5+disp8, R5,
R6
R7
MOV
MOV
@RW4+disp8, R4,
R6
R7
MOV
R6
@RW3+disp8, R3,
MOV
MOV
@RW2+disp8, R2,
R6
R7
MOV
MOV
@RW1+disp8, R1,
R6
R7
R6
MOV
E0
MOV
@RW0+disp8, R0,
MOV
D0
MOV
addr16,
R7
R7
@PC+disp16,
MOV
R7
@RW1+RW7,
MOV
R7
@RW0+RW7,
MOV
R7
@RW3+disp16,
MOV
R7
@RW2+disp16,
MOV
R7
@RW1+disp16,
MOV
R7
@RW0+disp16,
MOV
R7
@RW7+disp8,
MOV
R7
@RW6+disp8,
MOV
R7
@RW5+disp8,
MOV
R7
@RW4+disp8,
MOV
R7
@RW3+disp8,
MOV
R7
@RW2+disp8,
MOV
R7
@RW1+disp8,
MOV
R7
@RW0+disp8,
MOV
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.10-1 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
CM44-00203-3
F2MC-16FX ファミリ
付録
付録 C 命令マップ
C.11 MOVW ea,RWi 命令
表 C.11-1 に , MOVW ea,RWi 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
385
386
MOVW
@RW1+disp16, @RW1,
RW1
RW2
MOVW
MOVW
MOVW
FUJITSU MICROELECTRONICS LIMITED
MOVW
+F @RW3+,
RW0
RW0
MOVW
addr16,
RW0
RW0
@PC+disp16,
MOVW
MOVW
@RW3+,
RW1
MOVW
@RW2+,
RW2
MOVW
@RW2+,
RW1
+E @RW2+,
MOVW
MOVW
@RW1+RW7, @RW1+,
RW1
RW2
MOVW
@RW1+RW7, @RW1+,
RW0
RW1
MOVW
MOVW
+D @RW1+,
RW0
MOVW
addr16,
RW1
RW1
@PC+disp16,
MOVW
MOVW
MOVW
@RW3+,
RW2
MOVW
@RW0+RW7, @RW0+,
RW1
RW2
MOVW
@RW0+RW7, @RW0+,
RW0
RW1
MOVW
MOVW
MOVW
+C @RW0+,
RW0
MOVW
@RW3+disp16, @RW3,
RW1
RW2
RW2
MOVW
@RW3+disp16, @RW3,
RW0
RW1
MOVW
RW1
RW0
MOVW
RW1
@RW2+disp16, @RW2,
@RW2+disp16, @RW2,
MOVW
MOVW
+B @RW3,
RW0
RW0
+A @RW2,
MOVW
MOVW
MOVW
@RW1+disp16, @RW1,
RW0
RW1
MOVW
MOVW
+9 @RW1,
RW0
MOVW
@RW0+disp16, @RW0,
RW1
RW2
MOVW
@RW0+disp16, @RW0,
RW0
RW1
MOVW
MOVW
MOVW
+8 @RW0,
RW0
MOVW
@RW7+disp8, RW7,
RW1
RW2
RW2
MOVW
@RW7+disp8, RW7,
RW0
RW1
MOVW
MOVW
RW1
RW1
MOVW
MOVW
+7 RW7,
RW0
RW0
MOVW
RW0
MOVW
MOVW
MOVW
@RW5+disp8, RW5,
RW1
RW2
MOVW
MOVW
@RW4+disp8, RW4,
RW1
RW2
MOVW
@RW6+disp8, RW6,
MOVW
@RW5+disp8, RW5,
RW0
RW1
MOVW
MOVW
MOVW
+5 RW5,
RW0
RW2
MOVW
@RW3+disp8, RW3,
RW1
RW2
MOVW
@RW6+disp8, RW6,
MOVW
@RW4+disp8, RW4,
RW0
RW1
+6 RW6,
MOVW
MOVW
@RW3+disp8, RW3,
RW0
RW1
RW1
RW1
MOVW
RW0
MOVW
MOVW
+4 RW4,
RW0
MOVW
+3 RW3,
RW0
RW0
MOVW
@RW2+disp8, RW2,
MOVW
RW2
MOVW
@RW1+disp8, RW1,
RW1
RW2
MOVW
@RW2+disp8, RW2,
MOVW
MOVW
+2 RW2,
MOVW
@RW1+disp8, RW1,
RW0
RW1
RW1
RW1
MOVW
40
RW0
MOVW
MOVW
+1 RW1,
RW0
RW0
MOVW
30
@RW0+disp8, RW0,
MOVW
20
@RW0+disp8, RW0,
MOVW
MOVW
+0 RW0,
10
00
MOVW
60
RW3
MOVW
RW3
MOVW
RW3
MOVW
RW3
MOVW
addr16,
RW2
RW2
@PC+disp16,
MOVW
MOVW
@RW3+,
RW3
MOVW
@RW2+,
RW3
MOVW
@RW1+RW7, @RW1+,
RW2
RW3
MOVW
MOVW
@RW0+RW7, @RW0+,
RW2
RW3
MOVW
MOVW
@RW3+disp16, @RW3,
RW2
RW3
MOVW
RW2
@RW2+disp16, @RW2,
MOVW
MOVW
@RW1+disp16, @RW1,
RW2
RW3
MOVW
MOVW
@RW0+disp16, @RW0,
RW2
RW3
MOVW
MOVW
@RW7+disp8, RW7,
RW2
RW3
MOVW
RW2
@RW6+disp8, RW6,
MOVW
MOVW
@RW5+disp8, RW5,
RW2
RW3
MOVW
MOVW
@RW4+disp8, RW4,
RW2
RW3
MOVW
MOVW
@RW3+disp8, RW3,
RW2
RW3
MOVW
RW2
@RW2+disp8, RW2,
MOVW
MOVW
@RW1+disp8, RW1,
RW2
RW3
MOVW
RW2
@RW0+disp8, RW0,
MOVW
50
MOVW
80
RW4
MOVW
RW4
MOVW
RW4
MOVW
RW4
MOVW
addr16,
RW3
RW3
@PC+disp16,
MOVW
MOVW
@RW3+,
RW4
MOVW
@RW2+,
RW4
MOVW
@RW1+RW7, @RW1+,
RW3
RW4
MOVW
MOVW
@RW0+RW7, @RW0+,
RW3
RW4
MOVW
MOVW
@RW3+disp16, @RW3,
RW3
RW4
MOVW
RW3
@RW2+disp16, @RW2,
MOVW
MOVW
@RW1+disp16, @RW1,
RW3
RW4
MOVW
MOVW
@RW0+disp16, @RW0,
RW3
RW4
MOVW
MOVW
@RW7+disp8, RW7,
RW3
RW4
MOVW
RW3
@RW6+disp8, RW6,
MOVW
MOVW
@RW5+disp8, RW5,
RW3
RW4
MOVW
MOVW
@RW4+disp8, RW4,
RW3
RW4
MOVW
MOVW
@RW3+disp8, RW3,
RW3
RW4
MOVW
RW3
@RW2+disp8, RW2,
MOVW
MOVW
@RW1+disp8, RW1,
RW3
RW4
MOVW
RW3
@RW0+disp8, RW0,
MOVW
70
MOVW
A0
RW5
MOVW
RW5
MOVW
RW5
MOVW
RW5
MOVW
addr16,
RW4
RW4
@PC+disp16,
MOVW
MOVW
@RW3+,
RW5
MOVW
@RW2+,
RW5
MOVW
@RW1+RW7, @RW1+,
RW4
RW5
MOVW
MOVW
@RW0+RW7, @RW0+,
RW4
RW5
MOVW
MOVW
@RW3+disp16, @RW3,
RW4
RW5
MOVW
RW4
@RW2+disp16, @RW2,
MOVW
MOVW
@RW1+disp16, @RW1,
RW4
RW5
MOVW
MOVW
@RW0+disp16, @RW0,
RW4
RW5
MOVW
MOVW
@RW7+disp8, RW7,
RW4
RW5
MOVW
RW4
@RW6+disp8, RW6,
MOVW
MOVW
@RW5+disp8, RW5,
RW4
RW5
MOVW
MOVW
@RW4+disp8, RW4,
RW4
RW5
MOVW
MOVW
@RW3+disp8, RW3,
RW4
RW5
MOVW
RW4
@RW2+disp8, RW2,
MOVW
MOVW
@RW1+disp8, RW1,
RW4
RW5
MOVW
RW4
@RW0+disp8, RW0,
MOVW
90
MOVW
C0
RW6
MOVW
RW6
MOVW
RW6
MOVW
RW6
MOVW
addr16,
RW5
RW5
@PC+disp16,
MOVW
MOVW
@RW3+,
RW6
MOVW
@RW2+,
RW6
MOVW
@RW1+RW7, @RW1+,
RW5
RW6
MOVW
MOVW
@RW0+RW7, @RW0+,
RW5
RW6
MOVW
MOVW
@RW3+disp16, @RW3,
RW5
RW6
MOVW
RW5
@RW2+disp16, @RW2,
MOVW
MOVW
@RW1+disp16, @RW1,
RW5
RW6
MOVW
MOVW
@RW0+disp16, @RW0,
RW5
RW6
MOVW
MOVW
@RW7+disp8, RW7,
RW5
RW6
MOVW
RW5
@RW6+disp8, RW6,
MOVW
MOVW
@RW5+disp8, RW5,
RW5
RW6
MOVW
MOVW
@RW4+disp8, RW4,
RW5
RW6
MOVW
MOVW
@RW3+disp8, RW3,
RW5
RW6
MOVW
RW5
@RW2+disp8, RW2,
MOVW
MOVW
@RW1+disp8, RW1,
RW5
RW6
MOVW
RW5
@RW0+disp8, RW0,
MOVW
B0
MOVW
E0
RW7
MOVW
RW7
MOVW
RW7
MOVW
RW7
MOVW
addr16,
RW6
RW6
@PC+disp16,
MOVW
MOVW
@RW3+,
RW7
MOVW
@RW2+,
RW7
MOVW
@RW1+RW7, @RW1+,
RW6
RW7
MOVW
MOVW
@RW0+RW7, @RW0+,
RW6
RW7
MOVW
MOVW
@RW3+disp16, @RW3,
RW6
RW7
MOVW
RW6
@RW2+disp16, @RW2,
MOVW
MOVW
@RW1+disp16, @RW1,
RW6
RW7
MOVW
MOVW
@RW0+disp16, @RW0,
RW6
RW7
MOVW
MOVW
@RW7+disp8, RW7,
RW6
RW7
MOVW
RW6
@RW6+disp8, RW6,
MOVW
MOVW
@RW5+disp8, RW5,
RW6
RW7
MOVW
MOVW
@RW4+disp8, RW4,
RW6
RW7
MOVW
MOVW
@RW3+disp8, RW3,
RW6
RW7
MOVW
RW6
@RW2+disp8, RW2,
MOVW
MOVW
@RW1+disp8, RW1,
RW6
RW7
MOVW
RW6
@RW0+disp8, RW0,
MOVW
D0
MOVW
addr16,
RW7
RW7
@PC+disp16,
MOVW
RW7
@RW1+RW7,
MOVW
RW7
@RW0+RW7,
MOVW
RW7
@RW3+disp16,
MOVW
RW7
@RW2+disp16,
MOVW
RW7
@RW1+disp16,
MOVW
RW7
@RW0+disp16,
MOVW
RW7
@RW7+disp8,
MOVW
RW7
@RW6+disp8,
MOVW
RW7
@RW5+disp8,
MOVW
RW7
@RW4+disp8,
MOVW
RW7
@RW3+disp8,
MOVW
RW7
@RW2+disp8,
MOVW
RW7
@RW1+disp8,
MOVW
RW7
@RW0+disp8,
MOVW
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.11-1 MOVW ea,RWi 命令 ( 第 1 バイト =7DH)
CM44-00203-3
F2MC-16FX ファミリ
付録
付録 C 命令マップ
C.12 XCH Ri,ea 命令
表 C.12-1 に , XCH Ri,ea 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
387
388
XCH
R0,
XCH
R0,
XCH
+5 R0,
R5
XCH
XCH
R0,
XCH
R1,
@RW0+disp16 @RW0
XCH
R0,
XCH
+8 R0,
@RW0
XCH
+9 R0,
@RW1
FUJITSU MICROELECTRONICS LIMITED
XCH
R0,
XCH
R1,
@RW0+RW7 @RW0+
XCH
R0,
XCH
R0,
XCH
+C R0,
@RW0+
XCH
+D R0,
@RW1+
XCH
XCH
+F R0,
@RW3+
@RW2+
+E R0,
XCH
R1,
@RW3+disp16 @RW3
XCH
R0,
addr16
XCH
R1,
@RW3+
XCH
R1,
@PC+disp16 @RW2+
XCH
R1,
@RW1+RW7 @RW1+
XCH
R0,
XCH
R1,
@RW2+disp16 @RW2
XCH
R0,
XCH
+B R0,
@RW3
@RW2
+A R0,
XCH
XCH
R1,
@RW7+disp8 R7
XCH
R1,
@RW1+disp16 @RW1
XCH
R0,
XCH
R1,
@RW6+disp8 R6
XCH
+7 R0,
R7
R6
+6 R0,
XCH
R1,
@RW4+disp8 R4
XCH
R1,
@RW5+disp8 R5
XCH
R0,
XCH
R1,
@RW3+disp8 R3
XCH
R0,
XCH
+4 R0,
R4
XCH
+3 R0,
R3
R2
XCH
R1,
@RW2+disp8 R2
XCH
R0,
XCH
XCH
R1,
@RW1+disp8 R1
XCH
R0,
+2 R0,
20
XCH
R1,
@RW0+disp8 R0
XCH
R0,
10
XCH
+1 R0,
R1
R0
+0 R0,
XCH
00
40
XCH
R1,
addr16
XCH
R2,
@RW3+
XCH
R2,
@PC+disp16 @RW2+
XCH
R1,
XCH
R2,
@RW1+RW7 @RW1+
XCH
R1,
XCH
R2,
@RW0+RW7 @RW0+
XCH
R1,
XCH
R2,
@RW3+disp16 @RW3
XCH
R1,
XCH
R2,
@RW2+disp16 @RW2
XCH
R1,
XCH
R2,
@RW1+disp16 @RW1
XCH
R1,
XCH
R2,
@RW0+disp16 @RW0
XCH
R1,
XCH
R2,
@RW7+disp8 R7
XCH
R1,
XCH
R2,
@RW6+disp8 R6
XCH
R1,
XCH
R2,
@RW5+disp8 R5
XCH
R1,
XCH
R2,
@RW4+disp8 R4
XCH
R1,
XCH
R2,
@RW3+disp8 R3
XCH
R1,
XCH
R2,
@RW2+disp8 R2
XCH
R1,
XCH
R2,
@RW1+disp8 R1
XCH
R1,
XCH
R2,
@RW0+disp8 R0
XCH
R1,
30
60
XCH
R2,
addr16
XCH
R3,
@RW3+
XCH
R3,
@PC+disp16 @RW2+
XCH
R2,
XCH
R3,
@RW1+RW7 @RW1+
XCH
R2,
XCH
R3,
@RW0+RW7 @RW0+
XCH
R2,
XCH
R3,
@RW3+disp16 @RW3
XCH
R2,
XCH
R3,
@RW2+disp16 @RW2
XCH
R2,
XCH
R3,
@RW1+disp16 @RW1
XCH
R2,
XCH
R3,
@RW0+disp16 @RW0
XCH
R2,
XCH
R3,
@RW7+disp8 R7
XCH
R2,
XCH
R3,
@RW6+disp8 R6
XCH
R2,
XCH
R3,
@RW5+disp8 R5
XCH
R2,
XCH
R3,
@RW4+disp8 R4
XCH
R2,
XCH
R3,
@RW3+disp8 R3
XCH
R2,
XCH
R3,
@RW2+disp8 R2
XCH
R2,
XCH
R3,
@RW1+disp8 R1
XCH
R2,
XCH
R3,
@RW0+disp8 R0
XCH
R2,
50
80
XCH
R3,
addr16
XCH
R4,
@RW3+
XCH
R4,
@PC+disp16 @RW2+
XCH
R3,
XCH
R4,
@RW1+RW7 @RW1+
XCH
R3,
XCH
R4,
@RW0+RW7 @RW0+
XCH
R3,
XCH
R4,
@RW3+disp16 @RW3
XCH
R3,
XCH
R4,
@RW2+disp16 @RW2
XCH
R3,
XCH
R4,
@RW1+disp16 @RW1
XCH
R3,
XCH
R4,
@RW0+disp16 @RW0
XCH
R3,
XCH
R4,
@RW7+disp8 R7
XCH
R3,
XCH
R4,
@RW6+disp8 R6
XCH
R3,
XCH
R4,
@RW5+disp8 R5
XCH
R3,
XCH
R4,
@RW4+disp8 R4
XCH
R3,
XCH
R4,
@RW3+disp8 R3
XCH
R3,
XCH
R4,
@RW2+disp8 R2
XCH
R3,
XCH
R4,
@RW1+disp8 R1
XCH
R3,
XCH
R4,
@RW0+disp8 R0
XCH
R3,
70
A0
XCH
R4,
addr16
XCH
R5,
@RW3+
XCH
R5,
@PC+disp16 @RW2+
XCH
R4,
XCH
R5,
@RW1+RW7 @RW1+
XCH
R4,
XCH
R5,
@RW0+RW7 @RW0+
XCH
R4,
XCH
R5,
@RW3+disp16 @RW3
XCH
R4,
XCH
R5,
@RW2+disp16 @RW2
XCH
R4,
XCH
R5,
@RW1+disp16 @RW1
XCH
R4,
XCH
R5,
@RW0+disp16 @RW0
XCH
R4,
XCH
R5,
@RW7+disp8 R7
XCH
R4,
XCH
R5,
@RW6+disp8 R6
XCH
R4,
XCH
R5,
@RW5+disp8 R5
XCH
R4,
XCH
R5,
@RW4+disp8 R4
XCH
R4,
XCH
R5,
@RW3+disp8 R3
XCH
R4,
XCH
R5,
@RW2+disp8 R2
XCH
R4,
XCH
R5,
@RW1+disp8 R1
XCH
R4,
XCH
R5,
@RW0+disp8 R0
XCH
R4,
90
C0
XCH
R5,
addr16
XCH
R6,
@RW3+
XCH
R6,
@PC+disp16 @RW2+
XCH
R5,
XCH
R6,
@RW1+RW7 @RW1+
XCH
R5,
XCH
R6,
@RW0+RW7 @RW0+
XCH
R5,
XCH
R6,
@RW3+disp16 @RW3
XCH
R5,
XCH
R6,
@RW2+disp16 @RW2
XCH
R5,
XCH
R6,
@RW1+disp16 @RW1
XCH
R5,
XCH
R6,
@RW0+disp16 @RW0
XCH
R5,
XCH
R6,
@RW7+disp8 R7
XCH
R5,
XCH
R6,
@RW6+disp8 R6
XCH
R5,
XCH
R6,
@RW5+disp8 R5
XCH
R5,
XCH
R6,
@RW4+disp8 R4
XCH
R5,
XCH
R6,
@RW3+disp8 R3
XCH
R5,
XCH
R6,
@RW2+disp8 R2
XCH
R5,
XCH
R6,
@RW1+disp8 R1
XCH
R5,
XCH
R6,
@RW0+disp8 R0
XCH
R5,
B0
E0
XCH
R6,
addr16
XCH
R7,
@RW3+
XCH
R7,
@PC+disp16 @RW2+
XCH
R6,
XCH
R7,
@RW1+RW7 @RW1+
XCH
R6,
XCH
R7,
@RW0+RW7 @RW0+
XCH
R6,
XCH
R7,
@RW3+disp16 @RW3
XCH
R6,
XCH
R7,
@RW2+disp16 @RW2
XCH
R6,
XCH
R7,
@RW1+disp16 @RW1
XCH
R6,
XCH
R7,
@RW0+disp16 @RW0
XCH
R6,
XCH
R7,
@RW7+disp8 R7
XCH
R6,
XCH
R7,
@RW6+disp8 R6
XCH
R6,
XCH
R7,
@RW5+disp8 R5
XCH
R6,
XCH
R7,
@RW4+disp8 R4
XCH
R6,
XCH
R7,
@RW3+disp8 R3
XCH
R6,
XCH
R7,
@RW2+disp8 R2
XCH
R6,
XCH
R7,
@RW1+disp8 R1
XCH
R6,
XCH
R7,
@RW0+disp8 R0
XCH
R6,
D0
XCH
R7,
addr16
@PC+disp16
XCH
R7,
@RW1+RW7
XCH
R7,
@RW0+RW7
XCH
R7,
@RW3+disp16
XCH
R7,
@RW2+disp16
XCH
R7,
@RW1+disp16
XCH
R7,
@RW0+disp16
XCH
R7,
@RW7+disp8
XCH
R7,
@RW6+disp8
XCH
R7,
@RW5+disp8
XCH
R7,
@RW4+disp8
XCH
R7,
@RW3+disp8
XCH
R7,
@RW2+disp8
XCH
R7,
@RW1+disp8
XCH
R7,
@RW0+disp8
XCH
R7,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.12-1 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
CM44-00203-3
F2MC-16FX ファミリ
付録
付録 C 命令マップ
C.13 XCHW RWi,ea 命令
表 C.13-1 に , XCHW RWi,ea 命令の一覧表を示します。
CM44-00203-3
FUJITSU MICROELECTRONICS LIMITED
389
390
XCHW
RW1,
@RW1+disp8 RW1
XCHW
RW0,
XCHW
RW1,
@RW2+disp8 RW2
XCHW
RW1,
@RW3+disp8 RW3
RW0
XCHW
XCHW
+2 RW0,
RW2
XCHW
+3 RW0,
RW3
FUJITSU MICROELECTRONICS LIMITED
XCHW
RW0,
XCHW
RW1,
@RW6+disp8 RW6
XCHW
RW0,
XCHW
RW1,
@RW7+disp8 RW7
XCHW
RW1,
@RW0+disp16 @RW0
XCHW
RW1,
@RW1+disp16 @RW1
XCHW
RW0,
XCHW
RW1,
@RW2+disp16 @RW2
XCHW
RW0,
XCHW
RW1,
@RW3+disp16 @RW3
XCHW
RW0,
XCHW
+6 RW0,
RW6
XCHW
+7 RW0,
RW7
XCHW
+8 RW0,
@RW0
XCHW
@RW1
XCHW
+A RW0,
@RW2
XCHW
+B RW0,
@RW3
XCHW
+C RW0,
@RW0+
@RW1+RW7
@PC+disp16
XCHW
RW0,
addr16
XCHW
+E RW0,
@RW2+
XCHW
+F RW0,
@RW3+
XCHW
RW0,
@RW1+
+D RW0,
XCHW
RW0,
@RW0+RW7
XCHW
RW0,
XCHW
RW0,
XCHW
+9 RW0,
RW5
XCHW
RW1,
@RW3+
XCHW
RW1,
@RW2+
XCHW
RW1,
@RW1+
XCHW
RW1,
@RW0+
XCHW
RW1,
@RW5+disp8 RW5
XCHW
RW0,
XCHW
+5 RW0,
XCHW
RW1,
@RW4+disp8 RW4
XCHW
RW0,
XCHW
RW0,
XCHW
+4 RW0,
RW4
RW1
+1 RW0,
XCHW
RW0,
@RW0+disp8
XCHW
RW1,
RW0
XCHW
RW0,
+0 RW0,
XCHW
20
10
00
XCHW
RW2,
RW0
40
XCHW
RW1,
addr16
@PC+disp16
XCHW
RW1,
@RW1+RW7
XCHW
RW1,
@RW0+RW7
XCHW
RW1,
XCHW
RW2,
@RW3+
XCHW
RW2,
@RW2+
XCHW
RW2,
@RW1+
XCHW
RW2,
@RW0+
XCHW
RW2,
@RW3+disp16 @RW3
XCHW
RW1,
XCHW
RW2,
@RW2+disp16 @RW2
XCHW
RW1,
XCHW
RW2,
@RW1+disp16 @RW1
XCHW
RW1,
XCHW
RW2,
@RW0+disp16 @RW0
XCHW
RW1,
XCHW
RW2,
@RW7+disp8 RW7
XCHW
RW1,
XCHW
RW2,
@RW6+disp8 RW6
XCHW
RW1,
XCHW
RW2,
@RW5+disp8 RW5
XCHW
RW1,
XCHW
RW2,
@RW4+disp8 RW4
XCHW
RW1,
XCHW
RW2,
@RW3+disp8 RW3
XCHW
RW1,
XCHW
RW2,
@RW2+disp8 RW2
XCHW
RW1,
XCHW
RW2,
@RW1+disp8 RW1
XCHW
RW1,
@RW0+disp8
XCHW
RW1,
30
XCHW
RW3,
RW0
60
XCHW
RW2,
addr16
@PC+disp16
XCHW
RW2,
@RW1+RW7
XCHW
RW2,
@RW0+RW7
XCHW
RW2,
XCHW
RW3,
@RW3+
XCHW
RW3,
@RW2+
XCHW
RW3,
@RW1+
XCHW
RW3,
@RW0+
XCHW
RW3,
@RW3+disp16 @RW3
XCHW
RW2,
XCHW
RW3,
@RW2+disp16 @RW2
XCHW
RW2,
XCHW
RW3,
@RW1+disp16 @RW1
XCHW
RW2,
XCHW
RW3,
@RW0+disp16 @RW0
XCHW
RW2,
XCHW
RW3,
@RW7+disp8 RW7
XCHW
RW2,
XCHW
RW3,
@RW6+disp8 RW6
XCHW
RW2,
XCHW
RW3,
@RW5+disp8 RW5
XCHW
RW2,
XCHW
RW3,
@RW4+disp8 RW4
XCHW
RW2,
XCHW
RW3,
@RW3+disp8 RW3
XCHW
RW2,
XCHW
RW3,
@RW2+disp8 RW2
XCHW
RW2,
XCHW
RW3,
@RW1+disp8 RW1
XCHW
RW2,
@RW0+disp8
XCHW
RW2,
50
XCHW
RW4,
RW0
80
XCHW
RW3,
addr16
@PC+disp16
XCHW
RW3,
@RW1+RW7
XCHW
RW3,
@RW0+RW7
XCHW
RW3,
XCHW
RW4,
@RW3+
XCHW
RW4,
@RW2+
XCHW
RW4,
@RW1+
XCHW
RW4,
@RW0+
XCHW
RW4,
@RW3+disp16 @RW3
XCHW
RW3,
XCHW
RW4,
@RW2+disp16 @RW2
XCHW
RW3,
XCHW
RW4,
@RW1+disp16 @RW1
XCHW
RW3,
XCHW
RW4,
@RW0+disp16 @RW0
XCHW
RW3,
XCHW
RW4,
@RW7+disp8 RW7
XCHW
RW3,
XCHW
RW4,
@RW6+disp8 RW6
XCHW
RW3,
XCHW
RW4,
@RW5+disp8 RW5
XCHW
RW3,
XCHW
RW4,
@RW4+disp8 RW4
XCHW
RW3,
XCHW
RW4,
@RW3+disp8 RW3
XCHW
RW3,
XCHW
RW4,
@RW2+disp8 RW2
XCHW
RW3,
XCHW
RW4,
@RW1+disp8 RW1
XCHW
RW3,
@RW0+disp8
XCHW
RW3,
70
XCHW
RW5,
RW0
A0
XCHW
RW4,
addr16
@PC+disp16
XCHW
RW4,
@RW1+RW7
XCHW
RW4,
@RW0+RW7
XCHW
RW4,
XCHW
RW5,
@RW3+
XCHW
RW5,
@RW2+
XCHW
RW5,
@RW1+
XCHW
RW5,
@RW0+
XCHW
RW5,
@RW3+disp16 @RW3
XCHW
RW4,
XCHW
RW5,
@RW2+disp16 @RW2
XCHW
RW4,
XCHW
RW5,
@RW1+disp16 @RW1
XCHW
RW4,
XCHW
RW5,
@RW0+disp16 @RW0
XCHW
RW4,
XCHW
RW5,
@RW7+disp8 RW7
XCHW
RW4,
XCHW
RW5,
@RW6+disp8 RW6
XCHW
RW4,
XCHW
RW5,
@RW5+disp8 RW5
XCHW
RW4,
XCHW
RW5,
@RW4+disp8 RW4
XCHW
RW4,
XCHW
RW5,
@RW3+disp8 RW3
XCHW
RW4,
XCHW
RW5,
@RW2+disp8 RW2
XCHW
RW4,
XCHW
RW5,
@RW1+disp8 RW1
XCHW
RW4,
@RW0+disp8
XCHW
RW4,
90
XCHW
RW6,
RW0
C0
XCHW
RW5,
addr16
@PC+disp16
XCHW
RW5,
@RW1+RW7
XCHW
RW5,
@RW0+RW7
XCHW
RW5,
XCHW
RW6,
@RW3+
XCHW
RW6,
@RW2+
XCHW
RW6,
@RW1+
XCHW
RW6,
@RW0+
XCHW
RW6,
@RW3+disp16 @RW3
XCHW
RW5,
XCHW
RW6,
@RW2+disp16 @RW2
XCHW
RW5,
XCHW
RW6,
@RW1+disp16 @RW1
XCHW
RW5,
XCHW
RW6,
@RW0+disp16 @RW0
XCHW
RW5,
XCHW
RW6,
@RW7+disp8 RW7
XCHW
RW5,
XCHW
RW6,
@RW6+disp8 RW6
XCHW
RW5,
XCHW
RW6,
@RW5+disp8 RW5
XCHW
RW5,
XCHW
RW6,
@RW4+disp8 RW4
XCHW
RW5,
XCHW
RW6,
@RW3+disp8 RW3
XCHW
RW5,
XCHW
RW6,
@RW2+disp8 RW2
XCHW
RW5,
XCHW
RW6,
@RW1+disp8 RW1
XCHW
RW5,
@RW0+disp8
XCHW
RW5,
B0
XCHW
RW7,
RW0
E0
XCHW
RW6,
addr16
@PC+disp16
XCHW
RW6,
@RW1+RW7
XCHW
RW6,
@RW0+RW7
XCHW
RW6,
XCHW
RW7,
@RW3+
XCHW
RW7,
@RW2+
XCHW
RW7,
@RW1+
XCHW
RW7,
@RW0+
XCHW
RW7,
@RW3+disp16 @RW3
XCHW
RW6,
XCHW
RW7,
@RW2+disp16 @RW2
XCHW
RW6,
XCHW
RW7,
@RW1+disp16 @RW1
XCHW
RW6,
XCHW
RW7,
@RW0+disp16 @RW0
XCHW
RW6,
XCHW
RW7,
@RW7+disp8 RW7
XCHW
RW6,
XCHW
RW7,
@RW6+disp8 RW6
XCHW
RW6,
XCHW
RW7,
@RW5+disp8 RW5
XCHW
RW6,
XCHW
RW7,
@RW4+disp8 RW4
XCHW
RW6,
XCHW
RW7,
@RW3+disp8 RW3
XCHW
RW6,
XCHW
RW7,
@RW2+disp8 RW2
XCHW
RW6,
XCHW
RW7,
@RW1+disp8 RW1
XCHW
RW6,
@RW0+disp8
XCHW
RW6,
D0
XCHW
RW7,
addr16
@PC+disp16
XCHW
RW7,
@RW1+RW7
XCHW
RW7,
@RW0+RW7
XCHW
RW7,
@RW3+disp16
XCHW
RW7,
@RW2+disp16
XCHW
RW7,
@RW1+disp16
XCHW
RW7,
@RW0+disp16
XCHW
RW7,
@RW7+disp8
XCHW
RW7,
@RW6+disp8
XCHW
RW7,
@RW5+disp8
XCHW
RW7,
@RW4+disp8
XCHW
RW7,
@RW3+disp8
XCHW
RW7,
@RW2+disp8
XCHW
RW7,
@RW1+disp8
XCHW
RW7,
@RW0+disp8
XCHW
RW7,
F0
付録
付録 C 命令マップ
F2MC-16FX ファミリ
表 C.13-1 XCHW RWi, ea 命令 ( 第 1 バイト =7FH)
CM44-00203-3
索引
索引
A
A
ADD (Add Byte Data of Destination and Source to
Destination).................................................. 87
ADDC (Add Byte Data of Accumulator and Effective
Address with Carry to Accumulator)............... 90
ADDC (Add Byte Data of AL and AH with Carry to
AL) ............................................................. 89
ADDCW (Add Word Data of Accumulator and
Effective Address with Carry to
Accumulator) ............................................... 92
ADDDC (Add Decimal Data of AL and AH with
Carry to AL)................................................. 94
ADDL (Add Long Word Data of Destination and
Source to Destination) ................................... 95
ADDSP (Add Word Data of Stack Pointer and
Immediate Data to Stack Pointer) ................... 97
ADDW (Add Word Data of AL and
AH to AL).................................................... 99
ADDW (Add Word Data of Destination and Source to
Destination)................................................ 100
AND (And Byte Data of Destination and Source to
Destination)................................................ 102
AND (And Byte Data of Immediate Data and
Condition Code Register) ............................ 104
ANDL (And Long Word Data of Destination and
Source to Destination) ................................. 106
ANDW (And Word Data of AH and
AL to AL) .................................................. 108
ANDW (And Word Data of Destination and Source to
Destination)................................................ 109
ASR (Arithmetic Shift Byte Data of Accumulator to
Right) ........................................................ 111
ASRL (Arithmetic Shift Long Word Data of
Accumulator to Right)................................. 113
ASRW (Arithmetic Shift Word Data of Accumulator
to Right)............................................. 115, 117
アキュムレータ (A)......................................... 22
CMPW (Compare Word Data of Destination and
Source).......................................................136
CWBNE (Compare Word Data and Branch if not
equal) .........................................................138
CCR
コンディションコードレジスタ (CCR)............27
CMR
コモンレジスタバンクプリフィックス
(CMR)..........................................................42
CPU
CPU の概要........................................................2
CPU のメモリ空間 ...........................................10
F2MC-16FX CPU のハードウェア構造 ...............4
D
D
DBNZ (Decrement Byte Data and Branch
if not zero) ..................................................140
DEC (Decrement Byte Data).............................142
DECL (Decrement Long Word Data).................143
DECW (Decrement Word Data) ........................144
DIV (Divide Word Data by Byte Data) ..............146
DIVU (Divide unsigned Word Data by unsigned Byte
Data) ..........................................................150
DIVUW (Divide unsigned Long Word Data by
unsigned Word Data) ...................................152
DIVW (Divide Long Word Data by
Word Data) .................................................148
DWBNZ (Decrement Word Data and Branch if not
Zero) ..........................................................154
DMA
ダイレクトメモリアクセス (DMA)..................49
DPR
ダイレクトページレジスタ (DPR) ...................32
E
E
EXT (Sign Extend from Byte Data to
Word Data) .................................................156
EXTW (Sign Extend from Word Data to Long Word
Data) ..........................................................157
B
B
BBcc (Branch if Bit Condition satisfied)............ 119
Bcc (Branch relative if Condition satisfied)........ 121
C
C
CALL (Call Subrourtine) ................................. 123
CALLP (Call physical Address)........................ 125
CALLV (Call Vectored Subroutine) .................. 127
CBNE (Compare Byte Data and Branch
if not equal)................................................ 129
CLRB (Clear Bit) ............................................ 131
CMP (Compare Byte Data of Destination
and Source) ................................................ 132
CMPL (Compare Long Word Data of Destination and
Source) ...................................................... 134
CM44-00203-3
F
F
FILS, FILSI (Fill String Byte) ...........................158
FILSW, FILSWI (Fill String Word) ...................160
F2MC-16FX
F2MC-16FX CPU のハードウェア構造 ...............4
F2MC-16FX ファミリ MCU のハードウェア構造
例 ..................................................................6
I
I
INC (Increment Byte Data
( アドレス指定 )) .......................................162
INCL (Increment Long Word Data) ...................163
INCW (Increment Word Data) ..........................164
INT (Software Interrupt( ベクタ指定 )).............168
FUJITSU MICROELECTRONICS LIMITED
391
索引
INT (Software Interrupt) .................................. 166
INT9 (Software Interrupt) ................................ 170
INTP (Software Interrupt) ................................ 172
ICR
割込み制御レジスタ (ICR) .............................. 53
ILM
割込みレベルマスク (ILM).............................. 29
J
J
JCTX (Jump Context) ...................................... 174
JMP (Jump Destination Address) ...................... 176
JMPP (Jump Destination Physical Address) ....... 178
L
L
LINK (Link and create new stack frame) ........... 179
LSL (Logical Shift Byte Data of Accumulator
to Left)....................................................... 181
LSLL (Logical Shift Long Word Data of Accumulator
to Left)....................................................... 183
LSLW (Logical Shift Word Data of Accumulator to
Left) .................................................. 185, 187
LSR (Logical Shift Byte Data of Accumulator to
Right) ........................................................ 189
LSRL (Logical Shift Long Word Data of Accumulator
to Right)..................................................... 191
LSRW (Logical Shift Word Data of Accumulator to
Right) ................................................ 193, 195
M
M
MOV (Move Byte Data from Accumulator to
Destination)................................................ 199
MOV (Move Byte Data from AH
to Memory ) ............................................... 205
MOV (Move Byte Data from Source
to Accumulator).......................................... 197
MOV (Move Byte Data from Source
to Destination) ............................................ 203
MOV (Move Byte Immediate data
to Destination) ............................................ 201
MOVB (Move Bit Data from Accumulator to Bit
Address) .................................................... 209
MOVB (Move Bit Data from Bit Address to
Accumulator) ............................................. 207
MOVEA (Move Effective Address
to Destination) ............................................ 211
MOVL (Move Long Word Data from Accumulator to
Destination)................................................ 215
MOVL (Move Long Word Data from Source to
Accumulator) ............................................. 213
MOVN (Move Immediate Nibble Data to
Accumulator) ............................................. 217
MOVS, MOVSI (Move String Byte
with Increment) .......................................... 218
MOVSD (Move String Byte
with Decrement) ......................................... 220
MOVSW, MOVSWI (Move String Word with
Increment).................................................. 221
MOVSWI (Move String Word
with Decrement) ......................................... 223
392
MOVW (Move Immediate Word Data
to Destination) ............................................228
MOVW (Move Immediate Word Data
to io) ..........................................................232
MOVW (Move Word Data from Accumulator to
Destination) ................................................226
MOVW (Move Word Data from AH
to Memory).................................................233
MOVW (Move Word Data from Source to
Accumulator) ..............................................224
MOVW (Move Word Data from source to
Destination) ................................................230
MOVX (Move Byte Data with Sign Extension from
Source to Accumulator) ...............................235
MUL (Multiply Byte Data of Accumulator and
Effective Address) .......................................238
MUL (Multiply Byte Data of Accumulator)........237
MULU (Multiply Unsigned Byte Data of Accumulator
and Effective Address).................................244
MULU (Multiply Unsigned Byte Data of
Accumulator) ..............................................243
MULUW (Multiply Unsigned Word Data of
Accumulator and Effective Address) .............247
MULUW (Multiply Unsigned Word Data of
Accumulator) ..............................................246
MULW (Multiply Word Data of Accumulator and
Effective Address) .......................................241
MULW (Multiply Word Data
of Accumulator) ..........................................240
MCU
F2MC-16FX ファミリ MCU のハードウェア構造
例 ..................................................................6
N
N
NEG (Negate Byte Data of Destination).............248
NEGW (Negate Word Data of Destination) ........250
NOP (No Operation) ........................................252
NOT (Not Byte Data of Destination)..................253
NOTW (Not Word Data of Destination).............255
NRML (NORMALIZE Long Word) ..................257
NCC
フラグ変化抑止プリフィックスコード
(NCC) ..........................................................43
NMI
NMI 制御ステータスレジスタ (NMI)...............56
NMI 制御ステータスレジスタ
NMI 制御ステータスレジスタ (NMI)...............56
O
O
OR (Or Byte Data of Destination and Source to
Destination) ................................................259
OR (Or Byte Data of Immediate Data and Condition
Code Register to Condition Code
Register).....................................................261
ORL (Or Long Word Data of Destination and Source
to Destination )............................................263
ORW (Or Word Data of AH and AL to AL) .......265
ORW (Or Word Data of Destination and Source to
Destination) ................................................266
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
索引
P
P
POPW (Pop Registers from Stack Memory)....... 274
POPW (Pop Word Data of Accumulator from Stack
Memory).................................................... 268
POPW (Pop Word Data of AH from Stack
Memory).................................................... 270
POPW (Pop Word Data of Program Status from Stack
Memory).................................................... 272
PUSHW (Push Registers to Stack Memory) ....... 278
PUSHW (Push Word Data of Inherent Register to
Stack Memory) ........................................... 276
PC
プログラムカウンタ (PC)................................ 31
PS
プロセッサステータス (PS)............................. 26
R
SUBCW (Subtract Word Data of Effective Address
from Accumulator with Carry
to Accumulator) ..........................................307
SUBDC (Subtract Decimal Data of AL from AH with
Carry to AL) ...............................................309
SUBL (Subtract Long Word Data of Source from
Destination to Destination) ...........................310
SUBW (Subtract Word Data of AL from
AH to AL) ..................................................314
SUBW (Subtract Word Data of Source from
Destination to Destination) ...........................312
SWAP (Swap Byte Data of Accumulator) ..........315
SWAPW (Swap Word Data
of Accumulator) ..........................................316
SSP
ユーザスタックポインタ (USP) とシステムス
タックポインタ (SSP) .................................24
U
R
RET (Return from Subroutine) ......................... 280
RETI (Return from Interrupt) ........................... 282
RETP (Return from physical Address)............... 285
ROLC (Rotate Byte Data of Accumulator With Carry
to Left)....................................................... 287
RORC (Rotate Byte Data of Accumulator With Carry
to Right)..................................................... 289
RAM
RAM 上の汎用レジスタの呼び出し方 ............ 38
RAM 上のレジスタバンク .............................. 36
RP
レジスタバンクポインタ (RP)......................... 28
U
UNLINK (Unlink and create new stack
frame) ........................................................317
USP
ユーザスタックポインタ (USP) とシステムス
タックポインタ (SSP) .................................24
W
W
WBTc (Wait until Bit Condition satisfied)..........318
X
X
XCH (Exchange Byte Data of Source
to Destination) ............................................320
XCHW (Exchange Word Data of Source to
Destination) ................................................322
XOR (Exclusive Or Byte Data of Destination and
Source to Destination)..................................324
XORL (Exclusive Or Long Word Data
of Destination) ............................................326
XORW (Exclusive Or Word Data of AH and AL to
AL) ............................................................328
XORW (Exclusive Or Word Data of Destination and
Source to Destination)..................................329
S
S
SBBS (Set Bit and Branch if Bit Set)................. 291
SCEQ, SCEQI (Scan String Byte until equal with
Increment).................................................. 293
SCEQD (Scan String Byte until equal with
Decrement) ................................................ 295
SCWEQ, SCWEQI (Scan String Word until equal
with Increment) .......................................... 297
SCWEQD (Scan String Word until equal with
Decrement) ................................................ 299
SETB (Set Bit) ................................................ 301
SUB (Subtract Byte Data of Source from Destination
to Destination) ............................................ 302
SUBC (Subtract Byte Data of AL from AH with Carry
to AL)........................................................ 304
SUBC (Subtract Byte Data of Effective Address from
Accumulator with Carry to
Accumulator) ............................................. 305
CM44-00203-3
Z
Z
ZEXT (Zero Extend from Byte Data
to Word Data) .............................................331
ZEXTW (Zero Extend from Word Data to Long Word
Data) ..........................................................332
FUJITSU MICROELECTRONICS LIMITED
393
索引
あ
ち
アキュムレータ
アキュムレータ (A)......................................... 22
アドレス指定
バンク方式のアドレス指定............................. 13
リニア方式のアドレス指定............................. 11
アドレス補正
奇数アドレス補正 ................................... 86, 336
直接アドレス
直接アドレス指定方式 ....................................77
か
は
間接アドレス
間接アドレス指定方式 .................................... 79
き
記号
命令細則中で使用される記号 ( 略称 )............. 85
奇数アドレス補正
奇数アドレス補正 ................................... 86, 336
こ
コモン
コモンレジスタバンクプリフィックス
(CMR) ......................................................... 42
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ........... 27
し
システムスタックポインタ
ユーザスタックポインタ (USP) とシステムス
タックポインタ (SSP) ................................. 24
実効アドレス
実効アドレスフィールド ................................ 76
実行サイクル
実行サイクル数....................................... 86, 336
処理時間
ハードウェア割込みの処理時間...................... 64
せ
セレクト
バンクセレクトプリフィックス...................... 40
そ
ソフトウェア例外
ソフトウェア例外 ( 命令コード ) .................... 70
ソフトウェア割込み
ソフトウェア割込み.................................. 49, 65
ソフトウェア割込みシステムの構造 .............. 65
ソフトウェア割込みの動作............................. 66
多重ソフトウェア割込み ................................ 67
た
ダイレクトページレジスタ
ダイレクトページレジスタ (DPR) .................. 32
ダイレクトメモリアクセス
ダイレクトメモリアクセス (DMA) ................. 49
多重ソフトウェア割込み
多重ソフトウェア割込み ................................ 67
多重ハードウェア割込み
多重ハードウェア割込み ................................ 67
多バイト長データ
多バイト長データのアクセス ......................... 17
メモリ空間における多バイト長データの
配置 ............................................................ 16
394
の
ノンマスカブルインタラプト
ハードウェア例外 ( ノンマスカブルインタラプ
ト ) ..............................................................71
ハードウェア構造
F2MC-16FX CPU のハードウェア構造 ...............4
ハードウェア構造例
F2MC-16FX ファミリ MCU のハードウェア構造
例 ..................................................................6
ハードウェア例外
ハードウェア例外 ( ノンマスカブルインタラプ
ト ) ..............................................................71
ハードウェア割込み
多重ハードウェア割込み .................................67
ハードウェア割込み ..................................48, 61
ハードウェア割込みシステムの構造 ...............61
ハードウェア割込みの処理時間 ......................64
ハードウェア割込みの動作 .............................62
バンク
コモンレジスタバンクプリフィックス
(CMR)..........................................................42
バンクセレクトプリフィックス ......................40
バンクに分割されたメモリ空間と各バンクレジ
スタの値......................................................15
バンク方式
バンク方式のアドレス指定 .............................13
バンクレジスタ
バンクに分割されたメモリ空間と各バンクレジ
スタの値......................................................15
バンクレジスタ ...............................................33
汎用レジスタ
RAM 上の汎用レジスタの呼び出し方 .............38
ふ
フラグ変化抑止プリフィックス
フラグ変化抑止プリフィックスコード
(NCC) ..........................................................43
プリフィックス
コモンレジスタバンクプリフィックス
(CMR)..........................................................42
バンクセレクトプリフィックス ......................40
フラグ変化抑止プリフィックスコード
(NCC) ..........................................................43
プリフィックスコードが連続している
とき.............................................................45
割込み要求を受け付けない命令とプリフィック
スコードの関係...........................................44
プログラムカウンタ
プログラムカウンタ (PC) ................................31
プロセッサステータス
プロセッサステータス (PS) .............................26
へ
ベクタテーブル
割込みベクタテーブル ....................................51
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
索引
ほ
補正
奇数アドレス補正 ................................... 86, 336
め
命令
ソフトウェア例外 ( 命令コード ) .................... 70
命令一覧表の記号の説明 .............................. 337
命令細則中で使用される記号 ( 略称 )............. 85
命令細則の読み方 ........................................... 84
命令マップの構造 ......................................... 357
割込み要求を受け付けない命令とプリフィック
スコードの関係 .......................................... 44
命令マップ
命令マップの構造 ......................................... 357
メモリ空間
CPU のメモリ空間 .......................................... 10
バンクに分割されたメモリ空間と各バンクレジ
スタの値 ..................................................... 15
メモリ空間における多バイト長データの
配置 ............................................................ 16
ゆ
ユーザスタックポインタ
ユーザスタックポインタ (USP) とシステムス
タックポインタ (SSP) ................................. 24
優先順位
割込み受付の優先順位 .................................... 68
よ
読み方
命令細則の読み方 ........................................... 84
り
リニア方式
リニア方式のアドレス指定............................. 11
略称
命令細則中で使用される記号 ( 略称 )............. 85
れ
例外
ソフトウェア例外 ( 命令コード ) .................... 70
CM44-00203-3
ハードウェア例外 ( ノンマスカブルインタラプ
ト ) ..............................................................71
例外 .................................................................49
レジスタ
NMI 制御ステータスレジスタ (NMI)...............56
コモンレジスタバンクプリフィックス
(CMR)..........................................................42
割込み制御レジスタ (ICR)...............................53
レジスタバンク
RAM 上のレジスタバンク ...............................36
レジスタバンクポインタ
レジスタバンクポインタ (RP) .........................28
連続
プリフィックスコードが連続している
とき.............................................................45
わ
割込み
ソフトウェア割込み ..................................49, 65
ソフトウェア割込みシステムの構造 ...............65
ソフトウェア割込みの動作 .............................66
多重ソフトウェア割込み .................................67
多重ハードウェア割込み .................................67
ハードウェア割込み ..................................48, 61
ハードウェア割込みシステムの構造 ...............61
ハードウェア割込みの処理時間 ......................64
ハードウェア割込みの動作 .............................62
割込み受付の優先順位 ....................................68
割込みフロー ...................................................59
割込みベクタ ...................................................50
割込みベクタテーブル ....................................51
割込み要求を受け付けない命令とプリフィック
スコードの関係...........................................44
割込み制御レジスタ
割込み制御レジスタ (ICR)...............................53
割込みベクタ
割込みベクタ ...................................................50
割込み要求
割込み要求を受け付けない命令とプリフィック
スコードの関係...........................................44
割込みレベルマスク
割込みレベルマスク (ILM) ..............................29
FUJITSU MICROELECTRONICS LIMITED
395
索引
396
FUJITSU MICROELECTRONICS LIMITED
CM44-00203-3
CM44-00203-3
富士通マイクロエレクトロニクス • CONTROLLER MANUAL
F2MC®-16FX
16 ビット・マイクロコントローラ
プログラミングマニュアル
2010 年 3 月 第 3 版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部 プロモーション推進部