本ドキュメントは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 版発行 発行 富士通マイクロエレクトロニクス株式会社 編集 マーケティング統括部 プロモーション推進部