3.8MB

本ドキュメントはCypress (サイプレス) 製品に関する情報が記載されております。
富士通マイクロエレクトロニクス
CM44-00201-4
CONTROLLER MANUAL
2
®
F MC -16LX
16 ビット・マイクロコントローラ
プログラミングマニュアル
F2MC®-16LX
16 ビット・マイクロコントローラ
プログラミングマニュアル
富士通マイクロエレクトロニクス株式会社
はじめに
■ 本書の目的と対象読者
F2MC-16LX シリーズは , ASIC(Application Specific IC) 対応が可能なオリジナル 16 ビッ
ト・ワンチップ・マイクロコントローラです。各種産業用機器 , OA 用機器 , 車載機器
など , 高速リアルタイム処理が要求される用途に適しています。
■ 商標
F2MC は , 富士通マイクロエレクトロニクス株式会社の登録商標です。
その他の記載されている社名および製品名などの固有名詞は,各社の商標または登録商
標です。
■ 本書の対象読者
本書は , 実際にこの F2MC-16LX シリーズ・マイクロ・コントローラを使用して製品を
開発される技術者の方 , 特に F2MC-16LX 用アセンブラのアセンブリ言語を用いてプロ
グラムを製作されるプログラマの方を対象に , F2MC-16LX シリーズの各種命令につい
て解説したものです。本書をご一読ください。
■ 本書の全体構成
本書は , 以下に示す 9 つの章および付録から構成されます。
第 1 章 F2MC-16LX CPU コアの概要と構成例
この章では , F2MC-16LX CPU コアの概要と構成例について説明します。
第 2 章 メモリ空間
この章では , F2MC-16LX CPU のメモリ空間について説明します。
第 3 章 専用レジスタ
この章では , F2MC-16LX CPU の専用レジスタについて説明します。
第 4 章 汎用レジスタ
この章では , F2MC-16LX CPU の汎用レジスタについて説明します。
第 5 章 プリフィックスコード
命令の前にプリフィックスコードを置くことにより , その命令の動作の一部を変更
することが可能です。この章では , プリフィックスコードについて説明します。
第 6 章 割込み処理
この章では , F2MC-16LX の割込み処理の機能と動作について説明しています。
第 7 章 アドレス指定方式
この章では , F2MC-16LX の各命令におけるアドレス指定方式について説明します。
第 8 章 実効命令細則の読み方
この章では ,「第 9 章 実行命令細則」で説明されている各項目およびそこで使わ
れている記号の意味について解説します。
i
第 9 章 実効命令細則
この章では , アセンブラで使用される各実効命令について , リファレンス形式で説
明します。
付 録
付録では , F2MC-16LX 命令一覧および命令マップなどを記載します。
■ 参照マニュアル
下記のマニュアルを併せてご覧ください。
• F2MC-16L/16LX/16/16H/16F アセンブラマニュアル
• F2MC-16LX 各品種別のハードウェアマニュアル
ii
•
•
•
•
•
•
•
本資料の記載内容は , 予告なしに変更することがありますので , ご用命の際は営業部門にご確認くださ
い。
本資料に記載された動作概要や応用回路例は , 半導体デバイスの標準的な動作や使い方を示したもので ,
実際に使用する機器での動作を保証するものではありません。したがいまして , これらを使用するにあ
たってはお客様の責任において機器の設計を行ってください。これらの使用に起因する損害などについ
ては , 当社はその責任を負いません。
本資料に記載された動作概要・回路図を含む技術情報は , 当社もしくは第三者の特許権 , 著作権等の知的
財産権やその他の権利の使用権または実施権の許諾を意味するものではありません。また , これらの使用
について , 第三者の知的財産権やその他の権利の実施ができることの保証を行うものではありません。し
たがって , これらの使用に起因する第三者の知的財産権やその他の権利の侵害について , 当社はその責任
を負いません。
本資料に記載された製品は , 通常の産業用 , 一般事務用 , パーソナル用 , 家庭用などの一般的用途に使用
されることを意図して設計・製造されています。極めて高度な安全性が要求され , 仮に当該安全性が確保
されない場合 , 社会的に重大な影響を与えかつ直接生命・身体に対する重大な危険性を伴う用途(原子力
施設における核反応制御 , 航空機自動飛行制御 , 航空交通管制 , 大量輸送システムにおける運行制御 , 生
命維持のための医療機器 , 兵器システムにおけるミサイル発射制御をいう), ならびに極めて高い信頼性
が要求される用途(海底中継器 , 宇宙衛星をいう)に使用されるよう設計・製造されたものではありませ
ん。したがって , これらの用途にご使用をお考えのお客様は , 必ず事前に営業部門までご相談ください。
ご相談なく使用されたことにより発生した損害などについては , 責任を負いかねますのでご了承くださ
い。
半導体デバイスはある確率で故障が発生します。当社半導体デバイスが故障しても , 結果的に人身事故 ,
火災事故 , 社会的な損害を生じさせないよう , お客様は , 装置の冗長設計 , 延焼対策設計 , 過電流防止対策
設計 , 誤動作防止設計などの安全設計をお願いします。
本資料に記載された製品を輸出または提供する場合は , 外国為替及び外国貿易法および米国輸出管理関
連法規等の規制をご確認の上 , 必要な手続きをおとりください。
本書に記載されている社名および製品名などの固有名詞は , 各社の商標または登録商標です。
Copyright ©1998-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章
F2MC-16LX CPU コアの概要と構成例 ...................................................... 1
F2MC-16LX CPU コアの概要 ................................................................................................. 2
F2MC-16LX の構成例 ............................................................................................................. 3
メモリ空間 ................................................................................................. 5
CPU のメモリ空間.................................................................................................................. 6
リニア方式のアドレス指定..................................................................................................... 7
バンク方式のアドレス指定..................................................................................................... 9
バンクに分割されたメモリ空間と各バンクレジスタの値.................................................... 11
多バイト長データのメモリ上でのデータ構成とアクセス.................................................... 12
専用レジスタ............................................................................................ 15
3.1 専用レジスタの種類 ............................................................................................................. 16
3.2 アキュムレータ (A)............................................................................................................... 18
3.3 ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) ................................. 20
3.4 プロセッサステータス (PS).................................................................................................. 22
3.4.1
割込みレベルマスク (ILM).......................................................................................... 23
3.4.2
レジスタバンクポインタ (RP).................................................................................... 24
3.4.3
コンディションコードレジスタ (CCR) ...................................................................... 25
3.5 プログラムカウンタ (PC) ..................................................................................................... 26
3.6 ダイレクトページレジスタ (DPR)........................................................................................ 27
3.7 バンクレジスタ .................................................................................................................... 28
第4章
4.1
4.2
第5章
5.1
5.2
5.3
5.4
第6章
汎用レジスタ............................................................................................ 29
RAM 上のレジスタバンク .................................................................................................... 30
RAM 上の汎用レジスタの呼び出し方 .................................................................................. 31
プリフィックスコード ............................................................................. 33
バンクセレクトプリフィックス ........................................................................................... 34
コモンレジスタバンクプリフィックス (CMR) ..................................................................... 36
フラグ変化抑止プリフィックスコード (NCC) ..................................................................... 37
プリフィックスコードに関する制約 .................................................................................... 38
割込み処理 ............................................................................................... 41
6.1 割込み処理............................................................................................................................ 42
6.2 ハードウェア割込みの動作フロー........................................................................................ 44
6.3 割込み処理のフローチャートとレジスタの退避 .................................................................. 45
6.4 割込みベクタ ........................................................................................................................ 47
6.5 拡張インテリジェント I/O サービス..................................................................................... 48
6.5.1
拡張インテリジェント I/O サービスの動作フローチャート ...................................... 50
6.5.2
拡張インテリジェント I/O サービスの使用手順フローチャート ............................... 51
6.6 割込み制御レジスタ (ICR).................................................................................................... 52
6.7 割込み制御レジスタ (ICR) 内の各ビットの意味................................................................... 53
6.8 拡張インテリジェント I/O サービスディスクリプタ (ISD) .................................................. 55
v
6.9 拡張インテリジェント I/O サービスディスクリプタの各レジスタ ...................................... 56
6.10 例外処理 ............................................................................................................................... 59
6.11 割込み処理のプログラム例................................................................................................... 60
第7章
7.1
7.2
7.3
第8章
8.1
8.2
8.3
8.4
第9章
アドレス指定方式 .................................................................................... 65
実効アドレスフィールド ...................................................................................................... 66
直接アドレス指定方式.......................................................................................................... 67
間接アドレス指定方式.......................................................................................................... 69
実行命令細則の読み方 ............................................................................. 71
実行命令細則の読み方.......................................................................................................... 72
実行命令細則中で使用される記号 ( 略称 ) ........................................................................... 73
実効アドレスフィールド ...................................................................................................... 74
実行サイクル数 .................................................................................................................... 75
実行命令細則............................................................................................ 77
9.1 実行命令細則 ........................................................................................................................ 78
9.1.1
ADD (Add Byte Data of Destination and Source to Destination) ................................ 79
9.1.2
ADDC (Add Byte Data of AL and AH with Carry to AL).............................................. 81
9.1.3
ADDC (Add Byte Data of Accumulator and Effective Address with Carry to Accumulator)
................................................................................................................................... 82
9.1.4
ADDCW (Add Word Data of Accumulator and Effective Address with Carry to
Accumulator) ................................................................................................................... 84
9.1.5
ADDDC (Add Decimal Data of AL and AH with Carry to AL) ..................................... 86
9.1.6
ADDL (Add Long Word Data of Destination and Source to Destination).................... 87
9.1.7
ADDSP (Add Word Data of Stack Pointer and Immediate Data to Stack Pointer)
................................................................................................................................... 89
9.1.8
ADDW (Add Word Data of AL and AH to AL)............................................................. 90
9.1.9
ADDW (Add Word Data of Destination and Source to Destination) ........................... 91
9.1.10
AND (And Byte Data of Destination and Source to Destination) ................................ 93
9.1.11
AND (And Byte Data of Immediate Data and Condition Code Register).................... 95
9.1.12
ANDL (And Long Word Data of Destination and Source to Destination).................... 97
9.1.13
ANDW (And Word Data of AH and AL to AL)............................................................. 99
9.1.14
ANDW (And Word Data of Destination and Source to Destination) ......................... 100
9.1.15
ASR (Arithmetic Shift Byte Data of Accumulator to Right) ....................................... 102
9.1.16
ASRL (Arithmetic Shift Long Word Data of Accumulator to Right) ........................... 104
9.1.17
ASRW (Arithmetic Shift Word Data of Accumulator to Right)................................... 106
9.1.18
ASRW (Arithmetic Shift Word Data of Accumulator to Right)................................... 107
9.1.19
BBcc (Branch if Bit Condition satisfied) .................................................................... 109
9.1.20
Bcc (Branch relative if Condition satisfied) ............................................................... 111
9.1.21
CALL (Call Subrourtine) ........................................................................................... 113
9.1.22
CALLP (Call physical Address) ................................................................................ 115
9.1.23
CALLV (Call Vectored Subroutine)........................................................................... 117
9.1.24
CBNE (Compare Byte Data and Branch if not equal)............................................... 119
9.1.25
CLRB (Clear Bit)....................................................................................................... 121
9.1.26
CMP (Compare Byte Data of Destination and Source) ............................................ 122
9.1.27
CMPL (Compare Long Word Data of Destination and Source)................................ 124
9.1.28
CMPW (Compare Word Data of Destination and Source) ....................................... 125
9.1.29
CWBNE (Compare Word Data and Branch if not equal).......................................... 127
vi
9.1.30
9.1.31
9.1.32
9.1.33
9.1.34
9.1.35
9.1.36
9.1.37
9.1.38
9.1.39
9.1.40
9.1.41
9.1.42
DBNZ (Decrement Byte Data and Branch if not zero)............................................. 129
DEC (Decrement Byte Data) .................................................................................... 131
DECL (Decrement Long Word Data)........................................................................ 132
DECW (Decrement Word Data) ............................................................................... 133
DIV (Divide Word Data by Byte Data) ...................................................................... 134
DIVW (Divide Long Word Data by Word Data)......................................................... 136
DIVU (Divide unsigned Word Data by unsigned Byte Data)..................................... 138
DIVUW (Divide unsigned Long Word Data by unsigned Word Data)....................... 140
DWBNZ (Decrement Word Data and Branch if not Zero)......................................... 142
EXT (Sign Extend from Byte Data to Word Data)..................................................... 144
EXTW (Sign Extend from Word Data to Long Word Data)....................................... 145
FILS (Fill String Byte) ............................................................................................... 146
FILSW (Fill String Word)........................................................................................... 148
9.1.43
9.1.44
9.1.45
9.1.46
INC (Increment Byte Data ( アドレス指定 )) ............................................................ 150
INCL (Increment Long Word Data)........................................................................... 151
INCW (Increment Word Data) .................................................................................. 152
INT (Software Interrupt)............................................................................................ 153
9.1.47
9.1.48
9.1.49
9.1.50
9.1.51
9.1.52
9.1.53
9.1.54
9.1.55
9.1.56
9.1.57
9.1.58
9.1.59
9.1.60
9.1.61
9.1.62
9.1.63
9.1.64
9.1.65
9.1.66
9.1.67
9.1.68
9.1.69
9.1.70
9.1.71
9.1.72
9.1.73
9.1.74
9.1.75
9.1.76
9.1.77
9.1.78
INT (Software Interrupt ( ベクタ指定 ))..................................................................... 155
INT9 (Software Interrupt).......................................................................................... 157
INTP (Software Interrupt) ......................................................................................... 159
JCTX (Jump Context) ............................................................................................... 161
JMP (Jump Destination Address) ............................................................................. 163
JMPP (Jump Destination Physical Address) ............................................................ 164
LINK (Link and create new stack frame) .................................................................. 165
LSL (Logical Shift Byte Data of Accumulator to Left) ............................................... 166
LSLL (Logical Shift Long Word Data of Accumulator to Left) ................................... 168
LSLW (Logical Shift Word Data of Accumulator to Left)........................................... 170
LSLW (Logical Shift Word Data of Accumulator to Left)........................................... 171
LSR (Logical Shift Byte Data of Accumulator to Right) ............................................ 172
LSRL (Logical Shift Long Word Data of Accumulator to Right) ................................ 174
LSRW (Logical Shift Word Data of Accumulator to Right)........................................ 176
LSRW (Logical Shift Word Data of Accumulator to Right)........................................ 177
MOV (Move Byte Data from Source to Accumulator)............................................... 179
MOV (Move Byte Data from Accumulator to Destination) ........................................ 181
MOV (Move Byte Immediate data to Destination) .................................................... 182
MOV (Move Byte Data from Source to Destination)................................................. 184
MOV (Move Byte Data from AH to Memory ) ........................................................... 186
MOVB (Move Bit Data from Bit Address to Accumulator) ........................................ 187
MOVB (Move Bit Data from Accumulator to Bit Address) ........................................ 189
MOVEA (Move Effective Address to Destination) .................................................... 191
MOVL (Move Long Word Data from Source to Accumulator) .................................. 192
MOVL (Move Long Word Data from Accumulator to Destination)............................ 193
MOVN (Move Immediate Nibble Data to Accumulator) ............................................ 194
MOVS (Move String Byte) ........................................................................................ 195
MOVSW (Move String Word) ................................................................................... 197
MOVW (Move Word Data from Source to Accumulator) .......................................... 199
MOVW (Move Word Data from Accumulator to Destination) ................................... 201
MOVW (Move Immediate Word Data to Destination)............................................... 203
MOVW (Move Word Data from source to Destination)............................................. 205
vii
9.1.79
9.1.80
9.1.81
9.1.82
9.1.83
9.1.84
9.1.85
9.1.86
9.1.87
9.1.88
9.1.89
MOVW (Move Immediate Word Data to io) .............................................................. 207
MOVW (Move Word Data from AH to Memory) ....................................................... 208
MOVX (Move Byte Data with Sign Extension from Source to Accumulator) ............ 209
MUL (Multiply Byte Data of Accumulator)................................................................. 211
MUL (Multiply Byte Data of Accumulator and Effective Address)............................. 212
MULW (Multiply Word Data of Accumulator)............................................................ 213
MULW (Multiply Word Data of Accumulator and Effective Address)........................ 214
MULU (Multiply Unsigned Byte Data of Accumulator).............................................. 215
MULU (Multiply Unsigned Byte Data of Accumulator and Effective Address).......... 216
MULUW (Multiply Unsigned Word Data of Accumulator) ......................................... 217
MULUW (Multiply Unsigned Word Data of Accumulator and Effective Address)
................................................................................................................................. 218
9.1.90
NEG (Negate Byte Data of Destination) ................................................................... 219
9.1.91
NEGW (Negate Word Data of Destination) .............................................................. 220
9.1.92
NOP (No Operation) ................................................................................................. 221
9.1.93
NOT (Not Byte Data of Destination) ......................................................................... 222
9.1.94
NOTW (Not Word Data of Destination) .................................................................... 223
9.1.95
NRML (NORMALIZE Long Word) ............................................................................ 224
9.1.96
OR (Or Byte Data of Destination and Source to Destination)................................... 225
9.1.97
OR (Or Byte Data of Immediate Data and Condition Code Register to Condition Code
Register) ........................................................................................................................ 227
9.1.98
ORL (Or Long Word Data of Destination and Source to Destination ) ..................... 229
9.1.99
ORW (Or Word Data of AH and AL to AL) ............................................................... 231
9.1.100
ORW (Or Word Data of Destination and Source to Destination).............................. 232
9.1.101
POPW (Pop Word Data of Accumulator from Stack Memory) ................................. 234
9.1.102
POPW (Pop Word Data of AH from Stack Memory) ................................................ 236
9.1.103
POPW (Pop Word Data of Program Status from Stack Memory) ............................ 237
9.1.104
POPW (Pop Registers from Stack Memory) ............................................................ 239
9.1.105
PUSHW (Push Word Data of Inherent Register to Stack Memory).......................... 241
9.1.106
PUSHW (Push Registers to Stack Memory) ............................................................ 243
9.1.107
RET (Return from Subroutine).................................................................................. 245
9.1.108
RETI (Return from Interrupt)..................................................................................... 246
9.1.109
RETP (Return from physical Address) ..................................................................... 249
9.1.110
ROLC (Rotate Byte Data of Accumulator With Carry to Left)................................... 250
9.1.111
RORC (Rotate Byte Data of Accumulator With Carry to Right)................................ 251
9.1.112
SBBS (Set Bit and Branch if Bit Set) ........................................................................ 252
9.1.113
SCEQ (Scan String Byte until equal)........................................................................ 253
9.1.114
SCWEQ (Scan String Word until equal) ................................................................... 255
9.1.115
SETB (Set Bit) .......................................................................................................... 257
9.1.116
SUB (Subtract Byte Data of Source from Destination to Destination) ...................... 258
9.1.117
SUBC (Subtract Byte Data of AL from AH with Carry to AL).................................... 260
9.1.118
SUBC (Subtract Byte Data of Effective Address from Accumulator with Carry to
Accumulator) ................................................................................................................. 261
9.1.119
SUBCW (Subtract Word Data of Effective Address from Accumulator with Carry to
Accumulator) ................................................................................................................. 263
9.1.120
SUBDC (Subtract Decimal Data of AL from AH with Carry to AL) ........................... 265
9.1.121
SUBL (Subtract Long Word Data of Source from Destination to Destination).......... 266
9.1.122
SUBW (Subtract Word Data of Source from Destination to Destination) ................. 268
9.1.123
SUBW (Subtract Word Data of AL from AH to AL)................................................... 270
9.1.124
SWAP (Swap Byte Data of Accumulator)................................................................. 271
viii
9.1.125
9.1.126
9.1.127
9.1.128
9.1.129
9.1.130
9.1.131
9.1.132
9.1.133
9.1.134
9.1.135
付録
付録 A
A.1
A.2
A.3
A.4
付録 B
B.1
B.2
B.3
B.4
B.5
B.6
付録 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
索引
SWAPW (Swap Word Data of Accumulator) ............................................................ 272
UNLINK (Unlink and create new stack frame).......................................................... 273
WBTc (Wait until Bit Condition satisfied) .................................................................. 274
XCH (Exchange Byte Data of Source to Destination) .............................................. 275
XCHW (Exchange Word Data of Source to Destination).......................................... 277
XOR (Exclusive Or Byte Data of Destination and Source to Destination) ................ 278
XORL (Exclusive Or Long Word Data of Destination) .............................................. 280
XORW (Exclusive Or Word Data of AH and AL to AL)............................................. 282
XORW (Exclusive Or Word Data of Destination and Source to Destination) ........... 283
ZEXT (Zero Extend from Byte Data to Word Data) .................................................. 285
ZEXTW (Zero Extend from Word Data to Long Word Data) .................................... 286
............................................................................................................... 287
命令一覧表の説明.......................................................................................................... 288
命令一覧表の項目の説明 ............................................................................................ 289
命令一覧表の記号の説明 ............................................................................................ 291
実効アドレスフィールド ............................................................................................ 292
実行サイクル数の計算方法 ......................................................................................... 294
2
F MC-16LX 命令一覧表 (351 命令 ) .............................................................................. 296
転送命令...................................................................................................................... 297
数値演算命令 .............................................................................................................. 299
論理演算命令 .............................................................................................................. 303
シフト命令 .................................................................................................................. 305
分岐命令...................................................................................................................... 306
その他の命令 .............................................................................................................. 308
F2MC-16LX 命令マップ................................................................................................. 311
命令マップの構造 ....................................................................................................... 312
基本ページマップ ....................................................................................................... 314
ビット操作系命令マップ ............................................................................................ 316
文字列操作系命令マップ ............................................................................................ 318
2 バイト系統マップ .................................................................................................... 320
ea 系命令 .................................................................................................................... 322
MOVEA RWi,ea 命令 .................................................................................................. 332
MOV Ri,ea 命令 .......................................................................................................... 334
MOVW RWi,ea 命令.................................................................................................... 336
MOV ea,Ri 命令 .......................................................................................................... 338
MOVW ea,RWi 命令.................................................................................................... 340
XCH Ri,ea 命令 ........................................................................................................... 342
XCHW RWi,ea 命令 .................................................................................................... 344
............................................................................................................... 347
ix
x
本版での主な変更内容
ページ
変更内容(詳細は本文を参照してください。
)
20
「■ ユーザスタックポインタ (USP) とシステムスタッ
第 3 章 専用レジスタ
3.3 ユーザスタックポインタ (USP) と クポインタ (SSP) 」を訂正
プロセッサステータス (SP) →
システムスタックポインタ (SSP)
プロセッサステータス (PS)
23
第 3 章 専用レジスタ
3.4.1 割込みレベルマスク (ILM)
「サマリ文 」を変更
割込みレベルマスク (ILM) の構成図を移動
24
第 3 章 専用レジスタ
3.4.2 レジスタバンクポインタ (RP)
「サマリ文 」を変更
レジスタバンクポインタ (RP) の構成図を移動
25
「サマリ文 」を変更
第 3 章 専用レジスタ
3.4.3 コンディションコードレジスタ コンディションコードレジスタ (CCR) の構成図を
移動
(CCR)
30
第 4 章 汎用レジスタ
4.1 RAM 上のレジスタバンク
「表 4.1-2」の形式を変更
35
第 5 章 プリフィックスコード
5.1 バンクセレクトプリフィックス
■ バンクセレクトプリフィックス
「POPW PS」の位置を移動
52
第 6 章 割込み処理
6.6 割込み制御レジスタ (ICR)
■ 割込み制御レジスタ (ICR) の
ビット構成
「図 6.6-1」を訂正
bit15 ∼ bit8 のビット番号表記を削除
bit5 と bit4 のアクセス属性を
* → R,W *
注記を
*: 読出し時には "1" が読み出されます。→
*:ICS1 と ICS0 は書込み (W) のみ , S1 と S0 は読出し
(R) のみ有効です。
53
第 6 章 割込み処理
「■ 拡張インテリジェント I/O サービスチャネル選択
6.7 割込み制御レジスタ (ICR) 内の各 ビット (bit15 ∼ bit12 または bit7 ∼ bit4: ICS0 ∼
ビットの意味
ICS3)」を訂正
「bit15 ∼ bit12 または」を削除
57
第 6 章 割込み処理
6.9 拡張インテリジェント I/O サービ
スディスクリプタの各レジスタ
■ 拡張インテリジェントI/O サービス
ステータスレジスタ (ISCS)
「● bit1(DIR)……データの転送方向を指定します。
」
を訂正
I/O レジスタアドレスポインタ (IOA) →
バッファアドレスポインタ (BAP)
バッファアドレスポインタ (BAP) →
I/O レジスタアドレスポインタ (IOA)
59
第 6 章 割込み処理
6.10 例外処理
「■ 未定義命令の実行による例外発生」を訂正
アキュムレータ下位ビット (AL) →
アキュムレータ下位ワード (AL)
アキュムレータ下位ビット (AH) →
アキュムレータ上位ワード (AH)
xi
ページ
変更内容(詳細は本文を参照してください。)
60
∼
63
第 6 章 割込み処理
「6.11 割込み処理プログラム例」を追加
70
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
■ 間接アドレス指定方式
「● アキュムレータ間接 (@A)」を訂正
下位バイト (AL) →下位ワード (AL)
「● アキュムレータ間接分岐アドレス (@A)」を訂正
下位バイト (AL) →下位ワード (AL)
80
第 9 章 実行命令細則
「● 実行例」を訂正
9.1.1 ADD (Add Byte Data of Destination A の最下位バイトのデータ→
and Source to Destination)
AL の下位バイトデータ
83
9.1.3 ADDC (Add Byte Data of
「● 実行例」を訂正
Accumulator and Effective Address with A の最下位バイトのデータ→
Carry to Accumulator)
AL の下位バイトデータ
85
9.1.4 ADDCW (Add Word Data of
「● 実行例」を訂正
Accumulator and Effective Address with A の下位ワードデータ→ AL のワードデータ
Carry to Accumulator)
89
9.1.7 ADDSP (Add Word Data of Stack 「● オペレーション」を訂正
Pointer and Immediate Data to Stack #imm8 → imm8
Pointer)
#imm16 → imm16
92
9.1.9 ADDW (Add Word Data of
Destination and Source to Destination)
「● 実行例」を訂正
アキュムレータの下位ワードデータ→
AL のワードデータ
94
9.1.10 AND (And Byte Data of
Destination and Source to Destination)
「● 実行例」を訂正
アキュムレータの最下位バイトデータ→
AL の下位バイトデータ
95
9.1.11 AND (And Byte Data of
Immediate Data and Condition Code
Register)
「● オペレーション」を訂正
#imm8 → imm8
101
9.1.14 ANDW (And Word Data of
Destination and Source to Destination)
「● 実行例」を訂正
アキュムレータの下位ワードデータ→
AL のワードデータ
103
9.1.15 ASR (Arithmetic Shift Byte Data 「● 実行例」を訂正
of Accumulator to Right)
A の最下位バイトデータ→ AL の下位バイトデータ
106
9.1.17 ASRW (Arithmetic Shift Word
Data of Accumulator to Right)
「● 実行例」を訂正
A の下位ワードデータ→ AL のワードデータ
108
9.1.18 ASRW (Arithmetic Shift Word
Data of Accumulator to Right)
「● 実行例」を訂正
A の下位ワードデータ→ AL のワードデータ
122
9.1.26 CMP (Compare Byte Data of
Destination and Source)
「● バイト数 , サイクル数および補正値」の表を訂正
第 1 オペランド : AH → A
第 2 オペランド : AL → ―
123
「● 実行例」を訂正
A の最下位バイトデータ→ AL の下位バイトデータ
xii
ページ
125
変更内容(詳細は本文を参照してください。
)
9.1.28 CMPW (Compare Word Data of 「● バイト数 , サイクル数および補正値」の表を訂正
Destination and Source)
第 1 オペランド : AH → A
第 2 オペランド : AL → ―
「● 実行例」を訂正
A の下位ワードデータ→ AL のワードデータ
126
129
9.1.30 DBNZ (Decrement Byte Data and 「項のタイトル」を訂正
Branch if not zero)
not "0") → not zero
134
9.1.34 DIV (Divide Word Data by Byte 「● バイト数 , サイクル数および補正値」の表のオペ
Data)
ランドを訂正
「● 実行例」の図を訂正
00 31 → 00 15
EC D8 → 00 1D
135
136
9.1.35 DIVW (Divide Long Word Data 「● バイト数 , サイクル数および補正値」の表のオペ
by Word Data)
ランドを訂正
138
9.1.36 DIVU (Divide unsigned Word
Data by unsigned Byte Data)
143
9.1.38 DWBNZ (Decrement Word Data 「● 実行例」の図を訂正
and Branch if not Zero)
Z フラグ : 0 → 1
144
9.1.39 EXT (Sign Extend from Byte Data 「● 実行例」を訂正
to Word Data)
A の最下位バイトデータ→ AL の下位バイトデータ
145
9.1.40 EXTW (Sign Extend from Word 「● 実行例」を訂正
Data to Long Word Data)
A の下位ワードデータ→ AL のワードデータ
151
9.1.44 INCL (Increment Long Word
Data)
「● 実行例」の図を訂正
A → RL0
154
9.1.46 INT (Software Interrupt)
「● 実行例」の図を訂正
SA → A (AH, AL)
156
9.1.47 INT (Software Interrupt ( ベクタ 「● 実行例」の図を訂正
指定 ))
SA → A (AH, AL)
158
9.1.48 INT9 (Software Interrupt)
「● 実行例」の図を訂正
SA → A (AH, AL)
162
9.1.50 JCTX (Jump Context)
「● 実行例」の図を訂正
SA → A (AH, AL)
179
9.1.62 MOV (Move Byte Data from
Source to Accumulator)
「サマリ文 」を訂正
bit16 ∼ bit31 → AH
bit0 ∼ bit15 → AL
「● バイト数 , サイクル数および補正値」の表のオペ
ランドを訂正
xiii
ページ
181
変更内容(詳細は本文を参照してください。)
9.1.63 MOV (Move Byte Data from
Accumulator to Destination)
「サマリ文 」を訂正
アキュムレータ (A) の最下位バイトデータ→
AL の下位バイトのデータ
第 1 オペランドで示されるアドレスに→
第 1 オペランドに
「● バイト数 , サイクル数および補正値」の表を訂正
第 2 オペランド→ 第 1 オペランド
182
9.1.64 MOV (Move Byte Immediate data 「サマリ文 」を訂正
to Destination)
第 1 オペランドで示されるアドレスに→
第 1 オペランドに
「● オペレーション」を訂正
#imm8 → imm8
191
9.1.69 MOVEA (Move Effective Address 「サマリ文 」を訂正
to Destination)
bit16 ∼ bit31 → AH
bit0 ∼ bit15 → AL
194
9.1.72 MOVN (Move Immediate Nibble 「サマリ文 」を訂正
Data to Accumulator)
bit16 ∼ bit31 → AH
bit0 ∼ bit15 → AL
199
9.1.75 MOVW (Move Word Data from 「サマリ文 」を訂正
Source to Accumulator)
bit16 ∼ bit31 → AH
bit0 ∼ bit15 → AL
203
9.1.77 MOVW (Move Immediate Word 「● オペレーション」を訂正
Data to Destination)
#imm16 → imm16
「● CCR」を訂正
( 全フラグ変化しません。) を削除
209
9.1.81 MOVX (Move Byte Data with
Sign Extension from Source to
Accumulator)
「サマリ文 」を訂正
bit16 ∼ bit31 → AH
bit0 ∼ bit15 → AL
227
9.1.97 OR (Or Byte Data of Immediate
Data and Condition Code Register to
Condition Code Register)
「● オペレーション」を訂正
#imm8 → imm8
301
付録 B F2MC-16LX 命令一覧表(351 命 「付表 B-6」の下の記述を訂正
令)
*1: ゼロディバイドの場合 , →
B.2 数値演算命令
*1: ゼロディバイドの場合 , 3
304
B.3 論理演算命令
「付表 B-11」を訂正
RD → R0
xiv
ページ
変更内容(詳細は本文を参照してください。)
114,118, 第 9 章 実行命令細則
124,
131-133,
135,137,
139,141,
147,
149-152,
154,156,
158,160,
162-165,
167,
169-171,
173,175,
176,178,
180,181,
183,185,
186,188,
190-194,
196,198,
200,202,
204,
206-208,
210-224,
226,228,
230,231,
233,235,
236,238,
240,242,
244,245,
248-252,
254,256,
257,259,
260,262,
264,265,
267,
269-274,
276,277,
279,281,
282,
284-286,
実行例の説明を追加
88,90, 第 9 章 実行命令細則
99,116,
120,128,
130,143,
実行例の説明を見直し
変更箇所は , 本文中のページ左側の│によって示しています。
xv
xvi
第1章
F2MC-16LX CPU コアの
概要と構成例
F2MC-16LX CPU コアの概要と構成例について説
明します。
1.1 F2MC-16LX CPU コアの概要
1.2 F2MC-16LX の構成例
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
1
第 1 章 F2MC-16LX CPU コアの 概要と構成例
1.1 F2MC-16LX CPU コアの概要
1.1
F2MC-16LX ファミリ
F2MC-16LX CPU コアの概要
F2MC-16LX CPU コアは , 各種産業用 , OA 用 , 車載用機器等の高速リアルタイム処
理が要求される用途向けに設計された高性能 16 ビット CPU です。
■ F2MC-16LX CPU コアの概要
F2MC-16LX CPU コアは , 各種産業用 , OA 用 , 車載用機器などの高速リアルタイム処理
が要求される用途向けに設計された高性能 16 ビット CPU です。F2MC-16LX の命令
セットはコントローラ用途に最適化するように設計されており,各種制御を高速かつ高
効率で処理することができます。また , F2MC-16LX は 16 ビットデータ処理に適した
CPU であると同時に 32 ビットデータを扱えるように CPU 内部には 32 ビットアキュム
レータを搭載しており , このためいくつかの命令では 32 ビットのデータ処理も行うこ
とができるようになっています。メモリ空間は最大 16M バイトまで拡張可能であり ,
リニアポインタおよびバンク方式いずれかの方法にてアクセスすることができます。
さらに命令体系は F2MC-8 の A-T アーキテクチャをベースにし , 高級言語対応命令の追
加・アドレッシングモードの拡張・乗除算命令の強化・ビット処理の充実化などによ
り命令が強化されています。
■ F2MC-16LX CPU コアの特長
● 最小命令実行時間……62.5 ns ( 内部 16MHz)
● メモリ空間……最大 16 MB : リニア / バンク方式にてアクセス
● コントローラ用に最適化された命令体系
• 豊富なデータタイプ……ビットタイプ / バイトタイプ / ワードタイプ / ロングタイプ
• 拡張されたアドレス指定方式……23 種類
• 高いコード効率
• 32 ビットアキュムレータの採用による高精度演算 (32 ビット長 ) の強化
● 強力な割込み機能
割込み優先レベル……8 レベル ( プログラム可能 )
● CPU に依存しない自動転送機能
● 拡張インテリジェント I/O サービス……最大 16 チャネル
● 高級言語 (C 言語 )/ マルチタスクに対応した命令体系
• システム・スタック・ポインタの採用
• 豊富なポインタ
• 高い命令セットの対称性
• バレルシフト命令
● 実行速度の向上……4 バイトのキュー ( 命令の待ち行列 ) を使用
2
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX
1.2
第 1 章 F2MC-16LX CPU コアの 概要と構成例
1.2 F2MC-16LX の構成例
ファミリ
F2MC-16LX の構成例
図 1.2-1 に , F2MC-16LX CPU コアを用いたデバイスの構成例を示します。
■ F2MC-16LX の構成例
図 1.2-1 F2MC-16LX デバイスの構成例
ユーザ端子部
CPUまわりの端子部
タイマカウンタ
ダイレクトページ
レジスタ
アキュム
レータ
レジスタバンク
ポインタ
プログラム
カウンタ
バンクレジスタ
プロセッサ
ステータス
レジスタ
F2MC-16LXCPU
F2M C - 1 6 L X バ ス
シリアルポート
スタック
ポインタ
A/D コンバータ
RAM (データ領域)
ROM
(プログラム領域)
ALU
割込みコントローラ
クロックジェネレータ
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
3
第 1 章 F2MC-16LX CPU コアの 概要と構成例
1.2 F2MC-16LX の構成例
4
F2MC-16LX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第2章
メモリ空間
F2MC-16LX CPU のメモリ空間について説明しま
す。
2.1 CPU のメモリ空間
2.2 リニア方式のアドレス指定
2.3 バンク方式のアドレス指定
2.4 バンクに分割されたメモリ空間と各バンクレジスタの値
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
5
第 2 章 メモリ空間
2.1 CPU のメモリ空間
2.1
F2MC-16LX ファミリ
CPU のメモリ空間
F2MC-16LX CPU の管理するデータ , プログラム , I/O はすべて CPU の持つ 16M バ
イトのメモリ空間に配置されます。CPU は 24 ビットのアドレスバスでこれらのア
ドレスを示すことにより各リソースをアクセスできます ( 図 2.1-1 参照 )。
アドレス指定方式は , リニア方式とバンク方式の 2 つに分けることができます。リ
ニア方式では , 24 ビットアドレスすべてを命令により指定します。バンク方式では ,
上位 8 ビットアドレスを用途に応じたバンクレジスタにより指定し , 残りの下位 16
ビットアドレスを命令により指定します。
■ CPU のメモリ空間
図 2.1-1 F2MC-16LX システムとメモリマップの関係例
FFFFFFH
プログラム
プログラム領域
FF8000 H
F 2 MC-16LX
データ
CPU
810000 H
データ領域
割込み
800000 H
周辺回路
0000C0 H
割込み
コントローラ
0000B0 H
汎用ポート
〔デバイス〕
周辺回路
000020 H
汎用ポート
000000 H
6
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX ファミリ
2.2
第 2 章 メモリ空間
2.2 リニア方式のアドレス指定
リニア方式のアドレス指定
リニア方式は , 24 ビットアドレスすべてを命令により指定します。
■ リニア方式のアドレス指定
リニア方式のアドレス指定方式では , 24 ビットアドレスすべてを命令により指定しま
す。F2MC-16LX では , 命令の実効アドレス指定または命令コード自体 ( インプライド )
でアドレス形式が決定されます。
リニア方式は , オペランドで直接 24 ビットのアドレスを指定する方法と 32 ビットの汎
用レジスタの下位 24 ビットをアドレスとして引用する方法の 2 つに分けられます ( 図
2.2-1 参照 )。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
7
第 2 章 メモリ空間
2.2 リニア方式のアドレス指定
F2MC-16LX ファミリ
図 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
8
003A
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 2 章 メモリ空間
2.3 バンク方式のアドレス指定
F2MC-16LX ファミリ
2.3
バンク方式のアドレス指定
バンク方式のアドレス指定方式は , 上位 8 ビットアドレスを用途に応じたバンクレ
ジスタにより指定し , 残りの下位 16 ビットアドレスを命令により指定します。
■ バンク方式のアドレス指定
バンク方式は 16M バイトの空間を 64K バイトごとの 256 個のバンクに分割し , 以下に
に示す 4 つのバンクレジスタで各空間に対応するバンクを指定します。
● プログラムカウンタバンクレジスタ (PCB)
PCB レジスタによって指定される 64K バイトのバンクをプログラム (PC) 空間とよびま
す。
この中には,主として命令コードや,ベクタテーブル,即値データなどが存在します。
● データバンクレジスタ (DTB)
DTB レジスタによって指定される 64K バイトのバンクをデータ (DT) 空間とよびます。
この中には , 主として読み書き可能なデータや内外リソースの制御レジスタ / データレ
ジスタなどが存在します。
● ユーザスタックバンクレジスタ (USB), システムスタックバンクレジスタ (SSB)
USB レジスタあるいは SSB レジスタによって指定される 64K バイトのバンクをスタッ
ク (SP) 空間とよびます。これは , プッシュ命令 , ポップ命令および割込みによるレジ
スタ退避などの際にスタックアクセスが生じたときにアクセスされる領域です。USB
レジスタと SSB レジスタのどちらが使用されるかはコンディションコードレジスタ中
の S フラグの値に依存します。
● アディショナルデータバンクレジスタ (ADB)
ADB レジスタによって指定される 64K バイトのバンクをアディショナル (AD) 空間と
よびます。
この中には , 主として DT 空間に入りきらなかったデータなどが存在します。
また , 命令のコード効率を向上させるために各命令はアドレス指定方式ごとに表 2.3-1
に示すようなデフォルト空間が決められています。
表 2.3-1 デフォルト空間
デフォルト空間
アドレス指定
プログラム空間
PC 間接 , プログラムアクセス , 分岐系
データ空間
@RW0,@RW1,@RW4,@RW5 を用いたアドレス指定 ,
@A,addr16,dir
スタック空間
PUSHW・ , POPW,@RW3,@RW7,@SP を用いたアドレス指定
アディショナル空間 @RW2,@RW6 を用いたアドレス指定
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
9
第 2 章 メモリ空間
2.3 バンク方式のアドレス指定
F2MC-16LX ファミリ
デフォルト以外の空間を使用したいときは , 各バンクに対応しているプリフィックス
コード ( 前置記号 ) を命令に先行して指定することにより , そのプリフィックスコード
に対応した任意のバンク空間をアクセスできます。
バンクセレクトプリフィックスとそれにより選択されるメモリ空間を表 2.3-2 に示し
ます。
表 2.3-2 バンクセレクトプリフィックス
バンクセレクトプリフィックス
選択される空間
PCB
プログラム空間
DTB
データ空間
ADB
アディショナル空間
SPB
選択したときのスタックフラグの内容により
システムスタック空間 , ユーザスタック空間
のどちらかが用いられます。
DTB レジスタ , USB レジスタ , SSB レジスタ , ADB レジスタは , リセットにより 00H
に初期化され , PCB レジスタは FFH に初期化されます。リセット後 , データ空間 , ス
タック空間およびアディショナル空間は , バンク 00H(000000H ∼ 00FFFFH) に配置され ,
プログラム空間は , バンク FFH(FF0000H ∼ FFFFFFH) に配置されます。
10
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-
F2MC-16LX ファミリ
第 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-00201-4
FUJITSU MICROELECTRONICS LIMITED
11
第 2 章 メモリ空間
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
2.5
F2MC-16LX ファミリ
多バイト長データのメモリ上でのデータ構成とアクセ
ス
多バイト長データは , 下位アドレスから順にメモリへ書き込まれます。32 ビット長
データであれば , 下位 16 ビット , 上位 16 ビットの順に転送されます。
■ 多バイト長データにおけるメモリ空間の配置
多バイト長データは , 下位アドレスから順にメモリへ書き込まれます。
32 ビット長デー
タであれば , 下位 16 ビット , 上位 16 ビットの順に転送されます。
また,下位データの書込み直後にリセット信号を入力すると上位データが書き込まれな
いことがあります。したがって , データを正しく保持するためには , 上位データの書込
みが終わった後にリセット信号を入力する必要があります。
図 2.5-1 に多バイト長データのメモリ上でのデータ構成を示します。データは下位 8
ビットが n 番地に , 以下 n+1 番地 , n+2 番地 , n+3 番地…の順に配置されます。
図 2.5-1 多バイト長データのメモリ上でのデータ構成
MSB
01010101
H
LSB
11001100
11111111
00010100
↑
01010101
11001100
11111111
n番地
00010100
↓
L
12
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-
F2MC-16LX ファミリ
第 2 章 メモリ空間
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
■ 多バイト長データのアクセス
多バイト長データのアクセスは , すべてバンク内を基本にして行われます。多バイト長
のデータをアクセスする命令では , FFFFH 番地の次のアドレスは同じバンクの 0000H 番
地になります。
図 2.5-2 に , 多バイト長データのアクセス命令の実行例を示します。
図 2.5-2 多バイト長データのアクセス命令 (MOVPW A,080FFFFH) の実行例
上位
↑
実行前のAL
80FFFF H
?
?
?
?
01H
・
・
・
実行後のAL
800000 H
23 H
01H
23 H
↓
下位
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
13
第 2 章 メモリ空間
2.5 多バイト長データのメモリ上でのデータ構成とアクセス
14
F2MC-16LX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-
第3章
専用レジスタ
F2MC-16LX のレジスタは大別して CPU 内部の専
用レジスタとメモリ上にある汎用レジスタの 2 種
に分けることができます。
専用レジスタについて説明します。専用レジスタと
は CPU の内部に専用ハードウェアとして存在し ,
使用する用途が CPU のアーキテクチャ上に限定さ
れているものです。
3.1 専用レジスタの種類
3.2 アキュムレータ (A)
3.3 ユーザスタックポインタ (USP) とシステムスタックポイ
ンタ (SSP)
3.4 プロセッサステータス (PS)
3.5 プログラムカウンタ (PC)
3.6 ダイレクトページレジスタ (DPR)
3.7 バンクレジスタ
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
15
第 3 章 専用レジスタ
3.1 専用レジスタの種類
3.1
F2MC-16LX ファミリ
専用レジスタの種類
専用レジスタには , 次に示す 11 種類があります。
• アキュムレータ (A=AH:AL)
• ユーザスタックポインタ (USP)
• システムスタックポインタ (SSP)
• プロセッサステータス (PS)
• プログラムカウンタ (PC)
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルデータバンクレジスタ (ADB)
• ダイレクトページレジスタ (DPR)
■ 専用レジスタの種類
● アキュムレータ (A=AH:AL)
16 ビット× 2 本のアキュムレータです。合計 32 ビットのアキュムレータとしても使用
できます。
● ユーザスタックポインタ (USP)
ユーザスタック領域を示す 16 ビットのポインタです。
● システムスタックポインタ (SSP)
システムスタック領域を示す 16 ビットのポインタです。
● プロセッサステータス (PS)
システムの状態を示す 16 ビットのレジスタです。
● プログラムカウンタ (PC)
次に実行する命令が格納されているアドレスを持つ 16 ビットのレジスタです。
● プログラムカウンタバンクレジスタ (PCB)
プログラム空間を示す 8 ビットのレジスタです。
● データバンクレジスタ (DTB)
データ空間を示す 8 ビットのレジスタです。
● ユーザスタックバンクレジスタ (USB)
ユーザスタック空間を示す 8 ビットのレジスタです。
● システムスタックバンクレジスタ (SSB)
システムスタック空間を示す 8 ビットのレジスタです。
● アディショナルデータバンクレジスタ (ADB)
アディショナル空間を示す 8 ビットのレジスタです。
16
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 3 章 専用レジスタ
3.1 専用レジスタの種類
F2MC-16LX ファミリ
● ダイレクトページレジスタ (DPR)
ダイレクトページを示す 8 ビットのレジスタです。
図 3.1-1 に , 専用レジスタのイメージを示します。
図 3.1-1 専用レジスタ
AH
AL
アキュムレータ
USP
ユーザスタックポインタ
SSP
システムスタックポインタ
PS
プロセッサステータス
PC
プログラムカウンタ
DPR
ダイレクトページレジスタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
USB
ユーザスタックバンクレジスタ
SSB
システムスタックバンクレジスタ
ADB
アディショナルデータバンクレジスタ
8ビット
16ビット
32ビット
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
17
第 3 章 専用レジスタ
3.2 アキュムレータ (A)
3.2
F2MC-16LX ファミリ
アキュムレータ (A)
アキュムレータ (A) は , 2 つの 16 ビット長の演算用レジスタ (AH および AL) で構成
され , 演算などを行った際の結果や転送するデータの一時記憶などに使用されます。
■ アキュムレータ (A)
アキュムレータ (A) は , 2 つの 16 ビット長の演算用レジスタ (AH および AL) で構成さ
れ , 演算などを行った際の結果や転送するデータの一時記憶などに使用されます。
32 ビットデータ処理のときは AH レジスタと AL レジスタが連結して使用されます ( 図
3.2-1 参照 )。16 ビットのデータ処理 ( ワード処理 ) や 8 ビットのデータ処理 ( バイト処
理 ) のときは AL レジスタだけが使用されます ( 図 3.2-2 参照 )。アキュムレータ (A) 中
のデータとメモリやレジスタ (Ri, RWi, RLi) 中のデータとの間で各種の演算ができま
す。
また , F2MC-8 の場合と同様に , F2MC-16LX でもワード長以下のデータを AL レジスタ
へ転送すると , 転送前の AL レジスタ中のデータが自動的に AH レジスタに転送されま
す ( データ保持機能 )。このデータ保持機能と AL レジスタ− AH レジスタ間演算によ
り各種処理の効率を高めることが可能になります ( 図 3.2-2 参照 )。
AL レジスタへのバイト長以下のデータの転送時には , データは符号拡張またはゼロ拡
張され 16 ビット長となり AL レジスタへ格納されます。また , AL レジスタ中のデータ
は , ワード長としてもバイト長としても扱えます。バイト処理の算術演算命令を AL レ
ジスタに対して実行すると , 演算前の AL レジスタの上位 8 ビットは無視され演算結果
の上位 8 ビットはすべて "0" になります。
図 3.2-1 32 ビットデータ転送の例
MOVL A,@RW1+6
旧A
XXXX H
MSB
XXXX H
DTB
LSB
A61540 H
8FH
74 H
A6153EH
2BH
52H
15H
38 H
A6 H
+6
新A
18
8F74 H
2B52 H
AH
AL
RW1
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 3 章 専用レジスタ
3.2 アキュムレータ (A)
F2MC-16LX ファミリ
図 3.2-2 データ保持機能による AL レジスタ− AH レジスタの転送例
M0VW A,@RW1+6
旧A
XXXXH
MSB
1234 H
DTB
LSB
A61540 H
8FH
74 H
A6153E H
2B H
52 H
15H
38 H
A6H
+6
新A
CM44-00201-4
1234 H
2B52 H
AH
AL
RW1
FUJITSU MICROELECTRONICS LIMITED
19
第 3 章 専用レジスタ
3.3 ユーザスタックポインタ (USP) とシステムスタックポイン
タ (SSP)
3.3
F2MC-16LX ファミリ
ユーザスタックポインタ (USP) とシステムスタックポ
インタ (SSP)
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) は 16 ビットの
レジスタであり , プッシュ命令 , ポップ命令およびサブルーチンを実行するときの ,
データの退避先や復帰先のメモリアドレスを示します。
スタックポインタに値を設定するときは , 原則として偶数アドレスを使用してくださ
い。
■ ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP)
ユーザスタックポインタ (USP) とシステムスタックポインタ (SSP) は 16 ビットのレジ
スタであり , プッシュ命令 , ポップ命令およびサブルーチンを実行するときの ,
データの退避先や復帰先のメモリアドレスを示します。USP レジスタと SSP レジスタ
は , スタック操作命令により同様に使用されますが , プロセッサステータス (PS) 中の
コンディションコードレジスタ (CCR) 内のスタックフラグ (S) が "0" のときは USP レ
ジスタが有効になり , S フラグが "1" のときは SSP レジスタが有効になります ( 図 3.31 参照 )。
また , 割込みが受け付けられると S フラグが "1" にセットされるため , 割込み時のレジ
スタ退避は必ず SSP レジスタが示すメモリに行われます。割込みルーチンでのスタッ
ク操作には SSP レジスタが用いられ , 割込みルーチン以外のスタック操作には USP レ
ジスタが用いられます。
特にスタック空間を分ける必要がなければ SSP レジスタだけを使用してください。
スタック操作を行うときに使用されるアドレスの上位 8 ビットは , SSP レジスタについ
てはシステムスタックバンクレジスタ (SSB), USP レジスタについてはユーザスタック
バンクレジスタ (USB) により示されます。
20
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 3 章 専用レジスタ
3.3 ユーザスタックポインタ (USP) とシステムスタックポイン
タ (SSP)
図 3.3-1 スタック操作命令とスタックポインタの関係
F2MC-16LX ファミリ
(例1)Sフラグが"0"のときのPUSHW A
Sフラグ
実行後⇒ AL
Sフラグ
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
⇒
実行前⇒ AL
MSB
XX
XX
Sフラグが"0"であるため
ユーザスタックを使用
(例2)Sフラグが"1"のときのPUSHW A
Sフラグ
実行後⇒ AL
Sフラグ
CM44-00201-4
A624 H
USB
C6 H
USP
F328H
1
SSB
56 H
SSP
1234 H
A624 H
USB
C6 H
USP
F328 H
1
SSB
56 H
SSP
1232 H
⇒
実行前⇒ AL
Sフラグが"1"であるため
ユーザスタックを使用
FUJITSU MICROELECTRONICS LIMITED
21
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
3.4
F2MC-16LX ファミリ
プロセッサステータス (PS)
プロセッサステータス (PS) は , CPU の制御を行うビットと CPU の状態を示す各種
ビットから構成されています。PS レジスタを構成する 3 つのレジスタを以下に示し
ます。
• 割込みレベルマスク (ILM)
• レジスタバンクポインタ (RP)
• コンディションコードレジスタ (CCR)
■ プロセッサステータス (PS)
プロセッサステータス (PS) は , CPU の制御を行うビットと CPU の状態を示す各種ビッ
トから構成されています。
• 割込みレベルマスク (ILM)……受け付ける割込みのレベルを示します。
• レジスタバンクポインタ (RP)……レジスタバンクの先頭アドレスを示します。
• コンディションコードレジスタ (CCR)……命令の実行や割込みの発生などにより
セットまたはクリアされる各種フラグ
から構成されています。
図 3.4-1 に , プロセッサステータス (PS) の構造を示します。
図 3.4-1 プロセッサステータス (PS) の構造
bit 15
PS
22
13 12
ILM
8 7
RP
0
CCR
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
F2MC-16LX ファミリ
3.4.1
割込みレベルマスク (ILM)
割込みレベルマスク (ILM) は , CPU が受け付ける割込みのレベルを示します。
■ 割込みレベルマスク (ILM)
以下に , 割込みレベルマスク (ILM) の構成図を示します。
ILM
(初期値)→
ILM2
ILM1
ILM0
0
0
0
割込みレベルマスク (ILM) は , 3 ビットから構成されており , CPU が受け付ける割込み
のレベルを示します。この 3 ビットで示されるレベルより高いレベルの割込み要求が
あったときに割込みが発生します。レベルは 0 が最も高く , 7 が最も低くなっています
( 図 3.4-1 参照 )。
割込みが受け付けられるためには , 現状の ILM レジスタが保持している値より小さい
値の割込みレベルで要求しなければなりません。割込みが受け付けられると , その割込
みのレベル値が ILM レジスタにセットされ , これ以降の同じまたはそれより低い優先
順位の割込みは受け付けられなくなります。ILM レジスタはリセットによりすべて "0"
に初期化されるので , 初期状態では割込みレベルは最も高く設定されています。ILM レ
ジスタに 8 ビットの即値を転送することはできますが , 実際に使用できるのはそのデー
タの下位 3 ビットだけです。
表 3.4-1 割込みレベルマスク (ILM) で示される割込みレベルの高低
CM44-00201-4
ILM2
ILM1
ILM0
レベル値
許可される割込みレベル
0
0
0
0
0
0
1
1
割込み禁止
0
0
1
0
2
1 以下
0
1
1
3
2 以下
1
0
0
4
3 以下
1
0
1
5
4 以下
1
1
0
6
5 以下
1
1
1
7
6 以下
FUJITSU MICROELECTRONICS LIMITED
23
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
3.4.2
F2MC-16LX ファミリ
レジスタバンクポインタ (RP)
レジスタバンクポインタ (RP) は , 汎用レジスタの RAM 上のアドレスを示します。
■ レジスタバンクポインタ (RP)
以下に , レジスタバンクポインタ (RP) の構成図を示します。
RP
(初期値)→
B4
B3
B2
B1
B0
0
0
0
0
0
レジスタバンクポインタ (RP) は汎用レジスタが存在する内部 RAM のアドレスを示すレ
ジスタです。現在使用中のレジスタバンクの先頭のメモリアドレスは , [000180H+RP ×
RP レジスタは 5 ビットにより構成されており 00H ∼ 1FH
10H] という変換式で示します。
までの値をとることができます。そのため , レジスタバンクの先頭のメモリアドレスは ,
000180H ∼ 00037FH の範囲に設定できます。これにより , 000180H ∼ 00037FH のメモリ
中にレジスタバンクを配置できます。ただし , この範囲内であっても内部 RAM を外部
領域として指定した場合は , 汎用レジスタとして使用することはできません。
RP レジスタに 8 ビットの即値が転送できますが , 実際に使用できるのはそのデータの
下位 5 ビットだけです。
24
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 3 章 専用レジスタ
3.4 プロセッサステータス (PS)
F2MC-16LX ファミリ
3.4.3
コンディションコードレジスタ (CCR)
コンディションコードレジスタのフラグは , 命令の実行や割込みの発生などにより
セットまたはクリアされます。
■ コンディションコードレジスタ (CCR)
以下に , コンディションコードレジスタ (CCR) の構成図を示します。
bit 7
6
5
4
3
2
1
0
−
I
S
T
N
Z
V
C
0
1
−
−
−
−
−
CCR
(初期値)→
−:不定
• I ( 割込み許可フラグ ) ……ソフトウェア割込み以外のすべての割込み要求に対し I
フラグが "1" のときは割込みが許可され , "0" のときは割
込みが禁止されます。リセットによりクリアされます。
• S ( スタックフラグ ) ……S フラグが "0" のときはスタック操作に用いられるポインタ
としてユーザスタックポインタ (USP) が有効になり , "1" の
ときはシステムスタックポインタ (SSP) が有効になりま
す。割込み受付け時およびリセット時にセットされます。
• T ( スティッキィビットフラグ ) ……論理右シフト命令または算術右シフト命令を実
行したときに , C ( キャリフラグ ) から読み出さ
れたデータに 1 つでも "1" があったら "1" とな
り , それ以外は "0" となります。シフト量が "0"
の場合も "0" となります。
• N ( ネガティブフラグ ) ……演算結果の最上位ビットが "1" ならセットされ , "0" なら
クリアされます。
• Z ( ゼロフラグ ) ……演算結果のビットがすべて "0" ならセットされ , それ以外はク
リアされます。
• V ( オーバフローフラグ ) ……演算の実行により符号付き数値として桁のオーバフ
ローが生じるとセットされ , 生じないとクリアされ
ます。
• C (キャリフラグ) ……演算の実行により最上位ビットからの桁上がりまたは最上位
ビットへの桁下がりが生じるとセットされ , 生じないとクリ
アされます。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
25
第 3 章 専用レジスタ
3.5 プログラムカウンタ (PC)
3.5
F2MC-16LX ファミリ
プログラムカウンタ (PC)
プログラムカウンタ (PC) は , CPU が次に実行する命令コードのメモリアドレスの下
位 16 ビットを示します。
■ プログラムカウンタ (PC)
プログラムカウンタ (PC) は 16 ビットのカウンタであり , CPU が次に実行する命令
コードのメモリアドレスの下位 16 ビットを示します ( 図 3.5-1 参照 )。上位 8 ビットの
アドレスはプログラムカウンタバンクレジスタ (PCB) により示されます。PC レジスタ
は条件分岐命令 , サブルーチンコール命令 , 割込み , リセットなどにより内容が更新さ
れます。また , オペランドを読み出すときのベースポインタとしても使用できます。
図 3.5-1 プログラムカウンタ (PC)
PCB
FE H
PC
ABCD H
FEABCD H
26
次に実行する命令
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 3 章 専用レジスタ
3.6 ダイレクトページレジスタ (DPR)
F2MC-16LX ファミリ
3.6
ダイレクトページレジスタ (DPR)
ダイレクトページレジスタ (DPR) は直接アドレス指定方式の命令におけるオペラン
ドアドレスの bit8 ∼ bit15(addr8 ∼ addr15) を指定します。
■ ダイレクトページレジスタ (DPR)
ダイレクトページレジスタ(DPR)は図 3.6-1 に示すように直接アドレス指定方式の命令
におけるオペランドアドレスの bit8 ∼ bit15(addr8 ∼ addr15) を指定します。DPR レジ
スタは 8 ビット長であり , リセットにより 01H に初期化されます。また , 命令により読
出しと書込みが可能です。
図 3.6-1 直接アドレス指定方式による物理アドレスの指定
DTBレジスタ
DPRレジスタ
命令中の直接アドレス
αααααααα
ββββββββ
γγγγγγγγ
MSB
LSB
24ビット
物理アドレス
CM44-00201-4
ααααααααββββββββγγγγγγγγ
FUJITSU MICROELECTRONICS LIMITED
27
第 3 章 専用レジスタ
3.7 バンクレジスタ
3.7
F2MC-16LX ファミリ
バンクレジスタ
バンクレジスタには , 以下に示す 5 つのレジスタがあります。
• プログラムカウンタバンクレジスタ (PCB)
• データバンクレジスタ (DTB)
• ユーザスタックバンクレジスタ (USB)
• システムスタックバンクレジスタ (SSB)
• アディショナルデータバンクレジスタ (ADB)
それぞれのバンクレジスタは , それぞれプログラム空間 , データ空間 , ユーザスタッ
ク空間 , システムスタック空間 , アディショナル空間の配置されるメモリバンクを示
します。
■ バンクレジスタ
すべてのバンクレジスタはバイト長であり , リセットにより PCB レジスタは FFH に初
期化され , その他は 00H に初期化されます。PCB レジスタは , 読出しはできますが書込
みはできません。PCB レジスタ以外のバンクレジスタは読出しも書込みもできます。
16M バイト全空間に分岐する JMPP, CALLP および RETP, RETI 命令実行時または割込
み時に , PCB レジスタは書き換わります。各レジスタの動作については「第 2 章 メモ
リ空間」を参照してください。
28
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第4章
汎用レジスタ
F2MC-16LX のレジスタは大別して CPU 内部の専
用レジスタとメモリ上にある汎用レジスタの 2 種
に分けることができます。
汎用レジスタについて説明します。汎用レジスタ
は , CPU のアドレス空間上の RAM 上に存在しま
す。アドレスを指定しないでアクセスできるとい
う点では専用レジスタと同じですが , 通常のメモリ
と同様 , 使用する目的をユーザが指定できます。
4.1 RAM 上のレジスタバンク
4.2 RAM 上の汎用レジスタの呼び出し方
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
29
第 4 章 汎用レジスタ
4.1 RAM 上のレジスタバンク
4.1
F2MC-16LX ファミリ
RAM 上のレジスタバンク
レジスタバンクは 8 ワード (16 バイト ) で構成されており , 汎用レジスタ ( バイトレ
ジスタ R0 ∼ R7, ワードレジスタ RW0 ∼ RW7, ロングワードレジスタ RL0 ∼ RL3)
として各種演算やポインタに使用できます。RL0 ∼ RL3 は , メモリの全空間を直接
アクセスするリニアポインタとしても使用できます。
■ RAM 上のレジスタバンク
表 4.1-1 に各レジスタの機能を , 表 4.1-2 に各レジスタの関係を示します。
表 4.1-1 各レジスタの機能
レジスタ名
機 能
R0 ∼ R7
各種命令のオペランドとして使用
( 注意事項 ) R0 はバレルシフトのカウンタおよびノーマライズ
( 正規化 ) 命令のカウンタとしても使用
RW0 ∼ RW7
ポインタとして使用
各種命令のオペランドとして使用
( 注意事項 ) RW0 はストリング命令のカウンタとしても使用
RL0 ∼ RL3
ロングポインタとして使用
各種命令のオペランドとして使用
表 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
30
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
RW4
RL2
RW5
RW6
RL3
RW7
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 4 章 汎用レジスタ
4.2 RAM 上の汎用レジスタの呼び出し方
F2MC-16LX ファミリ
4.2
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 バイト ) と同じになります。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
31
第 4 章 汎用レジスタ
4.2 RAM 上の汎用レジスタの呼び出し方
32
F2MC-16LX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第5章
プリフィックスコード
命令の前にプリフィックスコードを置くことによ
り , その命令の動作の一部を変更できます。プリ
フィックスコードには , 以下の 3 種類があります。
• バンクセレクトプリフィックス
• コモンレジスタバンクプリフィックス
• フラグ変化抑止プリフィックスコード
それぞれのプリフィックスについて説明します。
5.1 バンクセレクトプリフィックス
5.2 コモンレジスタバンクプリフィックス (CMR)
5.3 フラグ変化抑止プリフィックスコード (NCC)
5.4 プリフィックスコードに関する制約
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
33
第 5 章 プリフィックスコード
5.1 バンクセレクトプリフィックス
5.1
F2MC-16LX ファミリ
バンクセレクトプリフィックス
バンクセレクトプリフィックスを命令の前に置くことにより , その命令がアクセスす
るメモリ空間を , アドレス指定方式と無関係に任意に選択できます。
■ バンクセレクトプリフィックス
データアクセスの際に使用されるメモリ空間は,アドレス指定方式ごとに定められてい
ます。バンクセレクトプリフィックスを命令の前に置くことにより , その命令がアクセ
スするメモリ空間を , アドレス指定方式と無関係に任意に選択できます。バンクセレク
トプリフィックスとそれにより選択されるメモリ空間を表 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 空間がアクセスされます。
• ストリング操作命令
MOVS MOVSW SCEQ SCWEQ FILS FILSW
プリフィックスの有無にかかわらず , オペランドで指定されたバンクレジスタが使
用されます。
34
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX ファミリ
第 5 章 プリフィックスコード
5.1 バンクセレクトプリフィックス
• その他の制御系命令 ( スタック操作 )
PUSHW POPW POPW PS
プリフィックスの有無にかかわらず , S フラグに応じてシステムスタックバンク
(SSB) またはユーザスタックバンク (USB) が使用されます。
下記の場合は , さらにプリフィックスの効果が次の命令まで及びます。
• その他の制御系命令 ( フラグ変更 )
AND CCR,#imm8 OR CCR,#imm8
命令の動作自体は正常に行われます。プリフィックスの効果が次の命令まで及びま
す。
• その他の制御系命令 ( 割込み制御 )
MOV ILM,#imm8
命令の動作自体は正常に行われます。プリフィックスの効果が次の命令まで及びま
す。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
35
第 5 章 プリフィックスコード
5.2 コモンレジスタバンクプリフィックス (CMR)
5.2
F2MC-16LX ファミリ
コモンレジスタバンクプリフィックス (CMR)
レジスタバンクをアクセスする命令の前に , コモンレジスタバンクプリフィックス
(CMR) を置くことで , 現在のレジスタバンクポインタ (RP) の値に関係なく , その命令
のレジスタアクセスをすべて 000180H ∼ 00018FH にあるコモンバンク (RP=0 のとき
に選択されるレジスタバンク ) に変更できます。
■ コモンレジスタバンクプリフィックス (CMR)
複数のタスク間でのデータ交換を容易にするためには , そのときの RP レジスタがどの
ような値でも比較的簡単に,ある定められた同一のレジスタバンクをアクセスする手段
が必要です。そのために , F2MC-16LX では , 各タスクで共通に使用できるレジスタバ
ンクを用意しています。これをコモンバンクといいます。コモンバンクは , 000180H ∼
00018FH 番地にあり RP レジスタの値が "0" のときに選択されます。
レジスタバンクをアクセスする命令の前に , コモンレジスタバンクプリフィックス
(CMR) を置くことで , 現在のレジスタバンクポインタ (RP) の値に関係なく , その命令
のレジスタアクセスをすべて 000180H ∼ 00018FH にあるコモンバンク (RP=0 のときに
選択されるレジスタバンク ) に変更できます。
以下に示す命令に対してはプレフィックスコードの効果が異なります。
• ストリング命令
MOVS NOVSW SCEQ FILS FILSW
プリフィックスコードを付加したストリング操作命令の実行中に割込み要求が発
生すると , 割込みからの復帰後のストリング操作命令に対してはプリフィックスが
無効となるため誤動作が発生することがあります。上記のストリング操作命令に対
しては CMR プリフィックスを付加しないでください。
• その他の制御系命令 ( フラグ変更 )
AND CCR,#imm8 OR CCR,#imm8 POPW PS
命令の動作自体は正常に行われます。プリフィックスの効果が次の命令まで及びま
す。
• その他の制御系命令 ( 割込み制御 )
MOV ILM,#imm8
命令の動作自体は正常に行われます。プリフィックスの効果が次の命令まで及びま
す。
36
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 5 章 プリフィックスコード
5.3 フラグ変化抑止プリフィックスコード (NCC)
F2MC-16LX ファミリ
5.3
フラグ変化抑止プリフィックスコード (NCC)
フラグ変化を抑止したい命令の前に , フラグ変化抑止プリフィックスコード (NCC)
を置くことで , 命令の実行に伴うフラグ変化を抑止できます。
■ フラグ変化抑止プリフィックスコード (NCC)
不要なフラグ変化を抑止するためにフラグ変化抑止プリフィックスコード (NCC) を用
います。フラグ変化を抑止したい命令の前に NCC プリフィックスを置くことで , 命令
の実行に伴うフラグ変化を抑止できます。
以下に示す命令に対してはプレフィックスコードの効果が異なります。
• 分岐命令
INT #vct8
INT9
INTP addr24
RETI
INT addr16
プリフィックスの有無にかかわらずコンディションコードレジスタ (CCR) のフラグ
は変化します。
• ストリング命令
MOVE MOVSW SCEQ SCWEQ FILS FISW
プリフィックスコードを付加したストリング操作命令の実行中に割込み要求が発
生すると , 割込みからの復帰後のストリング操作命令に対してはプリフィックスが
無効となるため誤動作が発生することがあります。上記のストリング操作命令に対
しては NCC プリフィックスを付加しないでください。
• その他の制御系命令 ( タスクの切換え )
JCTX @A
プリフィックスの有無にかかわらず CCR レジスタのフラグは変化します。
• その他の制御系命令 ( フラグ変更 )
AND CCR,#imm8 OR CCR,#imm8 POPW PS
プリフィックスの有無にかかわらず CCR レジスタのフラグは変化します。また , プ
リフィックスの効果が次の命令まで及びます。
• その他の制御系命令 ( 割込み制御 )
MOV ILM,#imm8
命令の動作自体は正常に行われます。プリフィックスの効果が次の命令まで及びま
す。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
37
第 5 章 プリフィックスコード
5.4 プリフィックスコードに関する制約
5.4
F2MC-16LX ファミリ
プリフィックスコードに関する制約
割込み / ホールド抑止命令の前に , プリフィックスコードを置いた場合 , 図 5.4-2 の
ようにプリフィックスコードの効果は , プリフィックスコード後の最初の命令 ( 割込
み / ホールド抑止命令を除く ) まで及びます。
競合するプリフィックスコードが連続していた場合 , 後方のものが有効になります。
■ 割込み要求を受け付けない命令とプリフィックスコードの関係
以下に示す 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
MOV ILM,#imm8
・・・・
ADD A,01H
CCR:XXX10XX
CCR:XXX10XX
NCCによりCCR は変化しません。
38
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 5 章 プリフィックスコード
5.4 プリフィックスコードに関する制約
F2MC-16LX ファミリ
■ プリフィックスコードが連続しているとき
競合するプリフィックスコードが連続していた場合 , 後方のものが有効になります ( 図
5.4-3 を参照 )。
図 5.4-3 プリフィックスコードの連続
プリフィックスコード
・・・・・
ADB
DTB
PCB
ADD A,01H
・・・・
↑プリフィックスコードは
PCBが有効になります。
競合するプリフィックスコードとは , ここでいう PCB, ADB, DTB, SPB のことを意味し
ます。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
39
第 5 章 プリフィックスコード
5.4 プリフィックスコードに関する制約
40
F2MC-16LX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第6章
割込み処理
割込みの機能と動作について説明します。
6.1 割込み処理
6.2 ハードウェア割込みの動作フロー
6.3 割込み処理のフローチャートとレジスタの退避
6.4 割込みベクタ
6.5 拡張インテリジェント I/O サービス
6.6 割込み制御レジスタ (ICR)
6.7 割込み制御レジスタ (ICR) 内の各ビットの意味
6.8 拡張インテリジェント I/O サービスディスクリプタ (ISD)
6.9 拡張インテリジェント I/O サービスディスクリプタの各
レジスタ
6.10 例外処理
6.11 割込み処理のプログラム例
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
41
第 6 章 割込み処理
6.1 割込み処理
6.1
F2MC-16LX ファミリ
割込み処理
F2MC-16LX シリーズでは , 各内蔵リソースからの割込み要求により , 割込み処理ま
たは拡張インテリジェント I/0 サービスが起動します。割込み処理では , 割込み処理
プログラムによって割込み要求に対応した処理を行います。拡張インテリジェント
I/O サービスでは , 内蔵リソースとメモリ間のデータ転送を自動的に行います。さら
に , 内蔵リソース ( 内蔵周辺回路 ) からの要求により , 拡張インテリジェント I/O
サービスの実行を中断するなどの機能があります。
■ 割込み処理
CPU に対してハードウェア割込み要求を行うことができる内蔵リソースには , 割込み
要求フラグと割込み許可フラグが必要です。割込み要求フラグは , 内蔵リソース固有の
イベント ( 事象 ) の発生によりセットされます。割込み要求フラグが要求ありを示し ,
割込み許可フラグが許可状態のときに,ハードウェア割込み要求が内蔵リソースより発
生します。
ここで , ハードウェア割込み要求の発生により拡張インテリジェント I/O サービスを起
動する必要がある内蔵リソースに関しては,そのリソースに対応する割込みコントロー
ラ中の割込み制御レジスタ (ICR) に拡張インテリジェント I/O サービスイネーブルフラ
グ (ISE) が設けてあります。
この ISE フラグが "1" であるときに割込み要求が発生することによって , 拡張インテリ
ジェント I/O サービスが起動します。また , ハードウェア割込み要求で通常の割込みを
起こしたいときは , ISE を "0" にします。
ソフトウェア割込みである INT 命令の実行による割込み要求には , 割込み要求フラグ
および許可フラグはなく , INT 命令の実行により常に割込み要求が発生します。
ハードウェア割込み要求に対しては,ある一定の要求のグループ単位で割込みレベルを
指定できます。割込みレベルの指定は , 割込みコントローラ中の ICR レジスタの中の
割込みレベル設定ビット (IL0, IL1, IL2) にて行います。割込みレベル値は 0 ∼ 7 までの
8 通りの値に設定できます。割込みレベル値は , 0 が一番強く 6 が一番弱いと定義され
ています。
レベル値 7 に設定された割込み要求グループの割込みは発生しません。また , ハード
ウェア割込み要求は , プロセッサステータス (PS) 中のコンディションコードレジスタ
(CCR) 中の割込み許可フラグ (I) および割込みレベルマスク (ILM) により割込みにマス
ク ( 許可 / 禁止 ) できます。
マスクされない割込み要求が発生すると , CPU は次の動作を行います。
1) システムスタックバンクレジスタ (SSB) とシステムスタックポインタ (SSP) の示
すメモリ中へ , 以下に挙げるレジスタのデータ (12 バイト ) を退避します。
- プロセッサステータス (PS)
- プログラムカウンタ (PC)
- プログラムカウンタバンクレジスタ (PCB)
- データバンクレジスタ (DTB)
42
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX ファミリ
第 6 章 割込み処理
6.1 割込み処理
- アディショナルデータバンクレジスタ (ADB)
- ダイレクトページレジスタ (DPR)
- アキュムレータ (A)
2) 割込みベクタを PC と PCB へ 3 バイト読み出します。
3) PS 中の ILM レジスタを受け付けた割込み要求のレベル値に更新し , CCR レジス
タ内の S フラグをセットします。
4) 割込みベクタの示す番地より命令を実行し始めます。
INT 命令では ILM レジスタの更新は行われず , CCR レジスタの中の割込み許可フラグ
(I) をクリアして継続する割込み要求を保留状態にします。
特別な場合として , I/O 領域への書込み中はハードウェア割込み要求を受け付けられま
せん。これは , 各リソースの割込み制御レジスタ関係の書換えを行っている最中に割込
み要求が発生して , CPU が誤動作を起こすことを避けるためです。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
43
第 6 章 割込み処理
6.2 ハードウェア割込みの動作フロー
F2MC-16LX ファミリ
ハードウェア割込みの動作フロー
6.2
図 6.2-1 にハードウェア割込みの発生から割込み処理プログラム内で割込み要求が
なくなるまでの動作フローを示します。
■ ハードウェア割込みの動作フロー
F2MC-16 バス
図 6.2-1 ハードウェア割込みの発生から解除まで
PS :プロセッサステータス
PS
レジスタファイル
I
ILM
I
IR
マイクロコード
⑥
F2MC-16LX・CPU
比較器
チェック
⑤
:割込み許可フラグ
ILM:割込みレベルマスク
④
IR :インストラクションレジスタ
③
周辺
・・・
許可FF
AND
⑦
要因FF
①
②
周辺
レ
ベ
ル
比
較
器
割
込
み
レ
ベ
ル
IL
割込み
コントローラ
① 周辺の内部で割込み要因が発生します。
② 周辺内の割込み許可ビットを参照し割込み許可になっていれば , 周辺から割込みコン
トローラへ割込み要求を発生します。
③ 割込み要求を受け取った割込みコントローラは , 同時に要求のあった割込みの優先順
位を判定した上で該当する割込みに対応する割込みレベルを CPU へ転送します。
④ CPU は , 割込みコントローラから要求のあった割込みレベルをプロセッサステータス
レジスタ内の IL ビットと比較します。
⑤ 比較の結果が , 現在の割込み処理レベルより優先順位が高い場合のみ , 同じプロセッサ
ステータスレジスタ内の割込み許可フラグ (I) の内容をチェックします。
⑥ ⑤のチェックの結果 , 割込み許可フラグ (I) が割込み許可状態である場合のみ , IL ビッ
トの内容を要求されたレベルに設定します。そして , 現在実行中の命令の実行が終了
し次第割込み処理を行い , 制御を割込み処理ルーチンへ移します。
⑦ ユーザの割込み処理ルーチン内のソフトウェアで , ①で発生した割込み要因をクリア
することで割込み要求が終了します。
44
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.3 割込み処理のフローチャートとレジスタの退避
F2MC-16LX ファミリ
割込み処理のフローチャートとレジスタの退避
6.3
図 6.3-1 に割込み処理のフローチャートを , 図 6.3-2 に割込み処理時のレジスタ退避
を示します。
■ 割込み処理のフローチャート
図 6.3-1 割込み処理のフローチャート
I
ILM
IF
IE
ISE
IL
S
I &
IF & IE =1
AND
ILM > IL
:
:
:
:
:
:
:
割込み許可フラグ
割込みレベルマスク
内蔵リソースの割込み要求
内蔵リソースの割込みイネーブルフラグ
EI2 OS イネーブルフラグ
内蔵リソースの割込み要求レベル
スタックフラグ
YES
NO
NO
YES
ISE = 1
次の命令の取込み
とデコード
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
その後ILM=IL
拡張インテリジェント
I/Oサービス 処理
YES
INT命令
NO
PS,PC,PCB,DTB,ADB,DPR,
AをSSPのスタックへ退避
その後I=0,ILM=IL
通常命令実行
NO
ストリング系
命令の繰返し
完了
S ← 1
割込みベクタ取込み
YES
PCの更新
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
45
第 6 章 割込み処理
6.3 割込み処理のフローチャートとレジスタの退避
F2MC-16LX ファミリ
■ 割込み処理時のレジスタ退避
図 6.3-2 割込み処理時のレジスタ退避
ワード (16ビット)
MSB
LSB
H
↑
← SSP (割込み発生前のSSPの値)
AH
AL
DPR
ADB
DTB
PCB
PC
PS
↓
L
46
← SSP (割込み発生後のSSPの値)
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.4 割込みベクタ
F2MC-16LX ファミリ
割込みベクタ
6.4
割込みベクタは , 表 6.4-1 に示すように , FFFC00H ∼ FFFFFFH 番地に格納されてい
ます。また , 割込みベクタは , ハードウェア割込みとソフトウェア割込みの両方で同
じ領域を共有しています。
■ 割込みベクタ
表 6.4-1 割込みベクタ一覧表
割込み要求
ベクタアドレス L
ベクタアドレス H
ベクタアドレスバンク
モードレジスタ
INT 0 *1
FFFFFCH
FFFFFDH
FFFFFEH
未使用
*1
FFFFF8H
FFFFF9H
FFFFFAH
未使用
・
・
・
・
・
・
・
・
・
・
INT 1
・
・
・
・
・
*1
FFFFE0H
FFFFE1H
FFFFE2H
未使用
INT 8 *2
FFFFDCH
FFFFDDH
FFFFDEH
FFFFDFH
INT 9
FFFFD8H
FFFFD9H
FFFFDAH
未使用
INT 10 *3
FFFFD4H
FFFFD5H
FFFFD6H
未使用
INT 11
FFFFD0H
FFFFD1H
FFFFD2H
未使用
・
・
・
・
・
・
・
・
・
・
・
・
FFFC05H
・
FFFC06H
・
INT 254
・
FFFC04H
未使用
INT 255
FFFC00H
FFFC01H
FFFC02H
未使用
INT 7
*1:
プログラムカウンタバンクレジスタ (PCB) が FFH のときの CALLV 命令のベクタ領域は INT #vct8
(#0 ∼ #7) のベクタ領域と共有しているため , CALLV 命令用のベクタを使用する場合は注意が必要
です。
*2: リセットベクタとなっています。
*3: 例外処理用のベクタとなっています。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
47
第 6 章 割込み処理
6.5 拡張インテリジェント I/O サービス
F2MC-16LX ファミリ
6.5拡張インテリジェント I/O サービス
拡張インテリジェント I/O サービス (EI2OS) とは , I/O とメモリとの間で自動データ
転送を行う機能で , 従来割込み処理プログラムで行っていた I/O とのデータのやりと
りを DMA ( ダイレクトメモリアクセス ) 的に行える機能です。
■ 拡張インテリジェント I/O サービスの概要
拡張インテリジェント I/O サービスとは , ハードウェア割込みの 1 種です。これは , I/O
とメモリとの間で自動データ転送を行う機能で,従来は割込み処理プログラムで行って
いた I/O とのデータのやりとりを DMA 的に行える機能です。従来の割込み処理で行っ
ていた方式と比べると , 次に示すような利点があります。
• 転送のためのプログラムを記述する必要がないため , プログラムサイズを小さくす
ることができます。
• 転送の際に内部レジスタを使用しないので , レジスタの退避が不要になり , 転送速
度が速くなります。
• I/O の状態により転送を停止できるので , 不要なデータを転送しなくて済みます。
• バッファアドレスのインクリメントおよび更新なしの選択ができます。
• I/O レジスタアドレスのインクリメントおよび更新なしの選択ができます。
また , 拡張インテリジェント I/O サービスが終了すると , 終了条件を設定した後に自動
的に割込み処理ルーチンへ分岐するので,ユーザは終了条件が何であったかを判別でき
ます。
■ 拡張インテリジェント I/O サービスの構造
拡張インテリジェント I/O サービスに関連する機構は , 次の 4 つに分かれて存在します。
• 内蔵リソース……割込み許可ビット , 割込み要求ビット : リソースからの割込み要
求の制御
• 割込みコントローラ……ICR: 割込みのレベル付け , 同時要求割込みの優先度の判定 ,
EI2OS 動作の選択
• CPU……I, ILM: 要求割込みレベルと現レベルの比較 , 割込み許可状態の識別
• RAM……ディスクリプタ :EI2OS の転送情報の記述
48
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.5 拡張インテリジェント I/O サービス
F2MC-16LX ファミリ
図 6.5-1 に , 拡張インテリジェント I/O サービスの概要を示します。
図 6.5-1 拡張インテリジェント I/O サービスの概要
メモリ空間
by IOA
周辺
I/Oレジスタ …………… I/Oレジスタ
CPU
割込み要求
③
ISD
③
①
by ICS
②
割込み制御レジスタ
割込みコントローラ
by BAP
④
バッファ
①I/Oが転送を要求します。
②割込みコントローラがディスクリ
プタを選択します。
③転送元/先をディスクリプタから
by DCT
読み出します。
④I/Oとメモリ間で転送が行われます。
<注意事項>
I/O レジスタアドレスポインタ (IOA) で指定できる領域は , 000000H ∼ 00FFFFH です。
バッファアドレスポインタ (BAP) で指定できる領域は , 000000H ∼ 00FFFFH です。
データカウンタ (DCT) で指定できる最大転送数は , 65536 個です。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
49
第 6 章 割込み処理
6.5 拡張インテリジェント I/O サービス
6.5.1
F2MC-16LX ファミリ
拡張インテリジェント I/O サービスの動作フロー
チャート
図 6.5-2 に拡張インテリジェント I/O サービスの動作フローチャートを示します。
■ 拡張インテリジェント I/O サービスの動作フローチャート
図 6.5-2 拡張インテリジェント I/O サービスの動作フローチャート
BAP
IOA
ISD
ISCS
DCT
ISE
S1,S0
内部リソースより
割込み要求発生
:
:
:
:
:
:
:
バッファアドレスポインタ
I/Oレジスタアドレスポインタ
EI2 OSディスクリプタ
EI2 OSステータス
データカウンタ
EI2 OSイネーブルビット
EI2 OS終了ステータス
NO
ISE=1
YES
割込みシーケンス
ISD/ISCSリード
YES
リソースからの終了要求
NO
SE=1
YES
DIR=1
NO
BAPで示されるデータ
(データ転送)
IOAで示されるメモリ
⇒
⇒
IOAで示されるデータ
(データ転送)
BAPで示されるメモリ
YES
IF=0
NO
更新値は
BWによる
IOA更新
更新値は
BWによる
BAP更新
YES
BF=0
NO
DCTデクリメント
(−1)
YES
DCT=00
NO
S1, S0に
"00"をセット
50
S1, S0に
"01"をセット
S1, S0に
"11"をセット
リソース割込み要求
のクリア
ISEを"0"にクリア
CPU動作復帰
割込みシーケンス
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.5 拡張インテリジェント I/O サービス
F2MC-16LX ファミリ
拡張インテリジェント I/O サービスの使用手順フロー
チャート
6.5.2
図 6.5-3 に , 拡張インテリジェント I/O サービス (EI2OS) の使用手順フローチャート
を示します。
■ 拡張インテリジェント I/O サービスの使用手順フローチャート
図 6.5-3 拡張インテリジェント I/O サービスの使用手順フローチャート
EI 2 OSによる処理
CPUによる処理
EI2 OS初期設定
正常終了状態
(割込み要求)AND(ISE=1)
JOBの実行
データ転送
カウントアウト OR
リソースからの終了要求
による割込みの発生
2
EI OS の再設定
(チャネルの切換え)
バッファ中のデータの処理
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
51
第 6 章 割込み処理
6.6 割込み制御レジスタ (ICR)
6.6
F2MC-16LX ファミリ
割込み制御レジスタ (ICR)
割込み制御レジスタ (ICR) は割込みコントローラ内にあり , 割込み機能を持つすべて
の I/O( 内蔵リソースの I/O) の数だけ存在します。
■ 割込み制御レジスタ (ICR0 ∼ ICR15) の機能
割込み制御レジスタ (ICR) には , 次に示す 3 つの機能があります。
• 対応する内蔵リソースの割込みレベルの設定
• 対応する内蔵リソースの割込みを通常割込みにするか , 拡張インテリジェント I/O
サービスにするかの選択
• 拡張インテリジェント I/O サービスのチャネルの選択
このレジスタに対するリードモディファイライト系命令でのアクセスは,誤動作を引き
起こしますので行わないでください。
■ 割込み制御レジスタ (ICR) のビット構成
図 6.6-1 に , 割込み制御レジスタ (ICR) のビット構成図を示します。
図 6.6-1 割込み制御レジスタ (ICR)
bit
7
6
5
4
3
ICS3 ICS2 ICS1/ ICS0/ ISE
W
W
S1
S0
R,W
R,W
2
1
0
IL2
IL1
IL0
割込み制御レジスタ(ICR)
リセット時 00000111B
R/W
R/W
R/W
R/W
*:ICS1とICS0は書込み(W)のみ,S1とS0は読出し(R)のみ有効です。
<注意事項>
ICS3 ∼ ICS0 は , 拡張インテリジェント I/O サービスを起動する場合だけ有効となります。
拡張インテリジェント I/O サービスを起動する場合は ISE ビットを "1" に設定し , 起動し
ない場合には "0" を設定してください。拡張インテリジェント I/O サービスを起動しない
場合は , ICS3 ∼ ICS0 を設定しなくても構いません。
52
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.7 割込み制御レジスタ (ICR) 内の各ビットの意味
F2MC-16LX ファミリ
6.7
割込み制御レジスタ (ICR) 内の各ビットの意味
割込み制御レジスタ (ICR) 内の各ビットの意味は以下のとおりです。
• 拡張インテリジェント I/O サービスチャネル選択ビット (ICS0 ∼ ICS3)
……拡張インテリジェント I/O サービスのチャネルを指定します。
• 拡張インテリジェント I/O サービス終了ステータス (S0, S1)
……拡張インテリジェント I/O サービスの終了条件を示します。
• 拡張インテリジェント I/O サービス許可ビット (ISE)
……拡張インテリジェント I/O サービスを起動します。
• 割込みレベル設定ビット (IL0 ∼ IL2)……割込みレベルを設定します。
■ 拡張インテリジェント I/O サービスチャネル選択ビット (bit7 ∼ bit4: ICS0 ∼ ICS3)
書込み専用のビットで , このビットにより拡張インテリジェント I/O サービスのチャネ
ルを指定します。ここで設定された値により , のちに説明するメモリ上の拡張インテリ
ジェント I/O サービスディスクリプタのアドレスが決定します。ICS はリセットにより
初期化されます。表 6.7-1 に ICS とチャネル番号とディスクリプタアドレスの対応を示
します。
表 6.7-1 ICS とチャネル番号とディスクリプタアドレスの対応
CM44-00201- 4
ICS3
ICS2
ICS1
ICS0
0
0
0
0
セレクトされる
チャネル
0
0
0
0
1
1
000108H
0
0
1
0
2
000110H
0
0
1
1
3
000118H
0
1
0
0
4
000120H
0
1
0
1
5
000128H
0
1
1
0
6
000130H
0
1
1
1
7
000138H
1
0
0
0
8
000140H
1
0
0
1
9
000148H
1
0
1
0
10
000150H
1
0
1
1
11
000158H
1
1
0
0
12
000160H
1
1
0
1
13
000168H
1
1
1
0
14
000170H
1
1
1
1
15
000178H
FUJITSU MICROELECTRONICS LIMITED
ディスクリプタアドレス
000100H
53
第 6 章 割込み処理
6.7 割込み制御レジスタ (ICR) 内の各ビットの意味
F2MC-16LX ファミリ
■ 拡張インテリジェント I/O サービス終了ステータス (bit5, bit4: S0, S1)
読出し専用のビットで , 拡張インテリジェント I/O サービス終了時にこのビットの値を
調べることにより , 終了条件が何であったかを判別できます。リセット後は "00" にな
ります。表 6.7-2 に S0, S1 ビットと終了条件の関係について示します。
表 6.7-2 拡張インテリジェント I/O サービス終了ステータスビット (S0, S1) と終了条件
S1
S0
0
0
1
1
0
1
0
1
終了条件
予約
カウント終了によるもの
予約
内蔵リソースからの要求によるもの
■ 拡張インテリジェント I/O サービス許可ビット (bit3: ISE)
読み書き可能なビットで , 割込み要求の発生時にこのビットが "1" であると拡張インテ
リジェント I/O サービスが起動され , "0" のときは割込みシーケンスが起動されます。
また , 拡張インテリジェント I/O サービスが終了条件成立 (S1, S0 ビットが "00" 以外 )
のとき , ISE ビットはクリアされます。対応する内蔵リソースに拡張インテリジェント
I/O サービスの機能がないときには , ソフトウェアで ISE ビットを "0" にしておく必要
があります。また , ISE ビットはリセットにより "0" に初期化されます。
■ 割込みレベル設定ビット (bit2 ∼ bit0: IL2 ∼ IL0)
読み書き可能なビットで , 対応する内蔵リソースの割込みレベルを指定します。リセッ
トによりレベル 7( 割込みなし ) に初期化されます。割込みレベル設定ビットと各割込
みレベルとの関係を表 6.7-3 に示します。
表 6.7-3 割込みレベル設定ビットと割込みレベルの対応
54
IL2
IL1
IL0
0
0
0
0
0
0
1
1
1
0
1
1
0
0
1
1
0
1
0
1
0
1
1
1
レベル値
0 ( 最強割込み )
1
2
3
4
5
6 ( 最弱割込み )
7 ( 割込みなし )
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.8 拡張インテリジェント I/O サービスディスクリプタ (ISD)
F2MC-16LX ファミリ
6.8
拡張インテリジェント I/O サービスディスクリプタ
(ISD)
拡張インテリジェント I/O サービスディスクリプタ (ISD) は , 内部 RAM 中の
000100H ∼ 00017FH に存在し , 以下に示すものから構成されます。
•
•
•
•
データカウンタ
I/O レジスタアドレスポインタ
ステータスデータ
バッファアドレスポインタ
■ 拡張インテリジェント I/O サービスディスクリプタ (ISD)
図 6.8-1 に拡張インテリジェント I/O サービスディスクリプタ (ISD) の構成を示します。
図 6.8-1 拡張インテリジェント I/O サービスディスクリプタの構成
MSB
データカウンタ上位8ビット(DCTH)
LSB
H
データカウンタ下位8ビット(DCTL)
I/Oレジスタアドレスポインタ上位8ビット(IOAH)
I/Oレジスタアドレスポインタ下位8ビット(IOAL)
EI 2 OS ステータス (ISCS)
バッファアドレスポインタ上位8ビット (BAPH)
000100 H + 8 × ICS
ISD先頭アドレス
CM44-00201- 4
バッファアドレスポインタ中位8ビット (BAPM)
バッファアドレスポインタ下位8ビット (BAPL)
FUJITSU MICROELECTRONICS LIMITED
L
55
第 6 章 割込み処理
6.9 拡張インテリジェント I/O サービスディスクリプタの各レ
ジスタ
6.9
F2MC-16LX ファミリ
拡張インテリジェント I/O サービスディスクリプタの
各レジスタ
拡張インテリジェント I/O サービスディスクリプタ (ISD) は , 次に示すレジスタから
構成されています。
• バッファアドレスポインタ (BAP)
• 拡張インテリジェント I/O サービスステータスレジスタ (ISCS)
• I/O レジスタアドレスポインタ (IOA)
• データカウンタ (DCT)
各レジスタはリセット時には不定となっていますので注意してください。
■ バッファアドレスポインタ (BAP)
バッファアドレスポインタ (BAP) は 24 ビットのレジスタで , 拡張インテリジェント I/O
サービスによる次の転送で使用するアドレスを保持します。バッファアドレスポイン
タ (BAP) は , 拡張インテリジェント I/O サービスの各チャネルに対してそれぞれ独立に
存在するので , 拡張インテリジェント I/O サービスの各チャネルは 16M バイトの任意
のアドレスと I/O の間で転送できます。
<注意事項>
拡張インテリジェント I/O サービスステータスレジスタ (ISCS) 中の BF ビットにより " 更
新あり " とした場合 , BAP は下位 16 ビット (BAPM, BAPL) だけ変化し , 上位 8 ビット
(BAPH) は変化しません。
■ 拡張インテリジェント I/O サービスステータスレジスタ (ISCS)
拡張インテリジェント I/O サービスステータスレジスタ (ISCS) は , 8 ビット長のレジス
タで , バッファアドレスポインタと I/O レジスタアドレスポインタの更新 / 固定や更新
方向 ( インクリメント / デクリメント ), 転送データ形式 ( バイト / ワード ), 転送方向を
示します。図 6.9-1 に拡張インテリジェント I/O サービスステータスレジスタ (ISCS) の
構成を示します。
図 6.9-1 拡張インテリジェント I/O サービスステータスレジスタ (ISCS) の構成
bit
7
6
5
予約 予約 予約
4
3
2
1
0
IF
BW
BF
DIR
SE
:ISCS(リセット時不定)
(注意事項) ISCSのbit7∼bit5には必ず"0"を書き込むこと
56
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.9 拡張インテリジェント I/O サービスディスクリプタの各レ
ジスタ
ISCS レジスタの各ビットの内容は以下のとおりです。
F2MC-16LX ファミリ
● bit4(IF)……I/O レジスタアドレスポインタの更新 / 固定を指定します。
• 0……データ転送後 , I/O レジスタアドレスポインタは更新されます。
• 1……データ転送後 , I/O レジスタアドレスポインタは更新されません。
( 注意事項 ) インクリメントだけ可能です。
● bit3(BW)……転送データ長を指定します。
• 0……バイト
• 1……ワード
● bit2(BF)……バッファアドレスポインタの更新 / 固定を指示します。
• 0……データ転送後 , バッファアドレスポインタは更新されます。
• 1……データ転送後 , バッファアドレスポインタは更新されません。
( 注意事項 ) 更新する場合 , バッファアドレスポインタは下位 16 ビットだけ変化しま
す。インクリメントだけ可能です。
● bit1(DIR)……データの転送方向を指定します。
• 0……I/O レジスタアドレスポインタ (IOA) → バッファアドレスポインタ (BAP)
• 1……バッファアドレスポインタ (BAP) → I/O レジスタアドレスポインタ (IOA)
● bit0(SE)……内蔵リソースからの要求での拡張インテリジェント I/O サービスの終了を制御
します。
• 0……内蔵リソースからの要求により終了しません。
• 1……内蔵リソースからの要求により終了します。
■ I/O レジスタアドレスポインタ (IOA)
I/O レジスタアドレスポインタ (IOA) は , 16 ビット長のレジスタで , バッファとデータ
転送する I/O レジスタの下位アドレス (A15 ∼ A0) を示します。上位アドレス (A23 ∼
A16) は 00H であり , 000000H ∼ 00FFFFH 番地までの任意の I/O を指定できます。
図 6.9-2 に , I/O レジスタアドレスポインタ (IOA) の構成を示します。
図 6.9-2 I/O レジスタアドレスポインタ (IOA) の構成
bit 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
A15 A14 A13 A12 A11 A10 A09 A08 A07 A06 A05 A04 A03 A02 A01 A00 :IOA(リセット時不定)
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
57
第 6 章 割込み処理
6.9 拡張インテリジェント I/O サービスディスクリプタの各レ
ジスタ
F2MC-16LX ファミリ
■ データカウンタ (DCT)
データカウンタ (DCT) は , 16 ビット長のレジスタで , 転送データ数に対応したカウン
タとなります。各データの転送前に , カウンタは 1 デクリメント ( 減値 ) します。この
カウンタが 0000H になると拡張インテリジェント I/O サービスは終了します。
図 6.9-3 にデータカウンタの構成を示します。
図 6.9-3 データカウンタ (DCT) の構成
bit 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
B15 B14 B13 B12 B11 B10 B09 B08 B07 B06 B05 B04 B03 B02 B01 B00 :DCT(リセット時不定)
58
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX ファミリ
6.10
第 6 章 割込み処理
6.10 例外処理
例外処理
例外処理は , 基本的には割込みと同じものであり , 命令の境目で例外事項が発生した
ことを検出した段階で , 通常処理から離れて例外処理を行います。一般的に , 例外処
理は予想外の動作を行った結果によって発生するもので , デバッグ時だけの使用や緊
急時の復旧ソフトウェアの起動などだけに使用することをお勧めします。
■ 未定義命令の実行による例外発生
F2MC-16LX では , 命令マップで定義していないコードをすべて未定義命令として扱い
ます。未定義命令を実行すると , ソフトウェア割込み命令の "INT10" と同じような処理
を行います。すなわち , 次の 8 つの内容をシステムスタックに退避した後に , 割込み番
号 10 のベクタで示されるルーチンへ分岐します。
• アキュムレータ下位ワード (AL)
• アキュムレータ上位ワード (AH)
• ダイレクトページレジスタ (DPR)
• データバンクレジスタ (DTB)
• アディショナルデータバンクレジスタ (ADB)
• プログラムカウンタバンクレジスタ (PCB)
• プログラムカウンタ (PC)
• プロセッサステータス (PS)
さらに , 割込み許可フラグ (I) をクリアし , スタックフラグ (S) をセットします。スタッ
クへ退避した PC の値は , 未定義命令を格納しているアドレスそのものです。2 バイト
以上の命令コードでは,未定義であることが識別できたコードを格納しているアドレス
になります。このため , RETI 命令で復帰させることは可能ですが , 再び例外を発生す
るため , 意味がありません。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
59
第 6 章 割込み処理
6.11 割込み処理のプログラム例
6.11
F2MC-16LX ファミリ
割込み処理のプログラム例
割込み処理のプログラム例を示します。
■ 割込み処理のプログラム例
● 処理仕様
外部割込み 0(INT0) を利用した割込みプログラムの一例です。
● コーディング例
DDR6
EQU
000016H
; ポート 6 方向レジスタ
ENIR
EQU
00003CH
; 割込み /DTP 許可レジスタ
EIRR
EQU
00003DH
; 割込み /DTP 要因レジスタ
ELVR
EQU
00003EH
; 要求レベル設定レジスタ
ICR03
EQU
0000B3H
; 割込み制御レジスタ 03
STACK
SSEG
RW
100
STACK_T RW
STACK
; スタック
1
ENDS
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
;
START:
MOV
RP, #0
; 汎用レジスタは先頭バンクを使用
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
MOV
A, #!STACK_T
; システムスタックの設定
MOV
SSB, A
MOVW A, #STACK_T
; スタックポインタの設定 , このときは
MOVW SP, A
; S フラグ =1 のため SSP にセットされる
MOV
DDR6, #00000000B ; P60/INT0 端子を入力に設定
OR
CCR, #40H
; PS内CCRのIフラグをセットして割込み許可
MOV
I:ICR03, #00H
; 割込みレベル 0( 最強 ) とする
MOV
I:ELVR, #00000001B ; INT0 を "H" レベル要求とする
MOV
I:EIRR, #00H
; INT0 の割込み要因をクリア
MOV
I:ENIR, #01H
; INT0 の入力許可
:
LOOP:
NOP
; ダミーループ
NOP
NOP
NOP
60
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.11 割込み処理のプログラム例
F2MC-16LX ファミリ
BRA
LOOP
; 無条件ジャンプ
;---------- 割込みプログラム -----------------------------------------------------------ED_INT1:
MOV
I:EIRR, #00H
; INT0 の新規受付禁止
NOP
NOP
NOP
NOP
NOP
NOP
; 割込みから復帰
RETI
CODE
ENDS
;---------- ベクタ設定 -----------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFB4H
DSL
ED_INT1
ORG
0FFDCH
DSL
START
DB
00H
; 割込み #18(12H) にベクタを設定
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
START
● 拡張インテリジェント I/O サービス (EI2OS) のプログラム例処理仕様
1. INT0端子に入力される, 信号の"H"レベルを検出して拡張インテリジェントI/Oサー
ビス (EI2OS) を起動
2. INT0 端子に "H" レベルが入力されると , EI2OS が起動されポート 0 のデータをメモ
リの 3000H 番地に転送
3. 転送データバイト数は 100 バイトで , 100 バイト転送後 , EI2OS 転送終了による割込
みが発生
● コーディング例
CM44-00201- 4
DDR6
EQU
000016H
; ポート 6 方向レジスタ
ENIR
EQU
00003CH
; 割込み /DTP 許可レジスタ
EIRR
EQU
00003DH
; 割込み /DTP 要因レジスタ
ELVR
EQU
00003EH
; 要求レベル設定レジスタ
ICR03
EQU
0000B3H
; 割込み制御レジスタ 03
BAPL
EQU
000100H
; バッファアドレスポインタ下位
BAPM
EQU
000101H
; バッファアドレスポインタ中位
BAPH
EQU
000102H
; バッファアドレスポインタ上位
ISCS
EQU
000103H
; EI2OS ステータス
FUJITSU MICROELECTRONICS LIMITED
61
第 6 章 割込み処理
6.11 割込み処理のプログラム例
F2MC-16LX ファミリ
IOAL
EQU
000104H
; I/O アドレスポインタ下位
IOAH
EQU
000105H
; I/O アドレスポインタ上位
DCTL
EQU
000106H
; データカウンタ下位
DCTH
EQU
000107H
; データカウンタ上位
ER0
EQU
EIRR:0
; 外部割込み要求フラグビットの定義
STACK
SSEG
RW
STACK_T RW
STACK
; スタック
100
1
ENDS
;---------- メインプログラム -----------------------------------------------------------CODE
CSEG
START:
AND
CCR, #0BFH
; PS内CCRのIフラグをクリアして割込み禁止
MOV
RP, #00
; レジスタバンクポインタを設定
MOV
A, #!STACK_T
; システムスタックの設定
MOV
SSB, A
MOVW A, #STACK_T
; スタックポインタの設定 , このときは
MOVW SP, A
; S フラグ =1 のため SSP にセットされる
MOV
I:DDR6, #00000000B ; P60/INT0 端子を入力に設定
MOV
BAPL, #00H
MOV
BAPM, #30H
MOV
BAPH, #00H
MOV
ISCS, #00010001B
; バッファアドレスをセット (003000H)
; I/O アドレス更新なし , バイト転送 ,
バッファアドレス更新あり
; I/O →バッファへ転送 , 周辺機能による終了
あり
; 転送元アドレスをセット(ポート0:000000H)
MOV
IOAL, #00H
MOV
IOAH, #00H
MOV
DCTL, #64H
MOV
DCTH, #00H
MOV
I:ICR00, #00001000B ; EI2OS ch.0, EI2OS 許可 , 割込み
; 転送バイト数をセット (100 バイト )
レベル 0 ( 最強 )
MOV
I:ELVR, #00000001B ; INT0 を "H" レベル要求とする
MOV
I:EIRR, #00H
; INT0 の割込み要因クリア
MOV
I:ENIR, #01H
; INT0 の割込み許可
MOV
ILM, #07H
; PS 内 ILM をレベル 7 に設定
OR
CCR, #40H
; PS内CCRのIフラグをセットして割込み許可
:
62
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 6 章 割込み処理
6.11 割込み処理のプログラム例
F2MC-16LX ファミリ
LOOP:
BRA
LOOP
; 無限ループ
;---------- 割込みプログラム -----------------------------------------------------------WARI
CLRB
ER0
; 割込み /DTP 要求フラグのクリア
:
ユーザ処理
; EI2OS の終了要因をチェック ,
; バッファ中のデータの処理 , EI2OS の再設定
:
など
RETI
CODE
ENDS
---------- ベクタ設定 ------------------------------------------------------------------VECT
VECT
CSEG
ABS=0FFH
ORG
0FFB4H
DSL
WARI
ORG
0FFDCH
DSL
START
DB
00H
; リセットベクタ設定
; シングルチップモードに設定
ENDS
END
CM44-00201- 4
; 割込み #18(12H) にベクタを設定
START
FUJITSU MICROELECTRONICS LIMITED
63
第 6 章 割込み処理
6.11 割込み処理のプログラム例
64
F2MC-16LX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第7章
アドレス指定方式
各命令におけるアドレス指定方式について説明し
ます。
アドレス指定方式では , 使用するデータやアドレス
を指定します。
F2MC-16LX では , 実効アドレス指定または使用す
る命令コード自体でアドレス形式 ( 絶対アドレス ,
相対アドレス ) が決定されます。命令コード自体で
アドレス形式が決定するときは , 使用する命令コー
ドに合わせてアドレスを指定します。
また , 命令によっては , 数種類のアドレス指定方式
を指定できるものがあります。
7.1 実効アドレスフィールド
7.2 直接アドレス指定方式
7.3 間接アドレス指定方式
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
65
第 7 章 アドレス指定方式
7.1 実効アドレスフィールド
7.1
F2MC-16LX ファミリ
実効アドレスフィールド
実効アドレスフィールドで指定されるアドレス形式を表 7.1-1 に示します。
■ 実効アドレスフィールド
表 7.1-1 実効アドレスフィールド
コード
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
66
表記
R0
RW0
RL0
R1
RW1 (RL0)
R2
RW2
RL1
R3
RW3 (RL1)
R4
RW4
RL2
R5
RW5 (RL2)
R6
RW6
RL3
R7
RW7 (RL3)
@RW0
@RW1
@RW2
@RW3
@RW0+
@RW1+
@RW2+
@RW3+
@RW0+disp8
@RW1+disp8
@RW2+disp8
@RW3+disp8
@RW4+disp8
@RW5+disp8
@RW6+disp8
@RW7+disp8
@RW0+disp16
@RW1+disp16
@RW2+disp16
@RW3+disp16
@RW0+RW7
@RW1+RW7
@PC+disp16
addr16
デフォルト
バンク
アドレス形式
レジスタ直接
* : 表記欄の汎用レジスタ名は左から順に
バイト
ワード
ロングワード
の型に対応します。
なし
レジスタ間接
ポストインクリメント付レジスタ間接
8 ビットディスプレースメント付
レジスタ間接
8 ビットディスプレースメント付
レジスタ間接
16 ビットディスプレースメント付
レジスタ間接
インデックス付レジスタ間接
インデックス付レジスタ間接
16 ビットディスプレースメント付 PC 間接
直接アドレス
FUJITSU MICROELECTRONICS LIMITED
DTB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
DTB
DTB
ADB
SPB
DTB
DTB
PCB
DTB
CM44-00201- 4
第 7 章 アドレス指定方式
7.2 直接アドレス指定方式
F2MC-16LX ファミリ
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-00201- 4
FUJITSU MICROELECTRONICS LIMITED
67
第 7 章 アドレス指定方式
7.2 直接アドレス指定方式
F2MC-16LX ファミリ
● 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 種類があります。サブルーチン呼び出し命令 , ソフトウェア割
込み命令に使用します。
68
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX ファミリ
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 ビットで , 符号付き数値として加算されます。
● ディスプレースメント付プログラムカウンタ間接 (@PC+disp16)
( 命令のアドレス +4 +disp16) で示されるアドレスのメモリをアクセスするアドレス指
定方式です。ディスプレースメントはワード長です。アドレスの bit16 ∼ bit23 はプロ
グラムカウンタバンクレジスタ (PCB) により示されます。
次に示す命令のオペランドアドレスは , ( 次の命令のアドレス +disp16) とはみなしませ
んので注意してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
69
第 7 章 アドレス指定方式
7.3 間接アドレス指定方式
F2MC-16LX ファミリ
• 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
RW7
LSB
RW6
RW5
RW4
RW3
RW2
RW1
RW0
対応ビットが"1"のとき選択,"0"のとき非選択
● アキュムレータ間接 (@A)
アキュムレータの下位ワード (AL) の内容 16 ビットで示されるアドレスのメモリをア
クセスするアドレス指定方式です。アドレスの bit16 ∼ bit23 はデータバンクレジスタ
(DTB) により示されます。
● アキュムレータ間接分岐アドレス (@A)
分岐先アドレスは , アキュムレータ下位ワード (AL) の内容 16 ビットとなります。
バンク空間内での分岐先を示し , アドレスの bit16 ∼ bit23 はプログラムカウンタバンク
レジスタ (PCB) で示されます。ただし , JCTX(Jump Context) 命令の場合はアドレスの
bit16 ∼ bit23 はデータバンクレジスタ (DTB) で示されます。このアドレス指定は無条
件分岐命令のときに使用します。
● 間接指定分岐アドレス (@ear)
ear で示される番地のワードデータが分岐先アドレスとなります。
● 間接指定分岐アドレス (@eam)
eam で示される番地のワードデータが分岐先アドレスとなります。
70
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第8章
実行命令細則の読み方
「第 9 章 実行命令細則」で説明されている各項目 ,
およびそこで使われている記号の意味について解
説します。
8.1 実行命令細則の読み方
8.2 実行命令細則中で使用される記号 ( 略称 )
8.3 実効アドレスフィールド
8.4 実行サイクル数
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
71
第 8 章 実行命令細則の読み方
8.1 実行命令細則の読み方
8.1
F2MC-16LX ファミリ
実行命令細則の読み方
「第 9 章 実行命令細則」では , 命令ごとに以下に示す項目について説明しています。
• アセンブラ形式
• オペレーション
• CCR
• バイト数
• サイクル数
• 補正値
• 実行例
■ 実行命令細則の読み方 「第 9 章 実行命令細則」では , 命令ごとに以下に示す項目について説明しています。
● アセンブラ形式
各命令をアセンブラのソースプログラムに記述する際の記述形式を示します。
• 英大文字 , 記号……ソースプログラム中にそのまま表記します。
• 英小文字……ソースプログラム中は , 書き換えて記述します。
• 英小文字のあとの数……命令中のビット幅を示します。
● オペレーション
命令の実行によるレジスタやデータの操作を示します。
● CCR
コンディションコードレジスタ (CCR) の各フラグ (I, S, T, N, Z, V, C) の状態を示しま
す。
• *……命令の実行により変化します。
• −……変化しません。
• S……命令の実行によりセットされます。
• R……命令の実行によりクリアされます。
● バイト数
アセンブル後の命令 ( 機械語 ) のバイト数を示します。
● サイクル数
命令実行時のサイクル数を示します。
サイクル数が表で説明されている場合に , その表内で使用されている英字の意味につ
いては , 表 8.4-1 を参照してください。
● 補正値
命令実行時の実行サイクル数を算出するための補正値を示します。補正値が表で説明
されている場合に , その表内で使用されている英字 ((b), (c), (d)) の意味については , 表
8.4-2 を参照してください。なお , 命令実行時の実行サイクル数は , サイクル数の欄の
数値と補正値の欄の数値を加算したものとなります。
● 実行例
各命令の実行例を示します。
実行例中の数値データはすべて 16 進数です。オペランド中の数値データは , サフィッ
クス (H) を付加して 16 進数を表しています。
72
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 8 章 実行命令細則の読み方
8.2 実行命令細則中で使用される記号 ( 略称 )
F2MC-16LX ファミリ
8.2
実行命令細則中で使用される記号 ( 略称 )
表 8.2-1 に実行命令細則中で使用される記号の一覧を示します。
■ 実行命令細則中で使用される記号 ( 略称 )
表 8.2-1 実行命令細則中で使用される記号 ( 略称 )
表記
A
AH
AL
32 ビットアキュムレータ
命令により , 使用されるビット長が変わります。
バイト…AL の下位 8 ビット
ワード…AL の 16 ビット
ロング…AL:AH の 32 ビット
A の上位 16 ビット
A の下位 16 ビット
SP
スタックポインタ (USP or SSP)
PC
プログラムカウンタ
PCB
プログラムカウンタバンクレジスタ
DTB
データバンクレジスタ
ADB
アディショナルデータバンクレジスタ
SSB
システムスタックバンクレジスタ
USB
ユーザスタックバンクレジスタ
DPR
brg1
ダイレクトページレジスタ
DTB, ADB, SSB, USB, DPR, PCB
brg2
DTB, ADB, SSB, USB, DPR
Ri
R0, R1, R2, R3, R4, R5, R6, R7
Rj
R0, R1, R2, R3
Rwi
RW0, RW1, RW2, RW3, RW4, RW5, RW6, RW7
RWj
RW0, RW1, RW2, RW3
RLi
RL0, RL1, RL2, RL3
dir
短縮直接アドレス指定
addr16
addr24
ad24 0-15
ad24 16-23
直接アドレス指定
物理直接アドレス指定
addr24 の bit0 ∼ bit15
addr24 の bit16 ∼ bit23
io
imm4
imm8
imm16
imm32
ext(imm8)
disp8
disp16
bp
CM44-00201- 4
意味
I/O 領域 (000000H ∼ 0000FFH)
4 ビット即値データ
8 ビット即値データ
16 ビット即値データ
32 ビット即値データ
8 ビット即値データを符号拡張した 16 ビットデータ
8 ビットディスプレースメント
16 ビットディスプレースメント
ビットオフセット値
vct4
vct8
ベクタ番号 (0 ∼ 15)
ベクタ番号 (0 ∼ 255)
( )b
ビットアドレス
rel
PC 相対分岐指定
ear
eam
実効アドレス指定 ( コード 00H ∼ 07H)
実効アドレス指定 ( コード 08H ∼ 1FH)
rlst
レジスタリスト
FUJITSU MICROELECTRONICS LIMITED
73
第 8 章 実行命令細則の読み方
8.3 実効アドレスフィールド
8.3
F2MC-16LX ファミリ
実効アドレスフィールド
実効アドレスフィールド指定アドレス形式を表 8.3-1 に示します。
■ 実効アドレスフィールド
表 8.3-1 実効アドレスフィールド
コード
00
表記
R0
アドレス形式
RW0
RL0
01
R1
RW1
(RL0)
02
R2
RW2
RL1
レジスタ直接
*: 表記欄の汎用レジスタ名は左から順に
03
R3
RW3
(RL1)
バイト
04
R4
RW4
RL2
ワード
05
R5
RW5
(RL2)
06
R6
RW6
RL3
07
R7
RW7
(RL3)
08
@RW0
09
@RW1
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
アドレス拡張部の
バイト数 *
−
ロングワード
の型に対応します。
レジスタ間接
0
ポストインクリメント付レジスタ間接
0
8 ビットディスプレースメント付
レジスタ間接
1
16 ビットディスプレースメント付
レジスタ間接
2
19
@RW1+disp16
1A
@RW2+disp16
1B
@RW3+disp16
1C
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
*:
アドレス拡張のバイト数は , 命令一覧表の #( バイト数 ) および命令細則のバイト
数の所で "+" に当てはまります。
74
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 8 章 実行命令細則の読み方
8.4 実行サイクル数
F2MC-16LX ファミリ
8.4
実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値
と , 条件により決まる「補正値」の値を加算することにより得られます。しかし , 実
際の命令の実行サイクル数としては ,「サイクル数」と「補正値」を加算したものの
ほかに , プログラムの読出しに要するサイクル数が加算されることがあります。
■ 実行サイクル数
命令の実行に要するサイクル数は , 各命令の「サイクル数」の値 , 条件により決まる
「補正値」の値とプログラムフェッチに要する「サイクル数」の値を加算することで得
られます。
内蔵 ROM などの 16 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合には , 実行中の命令が 2 バイト ( ワード ) 境界を越えるごとにプログラムフェッチを
行うため , データのアクセスなどに干渉すると実行サイクル数が増大します。
外部データバスの 8 ビットバスに接続されたメモリ上のプログラムをフェッチする場
合には , 実行中の命令の 1 バイトごとに , プログラムフェッチを行うため , データのア
クセスなどに干渉すると実行サイクル数が増大します。
CPU 間欠動作時には , 汎用レジスタ・内蔵 ROM・内蔵 RAM・内蔵 I/O・外部バスへの
アクセスを行うと , 低消費電力モード制御レジスタの CG1/CG0 ビットで指定されるサ
イクル数分 CPU クロックが一時停止します。このため , CPU 間欠動作時の命令の実行
に要するサイクル数は , 通常の実行サイクル数に , これらの「アクセス回数」×一時停
止の「サイクル数」の値を「補正値」として加算してください。
■ 実行サイクル数の計算方法
表 8.4-1, 表 8.4-2, 表 8.4-3 に , 命令の実行サイクル数の計算方法を示します。
表 8.4-1 実効アドレスの各種アドレッシングに対する実行サイクル数
(a)*
各種アドレッシングに対する
レジスタアクセス回数
コード
オペランド
00
|
07
08
|
0B
0C
|
0F
10
|
17
18
|
1B
1C
1D
1E
1F
Ri
RWi
RLi
命令一覧表に記載
命令一覧表に記載
@RWj
2
1
@RWj+
4
2
@RWi+disp8
2
1
@RWj+disp16
2
1
@RW0+RW7
@RW1+RW7
@PC+ disp16
addr16
4
4
2
1
2
2
0
0
各種アドレッシングに対する
実行サイクル数
* :(a) は「B.1 転送命令」の " ∼ "( サイクル数 ), "B"( 補正値 ) および「第 9 章 実行命令
細則」で使用されています。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
75
第 8 章 実行命令細則の読み方
8.4 実行サイクル数
F2MC-16LX ファミリ
表 8.4-2 実サイクル数算出用サイクル数の補正値
(b)* byte
オペランド
(c)* word
(d)* long
サイクル数 アクセス回数 サイクル数 アクセス回数 サイクル数 アクセス回数
内部レジスタ
内部メモリ偶数アドレス
内部メモリ奇数アドレス
外部データバス 16 ビット
偶数アドレス
外部データバス 16 ビット
奇数アドレス
外部データバス 8 ビット
+0
+0
+0
1
1
1
+0
+0
+2
1
1
2
+0
+0
+4
2
2
4
+1
1
+1
1
+2
2
+1
1
+4
2
+8
4
+1
1
+4
2
+8
4
*: (b), (c), (d) は「B.1 転送命令」の " ∼ "( サイクル数 ), "B"( 補正値 ) および「第 9 章 実行命令細則」で
使用されています。
(注意事項 ) 外部データバスを使用した場合には , レディ入力および自動レディによりウェイトしたサ
イクル数も加算する必要があります。
表 8.4-3 プログラムフェッチサイクル数算出用サイクル数の補正値
命令
内部メモリ
外部データバス 16 ビット
外部データバス 8 ビット
バイト境界
ワード境界
―
―
+3
+2
+3
―
(注意事項 ) ・ 外部データバスを使用した場合には , レディ入力および自動レディによりウェイトした
サイクル数も加算する必要があります。
・ 実際には , すべてのプログラムフェッチにより , 命令実行が遅くなるわけではありませ
んので , この補正値は最悪ケースを算出する場合に使用してください。
76
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第9章
実行命令細則
アセンブラで使用される各実行命令について , リ
ファレンス形式で説明します。なお , 各実行命令は ,
アルファベット順に掲載します。
9.1 実行命令細則
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
77
第 9 章 実行命令細則
9.1 実行命令細則
9.1
F2MC-16LX ファミリ
実行命令細則
アセンブラで使用される各実行命令について , リファレンス形式で説明します。な
お , 各実行命令は , アルファベット順に掲載します。
■ 命令細則の読み方
実行命令ごとに説明されている各項目の概要や記号 ( 略称 ) の意味などについては ,
「第 8 章 実行命令細則の読み方」を参照してください。
また , サイクル数および補正値の説明 ( 表 ) で使用されている英字 ((a), (b), (c), (d)) につ
いては , 表 8.4-1 および表 8.4-2 を参照してください。
78
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.1
ADD (Add Byte Data of Destination and Source to
Destination)
第 1 オペランドに記述された演算項のバイトデータと , 第 2 オペランドに記述され
た被演算項のバイトデータを加算して , 結果を第 1 オペランドに格納します。
第 1 オペランドがアキュムレータ (A) のときは , A の bit8 ~ bit15 には 00H が転送さ
れます。
■ ADD (Add Byte Data of Destination and Source to Destination)
● アセンブラ形式
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 −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm8
バイト数
サイクル数
補正値
2
2
0
A
A
A
ear
eam
dir
ear
eam
A
A
2
5
(b)
2
3
0
2+
4+(a)
(b)
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
79
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ADD A,0E021H
この例では , AL の下位バイトデータ (46H) に , E021H 番地のバイトデータ (ABH) を加
算します。
AH
A
AL
×× ××
A 0
4 6
×× ××
0 0
F 1
CCR × 1 0 0 0
T N Z V C
T N Z V C
B
実行前
80
A
CCR ×××××
メモリ
A
AL
AH
メモリ
E021
A
B
E021
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.2
ADDC (Add Byte Data of AL and AH with Carry to
AL)
AL の下位バイトデータと AH の下位バイトデータとキャリフラグ (C) を加算し , 結
果を AL に戻します。AL の上位バイトには 00H が転送されます。
■ ADDC (Add Byte Data of AL and AH with Carry to AL)
● アセンブラ形式
ADDC A
● オペレーション
(AL) ← (AH) + (AL) + (C)
【キャリ付きバイト加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
ADDC A
この例では , AH の下位バイトデータ (05H) に , AL の下位バイトデータ (D4H) と C フラ
グ ("0") を加算します。
AL
AH
A
0 5
0 5
0 0
D 4
A
0 5
0 5
0 0
D 9
CCR ×××× 0
CCR × 1 0 0 0
T N Z V C
T N Z V C
実行前
CM44-00201- 4
AL
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
81
第 9 章 実行命令細則
9.1 実行命令細則
9.1.3
F2MC-16LX ファミリ
ADDC (Add Byte Data of Accumulator and
Effective Address with Carry to Accumulator)
アキュムレータ (A) の最下位バイトデータと実効アドレスのバイトデータとキャリ
フラグ (C) を加算し , 結果を A の最下位バイトに戻します。A の bit8 ~ bit15 には
00H が転送されます。
■ ADDC (Add Byte Data of Accumulator and Effective Address with Carry to
Accumulator)
● アセンブラ形式
ADDC A,ear
ADDC A,eam
● オペレーション
(A) ← (A) + (ea) + (C)
【キャリ付きバイト加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
アクセス回数
2
3
0
2+
4+(a)
(b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
82
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ADDC A,E035H
この例では , AL の下位バイトデータ (46H) に , E035H 番地のバイトデータ (D5H) と C フ
ラグ ("1") を加算します。
AL
AH
A
×× ××
A 0
4 6
A
×× ××
0 0
2 C
CCR ××××1
CCR × 0 0 0 1
T N Z V C
T N Z V C
メモリ
D 5
実行前
CM44-00201- 4
AL
AH
メモリ
E035
D 5
E035
実行後
FUJITSU MICROELECTRONICS LIMITED
83
第 9 章 実行命令細則
9.1 実行命令細則
9.1.4
F2MC-16LX ファミリ
ADDCW (Add Word Data of Accumulator and
Effective Address with Carry to Accumulator)
アキュムレータ (A) の下位ワードデータ (AL), 第 2 オペランドの示すワードデータ ,
およびキャリフラグ (C) を加算し , 結果を A の下位ワードに戻します。
■ ADDCW (Add Word Data of Accumulator and Effective Address with Carry to
Accumulator)
● アセンブラ形式
ADDCW A,ear
ADDCW A,eam
● オペレーション
(A) ← (A) + (ea) + (C)
【キャリ付きワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
3
0
2+
4+(a)
(c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
84
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ADDCW A,@RW0+
この例では , AL のワードデータ (2068H) に , 第 2 オペランド (@RW0+) で示されるアド
レス (E024H) のワードデータ (8952H) と C フラグ ("1") を加算します。
AL
AH
A
RWO
×× ××
2 0
E0
CCR ××××1
24
AL
AH
6 8
A
RWO
×× ××
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-00201- 4
B B
実行後
FUJITSU MICROELECTRONICS LIMITED
85
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
ADDDC (Add Decimal Data of AL and AH with
Carry to AL)
9.1.5
AL の下位バイトデータと AH の下位バイトデータとキャリフラグ (C) を 10 進加算
し , 結果を AL の下位バイトに戻します。AL の上位バイトには 00H が転送されま
す。
■ ADDDC (Add Decimal Data of AL and AH with Carry to AL)
● アセンブラ形式
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
サイクル数 :3
補正値 :0
● 実行例
ADDDC A
この例では , AL の下位バイトデータ (62H) に , AH の下位バイトデータ (58H) と C フラ
グ ("0") を 10 進加算します。
AL
AH
A
× ×
6 2
× ×
5 8
A
× ×
6 2
0 0
2 0
CCR ×××× 0
CCR × 0 0 × 1
T N Z V C
T N Z V C
実行前
86
AL
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.6
ADDL (Add Long Word Data of Destination and
Source to Destination)
第 1 オペランドに記述された演算項のロングワードデータと第 2 オペランドに記述
された被演算項のロングワードデータを加算して , 結果を第 1 オペランドに戻しま
す。
■ ADDL (Add Long Word Data of Destination and Source to Destination)
● アセンブラ形式
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 −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数 , および補正値
第 1 オペランド
A
第 2 オペランド #imm32
バイト数
サイクル数
補正値
5
4
0
A
A
ear
eam
2
6
0
2+
7+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
87
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ADDL A,0E077H
この例では , アキュムレータ (A) のロングワードデータ (85B7A073H) に , E077H 番地の
ロングワードデータ (357F41ABH) を加算します。
AL
AH
A
8 5
B 7
A 0
AL
AH
7 3
A
B B
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
実行前
88
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.7
ADDSP (Add Word Data of Stack Pointer and
Immediate Data to Stack Pointer)
SP( スタックポインタ ) のワードデータと 8 ビットの即値データを符号拡張した値 ,
または 16 ビットの即値データを加算し , 結果を SP に戻します。加算結果が 16 ビッ
トを超えると桁落ちが発生します。
アンダフロー ( 桁落ち ) が発生したかどうかは , CCR で確認することはできません。
■ ADDSP (Add Word Data of Stack Pointer and Immediate Data to Stack Pointer)
● アセンブラ形式
(1) ADDSP #imm8
(2) ADDSP #imm16
● オペレーション
(1) (SP) ← (SP) + 符号拡張した imm8
【ワード加算】
(2) (SP) ← (SP) + imm16
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
オペランド
#imm8
#imm16
バイト数
サイクル数
補正値
2
3
0
3
3
0
● 実行例
ADDSP #89BAH
この例では , SP に 16 ビット即値データ (89BAH) を加算します。加算結果が 16 ビット
を超えるためアンダフローが発生します。
SP
E 2
A 4
CCR × 0 0 0 0
T N Z V C
実行前
CM44-00201- 4
SP
6 C
CCR
×0 0 0 0
5 E
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
89
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
ADDW (Add Word Data of AL and AH to AL)
9.1.8
AH と AL のワードデータを加算して , 結果を AL に戻します。
■ ADDW (Add Word Data of AL and AH to AL)
● アセンブラ形式
ADDW A
● オペレーション
(AL) ← (AH) + (AL)
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
ADDW A
この例では , AL のワードデータ (7F23H) に , AH のワードデータ (83A2H) を加算しま
す。オーバフローが発生するため C フラグをセットします。
AH
A
8 3
AH
AL
A 2
7 F
2 3
A
8 3
AL
A 2
CCR ×××××
0 2
CCR × 0 0 0 1
T N Z V C
実行前
90
C 5
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.9
ADDW (Add Word Data of Destination and Source
to Destination)
第 1 オペランドに記述された演算項のワードデータと第 2 オペランドに記述された
被演算項のワードデータを加算して , 結果を第 1 オペランドに戻します。
■ ADDW (Add Word Data of Destination and Source to Destination)
● アセンブラ形式
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 −演算の結果 , キャリが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(c)
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
91
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ADDW @RW0+1,A
この例では , 第 1 オペランド (@RW0+1) で示されるアドレス (E2A5H) のワードデータ
(315DH) に , AL のワードデータ (CD04H) を加算します。
AH
A
RWO
AH
AL
×× ××
C D
E2
CCR ×××××
A4
0 4
A
RWO
×× ××
C D
E 2
CCR × 1 0 0 0
A 4
T N Z V C
メモリ
0 4
T N Z V C
メモリ
3 1
E2A6
F E
E2A6
5 D
E2A5
6 1
E2A5
××
E2A4
××
E2A4
実行前
92
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.10
AND (And Byte Data of Destination and Source to
Destination)
第 1 オペランドに記述された演算項のバイトデータと第 2 オペランドに記述された
被演算項のバイトデータで論理積演算を行い , 結果を第 1 オペランドに戻します。
■ AND (And Byte Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
A
ear
eam
第 2 オペランド
#imm8
ear
eam
A
A
バイト数
サイクル数
補正値
2
2
0
2
3
0
2+
4+(a)
(b)
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
93
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
AND 0052H,A
この例では , 0052H 番地のバイトデータ (FAH) に , AL の下位バイトデータ (55H) を論理
積演算 (AND) します。
AH
A
AH
AL
×× ××
0 0
5 5
A
AL
×× ××
CCR ×××××
0 0
CCR × 0 0 0 ×
T N Z V C
メモリ
F A
94
T N Z V C
メモリ
0052
実行前
5 5
5 0
0052
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.11
AND (And Byte Data of Immediate Data and
Condition Code Register)
コンディションコードレジスタ (CCR) のバイトデータと 8 ビットの即値データで論
理積演算を行い , 結果を CCR に戻します。
バイトデータの最上位ビットの論理積演算は行われません。
■ AND (And Byte Data of Immediate Data and Condition Code Register)
● アセンブラ形式
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
サイクル数 :3
補正値 :0
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
95
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
AND CCR,#57H
この例では , CCR の値 (0110101B) に , 即値データ (57H) を論理積演算 (AND) します。
A
CCR
AH
AL
×× ××
×× ××
A
I
S
T
N
Z
V
C
0
1
1
0
1
0
1
CCR
AH
AL
×× ××
×× ××
I
S
T
N
Z
V
C
0
0
1
0
1
0
1
ILM2 ILM1 ILM0
ILM
×
×
MSB
RP ×
実行前
96
×
LSB
×
×
×
ILM2 ILM1 ILM0
×
ILM
×
×
MSB
RP ×
×
LSB
×
×
×
×
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.12
ANDL (And Long Word Data of Destination and
Source to Destination)
アキュムレータ (A) と第 2 オペランドのロングワードデータでビットごとに論理積
演算を行い , 結果を A に戻します。
■ ANDL (And Long Word Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
6
0
2+
7+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
97
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ANDL A,0FFF0H
この例では , アキュムレータ (A) のロングワードデータ (8252FEACH) に , FFF0H 番地の
ロングワードデータ (FF55AA00H) を論理積演算 (AND) します。
AH
A
8 2
AH
AL
5 2
F E
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
実行前
98
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.13
ANDW (And Word Data of AH and AL to AL)
AH と AL のワードデータで論理積演算を行い , 結果を AL に戻します。
■ ANDW (And Word Data of AH and AL to 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
サイクル数 :2
補正値 :0
● 実行例
ANDW A
この例では , AL のワードデータ (AB98H) に , AH のワードデータ (0426H) を論理積演算
(AND) します。
AH
A
0 4
AH
AL
2 6
A B
9 8
A
0 4
AL
2 6
0 0
0 0
CCR ××××× CCR × 0 1 0 ×
T N Z V C
実行前
CM44-00201- 4
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
99
第 9 章 実行命令細則
9.1 実行命令細則
9.1.14
F2MC-16LX ファミリ
ANDW (And Word Data of Destination and Source
to Destination)
第 1 オペランドに記述された演算項のワードデータと第 2 オペランドに記述された
被演算項のワードデータで論理積演算を行い , 結果を第 1 オペランドに戻します。
■ ANDW (And Word Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(c)
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
100
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ANDW 0E001H,A
この例では , 0E001H 番地のワードデータ (8342H) に , AL のワードデータ (5963H) を論
理積演算 (AND) します。
AH
A
AH
AL
×× ××
5 9
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
実行前
CM44-00201- 4
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
101
第 9 章 実行命令細則
9.1 実行命令細則
9.1.15
F2MC-16LX ファミリ
ASR (Arithmetic Shift Byte Data of Accumulator to
Right)
アキュムレータ (A) の最下位バイトデータを第 2 オペランドで示されるビット数だ
け算術右シフトします。A の最下位バイトデータの最上位ビットは変化しません。
最下位ビットからシフトアウトされたビットはコンディションコードレジスタ
(CCR) のキャリフラグ (C) に入ります。
■ ASR (Arithmetic Shift Byte Data of Accumulator to Right)
● アセンブラ形式
ASR A,R0
● オペレーション
MSB
LSB
C
T
A
1
● CCR
I
S
T
N
Z
V
C
−
−
*
*
*
−
*
I, S −変化しません。
T −キャリよりシフトアウトされたデータに 1 つ以上 "1" であるビットがあればセット ,
それ以外はクリアされます。また , シフト量がゼロのときもクリアされます。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の LSB から最後にシフトアウトしたビット値が入ります。シフト量がゼロのと
きはクリアされます。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :(R0) が 0 であった場合は 6, それ以外は 5+(R0)
補正値 :0
102
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ASR A,R0
この例では , AL の下位バイトデータ (96H) を , R0 が示すビット数 (3 ビット ) 算術右シ
フトします。
AH
A
×× ××
RO
AH
AL
0 3
××
9 6
CCR ×××××
A
AL
×× ××
RO
0 3
T N Z V C
実行前
CM44-00201- 4
××
F 2
CCR 1 1 0 × 1
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
103
第 9 章 実行命令細則
9.1 実行命令細則
9.1.16
F2MC-16LX ファミリ
ASRL (Arithmetic Shift Long Word Data of
Accumulator to Right)
アキュムレータ (A) のロングワードデータを第 2 オペランドで示されるビット数だ
け算術右シフトします。A の最上位ビットは変化しません。最下位ビットからシフ
トアウトされたビットはコンディションコードレジスタ (CCR) のキャリフラグ (C)
に入ります。
■ ASRL (Arithmetic Shift Long Word Data of Accumulator to Right)
● アセンブラ形式
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
サイクル数 :(R0) が 0 であった場合は 6, それ以外は 6+(R0)
補正値 :0
104
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ASRL A,R0
この例では , アキュムレータ (A) のロングワードデータ (12345678H) を , R0 が示すビッ
ト数 (2 ビット ) 算術右シフトします。
AH
A
1 2
AH
AL
3 4
5 6
RO
A
7 8
0 4
AL
8 D
RO
0 2
CCR ×××× 0
CCR
CM44-00201- 4
9 E 0 2
1 0 0 × 0
T N Z V C
T N Z V C
実行前
1 5
実行後
FUJITSU MICROELECTRONICS LIMITED
105
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
ASRW (Arithmetic Shift Word Data of Accumulator
to Right)
9.1.17
アキュムレータ (A) の下位ワードデータを 1 ビットだけ算術右シフトします。A の
下位ワードデータの最上位ビットは変化しません。最下位ビットからシフトアウト
されたビットはキャリフラグ (C) に入ります。
■ ASRW (Arithmetic Shift Word Data of Accumulator to Right)
● アセンブラ形式
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
サイクル数 :2
補正値 :0
● 実行例
ASRW A
この例では , AL のワードデータ (A096H) を , 1 ビット算術右シフトします。
AH
A
× × × ×
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
実行前
106
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.18
ASRW (Arithmetic Shift Word Data of Accumulator
to Right)
アキュムレータ (A) の下位ワードデータを第 2 オペランドで示されるビット数だけ
算術右シフトします。A の下位ワードデータの最上位ビットは変化しません。最下
位ビットからシフトアウトされたビットはコンディションコードレジスタ (CCR) の
キャリフラグ (C) に入ります。
■ ASRW (Arithmetic Shift Word Data of Accumulator to Right)
● アセンブラ形式
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
ステート数 :(R0) が 0 であったときは 6, それ以外は 5+(R0)
補正値 :0
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
107
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ASRW A,R0
この例では , AL のワードデータ (A096H) を , R0 が示すビット数 (2 ビット ) 算術右シフ
トします。
A
AH
AL
×× ××
A 0 9 6
RO
0 2
AH
CCR ×××× 0
A
AL
×× ××
RO
0 2
T N Z V C
実行前
108
E 8
2 5
CCR 0 1 0 × 1
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.19
BBcc (Branch if Bit Condition satisfied)
第 1 オペランドで示されるビットデータが条件を満たしたとき分岐します。分岐先
アドレスは BBcc 命令の次の命令のアドレスに , 符号拡張された第 2 オペランドの
データをワード加算した番地となります。
■ BBcc (Branch if Bit Condition satisfied)
● アセンブラ形式
BBC < 第 1 オペランド >,rel
BBS < 第 1 オペランド >,rel
● オペレーション
条件成立時
: (PC) ← (PC) + < バイト数 > + rel
【ワード加算】
条件不成立時
: (PC) ← (PC) + < バイト数 >
【ワード加算】
● CCR
I
S
−
−
T
−
N
Z
V
C
−
*
−
−
I, S, T, N −変化しません。
Z −ビットデータが "0" ならばセット , "1" ならばクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
BBcc
BBC
BBS
条件
ビットデータ =0
ビットデータ =1
第 1 オペランド
addr16:bp
5
バイト数
サイクル数 *
補正値
する :8
しない :7
(b)
dir:bp
io:bp
4
4
する :8
する :7
しない :7 しない :6
(b)
(b)
addr16:bp
5
する :8
しない :7
(b)
dir:bp
io:bp
4
4
する :8
する :7
しない :7 しない :6
(b)
(b)
*:「する」は分岐をする場合のサイクル数を , 「しない」は分岐をしない場合のサイク
ル数を示します。
表中の (b) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
109
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
BBC 1234H:7,12H
この例では , 1234H 番地のバイトデータ (7FH) の , bit7 が "0" のため分岐します ( 条件成
立時 )。
PC
E 1 0 0
E 1 1 7
メモリ
メモリ
× ×
× ×
7 F
110
+(12+バイト数5)→ PC
1234 :bit7=0
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
1234
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.20
Bcc (Branch relative if Condition satisfied)
命令ごとに決められた条件が成立したときに分岐します。分岐先は , Bcc 命令の次
の命令のアドレスに , 符号拡張されたオペランドのデータをワード加算した番地と
なります。
■ Bcc (Branch relative if Condition satisfied)
● アセンブラ形式
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
サイクル数 : 分岐が行われないときは 3, 行われたときは 4
補正値 :0
● 分岐命令と分岐条件
CM44-00201- 4
Bcc
BZ/ BNZ/ BC/ BNC/
BEQ BNE BLO BHS
BN
BP
BV
BNV
BT
BNT
BRA
条件
Z=1
N=1
N=0
V=1
V=0
T=1
T=0
常に成立
Z=0
C=1
C=0
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
FUJITSU MICROELECTRONICS LIMITED
111
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
BHI 50H
この例では , コンディションコードレジスタ (CCR) の C フラグ , Z フラグが "0" のため
分岐します ( 条件成立時 )。
PC
CCR
112
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-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.21
CALL (Call Subrourtine)
オペランドが示すアドレスへ分岐します。分岐先サブルーチン中の RET 命令の実行
により , CALL 命令の次の命令に戻ります。
■ CALL (Call Subrourtine)
● アセンブラ形式
CALL @ear
CALL @eam
CALL addr16
● オペレーション
(SP) ← (SP) − 2
【ワード減算】, ((SP)) ← (PC) + < バイト数 >
(PC) ← < オペランド >
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
オペランド
@ear
@eam
addr16
バイト数
サイクル数
補正値
2
6
(c)
2+
7+(a)
3
6
(c)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
113
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
CALL @RW0
この例では , SP で示されるスタックに次の命令のアドレス (E55AH) をプッシュしてか
ら , オペランド (@RW0) で示されるアドレス (F340H) の , ワードデータの示すアドレス
(DC08H) に分岐します。
PC
E 5
5 8
RWO
F 3
4 0
SP
0 1
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
実行前
114
SP
SP→
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.22
CALLP (Call physical Address)
オペランドが示す物理アドレスへ分岐します。プログラムバンクレジスタ (PCB) に
は , オペランドのデータの最上位バイトが設定されます。分岐先サブルーチン中の
RETP 命令の実行により , CALLP 命令の次の命令に戻ります。
■ CALLP (Call physical Address)
● アセンブラ形式
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
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
オペランド
@ear
@eam
addr24
バイト数
サイクル数
補正値
2
10
2+
11+(a)
4
10
2 × (c)
3 × (c)+(b)
2 × (c)
表中の (a), (b), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
115
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
116
F 8
CCR × 0 × × × × ×
メモリ
SP→
SP
SP→
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.23
CALLV (Call Vectored Subroutine)
オペランドで指定した割込みベクタが示すアドレスへ分岐します。分岐先サブルー
チン中の RET 命令の実行により , CALLV 命令の次の命令に戻ります。RET 命令は
通常の CALL 命令の場合と同じものが使用できます。
■ CALLV (Call Vectored Subroutine)
● アセンブラ形式
CALLV #vct4
● オペレーション
(SP) ← (SP) − 2
【ワード減算】,
((SP)) ← (PC) + 1
(PC) ← ベクタアドレス
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :7
補正値 :2 × (c)
(c) については , 表 8.4-2 参照してください。
<注意事項>
プログラムカウンタバンクレジスタ (PCB) が FFH のときベクタ領域は INT #vct8(#0 ∼ #7)
のベクタ領域と共有しているため , 使用する場合は注意が必要です ( 表 9.1-1 参照 )。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
117
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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→
実行前
実行後
表 9.1-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) の値が入ります。
118
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.24
CBNE
(Compare Byte Data and Branch if not equal)
第 1 オペランドと第 2 オペランド (8 ビット即値データ ) のバイト比較演算を行い ,
第 1 オペランドと第 2 オペランドが等しくないとき分岐します。分岐先アドレスは ,
CBNE 命令の次の命令のアドレスに , 第 3 オペランドを符号拡張したワード値を加
算したものとなります。第 1 オペランドと第 2 オペランドが等しいときは分岐しま
せん。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは , 「CBNE 命令の機
械命令が格納されているアドレス +4+disp16」となります。「CBNE 命令の次の命令
の機械命令が格納されているアドレス +4+disp16」ではありませんので注意してく
ださい。
■ CBNE (Compare Byte Data and Branch if not equal)
● アセンブラ形式
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 −比較演算の結果 , ボローが生じればセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
ear
eam *
バイト数
3
4
4+
分岐する :5
分岐しない :4
0
分岐する :13
分岐しない :12
0
分岐する :7+(a)
分岐しない :6+(a)
(b)
サイクル数
補正値
*: eam の中で @Rwj+ のアドレッシングは使用できません。該当するコードを実行する
と , Rwj の内容は +4 加算されます。
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
119
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
CBNE A,#0F4H,55H
この例では , AL の下位バイトデータ (F3H) と , 8 ビット即値データ (F4H) を比較演算し
ます。第 1 オペランドと第 2 オペランドが等しくないため分岐します。
AH
A
AH
AL
×× ××
0 0
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
実行前
120
FUJITSU MICROELECTRONICS LIMITED
CCR
×1 0 0 1
T N Z V C
実行後
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.25
CLRB (Clear Bit)
オペランドで示されるメモリの bp で表されるビット位置の内容を "0" にします。
■ CLRB (Clear Bit)
● アセンブラ形式
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
7
3
7
4
7
2 × (b) 2 × (b)
2 × (b)
表中の (b) については , 表 8.4-2 を参照してください。
● 実行例
CLRB 0AA55H:3
この例では , AA55H 番地のデータ (FFH) の bit3 を "0" にします。
メモリ
メモリ
××
××
F F
CM44-00201- 4
AA55
F 7
××
××
実行前
実行後
AA55
FUJITSU MICROELECTRONICS LIMITED
121
第 9 章 実行命令細則
9.1 実行命令細則
9.1.26
F2MC-16LX ファミリ
CMP (Compare Byte Data of Destination and
Source)
第 1 オペランドのバイトデータと第 2 オペランドのバイトデータで比較演算を行い ,
フラグ変化をコンディションコードレジスタ (CCR) にセットします。第 1 オペラン
ドおよび第 2 オペランドのデータは変化しません。
オペランドとしてアキュムレータ (A) だけを指定した場合は , AH の下位バイトデー
タと AL の下位バイトデータが比較されます。
■ CMP (Compare Byte Data of Destination and Source)
● アセンブラ形式
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 −演算の結果 , ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm8
バイト数
サイクル数
補正値
2
2
0
A
A
A
ear
eam
−
2
2
0
2+
3+(a)
(b)
1
1
0
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
122
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
CMP A,#7FH
この例では , AL の下位バイトデータ (22H) と 8 ビット即値データ (7FH) を比較演算し
ます。
AH
A
×× ××
A 0
2 2
A
AL
×× ××
A 0
2 2
CCR ×××××
CCR × 1 0 0 1
T N Z V C
T N Z V C
実行前
CM44-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
123
第 9 章 実行命令細則
9.1 実行命令細則
9.1.27
F2MC-16LX ファミリ
CMPL (Compare Long Word Data of Destination
and Source)
第 1 オペランドのロングワードデータと第 2 オペランドのロングワードデータを比
較演算し , 結果をコンディションコードレジスタ (CCR) にセットします。第 1 オペ
ランドおよび第 2 オペランドのデータは変化しません。
■ CMPL (Compare Long Word Data of Destination and Source)
● アセンブラ形式
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 −演算の結果 , ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm32
A
A
ear
eam
2
6
0
2+
7+(a)
(d)
5
3
0
バイト数
サイクル数
補正値
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
CMPL A,#12345678H
この例では , アキュムレータ (A) のロングワードデータ (12345678H) と 32 ビット即値
データ (12345678H) を比較演算します。
AH
A
1 2
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
実行前
124
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.28
CMPW
(Compare Word Data of Destination and Source)
第 1 オペランドのワードデータと第 2 オペランドのワードデータを比較演算し , 結
果をコンディションコードレジスタ (CCR) にセットします。第 1 オペランドおよび
第 2 オペランドのデータは変化しません。
オペランドとして A だけを指定した場合は , AH のワードデータと AL のワードデー
タが比較演算されます。
■ CMPW (Compare Word Data of Destination and Source)
● アセンブラ形式
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 −演算の結果 , ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
A
A
A
ear
eam
−
2
2
0
2+
3+(a)
(c)
1
1
0
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
125
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
CMPW A,RW0
この例では , AL のワードデータ (ABCDH) と RW0 のワードデータ (ABCCH) を比較演
算します。
AH
A
× × × ×
A B
RWO
A B
C D
A
AL
× × × ×
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
実行前
126
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.29
CWBNE (Compare Word Data and Branch if not
equal)
第 1 オペランドと第 2 オペランド (16 ビット即値データ ) のワード比較演算を行い ,
第 1 オペランドと第 2 オペランドが等しくないとき分岐します。分岐先アドレスは ,
CWBNE 命令の次の命令のアドレスに , 第 3 オペランドを符号拡張したワードデー
タを加算したものとなります。第 1 オペランドと第 2 オペランドが等しいときは分
岐しません。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは「CWBNE 命令の機
械命令が格納されているアドレス +4+disp16」となります。「CWBNE 命令の次の命
令の機械命令が格納されているアドレス +disp16」ではないので注意してください。
■ CWBNE (Compare Word Data and Branch if not equal)
● アセンブラ形式
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 −比較演算の結果 , ボローが生じればセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
ear
eam*
バイト数
4
5
5+
サイクル数 *
補正値 *
分岐する :5 分岐する :8
分岐しない :4 分岐しない:7
0
0
分岐する :7+(a)
分岐しない :6+(a)
(c)
*: eam の中で @Rwj+ のアドレッシングは使用できません。該当するコードを実行する
と , Rwj の内容は +4 加算されます。
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
127
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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 ×××××
128
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
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.30
DBNZ (Decrement Byte Data and Branch if not
zero)
第 1 オペランドの内容から 1 をバイト減算し , この結果がゼロ以外のとき分岐しま
す。分岐先アドレスは DBNZ 命令の次の命令のアドレスに , 第 2 オペランドのデー
タを符号拡張したワードデータを加算したものとなります。減算結果がゼロのとき
は次の命令に制御が移ります。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは「DBNZ 命令の機械
命令が格納されているアドレス +4+disp16」となります。「DBNZ 命令の次の命令の
機械命令が格納されているアドレス +disp16」ではありませんので注意してくださ
い。
■ DBNZ (Decrement Byte Data and Branch if not zero)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
ear
eam
バイト数
3
3+
サイクル数
分岐する :7
分岐しない :6
分岐する :8+(a)
分岐しない :7+(a)
補正値
0
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
129
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
××
××
実行前
130
CCR
0 0 1 0 1
2 0
RWO+2 →
2
0122
0121
××
0121
0120
××
0120
0
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.31
DEC (Decrement Byte Data)
オペランドのバイトデータから 1 を引き , 結果をオペランドへ戻します。
■ DEC (Decrement Byte Data)
● アセンブラ形式
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
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
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
実行前
CM44-00201- 4
R1
実行後
FUJITSU MICROELECTRONICS LIMITED
131
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
DECL (Decrement Long Word Data)
9.1.32
オペランドのロングワードデータから 1 を引き , 結果をオペランドへ戻します。
■ DECL (Decrement Long Word Data)
● アセンブラ形式
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
7
0
2+
9+(a)
2 × (d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-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
実行前
132
F F
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.33
DECW (Decrement Word Data)
オペランドのワードデータから 1 を引き , 結果をオペランドへ戻します。
■ DECW (Decrement Word Data)
● アセンブラ形式
DECW ear
DECW eam
● オペレーション
(ea) ← (ea) − 1
【ワード減算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数および補正値
オペランド
ear
eam
バイト数
サイクル数
補正値
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
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-00201- 4
8 0
CCR × 0 1 0 ×
CCR ×××××
RWO+1000H →
6 7
FUJITSU MICROELECTRONICS LIMITED
0
0
7781
0
0
7780
× ×
777F
実行後
133
第 9 章 実行命令細則
9.1 実行命令細則
9.1.34
F2MC-16LX ファミリ
DIV (Divide Word Data by Byte Data)
第 1 オペランドのワードデータを第 2 オペランドのバイトデータで割り , その結果
としてバイトデータの商を第 1 オペランドに , バイトデータの剰余を第 2 オペラン
ドに収めます。符号付き数値として演算を行います。
オペランドに A だけを記述すると , AH のワードデータを AL のバイトデータで割
り , その結果としてバイトデータの商を AL に , バイトデータの剰余を AH に収めま
す。符号付き数値として演算を行います。
なお , ゼロでの割り算 ( ゼロディバイド ) が発生したときは , 第 2 オペランドまたは
AL は命令実行直前の値を保持します。ただし , オーバフロー ( 桁あふれ ) が発生し
たときは , AL の内容は壊れます。
■ DIV (Divide Word Data by Byte Data)
● アセンブラ形式
1)
DIV A,ear
2)
DIV A
DIV A,eam
● オペレーション
商 → byte(A), 剰余 → byte(ea)
1)
word(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 −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
A
第 2 オペランド
−
ear
eam
2
2
2+
バイト数
サイクル数
補正値
ゼロディバイド :5+(a)
ゼロディバイド :4
ゼロディバイド :3
オーバフロー :
オーバフロー :
オーバフロー :
12+(a) または 23+(a)
11 または 22
8 または 18
正常 :24+(a)
正常 :23
正常 :18
0
0
*
*: ゼロディバイド , またはオーバフローのとき (b), 正常のとき 2 × (b) となります。
表中の (a), * の (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
134
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
1 5
1 D
CCR ×××××
CCR ××× 0 0
T N Z V C
T N Z V C
実行前
CM44-00201- 4
A H
実行後
FUJITSU MICROELECTRONICS LIMITED
135
第 9 章 実行命令細則
9.1 実行命令細則
9.1.35
F2MC-16LX ファミリ
DIVW (Divide Long Word Data by Word Data)
第 1 オペランド (A) のロングワードデータを第 2 オペランドのワードデータで割り ,
その結果としてワードデータの商を A に , ワードデータの剰余を第 2 オペランドに
格納します。符号付き数値として演算を行います。
なお , ゼロでの割り算 ( ゼロディバイド ) が発生したときは , 第 2 オペランドまたは
AL は命令実行直前の値を保持します。ただし , オーバフロー ( 桁あふれ ) が発生し
たときは , AL の内容は壊れます。
■ DIVW (Divide Long Word Data by Word Data)
● アセンブラ形式
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 −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
被除数の符号
バイト数
サイクル数
補正値
正
2
負
2
ゼロディバイド ゼロディバイド
:4
:4
オーバフロー
オーバフロー
:11or30
:12or31
正常 :31
正常 :32
0
0
正
2+
負
2+
ゼロディバイド
:5+(a)
オーバフロー
:12+(a)or31+(a)
正常 :32+(a)
*
ゼロディバイド
:5+(a)
オーバフロー
:12+(a)or32+(a)
正常 :33+(a)
*
*: ゼロディバイドまたはオーバフローのとき (c), 正常のとき 2 × (c) となります。
表中の (a), * の (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
136
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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-00201- 4
A
A L
実行後
FUJITSU MICROELECTRONICS LIMITED
137
第 9 章 実行命令細則
9.1 実行命令細則
9.1.36
F2MC-16LX ファミリ
DIVU (Divide unsigned Word Data by unsigned
Byte Data)
第 1 オペランドのワードデータを第 2 オペランドのバイトデータで割り , その結果
としてバイトデータの商を第 1 オペランドに , バイトデータの剰余を第 2 オペラン
ドに収めます。符号なし数値として演算を行います。
オペランドに A だけを記述すると , AH のワードデータを AL のバイトデータで割り ,
その結果としてバイトデータの商を AL に , バイトデータの剰余を AH に収めます。
符号なし数値として演算を行います。
なお , オーバフロー ( 桁あふれ ) あるいはゼロでの割り算 ( ゼロディバイド ) が発生
したときは , 第 2 オペランドまたは AL は命令実行直前の値を保持します。
■ DIVU (Divide unsigned Word Data by unsigned Byte Data)
● アセンブラ形式
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 −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
A
第 2 オペランド
−
ear
eam
バイト数
1
2
2+
サイクル数
補正値
ゼロディバイド :3 ゼロディバイド :4
オーバフロー :8
オーバフロー :7
正常 : 16
正常 :15
0
0
ゼロディバイド :6+(a)
オーバフロー :9+(a)
正常 :19+(a)
*
*: ゼロディバイド , またはオーバフローのとき (b), 正常のとき 2 × (b) となります。
表中の (a), * の (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
138
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
DIVU A
この例では , AH のワードデータ (1357H) を AL のバイトデータ (AAH) で符号なし除算
します。商を AL に , 剰余を AH に設定します。
AH
A
1 3
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-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
139
第 9 章 実行命令細則
9.1 実行命令細則
9.1.37
F2MC-16LX ファミリ
DIVUW (Divide unsigned Long Word Data by
unsigned Word Data)
第 1 オペランド (A) のロングワードデータを第 2 オペランドのワードデータで割り ,
その結果としてワードデータの商を A に , ワードデータの剰余を第 2 オペランドに
格納します。演算は , 符号なし数値として行われます。
なお , オーバフロー ( 桁あふれ ) あるいはゼロでの割り算 ( ゼロディバイド ) が発生
したときは , 第 2 オペランドまたは AL は命令実行直前の値を保持します。
■ DIVUW (Divide unsigned Long Word Data by unsigned Word Data)
● アセンブラ形式
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 −除数がゼロのときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
2
2+
ゼロディバイド :4
オーバフロー :7
正常 :22
0
ゼロディバイド :6+(a)
オーバフロー :8+(a)
正常 :26+(a)
*
サイクル数
補正値
*: ゼロディバイド , またはオーバフローのとき (c), 正常のとき 2 × (c) となります。
表中の (a), * の (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
140
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
DIVUW A,7254H
この例では , アキュムレータ (A) のロングワードデータ (00001357H) を , 7254H 番地の
ワードデータ (00AAH) で符号なし除算します。商を AL に , 剰余を 7254H 番地に設定
します。
AH
A
0 0
AH
AL
0 0
1 3
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-00201- 4
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
141
第 9 章 実行命令細則
9.1 実行命令細則
9.1.38
F2MC-16LX ファミリ
DWBNZ (Decrement Word Data and Branch if not
Zero)
第 1 オペランドの内容から 1 をワード減算し , この結果がゼロ以外のときに分岐し
ます。分岐先アドレスは DWBNZ 命令の次の命令のアドレスに第 2 オペランドの
データを符号拡張したワードデータを加算したものとなります。減算結果がゼロの
ときは DWBNZ 命令の次の命令に制御が移ります。
第 1 オペランドが @PC+disp16 のときのオペランドアドレスは「DWBNZ 命令の機
械命令が格納されているアドレス +4+disp16」となります。「DWBNZ 命令の次の命
令の機械命令が格納されているアドレス +disp16」ではありませんので注意してく
ださい。
■ DWBNZ (Decrement Word Data and Branch if not Zero)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
ear
eam
第 2 オペランド
rel
rel
バイト数
3
3+
サイクル数
分岐する :7
分岐しない:6
分岐する :8+(a)
分岐しない :7+(a)
補正値
0
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
142
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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-00201- 4
×××××
CCR
0 0
×0 1 0 ×
T N Z V C
T N Z V C
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
143
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
EXT (Sign Extend from Byte Data to Word Data)
9.1.39
A の最下位バイトデータを符号付き 2 進数としてワードデータに拡張します。
■ EXT (Sign Extend from Byte Data to Word Data)
● アセンブラ形式
EXT
● オペレーション
A の bit7 = 0 のとき A の bit8 ∼ bit15 ← 00H
A の bit7 ≠ 0 のとき A の bit8 ∼ bit15 ← FFH
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
−
−
I, S, T −変化しません。
N −符号拡張したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −符号拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :1
補正値 :0
● 実行例
EXT
この例では , AL の下位バイトデータ (80H) の最上位ビットが "1" のため , AL の上位バ
イト (bit8 ∼ bit15) が FFH で拡張されます。
AH
A
×× ××
××
8 0
A
AL
×× ××
F F
8 0
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
実行前
144
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.40
EXTW (Sign Extend from Word Data to Long Word
Data)
A の下位ワードデータを符号付き 2 進数としてロングワードデータに拡張します。
■ EXTW (Sign Extend from Word Data to Long Word Data)
● アセンブラ形式
EXTW
● オペレーション
A の bit15 = 0 のとき A の bit16 ∼ bit31 ← 0000H
A の bit15 ≠ 0 のとき A の bit16 ∼ bit31 ← FFFFH
● CCR
I
−
S
−
T
N
Z
V
C
−
*
*
−
−
I, S, T −変化しません。
N −符号拡張したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −符号拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
EXTW
この例では , AL のワードデータ (FF80H) の最上位ビットが "1" のため , AH(A の bit16 ∼
bit31) が FFFFH で拡張されます。
AH
A
×× ××
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-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
145
第 9 章 実行命令細則
9.1 実行命令細則
9.1.41
F2MC-16LX ファミリ
FILS (Fill String Byte)
<bank> で指定されたバンクレジスタを上位 8 ビット , AH の内容を下位 16 ビット
として示されるアドレスから , RW0 バイト分の領域に AL の内容を転写します。
RW0 がゼロであった場合は転送は行われません。命令実行中に割込みが生じると ,
命令の実行を一時中断し , 割込み処理が終わった時点で処理の継続を行います。
<bank> としては PCB, DTB, ADB, SPB の 4 種が指定できます。<bank> 省略時は
DTB が指定されたものとします。
■ FILS (Fill String Byte)
● アセンブラ形式
FILS [I] [<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
サイクル数 :6 × (RW0)+6
補正値 :(b) × (RW0)
(b) については , 表 8.4-2 を参照してください。
146
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
FILS
この例では , DTB と AH で示されるアドレス (94BC00H) から , RW0 が示すバイト数
(0100H) に AL の下位バイトデータ (E5H) を転送します。
AL
AH
A
B C
0 0
RWO
01
00
0 0
DTB
AH
AL
E 5
A
B D
0 0
94
RWO
0 0
0 0
0 0
DTB
T N Z V C
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
実行前
CM44-00201- 4
9 4
CCR × 1 0 ××
CCR ×××××
AH →
E 5
実行後
FUJITSU MICROELECTRONICS LIMITED
147
第 9 章 実行命令細則
9.1 実行命令細則
9.1.42
F2MC-16LX ファミリ
FILSW (Fill String Word)
<bank> で指定されたバンクレジスタを上位 8 ビット , AH の内容を下位 16 ビット
として示されるアドレスから , RW0 ワード分の領域に AL の内容を転写します。
RW0 がゼロであった場合は転送は行われません。命令実行中に割込みが生じると ,
命令の実行を一時中断し , 割込み処理が終わった時点で処理の継続を行います。
<bank> としては PCB, DTB, ADB, SPB の 4 種の指定ができます。<bank> 省略時
は DTB が指定されたものとします。
■ FILSW (Fill String Word)
● アセンブラ形式
FILSW [I] [<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
サイクル数 :6 × (RW0)+6
補正値 :(c) × (RW0)
(c) については , 表 8.4-2 を参照してください。
148
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
FILSW ADB
この例では , ADB と AH で示されるアドレス (49ABFEH) から , RW0 が示すワード数
(0080H) に AL のワードデータ (E55EH) を転送します。
AH
AL
A
A B
F E
RWO
00
80
E 5
ADB
AH
AL
5 E
A
A C
F E
49
RWO
0 0
0 0
CCR ×××××
E 5
ADB
T N Z V C
メモリ
メモリ
××
49ACFF
××
49ACFE
××
××
49ACFF
××
49ACFE
49ACFD
E 5
49ACFD
××
49AC00
5 E
49AC00
××
49ABFF
E 5
49ABFF
××
49ABFE
5 E
49ABFE
実行前
CM44-00201- 4
4 9
CCR × 0 0 ××
T N Z V C
AH →
5 E
AH →
実行後
FUJITSU MICROELECTRONICS LIMITED
149
第 9 章 実行命令細則
9.1 実行命令細則
9.1.43
F2MC-16LX ファミリ
INC (Increment Byte Data ( アドレス指定 ))
オペランドのバイトデータに 1 を加え , その結果をオペランドへ戻します。
■ INC (Increment Byte Data ( アドレス指定 ))
● アセンブラ形式
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
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
INC R0
この例では , R0 のバイトデータ (FFH) に 1 を加算します。
RO
F F
CCR ×××××
T N Z V C
実行前
150
RO
0 0
CCR × 0 1 0 ×
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.44
INCL (Increment Long Word Data)
オペランドのロングワードデータに 1 を加え , その結果をオペランドへ戻します。
■ INCL (Increment Long Word Data)
● アセンブラ形式
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
7
0
2+
9+(a)
2 × (d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
INCL RL0
この例では , RL0 のロングワードデータ (7FFFFFFFH) に 1 を加算します。
RLO
7 F
F F
F F
F F
CCR ×××××
RLO
8 0
0 0
0 0
CCR × 1 0 1 ×
T N Z V C
T N Z V C
実行前
CM44-00201- 4
0 0
実行後
FUJITSU MICROELECTRONICS LIMITED
151
第 9 章 実行命令細則
9.1 実行命令細則
9.1.45
F2MC-16LX ファミリ
INCW (Increment Word Data)
オペランドのワードデータに 1 を加え , その結果をオペランドへ戻します。
■ INCW (Increment Word Data)
● アセンブラ形式
INCW ear
INCW eam
● オペレーション
( オペランド ) ← ( オペランド ) +1
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
−
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果 , オーバフローが生じればセット , それ以外はクリアされます。
C −変化しません。
● バイト数 , サイクル数および補正値
オペランド
ear
eam
バイト数
サイクル数
補正値
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
INCW @RW0+
この例では , オペランド (@RW0+) で示されるアドレス (0354H) のワードデータ (0101H)
に 1 を加算します。
0 3
RWO
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
実行前
152
0 3
RWO →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.46
INT (Software Interrupt)
バンク 0FFH 内の指定されたアドレスの割込み処理ルーチンへ分岐します。分岐先
割込みルーチン中の RETI 命令の実行により , この命令の次の命令に戻ります。
■ INT (Software Interrupt)
● アセンブラ形式
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
サイクル数 :16
補正値 :6 × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
153
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
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
実行前
154
F 2
メモリ
メモリ
SSP →
C C
DTB
PC
DTB
0 3
AH
AL
SSP →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.47
INT (Software Interrupt ( ベクタ指定 ))
オペランドで指定した割込みベクタが示す割込み処理ルーチンへ分岐します。
■ 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
サイクル数 :20
補正値 :8 × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
155
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
××
××
実行前
156
AL
DTB
DTB
0 3
AH
AL
037FF4
SSP →
85
037FF4
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.48
INT9 (Software Interrupt)
ベクタが示す割込み処理ルーチンへ分岐します。
分岐先割込みルーチン中の RETI 命令の実行により , この命令の次の命令に戻りま
す。
■ INT9 (Software Interrupt)
● アセンブラ形式
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
サイクル数 :20
補正値 :8 × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
157
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
INT9
この例では , #9 の割込みベクタが示す割込み処理ルーチンへ分岐します。
AH
A
1 1
2 2
3 3
4 4
A
1 1
2 2
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
××
××
実行前
158
AL
DTB
PC
DTB
0 3
AH
AL
037FF4
SSP →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.49
INTP (Software Interrupt)
オペランドで指定された 24 ビットの物理アドレスの割込みルーチンへ分岐します。
したがって , 16MB 全空間の任意のアドレスが指定可能です。
分岐先割込みルーチン中の RETI 命令の実行により , この命令の次の命令に戻りま
す。
■ INTP (Software Interrupt)
● アセンブラ形式
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
ステート数 :17
補正値 :6 × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
159
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
INTP 0C8F220H
この例では , C8F220 番地の割込み処理ルーチンへ分岐します。プログラムカウンタバ
ンクレジスタ (PCB) に C8H を設定します。
AH
A
1 1
2 2
3 3
4 4
A
1 1
2 2
3 3
4 4
DTB
PCB
C 8
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 0
0 0 0 0 1 0 1
0 3
1 0
0 1 0 0 1 0 1
PCB
8 8
DPR
ADB
5 5
6 6
ILM
0 3
SSB
PC
9 9
A A
SSB
SSP
8 0
0 3
0 0
メモリ
SSP →
PC
F 2
2 0
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
実行前
160
AL
7 7
DTB
7 7
0 3
AH
AL
SSP →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.50
JCTX (Jump Context)
メモリに退避されたレジスタの内容やアドレスなどを復帰します。
■ 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
サイクル数 :14
補正値 :6 × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
161
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
AL →
0 1
メモリ
09E02C
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
F6
09E021
F 6
09E021
8A
実行前
162
5 0
09E020
8 A
09E020
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.51
JMP (Jump Destination Address)
オペランドで示されるアドレスのワードデータを読み出し , そのワードデータが示
すアドレスへ分岐します。
■ JMP (Jump Destination Address)
● アセンブラ形式
JMP @A
JMP addr16
JMP @ear
JMP @eam
● オペレーション
(PC) ← ( オペランド )
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
オペランド
@A
バイト数
サイクル数
補正値
1
2
0
@ear @eam addr16
2
3
0
2+
4+(a)
(c)
3
3
0
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
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-00201- 4
メモリ
RWO+2 →
実行後
FUJITSU MICROELECTRONICS LIMITED
163
第 9 章 実行命令細則
9.1 実行命令細則
9.1.52
F2MC-16LX ファミリ
JMPP (Jump Destination Physical Address)
オペランドが addr24 の場合 , addr24 で示される物理アドレスへ分岐します。
また , オペランドが @ea の場合 , オペランドの内容で示される物理アドレスへ分岐
します。
■ JMPP (Jump Destination Physical Address)
● アセンブラ形式
1)
JMPP addr24
2)
JMPP @ear
JMPP @eam
● オペレーション
: (PC) ← addr24 の下位ワード
1)
(PCB) ← addr24 の最上位バイト
: (PC) ← (ea)
2)
【ワード転送】
(PCB) ← (ea+2) 【バイト転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
addr24 @ear @eam
オペランド
4
4
0
バイト数
サイクル数
補正値
2
5
0
2+
6+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
JMPP 0FFC850H
この例では , FFC850H に分岐します。PCB に FFH を設定します。
PC
1 2
4 8
PCB 3 4
実行前
164
PC
C 8
PCB
5 0
F F
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.53
LINK (Link and create new stack frame)
現在のフレームポインタ (RW3) の値をスタックに保存し , 新しいフレームポインタ
を設定します。これにより , 新しいローカル ( 局所 ) 変数の領域を確保します。この
命令は関数を呼び出す前に使用します。
■ LINK (Link and create new stack frame)
● アセンブラ形式
LINK #imm8
● オペレーション
(SP) ← (SP)-2; ((SP)) ← (RW3); (RW3) ← (SP); (SP) ← (SP)-imm8
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :6
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
● 実行例
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→
実行前
CM44-00201- 4
4 6
E020
× ×
E000
実行後
FUJITSU MICROELECTRONICS LIMITED
165
第 9 章 実行命令細則
9.1 実行命令細則
9.1.54
F2MC-16LX ファミリ
LSL (Logical Shift Byte Data of Accumulator to
Left)
アキュムレータ (A) の最下位バイトデータを , 第 2 オペランドで示されるビット数だ
け左へシフトします。A の最下位ビットには "0" が入ります。A の最下位バイトデー
タの最上位ビットからシフトアウトされたビットはキャリフラグ (C) に入ります。
■ LSL (Logical Shift Byte Data of Accumulator to Left)
● アセンブラ形式
LSL 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
サイクル数 :(R0) が 0 であったときは 6, それ以外は 5+(R0) となります。
補正値 :0
166
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
LSL A,R0
この例では , AL の下位バイトデータ (FEH) を , R0 が示すビット数 (2 ビット ) 左シフト
します。
AH
A
AH
AL
×× ××
××
RO
F F
02
CCR ×××××
A
AL
×× F C
×× ××
RO
0 2
CCR × 1 0 × 1
T N Z V C
実行前
CM44-00201- 4
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
167
第 9 章 実行命令細則
9.1 実行命令細則
9.1.55
F2MC-16LX ファミリ
LSLL (Logical Shift Long Word Data of
Accumulator to Left)
アキュムレータ (A) のロングワードデータを , 第 2 オペランドで示されるビット数だ
け左へシフトします。A の最下位ビットには "0" が入ります。最上位ビットからシ
フトアウトされたビットはキャリフラグ (C) に入ります。
■ LSLL (Logical Shift Long Word Data of Accumulator to Left)
● アセンブラ形式
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
サイクル数 :(R0) が 0 であったときは 6, それ以外は 6+(R0) となります。
補正値 :0
168
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
LSLL A,R0
この例では , アキュムレータ (A) のロングワードデータ (33333333H) を , R0 が示すビッ
ト数 (2 ビット ) 左シフトします。
A
AH
AL
3 3 3 3
3 3 3 3
RO
AL
C C C C
C C C C
02
RO
0 2
CCR ×××××
CCR × 1 0 × 0
T N Z V C
T N Z V C
実行前
CM44-00201- 4
A
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
169
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
LSLW (Logical Shift Word Data of Accumulator to
Left)
9.1.56
アキュムレータ (A) の下位ワードデータを , 1 ビットだけ左へシフトします。A の最
下位ビットには "0" が入ります。A の下位ワードデータの最上位ビットからシフト
アウトされたビットはキャリフラグ (C) に入ります。
■ LSLW (Logical Shift Word Data of Accumulator to Left)
● アセンブラ形式
LSLW A / SHLW A
● オペレーション
C
MSB
A
LSB
0
● CCR
I
−
S
−
T
N
Z
V
C
−
*
*
−
*
I, S, T −変化しません。
N −シフト結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −シフト結果がゼロならばセット , それ以外はクリアされます。
V −変化しません。
C − A の MSB からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
LSLW A
この例では , AL のワードデータ (AA55H) を , 1 ビット左シフトします。
AH
A
AH
AL
×× ××
A A
5 5
A
AL
×× ××
CCR ×××××
5 5
CCR × 0 0 × 1
T N Z V C
実行前
170
A A
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.57
LSLW (Logical Shift Word Data of Accumulator to
Left)
アキュムレータ (A) の下位ワードデータを , 第 2 オペランドで示されるビット数だけ
左へシフトします。A の最下位ビットには "0" が入ります。A の下位ワードデータ
の最上位ビットからシフトアウトされたビットはキャリフラグ (C) に入ります。
■ LSLW (Logical Shift Word Data of Accumulator to Left)
● アセンブラ形式
LSLW 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
サイクル数 :(R0) が 0 であったときは 6, それ以外は 5+(R0) となります。
補正値 :0
● 実行例
LSLW A,R0
この例では , AL のワードデータ (AA55H) を , R0 が示すビット数 (4 ビット ) 左シフト
します。
AH
A
AH
AL
×× ××
A A
RO
5 5
A
AL
×× ××
A 5
04
CCR ×××××
RO
CM44-00201- 4
0 4
CCR × 1 0 × 0
T N Z V C
実行前
5 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
171
第 9 章 実行命令細則
9.1 実行命令細則
9.1.58
F2MC-16LX ファミリ
LSR (Logical Shift Byte Data of Accumulator to
Right)
アキュムレータ (A) の最下位バイトデータを , 第 2 オペランドで示されるビット数だ
け右へシフトします。A の最下位バイトの最上位ビットには "0" が入ります。最下
位ビットからシフトアウトされたビットはキャリフラグ (C) に入ります。
■ LSR (Logical Shift Byte Data of Accumulator to Right)
● アセンブラ形式
LSR 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
サイクル数 :(R0) が 0 であったときは 6, それ以外は 5+(R0) となります。
補正値 :0
172
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
LSR A,R0
この例では , AL の下位バイトデータ (FFH) を , R0 が示すビット数 (5 ビット ) 右シフト
します。
AH
A
AH
AL
×× ××
××
RO
F F
05
CCR ×××××
A
AL
×× ××
××
RO
CM44-00201- 4
0 5
CCR 1 0 0 × 1
T N Z V C
実行前
0 7
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
173
第 9 章 実行命令細則
9.1 実行命令細則
9.1.59
F2MC-16LX ファミリ
LSRL (Logical Shift Long Word Data of
Accumulator to Right)
アキュムレータ (A) のロングワードデータを , 第 2 オペランドで示されるビット数だ
け右へシフトします。A の最上位ビットには "0" が入り , A の最下位ビットからシフ
トアウトされたビットはキャリフラグ (C) に入ります。
■ LSRL (Logical Shift Long Word Data of Accumulator to Right)
● アセンブラ形式
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
サイクル数 :(R0) が 0 であったときは 6, それ以外は 6+(R0) となります。
補正値 :0
174
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
LSRL A,R0
この例では , アキュムレータ (A) のロングワードデータ (33333333H) を , R0 が示すビッ
ト数 (16 ビット ) 右シフトします。
A
AH
AL
3 3 3 3
3 3 3 3
RO
CCR
A
AH
AL
0 0 0 0
3 3 3 3
1 0
×××××
RO
CCR
T N Z V C
実行前
CM44-00201- 4
1 0
10 0 × 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
175
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
LSRW (Logical Shift Word Data of Accumulator to
Right)
9.1.60
アキュムレータ (A) の下位ワードデータを , 1 ビットだけ右へシフトします。A の下
位ワードデータの最上位ビットには "0" が入ります。最下位ビットはキャリフラグ
(C) に入ります。
■ LSRW (Logical Shift Word Data of Accumulator to Right)
● アセンブラ形式
LSRW A / SHRW A
● オペレーション
MSB
A
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
サイクル数 :2
補正値 :0
● 実行例
LSRW A
この例では , AL のワードデータ (AAAAH) を , 1 ビット右シフトします。
AH
A
×× ××
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
実行前
176
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.61
LSRW (Logical Shift Word Data of Accumulator to
Right)
アキュムレータ (A) の下位ワードデータを , 第 2 オペランドで示されるビット数だけ
右へシフトします。A の下位ワードデータの最上位ビットには "0" が入ります。最
下位ビットからシフトアウトされたビットはキャリフラグ (C) に入ります。
■ LSRW (Logical Shift Word Data of Accumulator to Right)
● アセンブラ形式
LSRW A,R0
● オペレーション
MSB
A
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
サイクル数 :(R0) が 0 であったときは 6, それ以外は 5+(R0) となります。
補正値 :0
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
177
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
LSRW A,R0
この例では , AL のワードデータ (AAAAH) を , R0 が示すビット数 (12 ビット ) 右シフ
トします。
AH
A
AH
AL
×× ××
A A
RO
A A
A
AL
×× ××
0 0
0C
CCR ×××××
RO
CCR
T N Z V C
実行前
178
FUJITSU MICROELECTRONICS LIMITED
0 A
0 C
10 0 × 1
T N Z V C
実行後
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.62
MOV (Move Byte Data from Source to
Accumulator)
AH に AL の値が転送されます。そのあと , AL の上位バイトには 00H が , AL の下位バ
イトには第 2 オペランドのバイトデータが転送されます。
第 2 オペランドが @A の場合は , AH への転送は行われません。
■ MOV (Move Byte Data from Source to Accumulator)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド #imm8 @A @RLi+disp8
バイト数
サイクル数
補正値
2
2
0
2
3
(b)
3
10
(b)
io
addr16
Ri
dir
ear
eam
brg1
2
3
(b)
3
4
(b)
1
2
0
2
3
(b)
2
2
0
2+
3+(a)
(b)
2
*
0
*: プログラムカウンタバンクレジスタ (PCB), アディショナルデータバンクレジスタ
(ADB),システムスタックバンクレジスタ(SSB),ユーザスタックバンクレジスタ(USB)
のとき……1 サイクル
データバンクレジスタ (DTB),ダイレクトページレジスタ(DPR) のとき……2 サイクル
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
179
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOV A,0092H
この例では、AL のワードデータ (A046H) を AH に転送したあと、0092H 番地のバイト
データ (71H) を AL に転送します。
AH
A
AH
AL
×× ××
A 0
4 6
A
A 0
AL
0 0
4 6
CCR ×××××
CCR × 0 0 × ×
T N Z V C
メモリ
7 1
180
T N Z V C
メモリ
0092
実行前
7 1
7 1
0092
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.63
MOV (Move Byte Data from Accumulator to
Destination)
AL の下位バイトのデータを , 第 1 オペランドに転送します。
■ MOV (Move Byte Data from Accumulator to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
dir
バイト数
サイクル数
補正値
2
3
(b)
@RLi+disp8 addr16
3
10
(b)
3
4
(b)
io
Ri
ear
eam
brg2
2
3
(b)
1
2
0
2
2
0
2+
3+(a)
(b)
2
1
0
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
MOV R1,A
この例では , AL の下位バイトデータ (32H) を R1 に転送します。
AH
A
×× ××
4 9
CCR ×××××
T N Z V C
3 2
R1 ××
A
CCR
AL
×× ××
4 9
×0 0 ××
3 2
R1
3 2
T N Z V C
実行前
CM44-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
181
第 9 章 実行命令細則
9.1 実行命令細則
9.1.64
F2MC-16LX ファミリ
MOV (Move Byte Immediate data to Destination)
第 2 オペランドで指定された 8 ビットの即値データを第 1 オペランドに転送します。
第 1 オペランドが @PC+disp16 のときの転送先アドレスは「MOV 命令の機械命令
が格納されているアドレス +4+rel」となります。「MOV 命令の次の命令の機械命令
が格納されているアドレス +rel」ではありませんので注意してください。
■ MOV (Move Byte Immediate data to Destination)
● アセンブラ形式
MOV RP,#imm8
MOV ILM,#imm8
MOV io,#imm8
MOV dir,#imm8
MOV ear,#imm8
MOV eam,#imm8
● オペレーション
( 第 1 オペランド ) ← imm8
● CCR
転送先が汎用レジスタ (R0 ∼ R7)
とバンクレジスタの場合
I
S
−
−
転送先が汎用レジスタ (R0 ∼ R7)
とバンクレジスタ以外の場合
T
N
Z
V
C
I
S
T
N
Z
V
C
−
*
*
−
−
−
−
−
−
−
−
−
I, S, T −変化しません。
N −汎用レジスタ以外への転送であれば変化しません。汎用レジスタへの転送であれ
ば , 転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −汎用レジスタ以外への転送であれば変化しません。汎用レジスタへの転送であれ
ば , 転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
RP
ILM
dir
io
ear
eam
第 2 オペランド #imm8 #imm8 #imm8 #imm8 #imm8 #imm8
バイト数
サイクル数
補正値
2
2
0
2
2
0
3
5
(b)
3
5
(b)
3
2
0
3+
4+(a)
(b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
182
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOV 009FH,#22H
この例では , 8 ビット即値データ (22H) を 009FH 番地にバイト転送します。
A
AH
AL
×× ××
×× ××
AL
×× ××
×× ××
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
メモリ
7 1
実行前
CM44-00201- 4
A
AH
メモリ
009F
2 2
009F
実行後
FUJITSU MICROELECTRONICS LIMITED
183
第 9 章 実行命令細則
9.1 実行命令細則
9.1.65
F2MC-16LX ファミリ
MOV (Move Byte Data from Source to Destination)
第 2 オペランドで示されるバイトデータを第 1 オペランドへ転送します。
ここで解説する MOV Ri, #imm8 は基本ページマップ (「付録 A 付表 C-1 」参照 )
内にある命令を指し , MOV ear, #imm8 に含まれるものとは別のコードの命令です。
■ MOV (Move Byte Data from Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
Ri
第 2 オペランド #imm8
バイト数
サイクル数
補正値
2
2
0
Ri
Ri
ear
eam
ear
eam
Ri
Ri
2
3
0
2+
4+(a)
(b)
2
4
0
2+
5+(a)
(b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
184
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
CM44-00201- 4
0 1
T N Z V C
メモリ
E001
7 1
E001
実行後
FUJITSU MICROELECTRONICS LIMITED
185
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MOV (Move Byte Data from AH to Memory )
9.1.66
AH の下位バイトデータを AL の内容によって示されるメモリへ転送します。
■ MOV (Move Byte Data from AH to Memory )
● アセンブラ形式
MOV @AL,AH
● オペレーション
((AL)) ← (AH)
【バイト転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
−
−
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :3
補正値 :(b)
(b) については , 表 8.4-2 を参照してください。
● 実行例
MOV @AL,AH
この例では , AH の下位バイトデータ (22H) を , AL のワードデータで示されるアドレス
(E084H) に転送します。
AH
A
0 1
AH
AL
2 2
E 0
8 4
A
0 1
AL
2 2
E 0
CCR × 0 0 ××
CCR ×××××
T N Z V C
メモリ
7 1
実行前
186
8 4
T N Z V C
メモリ
E084
2 2
E084
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.67
MOVB (Move Bit Data from Bit Address to
Accumulator)
アキュムレータ (A) の bit8 ∼ bit15 には 00H が転送されます。A の bit0 ∼ bit7 には ,
第 2 オペランドで指定したアドレスのビットが "0" のとき 00H, "1" のとき FFH が転
送されます。
■ MOVB (Move Bit Data from Bit Address to Accumulator)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド addr16:bp
バイト数
サイクル数
補正値
4
5
(b)
dir:bp
io:bp
3
5
(b)
3
4
(b)
表中の (b) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
187
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
188
AH
0032
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
0032
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.68
MOVB (Move Bit Data from Accumulator to Bit
Address)
アキュムレータ (A) の最下位バイトデータが 00H のときは , 第 1 オペランドで指定
したビットアドレスにビットデータ "0" を転送します。
A の最下位バイトデータが 00H でないときは , 第 1 オペランドで指定したビットア
ドレスにビットデータ "1" を転送します。
■ MOVB (Move Bit Data from Accumulator to Bit Address)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド addr16:bp
バイト数
サイクル数
補正値
dir:bp
io:bp
4
7
3
7
3
6
2 × (b)
2 × (b)
2 × (b)
表中の (b) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
189
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOVB 765FH:7,A
この例では, ALの下位バイトデータが00H でないので, 765FH 番地のbit7を"1"にします。
AH
A
××
×× ××
0 1
A
AL
××
×× ××
0 1
CCR ×××××
CCR × 0 0 ××
T N Z V C
T N Z V C
メモリ
メモリ
× ×
× ×
7 F
190
AH
AL
765F
F
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
765F
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.69
MOVEA (Move Effective Address to Destination)
第 2 オペランドで示される値 ( 実効アドレス ) を第 1 オペランドへ転送します。第 2
オペランドに汎用レジスタが指定されたときは , 汎用レジスタアドレスを転送しま
す。
第 1 オペランドがアキュムレータ (A) の場合 , AH には , アドレス転送前の AL の値
が転送されます。
■ MOVEA (Move Effective Address to Destination)
● アセンブラ形式
MOVEA <destination>,ear MOVEA <destination>,eam
● オペレーション
第 1 オペランド← ea
【ワード転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
RWi
RWi
第 2 オペランド
ear
eam
ear
eam
バイト数
サイクル数
補正値
2
1
0
2+
1+(a)
0
2
3
0
2+
2+(a)
0
表中の (a) については , 表 8.4-1 を参照してください。
● 実行例
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
実行前
CM44-00201- 4
実行後
FUJITSU MICROELECTRONICS LIMITED
191
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MOVL (Move Long Word Data from Source to
Accumulator)
9.1.70
第 2 オペランドで示されるロングワードデータをアキュムレータ (A) へ転送します。
■ MOVL (Move Long Word Data from Source to Accumulator)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド #imm32
ear
eam
2
4
0
2+
5+(a)
(d)
5
3
0
バイト数
サイクル数
補正値
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
MOVL A,#0053FF64H
この例では , 32 ビット即値データ (0053FF64H) を , アキュムレータ (A) にロングワード
転送します。
A
AH
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
実行前
192
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.71
MOVL (Move Long Word Data from Accumulator to
Destination)
アキュムレータ (A) のロングワードデータを第 1 オペランドへ転送します。
■ MOVL (Move Long Word Data from Accumulator to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
ear
eam
バイト数
サイクル数
補正値
2
4
0
2+
5+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
MOVL RL1,A
この例では , アキュムレータ (A) のロングワードデータ (0197A024H) を , RL1 に転送し
ます。
AH
A
RL1
0 1
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
実行前
CM44-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
193
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MOVN (Move Immediate Nibble Data to
Accumulator)
9.1.72
AH に AL の値が転送されます。そのあと , AL の bit4 ∼ bit15 には 000H が , AL の
bit0 ∼ bit3 には第 2 オペランドで指定されたニブルデータが転送されます。
■ MOVN (Move Immediate Nibble Data to Accumulator)
● アセンブラ形式
MOVN A,#imm4
● オペレーション
(A) ← imm4
【バイト転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
R
*
−
−
I, S, T −変化しません。
N −クリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :1
補正値 :0
● 実行例
MOVN A,#0FH
この例では , AL のワードデータ (6207H) を AH に転送したあと , 4 ビット即値データ
(FH) をゼロ拡張したバイトデータ (0FH) を , AL に転送します。
AH
A
AH
AL
×× ××
6 2
0 7
A
6 2
AL
0 0
0 7
CCR ×××××
CCR × 0 0 ××
T N Z V C
実行前
194
0 F
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.73
MOVS (Move String Byte)
<source bank> で指定される空間の AL で示されるアドレスから , <destination
bank> で指定される空間の AH で示されるアドレスへ , バイトデータを転送します。
RW0 で指定された回数だけ , アドレスを変化させながら転送を繰り返します。RW0
がゼロであったときは転送は行いません。<destination bank>, <sourcebank> とし
て PCB, DTB, ADB, SPB の 4 種が使用できます。省略時は自動的に DTB が設定さ
れます。
アドレスを変化させる方向としては , 増加または減少が指定可能で , 省略時は増加方
向となります。
転送中に割込みが生じた場合は , 転送を一時中断して割込み処理を行います。割込
み処理の終了のあと転送を再開します。
■ MOVS (Move String Byte)
● アセンブラ形式
MOVSI [<destination bank>] [,<source bank>] ( アドレスインクリメント時 )
MOVSD [<destination bank>] [,<source bank>] ( アドレスデクリメント時 )
● オペレーション
RW0=0 となるまで
((AH)) ← ((AL))
【バイト転送】
(AH) ← (AH) ± 1, (AL) ← (AL) ± 1 【MOVSWI のとき +, MOVSWD のとき−】
(RW0) ← (RW0)-1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :(RW0) がゼロのときは 5, それ以外は 4+8 × (RW0)
補正値 :2 × (b) × (RW0)
(b) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
195
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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→
実行前
196
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.74
MOVSW (Move String Word)
<source bank> で指定される空間の AL で示されるアドレスから , <destination
bank> で指定される空間の AH で示されるアドレスへ , ワードデータを転送します。
RW0 で指定された回数だけ , アドレスを変化させながら転送を繰り返します。RW0
がゼロであったときは転送は行いません。<destination bank>, <source bank> と
して PCB, DTB, ADB, SPB の 4 種が使用できます。省略時は , 自動的に DTB が設
定されます。
アドレスを変化させる方向としては , 増加または減少が指定可能で , 省略時は増加方
向となります。
転送中に割込みが生じた場合は , 転送を一時中断して割込み処理を行います。割込
み処理の終了のあと転送を再開します。
■ MOVSW (Move String Word)
● アセンブラ形式
MOVSWI [<destination bank>] [,<source bank>] ( アドレスインクリメント時 )
MOVSWD [<destination bank>] [,<source bank>] ( アドレスデクリメント時 )
● オペレーション
RW0=0 となるまで
((AH)) ← ((AL))
【バイト転送】
(AH) ← (AH) ± 2, (AL) ← (AL) ± 2 【MOVSWI のとき +, MOVSWD のとき−】
(RW0) ← (RW0)-1
を繰り返します。
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグとも変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :(RW0) が 0 のときは 5, それ以外は 4+8 × (RW0)
補正値 :2 × (c) × (RW0)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
197
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
198
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.75
MOVW (Move Word Data from Source to
Accumulator)
AH に AL の値が転送されます。そのあと , AL に第 2 オペランドのワードデータが転送
されます。第 2 オペランドが @A の場合は , AH への転送は行われません。
■ MOVW (Move Word Data from Source to Accumulator)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド #imm16 @A @RLi+disp8 SP io @RWi+disp8 addr16 RWi
バイト数
サイクル数
補正値
3
2
0
2
3
(c)
3
10
(c)
1
1
0
2
3
(c)
2
5
(c)
3
4
(c)
1
2
0
dir
ear eam
2
3
(c)
2
2+
2 3+(a)
0 (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
199
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOVW A,0F9A0H
この例では , AL のワードデータ (4901H) を AH に転送したあと , F9A0H 番地のワード
データ (AE86H) を AL に転送します。
AH
A
AH
AL
×× ××
4 9
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
実行前
200
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.76
MOVW (Move Word Data from Accumulator to
Destination)
アキュムレータ (A) の下位ワードデータを第 1 オペランドへ転送します。
■ MOVW (Move Word Data from Accumulator to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
dir
@RLi+disp8
addr16
SP
バイト数
サイクル数
補正値
2
3
(c)
3
10
(c)
3
4
(c)
1
1
0
io @RWi+disp8
2
3
(c)
RWi
ear
eam
1
2
0
2
2
0
2+
3+(a)
(c)
2
5
(c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
201
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOVW RW0,A
この例では , AL のワードデータ (0000H) を RW0 に転送します。
AH
A
AH
AL
×× ××
0 0
0 0
×× ××
RWO
A
AL
×× ××
RWO
CCR ×××××
202
0 0
0 0
0 0
CCR × 0 1 ××
T N Z V C
実行前
0 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.77
MOVW (Move Immediate Word Data to Destination)
16 ビットの即値データを第 1 オペランドに転送します。
第 1 オペランドが @PC+disp16 のときの転送先アドレスは「MOVW 命令の機械命
令が格納されているアドレス +4+disp16」となります。「MOVW 命令の次の命令の
機械命令が格納されているアドレス +disp16」ではありませんので注意してくださ
い。
■ MOVW (Move Immediate Word Data to Destination)
● アセンブラ形式
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 オペランド
ear
eam
バイト数
サイクル数
補正値
4
2
0
4+
4+(a)
(c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
203
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOVW RW0,#2343H
この例では , 16 ビット即値データ (2343H) を RW0 に転送します。
CCR ×××××
CCR × 0 0 ××
T N Z V C
RWO
×× ××
実行前
204
T N Z V C
2 3
RWO
4 3
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.78
MOVW (Move Word Data from source to
Destination)
第 2 オペランドで指定されたワードデータを第 1 オペランドへ転送します。
■ MOVW (Move Word Data from source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
RWi
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
RWi
RWi
ear
eam
ear
eam
RWi
RWi
2
4
0
2+
5+(a)
(c)
2
3
0
2+
4+(a)
(c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
205
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOVW RW1,RW0
この例では , RW0 のワードデータ (004AH) を RW1 に転送します。
A
AH
AL
AH
×× ××
×× ××
A
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
実行前
206
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.79
MOVW (Move Immediate Word Data to io)
16 ビットの即値データを第 1 オペランドで示される I/O 領域に転送します。
■ MOVW (Move Immediate Word Data to io)
● アセンブラ形式
MOVW io,#imm16
● オペレーション
( 第 1 オペランド ) ← imm16
【ワード転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :4
サイクル数 :5
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
● 実行例
MOVW 24H,#2343H
この例では , 16 ビット即値データ (2343H) を , I/O 領域の 24H 番地にワード転送します。
CM44-00201- 4
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
メモリ
メモリ
××
××
××
000025
2 3
000025
××
000024
4 3
000024
××
××
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
207
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MOVW (Move Word Data from AH to Memory)
9.1.80
AH のワードデータを AL の内容によって示されるメモリへ転送します。
■ MOVW (Move Word Data from AH to Memory)
● アセンブラ形式
MOVW @AL, AH
● オペレーション
((AL)) ← (AH)
【ワード転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
−
−
I, S, T −変化しません。
N −転送したデータの MSB が "1" ならばセット , それ以外はクリアされます。
Z −転送したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :3
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
● 実行例
MOVW @AL,AH
この例では , AH のワードデータ (00CBH) を , AL で示されるアドレス (FEFFH) へ転送
します。
AH
A
0 0
F E
C B
F F
A
0 0
AL
F E
C B
F F
CCR ×××××
CCR × 1 0 ××
T N Z V C
T N Z V C
メモリ
メモリ
××
0 0
7 1
実行前
208
AH
AL
FEFF
C B
FEFF
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.81
MOVX (Move Byte Data with Sign Extension from
Source to Accumulator)
AH に AL の値が転送されます。そのあと , AL に , 第 2 オペランドのバイトデータを
符号拡張した , ワードデータが転送されます。第 2 オペランドが @A の場合は , AH
への転送は行われません。
■ MOVX (Move Byte Data with Sign Extension from Source to Accumulator)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド #imm8 @A @RLi+disp8
dir
io @RWi+disp8 addr16 Ri
2
2
0
2
3
(b)
2
3
(b)
バイト数
サイクル数
補正値
2
3
(b)
3
10
(b)
2
5
(b)
3
4
(b)
2
2
0
ear
eam
2
2
0
2+
3+(a)
(b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
209
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
MOVX A,0E001H
この例では , E001H 番地のバイトデータ (86H) を符号拡張したワードデータ (FF86H) を ,
AL に転送します。
AH
A
AH
AL
×× ××
A 0
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
実行前
210
A
AL
メモリ
E001
8 6
E001
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.82
MUL (Multiply Byte Data of Accumulator)
AH と AL の下位バイトデータを符号付き 2 進数として乗算し , 結果をアキュムレー
タ (A) の AL へ戻します。
■ MUL (Multiply Byte Data of Accumulator)
● アセンブラ形式
MUL A
● オペレーション
word(A) ← byte (AH) × byte (AL)
【バイト乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 : 2
サイクル数 : byte(AH) がゼロのときは 3, byte(AH) がゼロでなく結果が正のときは 12,
結果が負のときは 13
補正値 : 0
● 実行例
MUL A
この例では , AH の下位バイトデータ (FAH) と , AL の下位バイトデータ (11H) を符号付
きで乗算します。乗算結果のワードデータ (FF9AH) を AL に設定します。
AH
A
0 0
AL
F A
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-00201- 4
0 0
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
211
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MUL (Multiply Byte Data of Accumulator and
Effective Address)
9.1.83
アキュムレータ (A) と第 2 オペランドのバイトデータを符号付き 2 進数として乗算
し , 結果を A の bit0 ∼ bit15 に戻します。
■ MUL (Multiply Byte Data of Accumulator)
● アセンブラ形式
MUL A,ear
MUL A,eam
● オペレーション
word (A) ← byte (A) × byte (ea)
【バイト乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
*1
0
2+
*2
(b)
*1: byte(ear) がゼロのとき 4, byte(ear) がゼロでないときで結果が正のとき 13, 結果が負
のとき 14 となります。
*2: byte(eam) がゼロのとき 5+(a), byte(eam) がゼロでないときで結果が正のとき 14+(a),
結果が負のとき 15+(a) となります。
表中の (b), *2 の (a) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
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
実行前
212
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.84
MULW (Multiply Word Data of Accumulator)
AH と AL のワードデータを符号付き 2 進数として乗算し , 結果のロングワードデー
タをアキュムレータ (A) に戻します。
■ MULW (Multiply Word Data of Accumulator)
● アセンブラ形式
MULW A
● オペレーション
long (A) ← word (AH) × word (AL)
【ワード乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 : 2
サイクル数 : word(AH) がゼロのときは 3, word(AH) がゼロでなく結果が正のときは 16,
結果が負のときは 19
補正値 : 0
● 実行例
MULW A
この例では , AH のワードデータ (AD01H) と , AL のワードデータ (05EDH) を符号付き
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
A D
AL
0 1
E D
A
F E
AL
1 4
2 E
E D
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
実行前
CM44-00201- 4
0 5
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
213
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MULW (Multiply Word Data of Accumulator and
Effective Address)
9.1.85
アキュムレータ (A) と第 2 オペランドのワードデータを符号付き 2 進数として乗算
し , 結果のロングワードデータをアキュムレータ (A) に戻します。
■ MULW (Multiply Word Data of Accumulator and Effective Address)
● アセンブラ形式
MULW A,ear
MULW A,eam
● オペレーション
long (A) ← word (A) × word ( 第 2 オペランド )
【ワード乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
*1
0
2+
*2
(b)
*1: Word(ear) がゼロのとき 4, Word(ear) がゼロでないときで結果が正のとき 17, 結果が
負のとき 20 となります。
*2: Word(eam) がゼロのとき 5+(a), Word(eam) がゼロでないときで結果が正のとき
18+(a), 結果が負のとき 21+(a) となります。
表中の (b), *2 の (a) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
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
実行前
214
AH
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.86
MULU (Multiply Unsigned Byte Data of
Accumulator)
AH と AL の下位バイトデータを符号なし 2 進数として乗算し , 結果をアキュムレー
タ (A) の AL に戻します。
■ MULU (Multiply Unsigned Byte Data of Accumulator)
● アセンブラ形式
MULU A
● オペレーション
word (A) ← byte (AH) × byte (AL)
【バイト乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :byte(AH) がゼロのとき 3, byte(AH) がゼロでないとき 7
補正値 :0
● 実行例
MULU A
この例では , AH の下位バイトデータ (FAH) と , AL の下位バイトデータ (11H) を符号な
し乗算します。乗算結果のワードデータ (109AH) を AL に設定します。
AH
A
0 0
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-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
215
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MULU (Multiply Unsigned Byte Data of
Accumulator and Effective Address)
9.1.87
アキュムレータ (A) と第 2 オペランドのバイトデータを符号なし 2 進数として乗算
し , 結果を A の bit0 ∼ bit15 に戻します。
■ MULU (Multiply Unsigned Byte Data of Accumulator and Effective Address)
● アセンブラ形式
MULU A,ear
MULU A,eam
● オペレーション
word (A) ← byte (A) × byte ( 第 2 オペランド )
【バイト乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
*1
0
2+
*2
(b)
*1:byte(ear) がゼロのとき 4, byte(ear) がゼロでないとき 8 となります。
*2:byte(eam) がゼロのとき 5+(a), ゼロでないとき 9+(a) となります。
表中の (b), *2 の (a) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
MULU A,R7
この例では , AL の下位バイトデータ (85H) と , R7 のバイトデータ (A5H) を符号なし乗
算します。乗算結果のワードデータ (55B9H) を AL に設定します。
AH
A
×× ××
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
実行前
216
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.88
MULUW (Multiply Unsigned Word Data of
Accumulator)
AH と AL のワードデータを符号なし 2 進数として乗算し , 結果のロングワードデー
タをアキュムレータ (A) に戻します。
■ MULUW (Multiply Unsigned Word Data of Accumulator)
● アセンブラ形式
MULUW A
● オペレーション
Long (A) ← word (AH) × word (AL)
【ワード乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :word(AH) がゼロのとき 3, word(AH) がゼロでないとき 11
補正値 :0
● 実行例
MULUW A
この例では , AH のワードデータ (AD01H) と , AL のワードデータ (05EDH) を符号なし
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
A D
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
実行前
CM44-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
217
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
MULUW (Multiply Unsigned Word Data of
Accumulator and Effective Address)
9.1.89
アキュムレータ (A) と第 2 オペランドのワードデータを符号なし 2 進数として乗算
し , 結果のロングワードデータをアキュムレータ (A) に戻します。
■ MULUW (Multiply Unsigned Word Data of Accumulator and Effective
Address)
● アセンブラ形式
MULUW A,ear MULUW A,eam
● オペレーション
long (A) ← word (A) × word ( 第 2 オペランド )
【ワード乗算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
*1
0
2+
*2
(c)
*1:word(ear) がゼロのとき 4, word(ear) がゼロでないとき 12 となります。
*2:word(eam) がゼロのとき 5+(a), word(eam) がゼロでないとき 13+(a) となります。
表中の (c), *2 の (a) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
MULUW A,RW5
この例では , AL のワードデータ (8342H) と , RW5 のワードデータ (4314H) を符号なし
で乗算します。乗算結果のロングワードデータをアキュムレータ (A) に設定します。
AH
A
RW5
AH
AL
×× ××
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
実行前
218
2 8 CCR ×××××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.90
NEG (Negate Byte Data of Destination)
オペランドで指定されたバイトデータの 2 の補数をとり , 結果をオペランドへ戻し
ます。オペランドがアキュムレータ (A) の場合は A の bit8 ∼ bit15 には演算結果を
符号拡張した値が転送されます。
■ NEG (Negate Byte Data of Destination)
● アセンブラ形式
NEG A
NEG ear
NEG eam
● オペレーション
( オペランド ) ← 0 − ( オペランド )
【バイト演算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
オペランド
A
ear
eam
バイト数
サイクル数
補正値
1
2
0
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
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-00201- 4
5 9
実行後
FUJITSU MICROELECTRONICS LIMITED
219
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
NEGW (Negate Word Data of Destination)
9.1.91
オペランドで指定されたワードデータの 2 の補数をとり , 結果をオペランドへ戻し
ます。
■ NEGW (Negate Word Data of Destination)
● アセンブラ形式
NEGW A
NEGW ear
NEGW eam
● オペレーション
( オペランド ) ← 0 − ( オペランド )
【ワード演算】
● CCR
I
−
S
−
T
N
Z
V
C
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
オペランド
A
ear
eam
バイト数
サイクル数
補正値
1
2
0
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
NEGW A
この例では , AL のワードデータ (AB98H) の 2 の補数を求めます。
AH
A
220
×× ××
AH
AL
A B
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
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.92
NOP (No Operation)
何の動作も行いません。
■ NOP (No Operation)
● アセンブラ形式
NOP
● オペレーション
何の動作も行いません。
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :1
補正値 :0
● 実行例
NOP
NOP 命令では , 何の動作をしません。
A
AH
AL
×× ××
×× ××
PC
F 0
A
AH
AL
×× ××
×× ××
0 0
PC
CCR ×××××
メモリ
PC →
CM44-00201- 4
0 1
CCR ×××××
T N Z V C
T N Z V C
メモリ
××
F001
0 0
F000
実行前
F 0
PC →
××
F001
0 0
F000
実行後
FUJITSU MICROELECTRONICS LIMITED
221
第 9 章 実行命令細則
9.1 実行命令細則
9.1.93
F2MC-16LX ファミリ
NOT (Not Byte Data of Destination)
オペランドで指定されたバイトデータの論理否定をとり , 結果をオペランドへ戻し
ます。
■ 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 −変化しません。
● バイト数 , サイクル数および補正値
オペランド
A
ear
eam
バイト数
サイクル数
補正値
1
2
0
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
NOT 0071H
この例では , 0071H 番地のバイトデータ (FFH) をビットごとに反転します。
A
AH
AL
×× ××
×× ××
CCR ×××××
メモリ
F F
実行前
222
A
AH
AL
×× ××
×× ××
CCR × 0 1 0 ×
T N Z V C
T N Z V C
メモリ
0071
0 0
0071
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.94
NOTW (Not Word Data of Destination)
オペランドで指定されたワードデータの論理否定をとり , 結果をオペランドへ戻し
ます。
■ 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 −変化しません。
● バイト数 , サイクル数および補正値
オペランド
A
ear
eam
バイト数
サイクル数
補正値
1
2
0
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
NOTW RW3
この例では , RW3 のワードデータ (258BH) をビットごとに反転します。
RW3
CM44-00201- 4
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
223
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
NRML (NORMALIZE Long Word)
9.1.95
アキュムレータ (A) のロングワードデータがゼロでないとき , A の最上位ビットが
"1" になるまで左にシフトします。R0 にそのときのシフト回数が入り , ゼロフラグ
(Z) はクリアされます。
アキュムレータ (A) のロングワードデータがゼロのとき , R0 に 00H が入り , ゼロフ
ラグ (Z) はセットされます。
■ NRML (NORMALIZE Long Word)
● アセンブラ形式
NRML A,R0
● オペレーション
A ≠ 0 のとき……A の最上位ビットが "1" になるまで左にシフトします。
(R0) ←そのときのシフト回数 , Z ← 0
A=0 のとき……(R0) ← 00H, Z ← 1
● CCR
I
S
T
N
Z
V
C
−
−
−
−
*
−
−
I, S, T, N −変化しません。
Z − A がゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 : アキュムレータがゼロであったときは 4, それ以外は 6+( シフトした回数 )
補正値 :0
● 実行例
NRML A,R0
この例では , アキュムレータ (A) のロングワードデータ (00008361H) を 16 ビット左シ
フトします。R0 にシフトしたビット数 (10H) を設定します。
AH
A
0 0
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
実行前
224
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.96
OR (Or Byte Data of Destination and Source to
Destination)
第 1 オペランドと第 2 オペランドのバイトデータで論理和演算を行い , 結果を第 1
オペランドに戻します。
■ OR (Or Byte Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm8
バイト数
サイクル数
補正値
2
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(b)
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
225
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
OR 0052H,A
この例では , 0052H 番地のバイトデータと , AL の下位バイトデータ (37H) を論理和演算
(OR) します。
AH
A
AH
AL
0 0
×× ××
3 7
A
F A
3 7
CCR × 1 0 0 ×
T N Z V C
T N Z V C
メモリ
0052
実行前
226
0 0
×× ××
CCR ×××××
メモリ
AL
FUJITSU MICROELECTRONICS LIMITED
F F
0052
実行後
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.97
OR (Or Byte Data of Immediate Data and Condition
Code Register to Condition Code Register)
コンディションコードレジスタ (CCR) のバイトデータと指定された 8 ビットの即値
データで論理和演算を行い , 結果をコンディションコードレジスタ (CCR) に戻しま
す。
コンディションコードレジスタ (CCR) は 7 ビットしかないため , 即値データの bit7
は無視されます。
■ OR (Or Byte Data of Immediate Data and Condition Code)
● アセンブラ形式
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
サイクル数 :3
補正値 :0
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
227
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
OR CCR,#57H
この例では , CCR と , 8 ビット即値データ (57H) の bit6 ∼ bit0 を論理和演算 (OR) します。
AH
A
CCR
AH
AL
×× ××
×× ××
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 ×
実行前
228
×
LSB
×
×
×
ILM2 ILM1 ILM0
×
ILM
×
×
MSB
RP ×
×
LSB
×
×
×
×
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.98
ORL (Or Long Word Data of Destination and
Source to Destination )
アキュムレータ (A) のロングワードデータと第 2 オペランドのロングワードデータ
で論理和演算を行い , 結果を A に戻します。
■ ORL (Or Long Word Data of Destination and Source to Destination )
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
6
0
2+
7+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
229
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ORL A,0FFF0H
この例では , アキュムレータ (A) のロングワードデータ (725DF05CH) と , FFF0 番地の
ロングワードデータ (FF55AA00H) を論理和演算 (OR) します。
AH
A
7 2
AH
AL
5 D
F 0
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
実行前
230
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.99
ORW (Or Word Data of AH and AL to AL)
AH と AL のワードデータで論理和演算を行い , 結果を AL に戻します。
■ ORW (Or Word Data of AH and AL to 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
サイクル数 :2
補正値 :0
● 実行例
ORW A
この例では , AL のワードデータ (AB98H) と , AH のワードデータ (0426H) を論理和演算
(OR) します。
AH
A
0 4
2 6
A B
9 8
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-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
231
第 9 章 実行命令細則
9.1 実行命令細則
9.1.100
F2MC-16LX ファミリ
ORW (Or Word Data of Destination and Source to
Destination)
第 1 オペランドと第 2 オペランドのワードデータで論理和演算を行い , 結果を第 1
オペランドに戻します。
■ ORW (Or Word Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(c)
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
232
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
ORW 0E001H,A
この例では , E001 番地のワードデータ (4283H) と , AL のワードデータ (5963H) を論理
和演算 (OR) します。
AH
A
AH
AL
5 9
×× ××
6 3
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-00201- 4
A
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
233
第 9 章 実行命令細則
9.1 実行命令細則
9.1.101
F2MC-16LX ファミリ
POPW (Pop Word Data of Accumulator from Stack
Memory)
アキュムレータ (A) の bit16 ∼ bit31 に , bit0 ∼ bit15 の値が転送されます。そのあと ,
A の bit0 ∼ bit15 にスタックポインタ (SP) で示されるメモリのワードデータが転送
されます。データの転送後 , SP の値 ( ワードデータ ) に 0002H をワード加算しま
す。
■ POPW (Pop Word Data of Accumulator from Stack Memory)
● アセンブラ形式
POPW A
● オペレーション
(A) ← ((SP))
【ワード転送】
(SP) ← (SP)+2
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :3
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
234
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
POPW A
この例では , AL のワードデータ (1635H) を AH に転送したあと , SP で示されるアドレ
ス (0120H) のワードデータ (10ACH) を AL に転送します。SP に 2 を加算します。
AH
A
0 4
AH
AL
2 2
SP
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-00201- 4
A C
CCR ×××××
メモリ
SP →
1 0
実行後
FUJITSU MICROELECTRONICS LIMITED
235
第 9 章 実行命令細則
9.1 実行命令細則
9.1.102
F2MC-16LX ファミリ
POPW (Pop Word Data of AH from Stack Memory)
スタックポインタ (SP) で示されるメモリからワードデータを AH へ転送します。そ
の後 , SP の値 ( ワードデータ ) に 0002H をワード加算します。
■ POPW (Pop Word Data of AH from Stack Memory)
● アセンブラ形式
POPW AH
● オペレーション
(AH) ← ((SP))
【ワード転送】
(SP) ← (SP)+2
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :3
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
● 実行例
POPW AH
この例では , SP で示されるアドレス (0120H) のワードデータ (4314H) を AH に転送しま
す。SP に 2 を加算します。
AH
A
0 4
AH
AL
2 2
SP
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
実行前
236
3 5
CCR ×××××
メモリ
SP →
1 6
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.103
POPW (Pop Word Data of Program Status from
Stack Memory)
スタックポインタ (SP) で示されるメモリからワードデータをプロセッサステータス
(PS) へ転送します。ただし , ワードデータの bit7 は無視されます。その後 , SP の値
( ワードデータ ) に 0002H をワード加算します。
■ POPW (Pop Word Data of Program Status from Stack Memory)
● アセンブラ形式
POPW PS
● オペレーション
(PS) ← ((SP))
【ワード転送】
(SP) ← (SP)+2
【ワード加算】
● CCR
I
S
T
N
Z
V
C
*
*
*
*
*
*
*
スタックメモリの対応するビットの値が転送されます。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :4
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
237
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
238
MSB
メモリ
メモリ
SP →
2 2
I
ILM2 ILM1 ILM0
ILM
0 1
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.104
POPW (Pop Registers from Stack Memory)
レジスタリスト (rlst) で示された複数の汎用ワードレジスタに , スタックポインタ
(SP) で示されるデータを転送します。
アセンブラ表記上はレジスタリストとしてレジスタ名を列挙しますが , アセンブル
後にレジスタリストはバイトデータとなります。
■ POPW (Pop Registers from Stack Memory)
● アセンブラ形式
POPW rlst
● オペレーション
(RWx) ← ((SP))
【ワード転送】
(SP) ← (SP)+2
【ワード加算】
これを rlst で示されたレジスタの数だけ繰り返します。
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :7+3 × ( 転送する回数 )+2 × ( 転送するレジスタのうち , 最大の番号 )rlst=0
のとき 7
補正値 :( 転送する回数 ) × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
239
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
240
F E
RW0
メモリ
SP →
3 4
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.105
PUSHW (Push Word Data of Inherent Register to
Stack Memory)
スタックポインタ (SP) の値から 2 をワードで減算し , その結果の SP で示されるメ
モリへレジスタのワードデータを転送します。
■ PUSHW (Push Word Data of Inherent Register to Stack Memory)
● アセンブラ形式
PUSHW A
PUSHW AH
PUSHW PS
● オペレーション
(SP) ← (SP) − 2
【ワード減算】
((SP)) ← ( オペランド ) 【ワード転送】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
オペランド
A
AH
PS
バイト数
サイクル数
補正値
1
4
(c)
1
4
(c)
1
4
(c)
表中の (c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
241
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
PUSHW A
この例では , SP から 2 を減算したあと , AL のワードデータを SP で示されるアドレス
(0120H) へ転送します。
A
4 5
A 4
A
4 5
A 4
SP
0 1
2 2
SP
0 1
2 0
CCR ×××××
CCR ×××××
T N Z V C
T N Z V C
メモリ
0122
SP →
× ×
0121
× ×
0120
実行前
242
メモリ
0122
SP →
4 5
0121
A 4
0120
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.106
PUSHW (Push Registers to Stack Memory)
レジスタリスト (rlst) で示された複数の汎用ワードレジスタの内容を , スタックポイ
ンタ (SP) で示されるメモリへ転送します。
アセンブラ表記上はレジスタリストとしてレジスタ名を列挙しますが , アセンブル
後にレジスタリストはバイトデータとなります。
■ PUSHW (Push Registers to Stack Memory)
● アセンブラ形式
PUSHW rlst
● オペレーション
(SP) ← (SP) − 2
【ワード減算】
((SP)) ← (RWx)
【ワード転送】
これを rlst で示されたレジスタの数だけ繰り返します。
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :29+3 × ( 転送する回数 ) − 3 × (8 −転送するレジスタのうち , 最小の番号 ) rlst=0
のとき 8
補正値 :( 転送する回数 ) × (c)
(c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
243
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
244
3 4
SP →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.107
RET (Return from Subroutine)
スタックポインタ (SP) で示されるアドレスへ分岐します。サブルーチン呼び出し命
令 (CALL, CALLV) と対で使用すると , 分岐先の処理が終了したあと , サブルーチン
読出し命令の次の命令に戻ります。
■ RET (Return from Subroutine)
● アセンブラ形式
RET
● オペレーション
(PC) ← ((SP))
【ワード転送】
(SP) ← (SP)+2
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :4
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
● 実行例
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-00201- 4
0064
SP →
実行後
FUJITSU MICROELECTRONICS LIMITED
245
第 9 章 実行命令細則
9.1 実行命令細則
9.1.108
F2MC-16LX ファミリ
RETI (Return from Interrupt)
(SSP) で示されるメモリの内容を PS に復帰し , IF, ILM による割込み要求の検出を
行います。
次の割込み受付けの場合には検出した割込みベクタへの分岐を行い , 次の割込み受
付けでない場合には割込みからの復帰を行います。
■ RETI (Return from Interrupt)
● アセンブラ形式
RETI
● オペレーション
1) 次の割込み受付けの場合
(PS)
←
((SSP))
(S)
←
1, (PCB), (PC) ← 割込みベクタアドレス
(ILM)
←
受け付けた割込みレベル
DTB, PCB, DPR, ADB, AL, AH の復帰は行いません。
2) 次の割込みからの復帰の場合
(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
● 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 の値に復帰します。
246
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
F2MC-16LX ファミリ
第 9 章 実行命令細則
9.1 実行命令細則
S −待避されていた S の値に復帰します。
T −待避されていた T の値に復帰します。
N −待避されていた N の値に復帰します。
Z −待避されていた Z の値に復帰します。
V −待避されていた V の値に復帰します。
C −待避されていた C の値に復帰します。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 : 次の割込み受付けのとき 15, 次の割込みから復帰のとき 17
補正値 : 次の割込み受付けのとき 3 × (b)+2 × (c), 次の割込みから復帰のとき 6 × (c)
(b), (c) については , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
247
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
RETI( 割込みから復帰の場合 )
この例では , SSB と SP で示されるアドレス (037FF4H) から , ワードデータを各レジス
タに転送します。レジスタへの転送毎に , SP に 2 を加算します。
A
AH
AL
××××
××××
DTB
PCB
××
××
DPR
ADB
A
AH
AL
F F F F
D D C C
DTB
PCB
×× ××
9 9
8 8
7 7
6 6
DPR
ADB
B B
A A
CCR
××
××
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
0 3
F 4
メモリ
SSP →
8 0
0 0
メモリ
038000
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
実行前
248
PC
PC
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.109
RETP (Return from physical Address)
スタックポインタ (SP) で示される物理アドレスへ分岐します。CALLP 命令と対で
使用すると , 分岐先の処理が終了したあと , CALLP 命令の次の命令に戻ります。
■ RETP (Return from physical Address)
● アセンブラ形式
RETP
● オペレーション
(PC) ← ((SP)), (SP) ← (SP) + 2 【ワード加算】
(PCB) ← ((SP))
【バイト転送】, (SP) ← (SP) + 2
【ワード加算】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :6
補正値 :(d)
(d) については , 表 8.4-2 を参照してください。
● 実行例
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
F 9
USB
0 0
1 5
× 0 ×××××
I S T N Z V C
I S T N Z V C
メモリ
××
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
実行前
CM44-00201- 4
A D
CCR
× 0 ×××××
メモリ
SP →
SP
SP →
実行後
FUJITSU MICROELECTRONICS LIMITED
249
第 9 章 実行命令細則
9.1 実行命令細則
9.1.110
F2MC-16LX ファミリ
ROLC (Rotate Byte Data of Accumulator With
Carry to Left)
オペランドのバイトデータを 1 ビットだけ , キャリフラグ (C) も含めて左へローテー
ト ( 回転 ) シフトします。オペランドの最上位ビットはキャリフラグ (C) に入りま
す。
■ ROLC (Rotate Byte Data of Accumulator With Carry to Left)
● アセンブラ形式
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 からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数および補正値
オペランド
A
ear
eam
バイト数
サイクル数
補正値
2
2
0
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
ROLC A
この例では , AL の下位バイトデータ (32H) と C フラグ ("0") を , 左へローテートします。
AH
A
AH
AL
×× ××
××
3 2
A
AL
×× ××
CCR ×××× 0
××
CCR × 0 0 × 0
T N Z V C
実行前
250
6 4
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.111
RORC (Rotate Byte Data of Accumulator With
Carry to Right)
オペランドのバイトデータをキャリフラグ (C) も含めて 1 ビット右へローテート ( 回
転 ) シフトします。オペランドの最下位ビットはキャリフラグ (C) に入ります。
■ RORC (Rotate Byte Data of Accumulator With Carry to Right)
● アセンブラ形式
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 からシフトアウトしたビット値が入ります。
● バイト数 , サイクル数および補正値
オペランド
A
ear
eam
バイト数
サイクル数
補正値
2
2
0
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
RORC A
この例では , AL の下位バイトデータ (32H) と C フラグ ("0") を , 右へローテートします。
AH
A
AH
AL
×× ××
××
3 2
CCR ×××× 0
A
AL
×× ××
××
CCR × 0 0 × 0
T N Z V C
実行前
CM44-00201- 4
1 9
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
251
第 9 章 実行命令細則
9.1 実行命令細則
9.1.112
F2MC-16LX ファミリ
SBBS (Set Bit and Branch if Bit Set)
第 1 オペランドで示されるビットデータが "1" のとき分岐します。分岐先アドレス
は , SBBS 命令の次の命令のアドレスと第 2 オペランドを符号拡張した値をワード
加算した番地となります。
命令実行後 , 第 1 オペランドで示されるビットは "1" にセットされます。
■ SBBS (Set Bit and Branch if Bit Set)
● アセンブラ形式
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 −ビットデータが "0" ならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :5
サイクル数 : 条件が成立しなかったときは 9, 成立したときは 10
補正値 :2 × (b)
(b) については , 表 8.4-2 を参照してください。
● 実行例
SBBS 1234H:5,20H
この例では , 1234H 番地のバイトデータ (7FH) の bit7 が "1" なので , bit7 を "1" に設定し
てから , 分岐します ( 条件成立時 )。
PC
E 1 0 0
E 1 2 5
メモリ
メモリ
× ×
× ×
7
252
PC
F
1234
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
1234
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.113
SCEQ (Scan String Byte until equal)
<bank> で指定される空間の AH で示されるバイトデータと AL 中のデータを比較し
ます。比較結果が一致するか , または RW0 がゼロとなるまで , アドレスのインクリ
メント / デクリメントと , RW0 のデクリメントを繰り返します。
<bank> として PCB, DTB, ADB, SPB の 4 種類が指定可能です。省略時は , 自動的
に DTB が設定されます。アドレスを変化させる方向としては , 増加または減少が指
定可能で , 省略時は増加方向となります。
RW0 がゼロであった場合は比較は行いません。また , 命令実行中に割込みが発生す
ると命令の実行を一時中断して割込み処理を行い , 割込み処理が終了したあとで続
きを再開します。
■ SCEQ (Scan String Byte until equal)
● アセンブラ形式
SCEQ [<bank>] SCEQI [<bank>] ( アドレスインクリメント時 )
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-00201- 4
FUJITSU MICROELECTRONICS LIMITED
253
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :RW0 がゼロのときは 5, カウントアウト時 4+7 × (RW0),
一致したときは 7 × ( 繰り返した回数 )+5
補正値 :( 繰り返した回数 ) × (b)
(b) については , 表 8.4-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
実行前
254
0 3
CCR × 0 1 0 0
メモリ
AH →
4 6
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.114
SCWEQ (Scan String Word until equal)
<bank> で指定される空間の AH で示されるワードデータと AL 中のデータを比較し
ます。比較結果が一致するか , または RW0 がゼロとなるまで , アドレスのインクリ
メント / デクリメントと , RW0 のデクリメントを繰り返します。
<bank> として PCB, DTB, ADB, SPB の 4 種類が指定可能です。省略時は , 自動的
に DTB が設定されます。アドレスを変化させる方向としては , 増加または減少が指
定可能で , 省略時は増加方向となります。
RW0 がゼロであった場合は比較は行いません。また , 命令実行中に割込みが発生す
ると命令の実行を一時中断して割込み処理を行い , 割込み処理が終了したあとで続
きを再開します。
■ SCWEQ (Scan String Word until equal)
● アセンブラ形式
SCWEQ [<Bank>] SCWEQI [<Bank>]
( アドレスインクリメント時 )
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-00201- 4
FUJITSU MICROELECTRONICS LIMITED
255
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● バイト数 , サイクル数および補正値
バイト数 :2
サイクル数 :RW0 がゼロのときは 5, カウントアウト時は 4+7 × (RW0),
一致したときは 7 × ( 繰り返した回数 )+5
補正値 :( 繰り返した回数 ) × (c)
(c) については , 表 8.4-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
実行前
256
0 0
CCR ×××××
メモリ
AH →
AL
AH →
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.115
SETB (Set Bit)
オペランドで示されるビットアドレスの内容を "1" にします。
■ SETB (Set Bit)
● アセンブラ形式
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
7
3
7
3
7
2 × (b)
2 × (b) 2 × (b)
表中の (b) については , 表 8.4-2 を参照してください。
● 実行例
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-00201- 4
CCR
AA55
7
F
× ×
× ×
実行前
実行後
FUJITSU MICROELECTRONICS LIMITED
AA55
257
第 9 章 実行命令細則
9.1 実行命令細則
9.1.116
F2MC-16LX ファミリ
SUB (Subtract Byte Data of Source from
Destination to Destination)
第 1 オペランドのバイトデータから第 2 オペランドのバイトデータを減算して , 結
果を第 1 オペランドに戻します。第 1 オペランドが A のときは , A の bit8 ∼ bit15
には 00H が転送されます。
■ SUB (Subtract Byte Data of Source from Destination to Destination)
● アセンブラ形式
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 −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm8
バイト数
サイクル数
補正値
2
2
0
A
A
A
ear
eam
dir
ear
eam
A
A
2
5
(b)
2
3
0
2+
4+(a)
(b)
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
258
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
SUB A,#22H
この例では, ALの下位バイトデータ(01H)から, 8ビット即値データ(22H)を減算します。
AH
A
×× ××
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-00201- 4
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
259
第 9 章 実行命令細則
9.1 実行命令細則
9.1.117
F2MC-16LX ファミリ
SUBC (Subtract Byte Data of AL from AH with
Carry to AL)
AH の下位バイトデータから AL の下位バイトデータおよびキャリフラグ (C) を減算
し , 結果を AL に戻します。アキュムレータ (A) の bit8 ∼ bit15 には 00H が転送さ
れます。
■ SUBC (Subtract Byte Data of AL from AH with Carry to AL)
● アセンブラ形式
SUBC A
● オペレーション
(AL) ← (AH) − (AL) − (C)
【キャリ付きバイト減算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
SUBC A
この例では , AH の下位バイトデータ (05H) から , AL の下位バイトデータ (D4H) と C フ
ラグ ("1") を減算します。減算結果 (30H) は AL の下位バイトに設定されます。
AH
A
0 5
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
実行前
260
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.118
SUBC (Subtract Byte Data of Effective Address
from Accumulator with Carry to Accumulator)
アキュムレータ (A) のバイトデータから第 2 オペランドで示されるバイトデータお
よびキャリフラグ (C) を減算し , 結果を A に戻します。A の bit8 ∼ bit15 には 00H
が転送されます。
■ SUBC (Subtract Byte Data of Effective Address from Accumulator with Carry
to Accumulator)
● アセンブラ形式
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 −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
3
0
2+
4+(a)
(b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
261
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
SUBC A,R1
この例では , AL の下位バイトデータ (35H) から , R1 のバイトデータ (54H) と C フラグ
("0") を減算します。
AH
A
×× ××
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
実行前
262
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.119
SUBCW (Subtract Word Data of Effective Address
from Accumulator with Carry to Accumulator)
アキュムレータ (A) の下位ワードデータから第 2 オペランドのワードデータおよび
キャリフラグ (C) を減算し , 結果を A に戻します。
■ SUBCW (Subtract Word Data of Effective Address from Accumulator with
Carry to Accumulator)
● アセンブラ形式
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 −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
3
0
2+
4+(a)
(c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
263
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
SUBCW A,0E024H
この例では , AL のワードデータ (7558H) から , E024H 番地のワードデータ (A95BH) と
C フラグ ("1") を減算します。
AH
A
AH
AL
7 5
×× ××
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
実行前
264
C B
×× ××
CCR ×××× 1
メモリ
AL
FUJITSU MICROELECTRONICS LIMITED
実行後
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.120
SUBDC (Subtract Decimal Data of AL from AH with
Carry to AL)
AH の下位バイトデータから AL の下位バイトデータおよびキャリフラグ (C) を減算
し , 結果を AL に戻します。A の bit8 ∼ bit15 には 00H が転送されます。
■ SUBDC (Subtract Decimal Data of AL from AH with Carry to AL)
● アセンブラ形式
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
サイクル数 :3
補正値 :0
● 実行例
SUBDC A
この例では , AH のバイトデータ (86H) から , AL のバイトデータ (86H) と C フラグ ("0")
を 10 進減算します。
AH
A
××
AH
AL
8 6
××
8 6
CCR ×××× 0
A
××
AL
8 6
0 0
CCR × 0 1 × 0
T N Z V C
実行前
CM44-00201- 4
0 0
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
265
第 9 章 実行命令細則
9.1 実行命令細則
9.1.121
F2MC-16LX ファミリ
SUBL (Subtract Long Word Data of Source from
Destination to Destination)
アキュムレータ (A) のロング・ワード・データから第 2 オペランドのロング・ワー
ド・データを減算して結果を A に戻します。
■ SUBL (Subtract Long Word Data of Source from Destination to Destination)
● アセンブラ形式
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 −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm32
バイト数
サイクル数
補正値
5
4
0
A
A
ear
eam
2
6
0
2+
7+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
266
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
SUBL A,0FD12H
この例では , アキュムレータ (A) のロングワードデータ (34B3F201H) から , FD12H 番地
のロングワードデータ (525F31BDH) を減算します。
AH
A
3 4
AH
AL
B 3
F 2
0 1
CCR ×××××
A
E 2
AL
C 0
5 4
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-00201- 4
4 4
実行後
FUJITSU MICROELECTRONICS LIMITED
267
第 9 章 実行命令細則
9.1 実行命令細則
9.1.122
F2MC-16LX ファミリ
SUBW (Subtract Word Data of Source from
Destination to Destination)
第 1 オペランドのワードデータから第 2 オペランドのワードデータを減算して , 結
果を第 1 オペランドに戻します。
■ SUBW (Subtract Word Data of Source from Destination to Destination)
● アセンブラ形式
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 −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(c)
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
268
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
SUBW @RW0+,A
この例では , 第 1 オペランド (@RW0+) で示されるアドレス (E2A4H) のワードデータ
(5DABH) に , AL のワードデータ (3104H) を減算します。
AH
A
AH
AL
×× ××
RW0
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-00201- 4
0 4
CCR × 0 0 0 0
T N Z V C
メモリ
3 1
実行後
FUJITSU MICROELECTRONICS LIMITED
269
第 9 章 実行命令細則
9.1 実行命令細則
9.1.123
F2MC-16LX ファミリ
SUBW (Subtract Word Data of AL from AH to AL)
AH のワードデータから AL のワードデータを減算して , 結果を AL に戻します。
■ SUBW (Subtract Word Data of AL from AH to AL)
● アセンブラ形式
SUBW A
● オペレーション
(AL) ← (AH) − (AL)
【ワード減算】
● CCR
I
S
T
N
Z
V
C
−
−
−
*
*
*
*
I, S, T −変化しません。
N −演算結果の MSB が "1" ならばセット , それ以外はクリアされます。
Z −演算結果がゼロならばセット , それ以外はクリアされます。
V −演算の結果オーバフローが発生したときセット , それ以外はクリアされます。
C −演算の結果ボローが発生したときセット , それ以外はクリアされます。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
SUBW A
この例では , AH のワードデータ (83A2H) から , AL のワードデータ (1019H) を減算しま
す。減算結果 (7389H) は AL に設定されます。
AH
A
8 3
1 0
A 2
1 9
A
8 3
AL
7 3
A 2
8 9
CCR ×××××
CCR × 0 0 1 0
T N Z V C
T N Z V C
実行前
270
AH
AL
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.124
SWAP (Swap Byte Data of Accumulator)
アキュムレータ (A) のワードデータの上位バイトと下位バイトを交換します。
■ SWAP (Swap Byte Data of Accumulator)
● アセンブラ形式
SWAP
● オペレーション
(A)0 ∼ 7 ⇔ (A)8 ∼ 15
【バイト交換】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :3
補正値 :0
● 実行例
SWAP
この例では , AL の上位バイトデータ (06H) と , AL の下位バイトデータ (90H) を交換し
ます。
AH
A
AH
AL
0 6
×× ××
9 0
A
AL
9 0
×× ××
CCR ×××××
CCR
T N Z V C
実行前
CM44-00201- 4
0 6
×××××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
271
第 9 章 実行命令細則
9.1 実行命令細則
9.1.125
F2MC-16LX ファミリ
SWAPW (Swap Word Data of Accumulator)
アキュムレータ (A) のロングワードデータの下位ワードと上位ワードを交換します。
■ SWAPW (Swap Word Data of Accumulator)
● アセンブラ形式
SWAPW
● オペレーション
A の bit0 ∼ bit15 ⇔ A の bit16 ∼ bit31
【ワード交換】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :2
補正値 :0
● 実行例
SWAPW
この例では , AH のワードデータ (1986H) と , AL のワードデータ (9861H) を交換します。
AH
A
1 9
AH
AL
8 6
9 8
6 1
A
9 8
AL
6 1
CCR ×××××
CCR
T N Z V C
実行前
272
1 9
8 6
×××××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.126
UNLINK (Unlink and create new stack frame)
保存されている旧フレームポインタをスタックから復帰します。
■ UNLINK (Unlink and create new stack frame)
● アセンブラ形式
UNLINK
● オペレーション
(SP) ← (RW3), (RW3)・ ← ((SP)), (SP) ← (SP) + 2
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :5
補正値 :(c)
(c) については , 表 8.4-2 を参照してください。
● 実行例
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-00201- 4
E020
SP →
××
E022
A 0
E021
4 6
E020
E000
実行後
FUJITSU MICROELECTRONICS LIMITED
273
第 9 章 実行命令細則
9.1 実行命令細則
9.1.127
F2MC-16LX ファミリ
WBTc (Wait until Bit Condition satisfied)
オペランドで示されるビットアドレスのデータが条件を満たすまで , オペランドで
示されるビットアドレスのデータの読出し動作を続けます。ビットアドレスのデー
タが条件を満たすと , WBTc 命令の次の命令に制御が移ります。
■ WBTc (Wait until Bit Condition satisfied)
● アセンブラ形式
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
不定回数
条件が成立するまで
不定回数
条件が成立するまで
● 実行例
WBTS 34H:7
この例では , 34H 番地のバイトデータの bit7 が "1" になるのを待ちます。
PC
E 1 0 0
メモリ
bit7が(リソースの動作などにより)"1"に
× ×
周辺の
レジスタ
7 F
なるまで34H番地の読出し動作を続けます。
0034H
bit7が"1"になると,次の命令を実行します。
× ×
実行前
274
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.128
XCH (Exchange Byte Data of Source to
Destination)
第 1 オペランドと第 2 オペランドのバイトデータを交換します。
第 1 オペランドが A のときは , AL の上位バイトは 00H になります。
■ XCH (Exchange Byte Data of Source to Destination)
● アセンブラ形式
XCH A,ear
XCH A,eam
XCH Ri,ear
XCH Ri,eam
● オペレーション
( 第 1 オペランド ) ⇔ ( 第 2 オペランド )
【バイト交換】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
Ri
Ri
第 2 オペランド
ear
eam
ear
eam
バイト数
サイクル数
補正値
2
4
0
2+
5+(a)
2
7
0
2+
9+(a)
2 × (b)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
275
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
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
実行前
276
2 2
×××××
メモリ
0061
2 2
6 1
T N Z V C
メモリ
RWO →
0 0
0060
0061
RWO →
F 1
0060
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.129
XCHW (Exchange Word Data of Source to
Destination)
第 1 オペランドと第 2 オペランドのワードデータを交換します。
■ XCHW (Exchange Word Data of Source to Destination)
● アセンブラ形式
XCHW A,ear
XCHW A,eam
XCHW RWi,ear
XCHW RWi,eam
● オペレーション
( 第 1 オペランド ) ⇔ ( 第 2 オペランド )
【ワード交換】
● CCR
I
S
T
N
Z
V
C
−
−
−
−
−
−
−
全フラグ変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
RWi
RWi
第 2 オペランド
ear
eam
ear
eam
バイト数
サイクル数
補正値
2
4
0
2+
5+(a)
2
7
0
2+
9+(a)
2 × (c)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
● 実行例
XCHW A,@RW0
この例では , AL のワードデータ (24B4H) と , 第 2 オペランド (@RW0) で示されるアド
レス (E001H) のワードデータ (2D58H) を交換します。
AH
A
AH
AL
×× ××
RWO
3 4
B 4
E 0
0 1
A
AL
×× ××
RWO
CCR ×××××
CCR
T N Z V C
CM44-00201- 4
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
277
第 9 章 実行命令細則
9.1 実行命令細則
9.1.130
F2MC-16LX ファミリ
XOR (Exclusive Or Byte Data of Destination and
Source to Destination)
第 1 オペランドと第 2 オペランドのバイトデータで排他的論理和演算を行い , 結果
を第 1 オペランドに戻します。
■ XOR (Exclusive Or Byte Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm8
バイト数
サイクル数
補正値
2
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(b)
2
3
0
2+
5+(a)
2 × (b)
表中の (a), (b) については , 表 8.4-1 , 表 8.4-2 を参照してください。
278
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
XOR 0052H,A
この例では , 0052H 番地のバイトデータ (FAH) と , AL の下位バイトデータ (55H) を排他
的論理和演算 (XOR) します。
AH
A
AH
AL
×× ××
0 0
5 5
A
AL
×× ××
CCR ×××××
0 0
CCR
T N Z V C
メモリ
F A
実行前
CM44-00201- 4
5 5
× 1 0 0×
T N Z V C
メモリ
000052
A F
000052
実行後
FUJITSU MICROELECTRONICS LIMITED
279
第 9 章 実行命令細則
9.1 実行命令細則
9.1.131
F2MC-16LX ファミリ
XORL (Exclusive Or Long Word Data of
Destination)
アキュムレータ (A) のロングワードデータと第 2 オペランドのロングワードデータ
で排他的論理和演算を行い , 結果を A に戻します。
■ XORL (Exclusive Or Long Word Data of Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
A
第 2 オペランド
ear
eam
バイト数
サイクル数
補正値
2
6
0
2+
7+(a)
(d)
表中の (a), (d) については , 表 8.4-1 , 表 8.4-2 を参照してください。
280
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
XORL A,0FFF0H
この例では , アキュムレータ (A) のロングワードデータ (8252FEACH) と , FFF0 番地の
ロングワードデータ (FF55AA00H) を排他的論理和演算 (XOR) します。
AH
A
8 2
AH
AL
F E
5 2
A C
A
7 D
AL
5 4
0 7
CCR ×××××
CCR
T N Z V C
メモリ
CM44-00201- 4
× 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
281
第 9 章 実行命令細則
9.1 実行命令細則
9.1.132
F2MC-16LX ファミリ
XORW (Exclusive Or Word Data of AH and AL to
AL)
AH と AL のワードデータで排他的論理和演算を行い , 結果を AL に戻します。
■ XORW (Exclusive Or Word Data of AH and AL to 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
サイクル数 :2
補正値 :0
● 実行例
XORW A
この例では , AL のワードデータ (AB98H) と , AH のワードデータ (0426H) を排他的論理
和演算 (XOR) します。
AH
A
AH
AL
0 4 2 6
A B
9 8
A
AL
0 4 2 6
CCR ×××××
282
B E
CCR × 1 0 0 ×
T N Z V C
実行前
A F
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.133
XORW (Exclusive Or Word Data of Destination and
Source to Destination)
第 1 オペランドと第 2 オペランドのワードデータで排他的論理和演算を行い , 結果
を第 1 オペランドに戻します。
■ XORW (Exclusive Or Word Data of Destination and Source to Destination)
● アセンブラ形式
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 −変化しません。
● バイト数 , サイクル数および補正値
第 1 オペランド
A
第 2 オペランド #imm16
バイト数
サイクル数
補正値
3
2
0
A
A
ear
eam
ear
eam
A
A
2
3
0
2+
4+(a)
(c)
2
3
0
2+
5+(a)
2 × (c)
表中の (a), (c) については , 表 8.4-1 , 表 8.4-2 を参照してください。
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
283
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
● 実行例
XORW 0E001H,A
この例では , E001 番地のワードデータ (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
実行前
284
× 1 0 0×
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
第 9 章 実行命令細則
9.1 実行命令細則
F2MC-16LX ファミリ
9.1.134
ZEXT (Zero Extend from Byte Data to Word Data)
アキュムレータ (A) の bit8 ∼ bit15 に 00H を転送します。
■ ZEXT (Zero Extend from Byte Data to Word Data)
● アセンブラ形式
ZEXT
● オペレーション
A の bit8 ∼ bit15 ← 00H
● CCR
I
S
T
N
Z
V
C
−
−
−
R
*
−
−
I, S, T −変化しません。
N −クリアされます。
Z −ゼロ拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :1
補正値 :0
● 実行例
ZEXT
この例では , AL の下位バイトを 00H にします。
AH
A
AL
×× ××
××
CCR
8 0
A
AH
AL
×× ××
0 0 8 0
CCR
×××××
T N Z V C
実行前
CM44-00201- 4
× 0 0 ××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
285
第 9 章 実行命令細則
9.1 実行命令細則
9.1.135
F2MC-16LX ファミリ
ZEXTW (Zero Extend from Word Data to Long
Word Data)
アキュムレータ (A) の bit16 ∼ bit31 に 0000H を転送します。
■ ZEXTW (Zero Extend from Word Data to Long Word Data)
● アセンブラ形式
ZEXTW
● オペレーション
A の bit16 ∼ bit31 ← 0000H
● CCR
I
S
T
N
Z
V
C
−
−
−
R
*
−
−
I, S, T −変化しません。
N −クリアされます。
Z −ゼロ拡張したデータがゼロならばセット , それ以外はクリアされます。
V, C −変化しません。
● バイト数 , サイクル数および補正値
バイト数 :1
サイクル数 :1
補正値 :0
● 実行例
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
実行前
286
× 0 0 ××
T N Z V C
実行後
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
付録
F2MC-16LX の命令一覧および命令マップなどを掲
載します。
付録 A 命令一覧表の説明
付録 B F2MC-16LX 命令一覧表 (351 命令 )
付録 C F2MC-16LX 命令マップ
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
287
付録
付録 A
F2MC-16LX ファミリ
命令一覧表の説明
ここでは ,「F2MC-16LX 命令一覧表 (351 命令 ) 」に示す各命令一覧表の項目と記号
についての説明を記載します。
A.1 命令一覧表の項目の説明
A.2 命令一覧表の記号の説明
A.3 実効アドレスフィールド
A.4 実行サイクル数の計算方法
288
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
A.1 命令一覧表の項目の説明
F2MC-16LX ファミリ
A.1
命令一覧表の項目の説明
付表 A-1 に命令一覧表の項目の説明を示します。
■ 命令一覧表の項目の説明
付表 A-1 命令一覧表の項目の説明
項目
説明
ニーモニック
英大文字 , 記号 : アセンブラ上もそのまま表記します。
英小文字 : アセンブラ上では , 書き換えて記述します。
英小文字の後の数 : 命令中のビット幅を示します。
#
バイト数を示します。
∼
サイクル数を示します。
項目中の英字については , 付表 A-4 を参照してください。
RG
命令実行時のレジスタアクセス回数を示します。
CPU 間欠動作時の補正値を算出するのに使用します。
命令実行時の実サイクル数の算出用補正値を示します。
命令実行時の実サイクルは , ∼欄の数値を加算したものとなります。
B
オペレーション
LH
AH
命令の動作を示します。
アキュムレータの bit15 ∼ bit8 に対する特殊動作を示します。
Z: 0 を転送する。
X: 符号を拡張して転送する。
− : 転送しない。
アキュムレータの上位 16 ビットに対する特殊動作を示します。
*: AL から AH へ転送する。
− : 転送しない。
Z: AH へ 00H を転送する。
X: AL の符号拡張により AH へ 00H または FFH を転送する。
I
I ( 割込み許可 ) , S ( スタック ) , T ( ステッキィビット ) ,
S
N ( ネガティブ ) , Z ( ゼロ ) , V ( オーバフロー ) , C ( キャリ )
T
の各フラグの状態を示します。
N
*: 命令の実行により変化する。
Z
− : 変化しない。
V
S: 命令の実行によりセットされる。
C
R: 命令の実行によりリセットされる。
RMW
CM44-00201-4
リードモディファイライト命令 (1 命令でメモリなどからデータを読
出し処理しその結果をメモリへ書き込む ) であるかどうか示します。
*: リードモディファイライト命令である。
− : リードモディファイライト命令ではない。
( 注意事項 )
読み書きで意味の異なるアドレスには使用できません。
FUJITSU MICROELECTRONICS LIMITED
289
付録
A.1 命令一覧表の項目の説明
F2MC-16LX ファミリ
■ 実行サイクル数
命令の実行に要するサイクル数 ( 実行サイクル数 ) は , 各命令の「サイクル数」の値と
条件で決まる「補正値」の値とプログラムフェッチに要する「サイクル数」の値を加
算することで得られます。しかし , 内蔵 ROM などの 16 ビットバスに接続されたメモ
リ上のプログラムをフェッチする場合には , 実行中の命令が 2 バイト ( ワード ) 境界を
超えるごとにプログラムフェッチを行うため , データのアクセスなどに干渉すると実
行サイクル数が増大します。また , 外部の 8 ビットデータバスに接続されたメモリ上の
プログラムをフェッチする場合は, 実行中の命令の1 バイトごとにプログラムフェッチ
を行うため , データのアクセスなどに干渉すると実行サイクル数が増大します。
CPU 間欠動作時には , 汎用レジスタ , 内蔵 ROM, 内蔵 RAM, 内蔵 I/O, 外部バスへのア
クセスを行うと , 低消費電力モード制御レジスタの CG0, CG1 ビットで指定されるサ
イクル数分 CPU クロックが一時停止します。そのため , CPU 間欠動作の命令の
実行に要するサイクル数は , 通常の実行サイクル数に , これらの「アクセス回数」×一
時停止の「サイクル数」の値を「補正値」として加算してください。
290
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
A.2 命令一覧表の記号の説明
F2MC-16LX ファミリ
A.2
命令一覧表の記号の説明
付表 A-2 に , 命令一覧表中の記号説明の一覧を示します。
■ 命令一覧表の記号の説明
付表 A-2 命令一覧表中の記号説明
表記
A
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
4bit 即値データ
8bit 即値データ
16bit 即値データ
32bit 即値データ
8bit 即値データを符号拡張した 16bit データ
8bit ディスプレースメント
16bit ディスプレースメント
ビットオフセット値
ベクタ番号 (0 ∼ 15)
ベクタ番号 (0 ∼ 255)
ビットアドレス
PC 相対分岐指定
実効アドレス指定 ( コード 00H ∼ 07H)
AH
AL
CM44-00201-4
意味
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)
eam
実効アドレス指定 ( コード 08H ∼ 1FH)
rlst
レジスタリスト
FUJITSU MICROELECTRONICS LIMITED
291
付録
A.3 実効アドレスフィールド
A.3
F2MC-16LX ファミリ
実効アドレスフィールド
付表 A-3 に , 実効アドレスフィールド指定アドレス形式を示します。
■ 実効アドレスフィールド
付表 A-3 実効アドレスフィールド (1 / 2)
コード
292
表記
アドレス形式
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
アドレス拡張部の
バイト数 *
レジスタ直接
* : 表記欄の汎用レジスタ名は左から順に
バイト
ワード
ロングワード
の型に対応します。
−
レジスタ間接
0
ポストインクリメント付
レジスタ間接
0
8 ビットディスプレースメント付
レジスタ間接
1
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
A.3 実効アドレスフィールド
F2MC-16LX ファミリ
付表 A-3 実効アドレスフィールド (2 / 2)
コード
表記
18
@RW0+disp16
19
@RW1+disp16
1A
@RW2+disp16
IB
@RW3+disp16
1C
アドレス形式
アドレス拡張部の
バイト数 *
16 ビットディスプレースメント付
レジスタ間接
2
@RW0+RW7
インデックス付レジスタ間接
0
1D
@RW1+RW7
インデックス付レジスタ間接
0
1E
@PC+disp16
16 ビットディスプレースメント付 PC 間接
2
1F
addr16
直接アドレス
2
*: アドレス拡張のバイト数は , 命令一覧表の "#"( バイト数 ) および命令細則のバイト数の所で "+" に当てはま
ります。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
293
付録
A.4 実行サイクル数の計算方法
A.4
F2MC-16LX ファミリ
実行サイクル数の計算方法
付表 A-4 , 付表 A-5 , 付表 A-6 に , 命令の実行サイクル数の計算方法を示します。
■ 実行サイクル数の計算方法
付表 A-4 実効アドレスの各種アドレス指定方法に対する実行サイクル数
コード
オペランド
各種アドレッシングに対する
実行サイクル数 (a) *
各種アドレッシングに
対するレジスタ
アクセス回数
命令一覧表に記載
命令一覧表に記載
00 ∼ 07
Ri
RWi
RLi
08 ∼ 0B
@RWj
2
1
0C ∼ 0F
@RWj+
4
2
10 ∼ 17
@RWi+disp8
2
1
18 ∼ 1B
@RWj+disp16
2
1
1C
1D
1E
1F
@RW0+RW7
@RW1+RW7
@PC+disp16
addr16
4
4
2
1
2
2
0
0
*: (a) は「付録 B F2MC-16LX 命令一覧表 (351 命令 )」の " ∼ "( サイクル数 ), "B"
( 補正値 ) および「第 9 章 実行命令細則」で使用されています。
付表 A-5 実行サイクル数を算出するための補正値
(b) バイト *
オペランド
(c) ワード *
(d) ロング *
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
サイクル
数
アクセス
回数
内部レジスタ
+0
1
+0
1
+0
2
内部メモリ
偶数アドレス
+0
1
+0
1
+0
2
内部メモリ
奇数アドレス
+0
1
+2
2
+4
4
外部データバス
16 ビット偶数アドレス
+1
1
+1
1
+2
2
外部データバス
16 ビット奇数アドレス
+1
1
+4
2
+8
4
外部データバス
8 ビット
+1
1
+4
2
+8
4
(b), (c), (d) は「付録 B F2MC-16LX 命令一覧表 (351 命令 )」の " ∼ "( サイクル数 ),
"B"( 補正値 ) および「第 9 章 実行命令細則」で使用されています。
( 注意事項 ) 外部データバスを使用した場合は , レディ入力および自動レディによりウェイト
したサイクル数も加算する必要があります。
*:
294
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
A.4 実行サイクル数の計算方法
F2MC-16LX ファミリ
付表 A-6 プログラムフェッチサイクル数を算出するための補正値
命令
バイト境界
ワード境界
内部メモリ
−
+2
外部データバス 16 ビット
−
+3
外部データバス 8 ビット
+3
−
( 注意事項 ) ・ 外部データバスを使用した場合は , レディ入力および自動レディでウェイト
したサイクル数も加算する必要があります。
・ すべてのプログラムフェッチにより , 命令実行が遅くなるわけではない
ので , この補正値は最悪ケースを算出する場合に使用してください。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
295
付録
A.4 実行サイクル数の計算方法
付録 B
F2MC-16LX ファミリ
F2MC-16LX 命令一覧表 (351 命令 )
ここでは , アセンブラで使用される命令の一覧を記載します。
各命令一覧の項目と記号については「付録 A 命令一覧表の説明」を参照してくださ
い。
B.1 転送命令
B.2 数値演算命令
B.3 論理演算命令
B.4 シフト命令
B.5 分岐命令
B.6 その他の命令
296
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.1 転送命令
F2MC-16LX ファミリ
B.1
転送命令
F2MC-16L の転送命令の一覧表を次の 2 つに分けて示します。
• 転送命令 ( バイト )……41 命令 ( 付表 B-1 参照 )
• 転送命令 ( ワード・ロング )……38 命令 ( 付表 B-2 参照 )
■ 転送命令
付表 B-1 転送命令 ( バイト )……41 命令
#
∼
RG
B
MOV
A,dir
2
3
0
(b)
LH
AH
I
S
T
N
Z
V
C
RMW
byte (A) ← (dir)
Z
*
-
-
-
*
*
-
-
MOV
A,addr16
3
4
0
(b)
-
byte (A) ← (addr16)
Z
*
-
-
-
*
*
-
-
MOV
A,Ri
1
2
1
0
-
byte (A) ← (Ri)
Z
*
-
-
-
*
*
-
-
MOV
A,ear
2
2
1
-
0
byte (A) ← (ear)
Z
*
-
-
-
*
*
-
-
MOV
A,eam
2+
3 + (a)
-
0
(b)
byte (A) ← (eam)
Z
*
-
-
-
*
*
-
-
MOV
A,io
2
-
3
0
(b)
byte (A) ← (io)
Z
*
-
-
-
*
*
-
-
MOV
A,#imm8
-
2
2
0
0
byte (A) ← imm8
Z
*
-
-
-
*
*
-
-
MOV
-
A,@A
2
3
0
(b)
byte (A) ← ((A))
Z
-
-
-
-
*
*
-
-
-
MOV
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
Z
*
-
-
-
*
*
-
-
-
MOVN
A,#imm4
1
1
0
0
byte (A) ← imm4
Z
*
-
-
-
R
*
-
-
-
MOVX
A,dir
2
3
0
(b)
byte (A) ← (dir)
X
*
-
-
-
*
*
-
-
-
MOVX
A,addr16
3
4
0
(b)
byte (A) ← (addr16)
X
*
-
-
-
*
*
-
-
-
MOVX
A,Ri
2
2
1
0
byte (A) ← (Ri)
X
*
-
-
-
*
*
-
-
-
MOVX
A,ear
2
2
1
0
byte (A) ← (ear)
X
*
-
-
-
*
*
-
-
-
MOVX
A,eam
2+
3 + (a)
0
(b)
byte (A) ← (eam)
X
*
-
-
-
*
*
-
-
-
MOVX
A,io
2
3
0
(b)
byte (A) ← (io)
X
*
-
-
-
*
*
-
-
-
MOVX
A,#imm8
2
2
0
0
byte (A) ← imm8
X
*
-
-
-
*
*
-
-
-
MOVX
A,@A
2
3
0
(b)
byte (A) ← ((A))
X
-
-
-
-
*
*
-
-
-
MOVX
A,@RWi+disp8
2
5
1
(b)
byte (A) ← ((RWi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOVX
A,@RLi+disp8
3
10
2
(b)
byte (A) ← ((RLi)+disp8)
X
*
-
-
-
*
*
-
-
-
MOV
dir,A
2
3
0
(b)
byte (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
addr16,A
3
4
0
(b)
byte (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,A
1
2
1
0
byte (Ri) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
ear,A
2
2
1
0
byte (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
eam,A
2+
3 + (a)
0
(b)
byte (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
ニーモニック
オペレーション
MOV
io,A
2
3
0
(b)
byte (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
@RLi+disp8,A
3
10
2
(b)
byte ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,ear
2
3
2
0
byte (Ri) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,eam
2+
4 + (a)
1
(b)
byte (Ri) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOV
ear,Ri
2
4
2
0
byte (ear) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
eam,Ri
2+
5 + (a)
1
(b)
byte (eam) ← (Ri)
-
-
-
-
-
*
*
-
-
-
MOV
Ri,#imm8
2
2
1
0
byte (Ri) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
io,#imm8
3
5
0
(b)
byte (io) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
dir,#imm8
3
5
0
(b)
byte (dir) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ear,#imm8
3
2
1
0
byte (ear) ← imm8
-
-
-
-
-
*
*
-
-
-
MOV
eam,#imm8
3+
4 + (a)
0
(b)
byte (eam) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
@AL,AH
2
3
0
(b)
byte ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCH
A,ear
2
4
2
0
byte (A) ←→ (ear)
Z
-
-
-
-
-
-
-
-
-
XCH
A,eam
2+
5 + (a)
0
Z
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
XCH
Ri,ear
2
7
4
XCH
Ri,eam
2+
9 + (a)
2
2 x (b) byte (A) ←→ (eam)
0
byte (Ri) ←→ (ear)
2 x (b) byte (Ri) ←→ (eam)
( 注意事項 ) 表中の (a), (b) は , 付表 A-4 および付表 A-5 を参照してください。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
297
付録
B.1 転送命令
F2MC-16LX ファミリ
付表 B-2 転送命令 ( ワード・ロング )……38 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C
RMW
MOVW
A,dir
2
3
0
(c)
word (A) ← (dir)
-
*
-
-
-
*
*
-
-
-
MOVW
A,addr16
3
4
0
(c)
word (A) ← (addr16)
-
*
-
-
-
*
*
-
-
-
MOVW
A,SP
1
1
0
0
word (A) ← (SP)
-
*
-
-
-
*
*
-
-
-
MOVW
A,RWi
1
2
1
0
word (A) ← (RWi)
-
*
-
-
-
*
*
-
-
-
MOVW
A,ear
2
2
1
0
word (A) ← (ear)
-
*
-
-
-
*
*
-
-
-
MOVW
A,eam
2+
3 + (a)
0
(c)
word (A) ← (eam)
-
*
-
-
-
*
*
-
-
-
MOVW
A,io
2
3
0
(c)
word (A) ← (io)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@A
2
3
0
(c)
word (A) ← ((A))
-
-
-
-
-
*
*
-
-
MOVW
A,#imm16
3
2
2
0
word (A) ← imm16
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RWi+disp8
2
5
1
(c)
word (A) ← ((RWi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
A,@RLi+disp8
3
10
2
(c)
word (A) ← ((RLi)+disp8)
-
*
-
-
-
*
*
-
-
-
MOVW
dir,A
2
3
0
(c)
word (dir) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
addr16,A
3
4
0
(c)
word (addr16) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
SP,A
1
1
0
0
word (SP) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,A
1
2
1
0
word (RWi) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,A
2
2
1
0
word (ear) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,A
2+
3 + (a)
0
(c)
word (eam) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
io,A
2
3
0
(c)
word (io) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
@RWi+disp8,A
2
5
1
(c)
word ((RWi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
MOVW
@RLi+disp8,A
3
10
2
(c)
word ((RLi)+disp8) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,ear
2
3
2
0
word (RWi) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,eam
2+
4 + (a)
1
(c)
word (RWi) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVW
ear,Rwi
2
4
2
0
word (ear) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
eam,Rwi
2+
5 + (a)
1
(c)
word (eam) ← (RWi)
-
-
-
-
-
*
*
-
-
-
MOVW
RWi,#imm16
3
2
1
0
word (RWi) ← imm16
-
-
-
-
-
*
*
-
-
MOVW
io,#imm16
4
5
0
(c)
word (io) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
ear,#imm16
4
2
1
0
word (ear) ← imm16
-
-
-
-
-
*
*
-
-
-
MOVW
eam,#imm16
4+
4 + (a)
0
(c)
word (eam) ← imm16
-
-
-
-
-
-
-
-
-
-
MOVW
@AL,AH
2
3
0
(c)
word ((A)) ← (AH)
-
-
-
-
-
*
*
-
-
-
XCHW
A,ear
2
4
2
0
word (A) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
A,eam
2+
5 + (a)
0
2 × (c)
word (A) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, ear
2
7
4
0
word (RWi) ←→ (ear)
-
-
-
-
-
-
-
-
-
-
XCHW
RWi, eam
2+
9 + (a)
2
2 × (c)
word (RWi) ←→ (eam)
-
-
-
-
-
-
-
-
-
-
MOVL
A,ear
2
4
2
0
long (A) ← (ear)
-
-
-
-
-
*
*
-
-
-
MOVL
A,eam
2+
5 + (a)
0
(d)
long (A) ← (eam)
-
-
-
-
-
*
*
-
-
-
MOVL
A,#imm32
5
3
0
0
long (A) ← imm32
-
-
-
-
-
*
*
-
-
-
MOVL
ear,A
2
4
2
0
long (ear1) ← (A)
-
-
-
-
-
*
*
-
-
-
MOVL
eam,A
2+
5 + (a)
0
(d)
long(eam1) ← (A)
-
-
-
-
-
*
*
-
-
-
( 注意事項 ) 表中の (a), (c), (d) は , 付表 A-4 および付表 A-5 を参照してください。
298
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.2 数値演算命令
F2MC-16LX ファミリ
数値演算命令
B.2
F2MC-16L の数値演算命令の一覧表を次の 5 つに分けて示します。
• 加減算 ( バイト・ワード・ロング )……42 命令 ( 付表 B-3 参照 )
• 増減算 ( バイト・ワード・ロング )……12 命令 ( 付表 B-4 参照 )
• 比較 ( バイト・ワード・ロング )……11 命令 ( 付表 B-5 参照 )
• 符号なし乗除算 ( ワード・ロング )……11 命令 ( 付表 B-6 参照 )
• 符号付き乗除算 ( ワード・ロング )……11 命令 ( 付表 B-7 参照 )
■ 数値演算命令
付表 B-3 加減算 ( バイト・ワード・ロング )……42 命令 (1 / 2)
#
∼
RG
B
ADD
A,#imm8
2
2
0
0
ADD
A,dir
2
5
0
ADD
A,ear
2
3
ADD
A,eam
2+
4 + (a)
ADD
ear,A
2
3
2
ADD
eam,A
2+
5 + (a)
0
ADDC
A
1
2
0
ニーモニック
LH
AH
I
S
T
N
Z
V
C RMW
byte (A) ← (A) + imm8
Z
-
-
-
-
*
*
*
*
-
(b)
byte (A) ← (A) + (dir)
Z
-
-
-
-
*
*
*
*
-
1
0
byte (A) ← (A) + (ear)
Z
-
-
-
-
*
*
*
*
-
0
(b)
byte (A) ← (A) + (eam)
Z
-
-
-
-
*
*
*
*
-
0
byte (ear) ← (ear) + (A)
オペレーション
2 × (b) byte (eam) ← (eam) + (A)
-
-
-
-
-
*
*
*
*
-
Z
-
-
-
-
*
*
*
*
*
0
byte (A) ← (AH) + (AL) + (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,ear
2
3
1
0
byte (A) ← (A) + (ear)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDC
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) + (eam)+ (C)
Z
-
-
-
-
*
*
*
*
-
ADDDC A
1
3
0
0
byte (A) ← (AH) + (AL) + (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
SUB
A,#imm8
2
2
0
0
byte (A) ← (A) - imm8
Z
-
-
-
-
*
*
*
*
-
SUB
A,dir
2
5
0
(b)
byte (A) ← (A) - (dir)
Z
-
-
-
-
*
*
*
*
-
SUB
A,ear
2
3
1
0
byte (A) ← (A) - (ear)
Z
-
-
-
-
*
*
*
*
-
SUB
A,eam
2+
4 + (a)
0
(b)
byte (A) ← (A) - (eam)
Z
-
-
-
-
*
*
*
*
-
SUB
ear,A
2
3
2
0
byte (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
SUB
eam,A
2+
5 + (a)
0
-
-
-
-
-
*
*
*
*
*
SUBC
A
1
2
0
0
byte (A) ← (AH) - (AL) - (C)
Z
-
-
-
-
*
*
*
*
-
SUBC
A,ear
2
3
1
0
byte (A) ← (A) - (ear) - (C)
Z
-
-
-
-
*
*
*
*
-
byte (A) ← (A) - (eam) - (C)
Z
-
-
-
-
*
*
*
*
-
byte (A) ← (AH) - (AL) - (C) (10 進数 )
Z
-
-
-
-
*
*
*
*
-
-
-
-
-
*
*
*
*
-
2 × (b) byte (eam) ← (eam) - (A)
SUBC
A,eam
2+
4 + (a)
0
(b)
SUBDC
A
1
3
0
0
ADDW
A
1
2
0
0
word (A) ← (AH) + (AL)
-
ADDW
A,ear
2
3
1
0
word (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDW
A,#imm16
3
2
0
0
word (A) ← (A) + imm16
-
-
-
-
-
*
*
*
*
-
0
word (ear) ← (ear) + (A)
-
-
-
-
-
*
*
*
*
-
-
-
-
-
-
*
*
*
*
*
ADDW
ear,A
2
3
2
ADDW
eam,A
2+
5+(a)
0
ADDCW A,ear
2
3
1
0
word (A) ← (A) + (ear) + (C)
-
-
-
-
-
*
*
*
*
-
ADDCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) + (eam) + (C)
-
-
-
-
-
*
*
*
*
-
SUBW
A
1
2
0
0
word (A) ← (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
SUBW
A,ear
2
3
1
0
word (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBW
A,#imm16
3
2
0
0
word (A) ← (A) - imm16
-
-
-
-
-
*
*
*
*
-
0
word (ear) ← (ear) - (A)
-
-
-
-
-
*
*
*
*
-
-
-
-
-
-
*
*
*
*
*
SUBW
ear,A
2
3
2
SUBW
eam,A
2+
5+(a)
0
CM44-00201-4
2 × (c) word (eam) ← (eam) + (A)
2 × (c) word (eam) ← (eam) - (A)
FUJITSU MICROELECTRONICS LIMITED
299
付録
B.2 数値演算命令
F2MC-16LX ファミリ
付表 B-3 加減算 ( バイト・ワード・ロング )……42 命令 (2 / 2)
ニーモニック
#
RG
∼
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
SUBCW A,ear
2
3
1
0
word (A) ← (A) - (ear) - (C)
-
-
-
-
-
*
*
*
*
-
SUBCW A,eam
2+
4+(a)
0
(c)
word (A) ← (A) - (eam) - (C)
-
-
-
-
-
*
*
*
*
-
ADDL
A,ear
2
6
2
0
long (A) ← (A) + (ear)
-
-
-
-
-
*
*
*
*
-
ADDL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) + (eam)
-
-
-
-
-
*
*
*
*
-
ADDL
A,#imm32
5
4
0
0
long (A) ← (A) + imm32
-
-
-
-
-
*
*
*
*
-
SUBL
A,ear
2
6
2
0
long (A) ← (A) - (ear)
-
-
-
-
-
*
*
*
*
-
SUBL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) - (eam)
-
-
-
-
-
*
*
*
*
-
SUBL
A,#imm32
5
4
0
0
long (A) ← (A) - imm32
-
-
-
-
-
*
*
*
*
-
LH
AH
I
S
T
N
Z
V
C RMW
-
-
-
-
-
*
*
*
-
-
-
-
-
-
-
*
*
*
-
*
-
-
-
-
-
*
*
*
-
*
( 注意事項 ) 表中の (a) ∼ (d) は , 付表 A-4 および付表 A-5 を参照してください。
付表 B-4 増減算 ( バイト・ワード・ロング )……12 命令
ニーモニック
#
∼
RG
B
INC
ear
2
3
2
INC
eam
2+
5+(a)
0
0
DEC
ear
2
3
2
DEC
eam
2+
5+(a)
0
INCW
ear
2
3
2
INCW
eam
2+
5+(a)
0
2 × (c)
0
オペレーション
byte (ear) <-- (ear) + 1
2 × (b) byte (eam) ← (eam) + 1
0
byte (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
word (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) + 1
-
-
-
-
-
*
*
*
-
*
word (ear) ← (ear) - 1
-
-
-
-
-
*
*
*
-
-
word (eam) ← (eam) - 1
-
-
-
-
-
*
*
*
-
*
long (ear) ← (ear) + 1
-
-
-
-
-
*
*
*
-
-
-
-
-
-
-
*
*
*
-
*
-
-
-
-
-
*
*
*
-
-
-
-
-
-
-
*
*
*
-
*
2 × (b) byte (eam) ← (eam) - 1
0
DECW
ear
2
3
2
DECW
eam
2+
5+(a)
0
2 × (c)
INCL
ear
2
7
4
0
INCL
eam
2+
9+(a)
0
DECL
ear
2
7
4
DECL
eam
2+
9+(a)
0
2 × (d) long (eam) ← (eam) + 1
0
long (ear) ← (ear) - 1
2 × (d) long (eam) ← (eam) - 1
( 注意事項 ) 表中の (a) ∼ (d) は , 付表 A-4 および付表 A-5 を参照してください。
付表 B-5 比較 ( バイト・ワード・ロング )……11 命令
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
1
1
0
0
byte (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
2
2
1
0
byte (A) - (ear)
-
-
-
-
-
*
*
*
*
-
2+
3+(a)
0
(b)
byte (A) - (eam)
-
-
-
-
-
*
*
*
*
-
2
2
0
0
byte (A) - imm8
-
-
-
-
-
*
*
*
*
-
1
1
0
0
word (AH) - (AL)
-
-
-
-
-
*
*
*
*
-
2
2
1
0
word (A) - (ear)
-
-
-
-
-
*
*
*
*
-
2+
3+(a)
0
(c)
word (A) - (eam)
-
-
-
-
-
*
*
*
*
-
3
2
0
0
word (A) - imm16
-
-
-
-
-
*
*
*
*
-
A,ear
2
6
2
0
long (A) - (ear)
-
-
-
-
-
*
*
*
*
-
CMPL
A,eam
2+
7+(a)
0
(d)
long (A) - (eam)
-
-
-
-
-
*
*
*
*
-
CMPL
A,#imm32
5
3
0
0
long (A) - imm32
-
-
-
-
-
*
*
*
*
-
ニーモニック
CMP
A
CMP
A,ear
CMP
A,eam
CMP
A,#imm8
CMPW
A
CMPW
A,ear
CMPW
A,eam
CMPW
A,#imm16
CMPL
オペレーション
( 注意事項 ) 表中の (a) ∼ (d) は , 付表 A-4 および付表 A-5 を参照してください。
300
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.2 数値演算命令
F2MC-16LX ファミリ
付表 B-6 符号なし乗除算 ( ワード・ロング )……11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIVU
A
1
*1
0
0
word (AH) / byte (AL)
商→ byte (AL) 余り→ byte (AH)
-
-
-
-
-
-
-
*
*
-
DIVU
A,ear
2
*2
1
0
word (A) / byte (ear)
商→ byte (A) 余り→ byte (ear)
-
-
-
-
-
-
-
*
*
-
DIVU
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,ear
2
*4
1
0
long (A) / word (ear)
商→ word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVUW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MULU
MULU
A
1
*8
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
A,ear
2
*9
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MULU
A,eam
2+
*10
0
(b)
MULUW
A
1
*11
0
0
MULUW
A,ear
2
*12
1
MULUW
A,eam
2+
*13
0
オペレーション
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
-
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
*1:ゼロディバイトの場合 , 3
オーバフローの場合 , 7
正常の場合 , 15
*2:ゼロディバイトの場合 , 4
オーバフローの場合 , 8
正常の場合 , 16
*3:ゼロディバイトの場合 , 6+(a)
オーバフローの場合 , 9+(a)
正常の場合 , 19+(a)
*4:ゼロディバイトの場合 , 4
オーバフローの場合 , 7
正常の場合 , 22
*5:ゼロディバイトの場合 , 6+(a)
オーバフローの場合 , 8+(a)
正常の場合 , 26+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b)
正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c)
正常の場合 , 2 × (c)
*8:byte(AH) が "0" の場合 , 3
byte(AH) が "0" でない場合 , 7
*9:byte(ear) が "0" の場合 , 4
byte(ear) が "0" でない場合 , 8
*10:byte(eam) が "0" の場合 , 5+(a)
byte(eam) が "0" でない場合 , 9+(a)
*11:word(AH) が "0" の場合 , 3
word(AH) が "0" でない場合 , 11
word(ear) が "0" でない場合 , 12
*12:word(ear) が "0" の場合 , 4
*13:word(eam) が "0" の場合 , 5+(a)
word(eam) が "0" でない場合 , 13+(a)
( 注意事項 ) 表中の (a),(b),(c) は , 付表 A-4 および付表 A-5 を参照してください。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
301
付録
B.2 数値演算命令
F2MC-16LX ファミリ
付表 B-7 符号付き乗除算 ( ワード・ロング )……11 命令
ニーモニック
#
∼
RG
B
LH
AH
I
S
T
N
Z
V
C RMW
DIV
A
2
*1
0
0
word (AH) / byte (AL)
商 --> byte (AL) 余り→ byte (AH)
Z
-
-
-
-
-
-
*
*
-
DIV
A,ear
2
*2
1
0
word (A) / byte (ear)
商 --> byte (A) 余り→ byte (ear)
Z
-
-
-
-
-
-
*
*
-
DIV
A,eam
2+
*3
0
*6
word (A) / byte (eam)
商→ byte (A) 余り→ byte (eam)
Z
-
-
-
-
-
-
*
*
-
DIVW
A,ear
2
*4
1
0
long (A) / word (ear)
商 --> word (A) 余り→ word (ear)
-
-
-
-
-
-
-
*
*
-
DIVW
A,eam
2+
*5
0
*7
long (A) / word (eam)
商→ word (A) 余り→ word (eam)
-
-
-
-
-
-
-
*
*
-
MUL
A
2
*8
MUL
A,ear
2
*9
0
0
byte (AH) * byte (AL) → word (A)
-
-
-
-
-
-
-
-
-
-
1
0
byte (A) * byte (ear) → word (A)
-
-
-
-
-
-
-
-
-
-
MUL
A,eam
2+
*10
MULW
A
2
*11
0
(b)
byte (A) * byte (eam) → word (A)
-
-
-
-
-
-
-
-
-
-
0
0
word (AH) * word (AL) → Long (A)
-
-
-
-
-
-
-
-
-
MULW
A,ear
2
-
*12
1
0
word (A) * word (ear) → Long (A)
-
-
-
-
-
-
-
-
-
-
MULW
A,eam
2+
*13
0
(c)
word (A) * word (eam) → Long (A)
-
-
-
-
-
-
-
-
-
-
オペレーション
*1:ゼロディバイトの場合 , 3 オーバフローの場合 , 8 or 18 正常の場合 , 18
*2:ゼロディバイトの場合 , 4 オーバフローの場合 , 11 or 21 正常の場合 , 23
*3:ゼロディバイトの場合 , 5+(a) オーバフローの場合 12+(a) or 23+(a) 正常の場合 , 24+(a)
*4:被除数が正 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 30 正常の場合 , 31
被除数が負 : ゼロディバイトの場合 , 4 オーバフローの場合 , 12 or 31 正常の場合 , 32
*5:被除数が正 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 12+(a) or 31+(a) 正常の場合 , 32+(a)
被除数が負 : ゼロディバイトの場合 , 5+(a) オーバフローの場合 , 12+(a) or 32+(a) 正常の場合 , 33+(a)
*6:ゼロディバイト , またはオーバフローの場合 , (b) 正常の場合 , 2 × (b)
*7:ゼロディバイト , またはオーバフローの場合 , (c) 正常の場合 , 2 × (c)
*8:byte(AH) が "0" の場合 , 3 結果が正の場合 , 12 結果が負の場合 , 13
*9:byte(ear) が "0" の場合 , 4 結果が正の場合 , 13 結果が負の場合 , 14
*10:byte(eam) が "0" の場合 , 5+(a) 結果が正の場合 , 14+(a) 結果が負の場合 , 15+(a)
*11:word(AH) が "0" の場合 , 3 結果が正の場合 , 16 結果が負の場合 , 19
*12:word(ear) が "0" の場合 , 4 結果が正の場合 , 17 結果が負の場合 , 20
*13:word(eam) が "0" の場合 , 5+(a) 結果が正の場合 , 18+(a) 結果が負の場合 , 21+(a)
( 注意事項 ) ・ DIV, DIVW 命令でオーバフロー発生時の実行サイクル数には 2 種類ありますが , 演算前と演算後に検出する場合
があるためです。
・ DIV, DIVW 命令でのオーバフロー発生時には , AL の内容は破壊されます。
・ 表中の (a),(b),(c) は , 付表 A-4 および付表 A-5 を参照してください。
302
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.3 論理演算命令
F2MC-16LX ファミリ
論理演算命令
B.3
F2MC-16L の論理演算命令の一覧表を次の 4 つに分けて示します。
• 論理 1 ( バイト・ワード )……39 命令 ( 付表 B-8 参照 )
• 論理 2 ( ロング )……6 命令 ( 付表 B-9 参照 )
• 符号反転 ( バイト・ワード )……6 命令 ( 付表 B-10 参照 )
• ノーマライズ命令 ( ロング )……1 命令 ( 付表 B-11 参照 )
■ 論理演算命令
付表 B-8 論理 1 ( バイト・ワード )……39 命令 (1 / 2)
ニーモニック
AND
A,#imm8
#
∼
RG
B
2
2
0
0
オペレーション
byte (A) ← (A) and imm8
LH
AH
I
S
T
N
Z
V
C RMW
-
-
-
-
-
*
*
R
-
-
AND
A,ear
2
3
1
0
byte (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
AND
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
0
byte (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
-
-
-
-
-
*
*
R
-
*
AND
ear,A
2
3
2
AND
eam,A
2+
5+(a)
0
OR
A,#imm8
2
2
0
2 × (b) byte (eam) ← (eam) and (A)
0
byte (A) ← (A) or imm8
-
-
-
-
-
*
*
R
-
-
OR
A,ear
2
3
1
0
byte (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
OR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
0
byte (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
-
-
-
-
-
-
*
*
R
-
*
OR
ear,A
2
3
2
OR
eam,A
2+
5+(a)
0
XOR
A,#imm8
2
2
0
2 × (b) byte (eam) ← (eam) or (A)
0
byte (A) ← (A) xor imm8
-
-
-
-
-
*
*
R
-
-
XOR
A,ear
2
3
1
0
byte (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
XOR
A,eam
2+
4+(a)
0
(b)
byte (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
XOR
ear,A
2
3
2
0
byte (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XOR
eam,A
2+
5+(a)
0
*
NOT
A
1
2
0
0
NOT
ear
2
3
2
0
NOT
eam
2+
5+(a)
0
-
ANDW
A
1
2
0
0
word (A) ← (AH) and (A)
-
ANDW
A,#imm16
3
2
0
0
word (A) ← (A) and imm16
-
ANDW
A,ear
2
3
1
0
word (A) ← (A) and (ear)
-
ANDW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
byte (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
byte (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
-
-
-
-
*
*
R
-
*
-
-
-
-
*
*
R
-
-
-
-
-
-
*
*
R
-
-
-
-
-
-
*
*
R
-
-
-
-
-
-
-
*
*
R
-
-
2 × (b) byte (eam) ← (eam) xor (A)
2 × (b) byte (eam) ← not (eam)
ANDW
ear,A
2
3
2
0
ANDW
eam,A
2+
5+(a)
0
2 × (c)
word (ear) ← (ear) and (A)
-
-
-
-
-
*
*
R
-
-
word (eam) ← (eam) and (A)
-
-
-
-
-
*
*
R
-
*
ORW
A
1
2
0
ORW
A,#imm16
3
2
0
0
word (A) ← (AH) or (A)
-
-
-
-
-
*
*
R
-
-
0
word (A) ← (A) or imm16
-
-
-
-
-
*
*
R
-
ORW
A,ear
2
3
1
-
0
word (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORW
A,eam
2+
4+(a)
ORW
ear,A
2
3
0
(c)
word (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
2
0
word (ear) ← (ear) or (A)
-
-
-
-
-
*
*
R
-
ORW
eam,A
2+
5+(a)
0
-
word (eam) ← (eam) or (A)
-
-
-
-
-
*
*
R
-
*
2 × (c)
XORW
A
1
2
0
0
word (A) ← (AH) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
A,#imm16
3
2
0
0
word (A) ← (A) xor imm16
-
-
-
-
-
*
*
R
-
-
XORW
A,ear
2
3
1
0
word (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
303
付録
B.3 論理演算命令
F2MC-16LX ファミリ
付表 B-8 論理 1 ( バイト・ワード )……39 命令 (2 / 2)
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
XORW
A,eam
2+
4+(a)
0
(c)
word (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
XORW
ear,A
2
3
2
0
word (ear) ← (ear) xor (A)
-
-
-
-
-
*
*
R
-
-
XORW
eam,A
2+
5+(a)
0
2 × (c)
word (eam) ← (eam) xor (A)
-
-
-
-
-
*
*
R
-
*
NOTW
A
1
2
0
0
word (A) ← not (A)
-
-
-
-
-
*
*
R
-
-
NOTW
ear
2
3
2
0
word (ear) ← not (ear)
-
-
-
-
-
*
*
R
-
-
NOTW
eam
2+
5+(a)
0
word (eam) ← not (eam)
-
-
-
-
-
*
*
R
-
*
LH
AH
I
S
T
N
Z
V
C RMW
2 × (c)
-
( 注意事項 ) 表中の (a), (b), (c) は , 付表 A-4 および付表 A-5 を参照してください。
付表 B-9 論理 2 ( ロング )……6 命令
ニーモニック
#
∼
RG
B
オペレーション
ANDL
A,ear
2
6
2
0
long (A) ← (A) and (ear)
-
-
-
-
-
*
*
R
-
-
ANDL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) and (eam)
-
-
-
-
-
*
*
R
-
-
ORL
A,ear
2
6
2
0
long (A) ← (A) or (ear)
-
-
-
-
-
*
*
R
-
-
ORL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) or (eam)
-
-
-
-
-
*
*
R
-
-
XORL
A,ear
2
6
2
0
long (A) ← (A) xor (ear)
-
-
-
-
-
*
*
R
-
-
XORL
A,eam
2+
7+(a)
0
(d)
long (A) ← (A) xor (eam)
-
-
-
-
-
*
*
R
-
-
LH
AH
I
S
T
N
Z
V
C RMW
( 注意事項 ) 表中の (a), (d) は , 付表 A-4 および付表 A-5 を参照してください。
付表 B-10 符号反転 ( バイト・ワード )……6 命令
ニーモニック
#
∼
RG
B
1
2
0
0
byte (A) ← 0 - (A)
X
-
-
-
-
*
*
*
*
byte (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
byte (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
オペレーション
NEG
A
-
NEG
ear
2
3
2
0
NEG
eam
2+
5+(a)
0
2 × (b)
NEGW
A
1
2
0
0
word (A) ← 0 - (A)
-
-
-
-
-
*
*
*
*
-
NEGW
ear
2
3
2
0
word (ear) ← 0 - (ear)
-
-
-
-
-
*
*
*
*
-
NEGW
eam
2+
5+(a)
0
2 × (c)
word (eam) ← 0 - (eam)
-
-
-
-
-
*
*
*
*
*
( 注意事項 ) 表中の (a), (b), (c) は , 付表 A-4 および付表 A-5 を参照してください。
付表 B-11 ノーマライズ命令 ( ロング )……1 命令
ニーモニック
NRML
A,R0
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
2
*1
1
0
long (A) ← 最初に "1" が立っていた所までシ
フトする
byte (R0) ← その場合のシフト回数
-
-
-
-
-
-
*
-
-
-
*1:アキュムレータがすべて "0" であった場合は , 4 "0" 以外であった場合は , 6+(R0)
( 注意事項 ) 表中の (a), (d) は , 付表 A-4 および付表 A-5 を参照してください。
304
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.4 シフト命令
F2MC-16LX ファミリ
シフト命令
B.4
F2MC-16L のシフト命令……18 命令の一覧表を付表 B-12 に示します。
■ シフト命令
付表 B-12 シフト系命令 ( バイト・ワード・ロング )……18 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
RORC
A
2
2
0
0
byte (A) ← 右ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
ROLC
A
2
2
0
0
byte (A) ← 左ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
0
byte (ear) ← 右ローテートキャリー付
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
-
-
-
-
-
*
*
-
*
-
-
-
-
-
-
*
*
-
*
*
-
RORC
ear
2
3
2
RORC
eam
2+
5+(a)
0
2 × (b) byte (eam) ← 右ローテートキャリー付
ROLC
ear
2
3
2
ROLC
eam
2+
5+(a)
0
0
ASR
A,R0
2
*1
1
0
byte (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
LSR
A,R0
2
*1
1
0
byte (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
LSL
A,R0
2
*1
1
0
byte (A) ← ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
ASRW
A
1
2
0
0
word (A) ← 算術右シフト (A,1 ビット )
-
-
-
-
*
*
*
-
*
-
LSRW
A/SHRW A
1
2
0
0
word (A) ← ロジカル右シフト (A,1 ビット )
-
-
-
-
*
R
*
-
*
-
LSLW
A/SHLW A
1
2
0
0
word (A) ← ロジカル左シフト (A,1 ビット )
-
-
-
-
-
*
*
-
*
-
ASRW
A,R0
2
*1
1
0
word (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
LSRW
A,R0
2
*1
1
0
word (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
LSLW
A,R0
2
*1
1
0
word (A) ←ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
ASRL
A,R0
2
*2
1
0
long (A) ← 算術右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
LSRL
A,R0
2
*2
1
0
long (A) ← ロジカル右バレルシフト (A,R0)
-
-
-
-
*
*
*
-
*
-
LSLL
A,R0
2
*2
1
0
long (A) <-- ロジカル左バレルシフト (A,R0)
-
-
-
-
-
*
*
-
*
-
byte (ear) ← 左ローテートキャリー付
2 × (b) byte (eam) ← 左ローテートキャリー付
*1:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 5+(R0)
*2:R0 が "0" であった場合 , 6 "0" 以外であった場合は , 6+(R0)
( 注意事項 ) 表中の (a),(b) は , 付表 A-4 および付表 A-5 を参照してください。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
305
付録
B.5 分岐命令
B.5
F2MC-16LX ファミリ
分岐命令
F2MC-16L の分岐命令の一覧表を次の 2 つに分けて示します。
• 分岐 1……31 命令 ( 付表 B-13 参照 )
• 分岐 2……19 命令 ( 付表 B-14 参照 )
■ 分岐命令
付表 B-13 分岐 1……31 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
BZ/BEQ
rel
2
*1
0
0
(Z) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BNZ/BNE
rel
2
*1
0
0
(Z) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BC/BLO
rel
2
*1
0
0
(C) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BNC/BHS
rel
2
*1
0
0
(C) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BN
rel
2
*1
0
0
(N) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BP
rel
2
*1
0
0
(N) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BV
rel
2
*1
0
0
(V) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BNV
rel
2
*1
0
0
(V) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BT
rel
2
*1
0
0
(T) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BNT
rel
2
*1
0
0
(T) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BLT
rel
2
*1
0
0
(V) xor (N) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BGE
rel
2
*1
0
0
(V) xor (N) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
BLE
rel
2
*1
0
0
((V) xor (N)) or (Z) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BGT
rel
2
*1
0
0
((V) xor (N)) or (Z) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BLS
rel
2
*1
0
0
(C) or (Z) = 1 の時 分岐
-
-
-
-
-
-
-
-
-
-
BHI
rel
2
*1
0
0
(C) or (Z) = 0 の時 分岐
-
-
-
-
-
-
-
-
-
-
BRA
rel
2
*1
0
0
無条件分岐
-
-
-
-
-
-
-
-
-
-
JMP
@A
1
2
0
0
word (PC) ← (A)
-
-
-
-
-
-
-
-
-
-
JMP
addr16
3
3
0
0
word (PC) ← addr16
-
-
-
-
-
-
-
-
-
-
JMP
@ear
2
3
1
0
word (PC) ← (ear)
-
-
-
-
-
-
-
-
-
-
JMP
@eam
2+
4+(a)
0
(c)
word (PC) ← (eam)
-
-
-
-
-
-
-
-
-
-
JMPP
@ear
注 1)
2
5
2
0
word (PC) ← (ear), (PCB) ← (ear+2)
-
-
-
-
-
-
-
-
-
-
JMPP
@eam
注 1)
2+
6+(a)
0
(d)
word (PC) ← (eam), (PCB) ← (eam+2)
-
-
-
-
-
-
-
-
-
-
JMPP
addr24
4
4
0
0
word (PC) ← ad24 0-15, (PCB) ← ad24 16-23
-
-
-
-
-
-
-
-
-
-
CALL
@ear
注 2)
2
6
1
注 2)
2+
7+(a)
0
addr16 注 3)
3
6
0
注 3)
1
7
0
10
2
CALL
@eam
CALL
CALLV
#vct4
CALLP
@ear
注 4)
2
CALLP
@eam
注 4)
2+
11+(a)
0
addr24 注 5)
4
10
0
CALLP
(c)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
2 × (c) ベクタコール命令
-
-
-
-
-
-
-
-
-
-
2 × (c) word (PC) ← (ear)0-15, (PCB) ← (ear)16-23
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
word (PC) ← (ear)
2 × (c) word (PC) ← (eam)
(c)
*2
word (PC) ← addr16
word (PC) ← (eam)0-15, (PCB) ← (eam)16-23
2 × (c) word (PC) ← addr0-15, (PCB) ← addr16-23
*1:分岐が行われる場合 , 4 行われない場合 , 3
*2:3 × (c)+(b)
注 1) 分岐先アドレスの読込み (word)
注 2) W:スタックへの退避 (word), R:分岐先アドレスの読込み (word)
注 3) スタックへの退避 (word)
注 4) W:スタックへの退避 (long), R:分岐先アドレスの読込み (long)
注 5) スタックへの退避 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 付表 A-4 および付表 A-5 を参照してください。
306
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.5 分岐命令
F2MC-16LX ファミリ
付表 B-14 分岐 2……19 命令
ニーモニック
#
∼
RG
B
CBNE
A,#imm8,rel
3
*1
0
0
CWBNE
A,#imm16,rel
4
*1
0
0
CBNE
LH
AH
byte (A) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
word (A) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
オペレーション
I S T N Z V C RMW
ear,#imm8,rel
4
*2
1
0
byte (ear) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CBNE
eam,#imm8,rel
注 1)
4+
*3
0
(b)
byte (eam) ≠ imm8 で分岐
-
-
-
-
- * * * *
-
CWBNE
ear,#imm16,rel
5
*4
1
0
word (ear) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
CWBNE
eam,#imm16,rel 注 1)
5+
*3
0
(c)
word (eam) ≠ imm16 で分岐
-
-
-
-
- * * * *
-
DBNZ
ear,rel
3
*5
2
byte (ear) = (ear) - 1, (ear) ≠ 0 で分岐
-
-
-
-
- * * * -
-
DBNZ
eam,rel
3+
*6
2
-
-
-
-
- * * * -
*
DWBNZ
ear,rel
3
*5
2
-
-
-
-
- * * * -
-
DWBNZ
eam,rel
3+
*6
2
2 × (c) word (eam) = (eam) - 1, (eam) ≠ 0 で分岐
-
-
-
-
- * * * -
*
INT
#vct8
2
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INT
addr16
3
16
0
6 × c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
INTP
addr24
4
17
0
6 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
1
20
0
8 × (c) ソフトウェア割込み
-
-
R S -
-
-
-
-
-
1
*8
0
*7
割込みからの復帰
-
-
* * * * * * *
-
2
6
0
(c)
関数の入口で , 旧フレームポインタをスタッ
クに保存し , 新フレームポインタの設定 , お
よびローカルポインタの領域を確保する
-
-
-
-
-
-
-
-
-
-
1
5
0
(c)
関数の出口で , 旧フレームポインタをスタッ
クから復帰させる
-
-
-
-
-
-
-
-
-
-
INT9
RETI
LINK
#imm8
UNLINK
0
2 × (b) byte (eam) = (eam) - 1, (eam) ≠ 0 で分岐
0
word (ear) = (ear) - 1, (ear) ≠ 0 で分岐
RET
注 2)
1
4
0
(c)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
RETP
注 3)
1
6
0
(d)
サブルーチンからの復帰
-
-
-
-
-
-
-
-
-
-
*1:分岐が行われる場合 , 5 行われない場合 , 4
*2:分岐が行われる場合 , 13 行われない場合 , 12
*3:分岐が行われる場合 , 7+(a) 行われない場合 , 6+(a)
*4:分岐が行われる場合 , 8 行われない場合 , 7
*5:分岐が行われる場合 , 7 行われない場合 , 6
*6:分岐が行われる場合 , 8+(a) 行われない場合 , 7+(a) *7: 次の割込み要求へ分岐する場合 :3 × (b)+2 × (c) 今の割込みから復帰の場合 :6 × (c)
*8: 次の割込みへ分岐する場合 :15 今の割込みから復帰する場合 :17
注 1) CBNE / CWBNE 命令では , RWj+ のアドレッシングモードは , 使用しないでください。
注 2) スタックからの復帰 (word)
注 3) スタックからの復帰 (long)
( 注意事項 ) 表中の (a) ∼ (d) は , 付表 A-4 および付表 A-5 を参照してください。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
307
付録
B.6 その他の命令
B.6
F2MC-16LX ファミリ
その他の命令
F2MC-16L のその他の命令の一覧表を次の 4 つに分けて示します。
• その他制御系 ( バイト・ワード・ロング )……28 命令 ( 付表 B-15 参照 )
• ビット操作命令……21 命令 ( 付表 B-16 参照 )
• アキュムレータ操作命令 ( バイト・ワード )……6 命令 ( 付表 B-17 参照 )
• ストリング命令……10 命令 ( 付表 B-18 参照 )
■ その他の命令
付表 B-15 その他制御系 ( バイト・ワード・ロング )……28 命令
ニーモニック
#
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
PUSHW
A
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (A)
-
-
-
-
-
-
-
-
-
-
PUSHW
AH
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (AH)
-
-
-
-
-
-
-
-
-
-
PUSHW
PS
1
4
0
(c)
word (SP) ← (SP) - 2, ((SP)) ← (PS)
-
-
-
-
-
-
-
-
-
-
PUSHW
rlst
2
*3
*5
*4
(SP) ← (SP) - 2n, ((SP)) ← (rlst)
-
-
-
-
-
-
-
-
-
-
POPW
A
1
3
0
(c)
word (A) ← ((SP)), (SP) ← (SP) + 2
-
*
-
-
-
-
-
-
-
-
POPW
AH
1
3
0
(c)
word (AH) ← ((SP)), (SP) ← (SP) + 2
-
-
-
-
-
-
-
-
-
-
POPW
PS
1
4
0
(c)
word (PS) ← ((SP)), (SP) ← (SP) + 2
-
-
*
*
*
*
*
*
*
-
POPW
rlst
2
*2
*5
*4
(rlst) ← ((SP)), (SP) ← (SP)
-
-
-
-
-
-
-
-
-
-
JCTX
@A
1
14
0
-
-
*
*
*
*
*
*
*
-
AND
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) and imm8
-
-
*
*
*
*
*
*
*
-
OR
CCR,#imm8
2
3
0
0
byte (CCR) ← (CCR) or imm8
-
-
*
*
*
*
*
*
*
-
MOV
RP,#imm8
2
2
0
0
byte (RP) ← imm8
-
-
-
-
-
-
-
-
-
-
MOV
ILM,#imm8
2
2
0
0
byte (ILM) ← imm8
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,ear
2
3
1
0
word (RWi) ← ear
-
-
-
-
-
-
-
-
-
-
MOVEA
RWi,eam
2+
2+(a)
1
0
word (RWi) ← eam
-
-
-
-
-
-
-
-
-
-
MOVEA
A,ear
2
1
0
0
word (A) ← ear
-
*
-
-
-
-
-
-
-
-
MOVEA
A,eam
2+
1+(a)
0
0
word (A) ← eam
-
*
-
-
-
-
-
-
-
-
ADDSP
#imm8
2
3
0
0
word (SP) ← ext(imm8)
-
-
-
-
-
-
-
-
-
-
ADDSP
#imm16
3
3
0
0
word (SP) ← imm16
-
-
-
-
-
-
-
-
-
-
MOV
A,brg1
2
*1
0
0
byte (A) ← (brg1)
Z
*
-
-
-
*
*
-
-
-
MOV
brg2,A
2
1
0
0
byte (brg2) ← (A)
-
-
-
-
-
*
*
-
-
-
NOP
1
1
0
0
ノーオペレーション
-
-
-
-
-
-
-
-
-
-
ADB
1
1
0
0
AD 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
DTB
1
1
0
0
DT 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
PCB
1
1
0
0
PC 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
SPB
1
1
0
0
SP 空間アクセス用プリフィックス
コード
-
-
-
-
-
-
-
-
-
-
NCC
1
1
0
0
フラグ無変化用プリフィックスコー
ド
-
-
-
-
-
-
-
-
-
-
CMR
1
1
0
0
コモンレジスタバンク用プリフィッ
クス
-
-
-
-
-
-
-
-
-
-
6 × (c) コンテキストスイッチ命令
*1:PCB,ADB,SSB,USB・・・・・・1 ステート
DTB,DPR ・・・・・・・・・・2 ステート
*2:7+3 × (POP する回数 )+2 × (POP する最後のレジスタ番号 ), RLST=0( 転送レジスタ無し ) の場合 7
*3:29+3 × (PUSH する回数 )-3 × (PUSH する最後のレジスタ番号 ), RLST=0 ( 転送レジスタ無し ) の場合 8
*4:(POP する回数 ) × (c), または (PUSH する回数 ) × (c)
*5:(POP する回数 ), または (PUSH する回数 )
( 注意事項 ) 表中の (a),(c) は , 付表 A-4 および付表 A-5 を参照してください。
308
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
B.6 その他の命令
F2MC-16LX ファミリ
付表 B-16 ビット操作命令……21 命令
#
ニーモニック
∼
RG
B
オペレーション
LH
AH
I
S
T
N
Z
V
C RMW
MOVB
A,dir:bp
3
5
0
(b)
byte (A) ← (dir:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,addr16:bp
4
5
0
(b)
byte (A) ← (addr16:bp)b
Z
*
-
-
-
*
*
-
-
-
MOVB
A,io:bp
3
4
0
(b)
byte (A) ← (io:bp)b
MOVB
dir:bp,A
3
7
0
Z
*
-
-
-
*
*
-
-
-
2 × (b) bit (dir:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
addr16:bp,A
4
7
0
2 × (b) bit (addr16:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
MOVB
io:bp,A
3
6
0
2 × (b) bit (io:bp)b ← (A)
-
-
-
-
-
*
*
-
-
*
SETB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
SETB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 1
-
-
-
-
-
-
-
-
-
*
CLRB
dir:bp
3
7
0
2 × (b) bit (dir:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
addr16:bp
4
7
0
2 × (b) bit (addr16:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
CLRB
io:bp
3
7
0
2 × (b) bit (io:bp)b ← 0
-
-
-
-
-
-
-
-
-
*
BBC
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBC
io:bp,rel
4
*2
0
(b)
(io:bp) b = 0 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
dir:bp,rel
4
*1
0
(b)
(dir:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
addr16:bp,rel
5
*1
0
(b)
(addr16:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
BBS
io:bp,rel
4
*2
0
(b)
(io:bp) b = 1 の場合分岐
-
-
-
-
-
-
*
-
-
-
SBBS
addr16:bp,rel
5
*3
0
-
-
-
-
-
-
*
-
-
*
WBTS
io:bp
3
*4
0
*5
(io:bp) b = 1 になるまで待つ
-
-
-
-
-
-
-
-
-
-
WBTC
io:bp
3
*4
0
*5
(io:bp) b = 0 になるまで待つ
-
-
-
-
-
-
-
-
-
-
LH
AH
I
S
T
N
Z
V
C RMW
-
-
-
-
-
-
-
-
-
-
2 × (b) (addr16:bp) b = 1 で分岐 , bit = 1
*1:分岐が行われる場合 , 8 分岐が行われない場合 , 7
*2:分岐が行われる場合 , 7 分岐が行われない場合 , 6
*3:条件成立の場合 , 10 未成立の場合 , 9
*4:不定回数
*5:条件が成立するまで
( 注意事項 ) 表中の (b) は , 付表 A-5 を参照してください。
付表 B-17 アキュムレータ操作命令 ( バイト・ワード )……6 命令
#
∼
RG
B
SWAP
1
3
0
0
byte (A)0-7 ←→ (A)8-15
SWAPW
1
2
0
0
word (AH) ←→ (AL)
-
*
-
-
-
-
-
-
-
-
EXT
1
1
0
0
Byte 符号拡張
X
-
-
-
-
*
*
-
-
-
EXTW
1
2
0
0
Word 符号拡張
-
X
-
-
-
*
*
-
-
-
ZEXT
1
1
0
0
Byte ゼロ拡張
Z
-
-
-
-
R
*
-
-
-
ZEXTW
1
1
0
0
Word ゼロ拡張
-
z
-
-
-
R
*
-
-
-
ニーモニック
CM44-00201-4
オペレーション
FUJITSU MICROELECTRONICS LIMITED
309
付録
B.6 その他の命令
F2MC-16LX ファミリ
付表 B-18 ストリング命令……10 命令
#
∼
RG
B
MOVS / MOVSI
2
*2
*5
*3
MOVSD
2
*2
*5
*3
SCEQ / SCEQI
2
*1
*8
SCEQD
2
*1
*8
FILS / FILSI
2
6m+6
MOVSW / MOVSWI
2
*2
MOVSWD
2
*2
*5
SCWEQ / SCWEQI
2
*1
SCWEQD
2
*1
FILSW / FILSWI
2
6m+6
ニーモニック
LH
AH
I
S
T
N
Z
V
C RMW
byte 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
byte 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*4
byte 検索 @AH+ ← AL, カウンタ RW0
-
-
-
-
-
*
*
*
*
-
*4
byte 検索 @AH- ← AL, カウンタ RW0
-
-
-
-
-
*
*
*
*
-
*8
*3
byte 充填 @AH+ ← AL, カウンタ RW0
-
-
-
-
-
*
*
-
-
-
*5
*6
word 転送 @AH+ ← @AL+, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*6
word 転送 @AH- ← @AL-, カウンタ = RW0
-
-
-
-
-
-
-
-
-
-
*8
*7
word 検索 @AH+ - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*7
word 検索 @AH- - AL, カウンタ = RW0
-
-
-
-
-
*
*
*
*
-
*8
*6
word 充填 @AH+ ← AL, カウンタ = RW0
-
-
-
-
-
*
*
-
-
-
オペレーション
*1:RW0 が "0" の場合 , 5 カウントアウトの場合 , 4+7 × (RW0) 一致した場合 , 7n+5
*2:RW0 が "0" の場合 , 5 "0" 以外の場合 , 4+8 × (RW0)
*3:(b) × (RW0)+(b) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (b) の項目
を算出してください。
*4:(b)+n
*5:2 × (b) × (RW0)
*6:(c) × (RW0)+(c) × (RW0) ソースとデスティネーションで異なる領域をアクセスする場合には , それぞれ別々に (c) の項目
を算出してください。
*7:(c) × n
*8:(b) × (RW0)
( 注意事項 ) ・ m:RW0 値 ( カウンタ値 )
n:ループした回数
・ 表中の (b),(c) は , 付表 A-5 を参照してください。
310
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
F2MC-16LX ファミリ
付録 C
付録
B.6 その他の命令
F2MC-16LX 命令マップ
ここでは , F2MC-16LX 命令マップの一覧を記載します。
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 命令
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
311
付録
C.1 命令マップの構造
C.1
F2MC-16LX ファミリ
命令マップの構造
F2MC-16LX の命令コードは 1 ∼ 2 バイトで構成されていますので , 命令マップも
1 ∼ 2 バイト用の複数ページで構成されています。
■ 命令マップの構造
付図 C-1 に , 命令マップの構造を示します。
付図 C-1 F2MC-16LX 命令マップの構造
基本ページマップ
ビット操作系命令
文字列操作系命令
2 バイト系命令
:第 1 バイト
ea 系命令× 9
:第 2 バイト
命令コードが 1 バイト命令 (NOP 命令など ) の場合は , 基本ページに命令コードが記述
されています。命令コードが 2 バイト命令 (MOVS 命令など ) の場合は , 基本ページ
マップを参照して, 次に参照する命令コードの第2 バイト目が記述されているマップの
名称を調べてください。
312
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
付録
C.1 命令マップの構造
F2MC-16LX ファミリ
付図 C-2 に , 実際の命令コードと命令マップの対応を示します。
付図 C-2 実際の命令とマップの対応図
命令によっては
ない場合もある
命令によって
長さが異なる
命令コード 第 1 バイト
第 2 バイト
オペランド
オペランド
・・・
[ 基本ページマップ ]
XY
+Z
[ 拡張ページマップ ]*
UV
+W
*: 拡張ページマップとはビット操作系命令・文字列操作系命令・2 バイト系命令・ea 系
命令の総称で , 実際は各系列の命令ごとに複数存在します。
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
313
付録
C.2 基本ページマップ
C.2
F2MC-16LX ファミリ
基本ページマップ
付表 C-1 に , 基本ページマップの一覧表を示します。
314
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
JCTX
@A
EXT
NEG
PCB
LINK
SPB
ADB
DTB
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
MOV
+A RP,
#imm8
+9
UNLINK
+8 #imm8
+7
+6
+5
+4
+3 A
ZEXT
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
F2MC-16LX ファミリ
付録
C.2 基本ページマップ
■ 基本ページマップ
付表 C-1 基本ページマップ
315
付録
C.3 ビット操作系命令マップ
C.3
F2MC-16LX ファミリ
ビット操作系命令マップ
付表 C-2 に , ビット操作系命令マップの一覧を示します。
316
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
MOVB
ip:bp,
A
MOVB
ip:bp,
A
MOVB
ip:bp,
A
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
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
+4 A,
io:bp
+3 A,
io:bp
+2 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
+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
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
BBC
addr16:bp,
rel
90
BBS
dir:bp,
rel
BBS
dir:bp,
rel
BBS
dir:bp,
rel
BBS
dir:bp,
rel
BBS
dir:bp,
rel
BBS
dir:bp,
rel
BBS
dir:bp,
rel
BBS
dir: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
BBS
io:bp,
rel
A0
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
F2MC-16LX ファミリ
付録
C.3 ビット操作系命令マップ
■ ビット操作系命令マップ
付表 C-2 ビット操作系命令マップ ( 第 1 バイト =6CH)
317
付録
C.4 文字列操作系命令マップ
C.4
F2MC-16LX ファミリ
文字列操作系命令マップ
付表 C-3 に , 文字列操作系命令マップの一覧表を示します。
318
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
MOVSD
PCB,
PCB
MOVSD
PCB,
DTB
MOVSD
PCB,
ADB
MOVSD
PCB,
SPB
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
CM44-00201-4
MOVSI
MOVSI
MOVSI
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,
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
F2MC-16LX ファミリ
付録
C.4 文字列操作系命令マップ
■ 文字列操作系命令マップ
付表 C-3 文字列操作系命令マップ ( 第 1 バイト =6EH)
319
付録
C.5 2 バイト系統マップ
C.5
F2MC-16LX ファミリ
2 バイト系統マップ
付表 C-4 に , 2 バイト系統マップの一覧表を示します。
320
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
MOV
ADB,
A
MOV
SSB,
A
MOV
USB,
A
MOV
DPR,
A
MOV
@AL,
AH
MOVX
A,
@A
RORC
A
MOV
CM44-00201-4
MOV
MOV
MOV
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,
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
F2MC-16LX ファミリ
付録
C.5 2 バイト系統マップ
■ 2 バイト系統マップ
付表 C-4 2 バイト系命令マップ ( 第 1 バイト =6FH)
321
付録
C.6 ea 系命令
C.6
F2MC-16LX ファミリ
ea 系命令
ea 系命令 ( 第 1 バイト =70H ∼第 1 バイト =78H) を次の 9 つに分けて示します。
• ea 系命令その 1 ( 第 1 バイト =70H)( 付表 C-5 参照 )
• ea 系命令その 2 ( 第 1 バイト =71H)( 付表 C-6 参照 )
• ea 系命令その 3 ( 第 1 バイト =72H)( 付表 C-7 参照 )
• ea 系命令その 4 ( 第 1 バイト =73H)( 付表 C-8 参照 )
• ea 系命令その 5 ( 第 1 バイト =74H)( 付表 C-9 参照 )
• ea 系命令その 6 ( 第 1 バイト =75H)( 付表 C-10 参照 )
• ea 系命令その 7 ( 第 1 バイト =76H)( 付表 C-11 参照 )
• ea 系命令その 8 ( 第 1 バイト =77H)( 付表 C-12 参照 )
• ea 系命令その 9 ( 第 1 バイト =78H)( 付表 C-13 参照 )
322
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
20
CWBNE
RW0,
40
CM44-00201-4
ADDL
A,
SUBL
A,
@RW2+disp8 RL1
ADDL
A,
SUBL
A,
@RW3+disp8 RL1
ADDL
A,
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
SUBL
A,
A,
@RW0+RW7 @RW0+ @RW0+RW7
ADDL
A,
SUBL
SUBL
A,
A,
@RW1+RW7 @RW1+ @RW1+RW7
ADDL
A,
SUBL
SUBL
A,
A,
@PC+disp16 @RW2+ @PC+disp16
ADDL
A,
addr16
ADDL
+2 A,
RL1
ADDL
+3 A,
RL1
ADDL
+4 A,
RL2
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+
CWBNE
RW1,
CWBNE
RW2,
CWBNE
RW3,
CWBNE
RW4,
CWBNE
RW5,
CWBNE
RW6,
CWBNE
RW7,
CWBNE
@RW0,
CWBNE
@RW1,
CWBNE
@RW2,
FUJITSU MICROELECTRONICS LIMITED
CWBNE
@RW3,
SUBL
SUBL
A,
A,
@RW3+ addr16
使用禁止
使用禁止
使用禁止
使用禁止
@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,
SUBL
A,
@RW1+disp8 RL0
@RW0+disp8 #imm16, rel
SUBL
A,
30
ADDL
A,
SUBL
A,
@RW0+disp8 RL0
ADDL
A,
10
ADDL
+1 A,
RL0
RL0
+0 A,
ADDL
00
CMPL
60
#imm16, rel
CWBNE
addr16,
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
@RW0+disp8, A,
#imm16, rel
RL0
CWBNE
50
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
@PC+disp16
XORL
A,
@RW1+RW7
XORL
A,
@RW0+RW7
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
F2MC-16LX ファミリ
付録
C.6 ea 系命令
■ ea 系命令
付表 C-5 ea 系命令 その 1 ( 第 1 バイト =70H)
323
324
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
付録
C.6 ea 系命令
F2MC-16LX ファミリ
付表 C-6 ea 系命令 その 2 ( 第 1 バイト =71H)
CM44-00201-4
CM44-00201-4
ROLC
RORC
@RW2+disp8 R2
ROLC
RORC
@RW3+disp8 R3
ROLC
RORC
@RW4+disp8 R4
ROLC
RORC
@RW5+disp8 R5
ROLC
ROLC
+2 R2
ROLC
+3 R3
ROLC
+4 R4
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
@RW1+disp8 R1
RORC
R6
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
F2MC-16LX ファミリ
付録
C.6 ea 系命令
付表 C-7 ea 系命令 その 3 ( 第 1 バイト =72H)
325
326
CALL
@@RW1+disp8 @RW1
JMP
CALL
@@RW2+disp8 @RW2
JMP
JMP
+2 @RW2
JMP
+3 @RW3
JMP
CALL
@@RW7+disp8 @RW7
JMP
CALL
@@RW0+disp16 @@RW0
JMP
JMP
+7 @RW7
JMP
+8 @@RW0
JMP
+9 @@RW1
INCW
@@RW0+disp16 @RW0
CALL
INCW
@@RW7+disp8 RW7
CALL
INCW
@@RW6+disp8 RW6
CALL
FUJITSU MICROELECTRONICS LIMITED
JMP
JMP
+B @@RW3
INCW
INCW
@@RW3+disp16 @RW3
CALL
@@RW2+disp16 @RW2
DECW
60
DECW
DECW
DECW
INCW
@RW3+
DECW
@RW3+
INCW
addr16
CALL
CALL
@@RW3+ @addr16
JMP
JMP
+F @@RW3+ @addr16
DECW
@PC+disp16 @RW2+
INCW
@RW1+RW7 @RW1+
INCW
@RW0+RW7 @RW0+
INCW
DECW
@RW3+disp16 @RW3
INCW
@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
JMP
JMP
CALL
CALL
INCW
+E @@RW2+ @@PC+disp16 @@RW2+ @@PC+disp16 @RW2+
JMP
JMP
CALL
CALL
INCW
+D @@RW1+ @@RW1+RW7 @@RW1+ @@RW1+RW7 @RW1+
JMP
JMP
CALL
CALL
INCW
+C @@RW0+ @@RW0+RW7 @@RW0+ @@RW0+RW7 @RW0+
CALL
@@RW3+disp16 @@RW3
@@RW2+disp16 @@RW2
+A @@RW2
CALL
CALL
CALL
@@RW6+disp8 @RW6
INCW
@@RW5+disp8 RW5
CALL
JMP
JMP
JMP
+6 @RW6
JMP
CALL
@@RW5+disp8 @RW5
INCW
@@RW1+disp16 @RW1
JMP
JMP
+5 @RW5
INCW
@@RW4+disp8 RW4
CALL
INCW
@@RW3+disp8 RW3
CALL
INCW
@@RW2+disp8 RW2
CALL
INCW
@@RW1+disp8 RW1
CALL
CALL
CALL
@@RW4+disp8 @RW4
INCW
40
@@RW0+disp8 RW0
CALL
30
CALL
@@RW1+disp16 @@RW1
JMP
JMP
+4 @RW4
CALL
@@RW3+disp8 @RW3
JMP
JMP
+1 @RW1
CALL
20
@@RW0+disp8 @RW0
JMP
10
+0 @RW0
JMP
00
RW0
MOVW
@RW2
@RW0+
DECW
addr16
@RW3+
MOVW
A,
@RW2+
MOVW
@PC+disp16 A,
DECW
@RW1+
MOVW
@RW1+RW7 A,
DECW
MOVW
@RW0+RW7 A,
DECW
MOVW
@RW3+disp16 A,
@RW3
DECW
@RW2+disp16 A,
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
#imm16
XCHW
XCHW
@RW0+disp16, A,
#imm16
@RW0
MOVW
MOVW
MOVW
@RW1+disp16, @RW1,
A
#imm16
MOVW
XCHW
@RW0+RW7, A,
#imm16
@RW0+
MOVW
XCHW
@RW1+RW7, A,
@RW1+
#imm16
MOVW
MOVW
@RW1+RW7, @RW1+,
A
#imm16
MOVW
@PC+disp16, @RW2+,
A
#imm16
MOVW
addr16,
A
MOVW
MOVW
MOVW
@RW3+,
#imm16
MOVW
MOVW
@RW0+RW7, @RW0+,
A
#imm16
MOVW
MOVW
addr16,
#imm16
XCHW
A,
@RW3+
XCHW
@PC+disp16, A,
#imm16
@RW2+
XCHW
@RW3+disp16, A,
#imm16
@RW3
@RW2
#imm16
MOVW
MOVW
@RW3+disp16, @RW3,
A
#imm16
MOVW
#imm16
A
XCHW
@RW2+disp16, A,
@RW2+disp16, @RW2,
MOVW
MOVW
MOVW
XCHW
@RW1+disp16, A,
#imm16
@RW1
MOVW
MOVW
@RW0+disp16, @RW0,
A
#imm16
RW6
XCHW
@RW7+disp8, A,
#imm16
RW7
MOVW
MOVW
#imm16
@RW6+disp8, A,
MOVW
XCHW
A,
RW5
XCHW
A,
RW4
XCHW
A,
RW3
XCHW
A,
RW2
XCHW
A,
RW1
XCHW
A,
RW0
E0
MOVW
@RW7+disp8, RW7,
A
#imm16
MOVW
@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
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
付録
C.6 ea 系命令
F2MC-16LX ファミリ
付表 C-8 ea 系命令 その 4 ( 第 1 バイト =73H)
CM44-00201-4
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
SUB
A,
@RW1+disp8 R1
ADD
A,
SUB
A,
@RW2+disp8 R2
ADD
A,
SUB
A,
@RW3+disp8 R3
ADD
A,
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
+2 A,
R2
ADD
+3 A,
R3
ADD
+4 A,
R4
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+
R0
SUB
A,
@RW3+
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
F2MC-16LX ファミリ
付録
C.6 ea 系命令
付表 C-9 ea 系命令 その 5 ( 第 1 バイト =74H)
327
328
FUJITSU MICROELECTRONICS LIMITED
SUB
SUBC
@RW3+disp8, A,
A
R3
SUB
SUBC
@RW4+disp8, A,
A
R4
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
SUB
@RW3+disp8, R3,
A
A
ADD
SUB
@RW4+disp8, R4,
A
A
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
SUB
@RW3+disp16, @RW3,
A
A
ADD
+3 R3,
A
ADD
+4 R4,
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
addr16,
A
ADD
+F @RW3+,
A
SUB
@RW3+,
A
SUB
@PC+disp16, @RW2+,
A
A
SUB
addr16,
A
SUBC
A,
@RW3+
SUBC
@PC+disp16, A,
A
@RW2+
SUB
ADD
@RW0+
ADD
+E @RW2+,
A
SUB
SUBC
@RW1+RW7, A,
A
@RW1+
ADD
SUB
@RW1+RW7, @RW1+,
A
A
A
A
SUBC
A
SUB
@RW0+RW7, A,
@RW0+RW7, @RW0+,
ADD
ADD
+D @RW1+,
A
A
+C @RW0+,
ADD
SUB
SUBC
@RW2+disp8, A,
A
R2
SUB
@RW2+disp8, R2,
A
A
ADD
SUB
ADD
ADD
+2 R2,
A
SUBC
@RW3+disp16, A,
A
@RW3
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
AND
A
NEG
addr16
AND
@RW3+,
A
AND
@PC+disp16 @RW2+,
A
NEG
AND
@RW1+RW7 @RW1+,
A
NEG
@RW0+RW7 @RW0+,
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
OR
A
AND
addr16,
A
OR
@RW3+,
A
OR
@PC+disp16, @RW2+,
A
A
AND
OR
@RW1+RW7, @RW1+,
A
A
AND
A
@RW0+RW7, @RW0+,
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
XOR
A
OR
addr16,
A
XOR
@RW3+,
A
XOR
@PC+disp16, @RW2+,
A
A
OR
XOR
@RW1+RW7, @RW1+,
A
A
OR
A
@RW0+RW7, @RW0+,
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
付録
C.6 ea 系命令
F2MC-16LX ファミリ
付表 C-10 ea 系命令 その 6 ( 第 1 バイト =75H)
CM44-00201-4
@RW0+disp8 RW0
RW0
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
SUBW
A,
@RW2+disp8 RW2
ADDW
A,
SUBW
A,
@RW3+disp8 RW3
ADDW
A,
SUBW
A,
@RW4+disp8 RW4
ADDW
A,
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
+3 A,
RW3
ADDW
+4 A,
RW4
ADDW
+5 A,
RW5
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
+2 A,
RW2
+9 A,
SUBW
A,
@RW1+disp8 RW1
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
F2MC-16LX ファミリ
付録
C.6 ea 系命令
付表 C-11 ea 系命令 その 7 ( 第 1 バイト =76H)
329
330
SUBW
@RW4+disp8, RW4,
A
A
ADDW
ADDW
ADDW
+5 RW5,
A
ADDW
FUJITSU MICROELECTRONICS LIMITED
ADDW
+F @RW3+,
A
A
+E @RW2+,
ADDW
addr16,
A
A
@PC+disp16,
SUBW
@RW3+,
A
SUBW
@RW2+,
A
SUBW
addr16,
A
A
@PC+disp16,
SUBCW
A,
@RW3+
SUBCW
A,
@RW2+
SUBW
SUBW
SUBCW
@RW0+RW7, A,
A
@RW0+
SUBW
ADDW
ADDW
ADDW
+D @RW1+,
A
ADDW
SUBW
@RW0+RW7, @RW0+,
A
A
SUBCW
@RW1+RW7, A,
A
@RW1+
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,
ADDW
ADDW
+4 RW4,
A
SUBW
@RW5+disp8, RW5,
A
A
SUBW
@RW3+disp8, RW3,
A
A
A
A
SUBCW
A
ADDW
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
付録
C.6 ea 系命令
F2MC-16LX ファミリ
付表 C-12 ea 系命令 その 8 ( 第 1 バイト =77H)
CM44-00201-4
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
MULUW
A,
@RW2+disp8 RW2
MULU
A,
MULUW
A,
@RW3+disp8 RW3
MULU
A,
MULUW
A,
@RW4+disp8 RW4
MULU
A,
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
+3 A,
R3
MULU
+4 A,
R4
MULU
+5 A,
R5
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
+2 A,
R2
MULU
+D A,
@RW1+
MULUW
A,
@RW1+disp8 RW1
MULUW
A,
@RW3+
MULUW
A,
@RW2+
MULUW
A,
@RW1+
MULUW
A,
@RW0+
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
F2MC-16LX ファミリ
付録
C.6 ea 系命令
付表 C-13 ea 系命令 その 9 ( 第 1 バイト =78H)
331
付録
C.7 MOVEA RWi,ea 命令
C.7
F2MC-16LX ファミリ
MOVEA RWi,ea 命令
付表 C-14 に , MOVEA RWi,ea 命令の一覧表を示します。
332
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
MOVEA
RW0,
MOVEA
RW1,
@RW4+disp8 RW4
MOVEA
RW0,
MOVEA
RW0,
MOVEA
+4 RW0,
RW4
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,
@RW3+disp8 RW3
MOVEA
RW1,
@RW5+disp8 RW5
MOVEA
RW0,
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
F2MC-16LX ファミリ
付録
C.7 MOVEA RWi,ea 命令
■ MOVEA RWi,ea 命令
付表 C-14 MOVEA RWi, ea 命令 ( 第 1 バイト =79H)
333
付録
C.8 MOV Ri,ea 命令
C.8
F2MC-16LX ファミリ
MOV Ri,ea 命令
付表 C-15 に , MOV Ri,ea 命令の一覧表を示します。
334
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
MOV
R0,
MOV
R1,
@RW2+disp8 R2
MOV
R0,
MOV
R1,
@RW3+disp8 R3
MOV
R0,
MOV
R1,
@RW4+disp8 R4
MOV
R0,
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
+2 R0,
R2
MOV
+3 R0,
R3
MOV
+4 R0,
R4
MOV
+5 R0,
R5
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,
@RW1+RW7
MOV
R0,
MOV
+E R0,
@RW2+
MOV
+D R0,
@RW1+
@RW0+RW7
MOV
R1,
@RW1+disp8 R1
R0
MOV
R1,
@RW3+
MOV
R1,
@RW2+
MOV
R1,
@RW1+
MOV
R1,
@RW0+
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
F2MC-16LX ファミリ
付録
C.8 MOV Ri,ea 命令
■ MOV Ri,ea 命令
付表 C-15 MOV Ri, ea 命令 ( 第 1 バイト =7AH)
335
付録
C.9 MOVW RWi,ea 命令
C.9
F2MC-16LX ファミリ
MOVW RWi,ea 命令
付表 C-16 に , MOVW RWi,ea 命令の一覧表を示します。
336
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
MOVW
RW0,
MOVW
RW1,
@RW1+disp8 RW1
MOVW
RW0,
MOVW
RW1,
@RW2+disp8 RW2
MOVW
RW0,
MOVW
RW1,
@RW3+disp8 RW3
MOVW
RW0,
MOVW
RW1,
@RW4+disp8 RW4
MOVW
RW0,
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
+1 RW0,
RW1
MOVW
+2 RW0,
RW2
MOVW
+3 RW0,
RW3
MOVW
+4 RW0,
RW4
MOVW
+5 RW0,
RW5
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,
@RW1+RW7
MOVW
RW0,
MOVW
+E RW0,
@RW2+
MOVW
+D RW0,
@RW1+
RW0
@RW0+RW7
MOVW
RW1,
@RW0+disp8 RW0
MOVW
RW1,
@RW3+
MOVW
RW1,
@RW2+
MOVW
RW1,
@RW1+
MOVW
RW1,
@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
F2MC-16LX ファミリ
付録
C.9 MOVW RWi,ea 命令
■ MOVW RWi,ea 命令
付表 C-16 MOVW RWi, ea 命令 ( 第 1 バイト =7BH)
337
付録
C.10 MOV ea,Ri 命令
F2MC-16LX ファミリ
C.10 MOV ea,Ri 命令
付表 C-17 に , MOV ea,Ri 命令の一覧表を示します。
338
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
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
@RW1+RW7, @RW1+,
R0
R1
MOV
MOV
+E @RW2+,
R0
R0
+F @RW3+,
MOV
MOV
MOV
+D @RW1+,
R0
MOV
addr16,
R0
MOV
@RW3+,
R1
MOV
@PC+disp16, @RW2+,
R0
R1
MOV
@RW0+RW7, @RW0+,
R0
R1
MOV
+C @RW0+,
R0
R1
R0
MOV
R0
R2
MOV
addr16,
R1
MOV
@RW3+,
R2
MOV
@PC+disp16, @RW2+,
R1
R2
MOV
MOV
@RW1+RW7, @RW1+,
R1
R2
MOV
MOV
@RW0+RW7, @RW0+,
R1
R2
MOV
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
MOV
R6
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
F2MC-16LX ファミリ
付録
C.10 MOV ea,Ri 命令
■ MOV ea,Ri 命令
付表 C-17 MOV Ri, ea 命令 ( 第 1 バイト =7CH)
339
付録
C.11 MOVW ea,RWi 命令
F2MC-16LX ファミリ
C.11 MOVW ea,RWi 命令
付表 C-18 に , MOVW ea,RWi 命令の一覧表を示します。
340
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
MOVW
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
MOVW
@RW1+disp8, RW1,
RW0
RW1
MOVW
MOVW
@RW2+disp8, RW2,
RW0
RW1
MOVW
MOVW
@RW3+disp8, RW3,
RW0
RW1
MOVW
MOVW
@RW4+disp8, RW4,
RW0
RW1
MOVW
MOVW
@RW5+disp8, RW5,
RW0
RW1
MOVW
MOVW
@RW6+disp8, RW6,
RW0
RW1
MOVW
MOVW
@RW7+disp8, RW7,
RW0
RW1
MOVW
MOVW
@RW0+disp16, @RW0,
RW0
RW1
MOVW
MOVW
@RW1+disp16, @RW1,
RW0
RW1
MOVW
MOVW
@RW2+disp16, @RW2,
RW0
RW1
MOVW
MOVW
@RW3+disp16, @RW3,
RW0
RW1
MOVW
MOVW
@RW0+RW7, @RW0+,
RW0
RW1
MOVW
MOVW
@RW1+RW7, @RW1+,
RW0
RW1
MOVW
MOVW
@PC+disp16, @RW2+,
RW0
RW1
MOVW
addr16,
RW0
MOVW
+2 RW2,
RW0
MOVW
+3 RW3,
RW0
MOVW
+4 RW4,
RW0
MOVW
+5 RW5,
RW0
MOVW
+6 RW6,
RW0
MOVW
+7 RW7,
RW0
MOVW
+8 @RW0,
RW0
MOVW
+9 @RW1,
RW0
MOVW
+A @RW2,
RW0
MOVW
+B @RW3,
RW0
MOVW
+C @RW0+,
RW0
MOVW
+D @RW1+,
RW0
MOVW
+E @RW2+,
RW0
MOVW
+F @RW3+,
RW0
MOVW
@RW3+,
RW1
MOVW
RW1
MOVW
addr16,
RW1
MOVW
@RW3+,
RW2
MOVW
@PC+disp16, @RW2+,
RW1
RW2
MOVW
MOVW
@RW1+RW7, @RW1+,
RW1
RW2
MOVW
MOVW
@RW0+RW7, @RW0+,
RW1
RW2
MOVW
MOVW
@RW3+disp16, @RW3,
RW1
RW2
MOVW
MOVW
@RW2+disp16, @RW2,
RW1
RW2
MOVW
MOVW
@RW1+disp16, @RW1,
RW1
RW2
MOVW
MOVW
@RW0+disp16, @RW0,
RW1
RW2
MOVW
MOVW
@RW7+disp8, RW7,
RW1
RW2
MOVW
MOVW
@RW6+disp8, RW6,
RW1
RW2
MOVW
MOVW
@RW5+disp8, RW5,
RW1
RW2
MOVW
MOVW
@RW4+disp8, RW4,
RW1
RW2
MOVW
MOVW
@RW3+disp8, RW3,
RW1
RW2
MOVW
MOVW
@RW2+disp8, RW2,
RW1
RW2
MOVW
MOVW
@RW1+disp8, RW1,
RW1
RW2
MOVW
RW2
RW1
MOVW
40
RW0
MOVW
+1 RW1,
RW0
RW0
MOVW
30
@RW0+disp8, RW0,
MOVW
20
@RW0+disp8, RW0,
MOVW
+0 RW0,
10
00
MOVW
60
RW3
MOVW
addr16,
RW2
MOVW
@RW3+,
RW3
MOVW
@PC+disp16, @RW2+,
RW2
RW3
MOVW
MOVW
@RW1+RW7, @RW1+,
RW2
RW3
MOVW
MOVW
@RW0+RW7, @RW0+,
RW2
RW3
MOVW
MOVW
@RW3+disp16, @RW3,
RW2
RW3
MOVW
MOVW
@RW2+disp16, @RW2,
RW2
RW3
MOVW
MOVW
@RW1+disp16, @RW1,
RW2
RW3
MOVW
MOVW
@RW0+disp16, @RW0,
RW2
RW3
MOVW
MOVW
@RW7+disp8, RW7,
RW2
RW3
MOVW
MOVW
@RW6+disp8, RW6,
RW2
RW3
MOVW
MOVW
@RW5+disp8, RW5,
RW2
RW3
MOVW
MOVW
@RW4+disp8, RW4,
RW2
RW3
MOVW
MOVW
@RW3+disp8, RW3,
RW2
RW3
MOVW
MOVW
@RW2+disp8, RW2,
RW2
RW3
MOVW
MOVW
@RW1+disp8, RW1,
RW2
RW3
MOVW
RW2
@RW0+disp8, RW0,
MOVW
50
MOVW
80
RW4
MOVW
addr16,
RW3
MOVW
@RW3+,
RW4
MOVW
@PC+disp16, @RW2+,
RW3
RW4
MOVW
MOVW
@RW1+RW7, @RW1+,
RW3
RW4
MOVW
MOVW
@RW0+RW7, @RW0+,
RW3
RW4
MOVW
MOVW
@RW3+disp16, @RW3,
RW3
RW4
MOVW
MOVW
@RW2+disp16, @RW2,
RW3
RW4
MOVW
MOVW
@RW1+disp16, @RW1,
RW3
RW4
MOVW
MOVW
@RW0+disp16, @RW0,
RW3
RW4
MOVW
MOVW
@RW7+disp8, RW7,
RW3
RW4
MOVW
MOVW
@RW6+disp8, RW6,
RW3
RW4
MOVW
MOVW
@RW5+disp8, RW5,
RW3
RW4
MOVW
MOVW
@RW4+disp8, RW4,
RW3
RW4
MOVW
MOVW
@RW3+disp8, RW3,
RW3
RW4
MOVW
MOVW
@RW2+disp8, RW2,
RW3
RW4
MOVW
MOVW
@RW1+disp8, RW1,
RW3
RW4
MOVW
RW3
@RW0+disp8, RW0,
MOVW
70
MOVW
A0
RW5
MOVW
addr16,
RW4
MOVW
@RW3+,
RW5
MOVW
@PC+disp16, @RW2+,
RW4
RW5
MOVW
MOVW
@RW1+RW7, @RW1+,
RW4
RW5
MOVW
MOVW
@RW0+RW7, @RW0+,
RW4
RW5
MOVW
MOVW
@RW3+disp16, @RW3,
RW4
RW5
MOVW
MOVW
@RW2+disp16, @RW2,
RW4
RW5
MOVW
MOVW
@RW1+disp16, @RW1,
RW4
RW5
MOVW
MOVW
@RW0+disp16, @RW0,
RW4
RW5
MOVW
MOVW
@RW7+disp8, RW7,
RW4
RW5
MOVW
MOVW
@RW6+disp8, RW6,
RW4
RW5
MOVW
MOVW
@RW5+disp8, RW5,
RW4
RW5
MOVW
MOVW
@RW4+disp8, RW4,
RW4
RW5
MOVW
MOVW
@RW3+disp8, RW3,
RW4
RW5
MOVW
MOVW
@RW2+disp8, RW2,
RW4
RW5
MOVW
MOVW
@RW1+disp8, RW1,
RW4
RW5
MOVW
RW4
@RW0+disp8, RW0,
MOVW
90
MOVW
C0
RW6
MOVW
addr16,
RW5
MOVW
@RW3+,
RW6
MOVW
@PC+disp16, @RW2+,
RW5
RW6
MOVW
MOVW
@RW1+RW7, @RW1+,
RW5
RW6
MOVW
MOVW
@RW0+RW7, @RW0+,
RW5
RW6
MOVW
MOVW
@RW3+disp16, @RW3,
RW5
RW6
MOVW
MOVW
@RW2+disp16, @RW2,
RW5
RW6
MOVW
MOVW
@RW1+disp16, @RW1,
RW5
RW6
MOVW
MOVW
@RW0+disp16, @RW0,
RW5
RW6
MOVW
MOVW
@RW7+disp8, RW7,
RW5
RW6
MOVW
MOVW
@RW6+disp8, RW6,
RW5
RW6
MOVW
MOVW
@RW5+disp8, RW5,
RW5
RW6
MOVW
MOVW
@RW4+disp8, RW4,
RW5
RW6
MOVW
MOVW
@RW3+disp8, RW3,
RW5
RW6
MOVW
MOVW
@RW2+disp8, RW2,
RW5
RW6
MOVW
MOVW
@RW1+disp8, RW1,
RW5
RW6
MOVW
RW5
@RW0+disp8, RW0,
MOVW
B0
MOVW
E0
RW7
MOVW
addr16,
RW6
MOVW
@RW3+,
RW7
MOVW
@PC+disp16, @RW2+,
RW6
RW7
MOVW
MOVW
@RW1+RW7, @RW1+,
RW6
RW7
MOVW
MOVW
@RW0+RW7, @RW0+,
RW6
RW7
MOVW
MOVW
@RW3+disp16, @RW3,
RW6
RW7
MOVW
MOVW
@RW2+disp16, @RW2,
RW6
RW7
MOVW
MOVW
@RW1+disp16, @RW1,
RW6
RW7
MOVW
MOVW
@RW0+disp16, @RW0,
RW6
RW7
MOVW
MOVW
@RW7+disp8, RW7,
RW6
RW7
MOVW
MOVW
@RW6+disp8, RW6,
RW6
RW7
MOVW
MOVW
@RW5+disp8, RW5,
RW6
RW7
MOVW
MOVW
@RW4+disp8, RW4,
RW6
RW7
MOVW
MOVW
@RW3+disp8, RW3,
RW6
RW7
MOVW
MOVW
@RW2+disp8, RW2,
RW6
RW7
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
F2MC-16LX ファミリ
付録
C.11 MOVW ea,RWi 命令
■ MOVW ea,RWi 命令
付表 C-18 MOVW ea,RWi 命令 ( 第 1 バイト =7DH)
341
付録
C.12 XCH Ri,ea 命令
F2MC-16LX ファミリ
C.12 XCH Ri,ea 命令
付表 C-19 に , XCH Ri,ea 命令の一覧表を示します。
342
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
XCH
R0,
XCH
R1,
@RW4+disp8 R4
XCH
R0,
XCH
R0,
XCH
+4 R0,
R4
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,
@RW3+disp8 R3
XCH
R1,
@RW5+disp8 R5
XCH
R0,
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
F2MC-16LX ファミリ
付録
C.12 XCH Ri,ea 命令
■ XCH Ri,ea 命令
付表 C-19 XCH Ri, ea 命令 ( 第 1 バイト =7EH)
343
付録
C.13 XCHW RWi,ea 命令
F2MC-16LX ファミリ
C.13 XCHW RWi,ea 命令
付表 C-20 に , XCHW RWi,ea 命令の一覧表を示します。
344
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
CM44-00201-4
FUJITSU MICROELECTRONICS LIMITED
XCHW
RW0,
XCHW
RW1,
@RW2+disp8 RW2
XCHW
RW0,
XCHW
RW1,
@RW3+disp8 RW3
XCHW
RW1,
@RW4+disp8 RW4
XCHW
RW1,
@RW5+disp8 RW5
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
+2 RW0,
RW2
XCHW
+3 RW0,
RW3
XCHW
+4 RW0,
RW4
XCHW
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+
@PC+disp16
XCHW
RW0,
addr16
XCHW
+E RW0,
@RW2+
XCHW
+F RW0,
@RW3+
XCHW
RW0,
@RW1+RW7
@RW1+
+D RW0,
XCHW
RW0,
@RW0+RW7
XCHW
RW0,
XCHW
RW0,
XCHW
RW0,
XCHW
RW0,
XCHW
+9 RW0,
RW5
+5 RW0,
RW1
XCHW
RW1,
@RW3+
XCHW
RW1,
@RW2+
XCHW
RW1,
@RW1+
XCHW
RW1,
@RW0+
XCHW
RW1,
@RW1+disp8 RW1
XCHW
+1 RW0,
XCHW
RW0,
RW0
XCHW
RW1,
RW0
XCHW
RW0,
+0 RW0,
@RW0+disp8
20
XCHW
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
F2MC-16LX ファミリ
付録
C.13 XCHW RWi,ea 命令
■ XCHW RWi,ea 命令
付表 C-20 XCHW RWi, ea 命令 ( 第 1 バイト =7FH)
345
付録
C.13 XCHW RWi,ea 命令
346
F2MC-16LX ファミリ
FUJITSU MICROELECTRONICS LIMITED
CM44-00201-4
索引
索引
Numerics
2 バイト
2 バイト系統マップ ..............................................321
2 バイト系統
2 バイト系統マップ ..............................................321
A
A
アキュムレータ (A) ................................................18
ADD
ADD (Add Byte Data of Destination and Source to
Destination) .........................................................79
Add Byte Data
ADD (Add Byte Data of Destination and Source to
Destination) .........................................................79
ADDC (Add Byte Data of Accumulator and Effective
Address with Carry to Accumulator) ..................82
ADDC (Add Byte Data of AL and AH with Carry to
AL) ......................................................................81
Add Decimal Data
ADDDC (Add Decimal Data of AL and AH with Carry
to AL) ..................................................................86
Add Long Word Data
ADDL (Add Long Word Data of Destination and
Source to Destination) ........................................87
Add Word Data
ADDCW (Add Word Data of Accumulator and
Effective Address with Carry to Accumulator) ..84
ADDSP (Add Word Data of Stack Pointer and
Immediate Data to Stack Pointer) .......................89
ADDW (Add Word Data of AL and AH to AL) ......90
ADDW (Add Word Data of Destination and Source to
Destination) .........................................................91
ADDC
ADDC (Add Byte Data of Accumulator and Effective
Address with Carry to Accumulator) ..................82
ADDC (Add Byte Data of AL and AH with Carry to
AL) ......................................................................81
ADDCW
ADDCW (Add Word Data of Accumulator and
Effective Address with Carry to Accumulator) ..84
ADDDC
ADDDC (Add Decimal Data of AL and AH with Carry
to AL) ..................................................................86
ADDL
ADDL (Add Long Word Data of Destination and
Source to Destination) ........................................87
ADDSP
ADDSP (Add Word Data of Stack Pointer and
Immediate Data to Stack Pointer) .......................89
ADDW
ADDW (Add Word Data of AL and AH to AL) ......90
ADDW (Add Word Data of Destination and Source to
Destination) .........................................................91
CM44-00201- 4
AND
AND (And Byte Data of Destination and Source to
Destination) ........................................................93
AND (And Byte Data of Immediate Data and Condition
Code Register) ....................................................95
And Byte Data
AND (And Byte Data of Destination and Source to
Destination) ........................................................93
AND (And Byte Data of Immediate Data and Condition
Code Register) ....................................................95
And Long Word Data
ANDL (And Long Word Data of Destination and
Source to Destination) ........................................ 97
And Word Data
ANDW (And Word Data of AH and AL to AL) ...... 99
ANDW (And Word Data of Destination and Source to
Destination) ......................................................100
ANDL
ANDL (And Long Word Data of Destination and
Source to Destination) ........................................ 97
ANDW
ANDW (And Word Data of AH and AL to AL) ...... 99
ANDW (And Word Data of Destination and Source to
Destination) ......................................................100
Arithmetic Shift Byte Data
ASR (Arithmetic Shift Byte Data of Accumulator to
Right) ................................................................ 102
Arithmetic Shift Long Word Data
ASRL (Arithmetic Shift Long Word Data of
Accumulator to Right) ...................................... 104
Arithmetic Shift Word Data
ASRW (Arithmetic Shift Word Data of Accumulator to
Right) ........................................................106, 107
ASR
ASR (Arithmetic Shift Byte Data of Accumulator to
Right) ................................................................ 102
ASRL
ASRL (Arithmetic Shift Long Word Data of
Accumulator to Right) ...................................... 104
ASRW
ASRW (Arithmetic Shift Word Data of Accumulator to
Right) ........................................................106, 107
B
BAP
バッファアドレスポインタ (BAP) .......................56
BBcc
BBcc (Branch if Bit Condition satisfied) ................ 109
Bcc
Bcc (Branch relative if Condition satisfied) ........... 111
Branch
BBcc (Branch if Bit Condition satisfied) ................ 109
Bcc (Branch relative if Condition satisfied) ........... 111
FUJITSU MICROELECTRONICS LIMITED
347
索引
C
CALL
CALL (Call Subrourtine) ........................................113
Call physical Address
CALLP (Call physical Address) .............................115
Call Subrourtine
CALL (Call Subrourtine) ........................................113
Call Vectored Subroutine
CALLV (Call Vectored Subroutine) .......................117
CALLP
CALLP (Call physical Address) .............................115
CALLV
CALLV (Call Vectored Subroutine) .......................117
Carry
ADDC (Add Byte Data of Accumulator and Effective
Address with Carry to Accumulator) ..................82
ADDC (Add Byte Data of AL and AH with Carry to
AL) ......................................................................81
ADDCW (Add Word Data of Accumulator and
Effective Address with Carry to Accumulator) ..84
ADDDC (Add Decimal Data of AL and AH with Carry
to AL) ..................................................................86
SUBDC (Subtract Decimal Data of AL from AH with
Carry to AL) .....................................................265
CBNE
CBNE (Compare Byte Data and Branch if not equal)
...........................................................................119
CCR
コンディションコードレジスタ (CCR) ...............25
Clear Bit
CLRB (Clear Bit) ....................................................121
CLRB
CLRB (Clear Bit) ....................................................121
CMP
CMP (Compare Byte Data of Destination and Source)
..........................................................................122
CMPL
CMPL (Compare Long Word Data of Destination and
Source) ..............................................................124
CMPW
CMPW (Compare Word Data of Destination and
Source) ..............................................................125
CMR
コモンレジスタバンクプリフィックス (CMR) ..36
Compare Byte Data
CMP (Compare Byte Data of Destination and Source)
...........................................................................122
Compare Byte Data and Branch
CBNE (Compare Byte Data and Branch if not equal)
...........................................................................119
Compare Long Word Data
CMPL (Compare Long Word Data of Destination and
Source) ..............................................................124
Compare Word Data
CMPW (Compare Word Data of Destination and
Source) ..............................................................125
Compare Word Data and Branch
CWBNE (Compare Word Data and Branch if not equal)
...........................................................................127
CPU
CPU のメモリ空間 ....................................................6
348
F2MC-16LX CPU コアの概要 ..................................2
F2MC-16LX CPU コアの特長 ..................................2
CWBNE
CWBNE (Compare Word Data and Branch if not equal)
..........................................................................127
D
DBNZ
DBNZ (Decrement Byte Data and Branch if not zero)
........................................................................... 129
DCT
データカウンタ (DCT) ...........................................58
DEC
DEC (Decrement Byte Data) ..................................131
DECL
DECL (Decrement Long Word Data) .....................132
Decrement Byte Data
DEC (Decrement Byte Data) ..................................131
Decrement Byte Data and Branch
DBNZ (Decrement Byte Data and Branch if not zero)
........................................................................... 129
Decrement Long Word Data
DECL (Decrement Long Word Data) .....................132
Decrement Word Data
DECW (Decrement Word Data) ............................. 133
Decrement Word Data and Branch
DWBNZ (Decrement Word Data and Branch if not
Zero) ................................................................. 142
DECW
DECW (Decrement Word Data) ............................. 133
DIV
DIV (Divide Word Data by Byte Data) .................. 134
Divide Long Word Data
DIVW (Divide Long Word Data by Word Data) ...136
Divide unsigned Long Word Data
DIVUW (Divide unsigned Long Word Data by
unsigned Word Data) ........................................ 140
Divide unsigned Word Data
DIVU (Divide unsigned Word Data by unsigned Byte
Data) ................................................................. 138
Divide Word Data
DIV (Divide Word Data by Byte Data) .................. 134
DIVU
DIVU (Divide unsigned Word Data by unsigned Byte
Data) ................................................................. 138
DIVUW
DIVUW (Divide unsigned Long Word Data by
unsigned Word Data) ........................................ 140
DIVW
DIVW (Divide Long Word Data by Word Data) ...136
DPR
ダイレクトページレジスタ (DPR) .......................27
DWBNZ
DWBNZ (Decrement Word Data and Branch if not
Zero) ................................................................. 142
E
ea
ea 系命令 ................................................................ 323
Exchange Byte Data
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
索引
XCH (Exchange Byte Data of Source to Destination)
...........................................................................275
Exchange Word Data
XCHW (Exchange Word Data of Source to
Destination) .......................................................277
Exclusive Or Byte Data
XOR (Exclusive Or Byte Data of Destination and
Source to Destination) ......................................278
Exclusive Or Long Word Data
XORL (Exclusive Or Long Word Data of Destination)
..........................................................................280
Exclusive Or Word Data
XORW (Exclusive Or Word Data of AH and AL to AL)
...........................................................................282
XORW (Exclusive Or Word Data of Destination and
Source to Destination) ......................................283
EXT
EXT (Sign Extend from Byte Data to Word Data) .144
EXTW
EXTW (Sign Extend from Word Data to Long Word
Data) .................................................................145
INCW
INCW (Increment Word Data) ............................... 152
INT
INT (Software Interrupt) .........................................153
INT (Software Interrupt・( ベクタ指定 )) ............155
INT9 (Software Interrupt) .......................................157
INTP
INTP (Software Interrupt) ...................................... 159
IOA
I/O レジスタアドレスポインタ (IOA) ................. 57
ISCS
拡張インテリジェント I/O サービスステータスレ
ジスタ (ISCS) ....................................................56
ISD
拡張インテリジェント I/O サービスディスクリプ
タ (ISD) .............................................................. 55
ISE
拡張インテリジェント I/O サービス許可ビット
(bit11 または bit3: ISE) ..................................... 54
拡張インテリジェント I/O サービス許可ビット
(bit3: ISE) ...........................................................54
F
J
F2MC-16LX
F2MC-16LX CPU コアの概要 ..................................2
F2MC-16LX CPU コアの特長 ..................................2
F2MC-16LX の構成例 ...............................................3
Fill String Byte
FILS (Fill String Byte) ............................................146
Fill String Word
FILSW (Fill String Word) .......................................148
FILS
FILS (Fill String Byte) ............................................146
FILSW
FILSW (Fill String Word) .......................................148
JCTX
JCTX (Jump Context) .............................................161
JMP
JMP (Jump Destination Address) ........................... 163
JMPP
JMPP (Jump Destination Physical Address) ..........164
Jump
JCTX (Jump Context) .............................................161
JMP (Jump Destination Address) ........................... 163
JMPP (Jump Destination Physical Address) ..........164
I
LINK
LINK (Link and create new stack frame) ............... 165
Logical Shift Byte Data
LSL (Logical Shift Byte Data of Accumulator to Left)
........................................................................... 166
LSR (Logical Shift Byte Data of Accumulator to Right)
..........................................................................172
Logical Shift Long Word Data
LSLL (Logical Shift Long Word Data of Accumulator
to Left) .............................................................. 168
LSRL (Logical Shift Long Word Data of Accumulator
to Right) ............................................................ 174
Logical Shift Word Data
LSLW (Logical Shift Word Data of Accumulator to
Left) ..........................................................170, 171
LSRW (Logical Shift Word Data of Accumulator to
Right) ........................................................176, 177
LSL
LSL (Logical Shift Byte Data of Accumulator to Left)
........................................................................... 166
LSLL
LSLL (Logical Shift Long Word Data of Accumulator
to Left) .............................................................. 168
LSLW
LSLW (Logical Shift Word Data of Accumulator to
I/O レジスタアドレスポインタ
I/O レジスタアドレスポインタ (IOA) .................57
ICR
割込み制御レジスタ (ICR) のビット構成 ...........52
割込み制御レジスタ (ICR0 ∼ ICR15) の機能 .....52
ICS
拡張インテリジェント I/O サービスチャネル選択
ビット (bit7 ∼ bit4: ICS0 ∼ ICS3) ..................53
IL
割込みレベル設定ビット (bit10 ∼ bit8 または bit2
∼ bit0: IL2 ∼ IL0) ............................................54
ILM
割込みレベルマスク (ILM) ....................................23
INC
INC (Increment Byte Data ( アドレス指定 )) .......150
INCL
INCL (Increment Long Word Data) .......................151
Increment Byte Data
INC (Increment Byte Data ( アドレス指定 )) .......150
Increment Long Word Data
INCL (Increment Long Word Data) .......................151
Increment Word Data
INCW (Increment Word Data) ...............................152
CM44-00201- 4
L
FUJITSU MICROELECTRONICS LIMITED
349
索引
Left) ..........................................................170, 171
LSR
LSR (Logical Shift Byte Data of Accumulator to Right)
..........................................................................172
LSRL
LSRL (Logical Shift Long Word Data of Accumulator
to Right) ............................................................174
LSRW
LSRW (Logical Shift Word Data of Accumulator to
Right) ........................................................176, 177
M
MOV
MOV (Move Byte Data from Accumulator to
Destination) .......................................................181
MOV (Move Byte Data from AH to Memory ) ......186
MOV (Move Byte Data from Source to Accumulator)
...........................................................................179
MOV (Move Byte Data from Source to Destination)
...........................................................................184
MOV (Move Byte Immediate data to Destination) 182
MOV ea,Ri 命令 .....................................................339
MOV Ri,ea 命令 .....................................................335
MOVB
MOVB (Move Bit Data from Accumulator to Bit
Address) ............................................................189
MOVB (Move Bit Data from Bit Address to
Accumulator) ....................................................187
Move Bit Data
MOVB (Move Bit Data from Accumulator to Bit
Address) ............................................................189
MOVB (Move Bit Data from Bit Address to
Accumulator) ....................................................187
Move Byte Data
MOV (Move Byte Data from Accumulator to
Destination) .......................................................181
MOV (Move Byte Data from AH to Memory ) ......186
MOV (Move Byte Data from Source to Accumulator)
...........................................................................179
MOV (Move Byte Data from Source to Destination)
...........................................................................184
MOVX (Move Byte Data with Sign Extension from
Source to Accumulator) ....................................209
Move Byte Immediate data
MOV (Move Byte Immediate data to Destination) 182
Move Effective Address
MOVEA (Move Effective Address to Destination) 191
Move Immediate Nibble Data
MOVN (Move Immediate Nibble Data to Accumulator)
...........................................................................194
Move Immediate Word Data
MOVW (Move Immediate Word Data to destination)
...........................................................................203
MOVW (Move Immediate Word Data to io) ..........207
Move Long Word Data
MOVL (Move Long Word Data from Accumulator to
Destination) .......................................................193
MOVL (Move Long Word Data from Source to
Accumulator) ....................................................192
Move String Byte
MOVS (Move String Byte) .....................................195
350
Move String Word
MOVSW (Move String Word) ............................... 197
Move Word Data
MOVW (Move Word Data from Accumulator to
Destination) ......................................................201
MOVW (Move Word Data from AH to Memory) .208
MOVW (Move Word Data from Source to
Accumulator) ....................................................199
MOVW (Move Word Data from source to Destination)
205
MOVEA
MOVEA (Move Effective Address to Destination) 191
MOVEA RWi,ea 命令 ............................................ 333
MOVL
MOVL (Move Long Word Data from Accumulator to
Destination) ......................................................193
MOVL (Move Long Word Data from Source to
Accumulator) ....................................................192
MOVN
MOVN (Move Immediate Nibble Data to Accumulator)
..........................................................................194
MOVS
MOVS (Move String Byte) .....................................195
MOVSW
MOVSW (Move String Word) ............................... 197
MOVW
MOVW (Move Immediate Word Data to destination)
........................................................................... 203
MOVW (Move Immediate Word Data to io) ......... 207
MOVW (Move Word Data from Accumulator to
Destination) ......................................................201
MOVW (Move Word Data from AH to Memory) .208
MOVW (Move Word Data from Source to
Accumulator) ....................................................199
MOVW (Move Word Data from source to Destination)
........................................................................... 205
MOVW ea,RWi 命令 .............................................341
MOVW RWi,ea 命令 .............................................337
MOVX
MOVX (Move Byte Data with Sign Extension from
Source to Accumulator) .................................... 209
MUL
MUL (Multiply Byte Data of Accumulator) ...211, 212
Multiply Byte Data
MUL (Multiply Byte Data of Accumulator) ...211, 212
Multiply Unsigned Byte Data
MULU (Multiply Unsigned Byte Data of Accumulator)
..........................................................................215
MULU (Multiply Unsigned Byte Data of Accumulator
and Effective Address) .....................................216
Multiply Unsigned Word Data
MULUW (Multiply Unsigned Word Data of
Accumulator) ....................................................217
MULUW (Multiply Unsigned Word Data of
Accumulator and Effective Address) ............... 218
Multiply Word Data
MULW (Multiply Word Data of Accumulator) .....213
MULW (Multiply Word Data of Accumulator and
Effective Address) ............................................ 214
MULU
MULU (Multiply Unsigned Byte Data of Accumulator)
..........................................................................215
MULU (Multiply Unsigned Byte Data of Accumulator
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
索引
and Effective Address) .....................................216
MULUW
MULUW (Multiply Unsigned Word Data of
Accumulator) ....................................................217
MULUW (Multiply Unsigned Word Data of
Accumulator and Effective Address) ................218
MULW
MULW (Multiply Word Data of Accumulator) .....213
MULW (Multiply Word Data of Accumulator and
Effective Address) ............................................214
N
NCC
フラグ変化抑止プリフィックスコード (NCC) ...37
NEG
NEG (Negate Byte Data of Destination) .................219
Negate Byte Data
NEG (Negate Byte Data of Destination) .................219
Negate Word Data
NEGW (Negate Word Data of Destination) ...........220
NEGW
NEGW (Negate Word Data of Destination) ...........220
No Operation
NOP (No Operation) ...............................................221
NOP
NOP (No Operation) ...............................................221
NORMALIZE Long Word
NRML (NORMALIZE Long Word) ......................224
NOT
NOT (Not Byte Data of Destination) ......................222
Not Byte Data
NOT (Not Byte Data of Destination) ......................222
Not Word Data
NOTW (Not Word Data of Destination) .................223
NOTW
NOTW (Not Word Data of Destination) .................223
NRML
NRML (NORMALIZE Long Word) ......................224
O
OR
OR (Or Byte Data of Immediate Data and Condition
Code) .................................................................227
OR(Or Byte Data of Destination and Source to
Destination) .......................................................225
Or Byte Data
OR (Or Byte Data of Immediate Data and Condition
Code) .................................................................227
OR(Or Byte Data of Destination and Source to
Destination) .......................................................225
Or Long Word Data
ORL (Or Long Word Data of Destination and Source to
Destination ) ......................................................229
Or Word Data
ORW (Or Word Data of AH and AL to AL) ..........231
ORW(Or Word Data of Destination and Source to
Destination) .......................................................232
ORL
ORL (Or Long Word Data of Destination and Source to
Destination ) ......................................................229
CM44-00201- 4
ORW
ORW (Or Word Data of AH and AL to AL) ..........231
ORW(Or Word Data of Destination and Source to
Destination) ......................................................232
P
PC
プログラムカウンタ (PC) ...................................... 26
Pop Registers
POPW (Pop Registers from Stack Memory) ..........239
Pop Word Data
POPW (Pop Word Data of Accumulator from Stack
Memory) ...........................................................234
POPW (Pop Word Data of AH from Stack Memory)
........................................................................... 236
POPW (Pop Word Data of Program Status from Stack
Memory) ...........................................................237
POPW
POPW (Pop Registers from Stack Memory) ..........239
POPW (Pop Word Data of Accumulator from Stack
Memory) ...........................................................234
POPW (Pop Word Data of AH from Stack Memory)
........................................................................... 236
POPW (Pop Word Data of Program Status from Stack
Memory) ...........................................................237
PS
プロセッサステータス (PS) ..................................22
Push Registers
PUSHW (Push Registers to Stack Memory) ..........243
Push Word Data
PUSHW(Push Word Data of Inherent Register to Stack
Memory) ...........................................................241
PUSHW
PUSHW (Push Registers to Stack Memory) ..........243
PUSHW(Push Word Data of Inherent Register to Stack
Memory) ...........................................................241
R
RAM
RAM 上の汎用レジスタの呼び出し方 ................31
RAM 上のレジスタバンク ....................................30
RET
RET (Return from Subroutine) ............................... 245
RETI
RETI (Return from Interrupt) ................................. 246
RETP
RETP (Return from physical Address) ...................249
Return from Interrupt
RETI (Return from Interrupt) ................................. 246
Return from physical Address
RETP (Return from physical Address) ...................249
Return from Subroutine
RET (Return from Subroutine) ............................... 245
ROLC
ROLC (Rotate Byte Data of Accumulator With Carry to
Left) .................................................................. 250
RORC
RORC (Rotate Byte Data of Accumulator With Carry to
Right) ................................................................ 251
Rotate Byte Data
FUJITSU MICROELECTRONICS LIMITED
351
索引
ROLC (Rotate Byte Data of Accumulator With Carry to
Left) ..................................................................250
RORC (Rotate Byte Data of Accumulator With Carry to
Right) ................................................................251
RP
レジスタバンクポインタ (RP) ..............................24
S
S
拡張インテリジェント I/O サービス終了ステータ
ス (bit5, bit4: S0, S1) ..........................................54
SBBS
SBBS (Set Bit and Branch if Bit Set) .....................252
Scan String Byte
SCEQ (Scan String Byte until equal) ......................253
Scan String Word
SCWEQ (Scan String Word until equal) ................255
SCEQ
SCEQ (Scan String Byte until equal) ......................253
SCWEQ
SCWEQ (Scan String Word until equal) ................255
Set Bit
SETB (Set Bit) ........................................................257
Set Bit and Branch
SBBS (Set Bit and Branch if Bit Set) .....................252
SETB
SETB (Set Bit) ........................................................257
Sign Extend
EXT (Sign Extend from Byte Data to Word Data) .144
EXTW (Sign Extend from Word Data to Long Word
Data) .................................................................145
Software Interrupt
INT (Software Interrupt) .........................................153
INT (Software Interrupt・( ベクタ指定 )) ............155
INT9 (Software Interrupt) .......................................157
INTP (Software Interrupt) .......................................159
SSP
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) ..............................................20
SUB
SUB (Subtract Byte Data of Source from Destination to
Destination) .......................................................258
SUBC
SUBC (Subtract Byte Data of AL from AH with Carry
to AL) ................................................................260
SUBC (Subtract Byte Data of Effective Address from
Accumulator with Carry to Accumulator) ........261
SUBCW
SUBCW (Subtract Word Data of Effective Address
from Accumulator with Carry to Accumulator)
...........................................................................263
SUBDC
SUBDC (Subtract Decimal Data of AL from AH with
Carry to AL) .....................................................265
SUBL
SUBL (Subtract Long Word Data of Source from
Destination to Destination) ...............................266
Subtract Byte Data
SUB (Subtract Byte Data of Source from Destination to
Destination) .......................................................258
SUBC (Subtract Byte Data of AL from AH with Carry
352
to AL) ...............................................................260
SUBC (Subtract Byte Data of Effective Address from
Accumulator with Carry to Accumulator) ........261
Subtract Decimal Data
SUBDC (Subtract Decimal Data of AL from AH with
Carry to AL) ..................................................... 265
Subtract Long Word Data
SUBL (Subtract Long Word Data of Source from
Destination to Destination) ............................... 266
Subtract Word Data
SUBCW (Subtract Word Data of Effective Address
from Accumulator with Carry to Accumulator)
........................................................................... 263
SUBW (Subtract Word Data of AL from AH to AL)
........................................................................... 270
SUBW (Subtract Word Data of Source from
Destination to Destination) ............................... 268
SUBW
SUBW (Subtract Word Data of AL from AH to AL)
........................................................................... 270
SUBW (Subtract Word Data of Source from
Destination to Destination) ............................... 268
SWAP
SWAP (Swap Byte Data of Accumulator) ............. 271
Swap Byte Data
SWAP (Swap Byte Data of Accumulator) ............. 271
Swap Word Data
SWAPW (Swap Word Data of Accumulator) ........272
SWAPW
SWAPW (Swap Word Data of Accumulator) ........272
U
UNLINK
UNLINK (Unlink and create new stack frame) ...... 273
USP
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) .............................................. 20
W
Wait
WBTc (Wait until Bit Condition satisfied) ............. 274
WBTc
WBTc (Wait until Bit Condition satisfied) ............. 274
X
XCH
XCH (Exchange Byte Data of Source to Destination)
........................................................................... 275
XCH Ri,ea 命令 ...........................................................343
XCHW
XCHW (Exchange Word Data of Source to
Destination) ......................................................277
XCHW RWi,ea 命令 ................................................... 345
XOR
XOR (Exclusive Or Byte Data of Destination and
Source to Destination) ...................................... 278
XORL
XORL (Exclusive Or Long Word Data of Destination)
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
索引
...........................................................................280
XORW
XORW (Exclusive Or Word Data of AH and AL to AL)
..........................................................................282
XORW (Exclusive Or Word Data of Destination and
Source to Destination) ......................................283
Z
き
記号
実行命令細則中で使用される記号 ( 略称 ) ......... 73
基本ページマップ
基本ページマップ ................................................315
こ
Zero Extend
ZEXT (Zero Extend from Byte Data to Word Data)
...........................................................................285
ZEXTW (Zero Extend from Word Data to Long Word
Data) .................................................................286
ZEXT
ZEXT (Zero Extend from Byte Data to Word Data)
...........................................................................285
ZEXTW
ZEXTW (Zero Extend from Word Data to Long Word
Data) .................................................................286
コモンレジスタバンクプリフィックス
コモンレジスタバンクプリフィックス (CMR) .. 36
コンディションコードレジスタ
コンディションコードレジスタ (CCR) ............... 25
さ
細則
実行命令細則の読み方 .......................................... 72
命令細則の読み方 ..................................................78
あ
し
アキュムレータ
アキュムレータ (A) ................................................18
アドレス指定
バンク方式のアドレス指定 .....................................9
リニア方式のアドレス指定 .....................................7
アドレス指定方式
間接アドレス指定方式 ...........................................69
直接アドレス指定方式 ...........................................67
システムスタックポインタ
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) .............................................. 20
実効アドレス
実効アドレスフィールド ........................ 66, 74, 292
実行サイクル
実行サイクル数計算方法 .................................... 294
実行サイクル数 ......................................................75
実行サイクル数の計算方法 ..................................75
実行命令
実行命令細則の読み方 .......................................... 72
実行命令細則中で使用される記号 ( 略称 ) ......... 73
か
拡張インテリジェント I/O サービス
拡張インテリジェント I/O サービスの概要 .......48
拡張インテリジェント I/O サービスの構造 .......48
拡張インテリジェント I/O サービスの使用手順フ
ローチャート ....................................................51
拡張インテリジェント I/O サービスの動作フロー
チャート ............................................................50
拡張インテリジェント I/O サービス許可ビット
拡張インテリジェント I/O サービス許可ビット
(bit3: ISE) ...........................................................54
拡張インテリジェント I/O サービス終了ステータス
拡張インテリジェント I/O サービス終了ステータ
ス (bit5, bit4: S0, S1) ..........................................54
拡張インテリジェント I/O サービスステータスレジス
タ
拡張インテリジェント I/O サービスステータスレ
ジスタ (ISCS) ....................................................56
拡張インテリジェント I/O サービスチャネル選択ビッ
ト
拡張インテリジェント I/O サービスチャネル選択
ビット (bit7 ∼ bit4: ICS0 ∼ ICS3) ..................53
拡張インテリジェント I/O サービスディスクリプタ
拡張インテリジェント I/O サービスディスクリプ
タ (ISD) ..............................................................55
間接アドレス指定方式
間接アドレス指定方式 ...........................................69
CM44-00201- 4
せ
専用レジスタ
専用レジスタの種類 .............................................. 16
た
ダイレクトページレジスタ
ダイレクトページレジスタ (DPR) .......................27
多バイト長データ
多バイト長データにおけるメモリ空間の配置 .. 12
多バイト長データのアクセス ..............................13
ち
直接アドレス指定方式
直接アドレス指定方式 .......................................... 67
て
データカウンタ
データカウンタ (DCT) ...........................................58
FUJITSU MICROELECTRONICS LIMITED
353
索引
は
め
ハードウェア割込み
ハードウェア割込みの動作フロー .......................44
バッファアドレスポインタ
バッファアドレスポインタ (BAP) .......................56
バンク
RAM 上のレジスタバンク ....................................30
バンクに分割されたメモリ空間と各バンクレジス
タの値 ................................................................11
バンクセレクトプリフィックス
バンクセレクトプリフィックス ...........................34
バンク方式
バンク方式のアドレス指定 .....................................9
バンクレジスタ
バンクに分割されたメモリ空間と各バンクレジス
タの値 ................................................................11
バンクレジスタ .......................................................28
汎用レジスタ
RAM 上の汎用レジスタの呼び出し方 ................31
命令
ea 系命令 ................................................................ 323
MOV ea,Ri 命令 ..................................................... 339
MOV Ri,ea 命令 ..................................................... 335
MOVEA RWi,ea 命令 ............................................ 333
MOVW ea,RWi 命令 .............................................341
MOVW RWi,ea 命令 .............................................337
実行命令細則の読み方 .......................................... 72
実行命令細則中で使用される記号 ( 略称 ) ......... 73
未定義命令の実行による例外発生 ...................... 59
命令細則の読み方 ..................................................78
命令の種類 ............................................................ 289
割込み要求を受け付けない命令とプリフィックス
コードの関係 ....................................................38
命令一覧表
命令一覧表の記号の説明 .................................... 291
命令細則
命令細則の読み方 ..................................................78
命令マップ
ビット操作系命令マップ .................................... 317
文字列操作系命令マップ .................................... 319
命令マップの構造 ................................................312
メモリ空間
CPU のメモリ空間 ....................................................6
多バイト長データにおけるメモリ空間の配置 .. 12
バンクに分割されたメモリ空間と各バンクレジス
タの値 ................................................................ 11
ひ
ビット構成
割込み制御レジスタ (ICR) のビット構成 ...........52
ビット操作
ビット操作系命令マップ .....................................317
ふ
フラグ変化抑止プリフィックスコード
フラグ変化抑止プリフィックスコード (NCC) ...37
プリフィックス
フラグ変化抑止プリフィックスコード (NCC) ...37
プリフィックスコードが連続しているとき .......39
割込み要求を受け付けない命令とプリフィックス
コードの関係 ....................................................38
プリフィックスコード
プリフィックスコードが連続しているとき .......39
割込み要求を受け付けない命令とプリフィックス
コードの関係 ....................................................38
プログラム
割込み処理のプログラム例 ...................................60
プログラムカウンタ
プログラムカウンタ (PC) ......................................26
プロセッサステータス
プロセッサステータス (PS) ..................................22
ま
マップ
基本ページマップ .................................................315
ビット操作系命令マップ .....................................317
文字列操作系命令マップ .....................................319
2 バイト系統マップ ..............................................321
み
未定義命令
未定義命令の実行による例外発生 .......................59
354
も
文字列操作
文字列操作系命令マップ .................................... 319
ゆ
ユーザスタックポインタ
ユーザスタックポインタ (USP) とシステムスタッ
クポインタ (SSP) .............................................. 20
り
リニア方式
リニア方式のアドレス指定 ....................................7
れ
例外発生
未定義命令の実行による例外発生 ...................... 59
レジスタ
RAM 上の汎用レジスタの呼び出し方 ................31
RAM 上のレジスタバンク ....................................30
の専用レジスタの種類 .......................................... 16
バンクに分割されたメモリ空間と各バンクレジス
タの値 ................................................................ 11
バンクレジスタ ......................................................28
割込み制御レジスタ (ICR) のビット構成 ........... 52
割込み制御レジスタ (ICR0 ∼ ICR15) の機能 .... 52
レジスタ退避
割込み処理時のレジスタ退避 ..............................46
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
索引
レジスタバンク
RAM 上のレジスタバンク ....................................30
レジスタバンクポインタ
レジスタバンクポインタ (RP) ..............................24
わ
割込み
ハードウェア割込みの動作フロー .......................44
割込み処理 ...............................................................42
割込み処理時のレジスタ退避 ...............................46
割込み処理のフローチャート ...............................45
割込み処理のプログラム例 ...................................60
割込み要求を受け付けない命令とプリフィックス
コードの関係 ....................................................38
割込み制御レジスタ
割込み制御レジスタ (ICR) のビット構成 ...........52
割込み制御レジスタ (ICR0 ∼ ICR15) の機能 .....52
割込みベクタ
割込みベクタ ...........................................................47
割込みレベル設定ビット
割込みレベル設定ビット (bit2 ∼ bit0: IL2 ∼ IL0)
.............................................................................54
割込みレベルマスク
割込みレベルマスク (ILM) ....................................23
CM44-00201- 4
FUJITSU MICROELECTRONICS LIMITED
355
索引
356
FUJITSU MICROELECTRONICS LIMITED
CM44-00201- 4
CM44-00201-4
富士通マイクロエレクトロニクス • CONTROLLER MANUAL
F2MC®-16LX
16 ビット・マイクロコントローラ
プログラミングマニュアル
2010 年 1 月
第 4 版発行
発行
富士通マイクロエレクトロニクス株式会社
編集
マーケティング統括部
プロモーション推進部