Disassembler.java
     1: //========================================================================================
     2: //  Disassembler.java
     3: //    en:Disassembler
     4: //    ja:逆アセンブラ
     5: //  Copyright (C) 2003-2025 Makoto Kamada
     6: //
     7: //  This file is part of the XEiJ (X68000 Emulator in Java).
     8: //  You can use, modify and redistribute the XEiJ if the conditions are met.
     9: //  Read the XEiJ License for more details.
    10: //  https://stdkmd.net/xeij/
    11: //========================================================================================
    12: 
    13: package xeij;
    14: 
    15: import java.lang.*;  //Boolean,Character,Class,Comparable,Double,Exception,Float,IllegalArgumentException,Integer,Long,Math,Number,Object,Runnable,SecurityException,String,StringBuilder,System
    16: 
    17: public class Disassembler {
    18: 
    19:   public static final String[] DIS_SZ = { ".b", ".w", ".l" };
    20: 
    21:   public static final String[] DIS_CC = {
    22:     "t", "f", "hi", "ls", "cc", "cs", "ne", "eq", "vc", "vs", "pl", "mi", "ge", "lt", "gt", "le",
    23:   };
    24: 
    25:   public static final String[] DIS_RCNAME_0XX = {
    26:     "sfc",       //0x000 source function code
    27:     "dfc",       //0x001 destination function code
    28:     "cacr",      //0x002 cache control register
    29:     "tc",        //0x003 mmu translation control register
    30:     //"asid",    //0x003 address space identifier register (ColdFire)
    31:     "itt0",      //0x004 instruction transparent translation register 0
    32:     //"acr0",    //0x004 access control register 0
    33:     "itt1",      //0x005 instruction transparent translation register 1
    34:     //"acr1",    //0x005 access control register 1
    35:     "dtt0",      //0x006 data transparent translation register 0
    36:     //"acr2",    //0x006 access control register 2
    37:     "dtt1",      //0x007 data transparent translation register 1
    38:     //"acr3",    //0x007 access control register 3
    39:     "buscr",     //0x008 bus control register
    40:     //"mmubar",  //0x008 mmu base address register
    41:   };
    42:   public static final String[] DIS_RCNAME_8XX = {
    43:     "usp",       //0x800 user stack pointer
    44:     "vbr",       //0x801 vector base register
    45:     "caar",      //0x802 cache address register
    46:     "msp",       //0x803 master stackpointer
    47:     "isp",       //0x804 interrupt stack pointer
    48:     "mmusr",     //0x805 mmu status register
    49:     "urp",       //0x806 user root pointer
    50:     "srp",       //0x807 supervisor root pointer
    51:     "pcr",       //0x808 processor configuration register
    52:     //"pc",      //0x80f program counter
    53:     //"rombar0",  //0xc00 rom base address register 0
    54:     //"rombar1",  //0xc01 rom base address register 1
    55:     //"rambar0",  //0xc04 ram base address register 0
    56:     //"rambar1",  //0xc05 ram base address register 1
    57:     //"mpcr",     //0xc0c multiprocessor control register
    58:     //"edrambar",  //0xc0d embedded dram base address register
    59:     //"secmbar",   //0xc0e secondary module base address register
    60:     //"mbar",      //0xc0f primary module base address register
    61:     //"pcr1u0",    //0xd02 32 msbs of ram 0 permutation control register 1
    62:     //"pcr1l0",    //0xd03 32 lsbs of ram 0 permutation control register 1
    63:     //"pcr2u0",    //0xd04 32 msbs of ram 0 permutation control register 2
    64:     //"pcr2l0",    //0xd05 32 lsbs of ram 0 permutation control register 2
    65:     //"pcr3u0",    //0xd06 32 msbs of ram 0 permutation control register 3
    66:     //"pcr3l0",    //0xd07 32 lsbs of ram 0 permutation control register 3
    67:     //"pcr1u1",    //0xd0a 32 msbs of ram 1 permutation control register 1
    68:     //"pcr1l1",    //0xd0b 32 lsbs of ram 1 permutation control register 1
    69:     //"pcr2u1",    //0xd0c 32 msbs of ram 1 permutation control register 2
    70:     //"pcr2l1",    //0xd0d 32 lsbs of ram 1 permutation control register 2
    71:     //"pcr3u1",    //0xd0e 32 msbs of ram 1 permutation control register 3
    72:     //"pcr3l1",    //0xd0f 32 lsbs of ram 1 permutation control register 3
    73:   };
    74: 
    75:   //IOCSコール名(0x00~0xff)
    76:   public static final String[] DIS_IOCS_NAME = (
    77:     "_B_KEYINP," +   //0x00 キー入力(入力があるまで待つ,入力したデータはバッファから取り除く)
    78:     "_B_KEYSNS," +   //0x01 キーセンス(入力がなくても待たない,入力したデータをバッファから取り除かない)
    79:     "_B_SFTSNS," +   //0x02 シフトキーとLEDの状態の取得
    80:     "_KEY_INIT," +   //0x03 キーボードインタフェイスの初期化
    81:     "_BITSNS," +     //0x04 キーの押し下げ状態の取得
    82:     "_SKEYSET," +    //0x05 キー入力エミュレーション
    83:     "_LEDCTRL," +    //0x06 キーボードのLEDの状態をまとめて設定
    84:     "_LEDSET," +     //0x07 キーのLEDを再設定する
    85:     "_KEYDLY," +     //0x08 キーリピートのディレイタイム設定
    86:     "_KEYREP," +     //0x09 キーリピートのインターバル設定
    87:     "_OPT2TVON," +   //0x0a OPT.2キーによるテレビコントロールを許可
    88:     "_OPT2TVOFF," +  //0x0b OPT.2キーによるテレビコントロールを禁止
    89:     "_TVCTRL," +     //0x0c テレビコントロール
    90:     "_LEDMOD," +     //0x0d キーのLEDを設定
    91:     "_TGUSEMD," +    //0x0e 画面の使用状態の取得と設定
    92:     "_DEFCHR," +     //0x0f フォントパターン設定
    93:     "_CRTMOD," +     //0x10 画面モードの取得と設定
    94:     "_CONTRAST," +   //0x11 コントラストの取得と設定
    95:     "_HSVTORGB," +   //0x12 HSVからRGBを求める
    96:     "_TPALET," +     //0x13 テキストパレットの取得と設定
    97:     "_TPALET2," +    //0x14 テキストパレットの取得と設定(全色独立)
    98:     "_TCOLOR," +     //0x15 テキスト表示プレーンの設定
    99:     "_FNTADR," +     //0x16 フォントアドレスの取得
   100:     "_VRAMGET," +    //0x17 VRAMからバッファへバイト単位で転送
   101:     "_VRAMPUT," +    //0x18 バッファからVRAMへバイト単位で転送
   102:     "_FNTGET," +     //0x19 フォントパターンの取得
   103:     "_TEXTGET," +    //0x1a テキストVRAMからバッファへドット単位で転送
   104:     "_TEXTPUT," +    //0x1b バッファからテキストVRAMへドット単位で転送
   105:     "_CLIPPUT," +    //0x1c バッファからテキストVRAMへドット単位で転送(クリッピングあり)
   106:     "_SCROLL," +     //0x1d テキスト/グラフィックスのスクロール位置の取得と設定
   107:     "_B_CURON," +    //0x1e テキストカーソルON
   108:     "_B_CUROFF," +   //0x1f テキストカーソルOFF
   109:     "_B_PUTC," +     //0x20 テキスト1文字表示
   110:     "_B_PRINT," +    //0x21 テキスト文字列表示
   111:     "_B_COLOR," +    //0x22 テキストカラーコード設定
   112:     "_B_LOCATE," +   //0x23 テキストカーソル位置設定
   113:     "_B_DOWN_S," +   //0x24 テキストカーソルを下へ1行移動(移動できないときスクロールする)
   114:     "_B_UP_S," +     //0x25 テキストカーソルを上へ1行移動(移動できないときスクロールする)
   115:     "_B_UP," +       //0x26 テキストカーソルを上へn行移動(移動できないときはエラー)
   116:     "_B_DOWN," +     //0x27 テキストカーソルを下へn行移動(移動できないときは最下行で止まる)
   117:     "_B_RIGHT," +    //0x28 テキストカーソルをn桁右へ移動(移動できないときは右端で止まる)
   118:     "_B_LEFT," +     //0x29 テキストカーソルをn桁左へ移動(移動できないときは左端で止まる)
   119:     "_B_CLR_ST," +   //0x2a テキスト画面クリア(クリアする範囲を選択)
   120:     "_B_ERA_ST," +   //0x2b テキスト行クリア(クリアする範囲を選択)
   121:     "_B_INS," +      //0x2c テキストカーソル行から下にn行空行を挿入
   122:     "_B_DEL," +      //0x2d テキストカーソル行からn行削除
   123:     "_B_CONSOL," +   //0x2e テキスト表示範囲を設定
   124:     "_B_PUTMES," +   //0x2f テキスト画面の指定位置に文字列表示
   125:     "_SET232C," +    //0x30 RS-232C通信モードと通信速度の取得と設定
   126:     "_LOF232C," +    //0x31 RS-232C受信バッファ内のデータ数の取得
   127:     "_INP232C," +    //0x32 RS-232C受信(受信があるまで待つ,受信バッファから取り除く)
   128:     "_ISNS232C," +   //0x33 RS-232C受信センス(受信がなくても待たない,受信バッファから取り除かない)
   129:     "_OSNS232C," +   //0x34 RS-232C送信ステータスチェック
   130:     "_OUT232C," +    //0x35 RS-232C送信(送信可能になるまで待つ)
   131:     "_MS_VCS," +     //0x36 マウス受信データ処理の設定
   132:     "_EXESC," +      //0x37 拡張ESCシーケンス処理ルーチンの設定
   133:     "_CHR_ADR," +    //0x38 外字フォントアドレスの設定
   134:     "_SETBEEP," +    //0x39 BEEP処理の設定
   135:     "_SETPRN," +     //0x3a プリンタ環境の設定
   136:     "_JOYGET," +     //0x3b ジョイスティックの状態の取得
   137:     "_INIT_PRN," +   //0x3c プリンタ初期化
   138:     "_SNSPRN," +     //0x3d プリンタ出力センス
   139:     "_OUTLPT," +     //0x3e プリンタ出力(LPT)
   140:     "_OUTPRN," +     //0x3f プリンタ出力(PRN)
   141:     "_B_SEEK," +     //0x40 シーク
   142:     "_B_VERIFY," +   //0x41 ベリファイ
   143:     "_B_READDI," +   //0x42 診断のための読み出し
   144:     "_B_DSKINI," +   //0x43 FDインタフェイスの初期化
   145:     "_B_DRVSNS," +   //0x44 ディスクのステータスを取得
   146:     "_B_WRITE," +    //0x45 ディスクに書き出し
   147:     "_B_READ," +     //0x46 ディスクから読み込み
   148:     "_B_RECALI," +   //0x47 トラック0へのシーク
   149:     "_B_ASSIGN," +   //0x48 代替トラックの設定
   150:     "_B_WRITED," +   //0x49 破損データの書き込み
   151:     "_B_READID," +   //0x4a ID情報を読む
   152:     "_B_BADFMT," +   //0x4b バッドトラックを使用不能にする
   153:     "_B_READDL," +   //0x4c 破損データの読み込み
   154:     "_B_FORMAT," +   //0x4d 物理フォーマット
   155:     "_B_DRVCHK," +   //0x4e ドライブの状態の取得と設定
   156:     "_B_EJECT," +    //0x4f イジェクト(未使用シリンダへのシーク)
   157:     "_DATEBCD," +    //0x50 日付を時計にセットできる形式に変換する
   158:     "_DATESET," +    //0x51 時計に日付を設定する
   159:     "_TIMEBCD," +    //0x52 時刻を時計にセットできる形式に変換する
   160:     "_TIMESET," +    //0x53 時計に時刻を設定する
   161:     "_DATEGET," +    //0x54 時計から日付を読み出す
   162:     "_DATEBIN," +    //0x55 日付をBCDからバイナリに変換する
   163:     "_TIMEGET," +    //0x56 時計から時刻を読み出す
   164:     "_TIMEBIN," +    //0x57 時刻をBCDからバイナリに変換する
   165:     "_DATECNV," +    //0x58 日付を表す文字列をバイナリに変換する
   166:     "_TIMECNV," +    //0x59 時刻を表す文字列をバイナリに変換する
   167:     "_DATEASC," +    //0x5a 日付をバイナリから文字列に変換する
   168:     "_TIMEASC," +    //0x5b 時刻をバイナリから文字列に変換する
   169:     "_DAYASC," +     //0x5c 曜日をバイナリから文字列に変換する
   170:     "_ALARMMOD," +   //0x5d アラームの禁止/許可
   171:     "_ALARMSET," +   //0x5e アラーム起動の時間と処理内容の設定
   172:     "_ALARMGET," +   //0x5f アラーム起動の時間と処理内容の取得
   173:     "_ADPCMOUT," +   //0x60 ADPCM再生
   174:     "_ADPCMINP," +   //0x61 ADPCM録音
   175:     "_ADPCMAOT," +   //0x62 アレイチェーンによるADPCM再生
   176:     "_ADPCMAIN," +   //0x63 アレイチェーンによるADPCM録音
   177:     "_ADPCMLOT," +   //0x64 リンクアレイチェーンによるADPCM再生
   178:     "_ADPCMLIN," +   //0x65 リンクアレイチェーンによるADPCM録音
   179:     "_ADPCMSNS," +   //0x66 ADPCMの実行モードセンス
   180:     "_ADPCMMOD," +   //0x67 ADPCMの実行制御
   181:     "_OPMSET," +     //0x68 FM音源レジスタの設定
   182:     "_OPMSNS," +     //0x69 FM音源のステータス取得
   183:     "_OPMINTST," +   //0x6a FM音源割り込み処理ルーチンの設定
   184:     "_TIMERDST," +   //0x6b Timer-D割り込み処理ルーチンの設定
   185:     "_VDISPST," +    //0x6c Timer-A(垂直同期カウント)割り込み処理ルーチンの設定
   186:     "_CRTCRAS," +    //0x6d CRTCラスタ割り込み処理ルーチンの設定
   187:     "_HSYNCST," +    //0x6e 水平同期割り込み処理ルーチンの設定
   188:     "_PRNINTST," +   //0x6f プリンタのレディー割り込み処理ルーチンの設定
   189:     "_MS_INIT," +    //0x70 マウス処理を初期化する
   190:     "_MS_CURON," +   //0x71 マウスカーソルを表示する
   191:     "_MS_CUROF," +   //0x72 マウスカーソルを消去する
   192:     "_MS_STAT," +    //0x73 マウスカーソルの表示状態を取得する
   193:     "_MS_GETDT," +   //0x74 マウスの状態を取得する
   194:     "_MS_CURGT," +   //0x75 マウスカーソルの座標を取得する
   195:     "_MS_CURST," +   //0x76 マウスカーソルの座標を設定する
   196:     "_MS_LIMIT," +   //0x77 マウスカーソルの移動範囲を設定する
   197:     "_MS_OFFTM," +   //0x78 マウスのボタンが離されるまでの時間を計る
   198:     "_MS_ONTM," +    //0x79 マウスのボタンが押されるまでの時間を計る
   199:     "_MS_PATST," +   //0x7a マウスカーソルパターンを定義する
   200:     "_MS_SEL," +     //0x7b マウスカーソルを選ぶ
   201:     "_MS_SEL2," +    //0x7c マウスカーソルアニメーションの設定
   202:     "_SKEY_MOD," +   //0x7d ソフトキーボードの表示モードの取得と設定
   203:     "_DENSNS," +     //0x7e 電卓センス
   204:     "_ONTIME," +     //0x7f 起動後の経過時間(1/100秒単位)を求める
   205:     "_B_INTVCS," +   //0x80 例外処理またはIOCSコールベクタ設定
   206:     "_B_SUPER," +    //0x81 スーパーバイザモード切り替え
   207:     "_B_BPEEK," +    //0x82 メモリ読み出し(1バイト)
   208:     "_B_WPEEK," +    //0x83 メモリ読み出し(1ワード)
   209:     "_B_LPEEK," +    //0x84 メモリ読み出し(1ロングワード)
   210:     "_B_MEMSTR," +   //0x85 メモリ間転送(a1からa2へ)
   211:     "_B_BPOKE," +    //0x86 メモリ書き込み(1バイト)
   212:     "_B_WPOKE," +    //0x87 メモリ書き込み(1ワード)
   213:     "_B_LPOKE," +    //0x88 メモリ書き込み(1ロングワード)
   214:     "_B_MEMSET," +   //0x89 メモリ間転送(a2からa1へ)
   215:     "_DMAMOVE," +    //0x8a DMA転送
   216:     "_DMAMOV_A," +   //0x8b アレイチェーンによるDMA転送
   217:     "_DMAMOV_L," +   //0x8c リンクアレイチェーンによるDMA転送
   218:     "_DMAMODE," +    //0x8d DMA転送中モードの取得
   219:     "_BOOTINF," +    //0x8e 起動情報の取得
   220:     "_ROMVER," +     //0x8f ROMバージョンの取得
   221:     "_G_CLR_ON," +   //0x90 グラフィックス画面の消去とパレット初期化と表示ON
   222:     "_G_MOD," +      //0x91 グラフィックス画面モードの設定
   223:     "_PRIORITY," +   //0x92 画面間およびグラフィックスページ間のプライオリティの設定
   224:     "_CRTMOD2," +    //0x93 画面表示のON/OFFと特殊モードの設定
   225:     "_GPALET," +     //0x94 グラフィックパレットの取得と設定
   226:     "_PENCOLOR," +   //0x95 ペンカラーの設定
   227:     "_SET_PAGE," +   //0x96 グラフィック描画ページの設定
   228:     "_GGET," +       //0x97 グラフィックス画面からパターン読み出し
   229:     "_MASK_GPUT," +  //0x98 グラフィックス画面にパターン書き込み(スルーカラー指定)
   230:     "_GPUT," +       //0x99 グラフィックス画面にパターン書き込み
   231:     "_GPTRN," +      //0x9a グラフィックス画面にビットパターン書き込み
   232:     "_BK_GPTRN," +   //0x9b グラフィックス画面にビットパターン書き込み(バックカラー指定)
   233:     "_X_GPTRN," +    //0x9c グラフィックス画面にビットパターン書き込み(拡大指定)
   234:     "," +            //0x9d
   235:     "," +            //0x9e
   236:     "," +            //0x9f
   237:     "_SFTJIS," +     //0xa0 SJIS→JIS変換
   238:     "_JISSFT," +     //0xa1 JIS→SJIS変換
   239:     "_AKCONV," +     //0xa2 半角(ANK)→全角(SJIS)変換
   240:     "_RMACNV," +     //0xa3 ローマ字かな変換
   241:     "_DAKJOB," +     //0xa4 濁点処理(直前の文字に゛を付ける)
   242:     "_HANJOB," +     //0xa5 半濁点処理(直前の文字に゜を付ける)
   243:     "," +            //0xa6
   244:     "," +            //0xa7
   245:     "," +            //0xa8
   246:     "," +            //0xa9
   247:     "," +            //0xaa
   248:     "," +            //0xab
   249:     "_SYS_STAT," +   //0xac システム環境の取得と設定
   250:     "_B_CONMOD," +   //0xad テキスト画面のカーソルとスクロールの設定
   251:     "_OS_CURON," +   //0xae カーソル表示
   252:     "_OS_CUROF," +   //0xaf カーソル非表示(_B_CURONによる表示も禁止)
   253:     "_DRAWMODE," +   //0xb0 グラフィックス画面の描画モードの取得と設定
   254:     "_APAGE," +      //0xb1 グラフィックス画面の描画ページの取得と設定
   255:     "_VPAGE," +      //0xb2 グラフィックス画面の表示ページの設定
   256:     "_HOME," +       //0xb3 グラフィックス画面のスクロール位置の設定
   257:     "_WINDOW," +     //0xb4 グラフィックス画面のクリッピングエリアを設定する
   258:     "_WIPE," +       //0xb5 グラフィックス画面をパレットコード0で塗り潰す
   259:     "_PSET," +       //0xb6 グラフィックス画面に点を描く
   260:     "_POINT," +      //0xb7 グラフィックス画面の1点のパレットコードを得る
   261:     "_LINE," +       //0xb8 グラフィックス画面に線分を描く
   262:     "_BOX," +        //0xb9 グラフィックス画面に矩形を描く
   263:     "_FILL," +       //0xba グラフィックス画面の矩形塗り潰し
   264:     "_CIRCLE," +     //0xbb グラフィックス画面に円または楕円を描く
   265:     "_PAINT," +      //0xbc グラフィックス画面の閉領域の塗り潰し
   266:     "_SYMBOL," +     //0xbd グラフィックス画面に文字列表示
   267:     "_GETGRM," +     //0xbe グラフィックス画面の読み出し
   268:     "_PUTGRM," +     //0xbf グラフィックス画面の書き込み
   269:     "_SP_INIT," +    //0xc0 スプライトとBGの初期化
   270:     "_SP_ON," +      //0xc1 スプライト表示ON
   271:     "_SP_OFF," +     //0xc2 スプライト表示OFF
   272:     "_SP_CGCLR," +   //0xc3 スプライトパターンのクリア(16×16)
   273:     "_SP_DEFCG," +   //0xc4 スプライトパターンの設定
   274:     "_SP_GTPCG," +   //0xc5 スプライトパターンの取得
   275:     "_SP_REGST," +   //0xc6 スプライトレジスタの設定
   276:     "_SP_REGGT," +   //0xc7 スプライトレジスタの取得
   277:     "_BGSCRLST," +   //0xc8 BGスクロールレジスタの設定
   278:     "_BGSCRLGT," +   //0xc9 BGスクロールレジスタの取得
   279:     "_BGCTRLST," +   //0xca BGコントロールレジスタの設定
   280:     "_BGCTRLGT," +   //0xcb BGコントロールレジスタの取得
   281:     "_BGTEXTCL," +   //0xcc BGテキストのクリア
   282:     "_BGTEXTST," +   //0xcd BGテキストの設定
   283:     "_BGTEXTGT," +   //0xce BGテキストの取得
   284:     "_SPALET," +     //0xcf スプライトパレットの取得と設定
   285:     "," +            //0xd0
   286:     "," +            //0xd1
   287:     "," +            //0xd2
   288:     "_TXXLINE," +    //0xd3 テキスト画面に水平線を描画
   289:     "_TXYLINE," +    //0xd4 テキスト画面に垂直線を描画
   290:     "_TXLINE," +     //0xd5 テキスト画面に直線を描画
   291:     "_TXBOX," +      //0xd6 テキスト画面に矩形の枠を描画
   292:     "_TXFILL," +     //0xd7 テキスト画面に矩形を描画
   293:     "_TXREV," +      //0xd8 テキスト画面の矩形を反転
   294:     "," +            //0xd9
   295:     "," +            //0xda
   296:     "," +            //0xdb
   297:     "," +            //0xdc
   298:     "," +            //0xdd
   299:     "," +            //0xde
   300:     "_TXRASCPY," +   //0xdf テキストラスタブロックコピー
   301:     "," +            //0xe0
   302:     "," +            //0xe1
   303:     "," +            //0xe2
   304:     "," +            //0xe3
   305:     "," +            //0xe4
   306:     "," +            //0xe5
   307:     "," +            //0xe6
   308:     "," +            //0xe7
   309:     "," +            //0xe8
   310:     "," +            //0xe9
   311:     "," +            //0xea
   312:     "," +            //0xeb
   313:     "," +            //0xec
   314:     "," +            //0xed
   315:     "," +            //0xee
   316:     "," +            //0xef
   317:     "_OPMDRV," +     //0xf0
   318:     "_RSDRV," +      //0xf1
   319:     "_A_JOY," +      //0xf2
   320:     "_MIDI," +       //0xf3
   321:     "," +            //0xf4
   322:     "_SCSIDRV," +    //0xf5
   323:     "," +            //0xf6
   324:     "," +            //0xf7
   325:     "_HIMEM," +      //0xf8
   326:     "," +            //0xf9
   327:     "," +            //0xfa
   328:     "," +            //0xfb
   329:     "," +            //0xfc
   330:     "_ABORTRST," +   //0xfd
   331:     "_IPLERR," +     //0xfe
   332:     "_ABORTJOB"      //0xff
   333:     ).split (",", 256);
   334: 
   335:   //DOSコール名(0xff00~0xffff)
   336:   public static final String[] DIS_DOS_NAME = (
   337:     "_EXIT," +        //0xff00 プロセスの終了(終了コード指定なし)
   338:     "_GETCHAR," +     //0xff01 標準入力から1バイト入力(標準出力にエコーバックする)
   339:     "_PUTCHAR," +     //0xff02 標準出力に1バイト出力
   340:     "_COMINP," +      //0xff03 標準シリアル入出力から1バイト入力
   341:     "_COMOUT," +      //0xff04 標準シリアル入出力に1バイト出力
   342:     "_PRNOUT," +      //0xff05 標準プリンタ出力に1バイト出力
   343:     "_INPOUT," +      //0xff06 標準ハンドラへの入出力
   344:     "_INKEY," +       //0xff07 標準入力から1バイト入力(^C,^P,^Nを処理しない)
   345:     "_GETC," +        //0xff08 標準入力から1バイト入力(^C,^P,^Nを処理する)
   346:     "_PRINT," +       //0xff09 標準出力に文字列を出力
   347:     "_GETS," +        //0xff0a 標準入力から文字列を入力(^C,^P,^Nを処理する)
   348:     "_KEYSNS," +      //0xff0b 標準入力から1バイト先読み
   349:     "_KFLUSH," +      //0xff0c 標準入力バッファをフラッシュしてから標準入力から入力
   350:     "_FFLUSH," +      //0xff0d バッファフラッシュ
   351:     "_CHGDRV," +      //0xff0e カレントドライブの変更
   352:     "_DRVCTRL," +     //0xff0f ドライブコントロール
   353:     "_CONSNS," +      //0xff10 標準出力への出力の可・不可を調べる
   354:     "_PRNSNS," +      //0xff11 標準プリンタ出力への出力の可・不可を調べる
   355:     "_CINSNS," +      //0xff12 標準シリアル入出力からの入力の可・不可を調べる
   356:     "_COUTSNS," +     //0xff13 標準シリアル入出力への出力の可・不可を調べる
   357:     "," +             //0xff14
   358:     "," +             //0xff15
   359:     "," +             //0xff16
   360:     "_FATCHK," +      //0xff17 ファイルやディレクトリのFATの繋がりを調べる
   361:     "_HENDSP," +      //0xff18 かな漢字変換ウインドウの表示
   362:     "_CURDRV," +      //0xff19 カレントドライブ番号を得る
   363:     "_GETSS," +       //0xff1a 標準入力から文字列を入力(^C,^P,^Nを処理しない)
   364:     "_FGETC," +       //0xff1b ハンドラから1バイト入力
   365:     "_FGETS," +       //0xff1c ハンドラから文字列を入力
   366:     "_FPUTC," +       //0xff1d ハンドラへ1バイト出力
   367:     "_FPUTS," +       //0xff1e ハンドラへ文字列を出力
   368:     "_ALLCLOSE," +    //0xff1f 実行中のプロセスとその子プロセスがオープンしたハンドラをすべてクローズする
   369:     "_SUPER," +       //0xff20 スーパーバイザモードの切り替え
   370:     "_FNCKEY," +      //0xff21 再定義可能キーの読み込みと設定
   371:     "_KNJCTRL," +     //0xff22 かな漢字変換の制御
   372:     "_CONCTRL," +     //0xff23 コンソール出力の制御
   373:     "_KEYCTRL," +     //0xff24 コンソール入力の制御
   374:     "_INTVCS," +      //0xff25 例外処理ベクタの設定
   375:     "_PSPSET," +      //0xff26 プロセス管理テーブルの作成
   376:     "_GETTIM2," +     //0xff27 時刻を得る(ロングワード)
   377:     "_SETTIM2," +     //0xff28 時刻を設定する(ロングワード)
   378:     "_NAMESTS," +     //0xff29 ファイル名の分解
   379:     "_GETDATE," +     //0xff2a 日付を得る
   380:     "_SETDATE," +     //0xff2b 日付を設定する
   381:     "_GETTIME," +     //0xff2c 時刻を得る(ワード)
   382:     "_SETTIME," +     //0xff2d 時刻を設定する(ワード)
   383:     "_VERIFY," +      //0xff2e verifyのモードの設定
   384:     "_DUP0," +        //0xff2f 標準ハンドラの変換
   385:     "_VERNUM," +      //0xff30 Humanのバージョンの取得
   386:     "_KEEPPR," +      //0xff31 プロセスの常駐終了
   387:     "_GETDPB," +      //0xff32 DPBの取得
   388:     "_BREAKCK," +     //0xff33 breakおよびoffの取得と設定
   389:     "_DRVXCHG," +     //0xff34 ドライブの入れ換え
   390:     "_INTVCG," +      //0xff35 例外処理ベクタの取得
   391:     "_DSKFRE," +      //0xff36 ドライブの空容量の取得
   392:     "_NAMECK," +      //0xff37 ファイル名のチェック
   393:     "," +             //0xff38
   394:     "_MKDIR," +       //0xff39 ディレクトリの作成
   395:     "_RMDIR," +       //0xff3a ディレクトリの削除
   396:     "_CHDIR," +       //0xff3b カレントディレクトリの設定
   397:     "_CREATE," +      //0xff3c 新規ファイルの作成
   398:     "_OPEN," +        //0xff3d ファイルのオープン
   399:     "_CLOSE," +       //0xff3e ハンドラのクローズ
   400:     "_READ," +        //0xff3f ハンドラから指定されたサイズのデータを読み込む
   401:     "_WRITE," +       //0xff40 ハンドラへ指定されたサイズのデータを書き込む
   402:     "_DELETE," +      //0xff41 ファイルの削除
   403:     "_SEEK," +        //0xff42 ハンドラのシーク位置の変更
   404:     "_CHMOD," +       //0xff43 ファイルまたはディレクトリの属性の読み込みと設定
   405:     "_IOCTRL," +      //0xff44 デバイスによるハンドラの直接制御
   406:     "_DUP," +         //0xff45 ハンドラの複製
   407:     "_DUP2," +        //0xff46 ハンドラの複写
   408:     "_CURDIR," +      //0xff47 カレントディレクトリの取得
   409:     "_MALLOC," +      //0xff48 メモリブロックの確保(下位から)
   410:     "_MFREE," +       //0xff49 メモリブロックの開放
   411:     "_SETBLOCK," +    //0xff4a メモリブロックのサイズの変更
   412:     "_EXEC," +        //0xff4b 子プロセスの実行
   413:     "_EXIT2," +       //0xff4c プロセスの終了(終了コード指定あり)
   414:     "_WAIT," +        //0xff4d 子プロセスの終了コードの取得
   415:     "_FILES," +       //0xff4e ディレクトリエントリの検索(最初)
   416:     "_NFILES," +      //0xff4f ディレクトリエントリの検索(次)
   417:     "_SETPDB," +      //0xff50 プロセス管理テーブルの移動
   418:     "_GETPDB," +      //0xff51 プロセス管理テーブルの取得
   419:     "_SETENV," +      //0xff52 環境変数の設定
   420:     "_GETENV," +      //0xff53 環境変数の取得
   421:     "_VERIFYG," +     //0xff54 verifyのモードの取得
   422:     "_COMMON," +      //0xff55 common領域の制御
   423:     "_RENAME," +      //0xff56 ファイル名またはディレクトリ名の変更およびファイルの移動
   424:     "_FILEDATE," +    //0xff57 ハンドラの更新日時の取得と設定
   425:     "_MALLOC2," +     //0xff58 メモリブロックの確保(モード指定あり)
   426:     "," +             //0xff59
   427:     "_MAKETMP," +     //0xff5a テンポラリファイルの作成
   428:     "_NEWFILE," +     //0xff5b 新規ファイルの作成(非破壊)
   429:     "_LOCK," +        //0xff5c ハンドラのロックの制御
   430:     "," +             //0xff5d
   431:     "," +             //0xff5e
   432:     "_ASSIGN," +      //0xff5f 仮想ドライブおよび仮想ディレクトリの取得と設定
   433:     "," +             //0xff60
   434:     "," +             //0xff61
   435:     "," +             //0xff62
   436:     "," +             //0xff63
   437:     "," +             //0xff64
   438:     "," +             //0xff65
   439:     "," +             //0xff66
   440:     "," +             //0xff67
   441:     "," +             //0xff68
   442:     "," +             //0xff69
   443:     "," +             //0xff6a
   444:     "," +             //0xff6b
   445:     "," +             //0xff6c
   446:     "," +             //0xff6d
   447:     "," +             //0xff6e
   448:     "," +             //0xff6f
   449:     "," +             //0xff70
   450:     "," +             //0xff71
   451:     "," +             //0xff72
   452:     "," +             //0xff73
   453:     "," +             //0xff74
   454:     "," +             //0xff75
   455:     "," +             //0xff76
   456:     "," +             //0xff77
   457:     "," +             //0xff78
   458:     "," +             //0xff79
   459:     "_FFLUSH_SET," +  //0xff7a fflushのモードの取得と設定
   460:     "_OS_PATCH," +    //0xff7b Humanの変更
   461:     "_GET_FCB_ADR," + //0xff7c FCBテーブルの取得
   462:     "_S_MALLOC," +    //0xff7d メインスレッドのメモリ管理からメモリブロックを確保
   463:     "_S_MFREE," +     //0xff7e メインスレッドのメモリ管理からメモリブロックを削除
   464:     "_S_PROCESS," +   //0xff7f サブのメモリ管理の設定
   465:     "_SETPDB," +      //0xff80 プロセス管理テーブルの移動
   466:     "_GETPDB," +      //0xff81 プロセス管理テーブルの取得
   467:     "_SETENV," +      //0xff82 環境変数の設定
   468:     "_GETENV," +      //0xff83 環境変数の取得
   469:     "_VERIFYG," +     //0xff84 verifyのモードの取得
   470:     "_COMMON," +      //0xff85 common領域の制御
   471:     "_RENAME," +      //0xff86 ファイル名またはディレクトリ名の変更およびファイルの移動
   472:     "_FILEDATE," +    //0xff87 ハンドラの更新日時の取得と設定
   473:     "_MALLOC2," +     //0xff88 メモリブロックの確保(モード指定あり)
   474:     "," +             //0xff89
   475:     "_MAKETMP," +     //0xff8a テンポラリファイルの作成
   476:     "_NEWFILE," +     //0xff8b 新規ファイルの作成(非破壊)
   477:     "_LOCK," +        //0xff8c ハンドラのロックの制御
   478:     "," +             //0xff8d
   479:     "," +             //0xff8e
   480:     "_ASSIGN," +      //0xff8f 仮想ドライブおよび仮想ディレクトリの取得と設定
   481:     "," +             //0xff90
   482:     "," +             //0xff91
   483:     "," +             //0xff92
   484:     "," +             //0xff93
   485:     "," +             //0xff94
   486:     "," +             //0xff95
   487:     "," +             //0xff96
   488:     "," +             //0xff97
   489:     "," +             //0xff98
   490:     "," +             //0xff99
   491:     "," +             //0xff9a
   492:     "," +             //0xff9b
   493:     "," +             //0xff9c
   494:     "," +             //0xff9d
   495:     "," +             //0xff9e
   496:     "," +             //0xff9f
   497:     "," +             //0xffa0
   498:     "," +             //0xffa1
   499:     "," +             //0xffa2
   500:     "," +             //0xffa3
   501:     "," +             //0xffa4
   502:     "," +             //0xffa5
   503:     "," +             //0xffa6
   504:     "," +             //0xffa7
   505:     "," +             //0xffa8
   506:     "," +             //0xffa9
   507:     "_FFLUSH_SET," +  //0xffaa fflushのモードの取得と設定
   508:     "_OS_PATCH," +    //0xffab Humanの変更
   509:     "_GET_FCB_ADR," + //0xffac FCBテーブルの取得
   510:     "_S_MALLOC," +    //0xffad メインスレッドのメモリ管理からメモリブロックを確保
   511:     "_S_MFREE," +     //0xffae メインスレッドのメモリ管理からメモリブロックを削除
   512:     "_S_PROCESS," +   //0xffaf サブのメモリ管理の設定
   513:     "," +             //0xffb0
   514:     "," +             //0xffb1
   515:     "," +             //0xffb2
   516:     "," +             //0xffb3
   517:     "," +             //0xffb4
   518:     "," +             //0xffb5
   519:     "," +             //0xffb6
   520:     "," +             //0xffb7
   521:     "," +             //0xffb8
   522:     "," +             //0xffb9
   523:     "," +             //0xffba
   524:     "," +             //0xffbb
   525:     "," +             //0xffbc
   526:     "," +             //0xffbd
   527:     "," +             //0xffbe
   528:     "," +             //0xffbf
   529:     "," +             //0xffc0
   530:     "," +             //0xffc1
   531:     "," +             //0xffc2
   532:     "," +             //0xffc3
   533:     "," +             //0xffc4
   534:     "," +             //0xffc5
   535:     "," +             //0xffc6
   536:     "," +             //0xffc7
   537:     "," +             //0xffc8
   538:     "," +             //0xffc9
   539:     "," +             //0xffca
   540:     "," +             //0xffcb
   541:     "," +             //0xffcc
   542:     "," +             //0xffcd
   543:     "," +             //0xffce
   544:     "," +             //0xffcf
   545:     "," +             //0xffd0
   546:     "," +             //0xffd1
   547:     "," +             //0xffd2
   548:     "," +             //0xffd3
   549:     "," +             //0xffd4
   550:     "," +             //0xffd5
   551:     "," +             //0xffd6
   552:     "," +             //0xffd7
   553:     "," +             //0xffd8
   554:     "," +             //0xffd9
   555:     "," +             //0xffda
   556:     "," +             //0xffdb
   557:     "," +             //0xffdc
   558:     "," +             //0xffdd
   559:     "," +             //0xffde
   560:     "," +             //0xffdf
   561:     "," +             //0xffe0
   562:     "," +             //0xffe1
   563:     "," +             //0xffe2
   564:     "," +             //0xffe3
   565:     "," +             //0xffe4
   566:     "," +             //0xffe5
   567:     "," +             //0xffe6
   568:     "," +             //0xffe7
   569:     "," +             //0xffe8
   570:     "," +             //0xffe9
   571:     "," +             //0xffea
   572:     "," +             //0xffeb
   573:     "," +             //0xffec
   574:     "," +             //0xffed
   575:     "," +             //0xffee
   576:     "," +             //0xffef
   577:     "_EXITVC," +      //0xfff0 _EXITVC(プロセスが終了したときのジャンプ先のベクタ)
   578:     "_CTRLVC," +      //0xfff1 _CTRLVC(^Cのときのジャンプ先のベクタ)
   579:     "_ERRJVC," +      //0xfff2 _ERRJVC(システムエラーが発生したときのジャンプ先のベクタ)
   580:     "_DISKRED," +     //0xfff3 ハンドラから直接読み込む
   581:     "_DISKWRT," +     //0xfff4 ハンドラに直接書き込む
   582:     "_INDOSFLG," +    //0xfff5
   583:     "_SUPER_JSR," +   //0xfff6
   584:     "_BUS_ERR," +     //0xfff7
   585:     "_OPEN_PR," +     //0xfff8 _OPEN_PR(スレッドが生成されたとき呼ばれるベクタ)
   586:     "_KILL_PR," +     //0xfff9 _KILL_PR(スレッドが消滅したとき呼ばれるベクタ)
   587:     "_GET_PR," +      //0xfffa
   588:     "_SUSPEND_PR," +  //0xfffb
   589:     "_SLEEP_PR," +    //0xfffc
   590:     "_SEND_PR," +     //0xfffd
   591:     "_TIME_PR," +     //0xfffe
   592:     "_CHANGE_PR"      //0xffff _CHANGE_PR(スレッドが切り替わったとき呼ばれるベクタ)
   593:     ).split (",", 256);
   594: 
   595:   //FEファンクションコール名(0xfe00~0xfeff)
   596:   public static final String[] DIS_FPACK_NAME = (
   597:     "__LMUL," +       //0xfe00  d0.l*=d1.l  32bit符号あり整数乗算
   598:     "__LDIV," +       //0xfe01  d0.l/=d1.l  32bit符号あり整数除算
   599:     "__LMOD," +       //0xfe02  d0.l%=d1.l  32bit符号あり整数剰余算
   600:     "," +             //0xfe03
   601:     "__UMUL," +       //0xfe04  d0.l*=d1.l  32bit符号なし整数乗算
   602:     "__UDIV," +       //0xfe05  d0.l/=d1.l  32bit符号なし整数除算
   603:     "__UMOD," +       //0xfe06  d0.l%=d1.l  32bit符号なし整数剰余算
   604:     "," +             //0xfe07
   605:     "__IMUL," +       //0xfe08  d0d1.q=d0.l*d1.l  32bit符号なし整数乗算
   606:     "__IDIV," +       //0xfe09  d0.l余りd1.l=d0.l/%d1.l  32bit符号なし整数除算・剰余算
   607:     "," +             //0xfe0a
   608:     "," +             //0xfe0b
   609:     "__RANDOMIZE," +  //0xfe0c  0<=d0.l<=65535  rnd()乱数列の初期化
   610:     "__SRAND," +      //0xfe0d  -32768<=d0.l<=32767  rand()乱数列の初期化
   611:     "__RAND," +       //0xfe0e  d0.l=rand()  整数乱数
   612:     "," +             //0xfe0f
   613:     "__STOL," +       //0xfe10  d0.l=10進数(a0)  10進数の文字列を32bit符号あり整数に変換する
   614:     "__LTOS," +       //0xfe11  10進数(a0)=d0.l  32bit符号あり整数を10進数の文字列に変換する
   615:     "__STOH," +       //0xfe12  d0.l=16進数(a0)  16進数の文字列を32bit符号なし整数に変換する
   616:     "__HTOS," +       //0xfe13  16進数(a0)=d0.l  32bit符号なし整数を16進数の文字列に変換する
   617:     "__STOO," +       //0xfe14  d0.l=8進数(a0)  8進数の文字列を32bit符号なし整数に変換する
   618:     "__OTOS," +       //0xfe15  8進数(a0)=d0.l  32bit符号なし整数を8進数の文字列に変換する
   619:     "__STOB," +       //0xfe16  d0.=2進数(a0)l  2進数の文字列を32bit符号なし整数に変換する
   620:     "__BTOS," +       //0xfe17  2進数(a0)=d0.l  32bit符号なし整数を2進数の文字列に変換する
   621:     "__IUSING," +     //0xfe18  10進数(a0)桁数d1.b=d0.l  32bit符号あり整数を文字数を指定して右詰めで10進数の文字列に変換する
   622:     "," +             //0xfe19
   623:     "__LTOD," +       //0xfe1a  d0d1.d=d0.l  32bit符号あり整数を64bit浮動小数点数に変換する
   624:     "__DTOL," +       //0xfe1b  d0.l=d0d1.d  64bit浮動小数点数を32bit符号あり整数に変換する
   625:     "__LTOF," +       //0xfe1c  d0.s=d0.l  32bit符号あり整数を32bit浮動小数点数に変換する
   626:     "__FTOL," +       //0xfe1d  d0.l=d0.s  32bit浮動小数点数を32bit符号あり整数に変換する
   627:     "__FTOD," +       //0xfe1e  d0d1.d=d0.s  32bit浮動小数点数を64bit浮動小数点数に変換する
   628:     "__DTOF," +       //0xfe1f  d0.s=d0d1.d  64bit浮動小数点数を32bit浮動小数点数に変換する
   629:     "__VAL," +        //0xfe20  d0d1.d=10進数/&H:16進数/&O:8進数/&B:2進数(a0)  文字列を64bit浮動小数点数に変換する
   630:     "__USING," +      //0xfe21  10進数(a0)整数桁数d2.l小数桁数d3.l属性d4.l=d0d1.d  64bit浮動小数点数をアトリビュートを指定して文字列に変換する
   631:     "__STOD," +       //0xfe22  d0d1.d=10進数(a0)  文字列を64bit浮動小数点数に変換する
   632:     "__DTOS," +       //0xfe23  10進数(a0)=d0d1.d  64bit浮動小数点数を文字列に変換する
   633:     "__ECVT," +       //0xfe24  10進数数字のみ(a0)全体桁数d2.l=d0d1.d  64bit浮動小数点数を全体の桁数を指定して文字列に変換する
   634:     "__FCVT," +       //0xfe25  10進数数字のみ(a0)小数桁数d2.l=d0d1.d  64bit浮動小数点数を小数点以下の桁数を指定して文字列に変換する
   635:     "__GCVT," +       //0xfe26  10進数(a0)全体桁数d2.l=d0d1.d  64bit浮動小数点数を全体の桁数を指定して文字列に変換する
   636:     "," +             //0xfe27
   637:     "__DTST," +       //0xfe28  d0d1.d<=>0  64bit浮動小数点数と0の比較
   638:     "__DCMP," +       //0xfe29  d0d1.d<=>d2d3.d  64bit浮動小数点数の比較
   639:     "__DNEG," +       //0xfe2a  d0d1.d=-d0d1.d  64bit浮動小数点数の符号反転
   640:     "__DADD," +       //0xfe2b  d0d1.d+=d2d3.d  64bit浮動小数点数の加算
   641:     "__DSUB," +       //0xfe2c  d0d1.d-=d2d3.d  64bit浮動小数点数の減算
   642:     "__DMUL," +       //0xfe2d  d0d1.d*=d2d3.d  64bit浮動小数点数の乗算
   643:     "__DDIV," +       //0xfe2e  d0d1.d/=d2d3.d  64bit浮動小数点数の除算
   644:     "__DMOD," +       //0xfe2f  d0d1.d%=d2d3.d  64bit浮動小数点数の剰余算
   645:     "__DABS," +       //0xfe30  d0d1.d=abs(d0d1.d)  64bit浮動小数点数の絶対値
   646:     "__DCEIL," +      //0xfe31  d0d1.d=ceil(d0d1.d)  64bit浮動小数点数の天井関数(引数を下回らない最小の整数)
   647:     "__DFIX," +       //0xfe32  d0d1.d=trunc(d0d1.d)  64bit浮動小数点数の切り落とし関数(絶対値について引数を上回らない最大の整数)
   648:     "__DFLOOR," +     //0xfe33  d0d1.d=floor(d0d1.d)  64bit浮動小数点数の床関数(引数を上回らない最大の整数)
   649:     "__DFRAC," +      //0xfe34  d0d1.d=frac(d0d1.d)  64bit浮動小数点数の幹小数部
   650:     "__DSGN," +       //0xfe35  d0d1.d=signum(d0d1.d)  64bit浮動小数点数の符号
   651:     "__SIN," +        //0xfe36  d0d1.d=sin(d0d1.d)  64bit浮動小数点数の正弦
   652:     "__COS," +        //0xfe37  d0d1.d=cos(d0d1.d)  64bit浮動小数点数の余弦
   653:     "__TAN," +        //0xfe38  d0d1.d=tan(d0d1.d)  64bit浮動小数点数の正接
   654:     "__ATAN," +       //0xfe39  d0d1.d=atan(d0d1.d)  64bit浮動小数点数の逆正接
   655:     "__LOG," +        //0xfe3a  d0d1.d=log(d0d1.d)  64bit浮動小数点数の自然対数
   656:     "__EXP," +        //0xfe3b  d0d1.d=exp(d0d1.d)  64bit浮動小数点数の指数関数
   657:     "__SQR," +        //0xfe3c  d0d1.d=sqrt(d0d1.d)  64bit浮動小数点数の平方根
   658:     "__PI," +         //0xfe3d  d0d1.d=pi  64bit浮動小数点数の円周率
   659:     "__NPI," +        //0xfe3e  d0d1.d*=pi  64bit浮動小数点数の円周率倍
   660:     "__POWER," +      //0xfe3f  d0d1.d=pow(d0d1.d,d2d3.d)  64bit浮動小数点数の累乗
   661:     "__RND," +        //0xfe40  d0d1.d=rnd()  64bit浮動小数点数の乱数
   662:     "__SINH," +       //0xfe41  d0d1.d=sinh(d0d1.d)  64bit浮動小数点数の双曲線正弦
   663:     "__COSH," +       //0xfe42  d0d1.d=cosh(d0d1.d)  64bit浮動小数点数の双曲線余弦
   664:     "__TANH," +       //0xfe43  d0d1.d=tanh(d0d1.d)  64bit浮動小数点数の双曲線正接
   665:     "__ATANH," +      //0xfe44  d0d1.d=atanh(d0d1.d)  64bit浮動小数点数の逆双曲線正接
   666:     "__ASIN," +       //0xfe45  d0d1.d=asin(d0d1.d)  64bit浮動小数点数の逆正弦
   667:     "__ACOS," +       //0xfe46  d0d1.d=acos(d0d1.d)  64bit浮動小数点数の逆余弦
   668:     "__LOG10," +      //0xfe47  d0d1.d=log10(d0d1.d)  64bit浮動小数点数の常用対数
   669:     "__LOG2," +       //0xfe48  d0d1.d=log2(d0d1.d)  64bit浮動小数点数の二進対数
   670:     "__DFREXP," +     //0xfe49  d0d1.d指数部d2.l=d0d1.d  64bit浮動小数点数の分解
   671:     "__DLDEXP," +     //0xfe4a  d0d1.d=d0d1.d指数部d2.l  64bit浮動小数点数の合成
   672:     "__DADDONE," +    //0xfe4b  d0d1.d++  64bit浮動小数点数に1を加える
   673:     "__DSUBONE," +    //0xfe4c  d0d1.d--  64bit浮動小数点数から1を引く
   674:     "__DDIVTWO," +    //0xfe4d  d0d1.d/=2  64bit浮動小数点数を2で割る
   675:     "__DIEECNV," +    //0xfe4e  d0d1.d=d0d1.d  64bit浮動小数点数をIEEEフォーマットに変換する(FLOAT1.X以外は何もしない)
   676:     "__IEEDCNV," +    //0xfe4f  d0d1.d=d0d1.d  64bit浮動小数点数をIEEEフォーマットから変換する(FLOAT1.X以外は何もしない)
   677:     "__FVAL," +       //0xfe50  d0.s=10進数/&H:16進数/&O:8進数/&B:2進数(a0)  文字列を32bit浮動小数点数に変換する
   678:     "__FUSING," +     //0xfe51  10進数(a0)整数桁数d2.l小数桁数d3.l属性d4.l=d0.s  32bit浮動小数点数をアトリビュートを指定して文字列に変換する
   679:     "__STOF," +       //0xfe52  d0.s=10進数(a0)  文字列を32bit浮動小数点数に変換する
   680:     "__FTOS," +       //0xfe53  10進数(a0)=d0.s  32bit浮動小数点数を文字列に変換する
   681:     "__FECVT," +      //0xfe54  10進数数字のみ(a0)全体桁数d2.l=d0.s  32bit浮動小数点数を全体の桁数を指定して文字列に変換する
   682:     "__FFCVT," +      //0xfe55  10進数数字のみ(a0)小数桁数d2.l=d0.s  32bit浮動小数点数を小数点以下の桁数を指定して文字列に変換する
   683:     "__FGCVT," +      //0xfe56  10進数(a0)全体桁数d2.l=d0.s  32bit浮動小数点数を全体の桁数を指定して文字列に変換する
   684:     "," +             //0xfe57
   685:     "__FTST," +       //0xfe58  d0.s<=>0  32bit浮動小数点数と0の比較
   686:     "__FCMP," +       //0xfe59  d0.s<=>d1.s  32bit浮動小数点数の比較
   687:     "__FNEG," +       //0xfe5a  d0.s=-d0.s  32bit浮動小数点数の符号反転
   688:     "__FADD," +       //0xfe5b  d0.s+=d1.s  32bit浮動小数点数の加算
   689:     "__FSUB," +       //0xfe5c  d0.s-=d1.s  32bit浮動小数点数の減算
   690:     "__FMUL," +       //0xfe5d  d0.s*=d1.s  32bit浮動小数点数の乗算
   691:     "__FDIV," +       //0xfe5e  d0.s/=d1.s  32bit浮動小数点数の除算
   692:     "__FMOD," +       //0xfe5f  d0.s%=d1.s  32bit浮動小数点数の剰余算
   693:     "__FABS," +       //0xfe60  d0.s=abs(d0.s)  32bit浮動小数点数の絶対値
   694:     "__FCEIL," +      //0xfe61  d0.s=ceil(d0.s)  32bit浮動小数点数の天井関数(引数を下回らない最小の整数)
   695:     "__FFIX," +       //0xfe62  d0.s=trunc(d0.s)  32bit浮動小数点数の切り落とし関数(絶対値について引数を上回らない最大の整数)
   696:     "__FFLOOR," +     //0xfe63  d0.s=floor(d0.s)  32bit浮動小数点数の床関数(引数を上回らない最大の整数)
   697:     "__FFRAC," +      //0xfe64  d0.s=frac(d0.s)  32bit浮動小数点数の幹小数部
   698:     "__FSGN," +       //0xfe65  d0.s=signum(d0.s)  32bit浮動小数点数の符号
   699:     "__FSIN," +       //0xfe66  d0.s=sin(d0.s)  32bit浮動小数点数の正弦
   700:     "__FCOS," +       //0xfe67  d0.s=cos(d0.s)  32bit浮動小数点数の余弦
   701:     "__FTAN," +       //0xfe68  d0.s=tan(d0.s)  32bit浮動小数点数の正接
   702:     "__FATAN," +      //0xfe69  d0.s=atan(d0.s)  32bit浮動小数点数の逆正接
   703:     "__FLOG," +       //0xfe6a  d0.s=log(d0.s)  32bit浮動小数点数の自然対数
   704:     "__FEXP," +       //0xfe6b  d0.s=exp(d0.s)  32bit浮動小数点数の指数関数
   705:     "__FSQR," +       //0xfe6c  d0.s=sqrt(d0.s)  32bit浮動小数点数の平方根
   706:     "__FPI," +        //0xfe6d  d0.s=pi  32bit浮動小数点数の円周率
   707:     "__FNPI," +       //0xfe6e  d0.s*=pi  32bit浮動小数点数の円周率倍
   708:     "__FPOWER," +     //0xfe6f  d0.s=pow(d0.s,d1.s)  32bit浮動小数点数の累乗
   709:     "__FRND," +       //0xfe70  d0.s=rnd()  32bit浮動小数点数の乱数
   710:     "__FSINH," +      //0xfe71  d0.s=sinh(d0.s)  32bit浮動小数点数の双曲線正弦
   711:     "__FCOSH," +      //0xfe72  d0.s=cosh(d0.s)  32bit浮動小数点数の双曲線余弦
   712:     "__FTANH," +      //0xfe73  d0.s=tanh(d0.s)  32bit浮動小数点数の双曲線正接
   713:     "__FATANH," +     //0xfe74  d0.s=atanh(d0.s)  32bit浮動小数点数の逆双曲線正接
   714:     "__FASIN," +      //0xfe75  d0.s=asin(d0.s)  32bit浮動小数点数の逆正弦
   715:     "__FACOS," +      //0xfe76  d0.s=acos(d0.s)  32bit浮動小数点数の逆余弦
   716:     "__FLOG10," +     //0xfe77  d0.s=log10(d0.s)  32bit浮動小数点数の常用対数
   717:     "__FLOG2," +      //0xfe78  d0.s=log2(d0.s)  32bit浮動小数点数の二進対数
   718:     "__FFREXP," +     //0xfe79  d0.s指数部d1.l=d0.s  32bit浮動小数点数の分解
   719:     "__FLDEXP," +     //0xfe7a  d0.s=d0.s指数部d1.l  32bit浮動小数点数の合成
   720:     "__FADDONE," +    //0xfe7b  d0.s++  32bit浮動小数点数に1を加える
   721:     "__FSUBONE," +    //0xfe7c  d0.s--  32bit浮動小数点数から1を引く
   722:     "__FDIVTWO," +    //0xfe7d  d0.s/=2  32bit浮動小数点数を2で割る
   723:     "__FIEECNV," +    //0xfe7e  d0.s=d0.s  32bit浮動小数点数をIEEEフォーマットに変換する(FLOAT1.X以外は何もしない)
   724:     "__IEEFCNV," +    //0xfe7f  d0.s=d0.s  32bit浮動小数点数をIEEEフォーマットから変換する(FLOAT1.X以外は何もしない)
   725:     "," +             //0xfe80
   726:     "," +             //0xfe81
   727:     "," +             //0xfe82
   728:     "," +             //0xfe83
   729:     "," +             //0xfe84
   730:     "," +             //0xfe85
   731:     "," +             //0xfe86
   732:     "," +             //0xfe87
   733:     "," +             //0xfe88
   734:     "," +             //0xfe89
   735:     "," +             //0xfe8a
   736:     "," +             //0xfe8b
   737:     "," +             //0xfe8c
   738:     "," +             //0xfe8d
   739:     "," +             //0xfe8e
   740:     "," +             //0xfe8f
   741:     "," +             //0xfe90
   742:     "," +             //0xfe91
   743:     "," +             //0xfe92
   744:     "," +             //0xfe93
   745:     "," +             //0xfe94
   746:     "," +             //0xfe95
   747:     "," +             //0xfe96
   748:     "," +             //0xfe97
   749:     "," +             //0xfe98
   750:     "," +             //0xfe99
   751:     "," +             //0xfe9a
   752:     "," +             //0xfe9b
   753:     "," +             //0xfe9c
   754:     "," +             //0xfe9d
   755:     "," +             //0xfe9e
   756:     "," +             //0xfe9f
   757:     "," +             //0xfea0
   758:     "," +             //0xfea1
   759:     "," +             //0xfea2
   760:     "," +             //0xfea3
   761:     "," +             //0xfea4
   762:     "," +             //0xfea5
   763:     "," +             //0xfea6
   764:     "," +             //0xfea7
   765:     "," +             //0xfea8
   766:     "," +             //0xfea9
   767:     "," +             //0xfeaa
   768:     "," +             //0xfeab
   769:     "," +             //0xfeac
   770:     "," +             //0xfead
   771:     "," +             //0xfeae
   772:     "," +             //0xfeaf
   773:     "," +             //0xfeb0
   774:     "," +             //0xfeb1
   775:     "," +             //0xfeb2
   776:     "," +             //0xfeb3
   777:     "," +             //0xfeb4
   778:     "," +             //0xfeb5
   779:     "," +             //0xfeb6
   780:     "," +             //0xfeb7
   781:     "," +             //0xfeb8
   782:     "," +             //0xfeb9
   783:     "," +             //0xfeba
   784:     "," +             //0xfebb
   785:     "," +             //0xfebc
   786:     "," +             //0xfebd
   787:     "," +             //0xfebe
   788:     "," +             //0xfebf
   789:     "," +             //0xfec0
   790:     "," +             //0xfec1
   791:     "," +             //0xfec2
   792:     "," +             //0xfec3
   793:     "," +             //0xfec4
   794:     "," +             //0xfec5
   795:     "," +             //0xfec6
   796:     "," +             //0xfec7
   797:     "," +             //0xfec8
   798:     "," +             //0xfec9
   799:     "," +             //0xfeca
   800:     "," +             //0xfecb
   801:     "," +             //0xfecc
   802:     "," +             //0xfecd
   803:     "," +             //0xfece
   804:     "," +             //0xfecf
   805:     "," +             //0xfed0
   806:     "," +             //0xfed1
   807:     "," +             //0xfed2
   808:     "," +             //0xfed3
   809:     "," +             //0xfed4
   810:     "," +             //0xfed5
   811:     "," +             //0xfed6
   812:     "," +             //0xfed7
   813:     "," +             //0xfed8
   814:     "," +             //0xfed9
   815:     "," +             //0xfeda
   816:     "," +             //0xfedb
   817:     "," +             //0xfedc
   818:     "," +             //0xfedd
   819:     "," +             //0xfede
   820:     "," +             //0xfedf
   821:     "__CLMUL," +      //0xfee0  (sp).l*=4(sp).l  32bit符号あり整数乗算
   822:     "__CLDIV," +      //0xfee1  (sp).l/=4(sp).l  32bit符号あり整数除算
   823:     "__CLMOD," +      //0xfee2  (sp).l%=4(sp).l  32bit符号あり整数剰余算
   824:     "__CUMUL," +      //0xfee3  (sp).l*=4(sp).l  32bit符号なし整数乗算
   825:     "__CUDIV," +      //0xfee4  (sp).l/=4(sp).l  32bit符号なし整数除算
   826:     "__CUMOD," +      //0xfee5  (sp).l%=4(sp).l  32bit符号なし整数剰余算
   827:     "__CLTOD," +      //0xfee6  (sp).d=(sp).l  32bit符号あり整数を64bit浮動小数点数に変換する
   828:     "__CDTOL," +      //0xfee7  (sp).l=(sp).d  64bit浮動小数点数を32bit符号あり整数に変換する
   829:     "__CLTOF," +      //0xfee8  (sp).s=(sp).l  32bit符号あり整数を32bit浮動小数点数に変換する
   830:     "__CFTOL," +      //0xfee9  (sp).l=(sp).s  32bit浮動小数点数を32bit符号あり整数に変換する
   831:     "__CFTOD," +      //0xfeea  (sp).d=(sp).s  32bit浮動小数点数を64bit浮動小数点数に変換する
   832:     "__CDTOF," +      //0xfeeb  (sp).s=(sp).d  64bit浮動小数点数を32bit浮動小数点数に変換する
   833:     "__CDCMP," +      //0xfeec  (sp).d<=>8(sp).d  64bit浮動小数点数の比較
   834:     "__CDADD," +      //0xfeed  (sp).d+=8(sp).d  64bit浮動小数点数の加算
   835:     "__CDSUB," +      //0xfeee  (sp).d-=8(sp).d  64bit浮動小数点数の減算
   836:     "__CDMUL," +      //0xfeef  (sp).d*=8(sp).d  64bit浮動小数点数の乗算
   837:     "__CDDIV," +      //0xfef0  (sp).d/=8(sp).d  64bit浮動小数点数の除算
   838:     "__CDMOD," +      //0xfef1  (sp).d%=8(sp).d  64bit浮動小数点数の剰余算
   839:     "__CFCMP," +      //0xfef2  (sp).s<=>4(sp).s  32bit浮動小数点数の比較
   840:     "__CFADD," +      //0xfef3  (sp).s+=4(sp).s  32bit浮動小数点数の加算
   841:     "__CFSUB," +      //0xfef4  (sp).s-=4(sp).s  32bit浮動小数点数の減算
   842:     "__CFMUL," +      //0xfef5  (sp).s*=4(sp).s  32bit浮動小数点数の乗算
   843:     "__CFDIV," +      //0xfef6  (sp).s/=4(sp).s  32bit浮動小数点数の除算
   844:     "__CFMOD," +      //0xfef7  (sp).s%=4(sp).s  32bit浮動小数点数の剰余算
   845:     "__CDTST," +      //0xfef8  (sp).d<=>0  64bit浮動小数点数と0の比較
   846:     "__CFTST," +      //0xfef9  (sp).s<=>0  32bit浮動小数点数と0の比較
   847:     "__CDINC," +      //0xfefa  (sp).d++  64bit浮動小数点数に1を加える
   848:     "__CFINC," +      //0xfefb  (sp).s++  32bit浮動小数点数に1を加える
   849:     "__CDDEC," +      //0xfefc  (sp).d--  64bit浮動小数点数から1を引く
   850:     "__CFDEC," +      //0xfefd  (sp).s--  32bit浮動小数点数から1を引く
   851:     "__FEVARG," +     //0xfefe  d0.l='HS86'(FLOAT1)/'IEEE'(FLOAT2/3/4),d1.l='SOFT'(FLOAT1/2)/'FPCP'(FLOAT3)/'FP20'(FLOAT4)  バージョン確認
   852:     "__FEVECS"        //0xfeff  ベクタ[番号d0.l]=アドレスa0.l  ベクタ設定
   853:     ).split (",", 256);
   854: 
   855:   //SXコール名(0xa000~0xa7ff)
   856:   public static final String[] DIS_SXCALL_NAME = (
   857:     "__MMInitHeap," +         //0xa000
   858:     "__MMGetCurrentHeap," +   //0xa001
   859:     "__MMSetCurrentHeap," +   //0xa002
   860:     "__MMNewHandle," +        //0xa003
   861:     "__MMSetHandleSize," +    //0xa004
   862:     "__MMDisposeHandle," +    //0xa005
   863:     "__MMGetHandleSize," +    //0xa006
   864:     "__MMHLock," +            //0xa007
   865:     "__MMHUnlock," +          //0xa008
   866:     "__MMNewPtr," +           //0xa009
   867:     "__MMDisposePtr," +       //0xa00a
   868:     "__MMGetPtrSize," +       //0xa00b
   869:     "__MMSetPtrSize," +       //0xa00c
   870:     "__MMCompactMem," +       //0xa00d
   871:     "__MMHeapInit," +         //0xa00e
   872:     "__MMBlockMstGet," +      //0xa00f
   873:     "__MMMemCompact," +       //0xa010
   874:     "__MMMemPurge," +         //0xa011
   875:     "__MMMemMelt," +          //0xa012
   876:     "__MMMemReserve," +       //0xa013
   877:     "__MMMemSizeFree," +      //0xa014
   878:     "__MMMemSizeComp," +      //0xa015
   879:     "__MMMemSizePurge," +     //0xa016
   880:     "__MMMemSizeMelt," +      //0xa017
   881:     "__MMMemErrorGet," +      //0xa018
   882:     "__MMMemErrorSet," +      //0xa019
   883:     "__MMMemStrictGet," +     //0xa01a
   884:     "__MMMemStrictSet," +     //0xa01b
   885:     "__MMChGet," +            //0xa01c
   886:     "__MMChSet," +            //0xa01d
   887:     "__MMChPtrNew," +         //0xa01e
   888:     "__MMChMstMore," +        //0xa01f
   889:     "__MMChMstNew," +         //0xa020
   890:     "__MMChHdlNew," +         //0xa021
   891:     "__MMChCompact," +        //0xa022
   892:     "__MMChPurge," +          //0xa023
   893:     "__MMChMelt," +           //0xa024
   894:     "__MMChReserve," +        //0xa025
   895:     "__MMChFreeSize," +       //0xa026
   896:     "__MMChGrowHeapGet," +    //0xa027
   897:     "__MMChGrowHeapSet," +    //0xa028
   898:     "__MMChPurgeGet," +       //0xa029
   899:     "__MMChPurgeSet," +       //0xa02a
   900:     "__MMChCompactGet," +     //0xa02b
   901:     "__MMChCompactSet," +     //0xa02c
   902:     "__MMPtrNew," +           //0xa02d
   903:     "__MMPtrHeap," +          //0xa02e
   904:     "__MMPtrDispose," +       //0xa02f
   905:     "__MMPtrSizeGet," +       //0xa030
   906:     "__MMPtrSizeSet," +       //0xa031
   907:     "__MMPtrPropGet," +       //0xa032
   908:     "__MMPtrPropSet," +       //0xa033
   909:     "__MMMstAllocate," +      //0xa034
   910:     "__MMMstBind," +          //0xa035
   911:     "__MMHdlNew," +           //0xa036
   912:     "__MMHdlHeap," +          //0xa037
   913:     "__MMHdlDispose," +       //0xa038
   914:     "__MMHdlSizeGet," +       //0xa039
   915:     "__MMHdlSizeSet," +       //0xa03a
   916:     "__MMHdlEmpty," +         //0xa03b
   917:     "__MMHdlRealloc," +       //0xa03c
   918:     "__MMHdlMoveHi," +        //0xa03d
   919:     "__MMHdlPropGet," +       //0xa03e
   920:     "__MMHdlPropSet," +       //0xa03f
   921:     "__MMHdlLock," +          //0xa040
   922:     "__MMHdlUnlock," +        //0xa041
   923:     "__MMHdlPurge," +         //0xa042
   924:     "__MMHdlNoPurge," +       //0xa043
   925:     "__MMHdlResource," +      //0xa044
   926:     "__MMHdlNoResource," +    //0xa045
   927:     "__MMHdlIns," +           //0xa046
   928:     "__MMHdlDel," +           //0xa047
   929:     "__MMBlockUsrFlagGet," +  //0xa048
   930:     "__MMBlockUsrFlagSet," +  //0xa049
   931:     "__MMBlockUsrWordGet," +  //0xa04a
   932:     "__MMBlockUsrWordSet," +  //0xa04b
   933:     "__MMMemAmiTPeach," +     //0xa04c
   934:     "__MMMemHiReserve," +     //0xa04d
   935:     "__MMPtrBlock," +         //0xa04e
   936:     "__MMHdlBlock," +         //0xa04f
   937:     "__MMHdlMstGet," +        //0xa050
   938:     "__MMChHiReserve," +      //0xa051
   939:     "__MMChUsrFlagGet," +     //0xa052
   940:     "__MMChUsrFlagSet," +     //0xa053
   941:     "__MMChUsrWordGet," +     //0xa054
   942:     "__MMChUsrWordSet," +     //0xa055
   943:     "," +                     //0xa056
   944:     "," +                     //0xa057
   945:     "," +                     //0xa058
   946:     "," +                     //0xa059
   947:     "," +                     //0xa05a
   948:     "," +                     //0xa05b
   949:     "," +                     //0xa05c
   950:     "," +                     //0xa05d
   951:     "," +                     //0xa05e
   952:     "," +                     //0xa05f
   953:     "," +                     //0xa060
   954:     "," +                     //0xa061
   955:     "," +                     //0xa062
   956:     "," +                     //0xa063
   957:     "," +                     //0xa064
   958:     "," +                     //0xa065
   959:     "," +                     //0xa066
   960:     "," +                     //0xa067
   961:     "__EXEnVDISPST," +        //0xa068
   962:     "__EXDeVDISPST," +        //0xa069
   963:     "__MSInitCsr," +          //0xa06a
   964:     "__MSShowCsr," +          //0xa06b
   965:     "__MSHideCsr," +          //0xa06c
   966:     "__MSSetCsr," +           //0xa06d
   967:     "__MSObscureCsr," +       //0xa06e
   968:     "__MSShieldCsr," +        //0xa06f
   969:     "__MSGetCurMsr," +        //0xa070
   970:     "__MSMultiGet," +         //0xa071
   971:     "__MSMultiSet," +         //0xa072
   972:     "__EXAnimStart," +        //0xa073
   973:     "__EXAnimEnd," +          //0xa074
   974:     "__EXAnimTest," +         //0xa075
   975:     "," +                     //0xa076
   976:     "," +                     //0xa077
   977:     "," +                     //0xa078
   978:     "," +                     //0xa079
   979:     "," +                     //0xa07a
   980:     "," +                     //0xa07b
   981:     "," +                     //0xa07c
   982:     "," +                     //0xa07d
   983:     "," +                     //0xa07e
   984:     "," +                     //0xa07f
   985:     "," +                     //0xa080
   986:     "," +                     //0xa081
   987:     "," +                     //0xa082
   988:     "," +                     //0xa083
   989:     "," +                     //0xa084
   990:     "," +                     //0xa085
   991:     "__KBMapGet," +           //0xa086
   992:     "__KBShiftGet," +         //0xa087
   993:     "__KBShiftSet," +         //0xa088
   994:     "__KBSimulate," +         //0xa089
   995:     "__KBScan," +             //0xa08a
   996:     "__KBGet," +              //0xa08b
   997:     "__KBEmpty," +            //0xa08c
   998:     "__KBInit," +             //0xa08d
   999:     "__KBTini," +             //0xa08e
  1000:     "__KBCurKbrGet," +        //0xa08f
  1001:     "__KBOldOnGet," +         //0xa090
  1002:     "__KBOldOnSet," +         //0xa091
  1003:     "__KBFlagGet," +          //0xa092
  1004:     "__KBFlagSet," +          //0xa093
  1005:     "," +                     //0xa094
  1006:     "," +                     //0xa095
  1007:     "," +                     //0xa096
  1008:     "," +                     //0xa097
  1009:     "," +                     //0xa098
  1010:     "," +                     //0xa099
  1011:     "__KMEmpty," +            //0xa09a
  1012:     "__KMPost," +             //0xa09b
  1013:     "__KMAscJobSet," +        //0xa09c
  1014:     "__KMSimulate," +         //0xa09d
  1015:     "__KMTask," +             //0xa09e
  1016:     "__KMInit," +             //0xa09f
  1017:     "__KMTini," +             //0xa0a0
  1018:     "__KMCurKmrGet," +        //0xa0a1
  1019:     "__EMInit," +             //0xa0a2
  1020:     "__EMTini," +             //0xa0a3
  1021:     "__EMSet," +              //0xa0a4
  1022:     "__EMGet," +              //0xa0a5
  1023:     "__EMScan," +             //0xa0a6
  1024:     "__EMMSLoc," +            //0xa0a7
  1025:     "__EMLBttn," +            //0xa0a8
  1026:     "__EMRBttn," +            //0xa0a9
  1027:     "__EMLStill," +           //0xa0aa
  1028:     "__EMRStill," +           //0xa0ab
  1029:     "__EMLWait," +            //0xa0ac
  1030:     "__EMRWait," +            //0xa0ad
  1031:     "__EMKMapGet," +          //0xa0ae
  1032:     "__EMSysTime," +          //0xa0af
  1033:     "__EMDClickGet," +        //0xa0b0
  1034:     "__EMBlinkGet," +         //0xa0b1
  1035:     "__EMClean," +            //0xa0b2
  1036:     "__EMMaskSet," +          //0xa0b3
  1037:     "__EMDTTskSet," +         //0xa0b4
  1038:     "__EMDClickSet," +        //0xa0b5
  1039:     "__EMBlinkSet," +         //0xa0b6
  1040:     "__EMEnCross," +          //0xa0b7
  1041:     "__EMDeCross," +          //0xa0b8
  1042:     "," +                     //0xa0b9
  1043:     "," +                     //0xa0ba
  1044:     "," +                     //0xa0bb
  1045:     "," +                     //0xa0bc
  1046:     "," +                     //0xa0bd
  1047:     "," +                     //0xa0be
  1048:     "," +                     //0xa0bf
  1049:     "," +                     //0xa0c0
  1050:     "," +                     //0xa0c1
  1051:     "," +                     //0xa0c2
  1052:     "," +                     //0xa0c3
  1053:     "," +                     //0xa0c4
  1054:     "," +                     //0xa0c5
  1055:     "," +                     //0xa0c6
  1056:     "," +                     //0xa0c7
  1057:     "," +                     //0xa0c8
  1058:     "," +                     //0xa0c9
  1059:     "," +                     //0xa0ca
  1060:     "," +                     //0xa0cb
  1061:     "," +                     //0xa0cc
  1062:     "," +                     //0xa0cd
  1063:     "," +                     //0xa0ce
  1064:     "," +                     //0xa0cf
  1065:     "," +                     //0xa0d0
  1066:     "," +                     //0xa0d1
  1067:     "," +                     //0xa0d2
  1068:     "," +                     //0xa0d3
  1069:     "," +                     //0xa0d4
  1070:     "," +                     //0xa0d5
  1071:     "," +                     //0xa0d6
  1072:     "," +                     //0xa0d7
  1073:     "," +                     //0xa0d8
  1074:     "__RMInit," +             //0xa0d9
  1075:     "__RMTini," +             //0xa0da
  1076:     "__RMResNew," +           //0xa0db
  1077:     "__RMRscAdd," +           //0xa0dc
  1078:     "__RMRscRemove," +        //0xa0dd
  1079:     "__RMTypeRemove," +       //0xa0de
  1080:     "__RMResDispose," +       //0xa0df
  1081:     "__RMResOpen," +          //0xa0e0
  1082:     "__RMRscGet," +           //0xa0e1
  1083:     "__RMResClose," +         //0xa0e2
  1084:     "__RMResRemove," +        //0xa0e3
  1085:     "__RMCurResSet," +        //0xa0e4
  1086:     "__RMRscRelease," +       //0xa0e5
  1087:     "__RMRscDetach," +        //0xa0e6
  1088:     "__RMMaxIDGet," +         //0xa0e7
  1089:     "__RMResSave," +          //0xa0e8
  1090:     "__RMHdlToRsc," +         //0xa0e9
  1091:     "__RMCurResGet," +        //0xa0ea
  1092:     "__RMLastResGet," +       //0xa0eb
  1093:     "__RMResLoad," +          //0xa0ec
  1094:     "__RMResLinkGet," +       //0xa0ed
  1095:     "__RMResTypeList," +      //0xa0ee
  1096:     "__RMResIDList," +        //0xa0ef
  1097:     "," +                     //0xa0f0
  1098:     "," +                     //0xa0f1
  1099:     "," +                     //0xa0f2
  1100:     "," +                     //0xa0f3
  1101:     "," +                     //0xa0f4
  1102:     "," +                     //0xa0f5
  1103:     "," +                     //0xa0f6
  1104:     "," +                     //0xa0f7
  1105:     "," +                     //0xa0f8
  1106:     "," +                     //0xa0f9
  1107:     "," +                     //0xa0fa
  1108:     "," +                     //0xa0fb
  1109:     "," +                     //0xa0fc
  1110:     "," +                     //0xa0fd
  1111:     "," +                     //0xa0fe
  1112:     "," +                     //0xa0ff
  1113:     "," +                     //0xa100
  1114:     "," +                     //0xa101
  1115:     "," +                     //0xa102
  1116:     "," +                     //0xa103
  1117:     "," +                     //0xa104
  1118:     "," +                     //0xa105
  1119:     "," +                     //0xa106
  1120:     "," +                     //0xa107
  1121:     "," +                     //0xa108
  1122:     "," +                     //0xa109
  1123:     "," +                     //0xa10a
  1124:     "," +                     //0xa10b
  1125:     "," +                     //0xa10c
  1126:     "," +                     //0xa10d
  1127:     "," +                     //0xa10e
  1128:     "," +                     //0xa10f
  1129:     "," +                     //0xa110
  1130:     "," +                     //0xa111
  1131:     "," +                     //0xa112
  1132:     "," +                     //0xa113
  1133:     "," +                     //0xa114
  1134:     "," +                     //0xa115
  1135:     "," +                     //0xa116
  1136:     "," +                     //0xa117
  1137:     "," +                     //0xa118
  1138:     "," +                     //0xa119
  1139:     "," +                     //0xa11a
  1140:     "," +                     //0xa11b
  1141:     "," +                     //0xa11c
  1142:     "," +                     //0xa11d
  1143:     "," +                     //0xa11e
  1144:     "," +                     //0xa11f
  1145:     "," +                     //0xa120
  1146:     "," +                     //0xa121
  1147:     "," +                     //0xa122
  1148:     "," +                     //0xa123
  1149:     "," +                     //0xa124
  1150:     "," +                     //0xa125
  1151:     "," +                     //0xa126
  1152:     "," +                     //0xa127
  1153:     "," +                     //0xa128
  1154:     "," +                     //0xa129
  1155:     "," +                     //0xa12a
  1156:     "," +                     //0xa12b
  1157:     "," +                     //0xa12c
  1158:     "__GMOpenGraph," +        //0xa12d
  1159:     "__GMCloseGraph," +       //0xa12e
  1160:     "," +                     //0xa12f
  1161:     "__GMInitGraph," +        //0xa130
  1162:     "__GMSetGraph," +         //0xa131
  1163:     "__GMGetGraph," +         //0xa132
  1164:     "__GMCopyGraph," +        //0xa133
  1165:     "," +                     //0xa134
  1166:     "," +                     //0xa135
  1167:     "__GMMoveGraph," +        //0xa136
  1168:     "__GMSlideGraph," +       //0xa137
  1169:     "__GMSetClip," +          //0xa138
  1170:     "__GMGetClip," +          //0xa139
  1171:     "__GMClipRect," +         //0xa13a
  1172:     "__GMSetHome," +          //0xa13b
  1173:     "__GMSetGraphSize," +     //0xa13c
  1174:     "__GMSetBitmap," +        //0xa13d
  1175:     "__GMLocalToGlobal," +    //0xa13e
  1176:     "__GMGlobalToLocal," +    //0xa13f
  1177:     "__GMInitPen," +          //0xa140
  1178:     "__GMPenShow," +          //0xa141
  1179:     "__GMPenHide," +          //0xa142
  1180:     "__GMPenSize," +          //0xa143
  1181:     "__GMPenMode," +          //0xa144
  1182:     "__GMPenPat," +           //0xa145
  1183:     "__GMExPat," +            //0xa146
  1184:     "__GMForeColor," +        //0xa147
  1185:     "__GMBackColor," +        //0xa148
  1186:     "__GMAPage," +            //0xa149
  1187:     "__GMGetLoc," +           //0xa14a
  1188:     "__GMGetPen," +           //0xa14b
  1189:     "__GMSetPen," +           //0xa14c
  1190:     "__GMInitialize," +       //0xa14d
  1191:     "__GMNullRect," +         //0xa14e
  1192:     "__GMSizeRect," +         //0xa14f
  1193:     "__GMAndRects," +         //0xa150
  1194:     "__GMMoveRect," +         //0xa151
  1195:     "__GMSlideRect," +        //0xa152
  1196:     "__GMInsetRect," +        //0xa153
  1197:     "__GMAndRect," +          //0xa154
  1198:     "__GMOrRect," +           //0xa155
  1199:     "__GMPtInRect," +         //0xa156
  1200:     "__GMEqualRect," +        //0xa157
  1201:     "__GMEmptyRect," +        //0xa158
  1202:     "__GMAdjustRect," +       //0xa159
  1203:     "__GMNewRgn," +           //0xa15a
  1204:     "__GMDisposeRgn," +       //0xa15b
  1205:     "__GMOpenRgn," +          //0xa15c
  1206:     "__GMCloseRgn," +         //0xa15d
  1207:     "__GMNullRgn," +          //0xa15e
  1208:     "__GMRectRgn," +          //0xa15f
  1209:     "__GMCopyRgn," +          //0xa160
  1210:     "__GMMoveRgn," +          //0xa161
  1211:     "__GMSlideRgn," +         //0xa162
  1212:     "__GMInsetRgn," +         //0xa163
  1213:     "__GMAndRgn," +           //0xa164
  1214:     "__GMOrRgn," +            //0xa165
  1215:     "__GMDiffRgn," +          //0xa166
  1216:     "__GMXorRgn," +           //0xa167
  1217:     "__GMPtInRgn," +          //0xa168
  1218:     "__GMRectInRgn," +        //0xa169
  1219:     "__GMEqualRgn," +         //0xa16a
  1220:     "__GMEmptyRgn," +         //0xa16b
  1221:     "__GMImgToRgn," +         //0xa16c
  1222:     "__GMInitBitmap," +       //0xa16d
  1223:     "__GMMove," +             //0xa16e
  1224:     "__GMMoveRel," +          //0xa16f
  1225:     "__GMLine," +             //0xa170
  1226:     "__GMLineRel," +          //0xa171
  1227:     "__GMFrameRect," +        //0xa172
  1228:     "__GMFillRect," +         //0xa173
  1229:     "__GMFrameOval," +        //0xa174
  1230:     "__GMFillOval," +         //0xa175
  1231:     "__GMFrameRRect," +       //0xa176
  1232:     "__GMFillRRect," +        //0xa177
  1233:     "__GMFrameArc," +         //0xa178
  1234:     "__GMFillArc," +          //0xa179
  1235:     "__GMFrameRgn," +         //0xa17a
  1236:     "__GMFillRgn," +          //0xa17b
  1237:     "__GMFramePoly," +        //0xa17c
  1238:     "__GMFillPoly," +         //0xa17d
  1239:     "__GMScroll," +           //0xa17e
  1240:     "__GMCopy," +             //0xa17f
  1241:     "__GMCopyMask," +         //0xa180
  1242:     "," +                     //0xa181
  1243:     "__GMPlotImg," +          //0xa182
  1244:     "__GMPutRImg," +          //0xa183
  1245:     "," +                     //0xa184
  1246:     "," +                     //0xa185
  1247:     "__GMDupHImg," +          //0xa186
  1248:     "__GMDupVImg," +          //0xa187
  1249:     "__GMDupHRImg," +         //0xa188
  1250:     "__GMDupVRImg," +         //0xa189
  1251:     "," +                     //0xa18a
  1252:     "__GMFontKind," +         //0xa18b
  1253:     "__GMFontFace," +         //0xa18c
  1254:     "__GMFontMode," +         //0xa18d
  1255:     "__GMFontSize," +         //0xa18e
  1256:     "__GMDrawChar," +         //0xa18f
  1257:     "__GMDrawStrL," +         //0xa190
  1258:     "__GMDrawStr," +          //0xa191
  1259:     "__GMDrawStrZ," +         //0xa192
  1260:     "," +                     //0xa193
  1261:     "__GMCharWidth," +        //0xa194
  1262:     "__GMStrLWidth," +        //0xa195
  1263:     "__GMStrWidth," +         //0xa196
  1264:     "__GMStrLength," +        //0xa197
  1265:     "__GMFontInfo," +         //0xa198
  1266:     "__GMOpenScript," +       //0xa199
  1267:     "__GMCloseScript," +      //0xa19a
  1268:     "__GMDisposeScript," +    //0xa19b
  1269:     "__GMDrawScript," +       //0xa19c
  1270:     "__GMGetScript," +        //0xa19d
  1271:     "__GMOpenPoly," +         //0xa19e
  1272:     "__GMClosePoly," +        //0xa19f
  1273:     "__GMDisposePoly," +      //0xa1a0
  1274:     "__GMShadowStrZ," +       //0xa1a1
  1275:     "__GMShadowRect," +       //0xa1a2
  1276:     "__GMInvertRect," +       //0xa1a3
  1277:     "," +                     //0xa1a4
  1278:     "__GMInvertBits," +       //0xa1a5
  1279:     "__GMMapPt," +            //0xa1a6
  1280:     "__GMMapRect," +          //0xa1a7
  1281:     "__GMMapPoly," +          //0xa1a8
  1282:     "__GMMapRgn," +           //0xa1a9
  1283:     "__GMScalePt," +          //0xa1aa
  1284:     "__GMInitPalet," +        //0xa1ab
  1285:     "," +                     //0xa1ac
  1286:     "__GMDrawG16," +          //0xa1ad
  1287:     "," +                     //0xa1ae
  1288:     "__GMGetPixel," +         //0xa1af
  1289:     "," +                     //0xa1b0
  1290:     "__GMCalcMask," +         //0xa1b1
  1291:     "__GMCalcFrame," +        //0xa1b2
  1292:     "__SXLongMul," +          //0xa1b3
  1293:     "__SXFixRound," +         //0xa1b4
  1294:     "," +                     //0xa1b5
  1295:     "__SXFixMul," +           //0xa1b6
  1296:     "__SXFixDiv," +           //0xa1b7
  1297:     "__GMGetFontTable," +     //0xa1b8
  1298:     "__GMCopyStdProc," +      //0xa1b9
  1299:     "__GMStrZWidth," +        //0xa1ba
  1300:     "__GMTransImg," +         //0xa1bb
  1301:     "__GMFillRImg," +         //0xa1bc
  1302:     "__GMFillImg," +          //0xa1bd
  1303:     "__GMSlidedRgn," +        //0xa1be
  1304:     "__GMPaintRgn," +         //0xa1bf
  1305:     "__GMSetRgnLine," +       //0xa1c0
  1306:     "__GMGetRgnLine," +       //0xa1c1
  1307:     "__GMInitGraphMode," +    //0xa1c2
  1308:     "__GMCurFont," +          //0xa1c3
  1309:     "__GMGetScrnSize," +      //0xa1c4
  1310:     "__GMExgGraph," +         //0xa1c5
  1311:     "__GMExgBitmap," +        //0xa1c6
  1312:     "__GMGetBitmap," +        //0xa1c7
  1313:     "__GMCalcBitmap," +       //0xa1c8
  1314:     "__GMCalcScrnSize," +     //0xa1c9
  1315:     "__GMNewBits," +          //0xa1ca
  1316:     "__GMDisposeBits," +      //0xa1cb
  1317:     "__GMLockBits," +         //0xa1cc
  1318:     "__GMUnlockBits," +       //0xa1cd
  1319:     "__GMItalicRect," +       //0xa1ce
  1320:     "__GMItalicRgn," +        //0xa1cf
  1321:     "__GMFreeBits," +         //0xa1d0
  1322:     "__GMCalcGraph," +        //0xa1d1
  1323:     "__GMPackImage," +        //0xa1d2
  1324:     "__GMUnpackImage," +      //0xa1d3
  1325:     "__GMAdjustPt," +         //0xa1d4
  1326:     "__GMPutImg," +           //0xa1d5
  1327:     "__GMCenterRect," +       //0xa1d6
  1328:     "__GMScrewRect," +        //0xa1d7
  1329:     "__GMAndRectRgn," +       //0xa1d8
  1330:     "__GMOrRectRgn," +        //0xa1d9
  1331:     "__GMDiffRectRgn," +      //0xa1da
  1332:     "__GMXorRectRgn," +       //0xa1db
  1333:     "__GMCharKind," +         //0xa1dc
  1334:     "__GMDiffRgnRect," +      //0xa1dd
  1335:     "," +                     //0xa1de
  1336:     "," +                     //0xa1df
  1337:     "__GMAddFont," +          //0xa1e0
  1338:     "__GMRemoveFont," +       //0xa1e1
  1339:     "__GMGetFontLink," +      //0xa1e2
  1340:     "__GMGetHProcTbl," +      //0xa1e3
  1341:     "," +                     //0xa1e4
  1342:     "," +                     //0xa1e5
  1343:     "__GMGetStdProcTbl," +    //0xa1e6
  1344:     "__GMGetFontProcTbl," +   //0xa1e7
  1345:     "__GMGetRgnProcTbl," +    //0xa1e8
  1346:     "__GMDrawGsOne," +        //0xa1e9
  1347:     "__GMPtInImg," +          //0xa1ea
  1348:     "__GMFrameNPoly," +       //0xa1eb
  1349:     "__GMFillNPoly," +        //0xa1ec
  1350:     "__GMNPolyFrRgn," +       //0xa1ed
  1351:     "__GMNPolyFlRgn," +       //0xa1ee
  1352:     "__GMPtInNPoly," +        //0xa1ef
  1353:     "__GMPtOnNPoly," +        //0xa1f0
  1354:     "__GMRecordScript," +     //0xa1f1
  1355:     "__GMNLineRel," +         //0xa1f2
  1356:     "__GMNLine," +            //0xa1f3
  1357:     "__GMRecordPoly," +       //0xa1f4
  1358:     "," +                     //0xa1f5
  1359:     "," +                     //0xa1f6
  1360:     "," +                     //0xa1f7
  1361:     "__WMInit," +             //0xa1f8
  1362:     "__WMOpen," +             //0xa1f9
  1363:     "__WMRefer," +            //0xa1fa
  1364:     "__WMClose," +            //0xa1fb
  1365:     "__WMDispose," +          //0xa1fc
  1366:     "__WMFind," +             //0xa1fd
  1367:     "__WMSelect," +           //0xa1fe
  1368:     "__WMSelect2," +          //0xa1ff
  1369:     "__WMCarry," +            //0xa200
  1370:     "__WMShine," +            //0xa201
  1371:     "__WMMove," +             //0xa202
  1372:     "__WMSize," +             //0xa203
  1373:     "__WMGrow," +             //0xa204
  1374:     "__WMDrag," +             //0xa205
  1375:     "__WMZoom," +             //0xa206
  1376:     "__WMShow," +             //0xa207
  1377:     "__WMHide," +             //0xa208
  1378:     "__WMShowHide," +         //0xa209
  1379:     "__WMCheckBox," +         //0xa20a
  1380:     "__WMCheckCBox," +        //0xa20b
  1381:     "__WMDrawGBox," +         //0xa20c
  1382:     "__WMUpdate," +           //0xa20d
  1383:     "__WMUpdtOver," +         //0xa20e
  1384:     "__WMActive," +           //0xa20f
  1385:     "__WMGraphGet," +         //0xa210
  1386:     "," +                     //0xa211
  1387:     "," +                     //0xa212
  1388:     "," +                     //0xa213
  1389:     "," +                     //0xa214
  1390:     "," +                     //0xa215
  1391:     "," +                     //0xa216
  1392:     "," +                     //0xa217
  1393:     "__WMAddRect," +          //0xa218
  1394:     "__WMAddRgn," +           //0xa219
  1395:     "__WMSubRect," +          //0xa21a
  1396:     "__WMSubRgn," +           //0xa21b
  1397:     "__WMGScriptSet," +       //0xa21c
  1398:     "__WMGScriptGet," +       //0xa21d
  1399:     "__WMTitleSet," +         //0xa21e
  1400:     "__WMTitleGet," +         //0xa21f
  1401:     "__WMTIDSet," +           //0xa220
  1402:     "__WMTIDGet," +           //0xa221
  1403:     "__WMPinRect," +          //0xa222
  1404:     "__WMCalcUpdt," +         //0xa223
  1405:     "__WMGetDTGS," +          //0xa224
  1406:     "__WMDragRgn," +          //0xa225
  1407:     "," +                     //0xa226
  1408:     "__WSOpen," +             //0xa227
  1409:     "__WSClose," +            //0xa228
  1410:     "__WSDispose," +          //0xa229
  1411:     "__WSEnlist," +           //0xa22a
  1412:     "__WSDelist," +           //0xa22b
  1413:     "__WMOptionGet," +        //0xa22c
  1414:     "__WMOptionSet," +        //0xa22d
  1415:     "__WMPtInGBox," +         //0xa22e
  1416:     "__WHOpen," +             //0xa22f
  1417:     "__WHGet," +              //0xa230
  1418:     "__WMOpen2," +            //0xa231
  1419:     "__WMMargineGet," +       //0xa232
  1420:     "__WMMargineSet," +       //0xa233
  1421:     "," +                     //0xa234
  1422:     "__WMMove2," +            //0xa235
  1423:     "," +                     //0xa236
  1424:     "," +                     //0xa237
  1425:     "," +                     //0xa238
  1426:     "," +                     //0xa239
  1427:     "," +                     //0xa23a
  1428:     "," +                     //0xa23b
  1429:     "," +                     //0xa23c
  1430:     "," +                     //0xa23d
  1431:     "," +                     //0xa23e
  1432:     "," +                     //0xa23f
  1433:     "," +                     //0xa240
  1434:     "," +                     //0xa241
  1435:     "," +                     //0xa242
  1436:     "," +                     //0xa243
  1437:     "," +                     //0xa244
  1438:     "," +                     //0xa245
  1439:     "," +                     //0xa246
  1440:     "," +                     //0xa247
  1441:     "," +                     //0xa248
  1442:     "," +                     //0xa249
  1443:     "," +                     //0xa24a
  1444:     "," +                     //0xa24b
  1445:     "," +                     //0xa24c
  1446:     "," +                     //0xa24d
  1447:     "," +                     //0xa24e
  1448:     "," +                     //0xa24f
  1449:     "," +                     //0xa250
  1450:     "," +                     //0xa251
  1451:     "," +                     //0xa252
  1452:     "," +                     //0xa253
  1453:     "," +                     //0xa254
  1454:     "," +                     //0xa255
  1455:     "," +                     //0xa256
  1456:     "," +                     //0xa257
  1457:     "," +                     //0xa258
  1458:     "," +                     //0xa259
  1459:     "," +                     //0xa25a
  1460:     "," +                     //0xa25b
  1461:     "," +                     //0xa25c
  1462:     "," +                     //0xa25d
  1463:     "," +                     //0xa25e
  1464:     "," +                     //0xa25f
  1465:     "," +                     //0xa260
  1466:     "," +                     //0xa261
  1467:     "," +                     //0xa262
  1468:     "," +                     //0xa263
  1469:     "," +                     //0xa264
  1470:     "," +                     //0xa265
  1471:     "__MNInit," +             //0xa266
  1472:     "__MNRefer," +            //0xa267
  1473:     "__MNSelect," +           //0xa268
  1474:     "__MNConvert," +          //0xa269
  1475:     "," +                     //0xa26a
  1476:     "__MNConvert2," +         //0xa26b
  1477:     "__MNSelect3," +          //0xa26c
  1478:     "," +                     //0xa26d
  1479:     "," +                     //0xa26e
  1480:     "," +                     //0xa26f
  1481:     "," +                     //0xa270
  1482:     "," +                     //0xa271
  1483:     "," +                     //0xa272
  1484:     "," +                     //0xa273
  1485:     "," +                     //0xa274
  1486:     "," +                     //0xa275
  1487:     "," +                     //0xa276
  1488:     "," +                     //0xa277
  1489:     "," +                     //0xa278
  1490:     "," +                     //0xa279
  1491:     "," +                     //0xa27a
  1492:     "," +                     //0xa27b
  1493:     "," +                     //0xa27c
  1494:     "," +                     //0xa27d
  1495:     "," +                     //0xa27e
  1496:     "," +                     //0xa27f
  1497:     "," +                     //0xa280
  1498:     "," +                     //0xa281
  1499:     "," +                     //0xa282
  1500:     "," +                     //0xa283
  1501:     "," +                     //0xa284
  1502:     "," +                     //0xa285
  1503:     "," +                     //0xa286
  1504:     "," +                     //0xa287
  1505:     "," +                     //0xa288
  1506:     "__CMOpen," +             //0xa289
  1507:     "__CMDispose," +          //0xa28a
  1508:     "__CMKill," +             //0xa28b
  1509:     "__CMHide," +             //0xa28c
  1510:     "__CMShow," +             //0xa28d
  1511:     "__CMDraw," +             //0xa28e
  1512:     "__CMDrawOne," +          //0xa28f
  1513:     "__CMValueSet," +         //0xa290
  1514:     "__CMValueGet," +         //0xa291
  1515:     "__CMMinSet," +           //0xa292
  1516:     "__CMMinGet," +           //0xa293
  1517:     "__CMMaxSet," +           //0xa294
  1518:     "__CMMaxGet," +           //0xa295
  1519:     "__CMMove," +             //0xa296
  1520:     "__CMSize," +             //0xa297
  1521:     "__CMShine," +            //0xa298
  1522:     "__CMFind," +             //0xa299
  1523:     "__CMCheck," +            //0xa29a
  1524:     "__CMRefer," +            //0xa29b
  1525:     "__CMTitleGet," +         //0xa29c
  1526:     "__CMDragControl," +      //0xa29d
  1527:     "__CMDraws," +            //0xa29e
  1528:     "__CMTitleSet," +         //0xa29f
  1529:     "__CMOptionGet," +        //0xa2a0
  1530:     "__CMOptionSet," +        //0xa2a1
  1531:     "__CMUserGet," +          //0xa2a2
  1532:     "__CMUserSet," +          //0xa2a3
  1533:     "__CMProcGet," +          //0xa2a4
  1534:     "__CMProcSet," +          //0xa2a5
  1535:     "__CMDefDataGet," +       //0xa2a6
  1536:     "__CMDefDataSet," +       //0xa2a7
  1537:     "," +                     //0xa2a8
  1538:     "," +                     //0xa2a9
  1539:     "," +                     //0xa2aa
  1540:     "," +                     //0xa2ab
  1541:     "," +                     //0xa2ac
  1542:     "," +                     //0xa2ad
  1543:     "," +                     //0xa2ae
  1544:     "," +                     //0xa2af
  1545:     "," +                     //0xa2b0
  1546:     "," +                     //0xa2b1
  1547:     "," +                     //0xa2b2
  1548:     "," +                     //0xa2b3
  1549:     "," +                     //0xa2b4
  1550:     "," +                     //0xa2b5
  1551:     "," +                     //0xa2b6
  1552:     "," +                     //0xa2b7
  1553:     "," +                     //0xa2b8
  1554:     "," +                     //0xa2b9
  1555:     "," +                     //0xa2ba
  1556:     "," +                     //0xa2bb
  1557:     "," +                     //0xa2bc
  1558:     "," +                     //0xa2bd
  1559:     "," +                     //0xa2be
  1560:     "," +                     //0xa2bf
  1561:     "__DMInit," +             //0xa2c0
  1562:     "__ErrorSound," +         //0xa2c1
  1563:     "__DMFontSet," +          //0xa2c2
  1564:     "__DMOpen," +             //0xa2c3
  1565:     "__DMRefer," +            //0xa2c4
  1566:     "__DMClose," +            //0xa2c5
  1567:     "__DMDispose," +          //0xa2c6
  1568:     "__DMControl," +          //0xa2c7
  1569:     "__DMDraw," +             //0xa2c8
  1570:     "__Alart," +              //0xa2c9
  1571:     "__StopAlart," +          //0xa2ca
  1572:     "__NoteAlart," +          //0xa2cb
  1573:     "__CautionAlart," +       //0xa2cc
  1574:     "__CouldAlart," +         //0xa2cd
  1575:     "__FreeAlart," +          //0xa2ce
  1576:     "__DIGet," +              //0xa2cf
  1577:     "__DISet," +              //0xa2d0
  1578:     "__DITGet," +             //0xa2d1
  1579:     "__DITSet," +             //0xa2d2
  1580:     "__DITSelect," +          //0xa2d3
  1581:     "__GetAlrtStage," +       //0xa2d4
  1582:     "__ResetAlrtStage," +     //0xa2d5
  1583:     "__DIUpdate," +           //0xa2d6
  1584:     "__DMBeep," +             //0xa2d7
  1585:     "__DIHide," +             //0xa2d8
  1586:     "__DIShow," +             //0xa2d9
  1587:     "," +                     //0xa2da
  1588:     "," +                     //0xa2db
  1589:     "," +                     //0xa2dc
  1590:     "," +                     //0xa2dd
  1591:     "," +                     //0xa2de
  1592:     "," +                     //0xa2df
  1593:     "," +                     //0xa2e0
  1594:     "," +                     //0xa2e1
  1595:     "," +                     //0xa2e2
  1596:     "," +                     //0xa2e3
  1597:     "," +                     //0xa2e4
  1598:     "," +                     //0xa2e5
  1599:     "," +                     //0xa2e6
  1600:     "," +                     //0xa2e7
  1601:     "," +                     //0xa2e8
  1602:     "," +                     //0xa2e9
  1603:     "," +                     //0xa2ea
  1604:     "," +                     //0xa2eb
  1605:     "," +                     //0xa2ec
  1606:     "," +                     //0xa2ed
  1607:     "," +                     //0xa2ee
  1608:     "," +                     //0xa2ef
  1609:     "," +                     //0xa2f0
  1610:     "," +                     //0xa2f1
  1611:     "," +                     //0xa2f2
  1612:     "," +                     //0xa2f3
  1613:     "," +                     //0xa2f4
  1614:     "," +                     //0xa2f5
  1615:     "__DMError," +            //0xa2f6
  1616:     "__DMWaitOpen," +         //0xa2f7
  1617:     "__DMWaitClose," +        //0xa2f8
  1618:     "__DMWaitWhile," +        //0xa2f9
  1619:     "__DMError2," +           //0xa2fa
  1620:     "," +                     //0xa2fb
  1621:     "," +                     //0xa2fc
  1622:     "," +                     //0xa2fd
  1623:     "," +                     //0xa2fe
  1624:     "," +                     //0xa2ff
  1625:     "," +                     //0xa300
  1626:     "," +                     //0xa301
  1627:     "," +                     //0xa302
  1628:     "," +                     //0xa303
  1629:     "," +                     //0xa304
  1630:     "," +                     //0xa305
  1631:     "," +                     //0xa306
  1632:     "," +                     //0xa307
  1633:     "," +                     //0xa308
  1634:     "," +                     //0xa309
  1635:     "__TMInit," +             //0xa30a
  1636:     "__TMNew," +              //0xa30b
  1637:     "__TMSetRect," +          //0xa30c
  1638:     "__TMChangeText," +       //0xa30d
  1639:     "__TMIdle," +             //0xa30e
  1640:     "__TMActive," +           //0xa30f
  1641:     "__TMDeactive," +         //0xa310
  1642:     "__TMCaret," +            //0xa311
  1643:     "__TMDispose," +          //0xa312
  1644:     "__TMUpDate," +           //0xa313
  1645:     "__TMSetText," +          //0xa314
  1646:     "__TMGetText," +          //0xa315
  1647:     "__TMSetSelect," +        //0xa316
  1648:     "__TMKey," +              //0xa317
  1649:     "__TMStr," +              //0xa318
  1650:     "__TMCalText," +          //0xa319
  1651:     "__TMPinScroll," +        //0xa31a
  1652:     "__TMClick," +            //0xa31b
  1653:     "__TMEvent," +            //0xa31c
  1654:     "," +                     //0xa31d
  1655:     "," +                     //0xa31e
  1656:     "," +                     //0xa31f
  1657:     "__TMCut," +              //0xa320
  1658:     "__TMCopy," +             //0xa321
  1659:     "__TMPaste," +            //0xa322
  1660:     "__TMDelete," +           //0xa323
  1661:     "__TMInsert," +           //0xa324
  1662:     "__TMFromScrap," +        //0xa325
  1663:     "__TMToScrap," +          //0xa326
  1664:     "__TMScrapHandle," +      //0xa327
  1665:     "__TMGetScrapLen," +      //0xa328
  1666:     "," +                     //0xa329
  1667:     "__TMTextBox," +          //0xa32a
  1668:     "__TMTextBox2," +         //0xa32b
  1669:     "__TMCacheON," +          //0xa32c
  1670:     "__TMCacheOFF," +         //0xa32d
  1671:     "__TMCacheFlush," +       //0xa32e
  1672:     "__TMShow," +             //0xa32f
  1673:     "__TMHide," +             //0xa330
  1674:     "__TMSelShow," +          //0xa331
  1675:     "__TMSelHide," +          //0xa332
  1676:     "__TMSearchStrF," +       //0xa333
  1677:     "__TMSearchStrB," +       //0xa334
  1678:     "__TMTextInWidth2," +     //0xa335
  1679:     "__TMTextWidth2," +       //0xa336
  1680:     "__TMDrawText2," +        //0xa337
  1681:     "__TMUpDate2," +          //0xa338
  1682:     "__TMUpDate3," +          //0xa339
  1683:     "__TMCalCOLine," +        //0xa33a
  1684:     "," +                     //0xa33b
  1685:     "__TMCalLine," +          //0xa33c
  1686:     "__TMLeftSel," +          //0xa33d
  1687:     "__TMRightSel," +         //0xa33e
  1688:     "__TMPointSel," +         //0xa33f
  1689:     "__TMOffsetSel," +        //0xa340
  1690:     "__TMPointToLine," +      //0xa341
  1691:     "," +                     //0xa342
  1692:     "__TMCalSelPoint," +      //0xa343
  1693:     "," +                     //0xa344
  1694:     "__TMSetView," +          //0xa345
  1695:     "__TMScroll," +           //0xa346
  1696:     "__TMPointScroll," +      //0xa347
  1697:     "__TMStr2," +             //0xa348
  1698:     "__TMKeyToAsk," +         //0xa349
  1699:     "__TMNextCode," +         //0xa34a
  1700:     "__TMSetTextH," +         //0xa34b
  1701:     "__TSInitTsk," +          //0xa34c
  1702:     "__TSTiniTsk2," +         //0xa34d
  1703:     "__TSInitCrtM," +         //0xa34e
  1704:     "__TSTiniCrtM," +         //0xa34f
  1705:     "," +                     //0xa350
  1706:     "__TSFock," +             //0xa351
  1707:     "__TSExit," +             //0xa352
  1708:     "__TSFockB," +            //0xa353
  1709:     "," +                     //0xa354
  1710:     "__TSFockSItem," +        //0xa355
  1711:     "__TSFockIcon," +         //0xa356
  1712:     "__TSEventAvail," +       //0xa357
  1713:     "__TSGetEvent," +         //0xa358
  1714:     "," +                     //0xa359
  1715:     "__TSPostEventTsk," +     //0xa35a
  1716:     "__TSGetTdb," +           //0xa35b
  1717:     "__TSSetTdb," +           //0xa35c
  1718:     "," +                     //0xa35d
  1719:     "__TSGetWindowPos," +     //0xa35e
  1720:     "__TSCommunicate," +      //0xa35f
  1721:     "__TSGetID," +            //0xa360
  1722:     "__TSMakeEvent," +        //0xa361
  1723:     "," +                     //0xa362
  1724:     "," +                     //0xa363
  1725:     "__TSGetStartMode," +     //0xa364
  1726:     "__TSSetStartMode," +     //0xa365
  1727:     "__TMOpen," +             //0xa366
  1728:     "__TSOpen," +             //0xa367
  1729:     "__TSClose," +            //0xa368
  1730:     "__TSRmDirH," +           //0xa369
  1731:     "__TSCopyH," +            //0xa36a
  1732:     "__TSMkDirH," +           //0xa36b
  1733:     "__TSMoveH," +            //0xa36c
  1734:     "__TSCreate," +           //0xa36d
  1735:     "__TSDeleteH," +          //0xa36e
  1736:     "__TSTrash," +            //0xa36f
  1737:     "__TSFiles," +            //0xa370
  1738:     "__TSNFiles," +           //0xa371
  1739:     "__TSCopyP," +            //0xa372
  1740:     "__TSDeleteP," +          //0xa373
  1741:     "__TSRmDirP," +           //0xa374
  1742:     "__TSMkDirP," +           //0xa375
  1743:     "__TSMoveP," +            //0xa376
  1744:     "," +                     //0xa377
  1745:     "__TSChMod," +            //0xa378
  1746:     "__TSWhatFile," +         //0xa379
  1747:     "," +                     //0xa37a
  1748:     "__TSDeleteVoname," +     //0xa37b
  1749:     "__TSCreateVoname," +     //0xa37c
  1750:     "," +                     //0xa37d
  1751:     "," +                     //0xa37e
  1752:     "," +                     //0xa37f
  1753:     "," +                     //0xa380
  1754:     "__TSSearchFileND," +     //0xa381
  1755:     "," +                     //0xa382
  1756:     "," +                     //0xa383
  1757:     "," +                     //0xa384
  1758:     "," +                     //0xa385
  1759:     "__TSGetOpen," +          //0xa386
  1760:     "__TSZeroDrag," +         //0xa387
  1761:     "__TSPutDrag," +          //0xa388
  1762:     "__TSGetDrag," +          //0xa389
  1763:     "__TSBeginDrag," +        //0xa38a
  1764:     "," +                     //0xa38b
  1765:     "__TSEndDrag," +          //0xa38c
  1766:     "__TSHideDrag," +         //0xa38d
  1767:     "__TSShowDrag," +         //0xa38e
  1768:     "__TSZeroScrap," +        //0xa38f
  1769:     "__TSPutScrap," +         //0xa390
  1770:     "__TSGetScrap," +         //0xa391
  1771:     "," +                     //0xa392
  1772:     "," +                     //0xa393
  1773:     "," +                     //0xa394
  1774:     "," +                     //0xa395
  1775:     "," +                     //0xa396
  1776:     "__TSSearchTrashpath," +  //0xa397
  1777:     "__TSSearchTrashfile," +  //0xa398
  1778:     "__TSEmptyTrash," +       //0xa399
  1779:     "," +                     //0xa39a
  1780:     "__TSSearchdpb," +        //0xa39b
  1781:     "," +                     //0xa39c
  1782:     "__TSDrvctrl," +          //0xa39d
  1783:     "__TSDrvctrl2," +         //0xa39e
  1784:     "," +                     //0xa39f
  1785:     "," +                     //0xa3a0
  1786:     "," +                     //0xa3a1
  1787:     "__SXCallWindM," +        //0xa3a2
  1788:     "__SXCallCtrlM," +        //0xa3a3
  1789:     "," +                     //0xa3a4
  1790:     "," +                     //0xa3a5
  1791:     "," +                     //0xa3a6
  1792:     "," +                     //0xa3a7
  1793:     "," +                     //0xa3a8
  1794:     "," +                     //0xa3a9
  1795:     "__SXInvalScBar," +       //0xa3aa
  1796:     "__SXValidScBar," +       //0xa3ab
  1797:     "," +                     //0xa3ac
  1798:     "," +                     //0xa3ad
  1799:     "," +                     //0xa3ae
  1800:     "," +                     //0xa3af
  1801:     "," +                     //0xa3b0
  1802:     "," +                     //0xa3b1
  1803:     "," +                     //0xa3b2
  1804:     "," +                     //0xa3b3
  1805:     "," +                     //0xa3b4
  1806:     "," +                     //0xa3b5
  1807:     "," +                     //0xa3b6
  1808:     "," +                     //0xa3b7
  1809:     "," +                     //0xa3b8
  1810:     "," +                     //0xa3b9
  1811:     "," +                     //0xa3ba
  1812:     "__TSISRecToStr," +       //0xa3bb
  1813:     "," +                     //0xa3bc
  1814:     "," +                     //0xa3bd
  1815:     "," +                     //0xa3be
  1816:     "__TSCreateISFile," +     //0xa3bf
  1817:     "," +                     //0xa3c0
  1818:     "," +                     //0xa3c1
  1819:     "," +                     //0xa3c2
  1820:     "," +                     //0xa3c3
  1821:     "," +                     //0xa3c4
  1822:     "," +                     //0xa3c5
  1823:     "," +                     //0xa3c6
  1824:     "," +                     //0xa3c7
  1825:     "," +                     //0xa3c8
  1826:     "," +                     //0xa3c9
  1827:     "," +                     //0xa3ca
  1828:     "," +                     //0xa3cb
  1829:     "__SXFileConnPath," +     //0xa3cc
  1830:     "__SXFileInPath," +       //0xa3cd
  1831:     "," +                     //0xa3ce
  1832:     "," +                     //0xa3cf
  1833:     "__SXFnamecmp," +         //0xa3d0
  1834:     "," +                     //0xa3d1
  1835:     "," +                     //0xa3d2
  1836:     "," +                     //0xa3d3
  1837:     "__SXSearchFname," +      //0xa3d4
  1838:     "," +                     //0xa3d5
  1839:     "," +                     //0xa3d6
  1840:     "," +                     //0xa3d7
  1841:     "__SXStoLower," +         //0xa3d8
  1842:     "__SXStoUpper," +         //0xa3d9
  1843:     "__SXStoUpper2," +        //0xa3da
  1844:     "," +                     //0xa3db
  1845:     "," +                     //0xa3dc
  1846:     "," +                     //0xa3dd
  1847:     "," +                     //0xa3de
  1848:     "," +                     //0xa3df
  1849:     "," +                     //0xa3e0
  1850:     "," +                     //0xa3e1
  1851:     "," +                     //0xa3e2
  1852:     "," +                     //0xa3e3
  1853:     "," +                     //0xa3e4
  1854:     "," +                     //0xa3e5
  1855:     "," +                     //0xa3e6
  1856:     "," +                     //0xa3e7
  1857:     "," +                     //0xa3e8
  1858:     "__SXVer," +              //0xa3e9
  1859:     "__TSTakeParam," +        //0xa3ea
  1860:     "," +                     //0xa3eb
  1861:     "," +                     //0xa3ec
  1862:     "," +                     //0xa3ed
  1863:     "," +                     //0xa3ee
  1864:     "," +                     //0xa3ef
  1865:     "," +                     //0xa3f0
  1866:     "," +                     //0xa3f1
  1867:     "," +                     //0xa3f2
  1868:     "," +                     //0xa3f3
  1869:     "__TSFindTskn," +         //0xa3f4
  1870:     "," +                     //0xa3f5
  1871:     "," +                     //0xa3f6
  1872:     "__TSDriveCheckAll," +    //0xa3f7
  1873:     "__TSDriveCheck," +       //0xa3f8
  1874:     "__TSISRecToExec," +      //0xa3f9
  1875:     "__TSGetDtopMode," +      //0xa3fa
  1876:     "__TSSetDtopMode," +      //0xa3fb
  1877:     "__TSSearchOpen," +       //0xa3fc
  1878:     "," +                     //0xa3fd
  1879:     "__TSFindOwn," +          //0xa3fe
  1880:     "__TSCommunicateS," +     //0xa3ff
  1881:     "," +                     //0xa400
  1882:     "__TMNew2," +             //0xa401
  1883:     "__TSSearchFile2," +      //0xa402
  1884:     "__TSSearchFile," +       //0xa403
  1885:     "," +                     //0xa404
  1886:     "," +                     //0xa405
  1887:     "__SXStrCmp," +           //0xa406
  1888:     "," +                     //0xa407
  1889:     "__TSCreateISBadge," +    //0xa408
  1890:     "," +                     //0xa409
  1891:     "__TSGetCMDS," +          //0xa40a
  1892:     "__TSFockCM," +           //0xa40b
  1893:     "," +                     //0xa40c
  1894:     "__TSTiniTsk," +          //0xa40d
  1895:     "," +                     //0xa40e
  1896:     "," +                     //0xa40f
  1897:     "," +                     //0xa410
  1898:     "," +                     //0xa411
  1899:     "__SXStrCpy," +           //0xa412
  1900:     "," +                     //0xa413
  1901:     "," +                     //0xa414
  1902:     "__TSPostEventTsk2," +    //0xa415
  1903:     "," +                     //0xa416
  1904:     "__TSAnswer," +           //0xa417
  1905:     "__TSSendMes," +          //0xa418
  1906:     "__TSGetMes," +           //0xa419
  1907:     "__TSInitTsk2," +         //0xa41a
  1908:     "," +                     //0xa41b
  1909:     "," +                     //0xa41c
  1910:     "," +                     //0xa41d
  1911:     "," +                     //0xa41e
  1912:     "__SXCallWindM2," +       //0xa41f
  1913:     "__TSBeginDrag2," +       //0xa420
  1914:     "," +                     //0xa421
  1915:     "__SXGetVector," +        //0xa422
  1916:     "__SXSetVector," +        //0xa423
  1917:     "," +                     //0xa424
  1918:     "," +                     //0xa425
  1919:     "," +                     //0xa426
  1920:     "__TSCellToStr," +        //0xa427
  1921:     "," +                     //0xa428
  1922:     "," +                     //0xa429
  1923:     "__SXLockFSX," +          //0xa42a
  1924:     "__SXUnlockFSX," +        //0xa42b
  1925:     "__TSFockMode," +         //0xa42c
  1926:     "," +                     //0xa42d
  1927:     "," +                     //0xa42e
  1928:     "," +                     //0xa42f
  1929:     "__TSSetGraphMode," +     //0xa430
  1930:     "__TSGetGraphMode," +     //0xa431
  1931:     "__SXGetDispRect," +      //0xa432
  1932:     "," +                     //0xa433
  1933:     "," +                     //0xa434
  1934:     "__SXSRAMVer," +          //0xa435
  1935:     "__SXSRAMReset," +        //0xa436
  1936:     "__SXSRAMCheck," +        //0xa437
  1937:     "__TSAdjustRect," +       //0xa438
  1938:     "," +                     //0xa439
  1939:     "," +                     //0xa43a
  1940:     "__TSPostEventTsk3," +    //0xa43b
  1941:     "," +                     //0xa43c
  1942:     "," +                     //0xa43d
  1943:     "__TSAnswer2," +          //0xa43e
  1944:     "," +                     //0xa43f
  1945:     "," +                     //0xa440
  1946:     "," +                     //0xa441
  1947:     "," +                     //0xa442
  1948:     "__TSErrDialogN," +       //0xa443
  1949:     "," +                     //0xa444
  1950:     "," +                     //0xa445
  1951:     "__TSSearchFile3," +      //0xa446
  1952:     "," +                     //0xa447
  1953:     "," +                     //0xa448
  1954:     "," +                     //0xa449
  1955:     "," +                     //0xa44a
  1956:     "__TSNameToCode," +       //0xa44b
  1957:     "__TSCodeToName," +       //0xa44c
  1958:     "__TSNameToHdl," +        //0xa44d
  1959:     "," +                     //0xa44e
  1960:     "," +                     //0xa44f
  1961:     "__SXPack," +             //0xa450
  1962:     "__SXUnpack," +           //0xa451
  1963:     "__SXGetPackSize," +      //0xa452
  1964:     "__SXGetCODFList," +      //0xa453
  1965:     "__SXCellToCODF," +       //0xa454
  1966:     "__GMDitherImg," +        //0xa455
  1967:     "," +                     //0xa456
  1968:     "," +                     //0xa457
  1969:     "," +                     //0xa458
  1970:     "," +                     //0xa459
  1971:     "," +                     //0xa45a
  1972:     "," +                     //0xa45b
  1973:     "," +                     //0xa45c
  1974:     "," +                     //0xa45d
  1975:     "," +                     //0xa45e
  1976:     "," +                     //0xa45f
  1977:     "__TMNextCodeIn," +       //0xa460
  1978:     "," +                     //0xa461
  1979:     "__TMSelReverse," +       //0xa462
  1980:     "__TMTini," +             //0xa463
  1981:     "__TMSetSelCal," +        //0xa464
  1982:     "__TMActivate2," +        //0xa465
  1983:     "__TMDeactivate2," +      //0xa466
  1984:     "__TMCheckSel," +         //0xa467
  1985:     "__TMCalPoint2," +        //0xa468
  1986:     "," +                     //0xa469
  1987:     "__TMISZen," +            //0xa46a
  1988:     "__TMSetDestOffset," +    //0xa46b
  1989:     "__TMGetDestOffset," +    //0xa46c
  1990:     "__TMGetSelect," +        //0xa46d
  1991:     "__TMEventW," +           //0xa46e
  1992:     "__TMUpDateExist," +      //0xa46f
  1993:     "__TMNewM," +             //0xa470
  1994:     "__TMSetTextM," +         //0xa471
  1995:     "__TMSetDefKind," +       //0xa472
  1996:     "__TMGetStyle," +         //0xa473
  1997:     "," +                     //0xa474
  1998:     "__TMGetStyles," +        //0xa475
  1999:     "__TMChangeStyle," +      //0xa476
  2000:     "__TMChangeFace," +       //0xa477
  2001:     "__TMSetColor," +         //0xa478
  2002:     "__TMSetMode," +          //0xa479
  2003:     "__TMPutScrapM," +        //0xa47a
  2004:     "__TMInsertM," +          //0xa47b
  2005:     "__TMStrM," +             //0xa47c
  2006:     "__TMSetStyles," +        //0xa47d
  2007:     "__TMGetExStyles," +      //0xa47e
  2008:     "__TMGetScrap," +         //0xa47f
  2009:     "__TMGetLineWidth," +     //0xa480
  2010:     "__TMGetLineHeight," +    //0xa481
  2011:     "__TMLineToHeight," +     //0xa482
  2012:     "__TMAdjustHeight," +     //0xa483
  2013:     "__TMChangeExStyle," +    //0xa484
  2014:     "__TMAnalyzeExStyle," +   //0xa485
  2015:     "__TMSetEditMode," +      //0xa486
  2016:     "__TMCellToFont," +       //0xa487
  2017:     "__TMScaleSet," +         //0xa488
  2018:     "__TMScaleStyles," +      //0xa489
  2019:     "__TMBundleExStyle," +    //0xa48a
  2020:     "__TMSetLineHeight," +    //0xa48b
  2021:     "__TMSetTabSize," +       //0xa48c
  2022:     "__TMGetStr," +           //0xa48d
  2023:     "__TMScalePtSet," +       //0xa48e
  2024:     "__TMScalePtReSet," +     //0xa48f
  2025:     "__TMGetDefKind," +       //0xa490
  2026:     "," +                     //0xa491
  2027:     "," +                     //0xa492
  2028:     "," +                     //0xa493
  2029:     "__TMVer," +              //0xa494
  2030:     "__TMSetPage," +          //0xa495
  2031:     "__TMHeightToPage," +     //0xa496
  2032:     "__TMOffsetToPage," +     //0xa497
  2033:     "__TMPageToLine," +       //0xa498
  2034:     "__TMLineToPage," +       //0xa499
  2035:     "__TMTextWidth3," +       //0xa49a
  2036:     "__TMLineToRHeight," +    //0xa49b
  2037:     "," +                     //0xa49c
  2038:     "__TMGetLineRHeight," +   //0xa49d
  2039:     "," +                     //0xa49e
  2040:     "," +                     //0xa49f
  2041:     "__TSResNew," +           //0xa4a0
  2042:     "__TSResOpen," +          //0xa4a1
  2043:     "__TSResClose," +         //0xa4a2
  2044:     "__TSResSave," +          //0xa4a3
  2045:     "__TSResRemove," +        //0xa4a4
  2046:     "__TSResLoad," +          //0xa4a5
  2047:     "__TSResDispose," +       //0xa4a6
  2048:     "__TSCurResGet," +        //0xa4a7
  2049:     "__TSLastResGet," +       //0xa4a8
  2050:     "__TSCurResSet," +        //0xa4a9
  2051:     "__TSRscAdd," +           //0xa4aa
  2052:     "__TSRscGet," +           //0xa4ab
  2053:     "__TSRscRemove," +        //0xa4ac
  2054:     "__TSTypeRemove," +       //0xa4ad
  2055:     "__TSRscRelease," +       //0xa4ae
  2056:     "__TSRscDetach," +        //0xa4af
  2057:     "__TSMaxIDGet," +         //0xa4b0
  2058:     "__TSHdlToRsc," +         //0xa4b1
  2059:     "__TSResLinkGet," +       //0xa4b2
  2060:     "__TSResRouteLink," +     //0xa4b3
  2061:     "__TSResRouteGet," +      //0xa4b4
  2062:     "__TSRscGet2," +          //0xa4b5
  2063:     "__TSRscGet3," +          //0xa4b6
  2064:     "__TSResRouteUnLink," +   //0xa4b7
  2065:     "__TSMaxIDGet2," +        //0xa4b8
  2066:     "__TSFind," +             //0xa4b9
  2067:     "__TSCurResGet2," +       //0xa4ba
  2068:     "__TSMaxIDGet3," +        //0xa4bb
  2069:     "__TSResFileGet," +       //0xa4bc
  2070:     "__TSResRouteFind," +     //0xa4bd
  2071:     "__TSResTypeList," +      //0xa4be
  2072:     "__TSResIDList," +        //0xa4bf
  2073:     "__TSRscScan2," +         //0xa4c0
  2074:     "," +                     //0xa4c1
  2075:     "," +                     //0xa4c2
  2076:     "," +                     //0xa4c3
  2077:     "," +                     //0xa4c4
  2078:     "," +                     //0xa4c5
  2079:     "," +                     //0xa4c6
  2080:     "," +                     //0xa4c7
  2081:     "," +                     //0xa4c8
  2082:     "," +                     //0xa4c9
  2083:     "," +                     //0xa4ca
  2084:     "," +                     //0xa4cb
  2085:     "," +                     //0xa4cc
  2086:     "," +                     //0xa4cd
  2087:     "," +                     //0xa4ce
  2088:     "," +                     //0xa4cf
  2089:     "," +                     //0xa4d0
  2090:     "," +                     //0xa4d1
  2091:     "," +                     //0xa4d2
  2092:     "," +                     //0xa4d3
  2093:     "," +                     //0xa4d4
  2094:     "," +                     //0xa4d5
  2095:     "," +                     //0xa4d6
  2096:     "," +                     //0xa4d7
  2097:     "," +                     //0xa4d8
  2098:     "," +                     //0xa4d9
  2099:     "," +                     //0xa4da
  2100:     "," +                     //0xa4db
  2101:     "," +                     //0xa4dc
  2102:     "," +                     //0xa4dd
  2103:     "," +                     //0xa4de
  2104:     "," +                     //0xa4df
  2105:     "__PMInit," +             //0xa4e0
  2106:     "__PMTini," +             //0xa4e1
  2107:     "__PMOpen," +             //0xa4e2
  2108:     "__PMClose," +            //0xa4e3
  2109:     "__PMSetDefault," +       //0xa4e4
  2110:     "__PMValidate," +         //0xa4e5
  2111:     "__PMImageDialog," +      //0xa4e6
  2112:     "__PMStrDialog," +        //0xa4e7
  2113:     "__PMJobDialog," +        //0xa4e8
  2114:     "__PMEnvCopy," +          //0xa4e9
  2115:     "__PMJobCopy," +          //0xa4ea
  2116:     "__PMOpenImage," +        //0xa4eb
  2117:     "__PMRecordPage," +       //0xa4ec
  2118:     "__PMPrintPage," +        //0xa4ed
  2119:     "__PMCancelPage," +       //0xa4ee
  2120:     "__PMAction," +           //0xa4ef
  2121:     "__PMCloseImage," +       //0xa4f0
  2122:     "__PMDrawString," +       //0xa4f1
  2123:     "__PMVer," +              //0xa4f2
  2124:     "__PMDrvrVer," +          //0xa4f3
  2125:     "__PMDrvrCtrl," +         //0xa4f4
  2126:     "__PMDrvrID," +           //0xa4f5
  2127:     "__PMDrvrHdl," +          //0xa4f6
  2128:     "__PMMaxRect," +          //0xa4f7
  2129:     "__PMSaveEnv," +          //0xa4f8
  2130:     "__PMReady," +            //0xa4f9
  2131:     "__PMProcPrint," +        //0xa4fa
  2132:     "__PMDrvrInfo," +         //0xa4fb
  2133:     "__PMGetDefDlog," +       //0xa4fc
  2134:     "__PMSetRange," +         //0xa4fd
  2135:     "__PMPutID," +            //0xa4fe
  2136:     "," +                     //0xa4ff
  2137:     "__FMInit," +             //0xa500
  2138:     "__FMTini," +             //0xa501
  2139:     "__FMGetFontList," +      //0xa502
  2140:     "__FMSetCacheSize," +     //0xa503
  2141:     "__FMGetCacheSize," +     //0xa504
  2142:     "__FMSetSpaceWidth," +    //0xa505
  2143:     "__FMGetSpaceWidth," +    //0xa506
  2144:     "__FMSetTracking," +      //0xa507
  2145:     "__FMGetTracking," +      //0xa508
  2146:     "__FMGetKerningWidth," +  //0xa509
  2147:     "__FMFontMenuSelect," +   //0xa50a
  2148:     "__FMGetFontPolyData," +  //0xa50b
  2149:     "," +                     //0xa50c
  2150:     "," +                     //0xa50d
  2151:     "," +                     //0xa50e
  2152:     "," +                     //0xa50f
  2153:     "," +                     //0xa510
  2154:     "," +                     //0xa511
  2155:     "," +                     //0xa512
  2156:     "," +                     //0xa513
  2157:     "," +                     //0xa514
  2158:     "," +                     //0xa515
  2159:     "," +                     //0xa516
  2160:     "," +                     //0xa517
  2161:     "," +                     //0xa518
  2162:     "," +                     //0xa519
  2163:     "," +                     //0xa51a
  2164:     "," +                     //0xa51b
  2165:     "," +                     //0xa51c
  2166:     "," +                     //0xa51d
  2167:     "," +                     //0xa51e
  2168:     "," +                     //0xa51f
  2169:     "," +                     //0xa520
  2170:     "," +                     //0xa521
  2171:     "," +                     //0xa522
  2172:     "," +                     //0xa523
  2173:     "," +                     //0xa524
  2174:     "," +                     //0xa525
  2175:     "," +                     //0xa526
  2176:     "," +                     //0xa527
  2177:     "," +                     //0xa528
  2178:     "," +                     //0xa529
  2179:     "," +                     //0xa52a
  2180:     "," +                     //0xa52b
  2181:     "," +                     //0xa52c
  2182:     "," +                     //0xa52d
  2183:     "," +                     //0xa52e
  2184:     "," +                     //0xa52f
  2185:     "," +                     //0xa530
  2186:     "," +                     //0xa531
  2187:     "," +                     //0xa532
  2188:     "," +                     //0xa533
  2189:     "," +                     //0xa534
  2190:     "," +                     //0xa535
  2191:     "," +                     //0xa536
  2192:     "," +                     //0xa537
  2193:     "," +                     //0xa538
  2194:     "," +                     //0xa539
  2195:     "," +                     //0xa53a
  2196:     "," +                     //0xa53b
  2197:     "," +                     //0xa53c
  2198:     "," +                     //0xa53d
  2199:     "," +                     //0xa53e
  2200:     "," +                     //0xa53f
  2201:     "__GMSetFlattness," +     //0xa540
  2202:     "__GMGetFlattness," +     //0xa541
  2203:     "__GMSetBSDepth," +       //0xa542
  2204:     "__GMGetBSDepth," +       //0xa543
  2205:     "__GMDrawBezier," +       //0xa544
  2206:     "__GMDrawBSpline," +      //0xa545
  2207:     "__GMSplitBezier," +      //0xa546
  2208:     "__GMSplitBSpline," +     //0xa547
  2209:     "__GMPtOnBezier," +       //0xa548
  2210:     "__GMPtOnBSpline," +      //0xa549
  2211:     "__GMSetBSError," +       //0xa54a
  2212:     "__GMGetBSError," +       //0xa54b
  2213:     "," +                     //0xa54c
  2214:     "," +                     //0xa54d
  2215:     "," +                     //0xa54e
  2216:     "," +                     //0xa54f
  2217:     "__GMSetGSDraw," +        //0xa550
  2218:     "__GMGetGSDraw," +        //0xa551
  2219:     "__GMSetGSGet," +         //0xa552
  2220:     "__GMGetGSGet," +         //0xa553
  2221:     "__GMTileRImg," +         //0xa554
  2222:     "__GMTileImg," +          //0xa555
  2223:     "__GMSetDispOffset," +    //0xa556
  2224:     "__GMGetDispOffset," +    //0xa557
  2225:     "__GMTestScrKindG," +     //0xa558
  2226:     "__GMGetScrKindG," +      //0xa559
  2227:     "," +                     //0xa55a
  2228:     "," +                     //0xa55b
  2229:     "," +                     //0xa55c
  2230:     "__GMGetGraphMode," +     //0xa55d
  2231:     "__GMSetPalet," +         //0xa55e
  2232:     "__GMGetPalet," +         //0xa55f
  2233:     "__GMCopy2," +            //0xa560
  2234:     "," +                     //0xa561
  2235:     "__GMMakeGrpBitmap," +    //0xa562
  2236:     "__GMDrawScript2," +      //0xa563
  2237:     "__GMRecordVer," +        //0xa564
  2238:     "__GMForeRGB," +          //0xa565
  2239:     "__GMBackRGB," +          //0xa566
  2240:     "__GMRecEnv," +           //0xa567
  2241:     "__GMRecPalet," +         //0xa568
  2242:     "__GMFillRImg2," +        //0xa569
  2243:     "__GMFillImg2," +         //0xa56a
  2244:     "__GMSetPutID," +         //0xa56b
  2245:     "__GMMakePalet," +        //0xa56c
  2246:     "__GMFontRealSize," +     //0xa56d
  2247:     "__GMGetCPDFInfo," +      //0xa56e
  2248:     "__GMGetCPDFList," +      //0xa56f
  2249:     "__GMScanScript," +       //0xa570
  2250:     "__GMGetGSInfo," +        //0xa571
  2251:     "__GMMovePoly," +         //0xa572
  2252:     "__GMSlidePoly," +        //0xa573
  2253:     "__GMNewBits2," +         //0xa574
  2254:     "," +                     //0xa575
  2255:     "," +                     //0xa576
  2256:     "," +                     //0xa577
  2257:     "," +                     //0xa578
  2258:     "," +                     //0xa579
  2259:     "," +                     //0xa57a
  2260:     "," +                     //0xa57b
  2261:     "," +                     //0xa57c
  2262:     "," +                     //0xa57d
  2263:     "," +                     //0xa57e
  2264:     "," +                     //0xa57f
  2265:     "," +                     //0xa580
  2266:     "," +                     //0xa581
  2267:     "," +                     //0xa582
  2268:     "," +                     //0xa583
  2269:     "," +                     //0xa584
  2270:     "," +                     //0xa585
  2271:     "," +                     //0xa586
  2272:     "," +                     //0xa587
  2273:     "," +                     //0xa588
  2274:     "," +                     //0xa589
  2275:     "," +                     //0xa58a
  2276:     "," +                     //0xa58b
  2277:     "," +                     //0xa58c
  2278:     "," +                     //0xa58d
  2279:     "," +                     //0xa58e
  2280:     "," +                     //0xa58f
  2281:     "," +                     //0xa590
  2282:     "," +                     //0xa591
  2283:     "," +                     //0xa592
  2284:     "," +                     //0xa593
  2285:     "," +                     //0xa594
  2286:     "," +                     //0xa595
  2287:     "," +                     //0xa596
  2288:     "," +                     //0xa597
  2289:     "," +                     //0xa598
  2290:     "," +                     //0xa599
  2291:     "," +                     //0xa59a
  2292:     "," +                     //0xa59b
  2293:     "," +                     //0xa59c
  2294:     "," +                     //0xa59d
  2295:     "," +                     //0xa59e
  2296:     "," +                     //0xa59f
  2297:     "," +                     //0xa5a0
  2298:     "," +                     //0xa5a1
  2299:     "," +                     //0xa5a2
  2300:     "," +                     //0xa5a3
  2301:     "," +                     //0xa5a4
  2302:     "," +                     //0xa5a5
  2303:     "," +                     //0xa5a6
  2304:     "," +                     //0xa5a7
  2305:     "," +                     //0xa5a8
  2306:     "," +                     //0xa5a9
  2307:     "," +                     //0xa5aa
  2308:     "," +                     //0xa5ab
  2309:     "," +                     //0xa5ac
  2310:     "," +                     //0xa5ad
  2311:     "," +                     //0xa5ae
  2312:     "," +                     //0xa5af
  2313:     "," +                     //0xa5b0
  2314:     "," +                     //0xa5b1
  2315:     "," +                     //0xa5b2
  2316:     "," +                     //0xa5b3
  2317:     "," +                     //0xa5b4
  2318:     "," +                     //0xa5b5
  2319:     "," +                     //0xa5b6
  2320:     "," +                     //0xa5b7
  2321:     "," +                     //0xa5b8
  2322:     "," +                     //0xa5b9
  2323:     "," +                     //0xa5ba
  2324:     "," +                     //0xa5bb
  2325:     "," +                     //0xa5bc
  2326:     "," +                     //0xa5bd
  2327:     "," +                     //0xa5be
  2328:     "," +                     //0xa5bf
  2329:     "," +                     //0xa5c0
  2330:     "," +                     //0xa5c1
  2331:     "," +                     //0xa5c2
  2332:     "," +                     //0xa5c3
  2333:     "," +                     //0xa5c4
  2334:     "," +                     //0xa5c5
  2335:     "," +                     //0xa5c6
  2336:     "," +                     //0xa5c7
  2337:     "," +                     //0xa5c8
  2338:     "," +                     //0xa5c9
  2339:     "," +                     //0xa5ca
  2340:     "," +                     //0xa5cb
  2341:     "," +                     //0xa5cc
  2342:     "," +                     //0xa5cd
  2343:     "," +                     //0xa5ce
  2344:     "," +                     //0xa5cf
  2345:     "," +                     //0xa5d0
  2346:     "," +                     //0xa5d1
  2347:     "," +                     //0xa5d2
  2348:     "," +                     //0xa5d3
  2349:     "," +                     //0xa5d4
  2350:     "," +                     //0xa5d5
  2351:     "," +                     //0xa5d6
  2352:     "," +                     //0xa5d7
  2353:     "," +                     //0xa5d8
  2354:     "," +                     //0xa5d9
  2355:     "," +                     //0xa5da
  2356:     "," +                     //0xa5db
  2357:     "," +                     //0xa5dc
  2358:     "," +                     //0xa5dd
  2359:     "," +                     //0xa5de
  2360:     "," +                     //0xa5df
  2361:     "," +                     //0xa5e0
  2362:     "," +                     //0xa5e1
  2363:     "," +                     //0xa5e2
  2364:     "," +                     //0xa5e3
  2365:     "," +                     //0xa5e4
  2366:     "," +                     //0xa5e5
  2367:     "," +                     //0xa5e6
  2368:     "," +                     //0xa5e7
  2369:     "," +                     //0xa5e8
  2370:     "," +                     //0xa5e9
  2371:     "," +                     //0xa5ea
  2372:     "," +                     //0xa5eb
  2373:     "," +                     //0xa5ec
  2374:     "," +                     //0xa5ed
  2375:     "," +                     //0xa5ee
  2376:     "," +                     //0xa5ef
  2377:     "__SXInitSemaphore," +    //0xa5f0
  2378:     "__SXAddSemaphore," +     //0xa5f1
  2379:     "__SXDelSemaphore," +     //0xa5f2
  2380:     "__SXFindSemaphore," +    //0xa5f3
  2381:     "," +                     //0xa5f4
  2382:     "," +                     //0xa5f5
  2383:     "," +                     //0xa5f6
  2384:     "," +                     //0xa5f7
  2385:     "," +                     //0xa5f8
  2386:     "," +                     //0xa5f9
  2387:     "," +                     //0xa5fa
  2388:     "," +                     //0xa5fb
  2389:     "," +                     //0xa5fc
  2390:     "," +                     //0xa5fd
  2391:     "," +                     //0xa5fe
  2392:     "," +                     //0xa5ff
  2393:     "__CLInit," +             //0xa600
  2394:     "__CLTini," +             //0xa601
  2395:     "__CLNewPalet," +         //0xa602
  2396:     "__CLRefer," +            //0xa603
  2397:     "__CLDupDevicePalet," +   //0xa604
  2398:     "__CLDisposePalet," +     //0xa605
  2399:     "__CLSetCInfo," +         //0xa606
  2400:     "__CLGetCInfo," +         //0xa607
  2401:     "__CLAlloc," +            //0xa608
  2402:     "__CLAllocOne," +         //0xa609
  2403:     "__CLFree," +             //0xa60a
  2404:     "__CLFreeOne," +          //0xa60b
  2405:     "__CLActive," +           //0xa60c
  2406:     "__CLRealloc," +          //0xa60d
  2407:     "__CLLinkPalet," +        //0xa60e
  2408:     "__CLUnlinkPalet," +      //0xa60f
  2409:     "__CLSetDeviceMode," +    //0xa610
  2410:     "__CLGetDeviceMode," +    //0xa611
  2411:     "__CLGetDevice," +        //0xa612
  2412:     "," +                     //0xa613
  2413:     "__CLDelDevice," +        //0xa614
  2414:     "__CLSetDeviceRGB," +     //0xa615
  2415:     "__CLDupPalet," +         //0xa616
  2416:     "__CLCopyPalet," +        //0xa617
  2417:     "__CLSetPickEntry," +     //0xa618
  2418:     "__CLValueToRGB," +       //0xa619
  2419:     "__CLRGBToValue," +       //0xa61a
  2420:     "__CLRefer2," +           //0xa61b
  2421:     "__CLLoadText," +         //0xa61c
  2422:     "__CLValueToPalet," +     //0xa61d
  2423:     "__CLPaletToValue," +     //0xa61e
  2424:     "__CLSetScanEntry," +     //0xa61f
  2425:     "," +                     //0xa620
  2426:     "," +                     //0xa621
  2427:     "," +                     //0xa622
  2428:     "," +                     //0xa623
  2429:     "," +                     //0xa624
  2430:     "," +                     //0xa625
  2431:     "," +                     //0xa626
  2432:     "," +                     //0xa627
  2433:     "," +                     //0xa628
  2434:     "," +                     //0xa629
  2435:     "," +                     //0xa62a
  2436:     "," +                     //0xa62b
  2437:     "," +                     //0xa62c
  2438:     "," +                     //0xa62d
  2439:     "," +                     //0xa62e
  2440:     "," +                     //0xa62f
  2441:     "," +                     //0xa630
  2442:     "," +                     //0xa631
  2443:     "," +                     //0xa632
  2444:     "," +                     //0xa633
  2445:     "," +                     //0xa634
  2446:     "," +                     //0xa635
  2447:     "," +                     //0xa636
  2448:     "," +                     //0xa637
  2449:     "," +                     //0xa638
  2450:     "," +                     //0xa639
  2451:     "," +                     //0xa63a
  2452:     "," +                     //0xa63b
  2453:     "," +                     //0xa63c
  2454:     "," +                     //0xa63d
  2455:     "," +                     //0xa63e
  2456:     "," +                     //0xa63f
  2457:     "," +                     //0xa640
  2458:     "," +                     //0xa641
  2459:     "," +                     //0xa642
  2460:     "," +                     //0xa643
  2461:     "," +                     //0xa644
  2462:     "," +                     //0xa645
  2463:     "," +                     //0xa646
  2464:     "," +                     //0xa647
  2465:     "," +                     //0xa648
  2466:     "," +                     //0xa649
  2467:     "," +                     //0xa64a
  2468:     "," +                     //0xa64b
  2469:     "," +                     //0xa64c
  2470:     "," +                     //0xa64d
  2471:     "," +                     //0xa64e
  2472:     "," +                     //0xa64f
  2473:     "," +                     //0xa650
  2474:     "," +                     //0xa651
  2475:     "," +                     //0xa652
  2476:     "," +                     //0xa653
  2477:     "," +                     //0xa654
  2478:     "," +                     //0xa655
  2479:     "," +                     //0xa656
  2480:     "," +                     //0xa657
  2481:     "," +                     //0xa658
  2482:     "," +                     //0xa659
  2483:     "," +                     //0xa65a
  2484:     "," +                     //0xa65b
  2485:     "," +                     //0xa65c
  2486:     "," +                     //0xa65d
  2487:     "," +                     //0xa65e
  2488:     "," +                     //0xa65f
  2489:     "," +                     //0xa660
  2490:     "," +                     //0xa661
  2491:     "," +                     //0xa662
  2492:     "," +                     //0xa663
  2493:     "," +                     //0xa664
  2494:     "," +                     //0xa665
  2495:     "," +                     //0xa666
  2496:     "," +                     //0xa667
  2497:     "," +                     //0xa668
  2498:     "," +                     //0xa669
  2499:     "," +                     //0xa66a
  2500:     "," +                     //0xa66b
  2501:     "," +                     //0xa66c
  2502:     "," +                     //0xa66d
  2503:     "," +                     //0xa66e
  2504:     "," +                     //0xa66f
  2505:     "," +                     //0xa670
  2506:     "," +                     //0xa671
  2507:     "," +                     //0xa672
  2508:     "," +                     //0xa673
  2509:     "," +                     //0xa674
  2510:     "," +                     //0xa675
  2511:     "," +                     //0xa676
  2512:     "," +                     //0xa677
  2513:     "," +                     //0xa678
  2514:     "," +                     //0xa679
  2515:     "," +                     //0xa67a
  2516:     "," +                     //0xa67b
  2517:     "," +                     //0xa67c
  2518:     "," +                     //0xa67d
  2519:     "," +                     //0xa67e
  2520:     "," +                     //0xa67f
  2521:     "," +                     //0xa680
  2522:     "," +                     //0xa681
  2523:     "," +                     //0xa682
  2524:     "," +                     //0xa683
  2525:     "," +                     //0xa684
  2526:     "," +                     //0xa685
  2527:     "," +                     //0xa686
  2528:     "," +                     //0xa687
  2529:     "," +                     //0xa688
  2530:     "," +                     //0xa689
  2531:     "," +                     //0xa68a
  2532:     "," +                     //0xa68b
  2533:     "," +                     //0xa68c
  2534:     "," +                     //0xa68d
  2535:     "," +                     //0xa68e
  2536:     "," +                     //0xa68f
  2537:     "," +                     //0xa690
  2538:     "," +                     //0xa691
  2539:     "," +                     //0xa692
  2540:     "," +                     //0xa693
  2541:     "," +                     //0xa694
  2542:     "," +                     //0xa695
  2543:     "," +                     //0xa696
  2544:     "," +                     //0xa697
  2545:     "," +                     //0xa698
  2546:     "," +                     //0xa699
  2547:     "," +                     //0xa69a
  2548:     "," +                     //0xa69b
  2549:     "," +                     //0xa69c
  2550:     "," +                     //0xa69d
  2551:     "," +                     //0xa69e
  2552:     "," +                     //0xa69f
  2553:     "," +                     //0xa6a0
  2554:     "," +                     //0xa6a1
  2555:     "," +                     //0xa6a2
  2556:     "," +                     //0xa6a3
  2557:     "," +                     //0xa6a4
  2558:     "," +                     //0xa6a5
  2559:     "," +                     //0xa6a6
  2560:     "," +                     //0xa6a7
  2561:     "," +                     //0xa6a8
  2562:     "," +                     //0xa6a9
  2563:     "," +                     //0xa6aa
  2564:     "," +                     //0xa6ab
  2565:     "," +                     //0xa6ac
  2566:     "," +                     //0xa6ad
  2567:     "," +                     //0xa6ae
  2568:     "," +                     //0xa6af
  2569:     "," +                     //0xa6b0
  2570:     "," +                     //0xa6b1
  2571:     "," +                     //0xa6b2
  2572:     "," +                     //0xa6b3
  2573:     "," +                     //0xa6b4
  2574:     "," +                     //0xa6b5
  2575:     "," +                     //0xa6b6
  2576:     "," +                     //0xa6b7
  2577:     "," +                     //0xa6b8
  2578:     "," +                     //0xa6b9
  2579:     "," +                     //0xa6ba
  2580:     "," +                     //0xa6bb
  2581:     "," +                     //0xa6bc
  2582:     "," +                     //0xa6bd
  2583:     "," +                     //0xa6be
  2584:     "," +                     //0xa6bf
  2585:     "," +                     //0xa6c0
  2586:     "," +                     //0xa6c1
  2587:     "," +                     //0xa6c2
  2588:     "," +                     //0xa6c3
  2589:     "," +                     //0xa6c4
  2590:     "," +                     //0xa6c5
  2591:     "," +                     //0xa6c6
  2592:     "," +                     //0xa6c7
  2593:     "," +                     //0xa6c8
  2594:     "," +                     //0xa6c9
  2595:     "," +                     //0xa6ca
  2596:     "," +                     //0xa6cb
  2597:     "," +                     //0xa6cc
  2598:     "," +                     //0xa6cd
  2599:     "," +                     //0xa6ce
  2600:     "," +                     //0xa6cf
  2601:     "," +                     //0xa6d0
  2602:     "," +                     //0xa6d1
  2603:     "," +                     //0xa6d2
  2604:     "," +                     //0xa6d3
  2605:     "," +                     //0xa6d4
  2606:     "," +                     //0xa6d5
  2607:     "," +                     //0xa6d6
  2608:     "," +                     //0xa6d7
  2609:     "," +                     //0xa6d8
  2610:     "," +                     //0xa6d9
  2611:     "," +                     //0xa6da
  2612:     "," +                     //0xa6db
  2613:     "," +                     //0xa6dc
  2614:     "," +                     //0xa6dd
  2615:     "," +                     //0xa6de
  2616:     "," +                     //0xa6df
  2617:     "," +                     //0xa6e0
  2618:     "," +                     //0xa6e1
  2619:     "," +                     //0xa6e2
  2620:     "," +                     //0xa6e3
  2621:     "," +                     //0xa6e4
  2622:     "," +                     //0xa6e5
  2623:     "," +                     //0xa6e6
  2624:     "," +                     //0xa6e7
  2625:     "," +                     //0xa6e8
  2626:     "," +                     //0xa6e9
  2627:     "," +                     //0xa6ea
  2628:     "," +                     //0xa6eb
  2629:     "," +                     //0xa6ec
  2630:     "," +                     //0xa6ed
  2631:     "," +                     //0xa6ee
  2632:     "," +                     //0xa6ef
  2633:     "," +                     //0xa6f0
  2634:     "," +                     //0xa6f1
  2635:     "," +                     //0xa6f2
  2636:     "," +                     //0xa6f3
  2637:     "," +                     //0xa6f4
  2638:     "," +                     //0xa6f5
  2639:     "," +                     //0xa6f6
  2640:     "," +                     //0xa6f7
  2641:     "," +                     //0xa6f8
  2642:     "," +                     //0xa6f9
  2643:     "," +                     //0xa6fa
  2644:     "," +                     //0xa6fb
  2645:     "," +                     //0xa6fc
  2646:     "," +                     //0xa6fd
  2647:     "," +                     //0xa6fe
  2648:     "," +                     //0xa6ff
  2649:     "__VMInit," +             //0xa700
  2650:     "__VMTini," +             //0xa701
  2651:     "," +                     //0xa702
  2652:     "," +                     //0xa703
  2653:     "," +                     //0xa704
  2654:     "," +                     //0xa705
  2655:     "," +                     //0xa706
  2656:     "," +                     //0xa707
  2657:     "," +                     //0xa708
  2658:     "," +                     //0xa709
  2659:     "," +                     //0xa70a
  2660:     "," +                     //0xa70b
  2661:     "," +                     //0xa70c
  2662:     "," +                     //0xa70d
  2663:     "," +                     //0xa70e
  2664:     "," +                     //0xa70f
  2665:     "__VMExpand," +           //0xa710
  2666:     "__VMCompress," +         //0xa711
  2667:     "__VMExpDirect," +        //0xa712
  2668:     "__VMGetInfo," +          //0xa713
  2669:     "__VMRscInfo," +          //0xa714
  2670:     "__VMRscHdlGet," +        //0xa715
  2671:     "__VMSetCurrentID," +     //0xa716
  2672:     "__VMGetCurrentID," +     //0xa717
  2673:     "__VMGetPalette," +       //0xa718
  2674:     "," +                     //0xa719
  2675:     "," +                     //0xa71a
  2676:     "," +                     //0xa71b
  2677:     "," +                     //0xa71c
  2678:     "," +                     //0xa71d
  2679:     "," +                     //0xa71e
  2680:     "," +                     //0xa71f
  2681:     "," +                     //0xa720
  2682:     "," +                     //0xa721
  2683:     "," +                     //0xa722
  2684:     "," +                     //0xa723
  2685:     "," +                     //0xa724
  2686:     "," +                     //0xa725
  2687:     "," +                     //0xa726
  2688:     "," +                     //0xa727
  2689:     "," +                     //0xa728
  2690:     "," +                     //0xa729
  2691:     "," +                     //0xa72a
  2692:     "," +                     //0xa72b
  2693:     "," +                     //0xa72c
  2694:     "," +                     //0xa72d
  2695:     "," +                     //0xa72e
  2696:     "," +                     //0xa72f
  2697:     "__VMSetAnim," +          //0xa730
  2698:     "__VMGetAnim," +          //0xa731
  2699:     "__VMSetParam," +         //0xa732
  2700:     "__VMGetParam," +         //0xa733
  2701:     "__VMCreate," +           //0xa734
  2702:     "__VMCreateF," +          //0xa735
  2703:     "__VMOpen," +             //0xa736
  2704:     "__VMClose," +            //0xa737
  2705:     "__VMDispose," +          //0xa738
  2706:     "__VMRegistSample," +     //0xa739
  2707:     "__VMDeleteSample," +     //0xa73a
  2708:     "__VMReferSample," +      //0xa73b
  2709:     "__VMGetSample," +        //0xa73c
  2710:     "__VMGetBits," +          //0xa73d
  2711:     "__VMInsertFrame," +      //0xa73e
  2712:     "__VMDeleteFrame," +      //0xa73f
  2713:     "__VMTimeToFrame," +      //0xa740
  2714:     "__VMFrameToSample," +    //0xa741
  2715:     "__VMTrans," +            //0xa742
  2716:     "__VMPlay," +             //0xa743
  2717:     "__VMEvent," +            //0xa744
  2718:     "__VMStop," +             //0xa745
  2719:     "__VMPause," +            //0xa746
  2720:     "__VMUpdate," +           //0xa747
  2721:     "__VMSetUser," +          //0xa748
  2722:     "__VMGetUser," +          //0xa749
  2723:     "__VMDisplay," +          //0xa74a
  2724:     "," +                     //0xa74b
  2725:     "," +                     //0xa74c
  2726:     "," +                     //0xa74d
  2727:     "," +                     //0xa74e
  2728:     "," +                     //0xa74f
  2729:     "," +                     //0xa750
  2730:     "," +                     //0xa751
  2731:     "," +                     //0xa752
  2732:     "," +                     //0xa753
  2733:     "," +                     //0xa754
  2734:     "," +                     //0xa755
  2735:     "," +                     //0xa756
  2736:     "," +                     //0xa757
  2737:     "," +                     //0xa758
  2738:     "," +                     //0xa759
  2739:     "," +                     //0xa75a
  2740:     "," +                     //0xa75b
  2741:     "," +                     //0xa75c
  2742:     "," +                     //0xa75d
  2743:     "," +                     //0xa75e
  2744:     "," +                     //0xa75f
  2745:     "," +                     //0xa760
  2746:     "," +                     //0xa761
  2747:     "," +                     //0xa762
  2748:     "," +                     //0xa763
  2749:     "," +                     //0xa764
  2750:     "," +                     //0xa765
  2751:     "," +                     //0xa766
  2752:     "," +                     //0xa767
  2753:     "," +                     //0xa768
  2754:     "," +                     //0xa769
  2755:     "," +                     //0xa76a
  2756:     "," +                     //0xa76b
  2757:     "," +                     //0xa76c
  2758:     "," +                     //0xa76d
  2759:     "," +                     //0xa76e
  2760:     "," +                     //0xa76f
  2761:     "," +                     //0xa770
  2762:     "," +                     //0xa771
  2763:     "," +                     //0xa772
  2764:     "," +                     //0xa773
  2765:     "," +                     //0xa774
  2766:     "," +                     //0xa775
  2767:     "," +                     //0xa776
  2768:     "," +                     //0xa777
  2769:     "," +                     //0xa778
  2770:     "," +                     //0xa779
  2771:     "," +                     //0xa77a
  2772:     "," +                     //0xa77b
  2773:     "," +                     //0xa77c
  2774:     "," +                     //0xa77d
  2775:     "," +                     //0xa77e
  2776:     "," +                     //0xa77f
  2777:     "," +                     //0xa780
  2778:     "," +                     //0xa781
  2779:     "," +                     //0xa782
  2780:     "," +                     //0xa783
  2781:     "," +                     //0xa784
  2782:     "," +                     //0xa785
  2783:     "," +                     //0xa786
  2784:     "," +                     //0xa787
  2785:     "," +                     //0xa788
  2786:     "," +                     //0xa789
  2787:     "," +                     //0xa78a
  2788:     "," +                     //0xa78b
  2789:     "," +                     //0xa78c
  2790:     "," +                     //0xa78d
  2791:     "," +                     //0xa78e
  2792:     "," +                     //0xa78f
  2793:     "," +                     //0xa790
  2794:     "," +                     //0xa791
  2795:     "," +                     //0xa792
  2796:     "," +                     //0xa793
  2797:     "," +                     //0xa794
  2798:     "," +                     //0xa795
  2799:     "," +                     //0xa796
  2800:     "," +                     //0xa797
  2801:     "," +                     //0xa798
  2802:     "," +                     //0xa799
  2803:     "," +                     //0xa79a
  2804:     "," +                     //0xa79b
  2805:     "," +                     //0xa79c
  2806:     "," +                     //0xa79d
  2807:     "," +                     //0xa79e
  2808:     "," +                     //0xa79f
  2809:     "," +                     //0xa7a0
  2810:     "," +                     //0xa7a1
  2811:     "," +                     //0xa7a2
  2812:     "," +                     //0xa7a3
  2813:     "," +                     //0xa7a4
  2814:     "," +                     //0xa7a5
  2815:     "," +                     //0xa7a6
  2816:     "," +                     //0xa7a7
  2817:     "," +                     //0xa7a8
  2818:     "," +                     //0xa7a9
  2819:     "," +                     //0xa7aa
  2820:     "," +                     //0xa7ab
  2821:     "," +                     //0xa7ac
  2822:     "," +                     //0xa7ad
  2823:     "," +                     //0xa7ae
  2824:     "," +                     //0xa7af
  2825:     "," +                     //0xa7b0
  2826:     "," +                     //0xa7b1
  2827:     "," +                     //0xa7b2
  2828:     "," +                     //0xa7b3
  2829:     "," +                     //0xa7b4
  2830:     "," +                     //0xa7b5
  2831:     "," +                     //0xa7b6
  2832:     "," +                     //0xa7b7
  2833:     "," +                     //0xa7b8
  2834:     "," +                     //0xa7b9
  2835:     "," +                     //0xa7ba
  2836:     "," +                     //0xa7bb
  2837:     "," +                     //0xa7bc
  2838:     "," +                     //0xa7bd
  2839:     "," +                     //0xa7be
  2840:     "," +                     //0xa7bf
  2841:     "," +                     //0xa7c0
  2842:     "," +                     //0xa7c1
  2843:     "," +                     //0xa7c2
  2844:     "," +                     //0xa7c3
  2845:     "," +                     //0xa7c4
  2846:     "," +                     //0xa7c5
  2847:     "," +                     //0xa7c6
  2848:     "," +                     //0xa7c7
  2849:     "," +                     //0xa7c8
  2850:     "," +                     //0xa7c9
  2851:     "," +                     //0xa7ca
  2852:     "," +                     //0xa7cb
  2853:     "," +                     //0xa7cc
  2854:     "," +                     //0xa7cd
  2855:     "," +                     //0xa7ce
  2856:     "," +                     //0xa7cf
  2857:     "," +                     //0xa7d0
  2858:     "," +                     //0xa7d1
  2859:     "," +                     //0xa7d2
  2860:     "," +                     //0xa7d3
  2861:     "," +                     //0xa7d4
  2862:     "," +                     //0xa7d5
  2863:     "," +                     //0xa7d6
  2864:     "," +                     //0xa7d7
  2865:     "," +                     //0xa7d8
  2866:     "," +                     //0xa7d9
  2867:     "," +                     //0xa7da
  2868:     "," +                     //0xa7db
  2869:     "," +                     //0xa7dc
  2870:     "," +                     //0xa7dd
  2871:     "," +                     //0xa7de
  2872:     "," +                     //0xa7df
  2873:     "," +                     //0xa7e0
  2874:     "," +                     //0xa7e1
  2875:     "," +                     //0xa7e2
  2876:     "," +                     //0xa7e3
  2877:     "," +                     //0xa7e4
  2878:     "," +                     //0xa7e5
  2879:     "," +                     //0xa7e6
  2880:     "," +                     //0xa7e7
  2881:     "," +                     //0xa7e8
  2882:     "," +                     //0xa7e9
  2883:     "," +                     //0xa7ea
  2884:     "," +                     //0xa7eb
  2885:     "," +                     //0xa7ec
  2886:     "," +                     //0xa7ed
  2887:     "," +                     //0xa7ee
  2888:     "," +                     //0xa7ef
  2889:     "," +                     //0xa7f0
  2890:     "," +                     //0xa7f1
  2891:     "," +                     //0xa7f2
  2892:     "," +                     //0xa7f3
  2893:     "," +                     //0xa7f4
  2894:     "," +                     //0xa7f5
  2895:     "," +                     //0xa7f6
  2896:     "," +                     //0xa7f7
  2897:     "," +                     //0xa7f8
  2898:     "," +                     //0xa7f9
  2899:     "," +                     //0xa7fa
  2900:     "," +                     //0xa7fb
  2901:     "," +                     //0xa7fc
  2902:     "," +                     //0xa7fd
  2903:     "," +                     //0xa7fe
  2904:     ""                        //0xa7ff
  2905:     ).split (",", 2048);  //limitを書かないと末尾の空文字列が削除されて配列が短くなり末尾の要素を参照できなくなる
  2906: 
  2907:   public static int disPC;  //逆アセンブル用のpc
  2908:   public static int disPC0;
  2909: 
  2910:   public static int disOC;  //オペコード
  2911: 
  2912:   public static int disSupervisor;  //0=ユーザコード,0以外=スーパーバイザコード
  2913: 
  2914:   //disStatus
  2915:   //  最後に逆アセンブルした命令の種類
  2916:   //  DIS_ALWAYS_BRANCH     空行あり  完全分岐命令(RTE,RTD,RTS,RTR,JMP,BRA,_ABORTJOB,_EXIT,_EXIT2,FBRA)。常に分岐して戻ってこない
  2917:   //  DIS_SOMETIMES_BRANCH  空行なし  条件分岐命令(DBcc,Bcc,PDBcc,PBcc,FDBcc,FBcc)。分岐したときは戻ってこない
  2918:   //  DIS_CALL_SUBROUTINE   空行なし  サブルーチンを呼び出す命令(BSR,JSR)。分岐するがほとんどの場合は戻ってくる
  2919:   public static final int DIS_ALWAYS_BRANCH    = 1;
  2920:   public static final int DIS_SOMETIMES_BRANCH = 2;
  2921:   public static final int DIS_CALL_SUBROUTINE  = 4;
  2922:   public static int disStatus;  //最後に逆アセンブルした命令の種類
  2923: 
  2924: 
  2925:   //プログラムの範囲
  2926:   public static int disProgramHead;  //プログラムの先頭。0=なし
  2927:   public static int disProgramTail;  //プログラムの末尾
  2928:   public static int disProgramMode;  //アドレスとオフセット。0=アドレスのみ,1=オフセットのみ,2=両方
  2929: 
  2930:   //disProgramHex8 (sb, a)
  2931:   public static StringBuilder disProgramHex8 (StringBuilder sb, int a) {
  2932:     //アドレス
  2933:     //  アドレスのみまたは両方のとき
  2934:     //    '$'とアドレスを表示する
  2935:     if (disProgramMode == 0 ||  //アドレスのみまたは
  2936:         disProgramMode == 2) {  //両方のとき
  2937:       XEiJ.fmtHex8 (sb.append ('$'), a);  //'$'とアドレスを表示する
  2938:     }
  2939:     //オフセット
  2940:     //  オフセットのみまたは両方のとき
  2941:     //    プログラムがありかつ先頭が0でなくかつ範囲内のとき
  2942:     //      両方のとき
  2943:     //        ':'を表示する
  2944:     //      'L'とオフセットを表示する
  2945:     //    プログラムがないまたは先頭が0または範囲外のとき
  2946:     //      オフセットのみのとき
  2947:     //        '$'とアドレスを表示する
  2948:     if (disProgramMode == 1 ||  //オフセットのみまたは
  2949:         disProgramMode == 2) {  //両方のとき
  2950:       int index = LabeledAddress.lblGetIndex (a);
  2951:       if (index != -1 &&  //プログラムがありかつ
  2952:           LabeledAddress.lblLastGetHead != 0 &&  //先頭が0でなくかつ
  2953:           disProgramHead - 256 <= a && a <= disProgramTail + 32768) {  //範囲内のとき
  2954:         if (disProgramMode == 2) {  //両方のとき
  2955:           sb.append (':');  //':'を表示する
  2956:         }
  2957:         XEiJ.fmtHex6 (sb.append ('L'), a - disProgramHead);  //'L'とオフセットを表示する
  2958:       } else {  //プログラムがないまたは先頭が0または範囲外のとき
  2959:         if (disProgramMode == 1) {  //オフセットのみのとき
  2960:           XEiJ.fmtHex8 (sb.append ('$'), a);  //'$'とアドレスを表示する
  2961:         }
  2962:       }
  2963:     }
  2964:     return sb;
  2965:   }  //disProgramHex8
  2966: 
  2967: 
  2968:   //sb = disDisassemble (sb, address, supervisor)
  2969:   //sb = disDisassemble (sb, address, supervisor, head, tail, mode)
  2970:   //  1命令逆アセンブルする
  2971:   public static StringBuilder disDisassemble (StringBuilder sb, int address, int supervisor) {
  2972:     return disDisassemble (sb, address, supervisor, 0, 0, 0);
  2973:   }
  2974:   public static StringBuilder disDisassemble (StringBuilder sb, int address, int supervisor, int head, int tail, int mode) {
  2975:     disPC = address;
  2976:     disSupervisor = supervisor;
  2977:     disProgramHead = head;
  2978:     disProgramTail = tail;
  2979:     disProgramMode = mode;
  2980:     disStatus = 0;
  2981:     disPC0 = disPC;
  2982:     disOC = MC68060.mmuPeekWordZeroCode (disPC, disSupervisor);  //第1オペコード。必ずゼロ拡張すること
  2983:     disPC += 2;
  2984:     switch (disOC >>> 6) {  //第1オペコードの上位10ビット。disOCはゼロ拡張されているので0b1111_111_111&を省略
  2985: 
  2986:       //                                     PRIVILEGED?|CCin |CCout|ADDRESSING|
  2987:       //                                          MPU | |XNZVC|XNZVC|DAM+-WXZPI|       FORMAT
  2988:       //----------------------------------------------+-+-----+-----+----------+--------------------
  2989:       //ORI.B #<data>,CCR                       012346|-|*****|*****|          |0000_000_000_111_100-{data}
  2990:       //ORI.B #<data>,<ea>                      012346|-|-UUUU|-**00|D M+-WXZ  |0000_000_000_mmm_rrr-{data}
  2991:     case 0b0000_000_000: return disOriByte (sb);
  2992: 
  2993:       //ORI.W #<data>,SR                        012346|P|*****|*****|          |0000_000_001_111_100-{data}
  2994:       //ORI.W #<data>,<ea>                      012346|-|-UUUU|-**00|D M+-WXZ  |0000_000_001_mmm_rrr-{data}
  2995:     case 0b0000_000_001: return disOriWord (sb);
  2996: 
  2997:       //ORI.L #<data>,<ea>                      012346|-|-UUUU|-**00|D M+-WXZ  |0000_000_010_mmm_rrr-{data}
  2998:     case 0b0000_000_010: return disOriLong (sb);
  2999: 
  3000:       //BITREV.L Dr                             ------|-|-----|-----|          |0000_000_011_000_rrr    (ISA_C)
  3001:       //CMP2.B <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_000_011_mmm_rrr-rnnn_000_000_000_000
  3002:       //CHK2.B <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_000_011_mmm_rrr-rnnn_100_000_000_000
  3003:     case 0b0000_000_011: return disCmp2Chk2Byte (sb);
  3004: 
  3005:       //ANDI.B #<data>,CCR                      012346|-|*****|*****|          |0000_001_000_111_100-{data}
  3006:       //ANDI.B #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_001_000_mmm_rrr-{data}
  3007:     case 0b0000_001_000: return disAndiByte (sb);
  3008: 
  3009:       //ANDI.W #<data>,SR                       012346|P|*****|*****|          |0000_001_001_111_100-{data}
  3010:       //ANDI.W #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_001_001_mmm_rrr-{data}
  3011:     case 0b0000_001_001: return disAndiWord (sb);
  3012: 
  3013:       //ANDI.L #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_001_010_mmm_rrr-{data}
  3014:     case 0b0000_001_010: return disAndiLong (sb);
  3015: 
  3016:       //BYTEREV.L Dr                            ------|-|-----|-----|          |0000_001_011_000_rrr    (ISA_C)
  3017:       //CMP2.W <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_001_011_mmm_rrr-rnnn_000_000_000_000
  3018:       //CHK2.W <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_001_011_mmm_rrr-rnnn_100_000_000_000
  3019:     case 0b0000_001_011: return disCmp2Chk2Word (sb);
  3020: 
  3021:       //SUBI.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_010_000_mmm_rrr-{data}
  3022:     case 0b0000_010_000: return disSubiByte (sb);
  3023: 
  3024:       //SUBI.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_010_001_mmm_rrr-{data}
  3025:     case 0b0000_010_001: return disSubiWord (sb);
  3026: 
  3027:       //SUBI.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_010_010_mmm_rrr-{data}
  3028:     case 0b0000_010_010: return disSubiLong (sb);
  3029: 
  3030:       //FF1.L Dr                                ------|-|-UUUU|-**00|          |0000_010_011_000_rrr    (ISA_C)
  3031:       //CMP2.L <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_010_011_mmm_rrr-rnnn_000_000_000_000
  3032:       //CHK2.L <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_010_011_mmm_rrr-rnnn_100_000_000_000
  3033:     case 0b0000_010_011: return disCmp2Chk2Long (sb);
  3034: 
  3035:       //ADDI.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_011_000_mmm_rrr-{data}
  3036:     case 0b0000_011_000: return disAddiByte (sb);
  3037: 
  3038:       //ADDI.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_011_001_mmm_rrr-{data}
  3039:     case 0b0000_011_001: return disAddiWord (sb);
  3040: 
  3041:       //ADDI.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_011_010_mmm_rrr-{data}
  3042:     case 0b0000_011_010: return disAddiLong (sb);
  3043: 
  3044:       //RTM Rn                                  --2---|-|UUUUU|*****|          |0000_011_011_00n_nnn
  3045:       //CALLM #<data>,<ea>                      --2---|-|-----|-----|  M  WXZP |0000_011_011_mmm_rrr-0000_000_0dd_ddd_ddd
  3046:     case 0b0000_011_011: return disCallm (sb);
  3047: 
  3048:       //BTST.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_000_000_rrr-{data}
  3049:       //BTST.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZP |0000_100_000_mmm_rrr-{data}
  3050:     case 0b0000_100_000: return disBtstImm (sb);
  3051: 
  3052:       //BCHG.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_001_000_rrr-{data}
  3053:       //BCHG.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZ  |0000_100_001_mmm_rrr-{data}
  3054:     case 0b0000_100_001: return disBchgImm (sb);
  3055: 
  3056:       //BCLR.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_010_000_rrr-{data}
  3057:       //BCLR.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZ  |0000_100_010_mmm_rrr-{data}
  3058:     case 0b0000_100_010: return disBclrImm (sb);
  3059: 
  3060:       //BSET.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_011_000_rrr-{data}
  3061:       //BSET.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZ  |0000_100_011_mmm_rrr-{data}
  3062:     case 0b0000_100_011: return disBsetImm (sb);
  3063: 
  3064:       //EORI.B #<data>,CCR                      012346|-|*****|*****|          |0000_101_000_111_100-{data}
  3065:       //EORI.B #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_101_000_mmm_rrr-{data}
  3066:     case 0b0000_101_000: return disEoriByte (sb);
  3067: 
  3068:       //EORI.W #<data>,SR                       012346|P|*****|*****|          |0000_101_001_111_100-{data}
  3069:       //EORI.W #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_101_001_mmm_rrr-{data}
  3070:     case 0b0000_101_001: return disEoriWord (sb);
  3071: 
  3072:       //EORI.L #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_101_010_mmm_rrr-{data}
  3073:     case 0b0000_101_010: return disEoriLong (sb);
  3074: 
  3075:       //CAS.B Dc,Du,<ea>                        --2346|-|-UUUU|-****|  M+-WXZ  |0000_101_011_mmm_rrr-0000_000_uuu_000_ccc
  3076:     case 0b0000_101_011: return disCasByte (sb);
  3077: 
  3078:       //CMPI.B #<data>,<ea>                     012346|-|-UUUU|-****|D M+-WXZ  |0000_110_000_mmm_rrr-{data}
  3079:       //CMPI.B #<data>,<ea>                     --2346|-|-UUUU|-****|        P |0000_110_000_mmm_rrr-{data}
  3080:     case 0b0000_110_000: return disCmpiByte (sb);
  3081: 
  3082:       //CMPI.W #<data>,<ea>                     012346|-|-UUUU|-****|D M+-WXZ  |0000_110_001_mmm_rrr-{data}
  3083:       //CMPI.W #<data>,<ea>                     --2346|-|-UUUU|-****|        P |0000_110_001_mmm_rrr-{data}
  3084:     case 0b0000_110_001: return disCmpiWord (sb);
  3085: 
  3086:       //CMPI.L #<data>,<ea>                     012346|-|-UUUU|-****|D M+-WXZ  |0000_110_010_mmm_rrr-{data}
  3087:       //CMPI.L #<data>,<ea>                     --2346|-|-UUUU|-****|        P |0000_110_010_mmm_rrr-{data}
  3088:     case 0b0000_110_010: return disCmpiLong (sb);
  3089: 
  3090:       //CAS2.W Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)      --234S|-|-UUUU|-****|          |0000_110_011_111_100-rnnn_000_uuu_000_ccc(1)-rnnn_000_uuu_000_ccc(2)
  3091:       //CAS.W Dc,Du,<ea>                        --2346|-|-UUUU|-****|  M+-WXZ  |0000_110_011_mmm_rrr-0000_000_uuu_000_ccc       (68060 software emulate misaligned <ea>)
  3092:     case 0b0000_110_011: return disCasWord (sb);
  3093: 
  3094:       //MOVES.B <ea>,Rn                         -12346|P|-----|-----|  M+-WXZ  |0000_111_000_mmm_rrr-rnnn_000_000_000_000
  3095:       //MOVES.B Rn,<ea>                         -12346|P|-----|-----|  M+-WXZ  |0000_111_000_mmm_rrr-rnnn_100_000_000_000
  3096:     case 0b0000_111_000: return disMovesByte (sb);
  3097: 
  3098:       //MOVES.W <ea>,Rn                         -12346|P|-----|-----|  M+-WXZ  |0000_111_001_mmm_rrr-rnnn_000_000_000_000
  3099:       //MOVES.W Rn,<ea>                         -12346|P|-----|-----|  M+-WXZ  |0000_111_001_mmm_rrr-rnnn_100_000_000_000
  3100:     case 0b0000_111_001: return disMovesWord (sb);
  3101: 
  3102:       //MOVES.L <ea>,Rn                         -12346|P|-----|-----|  M+-WXZ  |0000_111_010_mmm_rrr-rnnn_000_000_000_000
  3103:       //MOVES.L Rn,<ea>                         -12346|P|-----|-----|  M+-WXZ  |0000_111_010_mmm_rrr-rnnn_100_000_000_000
  3104:     case 0b0000_111_010:  return disMovesLong (sb);
  3105: 
  3106:       //CAS2.L Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)      --234S|-|-UUUU|-****|          |0000_111_011_111_100-rnnn_000_uuu_000_ccc(1)-rnnn_000_uuu_000_ccc(2)
  3107:       //CAS.L Dc,Du,<ea>                        --2346|-|-UUUU|-****|  M+-WXZ  |0000_111_011_mmm_rrr-0000_000_uuu_000_ccc       (68060 software emulate misaligned <ea>)
  3108:     case 0b0000_111_011: return disCasLong (sb);
  3109: 
  3110:       //BTST.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_100_000_rrr
  3111:       //MOVEP.W (d16,Ar),Dq                     01234S|-|-----|-----|          |0000_qqq_100_001_rrr-{data}
  3112:       //BTST.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZPI|0000_qqq_100_mmm_rrr
  3113:     case 0b0000_000_100:
  3114:     case 0b0000_001_100:
  3115:     case 0b0000_010_100:
  3116:     case 0b0000_011_100:
  3117:     case 0b0000_100_100:
  3118:     case 0b0000_101_100:
  3119:     case 0b0000_110_100:
  3120:     case 0b0000_111_100: return disBtstReg (sb);
  3121: 
  3122:       //BCHG.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_101_000_rrr
  3123:       //MOVEP.L (d16,Ar),Dq                     01234S|-|-----|-----|          |0000_qqq_101_001_rrr-{data}
  3124:       //BCHG.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZ  |0000_qqq_101_mmm_rrr
  3125:     case 0b0000_000_101:
  3126:     case 0b0000_001_101:
  3127:     case 0b0000_010_101:
  3128:     case 0b0000_011_101:
  3129:     case 0b0000_100_101:
  3130:     case 0b0000_101_101:
  3131:     case 0b0000_110_101:
  3132:     case 0b0000_111_101: return disBchgReg (sb);
  3133: 
  3134:       //BCLR.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_110_000_rrr
  3135:       //MOVEP.W Dq,(d16,Ar)                     01234S|-|-----|-----|          |0000_qqq_110_001_rrr-{data}
  3136:       //BCLR.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZ  |0000_qqq_110_mmm_rrr
  3137:     case 0b0000_000_110:
  3138:     case 0b0000_001_110:
  3139:     case 0b0000_010_110:
  3140:     case 0b0000_011_110:
  3141:     case 0b0000_100_110:
  3142:     case 0b0000_101_110:
  3143:     case 0b0000_110_110:
  3144:     case 0b0000_111_110: return disBclrReg (sb);
  3145: 
  3146:       //BSET.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_111_000_rrr
  3147:       //MOVEP.L Dq,(d16,Ar)                     01234S|-|-----|-----|          |0000_qqq_111_001_rrr-{data}
  3148:       //BSET.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZ  |0000_qqq_111_mmm_rrr
  3149:     case 0b0000_000_111:
  3150:     case 0b0000_001_111:
  3151:     case 0b0000_010_111:
  3152:     case 0b0000_011_111:
  3153:     case 0b0000_100_111:
  3154:     case 0b0000_101_111:
  3155:     case 0b0000_110_111:
  3156:     case 0b0000_111_111: return disBsetReg (sb);
  3157: 
  3158:       //MOVE.B <ea>,Dq                          012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_000_mmm_rrr
  3159:     case 0b0001_000_000:
  3160:     case 0b0001_001_000:
  3161:     case 0b0001_010_000:
  3162:     case 0b0001_011_000:
  3163:     case 0b0001_100_000:
  3164:     case 0b0001_101_000:
  3165:     case 0b0001_110_000:
  3166:     case 0b0001_111_000: return disMoveToRegByte (sb);
  3167: 
  3168:       //case 0b0001_000_001:
  3169:       //case 0b0001_001_001:
  3170:       //case 0b0001_010_001:
  3171:       //case 0b0001_011_001:
  3172:       //case 0b0001_100_001:
  3173:       //case 0b0001_101_001:
  3174:       //case 0b0001_110_001:
  3175:       //case 0b0001_111_001:
  3176: 
  3177:       //MOVE.B <ea>,<nnnqqq>                    012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_nnn_mmm_rrr        (nnnqqq:M+-WXZ)
  3178:     case 0b0001_000_010:
  3179:     case 0b0001_000_011:
  3180:     case 0b0001_000_100:
  3181:     case 0b0001_000_101:
  3182:     case 0b0001_000_110:
  3183:     case 0b0001_000_111:
  3184:     case 0b0001_001_010:
  3185:     case 0b0001_001_011:
  3186:     case 0b0001_001_100:
  3187:     case 0b0001_001_101:
  3188:     case 0b0001_001_110:
  3189:     case 0b0001_001_111:
  3190:     case 0b0001_010_010:
  3191:     case 0b0001_010_011:
  3192:     case 0b0001_010_100:
  3193:     case 0b0001_010_101:
  3194:     case 0b0001_010_110:
  3195:     case 0b0001_011_010:
  3196:     case 0b0001_011_011:
  3197:     case 0b0001_011_100:
  3198:     case 0b0001_011_101:
  3199:     case 0b0001_011_110:
  3200:     case 0b0001_100_010:
  3201:     case 0b0001_100_011:
  3202:     case 0b0001_100_100:
  3203:     case 0b0001_100_101:
  3204:     case 0b0001_100_110:
  3205:     case 0b0001_101_010:
  3206:     case 0b0001_101_011:
  3207:     case 0b0001_101_100:
  3208:     case 0b0001_101_101:
  3209:     case 0b0001_101_110:
  3210:     case 0b0001_110_010:
  3211:     case 0b0001_110_011:
  3212:     case 0b0001_110_100:
  3213:     case 0b0001_110_101:
  3214:     case 0b0001_110_110:
  3215:     case 0b0001_111_010:
  3216:     case 0b0001_111_011:
  3217:     case 0b0001_111_100:
  3218:     case 0b0001_111_101:
  3219:     case 0b0001_111_110: return disMoveToMemByte (sb);
  3220: 
  3221:       //case 0b0001_010_111:
  3222:       //case 0b0001_011_111:
  3223:       //case 0b0001_100_111:
  3224:       //case 0b0001_101_111:
  3225:       //case 0b0001_110_111:
  3226:       //case 0b0001_111_111:
  3227: 
  3228:       //MOVE.L <ea>,Dq                          012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_000_mmm_rrr
  3229:     case 0b0010_000_000:
  3230:     case 0b0010_001_000:
  3231:     case 0b0010_010_000:
  3232:     case 0b0010_011_000:
  3233:     case 0b0010_100_000:
  3234:     case 0b0010_101_000:
  3235:     case 0b0010_110_000:
  3236:     case 0b0010_111_000: return disMoveToRegLong (sb);
  3237: 
  3238:       //MOVEA.L <ea>,Aq                         012346|-|-----|-----|DAM+-WXZPI|0010_qqq_001_mmm_rrr
  3239:     case 0b0010_000_001:
  3240:     case 0b0010_001_001:
  3241:     case 0b0010_010_001:
  3242:     case 0b0010_011_001:
  3243:     case 0b0010_100_001:
  3244:     case 0b0010_101_001:
  3245:     case 0b0010_110_001:
  3246:     case 0b0010_111_001: return disMoveaLong (sb);
  3247: 
  3248:       //MOVE.L <ea>,<nnnqqq>                    012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_nnn_mmm_rrr        (nnnqqq:M+-WXZ)
  3249:     case 0b0010_000_010:
  3250:     case 0b0010_000_011:
  3251:     case 0b0010_000_100:
  3252:     case 0b0010_000_101:
  3253:     case 0b0010_000_110:
  3254:     case 0b0010_000_111:
  3255:     case 0b0010_001_010:
  3256:     case 0b0010_001_011:
  3257:     case 0b0010_001_100:
  3258:     case 0b0010_001_101:
  3259:     case 0b0010_001_110:
  3260:     case 0b0010_001_111:
  3261:     case 0b0010_010_010:
  3262:     case 0b0010_010_011:
  3263:     case 0b0010_010_100:
  3264:     case 0b0010_010_101:
  3265:     case 0b0010_010_110:
  3266:     case 0b0010_011_010:
  3267:     case 0b0010_011_011:
  3268:     case 0b0010_011_100:
  3269:     case 0b0010_011_101:
  3270:     case 0b0010_011_110:
  3271:     case 0b0010_100_010:
  3272:     case 0b0010_100_011:
  3273:     case 0b0010_100_100:
  3274:     case 0b0010_100_101:
  3275:     case 0b0010_100_110:
  3276:     case 0b0010_101_010:
  3277:     case 0b0010_101_011:
  3278:     case 0b0010_101_100:
  3279:     case 0b0010_101_101:
  3280:     case 0b0010_101_110:
  3281:     case 0b0010_110_010:
  3282:     case 0b0010_110_011:
  3283:     case 0b0010_110_100:
  3284:     case 0b0010_110_101:
  3285:     case 0b0010_110_110:
  3286:     case 0b0010_111_010:
  3287:     case 0b0010_111_011:
  3288:     case 0b0010_111_100:
  3289:     case 0b0010_111_101:
  3290:     case 0b0010_111_110: return disMoveToMemLong (sb);
  3291: 
  3292:       //case 0b0010_010_111:
  3293:       //case 0b0010_011_111:
  3294:       //case 0b0010_100_111:
  3295:       //case 0b0010_101_111:
  3296:       //case 0b0010_110_111:
  3297:       //case 0b0010_111_111:
  3298: 
  3299:       //MOVE.W <ea>,Dq                          012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_000_mmm_rrr
  3300:     case 0b0011_000_000:
  3301:     case 0b0011_001_000:
  3302:     case 0b0011_010_000:
  3303:     case 0b0011_011_000:
  3304:     case 0b0011_100_000:
  3305:     case 0b0011_101_000:
  3306:     case 0b0011_110_000:
  3307:     case 0b0011_111_000: return disMoveToRegWord (sb);
  3308: 
  3309:       //MOVEA.W <ea>,Aq                         012346|-|-----|-----|DAM+-WXZPI|0011_qqq_001_mmm_rrr
  3310:     case 0b0011_000_001:
  3311:     case 0b0011_001_001:
  3312:     case 0b0011_010_001:
  3313:     case 0b0011_011_001:
  3314:     case 0b0011_100_001:
  3315:     case 0b0011_101_001:
  3316:     case 0b0011_110_001:
  3317:     case 0b0011_111_001: return disMoveaWord (sb);
  3318: 
  3319:       //MOVE.W <ea>,<nnnqqq>                    012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_nnn_mmm_rrr        (nnnqqq:M+-WXZ)
  3320:     case 0b0011_000_010:
  3321:     case 0b0011_000_011:
  3322:     case 0b0011_000_100:
  3323:     case 0b0011_000_101:
  3324:     case 0b0011_000_110:
  3325:     case 0b0011_000_111:
  3326:     case 0b0011_001_010:
  3327:     case 0b0011_001_011:
  3328:     case 0b0011_001_100:
  3329:     case 0b0011_001_101:
  3330:     case 0b0011_001_110:
  3331:     case 0b0011_001_111:
  3332:     case 0b0011_010_010:
  3333:     case 0b0011_010_011:
  3334:     case 0b0011_010_100:
  3335:     case 0b0011_010_101:
  3336:     case 0b0011_010_110:
  3337:     case 0b0011_011_010:
  3338:     case 0b0011_011_011:
  3339:     case 0b0011_011_100:
  3340:     case 0b0011_011_101:
  3341:     case 0b0011_011_110:
  3342:     case 0b0011_100_010:
  3343:     case 0b0011_100_011:
  3344:     case 0b0011_100_100:
  3345:     case 0b0011_100_101:
  3346:     case 0b0011_100_110:
  3347:     case 0b0011_101_010:
  3348:     case 0b0011_101_011:
  3349:     case 0b0011_101_100:
  3350:     case 0b0011_101_101:
  3351:     case 0b0011_101_110:
  3352:     case 0b0011_110_010:
  3353:     case 0b0011_110_011:
  3354:     case 0b0011_110_100:
  3355:     case 0b0011_110_101:
  3356:     case 0b0011_110_110:
  3357:     case 0b0011_111_010:
  3358:     case 0b0011_111_011:
  3359:     case 0b0011_111_100:
  3360:     case 0b0011_111_101:
  3361:     case 0b0011_111_110: return disMoveToMemWord (sb);
  3362: 
  3363:       //case 0b0011_010_111:
  3364:       //case 0b0011_011_111:
  3365:       //case 0b0011_100_111:
  3366:       //case 0b0011_101_111:
  3367:       //case 0b0011_110_111:
  3368:       //case 0b0011_111_111:
  3369: 
  3370:       //NEGX.B <ea>                             012346|-|*UUUU|*****|D M+-WXZ  |0100_000_000_mmm_rrr
  3371:     case 0b0100_000_000: return disNegxByte (sb);
  3372: 
  3373:       //NEGX.W <ea>                             012346|-|*UUUU|*****|D M+-WXZ  |0100_000_001_mmm_rrr
  3374:     case 0b0100_000_001: return disNegxWord (sb);
  3375: 
  3376:       //NEGX.L <ea>                             012346|-|*UUUU|*****|D M+-WXZ  |0100_000_010_mmm_rrr
  3377:     case 0b0100_000_010: return disNegxLong (sb);
  3378: 
  3379:       //STRLDSR.W #<data>                       ------|P|*****|*****|          |0100_000_011_100_111-0100_011_011_111_100-{data}    (ISA_C)
  3380:       //MOVE.W SR,<ea>                          0-----|-|*****|-----|D M+-WXZ  |0100_000_011_mmm_rrr        (68000 and 68008 read before move)
  3381:       //MOVE.W SR,<ea>                          -12346|P|*****|-----|D M+-WXZ  |0100_000_011_mmm_rrr
  3382:     case 0b0100_000_011: return disMoveFromSR (sb);
  3383: 
  3384:       //CLR.B <ea>                              012346|-|-UUUU|-0100|D M+-WXZ  |0100_001_000_mmm_rrr        (68000 and 68008 read before clear)
  3385:     case 0b0100_001_000: return disClrByte (sb);
  3386: 
  3387:       //CLR.W <ea>                              012346|-|-UUUU|-0100|D M+-WXZ  |0100_001_001_mmm_rrr        (68000 and 68008 read before clear)
  3388:     case 0b0100_001_001: return disClrWord (sb);
  3389: 
  3390:       //CLR.L <ea>                              012346|-|-UUUU|-0100|D M+-WXZ  |0100_001_010_mmm_rrr        (68000 and 68008 read before clear)
  3391:     case 0b0100_001_010: return disClrLong (sb);
  3392: 
  3393:       //MOVE.W CCR,<ea>                         -12346|-|*****|-----|D M+-WXZ  |0100_001_011_mmm_rrr
  3394:     case 0b0100_001_011: return disMoveFromCCR (sb);
  3395: 
  3396:       //NEG.B <ea>                              012346|-|UUUUU|*****|D M+-WXZ  |0100_010_000_mmm_rrr
  3397:     case 0b0100_010_000: return disNegByte (sb);
  3398: 
  3399:       //NEG.W <ea>                              012346|-|UUUUU|*****|D M+-WXZ  |0100_010_001_mmm_rrr
  3400:     case 0b0100_010_001: return disNegWord (sb);
  3401: 
  3402:       //NEG.L <ea>                              012346|-|UUUUU|*****|D M+-WXZ  |0100_010_010_mmm_rrr
  3403:     case 0b0100_010_010: return disNegLong (sb);
  3404: 
  3405:       //MOVE.W <ea>,CCR                         012346|-|UUUUU|*****|D M+-WXZPI|0100_010_011_mmm_rrr
  3406:     case 0b0100_010_011: return disMoveToCCR (sb);
  3407: 
  3408:       //NOT.B <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_011_000_mmm_rrr
  3409:     case 0b0100_011_000: return disNotByte (sb);
  3410: 
  3411:       //NOT.W <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_011_001_mmm_rrr
  3412:     case 0b0100_011_001: return disNotWord (sb);
  3413: 
  3414:       //NOT.L <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_011_010_mmm_rrr
  3415:     case 0b0100_011_010: return disNotLong (sb);
  3416: 
  3417:       //MOVE.W <ea>,SR                          012346|P|UUUUU|*****|D M+-WXZPI|0100_011_011_mmm_rrr
  3418:     case 0b0100_011_011: return disMoveToSR (sb);
  3419: 
  3420:       //LINK.L Ar,#<data>                       --2346|-|-----|-----|          |0100_100_000_001_rrr-{data}
  3421:       //NBCD.B <ea>                             012346|-|UUUUU|*U*U*|D M+-WXZ  |0100_100_000_mmm_rrr
  3422:     case 0b0100_100_000: return disNbcd (sb);
  3423: 
  3424:       //SWAP.W Dr                               012346|-|-UUUU|-**00|          |0100_100_001_000_rrr
  3425:       //BKPT #<data>                            -12346|-|-----|-----|          |0100_100_001_001_ddd
  3426:       //PEA.L <ea>                              012346|-|-----|-----|  M  WXZP |0100_100_001_mmm_rrr
  3427:     case 0b0100_100_001: return disPea (sb);
  3428: 
  3429:       //EXT.W Dr                                012346|-|-UUUU|-**00|          |0100_100_010_000_rrr
  3430:       //MOVEM.W <list>,<ea>                     012346|-|-----|-----|  M -WXZ  |0100_100_010_mmm_rrr-llllllllllllllll
  3431:     case 0b0100_100_010: return disMovemToMemWord (sb);
  3432: 
  3433:       //EXT.L Dr                                012346|-|-UUUU|-**00|          |0100_100_011_000_rrr
  3434:       //MOVEM.L <list>,<ea>                     012346|-|-----|-----|  M -WXZ  |0100_100_011_mmm_rrr-llllllllllllllll
  3435:     case 0b0100_100_011: return disMovemToMemLong (sb);
  3436: 
  3437:       //TST.B <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_000_mmm_rrr
  3438:       //TST.B <ea>                              --2346|-|-UUUU|-**00|        PI|0100_101_000_mmm_rrr
  3439:     case 0b0100_101_000: return disTstByte (sb);
  3440: 
  3441:       //TST.W <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_001_mmm_rrr
  3442:       //TST.W <ea>                              --2346|-|-UUUU|-**00| A      PI|0100_101_001_mmm_rrr
  3443:     case 0b0100_101_001: return disTstWord (sb);
  3444: 
  3445:       //TST.L <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_010_mmm_rrr
  3446:       //TST.L <ea>                              --2346|-|-UUUU|-**00| A      PI|0100_101_010_mmm_rrr
  3447:     case 0b0100_101_010: return disTstLong (sb);
  3448: 
  3449:       //HALT                                    ------|P|-----|-----|          |0100_101_011_001_000    (ISA_A)
  3450:       //PULSE                                   ------|-|-----|-----|          |0100_101_011_001_100    (ISA_A)
  3451:       //ILLEGAL                                 012346|-|-----|-----|          |0100_101_011_111_100
  3452:       //TAS.B <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_011_mmm_rrr
  3453:     case 0b0100_101_011: return disTas (sb);
  3454: 
  3455:       //MULU.L <ea>,Dl                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_000_000_000_hhh       (h is not used)
  3456:       //MULU.L <ea>,Dh:Dl                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_010_000_000_hhh       (if h=l then result is not defined)
  3457:       //MULS.L <ea>,Dl                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_100_000_000_hhh       (h is not used)
  3458:       //MULS.L <ea>,Dh:Dl                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_110_000_000_hhh       (if h=l then result is not defined)
  3459:     case 0b0100_110_000: return disMuluMulsLong (sb);
  3460: 
  3461:       //DIVU.L <ea>,Dq                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_000_000_000_qqq
  3462:       //DIVUL.L <ea>,Dr:Dq                      --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_000_000_000_rrr       (q is not equal to r)
  3463:       //REMU.L <ea>,Dr:Dq                       ------|-|-UUUU|-***0|D M+-W    |0100_110_001_mmm_rrr-0qqq_000_000_000_rrr       (ISA_A, q is not equal to r)
  3464:       //DIVU.L <ea>,Dr:Dq                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_010_000_000_rrr       (q is not equal to r)
  3465:       //DIVS.L <ea>,Dq                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_100_000_000_qqq
  3466:       //DIVSL.L <ea>,Dr:Dq                      --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_100_000_000_rrr       (q is not equal to r)
  3467:       //REMS.L <ea>,Dr:Dq                       ------|-|-UUUU|-***0|D M+-W    |0100_110_001_mmm_rrr-0qqq_100_000_000_rrr       (ISA_A, q is not equal to r)
  3468:       //DIVS.L <ea>,Dr:Dq                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_110_000_000_rrr       (q is not equal to r)
  3469:     case 0b0100_110_001: return disDivuDivsLong (sb);
  3470: 
  3471:       //SATS.L Dr                               ------|-|-UUUU|-**00|          |0100_110_010_000_rrr    (ISA_B)
  3472:       //MOVEM.W <ea>,<list>                     012346|-|-----|-----|  M+ WXZP |0100_110_010_mmm_rrr-llllllllllllllll
  3473:     case 0b0100_110_010: return disMovemToRegWord (sb);
  3474: 
  3475:       //MOVEM.L <ea>,<list>                     012346|-|-----|-----|  M+ WXZP |0100_110_011_mmm_rrr-llllllllllllllll
  3476:     case 0b0100_110_011: return disMovemToRegLong (sb);
  3477: 
  3478:       //HFSBOOT                                 012346|-|-----|-----|          |0100_111_000_000_000
  3479:       //HFSINST                                 012346|-|-----|-----|          |0100_111_000_000_001
  3480:       //HFSSTR                                  012346|-|-----|-----|          |0100_111_000_000_010
  3481:       //HFSINT                                  012346|-|-----|-----|          |0100_111_000_000_011
  3482:       //EMXNOP                                  012346|-|-----|-----|          |0100_111_000_000_100
  3483:     case 0b0100_111_000: return disEmx (sb);
  3484: 
  3485:       //TRAP #<vector>                          012346|-|-----|-----|          |0100_111_001_00v_vvv
  3486:       //LINK.W Ar,#<data>                       012346|-|-----|-----|          |0100_111_001_010_rrr-{data}
  3487:       //UNLK Ar                                 012346|-|-----|-----|          |0100_111_001_011_rrr
  3488:       //MOVE.L Ar,USP                           012346|P|-----|-----|          |0100_111_001_100_rrr
  3489:       //MOVE.L USP,Ar                           012346|P|-----|-----|          |0100_111_001_101_rrr
  3490:       //RESET                                   012346|P|-----|-----|          |0100_111_001_110_000
  3491:       //NOP                                     012346|-|-----|-----|          |0100_111_001_110_001
  3492:       //STOP #<data>                            012346|P|UUUUU|*****|          |0100_111_001_110_010-{data}
  3493:       //RTE                                     012346|P|UUUUU|*****|          |0100_111_001_110_011
  3494:       //RTD #<data>                             -12346|-|-----|-----|          |0100_111_001_110_100-{data}
  3495:       //RTS                                     012346|-|-----|-----|          |0100_111_001_110_101
  3496:       //TRAPV                                   012346|-|---*-|-----|          |0100_111_001_110_110
  3497:       //RTR                                     012346|-|UUUUU|*****|          |0100_111_001_110_111
  3498:       //MOVEC.L Rc,Rn                           -12346|P|-----|-----|          |0100_111_001_111_010-rnnn_ccc_ccc_ccc_ccc
  3499:       //MOVEC.L Rn,Rc                           -12346|P|-----|-----|          |0100_111_001_111_011-rnnn_ccc_ccc_ccc_ccc
  3500:     case 0b0100_111_001: return disMisc (sb);
  3501: 
  3502:       //JSR <ea>                                012346|-|-----|-----|  M  WXZP |0100_111_010_mmm_rrr
  3503:     case 0b0100_111_010: return disJsr (sb);
  3504: 
  3505:       //JMP <ea>                                012346|-|-----|-----|  M  WXZP |0100_111_011_mmm_rrr
  3506:     case 0b0100_111_011: return disJmp (sb);
  3507: 
  3508:       //CHK.L <ea>,Dq                           --2346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_100_mmm_rrr
  3509:     case 0b0100_000_100:
  3510:     case 0b0100_001_100:
  3511:     case 0b0100_010_100:
  3512:     case 0b0100_011_100:
  3513:     case 0b0100_100_100:
  3514:     case 0b0100_101_100:
  3515:     case 0b0100_110_100:
  3516:     case 0b0100_111_100: return disChkLong (sb);
  3517: 
  3518:       //case 0b0100_000_101:
  3519:       //case 0b0100_001_101:
  3520:       //case 0b0100_010_101:
  3521:       //case 0b0100_011_101:
  3522:       //case 0b0100_100_101:
  3523:       //case 0b0100_101_101:
  3524:       //case 0b0100_110_101:
  3525:       //case 0b0100_111_101:
  3526: 
  3527:       //CHK.W <ea>,Dq                           012346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_110_mmm_rrr
  3528:     case 0b0100_000_110:
  3529:     case 0b0100_001_110:
  3530:     case 0b0100_010_110:
  3531:     case 0b0100_011_110:
  3532:     case 0b0100_100_110:
  3533:     case 0b0100_101_110:
  3534:     case 0b0100_110_110:
  3535:     case 0b0100_111_110: return disChkWord (sb);
  3536: 
  3537:       //EXTB.L Dr                               --2346|-|-UUUU|-**00|          |0100_100_111_000_rrr
  3538:       //LEA.L <ea>,Aq                           012346|-|-----|-----|  M  WXZP |0100_qqq_111_mmm_rrr
  3539:     case 0b0100_000_111:
  3540:     case 0b0100_001_111:
  3541:     case 0b0100_010_111:
  3542:     case 0b0100_011_111:
  3543:     case 0b0100_100_111:
  3544:     case 0b0100_101_111:
  3545:     case 0b0100_110_111:
  3546:     case 0b0100_111_111: return disLea (sb);
  3547: 
  3548:       //ADDQ.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_000_mmm_rrr
  3549:     case 0b0101_000_000:
  3550:     case 0b0101_001_000:
  3551:     case 0b0101_010_000:
  3552:     case 0b0101_011_000:
  3553:     case 0b0101_100_000:
  3554:     case 0b0101_101_000:
  3555:     case 0b0101_110_000:
  3556:     case 0b0101_111_000: return disAddqByte (sb);
  3557: 
  3558:       //ADDQ.W #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_001_001_rrr
  3559:       //ADDQ.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_001_mmm_rrr
  3560:     case 0b0101_000_001:
  3561:     case 0b0101_001_001:
  3562:     case 0b0101_010_001:
  3563:     case 0b0101_011_001:
  3564:     case 0b0101_100_001:
  3565:     case 0b0101_101_001:
  3566:     case 0b0101_110_001:
  3567:     case 0b0101_111_001: return disAddqWord (sb);
  3568: 
  3569:       //ADDQ.L #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_010_001_rrr
  3570:       //ADDQ.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_010_mmm_rrr
  3571:     case 0b0101_000_010:
  3572:     case 0b0101_001_010:
  3573:     case 0b0101_010_010:
  3574:     case 0b0101_011_010:
  3575:     case 0b0101_100_010:
  3576:     case 0b0101_101_010:
  3577:     case 0b0101_110_010:
  3578:     case 0b0101_111_010: return disAddqLong (sb);
  3579: 
  3580:       //SUBQ.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_100_mmm_rrr
  3581:     case 0b0101_000_100:
  3582:     case 0b0101_001_100:
  3583:     case 0b0101_010_100:
  3584:     case 0b0101_011_100:
  3585:     case 0b0101_100_100:
  3586:     case 0b0101_101_100:
  3587:     case 0b0101_110_100:
  3588:     case 0b0101_111_100: return disSubqByte (sb);
  3589: 
  3590:       //SUBQ.W #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_101_001_rrr
  3591:       //SUBQ.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_101_mmm_rrr
  3592:     case 0b0101_000_101:
  3593:     case 0b0101_001_101:
  3594:     case 0b0101_010_101:
  3595:     case 0b0101_011_101:
  3596:     case 0b0101_100_101:
  3597:     case 0b0101_101_101:
  3598:     case 0b0101_110_101:
  3599:     case 0b0101_111_101: return disSubqWord (sb);
  3600: 
  3601:       //SUBQ.L #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_110_001_rrr
  3602:       //SUBQ.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_110_mmm_rrr
  3603:     case 0b0101_000_110:
  3604:     case 0b0101_001_110:
  3605:     case 0b0101_010_110:
  3606:     case 0b0101_011_110:
  3607:     case 0b0101_100_110:
  3608:     case 0b0101_101_110:
  3609:     case 0b0101_110_110:
  3610:     case 0b0101_111_110: return disSubqLong (sb);
  3611: 
  3612:       //DBRA.W Dr,<label>                       012346|-|-----|-----|          |0101_000_111_001_rrr-{offset}
  3613:       //DBcc.W Dr,<label>                       012346|-|-****|-----|          |0101_ccc_c11_001_rrr-{offset}
  3614:       //TRAPcc.W #<data>                        --2346|-|-****|-----|          |0101_ccc_c11_111_010-{data}
  3615:       //TRAPcc.L #<data>                        --2346|-|-****|-----|          |0101_ccc_c11_111_011-{data}
  3616:       //TRAPcc                                  --2346|-|-****|-----|          |0101_ccc_c11_111_100
  3617:       //Scc.B <ea>                              012346|-|-****|-----|D M+-WXZ  |0101_ccc_c11_mmm_rrr
  3618:     case 0b0101_000_011:
  3619:     case 0b0101_000_111:
  3620:     case 0b0101_001_011:
  3621:     case 0b0101_001_111:
  3622:     case 0b0101_010_011:
  3623:     case 0b0101_010_111:
  3624:     case 0b0101_011_011:
  3625:     case 0b0101_011_111:
  3626:     case 0b0101_100_011:
  3627:     case 0b0101_100_111:
  3628:     case 0b0101_101_011:
  3629:     case 0b0101_101_111:
  3630:     case 0b0101_110_011:
  3631:     case 0b0101_110_111:
  3632:     case 0b0101_111_011:
  3633:     case 0b0101_111_111: return disScc (sb);
  3634: 
  3635:       //BRA.W <label>                           012346|-|-----|-----|          |0110_000_000_000_000-{offset}
  3636:       //BRA.L <label>                           --2346|-|-----|-----|          |0110_000_011_111_111-{offset}
  3637:       //BRA.S <label>                           012346|-|-----|-----|          |0110_000_0aa_aaa_aaa        (a is not equal to 0,-1)
  3638:     case 0b0110_000_000:
  3639:     case 0b0110_000_001:
  3640:     case 0b0110_000_010:
  3641:     case 0b0110_000_011: return disBra (sb);
  3642: 
  3643:       //BSR.W <label>                           012346|-|-----|-----|          |0110_000_100_000_000-{offset}
  3644:       //BSR.L <label>                           --2346|-|-----|-----|          |0110_000_111_111_111-{offset}
  3645:       //BSR.S <label>                           012346|-|-----|-----|          |0110_000_1aa_aaa_aaa        (a is not equal to 0,-1)
  3646:     case 0b0110_000_100:
  3647:     case 0b0110_000_101:
  3648:     case 0b0110_000_110:
  3649:     case 0b0110_000_111: return disBsr (sb);
  3650: 
  3651:       //Bcc.W <label>                           012346|-|-****|-----|          |0110_ccc_c00_000_000-{offset}
  3652:       //Bcc.L <label>                           --2346|-|-****|-----|          |0110_ccc_c11_111_111-{offset}
  3653:       //Bcc.S <label>                           012346|-|-****|-----|          |0110_ccc_caa_aaa_aaa        (a is not equal to 0,-1)
  3654:     case 0b0110_001_000:
  3655:     case 0b0110_001_001:
  3656:     case 0b0110_001_010:
  3657:     case 0b0110_001_011:
  3658:     case 0b0110_001_100:
  3659:     case 0b0110_001_101:
  3660:     case 0b0110_001_110:
  3661:     case 0b0110_001_111:
  3662:     case 0b0110_010_000:
  3663:     case 0b0110_010_001:
  3664:     case 0b0110_010_010:
  3665:     case 0b0110_010_011:
  3666:     case 0b0110_010_100:
  3667:     case 0b0110_010_101:
  3668:     case 0b0110_010_110:
  3669:     case 0b0110_010_111:
  3670:     case 0b0110_011_000:
  3671:     case 0b0110_011_001:
  3672:     case 0b0110_011_010:
  3673:     case 0b0110_011_011:
  3674:     case 0b0110_011_100:
  3675:     case 0b0110_011_101:
  3676:     case 0b0110_011_110:
  3677:     case 0b0110_011_111:
  3678:     case 0b0110_100_000:
  3679:     case 0b0110_100_001:
  3680:     case 0b0110_100_010:
  3681:     case 0b0110_100_011:
  3682:     case 0b0110_100_100:
  3683:     case 0b0110_100_101:
  3684:     case 0b0110_100_110:
  3685:     case 0b0110_100_111:
  3686:     case 0b0110_101_000:
  3687:     case 0b0110_101_001:
  3688:     case 0b0110_101_010:
  3689:     case 0b0110_101_011:
  3690:     case 0b0110_101_100:
  3691:     case 0b0110_101_101:
  3692:     case 0b0110_101_110:
  3693:     case 0b0110_101_111:
  3694:     case 0b0110_110_000:
  3695:     case 0b0110_110_001:
  3696:     case 0b0110_110_010:
  3697:     case 0b0110_110_011:
  3698:     case 0b0110_110_100:
  3699:     case 0b0110_110_101:
  3700:     case 0b0110_110_110:
  3701:     case 0b0110_110_111:
  3702:     case 0b0110_111_000:
  3703:     case 0b0110_111_001:
  3704:     case 0b0110_111_010:
  3705:     case 0b0110_111_011:
  3706:     case 0b0110_111_100:
  3707:     case 0b0110_111_101:
  3708:     case 0b0110_111_110:
  3709:     case 0b0110_111_111: return disBcc (sb);
  3710: 
  3711:       //IOCS <name>                             012346|-|-UUUU|-**00|          |0111_000_0dd_ddd_ddd-0100_111_001_001_111
  3712:       //MOVEQ.L #<data>,Dq                      012346|-|-UUUU|-**00|          |0111_qqq_0dd_ddd_ddd
  3713:     case 0b0111_000_000:
  3714:     case 0b0111_000_001:
  3715:     case 0b0111_000_010:
  3716:     case 0b0111_000_011:
  3717:     case 0b0111_001_000:
  3718:     case 0b0111_001_001:
  3719:     case 0b0111_001_010:
  3720:     case 0b0111_001_011:
  3721:     case 0b0111_010_000:
  3722:     case 0b0111_010_001:
  3723:     case 0b0111_010_010:
  3724:     case 0b0111_010_011:
  3725:     case 0b0111_011_000:
  3726:     case 0b0111_011_001:
  3727:     case 0b0111_011_010:
  3728:     case 0b0111_011_011:
  3729:     case 0b0111_100_000:
  3730:     case 0b0111_100_001:
  3731:     case 0b0111_100_010:
  3732:     case 0b0111_100_011:
  3733:     case 0b0111_101_000:
  3734:     case 0b0111_101_001:
  3735:     case 0b0111_101_010:
  3736:     case 0b0111_101_011:
  3737:     case 0b0111_110_000:
  3738:     case 0b0111_110_001:
  3739:     case 0b0111_110_010:
  3740:     case 0b0111_110_011:
  3741:     case 0b0111_111_000:
  3742:     case 0b0111_111_001:
  3743:     case 0b0111_111_010:
  3744:     case 0b0111_111_011: return disMoveq (sb);
  3745: 
  3746:       //MVS.B <ea>,Dq                           ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_100_mmm_rrr    (ISA_B)
  3747:     case 0b0111_000_100:
  3748:     case 0b0111_001_100:
  3749:     case 0b0111_010_100:
  3750:     case 0b0111_011_100:
  3751:     case 0b0111_100_100:
  3752:     case 0b0111_101_100:
  3753:     case 0b0111_110_100:
  3754:     case 0b0111_111_100: return disMvsByte (sb);
  3755: 
  3756:       //MVS.W <ea>,Dq                           ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_101_mmm_rrr    (ISA_B)
  3757:     case 0b0111_000_101:
  3758:     case 0b0111_001_101:
  3759:     case 0b0111_010_101:
  3760:     case 0b0111_011_101:
  3761:     case 0b0111_100_101:
  3762:     case 0b0111_101_101:
  3763:     case 0b0111_110_101:
  3764:     case 0b0111_111_101: return disMvsWord (sb);
  3765: 
  3766:       //MVZ.B <ea>,Dq                           ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_110_mmm_rrr    (ISA_B)
  3767:     case 0b0111_000_110:
  3768:     case 0b0111_001_110:
  3769:     case 0b0111_010_110:
  3770:     case 0b0111_011_110:
  3771:     case 0b0111_100_110:
  3772:     case 0b0111_101_110:
  3773:     case 0b0111_110_110:
  3774:     case 0b0111_111_110: return disMvzByte (sb);
  3775: 
  3776:       //MVZ.W <ea>,Dq                           ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_111_mmm_rrr    (ISA_B)
  3777:     case 0b0111_000_111:
  3778:     case 0b0111_001_111:
  3779:     case 0b0111_010_111:
  3780:     case 0b0111_011_111:
  3781:     case 0b0111_100_111:
  3782:     case 0b0111_101_111:
  3783:     case 0b0111_110_111:
  3784:     case 0b0111_111_111: return disMvzWord (sb);
  3785: 
  3786:       //OR.B <ea>,Dq                            012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_000_mmm_rrr
  3787:     case 0b1000_000_000:
  3788:     case 0b1000_001_000:
  3789:     case 0b1000_010_000:
  3790:     case 0b1000_011_000:
  3791:     case 0b1000_100_000:
  3792:     case 0b1000_101_000:
  3793:     case 0b1000_110_000:
  3794:     case 0b1000_111_000: return disOrToRegByte (sb);
  3795: 
  3796:       //OR.W <ea>,Dq                            012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_001_mmm_rrr
  3797:     case 0b1000_000_001:
  3798:     case 0b1000_001_001:
  3799:     case 0b1000_010_001:
  3800:     case 0b1000_011_001:
  3801:     case 0b1000_100_001:
  3802:     case 0b1000_101_001:
  3803:     case 0b1000_110_001:
  3804:     case 0b1000_111_001: return disOrToRegWord (sb);
  3805: 
  3806:       //OR.L <ea>,Dq                            012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_010_mmm_rrr
  3807:     case 0b1000_000_010:
  3808:     case 0b1000_001_010:
  3809:     case 0b1000_010_010:
  3810:     case 0b1000_011_010:
  3811:     case 0b1000_100_010:
  3812:     case 0b1000_101_010:
  3813:     case 0b1000_110_010:
  3814:     case 0b1000_111_010: return disOrToRegLong (sb);
  3815: 
  3816:       //DIVU.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_011_mmm_rrr
  3817:     case 0b1000_000_011:
  3818:     case 0b1000_001_011:
  3819:     case 0b1000_010_011:
  3820:     case 0b1000_011_011:
  3821:     case 0b1000_100_011:
  3822:     case 0b1000_101_011:
  3823:     case 0b1000_110_011:
  3824:     case 0b1000_111_011: return disDivuWord (sb);
  3825: 
  3826:       //SBCD.B Dr,Dq                            012346|-|UUUUU|*U*U*|          |1000_qqq_100_000_rrr
  3827:       //SBCD.B -(Ar),-(Aq)                      012346|-|UUUUU|*U*U*|          |1000_qqq_100_001_rrr
  3828:       //OR.B Dq,<ea>                            012346|-|-UUUU|-**00|  M+-WXZ  |1000_qqq_100_mmm_rrr
  3829:     case 0b1000_000_100:
  3830:     case 0b1000_001_100:
  3831:     case 0b1000_010_100:
  3832:     case 0b1000_011_100:
  3833:     case 0b1000_100_100:
  3834:     case 0b1000_101_100:
  3835:     case 0b1000_110_100:
  3836:     case 0b1000_111_100: return disOrToMemByte (sb);
  3837: 
  3838:       //PACK Dr,Dq,#<data>                      --2346|-|-----|-----|          |1000_qqq_101_000_rrr-{data}
  3839:       //PACK -(Ar),-(Aq),#<data>                --2346|-|-----|-----|          |1000_qqq_101_001_rrr-{data}
  3840:       //OR.W Dq,<ea>                            012346|-|-UUUU|-**00|  M+-WXZ  |1000_qqq_101_mmm_rrr
  3841:     case 0b1000_000_101:
  3842:     case 0b1000_001_101:
  3843:     case 0b1000_010_101:
  3844:     case 0b1000_011_101:
  3845:     case 0b1000_100_101:
  3846:     case 0b1000_101_101:
  3847:     case 0b1000_110_101:
  3848:     case 0b1000_111_101: return disOrToMemWord (sb);
  3849: 
  3850:       //UNPK Dr,Dq,#<data>                      --2346|-|-----|-----|          |1000_qqq_110_000_rrr-{data}
  3851:       //UNPK -(Ar),-(Aq),#<data>                --2346|-|-----|-----|          |1000_qqq_110_001_rrr-{data}
  3852:       //OR.L Dq,<ea>                            012346|-|-UUUU|-**00|  M+-WXZ  |1000_qqq_110_mmm_rrr
  3853:     case 0b1000_000_110:
  3854:     case 0b1000_001_110:
  3855:     case 0b1000_010_110:
  3856:     case 0b1000_011_110:
  3857:     case 0b1000_100_110:
  3858:     case 0b1000_101_110:
  3859:     case 0b1000_110_110:
  3860:     case 0b1000_111_110: return disOrToMemLong (sb);
  3861: 
  3862:       //DIVS.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_111_mmm_rrr
  3863:     case 0b1000_000_111:
  3864:     case 0b1000_001_111:
  3865:     case 0b1000_010_111:
  3866:     case 0b1000_011_111:
  3867:     case 0b1000_100_111:
  3868:     case 0b1000_101_111:
  3869:     case 0b1000_110_111:
  3870:     case 0b1000_111_111: return disDivsWord (sb);
  3871: 
  3872:       //SUB.B <ea>,Dq                           012346|-|UUUUU|*****|D M+-WXZPI|1001_qqq_000_mmm_rrr
  3873:     case 0b1001_000_000:
  3874:     case 0b1001_001_000:
  3875:     case 0b1001_010_000:
  3876:     case 0b1001_011_000:
  3877:     case 0b1001_100_000:
  3878:     case 0b1001_101_000:
  3879:     case 0b1001_110_000:
  3880:     case 0b1001_111_000: return disSubToRegByte (sb);
  3881: 
  3882:       //SUB.W <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_001_mmm_rrr
  3883:     case 0b1001_000_001:
  3884:     case 0b1001_001_001:
  3885:     case 0b1001_010_001:
  3886:     case 0b1001_011_001:
  3887:     case 0b1001_100_001:
  3888:     case 0b1001_101_001:
  3889:     case 0b1001_110_001:
  3890:     case 0b1001_111_001: return disSubToRegWord (sb);
  3891: 
  3892:       //SUB.L <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_010_mmm_rrr
  3893:     case 0b1001_000_010:
  3894:     case 0b1001_001_010:
  3895:     case 0b1001_010_010:
  3896:     case 0b1001_011_010:
  3897:     case 0b1001_100_010:
  3898:     case 0b1001_101_010:
  3899:     case 0b1001_110_010:
  3900:     case 0b1001_111_010: return disSubToRegLong (sb);
  3901: 
  3902:       //SUBA.W <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1001_qqq_011_mmm_rrr
  3903:     case 0b1001_000_011:
  3904:     case 0b1001_001_011:
  3905:     case 0b1001_010_011:
  3906:     case 0b1001_011_011:
  3907:     case 0b1001_100_011:
  3908:     case 0b1001_101_011:
  3909:     case 0b1001_110_011:
  3910:     case 0b1001_111_011: return disSubaWord (sb);
  3911: 
  3912:       //SUBX.B Dr,Dq                            012346|-|*UUUU|*****|          |1001_qqq_100_000_rrr
  3913:       //SUBX.B -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1001_qqq_100_001_rrr
  3914:       //SUB.B Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1001_qqq_100_mmm_rrr
  3915:     case 0b1001_000_100:
  3916:     case 0b1001_001_100:
  3917:     case 0b1001_010_100:
  3918:     case 0b1001_011_100:
  3919:     case 0b1001_100_100:
  3920:     case 0b1001_101_100:
  3921:     case 0b1001_110_100:
  3922:     case 0b1001_111_100: return disSubToMemByte (sb);
  3923: 
  3924:       //SUBX.W Dr,Dq                            012346|-|*UUUU|*****|          |1001_qqq_101_000_rrr
  3925:       //SUBX.W -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1001_qqq_101_001_rrr
  3926:       //SUB.W Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1001_qqq_101_mmm_rrr
  3927:     case 0b1001_000_101:
  3928:     case 0b1001_001_101:
  3929:     case 0b1001_010_101:
  3930:     case 0b1001_011_101:
  3931:     case 0b1001_100_101:
  3932:     case 0b1001_101_101:
  3933:     case 0b1001_110_101:
  3934:     case 0b1001_111_101: return disSubToMemWord (sb);
  3935: 
  3936:       //SUBX.L Dr,Dq                            012346|-|*UUUU|*****|          |1001_qqq_110_000_rrr
  3937:       //SUBX.L -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1001_qqq_110_001_rrr
  3938:       //SUB.L Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1001_qqq_110_mmm_rrr
  3939:     case 0b1001_000_110:
  3940:     case 0b1001_001_110:
  3941:     case 0b1001_010_110:
  3942:     case 0b1001_011_110:
  3943:     case 0b1001_100_110:
  3944:     case 0b1001_101_110:
  3945:     case 0b1001_110_110:
  3946:     case 0b1001_111_110: return disSubToMemLong (sb);
  3947: 
  3948:       //SUBA.L <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1001_qqq_111_mmm_rrr
  3949:     case 0b1001_000_111:
  3950:     case 0b1001_001_111:
  3951:     case 0b1001_010_111:
  3952:     case 0b1001_011_111:
  3953:     case 0b1001_100_111:
  3954:     case 0b1001_101_111:
  3955:     case 0b1001_110_111:
  3956:     case 0b1001_111_111: return disSubaLong (sb);
  3957: 
  3958:       //MOV3Q.L #<data>,<ea>                    ------|-|-UUUU|-**00|DAM+-WXZ  |1010_qqq_101_mmm_rrr    (ISA_B)
  3959:       //SXCALL <name>                           012346|-|-----|-----|          |1010_xxx_xxx_xxx_xxx
  3960:       //line 1010 emulator                      012346|-|-----|-----|          |1010_xxx_xxx_xxx_xxx
  3961:     case 0b1010_000_000:
  3962:     case 0b1010_000_001:
  3963:     case 0b1010_000_010:
  3964:     case 0b1010_000_011:
  3965:     case 0b1010_000_100:
  3966:     case 0b1010_000_101:
  3967:     case 0b1010_000_110:
  3968:     case 0b1010_000_111:
  3969:     case 0b1010_001_000:
  3970:     case 0b1010_001_001:
  3971:     case 0b1010_001_010:
  3972:     case 0b1010_001_011:
  3973:     case 0b1010_001_100:
  3974:     case 0b1010_001_101:
  3975:     case 0b1010_001_110:
  3976:     case 0b1010_001_111:
  3977:     case 0b1010_010_000:
  3978:     case 0b1010_010_001:
  3979:     case 0b1010_010_010:
  3980:     case 0b1010_010_011:
  3981:     case 0b1010_010_100:
  3982:     case 0b1010_010_101:
  3983:     case 0b1010_010_110:
  3984:     case 0b1010_010_111:
  3985:     case 0b1010_011_000:
  3986:     case 0b1010_011_001:
  3987:     case 0b1010_011_010:
  3988:     case 0b1010_011_011:
  3989:     case 0b1010_011_100:
  3990:     case 0b1010_011_101:
  3991:     case 0b1010_011_110:
  3992:     case 0b1010_011_111:
  3993:     case 0b1010_100_000:
  3994:     case 0b1010_100_001:
  3995:     case 0b1010_100_010:
  3996:     case 0b1010_100_011:
  3997:     case 0b1010_100_100:
  3998:     case 0b1010_100_101:
  3999:     case 0b1010_100_110:
  4000:     case 0b1010_100_111:
  4001:     case 0b1010_101_000:
  4002:     case 0b1010_101_001:
  4003:     case 0b1010_101_010:
  4004:     case 0b1010_101_011:
  4005:     case 0b1010_101_100:
  4006:     case 0b1010_101_101:
  4007:     case 0b1010_101_110:
  4008:     case 0b1010_101_111:
  4009:     case 0b1010_110_000:
  4010:     case 0b1010_110_001:
  4011:     case 0b1010_110_010:
  4012:     case 0b1010_110_011:
  4013:     case 0b1010_110_100:
  4014:     case 0b1010_110_101:
  4015:     case 0b1010_110_110:
  4016:     case 0b1010_110_111:
  4017:     case 0b1010_111_000:
  4018:     case 0b1010_111_001:
  4019:     case 0b1010_111_010:
  4020:     case 0b1010_111_011:
  4021:     case 0b1010_111_100:
  4022:     case 0b1010_111_101:
  4023:     case 0b1010_111_110:
  4024:     case 0b1010_111_111: return disSxcall (sb);
  4025: 
  4026:       //CMP.B <ea>,Dq                           012346|-|-UUUU|-****|D M+-WXZPI|1011_qqq_000_mmm_rrr
  4027:     case 0b1011_000_000:
  4028:     case 0b1011_001_000:
  4029:     case 0b1011_010_000:
  4030:     case 0b1011_011_000:
  4031:     case 0b1011_100_000:
  4032:     case 0b1011_101_000:
  4033:     case 0b1011_110_000:
  4034:     case 0b1011_111_000: return disCmpByte (sb);
  4035: 
  4036:       //CMP.W <ea>,Dq                           012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_001_mmm_rrr
  4037:     case 0b1011_000_001:
  4038:     case 0b1011_001_001:
  4039:     case 0b1011_010_001:
  4040:     case 0b1011_011_001:
  4041:     case 0b1011_100_001:
  4042:     case 0b1011_101_001:
  4043:     case 0b1011_110_001:
  4044:     case 0b1011_111_001: return disCmpWord (sb);
  4045: 
  4046:       //CMP.L <ea>,Dq                           012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_010_mmm_rrr
  4047:     case 0b1011_000_010:
  4048:     case 0b1011_001_010:
  4049:     case 0b1011_010_010:
  4050:     case 0b1011_011_010:
  4051:     case 0b1011_100_010:
  4052:     case 0b1011_101_010:
  4053:     case 0b1011_110_010:
  4054:     case 0b1011_111_010: return disCmpLong (sb);
  4055: 
  4056:       //CMPA.W <ea>,Aq                          012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_011_mmm_rrr
  4057:     case 0b1011_000_011:
  4058:     case 0b1011_001_011:
  4059:     case 0b1011_010_011:
  4060:     case 0b1011_011_011:
  4061:     case 0b1011_100_011:
  4062:     case 0b1011_101_011:
  4063:     case 0b1011_110_011:
  4064:     case 0b1011_111_011: return disCmpaWord (sb);
  4065: 
  4066:       //CMPM.B (Ar)+,(Aq)+                      012346|-|-UUUU|-****|          |1011_qqq_100_001_rrr
  4067:       //EOR.B Dq,<ea>                           012346|-|-UUUU|-**00|D M+-WXZ  |1011_qqq_100_mmm_rrr
  4068:     case 0b1011_000_100:
  4069:     case 0b1011_001_100:
  4070:     case 0b1011_010_100:
  4071:     case 0b1011_011_100:
  4072:     case 0b1011_100_100:
  4073:     case 0b1011_101_100:
  4074:     case 0b1011_110_100:
  4075:     case 0b1011_111_100: return disEorToMemByte (sb);
  4076: 
  4077:       //CMPM.W (Ar)+,(Aq)+                      012346|-|-UUUU|-****|          |1011_qqq_101_001_rrr
  4078:       //EOR.W Dq,<ea>                           012346|-|-UUUU|-**00|D M+-WXZ  |1011_qqq_101_mmm_rrr
  4079:     case 0b1011_000_101:
  4080:     case 0b1011_001_101:
  4081:     case 0b1011_010_101:
  4082:     case 0b1011_011_101:
  4083:     case 0b1011_100_101:
  4084:     case 0b1011_101_101:
  4085:     case 0b1011_110_101:
  4086:     case 0b1011_111_101: return disEorToMemWord (sb);
  4087: 
  4088:       //CMPM.L (Ar)+,(Aq)+                      012346|-|-UUUU|-****|          |1011_qqq_110_001_rrr
  4089:       //EOR.L Dq,<ea>                           012346|-|-UUUU|-**00|D M+-WXZ  |1011_qqq_110_mmm_rrr
  4090:     case 0b1011_000_110:
  4091:     case 0b1011_001_110:
  4092:     case 0b1011_010_110:
  4093:     case 0b1011_011_110:
  4094:     case 0b1011_100_110:
  4095:     case 0b1011_101_110:
  4096:     case 0b1011_110_110:
  4097:     case 0b1011_111_110: return disEorToMemLong (sb);
  4098: 
  4099:       //CMPA.L <ea>,Aq                          012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_111_mmm_rrr
  4100:     case 0b1011_000_111:
  4101:     case 0b1011_001_111:
  4102:     case 0b1011_010_111:
  4103:     case 0b1011_011_111:
  4104:     case 0b1011_100_111:
  4105:     case 0b1011_101_111:
  4106:     case 0b1011_110_111:
  4107:     case 0b1011_111_111: return disCmpaLong (sb);
  4108: 
  4109:       //AND.B <ea>,Dq                           012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_000_mmm_rrr
  4110:     case 0b1100_000_000:
  4111:     case 0b1100_001_000:
  4112:     case 0b1100_010_000:
  4113:     case 0b1100_011_000:
  4114:     case 0b1100_100_000:
  4115:     case 0b1100_101_000:
  4116:     case 0b1100_110_000:
  4117:     case 0b1100_111_000: return disAndToRegByte (sb);
  4118: 
  4119:       //AND.W <ea>,Dq                           012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_001_mmm_rrr
  4120:     case 0b1100_000_001:
  4121:     case 0b1100_001_001:
  4122:     case 0b1100_010_001:
  4123:     case 0b1100_011_001:
  4124:     case 0b1100_100_001:
  4125:     case 0b1100_101_001:
  4126:     case 0b1100_110_001:
  4127:     case 0b1100_111_001: return disAndToRegWord (sb);
  4128: 
  4129:       //AND.L <ea>,Dq                           012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_010_mmm_rrr
  4130:     case 0b1100_000_010:
  4131:     case 0b1100_001_010:
  4132:     case 0b1100_010_010:
  4133:     case 0b1100_011_010:
  4134:     case 0b1100_100_010:
  4135:     case 0b1100_101_010:
  4136:     case 0b1100_110_010:
  4137:     case 0b1100_111_010: return disAndToRegLong (sb);
  4138: 
  4139:       //MULU.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_011_mmm_rrr
  4140:     case 0b1100_000_011:
  4141:     case 0b1100_001_011:
  4142:     case 0b1100_010_011:
  4143:     case 0b1100_011_011:
  4144:     case 0b1100_100_011:
  4145:     case 0b1100_101_011:
  4146:     case 0b1100_110_011:
  4147:     case 0b1100_111_011: return disMuluWord (sb);
  4148: 
  4149:       //ABCD.B Dr,Dq                            012346|-|UUUUU|*U*U*|          |1100_qqq_100_000_rrr
  4150:       //ABCD.B -(Ar),-(Aq)                      012346|-|UUUUU|*U*U*|          |1100_qqq_100_001_rrr
  4151:       //AND.B Dq,<ea>                           012346|-|-UUUU|-**00|  M+-WXZ  |1100_qqq_100_mmm_rrr
  4152:     case 0b1100_000_100:
  4153:     case 0b1100_001_100:
  4154:     case 0b1100_010_100:
  4155:     case 0b1100_011_100:
  4156:     case 0b1100_100_100:
  4157:     case 0b1100_101_100:
  4158:     case 0b1100_110_100:
  4159:     case 0b1100_111_100: return disAndToMemByte (sb);
  4160: 
  4161:       //EXG.L Dq,Dr                             012346|-|-----|-----|          |1100_qqq_101_000_rrr
  4162:       //EXG.L Aq,Ar                             012346|-|-----|-----|          |1100_qqq_101_001_rrr
  4163:       //AND.W Dq,<ea>                           012346|-|-UUUU|-**00|  M+-WXZ  |1100_qqq_101_mmm_rrr
  4164:     case 0b1100_000_101:
  4165:     case 0b1100_001_101:
  4166:     case 0b1100_010_101:
  4167:     case 0b1100_011_101:
  4168:     case 0b1100_100_101:
  4169:     case 0b1100_101_101:
  4170:     case 0b1100_110_101:
  4171:     case 0b1100_111_101: return disAndToMemWord (sb);
  4172: 
  4173:       //EXG.L Dq,Ar                             012346|-|-----|-----|          |1100_qqq_110_001_rrr
  4174:       //AND.L Dq,<ea>                           012346|-|-UUUU|-**00|  M+-WXZ  |1100_qqq_110_mmm_rrr
  4175:     case 0b1100_000_110:
  4176:     case 0b1100_001_110:
  4177:     case 0b1100_010_110:
  4178:     case 0b1100_011_110:
  4179:     case 0b1100_100_110:
  4180:     case 0b1100_101_110:
  4181:     case 0b1100_110_110:
  4182:     case 0b1100_111_110: return disAndToMemLong (sb);
  4183: 
  4184:       //MULS.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_111_mmm_rrr
  4185:     case 0b1100_000_111:
  4186:     case 0b1100_001_111:
  4187:     case 0b1100_010_111:
  4188:     case 0b1100_011_111:
  4189:     case 0b1100_100_111:
  4190:     case 0b1100_101_111:
  4191:     case 0b1100_110_111:
  4192:     case 0b1100_111_111: return disMulsWord (sb);
  4193: 
  4194:       //ADD.B <ea>,Dq                           012346|-|UUUUU|*****|D M+-WXZPI|1101_qqq_000_mmm_rrr
  4195:     case 0b1101_000_000:
  4196:     case 0b1101_001_000:
  4197:     case 0b1101_010_000:
  4198:     case 0b1101_011_000:
  4199:     case 0b1101_100_000:
  4200:     case 0b1101_101_000:
  4201:     case 0b1101_110_000:
  4202:     case 0b1101_111_000: return disAddToRegByte (sb);
  4203: 
  4204:       //ADD.W <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_001_mmm_rrr
  4205:     case 0b1101_000_001:
  4206:     case 0b1101_001_001:
  4207:     case 0b1101_010_001:
  4208:     case 0b1101_011_001:
  4209:     case 0b1101_100_001:
  4210:     case 0b1101_101_001:
  4211:     case 0b1101_110_001:
  4212:     case 0b1101_111_001: return disAddToRegWord (sb);
  4213: 
  4214:       //ADD.L <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_010_mmm_rrr
  4215:     case 0b1101_000_010:
  4216:     case 0b1101_001_010:
  4217:     case 0b1101_010_010:
  4218:     case 0b1101_011_010:
  4219:     case 0b1101_100_010:
  4220:     case 0b1101_101_010:
  4221:     case 0b1101_110_010:
  4222:     case 0b1101_111_010: return disAddToRegLong (sb);
  4223: 
  4224:       //ADDA.W <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1101_qqq_011_mmm_rrr
  4225:     case 0b1101_000_011:
  4226:     case 0b1101_001_011:
  4227:     case 0b1101_010_011:
  4228:     case 0b1101_011_011:
  4229:     case 0b1101_100_011:
  4230:     case 0b1101_101_011:
  4231:     case 0b1101_110_011:
  4232:     case 0b1101_111_011: return disAddaWord (sb);
  4233: 
  4234:       //ADDX.B Dr,Dq                            012346|-|*UUUU|*****|          |1101_qqq_100_000_rrr
  4235:       //ADDX.B -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1101_qqq_100_001_rrr
  4236:       //ADD.B Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1101_qqq_100_mmm_rrr
  4237:     case 0b1101_000_100:
  4238:     case 0b1101_001_100:
  4239:     case 0b1101_010_100:
  4240:     case 0b1101_011_100:
  4241:     case 0b1101_100_100:
  4242:     case 0b1101_101_100:
  4243:     case 0b1101_110_100:
  4244:     case 0b1101_111_100: return disAddToMemByte (sb);
  4245: 
  4246:       //ADDX.W Dr,Dq                            012346|-|*UUUU|*****|          |1101_qqq_101_000_rrr
  4247:       //ADDX.W -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1101_qqq_101_001_rrr
  4248:       //ADD.W Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1101_qqq_101_mmm_rrr
  4249:     case 0b1101_000_101:
  4250:     case 0b1101_001_101:
  4251:     case 0b1101_010_101:
  4252:     case 0b1101_011_101:
  4253:     case 0b1101_100_101:
  4254:     case 0b1101_101_101:
  4255:     case 0b1101_110_101:
  4256:     case 0b1101_111_101: return disAddToMemWord (sb);
  4257: 
  4258:       //ADDX.L Dr,Dq                            012346|-|*UUUU|*****|          |1101_qqq_110_000_rrr
  4259:       //ADDX.L -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1101_qqq_110_001_rrr
  4260:       //ADD.L Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1101_qqq_110_mmm_rrr
  4261:     case 0b1101_000_110:
  4262:     case 0b1101_001_110:
  4263:     case 0b1101_010_110:
  4264:     case 0b1101_011_110:
  4265:     case 0b1101_100_110:
  4266:     case 0b1101_101_110:
  4267:     case 0b1101_110_110:
  4268:     case 0b1101_111_110: return disAddToMemLong (sb);
  4269: 
  4270:       //ADDA.L <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1101_qqq_111_mmm_rrr
  4271:     case 0b1101_000_111:
  4272:     case 0b1101_001_111:
  4273:     case 0b1101_010_111:
  4274:     case 0b1101_011_111:
  4275:     case 0b1101_100_111:
  4276:     case 0b1101_101_111:
  4277:     case 0b1101_110_111:
  4278:     case 0b1101_111_111: return disAddaLong (sb);
  4279: 
  4280:       //ASR.B #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_000_000_rrr
  4281:       //LSR.B #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_000_001_rrr
  4282:       //ROXR.B #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_000_010_rrr
  4283:       //ROR.B #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_000_011_rrr
  4284:       //ASR.B Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_000_100_rrr
  4285:       //LSR.B Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_000_101_rrr
  4286:       //ROXR.B Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_000_110_rrr
  4287:       //ROR.B Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_000_111_rrr
  4288:     case 0b1110_000_000:
  4289:     case 0b1110_001_000:
  4290:     case 0b1110_010_000:
  4291:     case 0b1110_011_000:
  4292:     case 0b1110_100_000:
  4293:     case 0b1110_101_000:
  4294:     case 0b1110_110_000:
  4295:     case 0b1110_111_000: return disXxrToRegByte (sb);
  4296: 
  4297:       //ASR.W #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_001_000_rrr
  4298:       //LSR.W #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_001_001_rrr
  4299:       //ROXR.W #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_001_010_rrr
  4300:       //ROR.W #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_001_011_rrr
  4301:       //ASR.W Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_001_100_rrr
  4302:       //LSR.W Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_001_101_rrr
  4303:       //ROXR.W Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_001_110_rrr
  4304:       //ROR.W Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_001_111_rrr
  4305:     case 0b1110_000_001:
  4306:     case 0b1110_001_001:
  4307:     case 0b1110_010_001:
  4308:     case 0b1110_011_001:
  4309:     case 0b1110_100_001:
  4310:     case 0b1110_101_001:
  4311:     case 0b1110_110_001:
  4312:     case 0b1110_111_001: return disXxrToRegWord (sb);
  4313: 
  4314:       //ASR.L #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_010_000_rrr
  4315:       //LSR.L #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_010_001_rrr
  4316:       //ROXR.L #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_010_010_rrr
  4317:       //ROR.L #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_010_011_rrr
  4318:       //ASR.L Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_010_100_rrr
  4319:       //LSR.L Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_010_101_rrr
  4320:       //ROXR.L Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_010_110_rrr
  4321:       //ROR.L Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_010_111_rrr
  4322:     case 0b1110_000_010:
  4323:     case 0b1110_001_010:
  4324:     case 0b1110_010_010:
  4325:     case 0b1110_011_010:
  4326:     case 0b1110_100_010:
  4327:     case 0b1110_101_010:
  4328:     case 0b1110_110_010:
  4329:     case 0b1110_111_010: return disXxrToRegLong (sb);
  4330: 
  4331:       //ASR.W <ea>                              012346|-|UUUUU|***0*|  M+-WXZ  |1110_000_011_mmm_rrr
  4332:     case 0b1110_000_011: return disAsrToMem (sb);
  4333: 
  4334:       //LSR.W <ea>                              012346|-|UUUUU|*0*0*|  M+-WXZ  |1110_001_011_mmm_rrr
  4335:     case 0b1110_001_011: return disLsrToMem (sb);
  4336: 
  4337:       //ROXR.W <ea>                             012346|-|*UUUU|***0*|  M+-WXZ  |1110_010_011_mmm_rrr
  4338:     case 0b1110_010_011: return disRoxrToMem (sb);
  4339: 
  4340:       //ROR.W <ea>                              012346|-|-UUUU|-**0*|  M+-WXZ  |1110_011_011_mmm_rrr
  4341:     case 0b1110_011_011: return disRorToMem (sb);
  4342: 
  4343:       //ASL.B #<data>,Dr                        012346|-|UUUUU|*****|          |1110_qqq_100_000_rrr
  4344:       //LSL.B #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_100_001_rrr
  4345:       //ROXL.B #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_100_010_rrr
  4346:       //ROL.B #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_100_011_rrr
  4347:       //ASL.B Dq,Dr                             012346|-|UUUUU|*****|          |1110_qqq_100_100_rrr
  4348:       //LSL.B Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_100_101_rrr
  4349:       //ROXL.B Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_100_110_rrr
  4350:       //ROL.B Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_100_111_rrr
  4351:     case 0b1110_000_100:
  4352:     case 0b1110_001_100:
  4353:     case 0b1110_010_100:
  4354:     case 0b1110_011_100:
  4355:     case 0b1110_100_100:
  4356:     case 0b1110_101_100:
  4357:     case 0b1110_110_100:
  4358:     case 0b1110_111_100: return disXxlToRegByte (sb);
  4359: 
  4360:       //ASL.W #<data>,Dr                        012346|-|UUUUU|*****|          |1110_qqq_101_000_rrr
  4361:       //LSL.W #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_101_001_rrr
  4362:       //ROXL.W #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_101_010_rrr
  4363:       //ROL.W #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_101_011_rrr
  4364:       //ASL.W Dq,Dr                             012346|-|UUUUU|*****|          |1110_qqq_101_100_rrr
  4365:       //LSL.W Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_101_101_rrr
  4366:       //ROXL.W Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_101_110_rrr
  4367:       //ROL.W Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_101_111_rrr
  4368:     case 0b1110_000_101:
  4369:     case 0b1110_001_101:
  4370:     case 0b1110_010_101:
  4371:     case 0b1110_011_101:
  4372:     case 0b1110_100_101:
  4373:     case 0b1110_101_101:
  4374:     case 0b1110_110_101:
  4375:     case 0b1110_111_101: return disXxlToRegWord (sb);
  4376: 
  4377:       //ASL.L #<data>,Dr                        012346|-|UUUUU|*****|          |1110_qqq_110_000_rrr
  4378:       //LSL.L #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_110_001_rrr
  4379:       //ROXL.L #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_110_010_rrr
  4380:       //ROL.L #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_110_011_rrr
  4381:       //ASL.L Dq,Dr                             012346|-|UUUUU|*****|          |1110_qqq_110_100_rrr
  4382:       //LSL.L Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_110_101_rrr
  4383:       //ROXL.L Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_110_110_rrr
  4384:       //ROL.L Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_110_111_rrr
  4385:     case 0b1110_000_110:
  4386:     case 0b1110_001_110:
  4387:     case 0b1110_010_110:
  4388:     case 0b1110_011_110:
  4389:     case 0b1110_100_110:
  4390:     case 0b1110_101_110:
  4391:     case 0b1110_110_110:
  4392:     case 0b1110_111_110: return disXxlToRegLong (sb);
  4393: 
  4394:       //ASL.W <ea>                              012346|-|UUUUU|*****|  M+-WXZ  |1110_000_111_mmm_rrr
  4395:     case 0b1110_000_111: return disAslToMem (sb);
  4396: 
  4397:       //LSL.W <ea>                              012346|-|UUUUU|***0*|  M+-WXZ  |1110_001_111_mmm_rrr
  4398:     case 0b1110_001_111: return disLslToMem (sb);
  4399: 
  4400:       //ROXL.W <ea>                             012346|-|*UUUU|***0*|  M+-WXZ  |1110_010_111_mmm_rrr
  4401:     case 0b1110_010_111: return disRoxlToMem (sb);
  4402: 
  4403:       //ROL.W <ea>                              012346|-|-UUUU|-**0*|  M+-WXZ  |1110_011_111_mmm_rrr
  4404:     case 0b1110_011_111: return disRolToMem (sb);
  4405: 
  4406:       //BFTST <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_0ww_www
  4407:       //BFTST <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_100_www
  4408:       //BFTST <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_100_ooo_0ww_www
  4409:       //BFTST <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_100_ooo_100_www
  4410:     case 0b1110_100_011: return disBftst (sb);
  4411: 
  4412:       //BFEXTU <ea>{#o:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  4413:       //BFEXTU <ea>{#o:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_100_www
  4414:       //BFEXTU <ea>{Do:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_0ww_www
  4415:       //BFEXTU <ea>{Do:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_100_www
  4416:     case 0b1110_100_111: return disBfextu (sb);
  4417: 
  4418:       //BFCHG <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_0oo_ooo_0ww_www
  4419:       //BFCHG <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_0oo_ooo_100_www
  4420:       //BFCHG <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_100_ooo_0ww_www
  4421:       //BFCHG <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_100_ooo_100_www
  4422:     case 0b1110_101_011: return disBfchg (sb);
  4423: 
  4424:       //BFEXTS <ea>{#o:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  4425:       //BFEXTS <ea>{#o:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_100_www
  4426:       //BFEXTS <ea>{Do:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_0ww_www
  4427:       //BFEXTS <ea>{Do:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_100_www
  4428:     case 0b1110_101_111: return disBfexts (sb);
  4429: 
  4430:       //BFCLR <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_0oo_ooo_0ww_www
  4431:       //BFCLR <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_0oo_ooo_100_www
  4432:       //BFCLR <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_100_ooo_0ww_www
  4433:       //BFCLR <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_100_ooo_100_www
  4434:     case 0b1110_110_011: return disBfclr (sb);
  4435: 
  4436:       //BFFFO <ea>{#o:#w},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  4437:       //BFFFO <ea>{#o:Dw},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_100_www
  4438:       //BFFFO <ea>{Do:#w},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_0ww_www
  4439:       //BFFFO <ea>{Do:Dw},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_100_www
  4440:     case 0b1110_110_111: return disBfffo (sb);
  4441: 
  4442:       //BFSET <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_0oo_ooo_0ww_www
  4443:       //BFSET <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_0oo_ooo_100_www
  4444:       //BFSET <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_100_ooo_0ww_www
  4445:       //BFSET <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_100_ooo_100_www
  4446:     case 0b1110_111_011: return disBfset (sb);
  4447: 
  4448:       //BFINS Dn,<ea>{#o:#w}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  4449:       //BFINS Dn,<ea>{#o:Dw}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_0oo_ooo_100_www
  4450:       //BFINS Dn,<ea>{Do:#w}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_100_ooo_0ww_www
  4451:       //BFINS Dn,<ea>{Do:Dw}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_100_ooo_100_www
  4452:     case 0b1110_111_111: return disBfins (sb);
  4453: 
  4454:       //PMOVE.L <ea>,TTn                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00001n0000000000
  4455:       //PMOVEFD.L <ea>,TTn                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00001n0100000000
  4456:       //PMOVE.L TTn,<ea>                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00001n1000000000
  4457:       //PLOADW SFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000000000
  4458:       //PLOADW DFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000000001
  4459:       //PLOADW Dn,<ea>                          --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000001nnn
  4460:       //PLOADW #<data>,<ea>                     ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000010ddd
  4461:       //PLOADW #<data>,<ea>                     --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-001000000001dddd
  4462:       //PLOADR SFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000000000
  4463:       //PLOADR DFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000000001
  4464:       //PLOADR Dn,<ea>                          --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000001nnn
  4465:       //PLOADR #<data>,<ea>                     ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000010ddd
  4466:       //PLOADR #<data>,<ea>                     --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-001000100001dddd
  4467:       //PFLUSHA                                 --M---|P|-----|-----|          |1111_000_000_000_000-0010010000000000
  4468:       //PFLUSHA                                 ---3--|P|-----|-----|          |1111_000_000_000_000-0010010000000000
  4469:       //PVALID.L VAL,<ea>                       --M---|-|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010100000000000
  4470:       //PVALID.L An,<ea>                        --M---|-|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010110000000nnn
  4471:       //PFLUSH SFC,#<mask>                      --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm00000
  4472:       //PFLUSH SFC,#<mask>                      ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm00000
  4473:       //PFLUSH DFC,#<mask>                      --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm00001
  4474:       //PFLUSH DFC,#<mask>                      ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm00001
  4475:       //PFLUSH Dn,#<mask>                       --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm01nnn
  4476:       //PFLUSH Dn,#<mask>                       ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm01nnn
  4477:       //PFLUSH #<data>,#<mask>                  ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm10ddd
  4478:       //PFLUSH #<data>,#<mask>                  --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm1dddd
  4479:       //PFLUSHS SFC,#<mask>                     --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm00000
  4480:       //PFLUSHS DFC,#<mask>                     --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm00001
  4481:       //PFLUSHS Dn,#<mask>                      --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm01nnn
  4482:       //PFLUSHS #<data>,#<mask>                 --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm1dddd
  4483:       //PFLUSH SFC,#<mask>,<ea>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm00000
  4484:       //PFLUSH SFC,#<mask>,<ea>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm00000
  4485:       //PFLUSH DFC,#<mask>,<ea>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm00001
  4486:       //PFLUSH DFC,#<mask>,<ea>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm00001
  4487:       //PFLUSH Dn,#<mask>,<ea>                  ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm01nnn
  4488:       //PFLUSH #<data>,#<mask>,<ea>             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm10ddd
  4489:       //PFLUSH Dn,#<mask>,<ea>                  --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm01nnn
  4490:       //PFLUSH #<data>,#<mask>,<ea>             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm1dddd
  4491:       //PFLUSHS SFC,#<mask>,<ea>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm00000
  4492:       //PFLUSHS DFC,#<mask>,<ea>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm00001
  4493:       //PFLUSHS Dn,#<mask>,<ea>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm01nnn
  4494:       //PFLUSHS #<data>,#<mask>,<ea>            --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm1dddd
  4495:       //PMOVE.L <ea>,TC                         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100000000000000
  4496:       //PMOVE.L <ea>,TC                         --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0100000000000000
  4497:       //PMOVEFD.L <ea>,TC                       ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100000100000000
  4498:       //PMOVE.L TC,<ea>                         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100001000000000
  4499:       //PMOVE.L TC,<ea>                         --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0100001000000000
  4500:       //PMOVE.Q <ea>,DRP                        --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-0100010000000000
  4501:       //PMOVE.Q DRP,<ea>                        --M---|P|-----|-----|  M+-WXZ  |1111_000_000_mmm_rrr-0100011000000000
  4502:       //PMOVE.Q <ea>,SRP                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100100000000000
  4503:       //PMOVE.Q <ea>,SRP                        --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-0100100000000000
  4504:       //PMOVEFD.Q <ea>,SRP                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100100100000000
  4505:       //PMOVE.Q SRP,<ea>                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100101000000000
  4506:       //PMOVE.Q SRP,<ea>                        --M---|P|-----|-----|  M+-WXZ  |1111_000_000_mmm_rrr-0100101000000000
  4507:       //PMOVE.Q <ea>,CRP                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100110000000000
  4508:       //PMOVE.Q <ea>,CRP                        --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-0100110000000000
  4509:       //PMOVEFD.Q <ea>,CRP                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100110100000000
  4510:       //PMOVE.Q CRP,<ea>                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100111000000000
  4511:       //PMOVE.Q CRP,<ea>                        --M---|P|-----|-----|  M+-WXZ  |1111_000_000_mmm_rrr-0100111000000000
  4512:       //PMOVE.B <ea>,CAL                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101000000000000
  4513:       //PMOVE.B CAL,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101001000000000
  4514:       //PMOVE.B <ea>,VAL                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101010000000000
  4515:       //PMOVE.B VAL,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101011000000000
  4516:       //PMOVE.B <ea>,SCC                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101100000000000
  4517:       //PMOVE.B SCC,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101101000000000
  4518:       //PMOVE.W <ea>,AC                         --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101110000000000
  4519:       //PMOVE.W AC,<ea>                         --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101111000000000
  4520:       //PMOVE.W <ea>,MMUSR                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0110000000000000
  4521:       //PMOVE.W <ea>,PSR                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110000000000000
  4522:       //PMOVE.W MMUSR,<ea>                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0110001000000000
  4523:       //PMOVE.W PSR,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0110001000000000
  4524:       //PMOVE.W <ea>,PCSR                       --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110010000000000
  4525:       //PMOVE.W PCSR,<ea>                       --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0110011000000000
  4526:       //PMOVE.W <ea>,BADn                       --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110000000nnn00
  4527:       //PMOVE.W BADn,<ea>                       --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-01110010000nnn00
  4528:       //PMOVE.W <ea>,BACn                       --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110100000nnn00
  4529:       //PMOVE.W BACn,<ea>                       --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-01110110000nnn00
  4530:       //PTESTW SFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000000
  4531:       //PTESTW SFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000000
  4532:       //PTESTW DFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000001
  4533:       //PTESTW DFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000001
  4534:       //PTESTW Dn,<ea>,#<level>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000001nnn
  4535:       //PTESTW Dn,<ea>,#<level>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000001nnn
  4536:       //PTESTW #<data>,<ea>,#<level>            --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll000001dddd
  4537:       //PTESTW #<data>,<ea>,#<level>            ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000010ddd
  4538:       //PTESTW SFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00000
  4539:       //PTESTW SFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00000
  4540:       //PTESTW DFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00001
  4541:       //PTESTW DFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00001
  4542:       //PTESTW Dn,<ea>,#<level>,An              --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn01nnn
  4543:       //PTESTW Dn,<ea>,#<level>,An              ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn01nnn
  4544:       //PTESTW #<data>,<ea>,#<level>,An         --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn1dddd
  4545:       //PTESTW #<data>,<ea>,#<level>,An         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn10ddd
  4546:       //PTESTR SFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000000
  4547:       //PTESTR SFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000000
  4548:       //PTESTR DFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000001
  4549:       //PTESTR DFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000001
  4550:       //PTESTR Dn,<ea>,#<level>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000001nnn
  4551:       //PTESTR Dn,<ea>,#<level>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000001nnn
  4552:       //PTESTR #<data>,<ea>,#<level>            --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll100001dddd
  4553:       //PTESTR #<data>,<ea>,#<level>            ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000010ddd
  4554:       //PTESTR SFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00000
  4555:       //PTESTR SFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00000
  4556:       //PTESTR DFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00001
  4557:       //PTESTR DFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00001
  4558:       //PTESTR Dn,<ea>,#<level>,An              --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn01nnn
  4559:       //PTESTR Dn,<ea>,#<level>,An              ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn01nnn
  4560:       //PTESTR #<data>,<ea>,#<level>,An         --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn1dddd
  4561:       //PTESTR #<data>,<ea>,#<level>,An         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn10ddd
  4562:       //PFLUSHR <ea>                            --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-1010000000000000
  4563:     case 0b1111_000_000: return disPgen (sb);
  4564: 
  4565:       //PDBcc.W Dn,<label>                      --M---|P|-----|-----|          |1111_000_001_001_nnn-0000000000cccccc-{offset}
  4566:       //PTRAPcc.W #<data>                       --M---|P|-----|-----|          |1111_000_001_111_010-0000000000cccccc-{data}
  4567:       //PTRAPcc.L #<data>                       --M---|P|-----|-----|          |1111_000_001_111_011-0000000000cccccc-{data}
  4568:       //PTRAPcc                                 --M---|P|-----|-----|          |1111_000_001_111_100-0000000000cccccc
  4569:       //PScc.B <ea>                             --M---|P|-----|-----|D M+-WXZ  |1111_000_001_mmm_rrr-0000000000cccccc
  4570:     case 0b1111_000_001: return disPscc (sb);
  4571: 
  4572:       //PBcc.W <label>                          --M---|P|-----|-----|          |1111_000_010_ccc_ccc-{offset}
  4573:     case 0b1111_000_010: return disPbccWord (sb);
  4574: 
  4575:       //PBcc.L <label>                          --M---|P|-----|-----|          |1111_000_011_ccc_ccc-{offset}
  4576:     case 0b1111_000_011: return disPbccLong (sb);
  4577: 
  4578:       //PSAVE <ea>                              --M---|P|-----|-----|  M -WXZ  |1111_000_100_mmm_rrr
  4579:     case 0b1111_000_100: return disPsave (sb);
  4580: 
  4581:       //PRESTORE <ea>                           --M---|P|-----|-----|  M+ WXZP |1111_000_101_mmm_rrr
  4582:     case 0b1111_000_101: return disPrestore (sb);
  4583: 
  4584:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  4585:     case 0b1111_000_110:
  4586:     case 0b1111_000_111: return disFline (sb);
  4587: 
  4588:       //FMOVE.X FPm,FPn                         --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0000
  4589:       //FINT.X FPm,FPn                          --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0001
  4590:       //FSINH.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0010
  4591:       //FINTRZ.X FPm,FPn                        --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0011
  4592:       //FSQRT.X FPm,FPn                         --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0100
  4593:       //FLOGNP1.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0110
  4594:       //FETOXM1.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1000
  4595:       //FTANH.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1001
  4596:       //FATAN.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1010
  4597:       //FASIN.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1100
  4598:       //FATANH.X FPm,FPn                        --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1101
  4599:       //FSIN.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1110
  4600:       //FTAN.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1111
  4601:       //FETOX.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0000
  4602:       //FTWOTOX.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0001
  4603:       //FTENTOX.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0010
  4604:       //FLOGN.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0100
  4605:       //FLOG10.X FPm,FPn                        --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0101
  4606:       //FLOG2.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0110
  4607:       //FABS.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1000
  4608:       //FCOSH.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1001
  4609:       //FNEG.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1010
  4610:       //FACOS.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1100
  4611:       //FCOS.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1101
  4612:       //FGETEXP.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1110
  4613:       //FGETMAN.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1111
  4614:       //FDIV.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0000
  4615:       //FMOD.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0001
  4616:       //FADD.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0010
  4617:       //FMUL.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0011
  4618:       //FSGLDIV.X FPm,FPn                       --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0100
  4619:       //FREM.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0101
  4620:       //FSCALE.X FPm,FPn                        --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0110
  4621:       //FSGLMUL.X FPm,FPn                       --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0111
  4622:       //FSUB.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_1000
  4623:       //FSINCOS.X FPm,FPc:FPs                   --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_sss_011_0ccc
  4624:       //FCMP.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_011_1000
  4625:       //FTST.X FPm                              --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_000_011_1010
  4626:       //FSMOVE.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0000
  4627:       //FSSQRT.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0001
  4628:       //FDMOVE.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0100
  4629:       //FDSQRT.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0101
  4630:       //FSABS.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1000
  4631:       //FSNEG.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1010
  4632:       //FDABS.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1100
  4633:       //FDNEG.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1110
  4634:       //FSDIV.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0000
  4635:       //FSADD.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0010
  4636:       //FSMUL.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0011
  4637:       //FDDIV.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0100
  4638:       //FDADD.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0110
  4639:       //FDMUL.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0111
  4640:       //FSSUB.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_1000
  4641:       //FDSUB.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_1100
  4642:       //FMOVE.L <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0000
  4643:       //FMOVE.S <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0000
  4644:       //FMOVE.X <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0000
  4645:       //FMOVE.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0000
  4646:       //FMOVE.W <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0000
  4647:       //FMOVE.D <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0000
  4648:       //FMOVE.B <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0000
  4649:       //FINT.L <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0001
  4650:       //FINT.S <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0001
  4651:       //FINT.X <ea>,FPn                         --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0001
  4652:       //FINT.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0001
  4653:       //FINT.W <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0001
  4654:       //FINT.D <ea>,FPn                         --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0001
  4655:       //FINT.B <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0001
  4656:       //FSINH.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0010
  4657:       //FSINH.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0010
  4658:       //FSINH.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0010
  4659:       //FSINH.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0010
  4660:       //FSINH.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0010
  4661:       //FSINH.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0010
  4662:       //FSINH.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0010
  4663:       //FINTRZ.L <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0011
  4664:       //FINTRZ.S <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0011
  4665:       //FINTRZ.X <ea>,FPn                       --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0011
  4666:       //FINTRZ.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0011
  4667:       //FINTRZ.W <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0011
  4668:       //FINTRZ.D <ea>,FPn                       --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0011
  4669:       //FINTRZ.B <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0011
  4670:       //FSQRT.L <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0100
  4671:       //FSQRT.S <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0100
  4672:       //FSQRT.X <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0100
  4673:       //FSQRT.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0100
  4674:       //FSQRT.W <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0100
  4675:       //FSQRT.D <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0100
  4676:       //FSQRT.B <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0100
  4677:       //FLOGNP1.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0110
  4678:       //FLOGNP1.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0110
  4679:       //FLOGNP1.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0110
  4680:       //FLOGNP1.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0110
  4681:       //FLOGNP1.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0110
  4682:       //FLOGNP1.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0110
  4683:       //FLOGNP1.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0110
  4684:       //FETOXM1.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1000
  4685:       //FETOXM1.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1000
  4686:       //FETOXM1.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1000
  4687:       //FETOXM1.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1000
  4688:       //FETOXM1.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1000
  4689:       //FETOXM1.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1000
  4690:       //FETOXM1.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1000
  4691:       //FTANH.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1001
  4692:       //FTANH.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1001
  4693:       //FTANH.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1001
  4694:       //FTANH.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1001
  4695:       //FTANH.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1001
  4696:       //FTANH.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1001
  4697:       //FTANH.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1001
  4698:       //FATAN.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1010
  4699:       //FATAN.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1010
  4700:       //FATAN.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1010
  4701:       //FATAN.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1010
  4702:       //FATAN.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1010
  4703:       //FATAN.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1010
  4704:       //FATAN.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1010
  4705:       //FASIN.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1100
  4706:       //FASIN.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1100
  4707:       //FASIN.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1100
  4708:       //FASIN.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1100
  4709:       //FASIN.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1100
  4710:       //FASIN.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1100
  4711:       //FASIN.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1100
  4712:       //FATANH.L <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1101
  4713:       //FATANH.S <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1101
  4714:       //FATANH.X <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1101
  4715:       //FATANH.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1101
  4716:       //FATANH.W <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1101
  4717:       //FATANH.D <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1101
  4718:       //FATANH.B <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1101
  4719:       //FSIN.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1110
  4720:       //FSIN.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1110
  4721:       //FSIN.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1110
  4722:       //FSIN.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1110
  4723:       //FSIN.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1110
  4724:       //FSIN.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1110
  4725:       //FSIN.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1110
  4726:       //FTAN.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1111
  4727:       //FTAN.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1111
  4728:       //FTAN.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1111
  4729:       //FTAN.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1111
  4730:       //FTAN.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1111
  4731:       //FTAN.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1111
  4732:       //FTAN.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1111
  4733:       //FETOX.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0000
  4734:       //FETOX.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0000
  4735:       //FETOX.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0000
  4736:       //FETOX.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0000
  4737:       //FETOX.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0000
  4738:       //FETOX.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0000
  4739:       //FETOX.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0000
  4740:       //FTWOTOX.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0001
  4741:       //FTWOTOX.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0001
  4742:       //FTWOTOX.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0001
  4743:       //FTWOTOX.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0001
  4744:       //FTWOTOX.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0001
  4745:       //FTWOTOX.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0001
  4746:       //FTWOTOX.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0001
  4747:       //FTENTOX.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0010
  4748:       //FTENTOX.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0010
  4749:       //FTENTOX.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0010
  4750:       //FTENTOX.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0010
  4751:       //FTENTOX.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0010
  4752:       //FTENTOX.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0010
  4753:       //FTENTOX.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0010
  4754:       //FLOGN.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0100
  4755:       //FLOGN.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0100
  4756:       //FLOGN.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0100
  4757:       //FLOGN.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0100
  4758:       //FLOGN.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0100
  4759:       //FLOGN.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0100
  4760:       //FLOGN.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0100
  4761:       //FLOG10.L <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0101
  4762:       //FLOG10.S <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0101
  4763:       //FLOG10.X <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0101
  4764:       //FLOG10.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0101
  4765:       //FLOG10.W <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0101
  4766:       //FLOG10.D <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0101
  4767:       //FLOG10.B <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0101
  4768:       //FLOG2.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0110
  4769:       //FLOG2.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0110
  4770:       //FLOG2.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0110
  4771:       //FLOG2.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0110
  4772:       //FLOG2.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0110
  4773:       //FLOG2.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0110
  4774:       //FLOG2.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0110
  4775:       //FABS.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1000
  4776:       //FABS.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1000
  4777:       //FABS.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1000
  4778:       //FABS.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1000
  4779:       //FABS.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1000
  4780:       //FABS.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1000
  4781:       //FABS.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1000
  4782:       //FCOSH.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1001
  4783:       //FCOSH.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1001
  4784:       //FCOSH.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1001
  4785:       //FCOSH.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1001
  4786:       //FCOSH.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1001
  4787:       //FCOSH.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1001
  4788:       //FCOSH.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1001
  4789:       //FNEG.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1010
  4790:       //FNEG.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1010
  4791:       //FNEG.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1010
  4792:       //FNEG.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1010
  4793:       //FNEG.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1010
  4794:       //FNEG.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1010
  4795:       //FNEG.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1010
  4796:       //FACOS.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1100
  4797:       //FACOS.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1100
  4798:       //FACOS.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1100
  4799:       //FACOS.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1100
  4800:       //FACOS.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1100
  4801:       //FACOS.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1100
  4802:       //FACOS.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1100
  4803:       //FCOS.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1101
  4804:       //FCOS.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1101
  4805:       //FCOS.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1101
  4806:       //FCOS.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1101
  4807:       //FCOS.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1101
  4808:       //FCOS.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1101
  4809:       //FCOS.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1101
  4810:       //FGETEXP.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1110
  4811:       //FGETEXP.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1110
  4812:       //FGETEXP.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1110
  4813:       //FGETEXP.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1110
  4814:       //FGETEXP.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1110
  4815:       //FGETEXP.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1110
  4816:       //FGETEXP.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1110
  4817:       //FGETMAN.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1111
  4818:       //FGETMAN.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1111
  4819:       //FGETMAN.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1111
  4820:       //FGETMAN.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1111
  4821:       //FGETMAN.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1111
  4822:       //FGETMAN.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1111
  4823:       //FGETMAN.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1111
  4824:       //FDIV.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0000
  4825:       //FDIV.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0000
  4826:       //FDIV.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0000
  4827:       //FDIV.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0000
  4828:       //FDIV.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0000
  4829:       //FDIV.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0000
  4830:       //FDIV.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0000
  4831:       //FMOD.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0001
  4832:       //FMOD.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0001
  4833:       //FMOD.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0001
  4834:       //FMOD.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0001
  4835:       //FMOD.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0001
  4836:       //FMOD.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0001
  4837:       //FMOD.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0001
  4838:       //FADD.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0010
  4839:       //FADD.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0010
  4840:       //FADD.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0010
  4841:       //FADD.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0010
  4842:       //FADD.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0010
  4843:       //FADD.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0010
  4844:       //FADD.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0010
  4845:       //FMUL.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0011
  4846:       //FMUL.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0011
  4847:       //FMUL.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0011
  4848:       //FMUL.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0011
  4849:       //FMUL.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0011
  4850:       //FMUL.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0011
  4851:       //FMUL.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0011
  4852:       //FSGLDIV.L <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0100
  4853:       //FSGLDIV.S <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0100
  4854:       //FSGLDIV.X <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0100
  4855:       //FSGLDIV.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0100
  4856:       //FSGLDIV.W <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0100
  4857:       //FSGLDIV.D <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0100
  4858:       //FSGLDIV.B <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0100
  4859:       //FREM.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0101
  4860:       //FREM.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0101
  4861:       //FREM.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0101
  4862:       //FREM.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0101
  4863:       //FREM.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0101
  4864:       //FREM.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0101
  4865:       //FREM.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0101
  4866:       //FSCALE.L <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0110
  4867:       //FSCALE.S <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0110
  4868:       //FSCALE.X <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0110
  4869:       //FSCALE.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0110
  4870:       //FSCALE.W <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0110
  4871:       //FSCALE.D <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0110
  4872:       //FSCALE.B <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0110
  4873:       //FSGLMUL.L <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0111
  4874:       //FSGLMUL.S <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0111
  4875:       //FSGLMUL.X <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0111
  4876:       //FSGLMUL.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0111
  4877:       //FSGLMUL.W <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0111
  4878:       //FSGLMUL.D <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0111
  4879:       //FSGLMUL.B <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0111
  4880:       //FSUB.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_1000
  4881:       //FSUB.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_1000
  4882:       //FSUB.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_1000
  4883:       //FSUB.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_1000
  4884:       //FSUB.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_1000
  4885:       //FSUB.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_1000
  4886:       //FSUB.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_1000
  4887:       //FSINCOS.L <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_sss_011_0ccc
  4888:       //FSINCOS.S <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_sss_011_0ccc
  4889:       //FSINCOS.X <ea>,FPc:FPs                  --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_sss_011_0ccc
  4890:       //FSINCOS.P <ea>,FPc:FPs                  --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_sss_011_0ccc
  4891:       //FSINCOS.W <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_sss_011_0ccc
  4892:       //FSINCOS.D <ea>,FPc:FPs                  --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_sss_011_0ccc
  4893:       //FSINCOS.B <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_sss_011_0ccc
  4894:       //FCMP.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_011_1000
  4895:       //FCMP.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_011_1000
  4896:       //FCMP.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_011_1000
  4897:       //FCMP.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_011_1000
  4898:       //FCMP.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_011_1000
  4899:       //FCMP.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_011_1000
  4900:       //FCMP.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_011_1000
  4901:       //FTST.L <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_000_011_1010
  4902:       //FTST.S <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_000_011_1010
  4903:       //FTST.X <ea>                             --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_000_011_1010
  4904:       //FTST.P <ea>                             --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_000_011_1010
  4905:       //FTST.W <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_000_011_1010
  4906:       //FTST.D <ea>                             --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_000_011_1010
  4907:       //FTST.B <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_000_011_1010
  4908:       //FSMOVE.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0000
  4909:       //FSMOVE.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0000
  4910:       //FSMOVE.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0000
  4911:       //FSMOVE.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0000
  4912:       //FSMOVE.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0000
  4913:       //FSMOVE.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0000
  4914:       //FSMOVE.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0000
  4915:       //FSSQRT.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0001
  4916:       //FSSQRT.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0001
  4917:       //FSSQRT.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0001
  4918:       //FSSQRT.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0001
  4919:       //FSSQRT.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0001
  4920:       //FSSQRT.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0001
  4921:       //FSSQRT.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0001
  4922:       //FDMOVE.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0100
  4923:       //FDMOVE.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0100
  4924:       //FDMOVE.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0100
  4925:       //FDMOVE.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0100
  4926:       //FDMOVE.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0100
  4927:       //FDMOVE.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0100
  4928:       //FDMOVE.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0100
  4929:       //FDSQRT.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0101
  4930:       //FDSQRT.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0101
  4931:       //FDSQRT.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0101
  4932:       //FDSQRT.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0101
  4933:       //FDSQRT.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0101
  4934:       //FDSQRT.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0101
  4935:       //FDSQRT.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0101
  4936:       //FSABS.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1000
  4937:       //FSABS.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1000
  4938:       //FSABS.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1000
  4939:       //FSABS.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1000
  4940:       //FSABS.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1000
  4941:       //FSABS.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1000
  4942:       //FSABS.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1000
  4943:       //FSNEG.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1010
  4944:       //FSNEG.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1010
  4945:       //FSNEG.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1010
  4946:       //FSNEG.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1010
  4947:       //FSNEG.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1010
  4948:       //FSNEG.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1010
  4949:       //FSNEG.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1010
  4950:       //FDABS.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1100
  4951:       //FDABS.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1100
  4952:       //FDABS.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1100
  4953:       //FDABS.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1100
  4954:       //FDABS.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1100
  4955:       //FDABS.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1100
  4956:       //FDABS.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1100
  4957:       //FDNEG.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1110
  4958:       //FDNEG.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1110
  4959:       //FDNEG.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1110
  4960:       //FDNEG.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1110
  4961:       //FDNEG.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1110
  4962:       //FDNEG.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1110
  4963:       //FDNEG.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1110
  4964:       //FSDIV.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0000
  4965:       //FSDIV.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0000
  4966:       //FSDIV.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0000
  4967:       //FSDIV.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0000
  4968:       //FSDIV.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0000
  4969:       //FSDIV.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0000
  4970:       //FSDIV.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0000
  4971:       //FSADD.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0010
  4972:       //FSADD.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0010
  4973:       //FSADD.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0010
  4974:       //FSADD.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0010
  4975:       //FSADD.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0010
  4976:       //FSADD.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0010
  4977:       //FSADD.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0010
  4978:       //FSMUL.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0011
  4979:       //FSMUL.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0011
  4980:       //FSMUL.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0011
  4981:       //FSMUL.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0011
  4982:       //FSMUL.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0011
  4983:       //FSMUL.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0011
  4984:       //FSMUL.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0011
  4985:       //FDDIV.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0100
  4986:       //FDDIV.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0100
  4987:       //FDDIV.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0100
  4988:       //FDDIV.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0100
  4989:       //FDDIV.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0100
  4990:       //FDDIV.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0100
  4991:       //FDDIV.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0100
  4992:       //FDADD.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0110
  4993:       //FDADD.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0110
  4994:       //FDADD.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0110
  4995:       //FDADD.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0110
  4996:       //FDADD.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0110
  4997:       //FDADD.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0110
  4998:       //FDADD.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0110
  4999:       //FDMUL.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0111
  5000:       //FDMUL.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0111
  5001:       //FDMUL.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0111
  5002:       //FDMUL.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0111
  5003:       //FDMUL.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0111
  5004:       //FDMUL.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0111
  5005:       //FDMUL.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0111
  5006:       //FSSUB.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1000
  5007:       //FSSUB.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1000
  5008:       //FSSUB.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1000
  5009:       //FSSUB.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1000
  5010:       //FSSUB.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1000
  5011:       //FSSUB.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1000
  5012:       //FSSUB.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1000
  5013:       //FDSUB.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1100
  5014:       //FDSUB.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1100
  5015:       //FDSUB.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1100
  5016:       //FDSUB.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1100
  5017:       //FDSUB.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1100
  5018:       //FDSUB.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1100
  5019:       //FDSUB.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1100
  5020:       //FMOVECR.X #ccc,FPn                      --CCSS|-|-----|-----|          |1111_001_000_000_000-010_111_nnn_0cc_cccc
  5021:       //FMOVE.L FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_000_nnn_000_0000
  5022:       //FMOVE.S FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_001_nnn_000_0000
  5023:       //FMOVE.X FPn,<ea>                        --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_010_nnn_000_0000
  5024:       //FMOVE.P FPn,<ea>{#k}                    --CCSS|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_011_nnn_kkk_kkkk
  5025:       //FMOVE.W FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_100_nnn_000_0000
  5026:       //FMOVE.D FPn,<ea>                        --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_101_nnn_000_0000
  5027:       //FMOVE.B FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_110_nnn_000_0000
  5028:       //FMOVE.P FPn,<ea>{Dl}                    --CCSS|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_111_nnn_lll_0000
  5029:       //FMOVE.L <ea>,FPIAR                      --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000
  5030:       //FMOVE.L <ea>,FPSR                       --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000
  5031:       //FMOVE.L <ea>,FPCR                       --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000
  5032:       //FMOVEM.L <ea>,FPIAR                     --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000
  5033:       //FMOVEM.L <ea>,FPSR                      --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000
  5034:       //FMOVEM.L <ea>,FPCR                      --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000
  5035:       //FMOVEM.L <ea>,FPSR/FPIAR                --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_011_000_000_0000
  5036:       //FMOVEM.L #<data>,#<data>,FPSR/FPIAR     --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_011_000_000_0000-{data}
  5037:       //FMOVEM.L <ea>,FPCR/FPIAR                --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_101_000_000_0000
  5038:       //FMOVEM.L #<data>,#<data>,FPCR/FPIAR     --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_101_000_000_0000-{data}
  5039:       //FMOVEM.L <ea>,FPCR/FPSR                 --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_110_000_000_0000
  5040:       //FMOVEM.L #<data>,#<data>,FPCR/FPSR      --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_110_000_000_0000-{data}
  5041:       //FMOVEM.L <ea>,FPCR/FPSR/FPIAR           --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_111_000_000_0000
  5042:       //FMOVEM.L #<d>,#<d>,#<d>,FPCR/FPSR/FPIAR --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_111_000_000_0000-{data}
  5043:       //FMOVE.L FPIAR,<ea>                      --CC46|-|-----|-----|DAM+-WXZ  |1111_001_000_mmm_rrr-101_001_000_000_0000
  5044:       //FMOVE.L FPSR,<ea>                       --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_010_000_000_0000
  5045:       //FMOVE.L FPCR,<ea>                       --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_100_000_000_0000
  5046:       //FMOVEM.L FPIAR,<ea>                     --CC46|-|-----|-----|DAM+-WXZ  |1111_001_000_mmm_rrr-101_001_000_000_0000
  5047:       //FMOVEM.L FPSR,<ea>                      --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_010_000_000_0000
  5048:       //FMOVEM.L FPCR,<ea>                      --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_100_000_000_0000
  5049:       //FMOVEM.L FPSR/FPIAR,<ea>                --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_011_000_000_0000
  5050:       //FMOVEM.L FPCR/FPIAR,<ea>                --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_101_000_000_0000
  5051:       //FMOVEM.L FPCR/FPSR,<ea>                 --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_110_000_000_0000
  5052:       //FMOVEM.L FPCR/FPSR/FPIAR,<ea>           --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_111_000_000_0000
  5053:       //FMOVEM.X <ea>,#<data>                   --CC46|-|-----|-----|  M+ WXZP |1111_001_000_mmm_rrr-110_100_00d_ddd_dddd
  5054:       //FMOVEM.X <ea>,<list>                    --CC46|-|-----|-----|  M+ WXZP |1111_001_000_mmm_rrr-110_100_00l_lll_llll
  5055:       //FMOVEM.X <ea>,Dl                        --CC4S|-|-----|-----|  M+ WXZP |1111_001_000_mmm_rrr-110_110_000_lll_0000
  5056:       //FMOVEM.X #<data>,-(Ar)                  --CC46|-|-----|-----|    -     |1111_001_000_100_rrr-111_000_00d_ddd_dddd
  5057:       //FMOVEM.X #<data>,<ea>                   --CC46|-|-----|-----|  M  WXZ  |1111_001_000_mmm_rrr-111_100_00d_ddd_dddd
  5058:       //FMOVEM.X <list>,-(Ar)                   --CC46|-|-----|-----|    -     |1111_001_000_100_rrr-111_000_00l_lll_llll
  5059:       //FMOVEM.X <list>,<ea>                    --CC46|-|-----|-----|  M  WXZ  |1111_001_000_mmm_rrr-111_100_00l_lll_llll
  5060:       //FMOVEM.X Dl,-(Ar)                       --CC4S|-|-----|-----|    -     |1111_001_000_100_rrr-111_010_000_lll_0000
  5061:       //FMOVEM.X Dl,<ea>                        --CC4S|-|-----|-----|  M  WXZ  |1111_001_000_mmm_rrr-111_110_000_lll_0000
  5062:     case 0b1111_001_000: return disFgen (sb);
  5063: 
  5064:       //FDBcc Dr,<label>                        --CC4S|-|-----|-----|          |1111_001_001_001_rrr-000_000_000_0cc_cccc-{offset}
  5065:       //FTRAPcc.W #<data>                       --CC4S|-|-----|-----|          |1111_001_001_111_010-000_000_000_0cc_cccc-{data}
  5066:       //FTRAPcc.L #<data>                       --CC4S|-|-----|-----|          |1111_001_001_111_011-000_000_000_0cc_cccc-{data}
  5067:       //FTRAPcc                                 --CC4S|-|-----|-----|          |1111_001_001_111_100-000_000_000_0cc_cccc
  5068:       //FScc.B <ea>                             --CC4S|-|-----|-----|D M+-WXZ  |1111_001_001_mmm_rrr-000_000_000_0cc_cccc
  5069:     case 0b1111_001_001: return disFscc (sb);
  5070: 
  5071:       //FNOP                                    --CC46|-|-----|-----|          |1111_001_010_000_000-000_000_000_000_0000
  5072:       //FBcc.W <label>                          --CC46|-|-----|-----|          |1111_001_010_ccc_ccc-{offset}
  5073:     case 0b1111_001_010: return disFbccWord (sb);
  5074: 
  5075:       //FBcc.L <label>                          --CC46|-|-----|-----|          |1111_001_011_ccc_ccc-{offset}
  5076:     case 0b1111_001_011: return disFbccLong (sb);
  5077: 
  5078:       //FSAVE <ea>                              --CC46|P|-----|-----|  M -WXZ  |1111_001_100_mmm_rrr
  5079:     case 0b1111_001_100: return disFsave (sb);
  5080: 
  5081:       //FRESTORE <ea>                           --CC46|P|-----|-----|  M+ WXZP |1111_001_101_mmm_rrr
  5082:     case 0b1111_001_101: return disFrestore (sb);
  5083: 
  5084:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  5085:     case 0b1111_001_110:
  5086:     case 0b1111_001_111: return disFline (sb);
  5087: 
  5088:       //CINVL NC,(An)                           ----46|P|-----|-----|          |1111_010_000_001_nnn
  5089:       //CINVP NC,(An)                           ----46|P|-----|-----|          |1111_010_000_010_nnn
  5090:       //CINVA NC                                ----46|P|-----|-----|          |1111_010_000_011_000
  5091:       //CPUSHL NC,(An)                          ----46|P|-----|-----|          |1111_010_000_101_nnn
  5092:       //INTOUCH (An)                            ------|P|-----|-----|          |1111_010_000_101_nnn    (ISA_B)
  5093:       //CPUSHP NC,(An)                          ----46|P|-----|-----|          |1111_010_000_110_nnn
  5094:       //CPUSHA NC                               ----46|P|-----|-----|          |1111_010_000_111_000
  5095:     case 0b1111_010_000: return disCinvCpush (sb);
  5096: 
  5097:       //CINVL DC,(An)                           ----46|P|-----|-----|          |1111_010_001_001_nnn
  5098:       //CINVP DC,(An)                           ----46|P|-----|-----|          |1111_010_001_010_nnn
  5099:       //CINVA DC                                ----46|P|-----|-----|          |1111_010_001_011_000
  5100:       //CPUSHL DC,(An)                          ----46|P|-----|-----|          |1111_010_001_101_nnn
  5101:       //CPUSHP DC,(An)                          ----46|P|-----|-----|          |1111_010_001_110_nnn
  5102:       //CPUSHA DC                               ----46|P|-----|-----|          |1111_010_001_111_000
  5103:     case 0b1111_010_001: return disCinvCpush (sb);
  5104: 
  5105:       //CINVL IC,(An)                           ----46|P|-----|-----|          |1111_010_010_001_nnn
  5106:       //CINVP IC,(An)                           ----46|P|-----|-----|          |1111_010_010_010_nnn
  5107:       //CINVA IC                                ----46|P|-----|-----|          |1111_010_010_011_000
  5108:       //CPUSHL IC,(An)                          ----46|P|-----|-----|          |1111_010_010_101_nnn
  5109:       //CPUSHP IC,(An)                          ----46|P|-----|-----|          |1111_010_010_110_nnn
  5110:       //CPUSHA IC                               ----46|P|-----|-----|          |1111_010_010_111_000
  5111:     case 0b1111_010_010: return disCinvCpush (sb);
  5112: 
  5113:       //CINVL BC,(An)                           ----46|P|-----|-----|          |1111_010_011_001_nnn
  5114:       //CINVP BC,(An)                           ----46|P|-----|-----|          |1111_010_011_010_nnn
  5115:       //CINVA BC                                ----46|P|-----|-----|          |1111_010_011_011_000
  5116:       //CPUSHL BC,(An)                          ----46|P|-----|-----|          |1111_010_011_101_nnn
  5117:       //CPUSHP BC,(An)                          ----46|P|-----|-----|          |1111_010_011_110_nnn
  5118:       //CPUSHA BC                               ----46|P|-----|-----|          |1111_010_011_111_000
  5119:     case 0b1111_010_011: return disCinvCpush (sb);
  5120: 
  5121:       //PFLUSHN (An)                            ----46|P|-----|-----|          |1111_010_100_000_nnn
  5122:       //PFLUSH (An)                             ----46|P|-----|-----|          |1111_010_100_001_nnn
  5123:       //PFLUSHAN                                ----46|P|-----|-----|          |1111_010_100_010_000
  5124:       //PFLUSHA                                 ----46|P|-----|-----|          |1111_010_100_011_000
  5125:     case 0b1111_010_100: return disPflush (sb);
  5126: 
  5127:       //PTESTW (An)                             ----4-|P|-----|-----|          |1111_010_101_001_nnn
  5128:       //PTESTR (An)                             ----4-|P|-----|-----|          |1111_010_101_101_nnn
  5129:     case 0b1111_010_101: return disPtest (sb);
  5130: 
  5131:       //PLPAW (An)                              -----6|P|-----|-----|          |1111_010_110_001_nnn
  5132:     case 0b1111_010_110: return disPlpaw (sb);
  5133: 
  5134:       //PLPAR (An)                              -----6|P|-----|-----|          |1111_010_111_001_nnn
  5135:     case 0b1111_010_111: return disPlpar (sb);
  5136: 
  5137:       //MOVE16 (An)+,xxx.L                      ----46|-|-----|-----|          |1111_011_000_000_nnn-{address}
  5138:       //MOVE16 xxx.L,(An)+                      ----46|-|-----|-----|          |1111_011_000_001_nnn-{address}
  5139:       //MOVE16 (An),xxx.L                       ----46|-|-----|-----|          |1111_011_000_010_nnn-{address}
  5140:       //MOVE16 xxx.L,(An)                       ----46|-|-----|-----|          |1111_011_000_011_nnn-{address}
  5141:       //MOVE16 (Ax)+,(Ay)+                      ----46|-|-----|-----|          |1111_011_000_100_xxx-1yyy000000000000
  5142:     case 0b1111_011_000: return disMove16 (sb);
  5143: 
  5144:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  5145:     case 0b1111_011_001:
  5146:     case 0b1111_011_010:
  5147:     case 0b1111_011_011:
  5148:     case 0b1111_011_100:
  5149:     case 0b1111_011_101:
  5150:     case 0b1111_011_110:
  5151:     case 0b1111_011_111: return disFline (sb);
  5152: 
  5153:       //LPSTOP.W #<data>                        -----6|P|-----|-----|          |1111_100_000_000_000-0000000111000000-{data}
  5154:     case 0b1111_100_000: return disLpstop (sb);
  5155: 
  5156:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  5157:     case 0b1111_100_001:
  5158:     case 0b1111_100_010:
  5159:     case 0b1111_100_011:
  5160:     case 0b1111_100_100:
  5161:     case 0b1111_100_101:
  5162:     case 0b1111_100_110:
  5163:     case 0b1111_100_111:
  5164:     case 0b1111_101_000:
  5165:     case 0b1111_101_001:
  5166:     case 0b1111_101_010:
  5167:     case 0b1111_101_011: return disFline (sb);
  5168: 
  5169:       //WDDATA.B <ea>                           ------|-|-----|-----|  M+-WXZ  |1111_101_100_mmm_rrr    (ISA_A)
  5170:     case 0b1111_101_100: return disWddataByte (sb);
  5171: 
  5172:       //WDDATA.W <ea>                           ------|-|-----|-----|  M+-WXZ  |1111_101_101_mmm_rrr    (ISA_A)
  5173:     case 0b1111_101_101: return disWddataWord (sb);
  5174: 
  5175:       //WDDATA.L <ea>                           ------|-|-----|-----|  M+-WXZ  |1111_101_110_mmm_rrr    (ISA_A)
  5176:     case 0b1111_101_110: return disWddataLong (sb);
  5177: 
  5178:       //WDEBUG.L <ea>                           ------|P|-----|-----|  M  W    |1111_101_111_mmm_rrr-0000000000000011   (ISA_A)
  5179:     case 0b1111_101_111: return disWdebug (sb);
  5180: 
  5181:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  5182:     case 0b1111_110_000:
  5183:     case 0b1111_110_001:
  5184:     case 0b1111_110_010:
  5185:     case 0b1111_110_011:
  5186:     case 0b1111_110_100:
  5187:     case 0b1111_110_101:
  5188:     case 0b1111_110_110:
  5189:     case 0b1111_110_111: return disFline (sb);
  5190: 
  5191:       //FPACK <name>                            012346|-|-----|-----|          |1111_111_0xx_xxx_xxx
  5192:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  5193:     case 0b1111_111_000:
  5194:     case 0b1111_111_001:
  5195:     case 0b1111_111_010:
  5196:     case 0b1111_111_011: return disFpack (sb);
  5197: 
  5198:       //DOS <name>                              012346|-|-----|-----|          |1111_111_1xx_xxx_xxx
  5199:       //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  5200:     case 0b1111_111_100:
  5201:     case 0b1111_111_101:
  5202:     case 0b1111_111_110:
  5203:     case 0b1111_111_111: return disDos (sb);
  5204: 
  5205:     }
  5206:     return disIllegal (sb);
  5207:   }  //disDisassemble(StringBuilder,int,int)
  5208: 
  5209:   //ORI.B #<data>,CCR                       012346|-|*****|*****|          |0000_000_000_111_100-{data}
  5210:   //ORI.B #<data>,<ea>                      012346|-|-UUUU|-**00|D M+-WXZ  |0000_000_000_mmm_rrr-{data}
  5211:   public static StringBuilder disOriByte (StringBuilder sb) {
  5212:     int ea = disOC & 63;
  5213:     if (XEiJ.EAM_DLT << ea < 0L) {
  5214:       return disEab (disIMb (sb.append ("ori.b   ")).append (','), ea);
  5215:     }
  5216:     if (ea == 0b111_100) {
  5217:       return disIMb (sb.append ("ori.b   ")).append (",ccr");
  5218:     }
  5219:     return disIllegal (sb);
  5220:   }  //disOriByte(StringBuilder)
  5221: 
  5222:   //ORI.W #<data>,SR                        012346|P|*****|*****|          |0000_000_001_111_100-{data}
  5223:   //ORI.W #<data>,<ea>                      012346|-|-UUUU|-**00|D M+-WXZ  |0000_000_001_mmm_rrr-{data}
  5224:   public static StringBuilder disOriWord (StringBuilder sb) {
  5225:     int ea = disOC & 63;
  5226:     if (XEiJ.EAM_DLT << ea < 0L) {
  5227:       return disEaw (disIMw (sb.append ("ori.w   ")).append (','), ea);
  5228:     }
  5229:     if (ea == 0b111_100) {
  5230:       return disIMw (sb.append ("ori.w   ")).append (",sr");
  5231:     }
  5232:     return disIllegal (sb);
  5233:   }  //disOriWord(StringBuilder)
  5234: 
  5235:   //ORI.L #<data>,<ea>                      012346|-|-UUUU|-**00|D M+-WXZ  |0000_000_010_mmm_rrr-{data}
  5236:   public static StringBuilder disOriLong (StringBuilder sb) {
  5237:     int ea = disOC & 63;
  5238:     if (XEiJ.EAM_DLT << ea < 0L) {
  5239:       return disEal (disIMl (sb.append ("ori.l   ")).append (','), ea);
  5240:     }
  5241:     return disIllegal (sb);
  5242:   }  //disOriLong(StringBuilder)
  5243: 
  5244:   //ANDI.B #<data>,CCR                      012346|-|*****|*****|          |0000_001_000_111_100-{data}
  5245:   //ANDI.B #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_001_000_mmm_rrr-{data}
  5246:   public static StringBuilder disAndiByte (StringBuilder sb) {
  5247:     int ea = disOC & 63;
  5248:     if (XEiJ.EAM_DLT << ea < 0L) {
  5249:       return disEab (disIMb (sb.append ("andi.b  ")).append (','), ea);
  5250:     }
  5251:     if (ea == 0b111_100) {
  5252:       return disIMb (sb.append ("andi.b  ")).append (",ccr");
  5253:     }
  5254:     return disIllegal (sb);
  5255:   }  //disAndiByte(StringBuilder)
  5256: 
  5257:   //ANDI.W #<data>,SR                       012346|P|*****|*****|          |0000_001_001_111_100-{data}
  5258:   //ANDI.W #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_001_001_mmm_rrr-{data}
  5259:   public static StringBuilder disAndiWord (StringBuilder sb) {
  5260:     int ea = disOC & 63;
  5261:     if (XEiJ.EAM_DLT << ea < 0L) {
  5262:       return disEaw (disIMw (sb.append ("andi.w  ")).append (','), ea);
  5263:     }
  5264:     if (ea == 0b111_100) {
  5265:       return disIMw (sb.append ("andi.w  ")).append (",sr");
  5266:     }
  5267:     return disIllegal (sb);
  5268:   }  //disAndiWord(StringBuilder)
  5269: 
  5270:   //ANDI.L #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_001_010_mmm_rrr-{data}
  5271:   public static StringBuilder disAndiLong (StringBuilder sb) {
  5272:     int ea = disOC & 63;
  5273:     if (XEiJ.EAM_DLT << ea < 0L) {
  5274:       return disEal (disIMl (sb.append ("andi.l  ")).append (','), ea);
  5275:     }
  5276:     return disIllegal (sb);
  5277:   }  //disAndiLong(StringBuilder)
  5278: 
  5279:   //SUBI.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_010_000_mmm_rrr-{data}
  5280:   public static StringBuilder disSubiByte (StringBuilder sb) {
  5281:     int ea = disOC & 63;
  5282:     if (XEiJ.EAM_DLT << ea < 0L) {
  5283:       return disEab (disIMb (sb.append ("subi.b  ")).append (','), ea);
  5284:     }
  5285:     return disIllegal (sb);
  5286:   }  //disSubiByte(StringBuilder)
  5287: 
  5288:   //SUBI.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_010_001_mmm_rrr-{data}
  5289:   public static StringBuilder disSubiWord (StringBuilder sb) {
  5290:     int ea = disOC & 63;
  5291:     if (XEiJ.EAM_DLT << ea < 0L) {
  5292:       return disEaw (disIMw (sb.append ("subi.w  ")).append (','), ea);
  5293:     }
  5294:     return disIllegal (sb);
  5295:   }  //disSubiWord(StringBuilder)
  5296: 
  5297:   //SUBI.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_010_010_mmm_rrr-{data}
  5298:   public static StringBuilder disSubiLong (StringBuilder sb) {
  5299:     int ea = disOC & 63;
  5300:     if (XEiJ.EAM_DLT << ea < 0L) {
  5301:       return disEal (disIMl (sb.append ("subi.l  ")).append (','), ea);
  5302:     }
  5303:     return disIllegal (sb);
  5304:   }  //disSubiLong(StringBuilder)
  5305: 
  5306:   //BITREV.L Dr                             ------|-|-----|-----|          |0000_000_011_000_rrr    (ISA_C)
  5307:   //CMP2.B <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_000_011_mmm_rrr-rnnn_000_000_000_000
  5308:   //CHK2.B <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_000_011_mmm_rrr-rnnn_100_000_000_000
  5309:   public static StringBuilder disCmp2Chk2Byte (StringBuilder sb) {
  5310:     int ea = disOC & 63;
  5311:     if (XEiJ.EAM_CNT << ea < 0L) {
  5312:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  5313:       if ((w & ~0b1111_100_000_000_000) == 0) {
  5314:         return disRn (disEab (sb.append ((w & 0b0000_100_000_000_000) == 0 ? "cmp2.b  " : "chk2.b  "), ea).append (','), w >> 12);
  5315:       }
  5316:       return disIllegal (sb);
  5317:     }
  5318:     int mmm = ea >> 3;
  5319:     int rrr = ea & 7;
  5320:     if (mmm == XEiJ.MMM_DR) {
  5321:       return disDR (sb.append ("bitrev.l "), rrr);
  5322:     }
  5323:     return disIllegal (sb);
  5324:   }  //disCmp2Chk2Byte(StringBuilder)
  5325: 
  5326:   //BYTEREV.L Dr                            ------|-|-----|-----|          |0000_001_011_000_rrr    (ISA_C)
  5327:   //CMP2.W <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_001_011_mmm_rrr-rnnn_000_000_000_000
  5328:   //CHK2.W <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_001_011_mmm_rrr-rnnn_100_000_000_000
  5329:   public static StringBuilder disCmp2Chk2Word (StringBuilder sb) {
  5330:     int ea = disOC & 63;
  5331:     if (XEiJ.EAM_CNT << ea < 0L) {
  5332:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  5333:       if ((w & ~0b1111_100_000_000_000) == 0) {
  5334:         return disRn (disEaw (sb.append ((w & 0b0000_100_000_000_000) == 0 ? "cmp2.w  " : "chk2.w  "), ea).append (','), w >> 12);
  5335:       }
  5336:       return disIllegal (sb);
  5337:     }
  5338:     int mmm = ea >> 3;
  5339:     int rrr = ea & 7;
  5340:     if (mmm == XEiJ.MMM_DR) {
  5341:       return disDR (sb.append ("byterev.l "), rrr);
  5342:     }
  5343:     return disIllegal (sb);
  5344:   }  //disCmp2Chk2Word(StringBuilder)
  5345: 
  5346:   //FF1.L Dr                                ------|-|-UUUU|-**00|          |0000_010_011_000_rrr    (ISA_C)
  5347:   //CMP2.L <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_010_011_mmm_rrr-rnnn_000_000_000_000
  5348:   //CHK2.L <ea>,Rn                          --234S|-|-UUUU|-U*U*|  M  WXZP |0000_010_011_mmm_rrr-rnnn_100_000_000_000
  5349:   public static StringBuilder disCmp2Chk2Long (StringBuilder sb) {
  5350:     int ea = disOC & 63;
  5351:     if (XEiJ.EAM_CNT << ea < 0L) {
  5352:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  5353:       if ((w & ~0b1111_100_000_000_000) == 0) {
  5354:         return disRn (disEal (sb.append ((w & 0b0000_100_000_000_000) == 0 ? "cmp2.l  " : "chk2.l  "), ea).append (','), w >> 12);
  5355:       }
  5356:       return disIllegal (sb);
  5357:     }
  5358:     int mmm = ea >> 3;
  5359:     int rrr = ea & 7;
  5360:     if (mmm == XEiJ.MMM_DR) {
  5361:       return disDR (sb.append ("ff1.l   "), rrr);
  5362:     }
  5363:     return disIllegal (sb);
  5364:   }  //disCmp2Chk2Long(StringBuilder)
  5365: 
  5366:   //ADDI.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_011_000_mmm_rrr-{data}
  5367:   public static StringBuilder disAddiByte (StringBuilder sb) {
  5368:     int ea = disOC & 63;
  5369:     if (XEiJ.EAM_DLT << ea < 0L) {
  5370:       return disEab (disIMb (sb.append ("addi.b  ")).append (','), ea);
  5371:     }
  5372:     return disIllegal (sb);
  5373:   }  //disAddiByte(StringBuilder)
  5374: 
  5375:   //ADDI.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_011_001_mmm_rrr-{data}
  5376:   public static StringBuilder disAddiWord (StringBuilder sb) {
  5377:     int ea = disOC & 63;
  5378:     if (XEiJ.EAM_DLT << ea < 0L) {
  5379:       return disEaw (disIMw (sb.append ("addi.w  ")).append (','), ea);
  5380:     }
  5381:     return disIllegal (sb);
  5382:   }  //disAddiWord(StringBuilder)
  5383: 
  5384:   //ADDI.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0000_011_010_mmm_rrr-{data}
  5385:   public static StringBuilder disAddiLong (StringBuilder sb) {
  5386:     int ea = disOC & 63;
  5387:     if (XEiJ.EAM_DLT << ea < 0L) {
  5388:       return disEal (disIMl (sb.append ("addi.l  ")).append (','), ea);
  5389:     }
  5390:     return disIllegal (sb);
  5391:   }  //disAddiLong(StringBuilder)
  5392: 
  5393:   //RTM Rn                                  --2---|-|UUUUU|*****|          |0000_011_011_00n_nnn
  5394:   //CALLM #<data>,<ea>                      --2---|-|-----|-----|  M  WXZP |0000_011_011_mmm_rrr-0000_000_0dd_ddd_ddd
  5395:   public static StringBuilder disCallm (StringBuilder sb) {
  5396:     int ea = disOC & 63;
  5397:     if (XEiJ.EAM_CNT << ea < 0L) {
  5398:       return disEaw (disIMb (sb.append ("callm   ")).append (','), ea);
  5399:     }
  5400:     if (ea <= 15) {
  5401:       return disRn (sb.append ("rtm     "), ea);
  5402:     }
  5403:     return disIllegal (sb);
  5404:   }  //disCallm(StringBuilder)
  5405: 
  5406:   public static final String[] DIS_BXXX = { "btst", "bchg", "bclr", "bset" };
  5407: 
  5408:   //BTST.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_000_000_rrr-{data}
  5409:   //BTST.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZP |0000_100_000_mmm_rrr-{data}
  5410:   public static StringBuilder disBtstImm (StringBuilder sb) {
  5411:     int ea = disOC & 63;
  5412:     if (XEiJ.EAM_MEM << ea < 0L) {
  5413:       return disEab (disIMb (sb.append ("btst.b  ")).append (','), ea);
  5414:     }
  5415:     int mmm = ea >> 3;
  5416:     int rrr = ea & 7;
  5417:     if (mmm == XEiJ.MMM_DR) {
  5418:       return disDR (disIMb (sb.append ("btst.l  ")).append (','), rrr);
  5419:     }
  5420:     return disIllegal (sb);
  5421:   }  //disBtstImm(StringBuilder)
  5422: 
  5423:   //BCHG.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_001_000_rrr-{data}
  5424:   //BCHG.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZ  |0000_100_001_mmm_rrr-{data}
  5425:   public static StringBuilder disBchgImm (StringBuilder sb) {
  5426:     int ea = disOC & 63;
  5427:     if (XEiJ.EAM_MLT << ea < 0L) {
  5428:       return disEab (disIMb (sb.append ("bchg.b  ")).append (','), ea);
  5429:     }
  5430:     int mmm = ea >> 3;
  5431:     int rrr = ea & 7;
  5432:     if (mmm == XEiJ.MMM_DR) {
  5433:       return disDR (disIMb (sb.append ("bchg.l  ")).append (','), rrr);
  5434:     }
  5435:     return disIllegal (sb);
  5436:   }  //disBchgImm(StringBuilder)
  5437: 
  5438:   //BCLR.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_010_000_rrr-{data}
  5439:   //BCLR.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZ  |0000_100_010_mmm_rrr-{data}
  5440:   public static StringBuilder disBclrImm (StringBuilder sb) {
  5441:     int ea = disOC & 63;
  5442:     if (XEiJ.EAM_MLT << ea < 0L) {
  5443:       return disEab (disIMb (sb.append ("bclr.b  ")).append (','), ea);
  5444:     }
  5445:     int mmm = ea >> 3;
  5446:     int rrr = ea & 7;
  5447:     if (mmm == XEiJ.MMM_DR) {
  5448:       return disDR (disIMb (sb.append ("bclr.l  ")).append (','), rrr);
  5449:     }
  5450:     return disIllegal (sb);
  5451:   }  //disBclrImm(StringBuilder)
  5452: 
  5453:   //BSET.L #<data>,Dr                       012346|-|--U--|--*--|          |0000_100_011_000_rrr-{data}
  5454:   //BSET.B #<data>,<ea>                     012346|-|--U--|--*--|  M+-WXZ  |0000_100_011_mmm_rrr-{data}
  5455:   public static StringBuilder disBsetImm (StringBuilder sb) {
  5456:     int ea = disOC & 63;
  5457:     if (XEiJ.EAM_MLT << ea < 0L) {
  5458:       return disEab (disIMb (sb.append ("bset.b  ")).append (','), ea);
  5459:     }
  5460:     int mmm = ea >> 3;
  5461:     int rrr = ea & 7;
  5462:     if (mmm == XEiJ.MMM_DR) {
  5463:       return disDR (disIMb (sb.append ("bset.l  ")).append (','), rrr);
  5464:     }
  5465:     return disIllegal (sb);
  5466:   }  //disBsetImm(StringBuilder)
  5467: 
  5468:   //EORI.B #<data>,CCR                      012346|-|*****|*****|          |0000_101_000_111_100-{data}
  5469:   //EORI.B #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_101_000_mmm_rrr-{data}
  5470:   public static StringBuilder disEoriByte (StringBuilder sb) {
  5471:     int ea = disOC & 63;
  5472:     if (XEiJ.EAM_DLT << ea < 0L) {
  5473:       return disEab (disIMb (sb.append ("eori.b  ")).append (','), ea);
  5474:     }
  5475:     if (ea == 0b111_100) {
  5476:       return disIMb (sb.append ("eori.b  ")).append (",ccr");
  5477:     }
  5478:     return disIllegal (sb);
  5479:   }  //disEoriByte(StringBuilder)
  5480: 
  5481:   //EORI.W #<data>,SR                       012346|P|*****|*****|          |0000_101_001_111_100-{data}
  5482:   //EORI.W #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_101_001_mmm_rrr-{data}
  5483:   public static StringBuilder disEoriWord (StringBuilder sb) {
  5484:     int ea = disOC & 63;
  5485:     if (XEiJ.EAM_DLT << ea < 0L) {
  5486:       return disEaw (disIMw (sb.append ("eori.w  ")).append (','), ea);
  5487:     }
  5488:     if (ea == 0b111_100) {
  5489:       return disIMw (sb.append ("eori.w  ")).append (",sr");
  5490:     }
  5491:     return disIllegal (sb);
  5492:   }  //disEoriWord(StringBuilder)
  5493: 
  5494:   //EORI.L #<data>,<ea>                     012346|-|-UUUU|-**00|D M+-WXZ  |0000_101_010_mmm_rrr-{data}
  5495:   public static StringBuilder disEoriLong (StringBuilder sb) {
  5496:     int ea = disOC & 63;
  5497:     if (XEiJ.EAM_DLT << ea < 0L) {
  5498:       return disEal (disIMl (sb.append ("eori.l  ")).append (','), ea);
  5499:     }
  5500:     return disIllegal (sb);
  5501:   }  //disEoriLong(StringBuilder)
  5502: 
  5503:   //CAS.B Dc,Du,<ea>                        --2346|-|-UUUU|-****|  M+-WXZ  |0000_101_011_mmm_rrr-0000_000_uuu_000_ccc
  5504:   public static StringBuilder disCasByte (StringBuilder sb) {
  5505:     int ea = disOC & 63;
  5506:     if (XEiJ.EAM_MLT << ea < 0L) {
  5507:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5508:       if ((w & ~0b0000_000_111_000_111) == 0) {
  5509:         return disEab (disDR (disDR (sb.append ("cas.b   "),
  5510:                                      w & 7).append (','),
  5511:                               w >> 6 & 7).append (','),
  5512:                        ea);
  5513:       }
  5514:     }
  5515:     return disIllegal (sb);
  5516:   }  //disCasByte(StringBuilder)
  5517: 
  5518:   //CMPI.B #<data>,<ea>                     012346|-|-UUUU|-****|D M+-WXZ  |0000_110_000_mmm_rrr-{data}
  5519:   //CMPI.B #<data>,<ea>                     --2346|-|-UUUU|-****|        P |0000_110_000_mmm_rrr-{data}
  5520:   public static StringBuilder disCmpiByte (StringBuilder sb) {
  5521:     int ea = disOC & 63;
  5522:     if (XEiJ.EAM_DME << ea < 0L) {
  5523:       return disEab (disIMb (sb.append ("cmpi.b  ")).append (','), ea);
  5524:     }
  5525:     return disIllegal (sb);
  5526:   }  //disCmpiByte(StringBuilder)
  5527: 
  5528:   //CMPI.W #<data>,<ea>                     012346|-|-UUUU|-****|D M+-WXZ  |0000_110_001_mmm_rrr-{data}
  5529:   //CMPI.W #<data>,<ea>                     --2346|-|-UUUU|-****|        P |0000_110_001_mmm_rrr-{data}
  5530:   public static StringBuilder disCmpiWord (StringBuilder sb) {
  5531:     int ea = disOC & 63;
  5532:     if (XEiJ.EAM_DME << ea < 0L) {
  5533:       return disEaw (disIMw (sb.append ("cmpi.w  ")).append (','), ea);
  5534:     }
  5535:     return disIllegal (sb);
  5536:   }  //disCmpiWord(StringBuilder)
  5537: 
  5538:   //CMPI.L #<data>,<ea>                     012346|-|-UUUU|-****|D M+-WXZ  |0000_110_010_mmm_rrr-{data}
  5539:   //CMPI.L #<data>,<ea>                     --2346|-|-UUUU|-****|        P |0000_110_010_mmm_rrr-{data}
  5540:   public static StringBuilder disCmpiLong (StringBuilder sb) {
  5541:     int ea = disOC & 63;
  5542:     if (XEiJ.EAM_DME << ea < 0L) {
  5543:       return disEal (disIMl (sb.append ("cmpi.l  ")).append (','), ea);
  5544:     }
  5545:     return disIllegal (sb);
  5546:   }  //disCmpiLong(StringBuilder)
  5547: 
  5548:   //CAS2.W Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)      --234S|-|-UUUU|-****|          |0000_110_011_111_100-rnnn_000_uuu_000_ccc(1)-rnnn_000_uuu_000_ccc(2)
  5549:   //CAS.W Dc,Du,<ea>                        --2346|-|-UUUU|-****|  M+-WXZ  |0000_110_011_mmm_rrr-0000_000_uuu_000_ccc       (68060 software emulate misaligned <ea>)
  5550:   public static StringBuilder disCasWord (StringBuilder sb) {
  5551:     int ea = disOC & 63;
  5552:     if (XEiJ.EAM_MLT << ea < 0L) {
  5553:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5554:       if ((w & ~0b0000_000_111_000_111) == 0) {
  5555:         return disEaw (disDR (disDR (sb.append ("cas.w   "),
  5556:                                      w & 7).append (','),
  5557:                               w >> 6 & 7).append (','),
  5558:                        ea);
  5559:       }
  5560:     } else if (ea == 0b111_100) {
  5561:       int w1 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5562:       if ((w1 & ~0b1111_000_111_000_111) == 0) {
  5563:         int w2 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5564:         if ((w2 & ~0b1111_000_111_000_111) == 0) {
  5565:           return disRn (disRn (disDR (disDR (disDR (disDR (sb.append ("cas2.w  "),
  5566:                                                            w1 & 7).append (':'),
  5567:                                                     w2 & 7).append (','),
  5568:                                              w1 >> 6 & 7).append (':'),
  5569:                                       w2 >> 6 & 7).append (",("),
  5570:                                w1 >> 12).append ("):("),
  5571:                         w2 >> 12).append (')');
  5572:         }
  5573:       }
  5574:     }
  5575:     return disIllegal (sb);
  5576:   }  //disCasWord(StringBuilder)
  5577: 
  5578:   //MOVES.B <ea>,Rn                         -12346|P|-----|-----|  M+-WXZ  |0000_111_000_mmm_rrr-rnnn_000_000_000_000
  5579:   //MOVES.B Rn,<ea>                         -12346|P|-----|-----|  M+-WXZ  |0000_111_000_mmm_rrr-rnnn_100_000_000_000
  5580:   //  MOVES.B An,(An)+とMOVES.B An,-(An)で書き込まれるAnが更新前か更新後かは定義されていない
  5581:   public static StringBuilder disMovesByte (StringBuilder sb) {
  5582:     int ea = disOC & 63;
  5583:     if (XEiJ.EAM_MLT << ea < 0L) {
  5584:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5585:       if ((w & ~0b1111_100_000_000_000) == 0) {
  5586:         if ((w & 0b0000_100_000_000_000) == 0) {
  5587:           return disRn (disEab (sb.append ("moves.b "), ea).append (','), w >> 12);
  5588:         } else {
  5589:           return disEab (disRn (sb.append ("moves.b "), w >> 12).append (','), ea);
  5590:         }
  5591:       }
  5592:     }
  5593:     return disIllegal (sb);
  5594:   }  //disMovesByte(StringBuilder)
  5595: 
  5596:   //MOVES.W <ea>,Rn                         -12346|P|-----|-----|  M+-WXZ  |0000_111_001_mmm_rrr-rnnn_000_000_000_000
  5597:   //MOVES.W Rn,<ea>                         -12346|P|-----|-----|  M+-WXZ  |0000_111_001_mmm_rrr-rnnn_100_000_000_000
  5598:   //  MOVES.W An,(An)+とMOVES.W An,-(An)で書き込まれるAnが更新前か更新後かは定義されていない
  5599:   public static StringBuilder disMovesWord (StringBuilder sb) {
  5600:     int ea = disOC & 63;
  5601:     if (XEiJ.EAM_MLT << ea < 0L) {
  5602:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5603:       if ((w & ~0b1111_100_000_000_000) == 0) {
  5604:         if ((w & 0b0000_100_000_000_000) == 0) {
  5605:           return disRn (disEaw (sb.append ("moves.w "), ea).append (','), w >> 12);
  5606:         } else {
  5607:           return disEaw (disRn (sb.append ("moves.w "), w >> 12).append (','), ea);
  5608:         }
  5609:       }
  5610:     }
  5611:     return disIllegal (sb);
  5612:   }  //disMovesWord(StringBuilder)
  5613: 
  5614:   //MOVES.L <ea>,Rn                         -12346|P|-----|-----|  M+-WXZ  |0000_111_010_mmm_rrr-rnnn_000_000_000_000
  5615:   //MOVES.L Rn,<ea>                         -12346|P|-----|-----|  M+-WXZ  |0000_111_010_mmm_rrr-rnnn_100_000_000_000
  5616:   //  MOVES.L An,(An)+とMOVES.L An,-(An)で書き込まれるAnが更新前か更新後かは定義されていない
  5617:   public static StringBuilder disMovesLong (StringBuilder sb) {
  5618:     int ea = disOC & 63;
  5619:     if (XEiJ.EAM_MLT << ea < 0L) {
  5620:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5621:       if ((w & ~0b1111_100_000_000_000) == 0) {
  5622:         if ((w & 0b0000_100_000_000_000) == 0) {
  5623:           return disRn (disEal (sb.append ("moves.l "), ea).append (','), w >> 12);
  5624:         } else {
  5625:           return disEal (disRn (sb.append ("moves.l "), w >> 12).append (','), ea);
  5626:         }
  5627:       }
  5628:     }
  5629:     return disIllegal (sb);
  5630:   }  //disMovesLong(StringBuilder)
  5631: 
  5632:   //CAS2.L Dc1:Dc2,Du1:Du2,(Rn1):(Rn2)      --234S|-|-UUUU|-****|          |0000_111_011_111_100-rnnn_000_uuu_000_ccc(1)-rnnn_000_uuu_000_ccc(2)
  5633:   //CAS.L Dc,Du,<ea>                        --2346|-|-UUUU|-****|  M+-WXZ  |0000_111_011_mmm_rrr-0000_000_uuu_000_ccc       (68060 software emulate misaligned <ea>)
  5634:   public static StringBuilder disCasLong (StringBuilder sb) {
  5635:     int ea = disOC & 63;
  5636:     if (XEiJ.EAM_MLT << ea < 0L) {
  5637:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5638:       if ((w & ~0b0000_000_111_000_111) == 0) {
  5639:         return disEal (disDR (disDR (sb.append ("cas.l   "),
  5640:                                      w & 7).append (','),
  5641:                               w >> 6 & 7).append (','),
  5642:                        ea);
  5643:       }
  5644:     } else if (ea == 0b111_100) {
  5645:       int w1 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5646:       if ((w1 & ~0b1111_000_111_000_111) == 0) {
  5647:         int w2 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  5648:         if ((w2 & ~0b1111_000_111_000_111) == 0) {
  5649:           return disRn (disRn (disDR (disDR (disDR (disDR (sb.append ("cas2.l  "),
  5650:                                                            w1 & 7).append (':'),
  5651:                                                     w2 & 7).append (','),
  5652:                                              w1 >> 6 & 7).append (':'),
  5653:                                       w2 >> 6 & 7).append (",("),
  5654:                                w1 >> 12).append ("):("),
  5655:                         w2 >> 12).append (')');
  5656:         }
  5657:       }
  5658:     }
  5659:     return disIllegal (sb);
  5660:   }  //disCasLong(StringBuilder)
  5661: 
  5662:   //BTST.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_100_000_rrr
  5663:   //MOVEP.W (d16,Ar),Dq                     01234S|-|-----|-----|          |0000_qqq_100_001_rrr-{data}
  5664:   //BTST.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZPI|0000_qqq_100_mmm_rrr
  5665:   public static StringBuilder disBtstReg (StringBuilder sb) {
  5666:     int qqq = disOC >> 9 & 7;
  5667:     int ea = disOC & 63;
  5668:     if (XEiJ.EAM_ANY << ea < 0L) {
  5669:       return disEab (disDR (sb.append ("btst.b  "), qqq).append (','), ea);
  5670:     }
  5671:     int mmm = ea >> 3;
  5672:     int rrr = ea & 7;
  5673:     if (mmm == XEiJ.MMM_DR) {
  5674:       return disDR (disDR (sb.append ("btst.l  "), qqq).append (','), rrr);
  5675:     }
  5676:     if (mmm == XEiJ.MMM_AR) {
  5677:       return disDR (disMW (sb.append ("movep.w "), rrr).append (','), qqq);
  5678:     }
  5679:     return disIllegal (sb);
  5680:   }  //disBtstReg(StringBuilder)
  5681: 
  5682:   //BCHG.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_101_000_rrr
  5683:   //MOVEP.L (d16,Ar),Dq                     01234S|-|-----|-----|          |0000_qqq_101_001_rrr-{data}
  5684:   //BCHG.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZ  |0000_qqq_101_mmm_rrr
  5685:   public static StringBuilder disBchgReg (StringBuilder sb) {
  5686:     int qqq = disOC >> 9 & 7;
  5687:     int ea = disOC & 63;
  5688:     if (XEiJ.EAM_MLT << ea < 0L) {
  5689:       return disEab (disDR (sb.append ("bchg.b  "), qqq).append (','), ea);
  5690:     }
  5691:     int mmm = ea >> 3;
  5692:     int rrr = ea & 7;
  5693:     if (mmm == XEiJ.MMM_DR) {
  5694:       return disDR (disDR (sb.append ("bchg.l  "), qqq).append (','), rrr);
  5695:     }
  5696:     if (mmm == XEiJ.MMM_AR) {
  5697:       return disDR (disMW (sb.append ("movep.l "), rrr).append (','), qqq);
  5698:     }
  5699:     return disIllegal (sb);
  5700:   }  //disBchgReg(StringBuilder)
  5701: 
  5702:   //BCLR.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_110_000_rrr
  5703:   //MOVEP.W Dq,(d16,Ar)                     01234S|-|-----|-----|          |0000_qqq_110_001_rrr-{data}
  5704:   //BCLR.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZ  |0000_qqq_110_mmm_rrr
  5705:   public static StringBuilder disBclrReg (StringBuilder sb) {
  5706:     int qqq = disOC >> 9 & 7;
  5707:     int ea = disOC & 63;
  5708:     if (XEiJ.EAM_MLT << ea < 0L) {
  5709:       return disEab (disDR (sb.append ("bclr.b  "), qqq).append (','), ea);
  5710:     }
  5711:     int mmm = ea >> 3;
  5712:     int rrr = ea & 7;
  5713:     if (mmm == XEiJ.MMM_DR) {
  5714:       return disDR (disDR (sb.append ("bclr.l  "), qqq).append (','), rrr);
  5715:     }
  5716:     if (mmm == XEiJ.MMM_AR) {
  5717:       return disMW (disDR (sb.append ("movep.w "), qqq).append (','), rrr);
  5718:     }
  5719:     return disIllegal (sb);
  5720:   }  //disBclrReg(StringBuilder)
  5721: 
  5722:   //BSET.L Dq,Dr                            012346|-|--U--|--*--|          |0000_qqq_111_000_rrr
  5723:   //MOVEP.L Dq,(d16,Ar)                     01234S|-|-----|-----|          |0000_qqq_111_001_rrr-{data}
  5724:   //BSET.B Dq,<ea>                          012346|-|--U--|--*--|  M+-WXZ  |0000_qqq_111_mmm_rrr
  5725:   public static StringBuilder disBsetReg (StringBuilder sb) {
  5726:     int qqq = disOC >> 9 & 7;
  5727:     int ea = disOC & 63;
  5728:     if (XEiJ.EAM_MLT << ea < 0L) {
  5729:       return disEab (disDR (sb.append ("bset.b  "), qqq).append (','), ea);
  5730:     }
  5731:     int mmm = ea >> 3;
  5732:     int rrr = ea & 7;
  5733:     if (mmm == XEiJ.MMM_DR) {
  5734:       return disDR (disDR (sb.append ("bset.l  "), qqq).append (','), rrr);
  5735:     }
  5736:     if (mmm == XEiJ.MMM_AR) {
  5737:       return disMW (disDR (sb.append ("movep.l "), qqq).append (','), rrr);
  5738:     }
  5739:     return disIllegal (sb);
  5740:   }  //disBsetReg(StringBuilder)
  5741: 
  5742:   //MOVE.B <ea>,Dq                          012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_000_mmm_rrr
  5743:   public static StringBuilder disMoveToRegByte (StringBuilder sb) {
  5744:     int qqq = disOC >> 9 & 7;
  5745:     int ea = disOC & 63;
  5746:     if (XEiJ.EAM_DAT << ea < 0L) {
  5747:       return disDR (disEab (sb.append ("move.b  "), ea).append (','), qqq);
  5748:     }
  5749:     return disIllegal (sb);
  5750:   }  //disMoveToRegByte(StringBuilder)
  5751: 
  5752:   //MOVE.B <ea>,<nnnqqq>                    012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_nnn_mmm_rrr        (nnnqqq:M+-WXZ)
  5753:   public static StringBuilder disMoveToMemByte (StringBuilder sb) {
  5754:     int qqq = disOC >> 9 & 7;
  5755:     int nnn = disOC >> 6 & 7;
  5756:     int ea = disOC & 63;
  5757:     if (XEiJ.EAM_DAT << ea < 0L) {
  5758:       return disEab (disEab (sb.append ("move.b  "), ea).append (','), nnn << 3 | qqq);
  5759:     }
  5760:     return disIllegal (sb);
  5761:   }  //disMoveToMemByte(StringBuilder)
  5762: 
  5763:   //MOVE.L <ea>,Dq                          012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_000_mmm_rrr
  5764:   public static StringBuilder disMoveToRegLong (StringBuilder sb) {
  5765:     int qqq = disOC >> 9 & 7;
  5766:     int ea = disOC & 63;
  5767:     if (XEiJ.EAM_ALL << ea < 0L) {
  5768:       return disDR (disEal (sb.append ("move.l  "), ea).append (','), qqq);
  5769:     }
  5770:     return disIllegal (sb);
  5771:   }  //disMoveToRegLong(StringBuilder)
  5772: 
  5773:   //MOVEA.L <ea>,Aq                         012346|-|-----|-----|DAM+-WXZPI|0010_qqq_001_mmm_rrr
  5774:   public static StringBuilder disMoveaLong (StringBuilder sb) {
  5775:     int qqq = disOC >> 9 & 7;
  5776:     int ea = disOC & 63;
  5777:     if (XEiJ.EAM_ALL << ea < 0L) {
  5778:       return disAR (disEal (sb.append ("movea.l "), ea).append (','), qqq);
  5779:     }
  5780:     return disIllegal (sb);
  5781:   }  //disMoveaLong(StringBuilder)
  5782: 
  5783:   //MOVE.L <ea>,<nnnqqq>                    012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_nnn_mmm_rrr        (nnnqqq:M+-WXZ)
  5784:   public static StringBuilder disMoveToMemLong (StringBuilder sb) {
  5785:     int qqq = disOC >> 9 & 7;
  5786:     int nnn = disOC >> 6 & 7;
  5787:     int ea = disOC & 63;
  5788:     if (XEiJ.EAM_ALL << ea < 0L) {
  5789:       return disEal (disEal (sb.append ("move.l  "), ea).append (','), nnn << 3 | qqq);
  5790:     }
  5791:     return disIllegal (sb);
  5792:   }  //disMoveToMemLong(StringBuilder)
  5793: 
  5794:   //MOVE.W <ea>,Dq                          012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_000_mmm_rrr
  5795:   public static StringBuilder disMoveToRegWord (StringBuilder sb) {
  5796:     int qqq = disOC >> 9 & 7;
  5797:     int ea = disOC & 63;
  5798:     if (XEiJ.EAM_ALL << ea < 0L) {
  5799:       return disDR (disEaw (sb.append ("move.w  "), ea).append (','), qqq);
  5800:     }
  5801:     return disIllegal (sb);
  5802:   }  //disMoveToRegWord(StringBuilder)
  5803: 
  5804:   //MOVEA.W <ea>,Aq                         012346|-|-----|-----|DAM+-WXZPI|0011_qqq_001_mmm_rrr
  5805:   public static StringBuilder disMoveaWord (StringBuilder sb) {
  5806:     int qqq = disOC >> 9 & 7;
  5807:     int ea = disOC & 63;
  5808:     if (XEiJ.EAM_ALL << ea < 0L) {
  5809:       return disAR (disEaw (sb.append ("movea.w "), ea).append (','), qqq);
  5810:     }
  5811:     return disIllegal (sb);
  5812:   }  //disMoveaWord(StringBuilder)
  5813: 
  5814:   //MOVE.W <ea>,<nnnqqq>                    012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_nnn_mmm_rrr        (nnnqqq:M+-WXZ)
  5815:   public static StringBuilder disMoveToMemWord (StringBuilder sb) {
  5816:     int qqq = disOC >> 9 & 7;
  5817:     int nnn = disOC >> 6 & 7;
  5818:     int ea = disOC & 63;
  5819:     if (XEiJ.EAM_ALL << ea < 0L) {
  5820:       return disEaw (disEaw (sb.append ("move.w  "), ea).append (','), nnn << 3 | qqq);
  5821:     }
  5822:     return disIllegal (sb);
  5823:   }  //disMoveToMemWord(StringBuilder)
  5824: 
  5825:   //NEGX.B <ea>                             012346|-|*UUUU|*****|D M+-WXZ  |0100_000_000_mmm_rrr
  5826:   public static StringBuilder disNegxByte (StringBuilder sb) {
  5827:     int ea = disOC & 63;
  5828:     if (XEiJ.EAM_DLT << ea < 0L) {
  5829:       return disEab (sb.append ("negx.b  "), ea);
  5830:     }
  5831:     return disIllegal (sb);
  5832:   }  //disNegxByte(StringBuilder)
  5833: 
  5834:   //NEGX.W <ea>                             012346|-|*UUUU|*****|D M+-WXZ  |0100_000_001_mmm_rrr
  5835:   public static StringBuilder disNegxWord (StringBuilder sb) {
  5836:     int ea = disOC & 63;
  5837:     if (XEiJ.EAM_DLT << ea < 0L) {
  5838:       return disEaw (sb.append ("negx.w  "), ea);
  5839:     }
  5840:     return disIllegal (sb);
  5841:   }  //disNegxWord(StringBuilder)
  5842: 
  5843:   //NEGX.L <ea>                             012346|-|*UUUU|*****|D M+-WXZ  |0100_000_010_mmm_rrr
  5844:   public static StringBuilder disNegxLong (StringBuilder sb) {
  5845:     int ea = disOC & 63;
  5846:     if (XEiJ.EAM_DLT << ea < 0L) {
  5847:       return disEal (sb.append ("negx.l  "), ea);
  5848:     }
  5849:     return disIllegal (sb);
  5850:   }  //disNegxLong(StringBuilder)
  5851: 
  5852:   //STRLDSR.W #<data>                       ------|P|*****|*****|          |0100_000_011_100_111-0100_011_011_111_100-{data}    (ISA_C)
  5853:   //MOVE.W SR,<ea>                          0-----|-|*****|-----|D M+-WXZ  |0100_000_011_mmm_rrr        (68000 and 68008 read before move)
  5854:   //MOVE.W SR,<ea>                          -12346|P|*****|-----|D M+-WXZ  |0100_000_011_mmm_rrr
  5855:   public static StringBuilder disMoveFromSR (StringBuilder sb) {
  5856:     int ea = disOC & 63;
  5857:     if (XEiJ.EAM_DLT << ea < 0L) {
  5858:       return disEaw (sb.append ("move.w  sr,"), ea);
  5859:     }
  5860:     return disIllegal (sb);
  5861:   }  //disMoveFromSR(StringBuilder)
  5862: 
  5863:   //CLR.B <ea>                              012346|-|-UUUU|-0100|D M+-WXZ  |0100_001_000_mmm_rrr        (68000 and 68008 read before clear)
  5864:   public static StringBuilder disClrByte (StringBuilder sb) {
  5865:     int ea = disOC & 63;
  5866:     if (XEiJ.EAM_DLT << ea < 0L) {
  5867:       return disEab (sb.append ("clr.b   "), ea);
  5868:     }
  5869:     return disIllegal (sb);
  5870:   }  //disClrByte(StringBuilder)
  5871: 
  5872:   //CLR.W <ea>                              012346|-|-UUUU|-0100|D M+-WXZ  |0100_001_001_mmm_rrr        (68000 and 68008 read before clear)
  5873:   public static StringBuilder disClrWord (StringBuilder sb) {
  5874:     int ea = disOC & 63;
  5875:     if (XEiJ.EAM_DLT << ea < 0L) {
  5876:       return disEaw (sb.append ("clr.w   "), ea);
  5877:     }
  5878:     return disIllegal (sb);
  5879:   }  //disClrWord(StringBuilder)
  5880: 
  5881:   //CLR.L <ea>                              012346|-|-UUUU|-0100|D M+-WXZ  |0100_001_010_mmm_rrr        (68000 and 68008 read before clear)
  5882:   public static StringBuilder disClrLong (StringBuilder sb) {
  5883:     int ea = disOC & 63;
  5884:     if (XEiJ.EAM_DLT << ea < 0L) {
  5885:       return disEal (sb.append ("clr.l   "), ea);
  5886:     }
  5887:     return disIllegal (sb);
  5888:   }  //disClrLong(StringBuilder)
  5889: 
  5890:   //MOVE.W CCR,<ea>                         -12346|-|*****|-----|D M+-WXZ  |0100_001_011_mmm_rrr
  5891:   public static StringBuilder disMoveFromCCR (StringBuilder sb) {
  5892:     int ea = disOC & 63;
  5893:     if (XEiJ.EAM_DLT << ea < 0L) {
  5894:       return disEaw (sb.append ("move.w  ccr,"), ea);
  5895:     }
  5896:     return disIllegal (sb);
  5897:   }  //disMoveFromCCR(StringBuilder)
  5898: 
  5899:   //NEG.B <ea>                              012346|-|UUUUU|*****|D M+-WXZ  |0100_010_000_mmm_rrr
  5900:   public static StringBuilder disNegByte (StringBuilder sb) {
  5901:     int ea = disOC & 63;
  5902:     if (XEiJ.EAM_DLT << ea < 0L) {
  5903:       return disEab (sb.append ("neg.b   "), ea);
  5904:     }
  5905:     return disIllegal (sb);
  5906:   }  //disNegByte(StringBuilder)
  5907: 
  5908:   //NEG.W <ea>                              012346|-|UUUUU|*****|D M+-WXZ  |0100_010_001_mmm_rrr
  5909:   public static StringBuilder disNegWord (StringBuilder sb) {
  5910:     int ea = disOC & 63;
  5911:     if (XEiJ.EAM_DLT << ea < 0L) {
  5912:       return disEaw (sb.append ("neg.w   "), ea);
  5913:     }
  5914:     return disIllegal (sb);
  5915:   }  //disNegWord(StringBuilder)
  5916: 
  5917:   //NEG.L <ea>                              012346|-|UUUUU|*****|D M+-WXZ  |0100_010_010_mmm_rrr
  5918:   public static StringBuilder disNegLong (StringBuilder sb) {
  5919:     int ea = disOC & 63;
  5920:     if (XEiJ.EAM_DLT << ea < 0L) {
  5921:       return disEal (sb.append ("neg.l   "), ea);
  5922:     }
  5923:     return disIllegal (sb);
  5924:   }  //disNegLong(StringBuilder)
  5925: 
  5926:   //MOVE.W <ea>,CCR                         012346|-|UUUUU|*****|D M+-WXZPI|0100_010_011_mmm_rrr
  5927:   public static StringBuilder disMoveToCCR (StringBuilder sb) {
  5928:     int ea = disOC & 63;
  5929:     if (XEiJ.EAM_DAT << ea < 0L) {
  5930:       return disEaw (sb.append ("move.w  "), ea).append (",ccr");
  5931:     }
  5932:     return disIllegal (sb);
  5933:   }  //disMoveToCCR(StringBuilder)
  5934: 
  5935:   //NOT.B <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_011_000_mmm_rrr
  5936:   public static StringBuilder disNotByte (StringBuilder sb) {
  5937:     int ea = disOC & 63;
  5938:     if (XEiJ.EAM_DLT << ea < 0L) {
  5939:       return disEab (sb.append ("not.b   "), ea);
  5940:     }
  5941:     return disIllegal (sb);
  5942:   }  //disNotByte(StringBuilder)
  5943: 
  5944:   //NOT.W <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_011_001_mmm_rrr
  5945:   public static StringBuilder disNotWord (StringBuilder sb) {
  5946:     int ea = disOC & 63;
  5947:     if (XEiJ.EAM_DLT << ea < 0L) {
  5948:       return disEaw (sb.append ("not.w   "), ea);
  5949:     }
  5950:     return disIllegal (sb);
  5951:   }  //disNotWord(StringBuilder)
  5952: 
  5953:   //NOT.L <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_011_010_mmm_rrr
  5954:   public static StringBuilder disNotLong (StringBuilder sb) {
  5955:     int ea = disOC & 63;
  5956:     if (XEiJ.EAM_DLT << ea < 0L) {
  5957:       return disEal (sb.append ("not.l   "), ea);
  5958:     }
  5959:     return disIllegal (sb);
  5960:   }  //disNotLong(StringBuilder)
  5961: 
  5962:   //MOVE.W <ea>,SR                          012346|P|UUUUU|*****|D M+-WXZPI|0100_011_011_mmm_rrr
  5963:   public static StringBuilder disMoveToSR (StringBuilder sb) {
  5964:     int ea = disOC & 63;
  5965:     if (XEiJ.EAM_DAT << ea < 0L) {
  5966:       return disEaw (sb.append ("move.w  "), ea).append (",sr");
  5967:     }
  5968:     return disIllegal (sb);
  5969:   }  //disMoveToSR(StringBuilder)
  5970: 
  5971:   //LINK.L Ar,#<data>                       --2346|-|-----|-----|          |0100_100_000_001_rrr-{data}
  5972:   //NBCD.B <ea>                             012346|-|UUUUU|*U*U*|D M+-WXZ  |0100_100_000_mmm_rrr
  5973:   public static StringBuilder disNbcd (StringBuilder sb) {
  5974:     int ea = disOC & 63;
  5975:     if (XEiJ.EAM_DLT << ea < 0L) {
  5976:       return disEab (sb.append ("nbcd.b  "), ea);
  5977:     }
  5978:     int rrr = ea & 7;
  5979:     if (ea == XEiJ.EA_AR) {
  5980:       return disIMl (disAR (sb.append ("link.l  "), rrr).append (","));
  5981:     }
  5982:     return disIllegal (sb);
  5983:   }  //disNbcd(StringBuilder)
  5984: 
  5985:   //SWAP.W Dr                               012346|-|-UUUU|-**00|          |0100_100_001_000_rrr
  5986:   //BKPT #<data>                            -12346|-|-----|-----|          |0100_100_001_001_ddd
  5987:   //PEA.L <ea>                              012346|-|-----|-----|  M  WXZP |0100_100_001_mmm_rrr
  5988:   public static StringBuilder disPea (StringBuilder sb) {
  5989:     int ea = disOC & 63;
  5990:     if (XEiJ.EAM_CNT << ea < 0L) {
  5991:       return disEaz (sb.append ("pea.l   "), ea);
  5992:     }
  5993:     int mmm = ea >> 3;
  5994:     int rrr = ea & 7;
  5995:     if (mmm == XEiJ.MMM_DR) {
  5996:       return disDR (sb.append ("swap.w  "), rrr);
  5997:     }
  5998:     if (mmm == XEiJ.MMM_AR) {
  5999:       return disHex2 (sb.append ("bkpt    #"), rrr);
  6000:     }
  6001:     return disIllegal (sb);
  6002:   }  //disPea(StringBuilder)
  6003: 
  6004:   //EXT.W Dr                                012346|-|-UUUU|-**00|          |0100_100_010_000_rrr
  6005:   //MOVEM.W <list>,<ea>                     012346|-|-----|-----|  M -WXZ  |0100_100_010_mmm_rrr-llllllllllllllll
  6006:   public static StringBuilder disMovemToMemWord (StringBuilder sb) {
  6007:     int ea = disOC & 63;
  6008:     if (XEiJ.EAM_WTL << ea < 0L) {
  6009:       return disEaw (disLst (sb.append ("movem.w "), ea >> 3 == XEiJ.MMM_MN).append (','), ea);
  6010:     }
  6011:     int mmm = ea >> 3;
  6012:     int rrr = ea & 7;
  6013:     if (mmm == XEiJ.MMM_DR) {
  6014:       return disDR (sb.append ("ext.w   "), rrr);
  6015:     }
  6016:     return disIllegal (sb);
  6017:   }  //disMovemToMemWord(StringBuilder)
  6018: 
  6019:   //EXT.L Dr                                012346|-|-UUUU|-**00|          |0100_100_011_000_rrr
  6020:   //MOVEM.L <list>,<ea>                     012346|-|-----|-----|  M -WXZ  |0100_100_011_mmm_rrr-llllllllllllllll
  6021:   public static StringBuilder disMovemToMemLong (StringBuilder sb) {
  6022:     int ea = disOC & 63;
  6023:     if (XEiJ.EAM_WTL << ea < 0L) {
  6024:       return disEal (disLst (sb.append ("movem.l "), ea >> 3 == XEiJ.MMM_MN).append (','), ea);
  6025:     }
  6026:     int mmm = ea >> 3;
  6027:     int rrr = ea & 7;
  6028:     if (mmm == XEiJ.MMM_DR) {
  6029:       return disDR (sb.append ("ext.l   "), rrr);
  6030:     }
  6031:     return disIllegal (sb);
  6032:   }  //disMovemToMemLong(StringBuilder)
  6033: 
  6034:   //TST.B <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_000_mmm_rrr
  6035:   //TST.B <ea>                              --2346|-|-UUUU|-**00|        PI|0100_101_000_mmm_rrr
  6036:   public static StringBuilder disTstByte (StringBuilder sb) {
  6037:     int ea = disOC & 63;
  6038:     if (XEiJ.EAM_DAT << ea < 0L) {
  6039:       return disEab (sb.append ("tst.b   "), ea);
  6040:     }
  6041:     return disIllegal (sb);
  6042:   }  //disTstByte(StringBuilder)
  6043: 
  6044:   //TST.W <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_001_mmm_rrr
  6045:   //TST.W <ea>                              --2346|-|-UUUU|-**00| A      PI|0100_101_001_mmm_rrr
  6046:   public static StringBuilder disTstWord (StringBuilder sb) {
  6047:     int ea = disOC & 63;
  6048:     if (XEiJ.EAM_ALL << ea < 0L) {
  6049:       return disEaw (sb.append ("tst.w   "), ea);
  6050:     }
  6051:     return disIllegal (sb);
  6052:   }  //disTstWord(StringBuilder)
  6053: 
  6054:   //TST.L <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_010_mmm_rrr
  6055:   //TST.L <ea>                              --2346|-|-UUUU|-**00| A      PI|0100_101_010_mmm_rrr
  6056:   public static StringBuilder disTstLong (StringBuilder sb) {
  6057:     int ea = disOC & 63;
  6058:     if (XEiJ.EAM_ALL << ea < 0L) {
  6059:       return disEal (sb.append ("tst.l   "), ea);
  6060:     }
  6061:     return disIllegal (sb);
  6062:   }  //disTstLong(StringBuilder)
  6063: 
  6064:   //HALT                                    ------|P|-----|-----|          |0100_101_011_001_000    (ISA_A)
  6065:   //PULSE                                   ------|-|-----|-----|          |0100_101_011_001_100    (ISA_A)
  6066:   //ILLEGAL                                 012346|-|-----|-----|          |0100_101_011_111_100
  6067:   //TAS.B <ea>                              012346|-|-UUUU|-**00|D M+-WXZ  |0100_101_011_mmm_rrr
  6068:   public static StringBuilder disTas (StringBuilder sb) {
  6069:     int ea = disOC & 63;
  6070:     if (XEiJ.EAM_DLT << ea < 0L) {
  6071:       return disEab (sb.append ("tas.b   "), ea);
  6072:     }
  6073:     if (ea == 0b001_000) {
  6074:       return sb.append ("halt");
  6075:     }
  6076:     if (ea == 0b001_100) {
  6077:       return sb.append ("pulse");
  6078:     }
  6079:     if (ea == 0b111_100) {
  6080:       return sb.append ("illegal");
  6081:     }
  6082:     return disIllegal (sb);
  6083:   }  //disTas(StringBuilder)
  6084: 
  6085:   //MULU.L <ea>,Dl                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_000_000_000_hhh       (h is not used)
  6086:   //MULU.L <ea>,Dh:Dl                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_010_000_000_hhh       (if h=l then result is not defined)
  6087:   //MULS.L <ea>,Dl                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_100_000_000_hhh       (h is not used)
  6088:   //MULS.L <ea>,Dh:Dl                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_110_000_000_hhh       (if h=l then result is not defined)
  6089:   public static StringBuilder disMuluMulsLong (StringBuilder sb) {
  6090:     int ea = disOC & 63;
  6091:     if (XEiJ.EAM_DAT << ea < 0L) {
  6092:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード。0lll_sq0_000_000_hhh
  6093:       if ((w & ~0b0111_110_000_000_111) == 0) {  //拡張ワードの0でなければならないbitがすべて0
  6094:         int low = w >> 12;  //被乗数。積の下位32bit
  6095:         int signed = w & 0b0000_100_000_000_000;  //0=符号なし,0以外=符号あり
  6096:         int quad = w & 0b0000_010_000_000_000;  //0=積は32bit,0以外=積は64bit
  6097:         int high = w & 7;  //積の上位32bit
  6098:         disEal (sb.append (signed == 0 ? "mulu.l  " : "muls.l  "), ea).append (',');
  6099:         if (quad != 0) {
  6100:           disDR (sb, high).append (':');
  6101:         }
  6102:         return disDR (sb, low);
  6103:       }
  6104:     }
  6105:     return disIllegal (sb);
  6106:   }  //disMuluMulsLong(StringBuilder)
  6107: 
  6108:   //DIVU.L <ea>,Dq                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_000_000_000_qqq
  6109:   //DIVUL.L <ea>,Dr:Dq                      --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_000_000_000_rrr       (q is not equal to r)
  6110:   //REMU.L <ea>,Dr:Dq                       ------|-|-UUUU|-***0|D M+-W    |0100_110_001_mmm_rrr-0qqq_000_000_000_rrr       (ISA_A, q is not equal to r)
  6111:   //DIVU.L <ea>,Dr:Dq                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_010_000_000_rrr       (q is not equal to r)
  6112:   //DIVS.L <ea>,Dq                          --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_100_000_000_qqq
  6113:   //DIVSL.L <ea>,Dr:Dq                      --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_100_000_000_rrr       (q is not equal to r)
  6114:   //REMS.L <ea>,Dr:Dq                       ------|-|-UUUU|-***0|D M+-W    |0100_110_001_mmm_rrr-0qqq_100_000_000_rrr       (ISA_A, q is not equal to r)
  6115:   //DIVS.L <ea>,Dr:Dq                       --234S|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_110_000_000_rrr       (q is not equal to r)
  6116:   public static StringBuilder disDivuDivsLong (StringBuilder sb) {
  6117:     int ea = disOC & 63;
  6118:     if (XEiJ.EAM_DAT << ea < 0L) {
  6119:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード。0qqq_sq0_000_000_rrr
  6120:       if ((w & ~0b0111_110_000_000_111) == 0) {  //拡張ワードの0でなければならないbitがすべて0
  6121:         int quo = w >> 12;  //被除数の下位32bit、商
  6122:         int signed = w & 0b0000_100_000_000_000;  //0=符号なし,0以外=符号あり
  6123:         int quad = w & 0b0000_010_000_000_000;  //0=被除数は32bit,0以外=被除数は64bit
  6124:         int rem = w & 7;  //被除数の上位32bit、余り
  6125:         //  ColdFireにはDIV*L.L <ea>,Dr:Dq (q!=r)という命令が存在せず、同じオペコードにREM*.L <ea>,Dr:Dq (q!=r)が割り当てられている
  6126:         //  REM*.L <ea>,Dr:Dq (q!=r)はDrに余りを格納するがDqに商を格納しない
  6127:         disEal (sb.append (signed == 0 ? "divu" : "divs").append (quad == 0 && quo != rem ? "l.l " : ".l  "), ea).append (',');
  6128:         if (quad != 0 || quo != rem) {
  6129:           disDR (sb, rem).append (':');
  6130:         }
  6131:         return disDR (sb, quo);
  6132:       }
  6133:     }
  6134:     return disIllegal (sb);
  6135:   }  //disDivuDivsLong(StringBuilder)
  6136: 
  6137:   //SATS.L Dr                               ------|-|-UUUU|-**00|          |0100_110_010_000_rrr    (ISA_B)
  6138:   //MOVEM.W <ea>,<list>                     012346|-|-----|-----|  M+ WXZP |0100_110_010_mmm_rrr-llllllllllllllll
  6139:   public static StringBuilder disMovemToRegWord (StringBuilder sb) {
  6140:     int ea = disOC & 63;
  6141:     if (XEiJ.EAM_RDL << ea < 0L) {
  6142:       StringBuilder tb = disLst (new StringBuilder (), false);  //レジスタリストと実効アドレスの順序に注意
  6143:       return disEaw (sb.append ("movem.w "), ea).append (',').append (tb);
  6144:     }
  6145:     int mmm = ea >> 3;
  6146:     int rrr = ea & 7;
  6147:     if (mmm == XEiJ.MMM_DR) {
  6148:       return disDR (sb.append ("sats.l  "), rrr);
  6149:     }
  6150:     return disIllegal (sb);
  6151:   }  //disMovemToRegWord(StringBuilder)
  6152: 
  6153:   //MOVEM.L <ea>,<list>                     012346|-|-----|-----|  M+ WXZP |0100_110_011_mmm_rrr-llllllllllllllll
  6154:   public static StringBuilder disMovemToRegLong (StringBuilder sb) {
  6155:     int ea = disOC & 63;
  6156:     if (XEiJ.EAM_RDL << ea < 0L) {
  6157:       StringBuilder tb = disLst (new StringBuilder (), false);  //レジスタリストと実効アドレスの順序に注意
  6158:       return disEal (sb.append ("movem.l "), ea).append (',').append (tb);
  6159:     }
  6160:     return disIllegal (sb);
  6161:   }  //disMovemToRegLong(StringBuilder)
  6162: 
  6163:   //HFSBOOT                                 012346|-|-----|-----|          |0100_111_000_000_000
  6164:   //HFSINST                                 012346|-|-----|-----|          |0100_111_000_000_001
  6165:   //HFSSTR                                  012346|-|-----|-----|          |0100_111_000_000_010
  6166:   //HFSINT                                  012346|-|-----|-----|          |0100_111_000_000_011
  6167:   //EMXNOP                                  012346|-|-----|-----|          |0100_111_000_000_100
  6168:   public static StringBuilder disEmx (StringBuilder sb) {
  6169:     int ea = disOC & 63;
  6170:     if (ea < XEiJ.EMX_MNEMONIC_ARRAY.length) {
  6171:       return sb.append (XEiJ.EMX_MNEMONIC_ARRAY[ea]);
  6172:     }
  6173:     return disIllegal (sb);
  6174:   }  //disEmx(StringBuilder)
  6175: 
  6176:   //TRAP #<vector>                          012346|-|-----|-----|          |0100_111_001_00v_vvv
  6177:   //LINK.W Ar,#<data>                       012346|-|-----|-----|          |0100_111_001_010_rrr-{data}
  6178:   //UNLK Ar                                 012346|-|-----|-----|          |0100_111_001_011_rrr
  6179:   //MOVE.L Ar,USP                           012346|P|-----|-----|          |0100_111_001_100_rrr
  6180:   //MOVE.L USP,Ar                           012346|P|-----|-----|          |0100_111_001_101_rrr
  6181:   //RESET                                   012346|P|-----|-----|          |0100_111_001_110_000
  6182:   //NOP                                     012346|-|-----|-----|          |0100_111_001_110_001
  6183:   //STOP #<data>                            012346|P|UUUUU|*****|          |0100_111_001_110_010-{data}
  6184:   //RTE                                     012346|P|UUUUU|*****|          |0100_111_001_110_011
  6185:   //RTD #<data>                             -12346|-|-----|-----|          |0100_111_001_110_100-{data}
  6186:   //RTS                                     012346|-|-----|-----|          |0100_111_001_110_101
  6187:   //TRAPV                                   012346|-|---*-|-----|          |0100_111_001_110_110
  6188:   //RTR                                     012346|-|UUUUU|*****|          |0100_111_001_110_111
  6189:   //MOVEC.L Rc,Rn                           -12346|P|-----|-----|          |0100_111_001_111_010-rnnn_ccc_ccc_ccc_ccc
  6190:   //MOVEC.L Rn,Rc                           -12346|P|-----|-----|          |0100_111_001_111_011-rnnn_ccc_ccc_ccc_ccc
  6191:   public static StringBuilder disMisc (StringBuilder sb) {
  6192:     int ea = disOC & 63;
  6193:     switch (ea) {
  6194:     case 0b000_000:
  6195:     case 0b000_001:
  6196:     case 0b000_010:
  6197:     case 0b000_011:
  6198:     case 0b000_100:
  6199:     case 0b000_101:
  6200:     case 0b000_110:
  6201:     case 0b000_111:
  6202:     case 0b001_000:
  6203:     case 0b001_001:
  6204:     case 0b001_010:
  6205:     case 0b001_011:
  6206:     case 0b001_100:
  6207:     case 0b001_101:
  6208:     case 0b001_110:
  6209:     case 0b001_111:  //TRAP #<vector>
  6210:         return disIM8 (sb.append ("trap    "), ea & 15);
  6211:     case 0b010_000:
  6212:     case 0b010_001:
  6213:     case 0b010_010:
  6214:     case 0b010_011:
  6215:     case 0b010_100:
  6216:     case 0b010_101:
  6217:     case 0b010_110:
  6218:     case 0b010_111:  //LINK.W Ar,#<data>
  6219:       return disIMw (disAR (sb.append ("link.w  "), ea & 7).append (','));
  6220:     case 0b011_000:
  6221:     case 0b011_001:
  6222:     case 0b011_010:
  6223:     case 0b011_011:
  6224:     case 0b011_100:
  6225:     case 0b011_101:
  6226:     case 0b011_110:
  6227:     case 0b011_111:  //UNLK Ar
  6228:       return disAR (sb.append ("unlk    "), ea & 7);
  6229:     case 0b100_000:
  6230:     case 0b100_001:
  6231:     case 0b100_010:
  6232:     case 0b100_011:
  6233:     case 0b100_100:
  6234:     case 0b100_101:
  6235:     case 0b100_110:
  6236:     case 0b100_111:  //MOVE.L Ar,USP
  6237:       return disAR (sb.append ("move.l  "), ea & 7).append (",usp");
  6238:     case 0b101_000:
  6239:     case 0b101_001:
  6240:     case 0b101_010:
  6241:     case 0b101_011:
  6242:     case 0b101_100:
  6243:     case 0b101_101:
  6244:     case 0b101_110:
  6245:     case 0b101_111:  //MOVE.L USP,Ar
  6246:       return disAR (sb.append ("move.l  usp,"), ea & 7);
  6247:     case 0b110_000:  //RESET
  6248:       return sb.append ("reset   ");
  6249:     case 0b110_001:  //NOP
  6250:       return sb.append ("nop     ");
  6251:     case 0b110_010:  //STOP #<data>
  6252:       return disIMw (sb.append ("stop.w  "));
  6253:     case 0b110_011:  //RTE
  6254:       disStatus = DIS_ALWAYS_BRANCH;
  6255:       return sb.append ("rte     ");
  6256:     case 0b110_100:  //RTD
  6257:       disStatus = DIS_ALWAYS_BRANCH;
  6258:       return disIMw (sb.append ("rtd.w   "));
  6259:     case 0b110_101:  //RTS
  6260:       disStatus = DIS_ALWAYS_BRANCH;
  6261:       return sb.append ("rts     ");
  6262:     case 0b110_110:  //TRAPV
  6263:       return sb.append ("trapv   ");
  6264:     case 0b110_111:  //RTR
  6265:       disStatus = DIS_ALWAYS_BRANCH;
  6266:       return sb.append ("rtr     ");
  6267:     case 0b111_010:  //MOVEC.L Rc,Rn
  6268:       {
  6269:         int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  6270:         int c = w & 0x07ff;
  6271:         String[] disRc = (w & 0x0800) == 0 ? DIS_RCNAME_0XX : DIS_RCNAME_8XX;
  6272:         if (c < disRc.length && 0 < disRc[c].length ()) {
  6273:           return disRn (sb.append ("movec.l ").append (disRc[c]).append (','), w >> 12);
  6274:         }
  6275:       }
  6276:       break;
  6277:     case 0b111_011:  //MOVEC.L Rn,Rc
  6278:       {
  6279:         int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  6280:         int c = w & 0x07ff;
  6281:         String[] disRc = (w & 0x0800) == 0 ? DIS_RCNAME_0XX : DIS_RCNAME_8XX;
  6282:         if (c < disRc.length && 0 < disRc[c].length ()) {
  6283:           return disRn (sb.append ("movec.l "), w >> 12).append (',').append (disRc[c]);
  6284:         }
  6285:       }
  6286:       break;
  6287:     }
  6288:     return disIllegal (sb);
  6289:   }  //disMisc(StringBuilder)
  6290: 
  6291:   //JSR <ea>                                012346|-|-----|-----|  M  WXZP |0100_111_010_mmm_rrr
  6292:   public static StringBuilder disJsr (StringBuilder sb) {
  6293:     disStatus = DIS_CALL_SUBROUTINE;
  6294:     int ea = disOC & 63;
  6295:     if (XEiJ.EAM_CNT << ea < 0L) {
  6296:       return disEaz (sb.append ("jsr     "), ea);
  6297:     }
  6298:     return disIllegal (sb);
  6299:   }  //disJsr(StringBuilder)
  6300: 
  6301:   //JMP <ea>                                012346|-|-----|-----|  M  WXZP |0100_111_011_mmm_rrr
  6302:   public static StringBuilder disJmp (StringBuilder sb) {
  6303:     disStatus = DIS_ALWAYS_BRANCH;
  6304:     int ea = disOC & 63;
  6305:     if (XEiJ.EAM_CNT << ea < 0L) {
  6306:       return disEaz (sb.append ("jmp     "), ea);
  6307:     }
  6308:     return disIllegal (sb);
  6309:   }  //disJmp(StringBuilder)
  6310: 
  6311:   //CHK.L <ea>,Dq                           --2346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_100_mmm_rrr
  6312:   public static StringBuilder disChkLong (StringBuilder sb) {
  6313:     int qqq = disOC >> 9 & 7;
  6314:     int ea = disOC & 63;
  6315:     if (XEiJ.EAM_DAT << ea < 0L) {
  6316:       return disDR (disEaw (sb.append ("chk.l   "), ea).append (','), qqq);
  6317:     }
  6318:     return disIllegal (sb);
  6319:   }  //disChkLong(StringBuilder)
  6320: 
  6321:   //CHK.W <ea>,Dq                           012346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_110_mmm_rrr
  6322:   public static StringBuilder disChkWord (StringBuilder sb) {
  6323:     int qqq = disOC >> 9 & 7;
  6324:     int ea = disOC & 63;
  6325:     if (XEiJ.EAM_DAT << ea < 0L) {
  6326:       return disDR (disEaw (sb.append ("chk.w   "), ea).append (','), qqq);
  6327:     }
  6328:     return disIllegal (sb);
  6329:   }  //disChkWord(StringBuilder)
  6330: 
  6331:   //EXTB.L Dr                               --2346|-|-UUUU|-**00|          |0100_100_111_000_rrr
  6332:   //LEA.L <ea>,Aq                           012346|-|-----|-----|  M  WXZP |0100_qqq_111_mmm_rrr
  6333:   public static StringBuilder disLea (StringBuilder sb) {
  6334:     int qqq = disOC >> 9 & 7;
  6335:     int ea = disOC & 63;
  6336:     if (XEiJ.EAM_CNT << ea < 0L) {
  6337:       return disAR (disEaz (sb.append ("lea.l   "), ea).append (','), qqq);
  6338:     }
  6339:     int mmm = ea >> 3;
  6340:     int rrr = ea & 7;
  6341:     if (qqq == 0b100 && mmm == 0b000) {
  6342:       return disDR (sb.append ("extb.l  "), rrr);
  6343:     }
  6344:     return disIllegal (sb);
  6345:   }  //disLea(StringBuilder)
  6346: 
  6347:   //ADDQ.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_000_mmm_rrr
  6348:   public static StringBuilder disAddqByte (StringBuilder sb) {
  6349:     int qqq = disOC >> 9 & 7;
  6350:     int ea = disOC & 63;
  6351:     if (XEiJ.EAM_DLT << ea < 0L) {
  6352:       return disEab (disIM3 (sb.append ("addq.b  "), qqq).append (','), ea);
  6353:     }
  6354:     return disIllegal (sb);
  6355:   }  //disAddqByte(StringBuilder)
  6356: 
  6357:   //ADDQ.W #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_001_001_rrr
  6358:   //ADDQ.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_001_mmm_rrr
  6359:   public static StringBuilder disAddqWord (StringBuilder sb) {
  6360:     int qqq = disOC >> 9 & 7;
  6361:     int ea = disOC & 63;
  6362:     if (XEiJ.EAM_ALT << ea < 0L) {
  6363:       return disEaw (disIM3 (sb.append ("addq.w  "), qqq).append (','), ea);
  6364:     }
  6365:     return disIllegal (sb);
  6366:   }  //disAddqWord(StringBuilder)
  6367: 
  6368:   //ADDQ.L #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_010_001_rrr
  6369:   //ADDQ.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_010_mmm_rrr
  6370:   public static StringBuilder disAddqLong (StringBuilder sb) {
  6371:     int qqq = disOC >> 9 & 7;
  6372:     int ea = disOC & 63;
  6373:     if (XEiJ.EAM_ALT << ea < 0L) {
  6374:       return disEal (disIM3 (sb.append ("addq.l  "), qqq).append (','), ea);
  6375:     }
  6376:     return disIllegal (sb);
  6377:   }  //disAddqLong(StringBuilder)
  6378: 
  6379:   //SUBQ.B #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_100_mmm_rrr
  6380:   public static StringBuilder disSubqByte (StringBuilder sb) {
  6381:     int qqq = disOC >> 9 & 7;
  6382:     int ea = disOC & 63;
  6383:     if (XEiJ.EAM_DLT << ea < 0L) {
  6384:       return disEab (disIM3 (sb.append ("subq.b  "), qqq).append (','), ea);
  6385:     }
  6386:     return disIllegal (sb);
  6387:   }  //disSubqByte(StringBuilder)
  6388: 
  6389:   //SUBQ.W #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_101_001_rrr
  6390:   //SUBQ.W #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_101_mmm_rrr
  6391:   public static StringBuilder disSubqWord (StringBuilder sb) {
  6392:     int qqq = disOC >> 9 & 7;
  6393:     int ea = disOC & 63;
  6394:     if (XEiJ.EAM_ALT << ea < 0L) {
  6395:       return disEaw (disIM3 (sb.append ("subq.w  "), qqq).append (','), ea);
  6396:     }
  6397:     return disIllegal (sb);
  6398:   }  //disSubqWord(StringBuilder)
  6399: 
  6400:   //SUBQ.L #<data>,Ar                       012346|-|-----|-----| A        |0101_qqq_110_001_rrr
  6401:   //SUBQ.L #<data>,<ea>                     012346|-|UUUUU|*****|D M+-WXZ  |0101_qqq_110_mmm_rrr
  6402:   public static StringBuilder disSubqLong (StringBuilder sb) {
  6403:     int qqq = disOC >> 9 & 7;
  6404:     int ea = disOC & 63;
  6405:     if (XEiJ.EAM_ALT << ea < 0L) {
  6406:       return disEal (disIM3 (sb.append ("subq.l  "), qqq).append (','), ea);
  6407:     }
  6408:     return disIllegal (sb);
  6409:   }  //disSubqLong(StringBuilder)
  6410: 
  6411:   //DBRA.W Dr,<label>                       012346|-|-----|-----|          |0101_000_111_001_rrr-{offset}
  6412:   //DBcc.W Dr,<label>                       012346|-|-****|-----|          |0101_ccc_c11_001_rrr-{offset}
  6413:   //TRAPcc.W #<data>                        --2346|-|-****|-----|          |0101_ccc_c11_111_010-{data}
  6414:   //TRAPcc.L #<data>                        --2346|-|-****|-----|          |0101_ccc_c11_111_011-{data}
  6415:   //TRAPcc                                  --2346|-|-****|-----|          |0101_ccc_c11_111_100
  6416:   //Scc.B <ea>                              012346|-|-****|-----|D M+-WXZ  |0101_ccc_c11_mmm_rrr
  6417:   public static StringBuilder disScc (StringBuilder sb) {
  6418:     int cccc = disOC >> 8 & 15;
  6419:     int ea = disOC & 63;
  6420:     if (XEiJ.EAM_DLT << ea < 0L) {
  6421:       return disEab (disOp3 (sb, "s", DIS_CC[cccc], ".b"), ea);
  6422:     }
  6423:     int mmm = ea >> 3;
  6424:     int rrr = ea & 7;
  6425:     if (mmm == XEiJ.MMM_AR) {
  6426:       if (cccc != XEiJ.CCCC_T) {
  6427:         disStatus = DIS_SOMETIMES_BRANCH;
  6428:         return disProgramHex8 (disDR (disOp3 (sb,
  6429:                                               "db",
  6430:                                               cccc == XEiJ.CCCC_F ? "ra" : DIS_CC[cccc],
  6431:                                               ".w"),
  6432:                                       rrr).append (","),
  6433:                                disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2,
  6434:                                                                     disSupervisor));
  6435:       }
  6436:     } else if (ea == XEiJ.EA_PW) {
  6437:       return disIMw (sb.append ("trap").append (DIS_CC[cccc]).append (".w "));
  6438:     } else if (ea == XEiJ.EA_PX) {
  6439:       return disIMl (sb.append ("trap").append (DIS_CC[cccc]).append (".l "));
  6440:     } else if (ea == XEiJ.EA_IM) {
  6441:       //  ColdFireのTRAPccはオペランドを読み飛ばすだけのTRAPFのみでTPFと書く
  6442:       return sb.append ("trap").append (DIS_CC[cccc]);
  6443:     }
  6444:     return disIllegal (sb);
  6445:   }  //disScc(StringBuilder)
  6446: 
  6447:   //BRA.W <label>                           012346|-|-----|-----|          |0110_000_000_000_000-{offset}
  6448:   //BRA.L <label>                           --2346|-|-----|-----|          |0110_000_011_111_111-{offset}
  6449:   //BRA.S <label>                           012346|-|-----|-----|          |0110_000_0aa_aaa_aaa        (a is not equal to 0,-1)
  6450:   public static StringBuilder disBra (StringBuilder sb) {
  6451:     disStatus = DIS_ALWAYS_BRANCH;
  6452:     int offset = (byte) disOC;
  6453:     if (offset == 0) {
  6454:       return disProgramHex8 (sb.append ("bra.w   "),
  6455:                              disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2,
  6456:                                                                   disSupervisor));
  6457:     } else if (offset == -1) {
  6458:       return disProgramHex8 (sb.append ("bra.l   "),
  6459:                              disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  6460:                                                               disSupervisor));
  6461:     } else {
  6462:       return disProgramHex8 (sb.append ("bra.s   "),
  6463:                              disPC + offset);
  6464:     }
  6465:   }  //disBra(StringBuilder)
  6466: 
  6467:   //BSR.W <label>                           012346|-|-----|-----|          |0110_000_100_000_000-{offset}
  6468:   //BSR.L <label>                           --2346|-|-----|-----|          |0110_000_111_111_111-{offset}
  6469:   //BSR.S <label>                           012346|-|-----|-----|          |0110_000_1aa_aaa_aaa        (a is not equal to 0,-1)
  6470:   public static StringBuilder disBsr (StringBuilder sb) {
  6471:     disStatus = DIS_CALL_SUBROUTINE;
  6472:     int offset = (byte) disOC;
  6473:     if (offset == 0) {
  6474:       return disProgramHex8 (sb.append ("bsr.w   "),
  6475:                              disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2,
  6476:                                                                   disSupervisor));
  6477:     } else if (offset == -1) {
  6478:       return disProgramHex8 (sb.append ("bsr.l   "),
  6479:                              disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  6480:                                                               disSupervisor));
  6481:     } else {
  6482:       return disProgramHex8 (sb.append ("bsr.s   "),
  6483:                              disPC + offset);
  6484:     }
  6485:   }  //disBsr(StringBuilder)
  6486: 
  6487:   //Bcc.W <label>                           012346|-|-****|-----|          |0110_ccc_c00_000_000-{offset}
  6488:   //Bcc.L <label>                           --2346|-|-****|-----|          |0110_ccc_c11_111_111-{offset}
  6489:   //Bcc.S <label>                           012346|-|-****|-----|          |0110_ccc_caa_aaa_aaa        (a is not equal to 0,-1)
  6490:   public static StringBuilder disBcc (StringBuilder sb) {
  6491:     disStatus = DIS_SOMETIMES_BRANCH;
  6492:     int cccc = disOC >> 8 & 15;
  6493:     int offset = (byte) disOC;
  6494:     if (offset == 0) {
  6495:       return disProgramHex8 (disOp3 (sb,
  6496:                                      "b",
  6497:                                      DIS_CC[cccc],
  6498:                                      ".w"),
  6499:                              disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2,
  6500:                                                                   disSupervisor));
  6501:     } else if (offset == -1) {
  6502:       return disProgramHex8 (disOp3 (sb,
  6503:                                      "b",
  6504:                                      DIS_CC[cccc],
  6505:                                      ".l"),
  6506:                              disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  6507:                                                               disSupervisor));
  6508:     } else {
  6509:       return disProgramHex8 (disOp3 (sb,
  6510:                                      "b",
  6511:                                      DIS_CC[cccc],
  6512:                                      ".s"),
  6513:                              disPC + offset);
  6514:     }
  6515:   }  //disBcc(StringBuilder)
  6516: 
  6517:   //IOCS <name>                             012346|-|-UUUU|-**00|          |0111_000_0dd_ddd_ddd-0100_111_001_001_111
  6518:   //MOVEQ.L #<data>,Dq                      012346|-|-UUUU|-**00|          |0111_qqq_0dd_ddd_ddd
  6519:   public static StringBuilder disMoveq (StringBuilder sb) {
  6520:     int qqq = disOC >> 9 & 7;
  6521:     if (qqq == 0 && MC68060.mmuPeekWordZeroCode (disPC, disSupervisor) == 0b0100_111_001_001_111) {  //MOVEQ.L #<data>,D0;TRAP #15 → IOCS <name>
  6522:       disPC += 2;
  6523:       sb.append ("IOCS    ");
  6524:       if (disOC == 0x70ff) {  //_ABORTJOB
  6525:         disStatus = DIS_ALWAYS_BRANCH;
  6526:       }
  6527:       String name = DIS_IOCS_NAME[disOC & 255];
  6528:       if (name.length () != 0) {
  6529:         return sb.append (name);
  6530:       }
  6531:       return disHex2 (sb, disOC & 255);
  6532:     }
  6533:     return disDR (disIM8 (sb.append ("moveq.l "), disOC).append (','), qqq);
  6534:   }  //disMoveq(StringBuilder)
  6535: 
  6536:   //MVS.B <ea>,Dq                           ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_100_mmm_rrr    (ISA_B)
  6537:   public static StringBuilder disMvsByte (StringBuilder sb) {
  6538:     int qqq = disOC >> 9 & 7;
  6539:     int ea = disOC & 63;
  6540:     if (XEiJ.EAM_DAT << ea < 0L) {
  6541:       return disDR (disEab (sb.append ("mvs.b   "), ea).append (','), qqq);
  6542:     }
  6543:     return disIllegal (sb);
  6544:   }  //disMvsByte(StringBuilder)
  6545: 
  6546:   //MVS.W <ea>,Dq                           ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_101_mmm_rrr    (ISA_B)
  6547:   public static StringBuilder disMvsWord (StringBuilder sb) {
  6548:     int qqq = disOC >> 9 & 7;
  6549:     int ea = disOC & 63;
  6550:     if (XEiJ.EAM_DAT << ea < 0L) {
  6551:       return disDR (disEaw (sb.append ("mvs.w   "), ea).append (','), qqq);
  6552:     }
  6553:     return disIllegal (sb);
  6554:   }  //disMvsWord(StringBuilder)
  6555: 
  6556:   //MVZ.B <ea>,Dq                           ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_110_mmm_rrr    (ISA_B)
  6557:   public static StringBuilder disMvzByte (StringBuilder sb) {
  6558:     int qqq = disOC >> 9 & 7;
  6559:     int ea = disOC & 63;
  6560:     if (XEiJ.EAM_DAT << ea < 0L) {
  6561:       return disDR (disEab (sb.append ("mvz.b   "), ea).append (','), qqq);
  6562:     }
  6563:     return disIllegal (sb);
  6564:   }  //disMvzByte(StringBuilder)
  6565: 
  6566:   //MVZ.W <ea>,Dq                           ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_111_mmm_rrr    (ISA_B)
  6567:   public static StringBuilder disMvzWord (StringBuilder sb) {
  6568:     int qqq = disOC >> 9 & 7;
  6569:     int ea = disOC & 63;
  6570:     if (XEiJ.EAM_DAT << ea < 0L) {
  6571:       return disDR (disEaw (sb.append ("mvz.w   "), ea).append (','), qqq);
  6572:     }
  6573:     return disIllegal (sb);
  6574:   }  //disMvzWord(StringBuilder)
  6575: 
  6576:   //OR.B <ea>,Dq                            012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_000_mmm_rrr
  6577:   public static StringBuilder disOrToRegByte (StringBuilder sb) {
  6578:     int qqq = disOC >> 9 & 7;
  6579:     int ea = disOC & 63;
  6580:     if (XEiJ.EAM_DAT << ea < 0L) {
  6581:       return disDR (disEab (sb.append ("or.b    "), ea).append (','), qqq);
  6582:     }
  6583:     return disIllegal (sb);
  6584:   }  //disOrToRegByte(StringBuilder)
  6585: 
  6586:   //OR.W <ea>,Dq                            012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_001_mmm_rrr
  6587:   public static StringBuilder disOrToRegWord (StringBuilder sb) {
  6588:     int qqq = disOC >> 9 & 7;
  6589:     int ea = disOC & 63;
  6590:     if (XEiJ.EAM_DAT << ea < 0L) {
  6591:       return disDR (disEaw (sb.append ("or.w    "), ea).append (','), qqq);
  6592:     }
  6593:     return disIllegal (sb);
  6594:   }  //disOrToRegWord(StringBuilder)
  6595: 
  6596:   //OR.L <ea>,Dq                            012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_010_mmm_rrr
  6597:   public static StringBuilder disOrToRegLong (StringBuilder sb) {
  6598:     int qqq = disOC >> 9 & 7;
  6599:     int ea = disOC & 63;
  6600:     if (XEiJ.EAM_DAT << ea < 0L) {
  6601:       return disDR (disEal (sb.append ("or.l    "), ea).append (','), qqq);
  6602:     }
  6603:     return disIllegal (sb);
  6604:   }  //disOrToRegLong(StringBuilder)
  6605: 
  6606:   //DIVU.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_011_mmm_rrr
  6607:   public static StringBuilder disDivuWord (StringBuilder sb) {
  6608:     int qqq = disOC >> 9 & 7;
  6609:     int ea = disOC & 63;
  6610:     if (XEiJ.EAM_DAT << ea < 0L) {
  6611:       return disDR (disEaw (sb.append ("divu.w  "), ea).append (','), qqq);
  6612:     }
  6613:     return disIllegal (sb);
  6614:   }  //disDivuWord(StringBuilder)
  6615: 
  6616:   //DIVS.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_111_mmm_rrr
  6617:   public static StringBuilder disDivsWord (StringBuilder sb) {
  6618:     int qqq = disOC >> 9 & 7;
  6619:     int ea = disOC & 63;
  6620:     if (XEiJ.EAM_DAT << ea < 0L) {
  6621:       return disDR (disEaw (sb.append ("divs.w  "), ea).append (','), qqq);
  6622:     }
  6623:     return disIllegal (sb);
  6624:   }  //disDivsWord(StringBuilder)
  6625: 
  6626:   //SBCD.B Dr,Dq                            012346|-|UUUUU|*U*U*|          |1000_qqq_100_000_rrr
  6627:   //SBCD.B -(Ar),-(Aq)                      012346|-|UUUUU|*U*U*|          |1000_qqq_100_001_rrr
  6628:   //OR.B Dq,<ea>                            012346|-|-UUUU|-**00|  M+-WXZ  |1000_qqq_100_mmm_rrr
  6629:   public static StringBuilder disOrToMemByte (StringBuilder sb) {
  6630:     int qqq = disOC >> 9 & 7;
  6631:     int ea = disOC & 63;
  6632:     if (XEiJ.EAM_MLT << ea < 0L) {
  6633:       return disEab (disDR (sb.append ("or.b    "), qqq).append (','), ea);
  6634:     }
  6635:     int mmm = ea >> 3;
  6636:     int rrr = ea & 7;
  6637:     if (mmm == XEiJ.MMM_DR) {
  6638:       return disDR (disDR (sb.append ("sbcd.b  "), rrr).append (','), qqq);
  6639:     }
  6640:     if (mmm == XEiJ.MMM_AR) {
  6641:       return disMN (disMN (sb.append ("sbcd.b  "), rrr).append (','), qqq);
  6642:     }
  6643:     return disIllegal (sb);
  6644:   }  //disOrToMemByte(StringBuilder)
  6645: 
  6646:   //PACK Dr,Dq,#<data>                      --2346|-|-----|-----|          |1000_qqq_101_000_rrr-{data}
  6647:   //PACK -(Ar),-(Aq),#<data>                --2346|-|-----|-----|          |1000_qqq_101_001_rrr-{data}
  6648:   //OR.W Dq,<ea>                            012346|-|-UUUU|-**00|  M+-WXZ  |1000_qqq_101_mmm_rrr
  6649:   public static StringBuilder disOrToMemWord (StringBuilder sb) {
  6650:     int qqq = disOC >> 9 & 7;
  6651:     int ea = disOC & 63;
  6652:     if (XEiJ.EAM_MLT << ea < 0L) {
  6653:       return disEaw (disDR (sb.append ("or.w    "), qqq).append (','), ea);
  6654:     }
  6655:     int mmm = ea >> 3;
  6656:     int rrr = ea & 7;
  6657:     if (mmm == XEiJ.MMM_DR) {
  6658:       return disIMw (disDR (disDR (sb.append ("pack    "), rrr).append (','), qqq).append (','));
  6659:     }
  6660:     if (mmm == XEiJ.MMM_AR) {
  6661:       return disIMw (disMN (disMN (sb.append ("pack    "), rrr).append (','), qqq).append (','));
  6662:     }
  6663:     return disIllegal (sb);
  6664:   }  //disOrToMemWord(StringBuilder)
  6665: 
  6666:   //UNPK Dr,Dq,#<data>                      --2346|-|-----|-----|          |1000_qqq_110_000_rrr-{data}
  6667:   //UNPK -(Ar),-(Aq),#<data>                --2346|-|-----|-----|          |1000_qqq_110_001_rrr-{data}
  6668:   //OR.L Dq,<ea>                            012346|-|-UUUU|-**00|  M+-WXZ  |1000_qqq_110_mmm_rrr
  6669:   public static StringBuilder disOrToMemLong (StringBuilder sb) {
  6670:     int qqq = disOC >> 9 & 7;
  6671:     int ea = disOC & 63;
  6672:     if (XEiJ.EAM_MLT << ea < 0L) {
  6673:       return disEal (disDR (sb.append ("or.l    "), qqq).append (','), ea);
  6674:     }
  6675:     int mmm = ea >> 3;
  6676:     int rrr = ea & 7;
  6677:     if (mmm == XEiJ.MMM_DR) {
  6678:       return disIMw (disDR (disDR (sb.append ("unpk    "), rrr).append (','), qqq).append (','));
  6679:     }
  6680:     if (mmm == XEiJ.MMM_AR) {
  6681:       return disIMw (disMN (disMN (sb.append ("unpk    "), rrr).append (','), qqq).append (','));
  6682:     }
  6683:     return disIllegal (sb);
  6684:   }  //disOrToMemLong(StringBuilder)
  6685: 
  6686:   //SUB.B <ea>,Dq                           012346|-|UUUUU|*****|D M+-WXZPI|1001_qqq_000_mmm_rrr
  6687:   public static StringBuilder disSubToRegByte (StringBuilder sb) {
  6688:     int qqq = disOC >> 9 & 7;
  6689:     int ea = disOC & 63;
  6690:     if (XEiJ.EAM_DAT << ea < 0L) {
  6691:       return disDR (disEab (sb.append ("sub.b   "), ea).append (','), qqq);
  6692:     }
  6693:     return disIllegal (sb);
  6694:   }  //disSubToRegByte(StringBuilder)
  6695: 
  6696:   //SUB.W <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_001_mmm_rrr
  6697:   public static StringBuilder disSubToRegWord (StringBuilder sb) {
  6698:     int qqq = disOC >> 9 & 7;
  6699:     int ea = disOC & 63;
  6700:     if (XEiJ.EAM_ALL << ea < 0L) {
  6701:       return disDR (disEaw (sb.append ("sub.w   "), ea).append (','), qqq);
  6702:     }
  6703:     return disIllegal (sb);
  6704:   }  //disSubToRegWord(StringBuilder)
  6705: 
  6706:   //SUB.L <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_010_mmm_rrr
  6707:   public static StringBuilder disSubToRegLong (StringBuilder sb) {
  6708:     int qqq = disOC >> 9 & 7;
  6709:     int ea = disOC & 63;
  6710:     if (XEiJ.EAM_ALL << ea < 0L) {
  6711:       return disDR (disEal (sb.append ("sub.l   "), ea).append (','), qqq);
  6712:     }
  6713:     return disIllegal (sb);
  6714:   }  //disSubToRegLong(StringBuilder)
  6715: 
  6716:   //SUBA.W <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1001_qqq_011_mmm_rrr
  6717:   public static StringBuilder disSubaWord (StringBuilder sb) {
  6718:     int ea = disOC & 63;
  6719:     int qqq = disOC >> 9 & 7;
  6720:     if (XEiJ.EAM_ALL << ea < 0L) {
  6721:       return disAR (disEaw (sb.append ("suba.w  "), ea).append (','), qqq);
  6722:     }
  6723:     return disIllegal (sb);
  6724:   }  //disSubaWord(StringBuilder)
  6725: 
  6726:   //SUBA.L <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1001_qqq_111_mmm_rrr
  6727:   public static StringBuilder disSubaLong (StringBuilder sb) {
  6728:     int ea = disOC & 63;
  6729:     int qqq = disOC >> 9 & 7;
  6730:     if (XEiJ.EAM_ALL << ea < 0L) {
  6731:       return disAR (disEal (sb.append ("suba.l  "), ea).append (','), qqq);
  6732:     }
  6733:     return disIllegal (sb);
  6734:   }  //disSubaLong(StringBuilder)
  6735: 
  6736:   //SUBX.B Dr,Dq                            012346|-|*UUUU|*****|          |1001_qqq_100_000_rrr
  6737:   //SUBX.B -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1001_qqq_100_001_rrr
  6738:   //SUB.B Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1001_qqq_100_mmm_rrr
  6739:   public static StringBuilder disSubToMemByte (StringBuilder sb) {
  6740:     int qqq = disOC >> 9 & 7;
  6741:     int ea = disOC & 63;
  6742:     if (XEiJ.EAM_MLT << ea < 0L) {
  6743:       return disEab (disDR (sb.append ("sub.b   "), qqq).append (','), ea);
  6744:     }
  6745:     int mmm = ea >> 3;
  6746:     int rrr = ea & 7;
  6747:     if (mmm == XEiJ.MMM_DR) {
  6748:       return disDR (disDR (sb.append ("subx.b  "), rrr).append (','), qqq);
  6749:     }
  6750:     if (mmm == XEiJ.MMM_AR) {
  6751:       return disMN (disMN (sb.append ("subx.b  "), rrr).append (','), qqq);
  6752:     }
  6753:     return disIllegal (sb);
  6754:   }  //disSubToMemByte(StringBuilder)
  6755: 
  6756:   //SUBX.W Dr,Dq                            012346|-|*UUUU|*****|          |1001_qqq_101_000_rrr
  6757:   //SUBX.W -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1001_qqq_101_001_rrr
  6758:   //SUB.W Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1001_qqq_101_mmm_rrr
  6759:   public static StringBuilder disSubToMemWord (StringBuilder sb) {
  6760:     int qqq = disOC >> 9 & 7;
  6761:     int ea = disOC & 63;
  6762:     if (XEiJ.EAM_MLT << ea < 0L) {
  6763:       return disEaw (disDR (sb.append ("sub.w   "), qqq).append (','), ea);
  6764:     }
  6765:     int mmm = ea >> 3;
  6766:     int rrr = ea & 7;
  6767:     if (mmm == XEiJ.MMM_DR) {
  6768:       return disDR (disDR (sb.append ("subx.w  "), rrr).append (','), qqq);
  6769:     }
  6770:     if (mmm == XEiJ.MMM_AR) {
  6771:       return disMN (disMN (sb.append ("subx.w  "), rrr).append (','), qqq);
  6772:     }
  6773:     return disIllegal (sb);
  6774:   }  //disSubToMemWord(StringBuilder)
  6775: 
  6776:   //SUBX.L Dr,Dq                            012346|-|*UUUU|*****|          |1001_qqq_110_000_rrr
  6777:   //SUBX.L -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1001_qqq_110_001_rrr
  6778:   //SUB.L Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1001_qqq_110_mmm_rrr
  6779:   public static StringBuilder disSubToMemLong (StringBuilder sb) {
  6780:     int qqq = disOC >> 9 & 7;
  6781:     int ea = disOC & 63;
  6782:     if (XEiJ.EAM_MLT << ea < 0L) {
  6783:       return disEal (disDR (sb.append ("sub.l   "), qqq).append (','), ea);
  6784:     }
  6785:     int mmm = ea >> 3;
  6786:     int rrr = ea & 7;
  6787:     if (mmm == XEiJ.MMM_DR) {
  6788:       return disDR (disDR (sb.append ("subx.l  "), rrr).append (','), qqq);
  6789:     }
  6790:     if (mmm == XEiJ.MMM_AR) {
  6791:       return disMN (disMN (sb.append ("subx.l  "), rrr).append (','), qqq);
  6792:     }
  6793:     return disIllegal (sb);
  6794:   }  //disSubToMemLong(StringBuilder)
  6795: 
  6796:   //MOV3Q.L #<data>,<ea>                    ------|-|-UUUU|-**00|DAM+-WXZ  |1010_qqq_101_mmm_rrr    (ISA_B)
  6797:   //SXCALL <name>                           012346|-|-----|-----|          |1010_xxx_xxx_xxx_xxx
  6798:   //line 1010 emulator                      012346|-|-----|-----|          |1010_xxx_xxx_xxx_xxx
  6799:   public static StringBuilder disSxcall (StringBuilder sb) {
  6800:     if (disOC < 0xa800) {
  6801:       String name = DIS_SXCALL_NAME[disOC & 2047];
  6802:       if (name.length () != 0) {
  6803:         return sb.append ("SXCALL  ").append (name);
  6804:       }
  6805:     }
  6806:     return disAline (sb);
  6807:   }  //disSxcall(StringBuilder)
  6808: 
  6809:   //line 1010 emulator                      012346|-|-----|-----|          |1010_xxx_xxx_xxx_xxx
  6810:   public static StringBuilder disAline (StringBuilder sb) {
  6811:     return disHex4 (sb.append (".dc.w   "), disOC);
  6812:   }  //disAline(StringBuilder)
  6813: 
  6814:   //CMP.B <ea>,Dq                           012346|-|-UUUU|-****|D M+-WXZPI|1011_qqq_000_mmm_rrr
  6815:   public static StringBuilder disCmpByte (StringBuilder sb) {
  6816:     int qqq = disOC >> 9 & 7;
  6817:     int ea = disOC & 63;
  6818:     if (XEiJ.EAM_DAT << ea < 0L) {
  6819:       return disDR (disEab (sb.append ("cmp.b   "), ea).append (','), qqq);
  6820:     }
  6821:     return disIllegal (sb);
  6822:   }  //disCmpByte(StringBuilder)
  6823: 
  6824:   //CMP.W <ea>,Dq                           012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_001_mmm_rrr
  6825:   public static StringBuilder disCmpWord (StringBuilder sb) {
  6826:     int qqq = disOC >> 9 & 7;
  6827:     int ea = disOC & 63;
  6828:     if (XEiJ.EAM_ALL << ea < 0L) {
  6829:       return disDR (disEaw (sb.append ("cmp.w   "), ea).append (','), qqq);
  6830:     }
  6831:     return disIllegal (sb);
  6832:   }  //disCmpWord(StringBuilder)
  6833: 
  6834:   //CMP.L <ea>,Dq                           012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_010_mmm_rrr
  6835:   public static StringBuilder disCmpLong (StringBuilder sb) {
  6836:     int qqq = disOC >> 9 & 7;
  6837:     int ea = disOC & 63;
  6838:     if (XEiJ.EAM_ALL << ea < 0L) {
  6839:       return disDR (disEal (sb.append ("cmp.l   "), ea).append (','), qqq);
  6840:     }
  6841:     return disIllegal (sb);
  6842:   }  //disCmpLong(StringBuilder)
  6843: 
  6844:   //CMPA.W <ea>,Aq                          012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_011_mmm_rrr
  6845:   public static StringBuilder disCmpaWord (StringBuilder sb) {
  6846:     int qqq = disOC >> 9 & 7;
  6847:     int ea = disOC & 63;
  6848:     if (XEiJ.EAM_ALL << ea < 0L) {
  6849:       return disAR (disEaw (sb.append ("cmpa.w  "), ea).append (','), qqq);
  6850:     }
  6851:     return disIllegal (sb);
  6852:   }  //disCmpaWord(StringBuilder)
  6853: 
  6854:   //CMPA.L <ea>,Aq                          012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_111_mmm_rrr
  6855:   public static StringBuilder disCmpaLong (StringBuilder sb) {
  6856:     int qqq = disOC >> 9 & 7;
  6857:     int ea = disOC & 63;
  6858:     if (XEiJ.EAM_ALL << ea < 0L) {
  6859:       return disAR (disEal (sb.append ("cmpa.l  "), ea).append (','), qqq);
  6860:     }
  6861:     return disIllegal (sb);
  6862:   }  //disCmpaLong(StringBuilder)
  6863: 
  6864:   //CMPM.B (Ar)+,(Aq)+                      012346|-|-UUUU|-****|          |1011_qqq_100_001_rrr
  6865:   //EOR.B Dq,<ea>                           012346|-|-UUUU|-**00|D M+-WXZ  |1011_qqq_100_mmm_rrr
  6866:   public static StringBuilder disEorToMemByte (StringBuilder sb) {
  6867:     int qqq = disOC >> 9 & 7;
  6868:     int ea = disOC & 63;
  6869:     if (XEiJ.EAM_DLT << ea < 0L) {
  6870:       return disEab (disDR (sb.append ("eor.b   "), qqq).append (','), ea);
  6871:     }
  6872:     int mmm = ea >> 3;
  6873:     int rrr = ea & 7;
  6874:     if (mmm == XEiJ.MMM_AR) {
  6875:       return disMP (disMP (sb.append ("cmpm.b  "), rrr).append (','), qqq);
  6876:     }
  6877:     return disIllegal (sb);
  6878:   }  //disEorToMemByte(StringBuilder)
  6879: 
  6880:   //CMPM.W (Ar)+,(Aq)+                      012346|-|-UUUU|-****|          |1011_qqq_101_001_rrr
  6881:   //EOR.W Dq,<ea>                           012346|-|-UUUU|-**00|D M+-WXZ  |1011_qqq_101_mmm_rrr
  6882:   public static StringBuilder disEorToMemWord (StringBuilder sb) {
  6883:     int qqq = disOC >> 9 & 7;
  6884:     int ea = disOC & 63;
  6885:     if (XEiJ.EAM_DLT << ea < 0L) {
  6886:       return disEaw (disDR (sb.append ("eor.w   "), qqq).append (','), ea);
  6887:     }
  6888:     int mmm = ea >> 3;
  6889:     int rrr = ea & 7;
  6890:     if (mmm == XEiJ.MMM_AR) {
  6891:       return disMP (disMP (sb.append ("cmpm.w  "), rrr).append (','), qqq);
  6892:     }
  6893:     return disIllegal (sb);
  6894:   }  //disEorToMemWord(StringBuilder)
  6895: 
  6896:   //CMPM.L (Ar)+,(Aq)+                      012346|-|-UUUU|-****|          |1011_qqq_110_001_rrr
  6897:   //EOR.L Dq,<ea>                           012346|-|-UUUU|-**00|D M+-WXZ  |1011_qqq_110_mmm_rrr
  6898:   public static StringBuilder disEorToMemLong (StringBuilder sb) {
  6899:     int qqq = disOC >> 9 & 7;
  6900:     int ea = disOC & 63;
  6901:     if (XEiJ.EAM_DLT << ea < 0L) {
  6902:       return disEal (disDR (sb.append ("eor.l   "), qqq).append (','), ea);
  6903:     }
  6904:     int mmm = ea >> 3;
  6905:     int rrr = ea & 7;
  6906:     if (mmm == XEiJ.MMM_AR) {
  6907:       return disMP (disMP (sb.append ("cmpm.l  "), rrr).append (','), qqq);
  6908:     }
  6909:     return disIllegal (sb);
  6910:   }  //disEorToMemLong(StringBuilder)
  6911: 
  6912:   //AND.B <ea>,Dq                           012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_000_mmm_rrr
  6913:   public static StringBuilder disAndToRegByte (StringBuilder sb) {
  6914:     int qqq = disOC >> 9 & 7;
  6915:     int ea = disOC & 63;
  6916:     if (XEiJ.EAM_DAT << ea < 0L) {
  6917:       return disDR (disEab (sb.append ("and.b   "), ea).append (','), qqq);
  6918:     }
  6919:     return disIllegal (sb);
  6920:   }  //disAndToRegByte(StringBuilder)
  6921: 
  6922:   //AND.W <ea>,Dq                           012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_001_mmm_rrr
  6923:   public static StringBuilder disAndToRegWord (StringBuilder sb) {
  6924:     int qqq = disOC >> 9 & 7;
  6925:     int ea = disOC & 63;
  6926:     if (XEiJ.EAM_DAT << ea < 0L) {
  6927:       return disDR (disEaw (sb.append ("and.w   "), ea).append (','), qqq);
  6928:     }
  6929:     return disIllegal (sb);
  6930:   }  //disAndToRegWord(StringBuilder)
  6931: 
  6932:   //AND.L <ea>,Dq                           012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_010_mmm_rrr
  6933:   public static StringBuilder disAndToRegLong (StringBuilder sb) {
  6934:     int qqq = disOC >> 9 & 7;
  6935:     int ea = disOC & 63;
  6936:     if (XEiJ.EAM_DAT << ea < 0L) {
  6937:       return disDR (disEal (sb.append ("and.l   "), ea).append (','), qqq);
  6938:     }
  6939:     return disIllegal (sb);
  6940:   }  //disAndToRegLong(StringBuilder)
  6941: 
  6942:   //MULU.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_011_mmm_rrr
  6943:   public static StringBuilder disMuluWord (StringBuilder sb) {
  6944:     int qqq = disOC >> 9 & 7;
  6945:     int ea = disOC & 63;
  6946:     if (XEiJ.EAM_DAT << ea < 0L) {
  6947:       return disDR (disEaw (sb.append ("mulu.w  "), ea).append (','), qqq);
  6948:     }
  6949:     return disIllegal (sb);
  6950:   }  //disMuluWord(StringBuilder)
  6951: 
  6952:   //MULS.W <ea>,Dq                          012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_111_mmm_rrr
  6953:   public static StringBuilder disMulsWord (StringBuilder sb) {
  6954:     int qqq = disOC >> 9 & 7;
  6955:     int ea = disOC & 63;
  6956:     if (XEiJ.EAM_DAT << ea < 0L) {
  6957:       return disDR (disEaw (sb.append ("muls.w  "), ea).append (','), qqq);
  6958:     }
  6959:     return disIllegal (sb);
  6960:   }  //disMulsWord(StringBuilder)
  6961: 
  6962:   //ABCD.B Dr,Dq                            012346|-|UUUUU|*U*U*|          |1100_qqq_100_000_rrr
  6963:   //ABCD.B -(Ar),-(Aq)                      012346|-|UUUUU|*U*U*|          |1100_qqq_100_001_rrr
  6964:   //AND.B Dq,<ea>                           012346|-|-UUUU|-**00|  M+-WXZ  |1100_qqq_100_mmm_rrr
  6965:   public static StringBuilder disAndToMemByte (StringBuilder sb) {
  6966:     int qqq = disOC >> 9 & 7;
  6967:     int ea = disOC & 63;
  6968:     if (XEiJ.EAM_MLT << ea < 0L) {
  6969:       return disEab (disDR (sb.append ("and.b   "), qqq).append (','), ea);
  6970:     }
  6971:     int mmm = ea >> 3;
  6972:     int rrr = ea & 7;
  6973:     if (mmm == XEiJ.MMM_DR) {
  6974:       return disDR (disDR (sb.append ("abcd.b  "), rrr).append (','), qqq);
  6975:     }
  6976:     if (mmm == XEiJ.MMM_AR) {
  6977:       return disMN (disMN (sb.append ("abcd.b  "), rrr).append (','), qqq);
  6978:     }
  6979:     return disIllegal (sb);
  6980:   }  //disAndToMemByte(StringBuilder)
  6981: 
  6982:   //EXG.L Dq,Dr                             012346|-|-----|-----|          |1100_qqq_101_000_rrr
  6983:   //EXG.L Aq,Ar                             012346|-|-----|-----|          |1100_qqq_101_001_rrr
  6984:   //AND.W Dq,<ea>                           012346|-|-UUUU|-**00|  M+-WXZ  |1100_qqq_101_mmm_rrr
  6985:   public static StringBuilder disAndToMemWord (StringBuilder sb) {
  6986:     int qqq = disOC >> 9 & 7;
  6987:     int ea = disOC & 63;
  6988:     if (XEiJ.EAM_MLT << ea < 0L) {
  6989:       return disEaw (disDR (sb.append ("and.w   "), qqq).append (','), ea);
  6990:     }
  6991:     int mmm = ea >> 3;
  6992:     int rrr = ea & 7;
  6993:     if (mmm == XEiJ.MMM_DR) {
  6994:       return disDR (disDR (sb.append ("exg.l   "), qqq).append (','), rrr);
  6995:     }
  6996:     if (mmm == XEiJ.MMM_AR) {
  6997:       return disAR (disAR (sb.append ("exg.l   "), qqq).append (','), rrr);
  6998:     }
  6999:     return disIllegal (sb);
  7000:   }  //disAndToMemWord(StringBuilder)
  7001: 
  7002:   //EXG.L Dq,Ar                             012346|-|-----|-----|          |1100_qqq_110_001_rrr
  7003:   //AND.L Dq,<ea>                           012346|-|-UUUU|-**00|  M+-WXZ  |1100_qqq_110_mmm_rrr
  7004:   public static StringBuilder disAndToMemLong (StringBuilder sb) {
  7005:     int qqq = disOC >> 9 & 7;
  7006:     int ea = disOC & 63;
  7007:     if (XEiJ.EAM_MLT << ea < 0L) {
  7008:       return disEal (disDR (sb.append ("and.l   "), qqq).append (','), ea);
  7009:     }
  7010:     int mmm = ea >> 3;
  7011:     int rrr = ea & 7;
  7012:     if (mmm == XEiJ.MMM_AR) {
  7013:       return disAR (disDR (sb.append ("exg.l   "), qqq).append (','), rrr);
  7014:     }
  7015:     return disIllegal (sb);
  7016:   }  //disAndToMemLong(StringBuilder)
  7017: 
  7018:   //ADD.B <ea>,Dq                           012346|-|UUUUU|*****|D M+-WXZPI|1101_qqq_000_mmm_rrr
  7019:   public static StringBuilder disAddToRegByte (StringBuilder sb) {
  7020:     int qqq = disOC >> 9 & 7;
  7021:     int ea = disOC & 63;
  7022:     if (XEiJ.EAM_DAT << ea < 0L) {
  7023:       return disDR (disEab (sb.append ("add.b   "), ea).append (','), qqq);
  7024:     }
  7025:     return disIllegal (sb);
  7026:   }  //disAddToRegByte(StringBuilder)
  7027: 
  7028:   //ADD.W <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_001_mmm_rrr
  7029:   public static StringBuilder disAddToRegWord (StringBuilder sb) {
  7030:     int qqq = disOC >> 9 & 7;
  7031:     int ea = disOC & 63;
  7032:     if (XEiJ.EAM_ALL << ea < 0L) {
  7033:       return disDR (disEaw (sb.append ("add.w   "), ea).append (','), qqq);
  7034:     }
  7035:     return disIllegal (sb);
  7036:   }  //disAddToRegWord(StringBuilder)
  7037: 
  7038:   //ADD.L <ea>,Dq                           012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_010_mmm_rrr
  7039:   public static StringBuilder disAddToRegLong (StringBuilder sb) {
  7040:     int qqq = disOC >> 9 & 7;
  7041:     int ea = disOC & 63;
  7042:     if (XEiJ.EAM_ALL << ea < 0L) {
  7043:       return disDR (disEal (sb.append ("add.l   "), ea).append (','), qqq);
  7044:     }
  7045:     return disIllegal (sb);
  7046:   }  //disAddToRegLong(StringBuilder)
  7047: 
  7048:   //ADDA.W <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1101_qqq_011_mmm_rrr
  7049:   public static StringBuilder disAddaWord (StringBuilder sb) {
  7050:     int ea = disOC & 63;
  7051:     int qqq = disOC >> 9 & 7;
  7052:     if (XEiJ.EAM_ALL << ea < 0L) {
  7053:       return disAR (disEaw (sb.append ("adda.w  "), ea).append (','), qqq);
  7054:     }
  7055:     return disIllegal (sb);
  7056:   }  //disAddaWord(StringBuilder)
  7057: 
  7058:   //ADDA.L <ea>,Aq                          012346|-|-----|-----|DAM+-WXZPI|1101_qqq_111_mmm_rrr
  7059:   public static StringBuilder disAddaLong (StringBuilder sb) {
  7060:     int ea = disOC & 63;
  7061:     int qqq = disOC >> 9 & 7;
  7062:     if (XEiJ.EAM_ALL << ea < 0L) {
  7063:       return disAR (disEal (sb.append ("adda.l  "), ea).append (','), qqq);
  7064:     }
  7065:     return disIllegal (sb);
  7066:   }  //disAddaLong(StringBuilder)
  7067: 
  7068:   //ADDX.B Dr,Dq                            012346|-|*UUUU|*****|          |1101_qqq_100_000_rrr
  7069:   //ADDX.B -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1101_qqq_100_001_rrr
  7070:   //ADD.B Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1101_qqq_100_mmm_rrr
  7071:   public static StringBuilder disAddToMemByte (StringBuilder sb) {
  7072:     int qqq = disOC >> 9 & 7;
  7073:     int ea = disOC & 63;
  7074:     if (XEiJ.EAM_MLT << ea < 0L) {
  7075:       return disEab (disDR (sb.append ("add.b   "), qqq).append (','), ea);
  7076:     }
  7077:     int mmm = ea >> 3;
  7078:     int rrr = ea & 7;
  7079:     if (mmm == XEiJ.MMM_DR) {
  7080:       return disDR (disDR (sb.append ("addx.b  "), rrr).append (','), qqq);
  7081:     }
  7082:     if (mmm == XEiJ.MMM_AR) {
  7083:       return disMN (disMN (sb.append ("addx.b  "), rrr).append (','), qqq);
  7084:     }
  7085:     return disIllegal (sb);
  7086:   }  //disAddToMemByte(StringBuilder)
  7087: 
  7088:   //ADDX.W Dr,Dq                            012346|-|*UUUU|*****|          |1101_qqq_101_000_rrr
  7089:   //ADDX.W -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1101_qqq_101_001_rrr
  7090:   //ADD.W Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1101_qqq_101_mmm_rrr
  7091:   public static StringBuilder disAddToMemWord (StringBuilder sb) {
  7092:     int qqq = disOC >> 9 & 7;
  7093:     int ea = disOC & 63;
  7094:     if (XEiJ.EAM_MLT << ea < 0L) {
  7095:       return disEaw (disDR (sb.append ("add.w   "), qqq).append (','), ea);
  7096:     }
  7097:     int mmm = ea >> 3;
  7098:     int rrr = ea & 7;
  7099:     if (mmm == XEiJ.MMM_DR) {
  7100:       return disDR (disDR (sb.append ("addx.w  "), rrr).append (','), qqq);
  7101:     }
  7102:     if (mmm == XEiJ.MMM_AR) {
  7103:       return disMN (disMN (sb.append ("addx.w  "), rrr).append (','), qqq);
  7104:     }
  7105:     return disIllegal (sb);
  7106:   }  //disAddToMemWord(StringBuilder)
  7107: 
  7108:   //ADDX.L Dr,Dq                            012346|-|*UUUU|*****|          |1101_qqq_110_000_rrr
  7109:   //ADDX.L -(Ar),-(Aq)                      012346|-|*UUUU|*****|          |1101_qqq_110_001_rrr
  7110:   //ADD.L Dq,<ea>                           012346|-|UUUUU|*****|  M+-WXZ  |1101_qqq_110_mmm_rrr
  7111:   public static StringBuilder disAddToMemLong (StringBuilder sb) {
  7112:     int qqq = disOC >> 9 & 7;
  7113:     int ea = disOC & 63;
  7114:     if (XEiJ.EAM_MLT << ea < 0L) {
  7115:       return disEal (disDR (sb.append ("add.l   "), qqq).append (','), ea);
  7116:     }
  7117:     int mmm = ea >> 3;
  7118:     int rrr = ea & 7;
  7119:     if (mmm == XEiJ.MMM_DR) {
  7120:       return disDR (disDR (sb.append ("addx.l  "), rrr).append (','), qqq);
  7121:     }
  7122:     if (mmm == XEiJ.MMM_AR) {
  7123:       return disMN (disMN (sb.append ("addx.l  "), rrr).append (','), qqq);
  7124:     }
  7125:     return disIllegal (sb);
  7126:   }  //disAddToMemLong(StringBuilder)
  7127: 
  7128:   public static final String[] DIS_XXR_BYTE = { "asr.b   ", "lsr.b   ", "roxr.b  ", "ror.b   " };
  7129:   public static final String[] DIS_XXR_WORD = { "asr.w   ", "lsr.w   ", "roxr.w  ", "ror.w   " };
  7130:   public static final String[] DIS_XXR_LONG = { "asr.l   ", "lsr.l   ", "roxr.l  ", "ror.l   " };
  7131: 
  7132:   //ASR.B #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_000_000_rrr
  7133:   //LSR.B #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_000_001_rrr
  7134:   //ROXR.B #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_000_010_rrr
  7135:   //ROR.B #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_000_011_rrr
  7136:   //ASR.B Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_000_100_rrr
  7137:   //LSR.B Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_000_101_rrr
  7138:   //ROXR.B Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_000_110_rrr
  7139:   //ROR.B Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_000_111_rrr
  7140:   public static StringBuilder disXxrToRegByte (StringBuilder sb) {
  7141:     int qqq = disOC >> 9 & 7;
  7142:     sb.append (DIS_XXR_BYTE[disOC >> 3 & 3]);
  7143:     int rrr = disOC & 7;
  7144:     return ((disOC & 0b100_000) == 0 ?
  7145:             disDR (disIM3 (sb, qqq).append (','), rrr) :
  7146:             disDR (disDR (sb, qqq).append (','), rrr));
  7147:   }  //disXxrToRegByte(StringBuilder)
  7148: 
  7149:   //ASR.W #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_001_000_rrr
  7150:   //LSR.W #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_001_001_rrr
  7151:   //ROXR.W #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_001_010_rrr
  7152:   //ROR.W #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_001_011_rrr
  7153:   //ASR.W Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_001_100_rrr
  7154:   //LSR.W Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_001_101_rrr
  7155:   //ROXR.W Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_001_110_rrr
  7156:   //ROR.W Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_001_111_rrr
  7157:   public static StringBuilder disXxrToRegWord (StringBuilder sb) {
  7158:     int qqq = disOC >> 9 & 7;
  7159:     sb.append (DIS_XXR_WORD[disOC >> 3 & 3]);
  7160:     int rrr = disOC & 7;
  7161:     return ((disOC & 0b100_000) == 0 ?
  7162:             disDR (disIM3 (sb, qqq).append (','), rrr) :
  7163:             disDR (disDR (sb, qqq).append (','), rrr));
  7164:   }  //disXxrToRegWord(StringBuilder)
  7165: 
  7166:   //ASR.L #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_010_000_rrr
  7167:   //LSR.L #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_010_001_rrr
  7168:   //ROXR.L #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_010_010_rrr
  7169:   //ROR.L #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_010_011_rrr
  7170:   //ASR.L Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_010_100_rrr
  7171:   //LSR.L Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_010_101_rrr
  7172:   //ROXR.L Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_010_110_rrr
  7173:   //ROR.L Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_010_111_rrr
  7174:   public static StringBuilder disXxrToRegLong (StringBuilder sb) {
  7175:     int qqq = disOC >> 9 & 7;
  7176:     sb.append (DIS_XXR_LONG[disOC >> 3 & 3]);
  7177:     int rrr = disOC & 7;
  7178:     return ((disOC & 0b100_000) == 0 ?
  7179:             disDR (disIM3 (sb, qqq).append (','), rrr) :
  7180:             disDR (disDR (sb, qqq).append (','), rrr));
  7181:   }  //disXxrToRegLong(StringBuilder)
  7182: 
  7183:   //ASR.W <ea>                              012346|-|UUUUU|***0*|  M+-WXZ  |1110_000_011_mmm_rrr
  7184:   public static StringBuilder disAsrToMem (StringBuilder sb) {
  7185:     int ea = disOC & 63;
  7186:     if (XEiJ.EAM_MLT << ea < 0L) {
  7187:       return disEaw (sb.append ("asr.w   "), ea);
  7188:     }
  7189:     return disIllegal (sb);
  7190:   }  //disAsrToMem(StringBuilder)
  7191: 
  7192:   //LSR.W <ea>                              012346|-|UUUUU|*0*0*|  M+-WXZ  |1110_001_011_mmm_rrr
  7193:   public static StringBuilder disLsrToMem (StringBuilder sb) {
  7194:     int ea = disOC & 63;
  7195:     if (XEiJ.EAM_MLT << ea < 0L) {
  7196:       return disEaw (sb.append ("lsr.w   "), ea);
  7197:     }
  7198:     return disIllegal (sb);
  7199:   }  //disLsrToMem(StringBuilder)
  7200: 
  7201:   //ROXR.W <ea>                             012346|-|*UUUU|***0*|  M+-WXZ  |1110_010_011_mmm_rrr
  7202:   public static StringBuilder disRoxrToMem (StringBuilder sb) {
  7203:     int ea = disOC & 63;
  7204:     if (XEiJ.EAM_MLT << ea < 0L) {
  7205:       return disEaw (sb.append ("roxr.w  "), ea);
  7206:     }
  7207:     return disIllegal (sb);
  7208:   }  //disRoxrToMem(StringBuilder)
  7209: 
  7210:   //ROR.W <ea>                              012346|-|-UUUU|-**0*|  M+-WXZ  |1110_011_011_mmm_rrr
  7211:   public static StringBuilder disRorToMem (StringBuilder sb) {
  7212:     int ea = disOC & 63;
  7213:     if (XEiJ.EAM_MLT << ea < 0L) {
  7214:       return disEaw (sb.append ("ror.w   "), ea);
  7215:     }
  7216:     return disIllegal (sb);
  7217:   }  //disRorToMem(StringBuilder)
  7218: 
  7219:   public static final String[] DIS_XXL_BYTE = { "asl.b   ", "lsl.b   ", "roxl.b  ", "rol.b   " };
  7220:   public static final String[] DIS_XXL_WORD = { "asl.w   ", "lsl.w   ", "roxl.w  ", "rol.w   " };
  7221:   public static final String[] DIS_XXL_LONG = { "asl.l   ", "lsl.l   ", "roxl.l  ", "rol.l   " };
  7222: 
  7223:   //ASL.B #<data>,Dr                        012346|-|UUUUU|*****|          |1110_qqq_100_000_rrr
  7224:   //LSL.B #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_100_001_rrr
  7225:   //ROXL.B #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_100_010_rrr
  7226:   //ROL.B #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_100_011_rrr
  7227:   //ASL.B Dq,Dr                             012346|-|UUUUU|*****|          |1110_qqq_100_100_rrr
  7228:   //LSL.B Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_100_101_rrr
  7229:   //ROXL.B Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_100_110_rrr
  7230:   //ROL.B Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_100_111_rrr
  7231:   public static StringBuilder disXxlToRegByte (StringBuilder sb) {
  7232:     int qqq = disOC >> 9 & 7;
  7233:     sb.append (DIS_XXL_BYTE[disOC >> 3 & 3]);
  7234:     int rrr = disOC & 7;
  7235:     return ((disOC & 0b100_000) == 0 ?
  7236:             disDR (disIM3 (sb, qqq).append (','), rrr) :
  7237:             disDR (disDR (sb, qqq).append (','), rrr));
  7238:   }  //disXxlToRegByte(StringBuilder)
  7239: 
  7240:   //ASL.W #<data>,Dr                        012346|-|UUUUU|*****|          |1110_qqq_101_000_rrr
  7241:   //LSL.W #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_101_001_rrr
  7242:   //ROXL.W #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_101_010_rrr
  7243:   //ROL.W #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_101_011_rrr
  7244:   //ASL.W Dq,Dr                             012346|-|UUUUU|*****|          |1110_qqq_101_100_rrr
  7245:   //LSL.W Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_101_101_rrr
  7246:   //ROXL.W Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_101_110_rrr
  7247:   //ROL.W Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_101_111_rrr
  7248:   public static StringBuilder disXxlToRegWord (StringBuilder sb) {
  7249:     int qqq = disOC >> 9 & 7;
  7250:     sb.append (DIS_XXL_WORD[disOC >> 3 & 3]);
  7251:     int rrr = disOC & 7;
  7252:     return ((disOC & 0b100_000) == 0 ?
  7253:             disDR (disIM3 (sb, qqq).append (','), rrr) :
  7254:             disDR (disDR (sb, qqq).append (','), rrr));
  7255:   }  //disXxlToRegWord(StringBuilder)
  7256: 
  7257:   //ASL.L #<data>,Dr                        012346|-|UUUUU|*****|          |1110_qqq_110_000_rrr
  7258:   //LSL.L #<data>,Dr                        012346|-|UUUUU|***0*|          |1110_qqq_110_001_rrr
  7259:   //ROXL.L #<data>,Dr                       012346|-|*UUUU|***0*|          |1110_qqq_110_010_rrr
  7260:   //ROL.L #<data>,Dr                        012346|-|-UUUU|-**0*|          |1110_qqq_110_011_rrr
  7261:   //ASL.L Dq,Dr                             012346|-|UUUUU|*****|          |1110_qqq_110_100_rrr
  7262:   //LSL.L Dq,Dr                             012346|-|UUUUU|***0*|          |1110_qqq_110_101_rrr
  7263:   //ROXL.L Dq,Dr                            012346|-|*UUUU|***0*|          |1110_qqq_110_110_rrr
  7264:   //ROL.L Dq,Dr                             012346|-|-UUUU|-**0*|          |1110_qqq_110_111_rrr
  7265:   public static StringBuilder disXxlToRegLong (StringBuilder sb) {
  7266:     int qqq = disOC >> 9 & 7;
  7267:     sb.append (DIS_XXL_LONG[disOC >> 3 & 3]);
  7268:     int rrr = disOC & 7;
  7269:     return ((disOC & 0b100_000) == 0 ?
  7270:             disDR (disIM3 (sb, qqq).append (','), rrr) :
  7271:             disDR (disDR (sb, qqq).append (','), rrr));
  7272:   }  //disXxlToRegLong(StringBuilder)
  7273: 
  7274:   //ASL.W <ea>                              012346|-|UUUUU|*****|  M+-WXZ  |1110_000_111_mmm_rrr
  7275:   public static StringBuilder disAslToMem (StringBuilder sb) {
  7276:     int ea = disOC & 63;
  7277:     if (XEiJ.EAM_MLT << ea < 0L) {
  7278:       return disEaw (sb.append ("asl.w   "), ea);
  7279:     }
  7280:     return disIllegal (sb);
  7281:   }  //disAslToMem(StringBuilder)
  7282: 
  7283:   //LSL.W <ea>                              012346|-|UUUUU|***0*|  M+-WXZ  |1110_001_111_mmm_rrr
  7284:   public static StringBuilder disLslToMem (StringBuilder sb) {
  7285:     int ea = disOC & 63;
  7286:     if (XEiJ.EAM_MLT << ea < 0L) {
  7287:       return disEaw (sb.append ("lsl.w   "), ea);
  7288:     }
  7289:     return disIllegal (sb);
  7290:   }  //disLslToMem(StringBuilder)
  7291: 
  7292:   //ROXL.W <ea>                             012346|-|*UUUU|***0*|  M+-WXZ  |1110_010_111_mmm_rrr
  7293:   public static StringBuilder disRoxlToMem (StringBuilder sb) {
  7294:     int ea = disOC & 63;
  7295:     if (XEiJ.EAM_MLT << ea < 0L) {
  7296:       return disEaw (sb.append ("roxl.w  "), ea);
  7297:     }
  7298:     return disIllegal (sb);
  7299:   }  //disRoxlToMem(StringBuilder)
  7300: 
  7301:   //ROL.W <ea>                              012346|-|-UUUU|-**0*|  M+-WXZ  |1110_011_111_mmm_rrr
  7302:   public static StringBuilder disRolToMem (StringBuilder sb) {
  7303:     int ea = disOC & 63;
  7304:     if (XEiJ.EAM_MLT << ea < 0L) {
  7305:       return disEaw (sb.append ("rol.w   "), ea);
  7306:     }
  7307:     return disIllegal (sb);
  7308:   }  //disRolToMem(StringBuilder)
  7309: 
  7310:   //BFTST <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_0ww_www
  7311:   //BFTST <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_100_www
  7312:   //BFTST <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_100_ooo_0ww_www
  7313:   //BFTST <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZP |1110_100_011_mmm_rrr-0000_100_ooo_100_www
  7314:   public static StringBuilder disBftst (StringBuilder sb) {
  7315:     int ea = disOC & 63;
  7316:     if (XEiJ.EAM_DCN << ea < 0L) {
  7317:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7318:       return disBF (disEab (sb.append ("bftst   "), ea), w);
  7319:     }
  7320:     return disIllegal (sb);
  7321:   }  //disBftst(StringBuilder)
  7322: 
  7323:   //BFEXTU <ea>{#o:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  7324:   //BFEXTU <ea>{#o:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_100_www
  7325:   //BFEXTU <ea>{Do:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_0ww_www
  7326:   //BFEXTU <ea>{Do:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_100_www
  7327:   public static StringBuilder disBfextu (StringBuilder sb) {
  7328:     int ea = disOC & 63;
  7329:     if (XEiJ.EAM_DCN << ea < 0L) {
  7330:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7331:       return disDR (disBF (disEab (sb.append ("bfextu  "), ea), w).append (','), w >> 12 & 7);
  7332:     }
  7333:     return disIllegal (sb);
  7334:   }  //disBfextu(StringBuilder)
  7335: 
  7336:   //BFCHG <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_0oo_ooo_0ww_www
  7337:   //BFCHG <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_0oo_ooo_100_www
  7338:   //BFCHG <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_100_ooo_0ww_www
  7339:   //BFCHG <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_101_011_mmm_rrr-0000_100_ooo_100_www
  7340:   public static StringBuilder disBfchg (StringBuilder sb) {
  7341:     int ea = disOC & 63;
  7342:     if (XEiJ.EAM_DCL << ea < 0L) {
  7343:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7344:       return disBF (disEab (sb.append ("bfchg   "), ea), w);
  7345:     }
  7346:     return disIllegal (sb);
  7347:   }  //disBfchg(StringBuilder)
  7348: 
  7349:   //BFEXTS <ea>{#o:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  7350:   //BFEXTS <ea>{#o:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_100_www
  7351:   //BFEXTS <ea>{Do:#w},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_0ww_www
  7352:   //BFEXTS <ea>{Do:Dw},Dn                   --2346|-|-UUUU|-**00|D M  WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_100_www
  7353:   public static StringBuilder disBfexts (StringBuilder sb) {
  7354:     int ea = disOC & 63;
  7355:     if (XEiJ.EAM_DCN << ea < 0L) {
  7356:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7357:       return disDR (disBF (disEab (sb.append ("bfexts  "), ea), w).append (','), w >> 12 & 7);
  7358:     }
  7359:     return disIllegal (sb);
  7360:   }  //disBfexts(StringBuilder)
  7361: 
  7362:   //BFCLR <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_0oo_ooo_0ww_www
  7363:   //BFCLR <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_0oo_ooo_100_www
  7364:   //BFCLR <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_100_ooo_0ww_www
  7365:   //BFCLR <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_110_011_mmm_rrr-0000_100_ooo_100_www
  7366:   public static StringBuilder disBfclr (StringBuilder sb) {
  7367:     int ea = disOC & 63;
  7368:     if (XEiJ.EAM_DCL << ea < 0L) {
  7369:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7370:       return disBF (disEab (sb.append ("bfclr   "), ea), w);
  7371:     }
  7372:     return disIllegal (sb);
  7373:   }  //disBfclr(StringBuilder)
  7374: 
  7375:   //BFFFO <ea>{#o:#w},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  7376:   //BFFFO <ea>{#o:Dw},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_100_www
  7377:   //BFFFO <ea>{Do:#w},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_0ww_www
  7378:   //BFFFO <ea>{Do:Dw},Dn                    --2346|-|-UUUU|-**00|D M  WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_100_www
  7379:   public static StringBuilder disBfffo (StringBuilder sb) {
  7380:     int ea = disOC & 63;
  7381:     if (XEiJ.EAM_DCN << ea < 0L) {
  7382:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7383:       return disDR (disBF (disEab (sb.append ("bfffo   "), ea), w).append (','), w >> 12 & 7);
  7384:     }
  7385:     return disIllegal (sb);
  7386:   }  //disBfffo(StringBuilder)
  7387: 
  7388:   //BFSET <ea>{#o:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_0oo_ooo_0ww_www
  7389:   //BFSET <ea>{#o:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_0oo_ooo_100_www
  7390:   //BFSET <ea>{Do:#w}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_100_ooo_0ww_www
  7391:   //BFSET <ea>{Do:Dw}                       --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_011_mmm_rrr-0000_100_ooo_100_www
  7392:   public static StringBuilder disBfset (StringBuilder sb) {
  7393:     int ea = disOC & 63;
  7394:     if (XEiJ.EAM_DCL << ea < 0L) {
  7395:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7396:       return disBF (disEab (sb.append ("bfset   "), ea), w);
  7397:     }
  7398:     return disIllegal (sb);
  7399:   }  //disBfset(StringBuilder)
  7400: 
  7401:   //BFINS Dn,<ea>{#o:#w}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_0oo_ooo_0ww_www
  7402:   //BFINS Dn,<ea>{#o:Dw}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_0oo_ooo_100_www
  7403:   //BFINS Dn,<ea>{Do:#w}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_100_ooo_0ww_www
  7404:   //BFINS Dn,<ea>{Do:Dw}                    --2346|-|-UUUU|-**00|D M  WXZ  |1110_111_111_mmm_rrr-0nnn_100_ooo_100_www
  7405:   public static StringBuilder disBfins (StringBuilder sb) {
  7406:     int ea = disOC & 63;
  7407:     if (XEiJ.EAM_DCL << ea < 0L) {
  7408:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);
  7409:       return disBF (disEab (disDR (sb.append ("bfins   "), w >> 12 & 7).append (','), ea), w);
  7410:     }
  7411:     return disIllegal (sb);
  7412:   }  //disBfins(StringBuilder)
  7413: 
  7414:   //PMOVE.L <ea>,TTn                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00001n0000000000
  7415:   //PMOVEFD.L <ea>,TTn                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00001n0100000000
  7416:   //PMOVE.L TTn,<ea>                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00001n1000000000
  7417:   //PLOADW SFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000000000
  7418:   //PLOADW DFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000000001
  7419:   //PLOADW Dn,<ea>                          --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000001nnn
  7420:   //PLOADW #<data>,<ea>                     ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010000000010ddd
  7421:   //PLOADW #<data>,<ea>                     --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-001000000001dddd
  7422:   //PLOADR SFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000000000
  7423:   //PLOADR DFC,<ea>                         --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000000001
  7424:   //PLOADR Dn,<ea>                          --M3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000001nnn
  7425:   //PLOADR #<data>,<ea>                     ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010001000010ddd
  7426:   //PLOADR #<data>,<ea>                     --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-001000100001dddd
  7427:   //PFLUSHA                                 --M---|P|-----|-----|          |1111_000_000_000_000-0010010000000000
  7428:   //PFLUSHA                                 ---3--|P|-----|-----|          |1111_000_000_000_000-0010010000000000
  7429:   //PVALID.L VAL,<ea>                       --M---|-|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010100000000000
  7430:   //PVALID.L An,<ea>                        --M---|-|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0010110000000nnn
  7431:   //PFLUSH SFC,#<mask>                      --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm00000
  7432:   //PFLUSH SFC,#<mask>                      ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm00000
  7433:   //PFLUSH DFC,#<mask>                      --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm00001
  7434:   //PFLUSH DFC,#<mask>                      ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm00001
  7435:   //PFLUSH Dn,#<mask>                       --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm01nnn
  7436:   //PFLUSH Dn,#<mask>                       ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm01nnn
  7437:   //PFLUSH #<data>,#<mask>                  ---3--|P|-----|-----|          |1111_000_000_000_000-00110000mmm10ddd
  7438:   //PFLUSH #<data>,#<mask>                  --M---|P|-----|-----|          |1111_000_000_000_000-0011000mmmm1dddd
  7439:   //PFLUSHS SFC,#<mask>                     --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm00000
  7440:   //PFLUSHS DFC,#<mask>                     --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm00001
  7441:   //PFLUSHS Dn,#<mask>                      --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm01nnn
  7442:   //PFLUSHS #<data>,#<mask>                 --M---|P|-----|-----|          |1111_000_000_000_000-0011010mmmm1dddd
  7443:   //PFLUSH SFC,#<mask>,<ea>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm00000
  7444:   //PFLUSH SFC,#<mask>,<ea>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm00000
  7445:   //PFLUSH DFC,#<mask>,<ea>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm00001
  7446:   //PFLUSH DFC,#<mask>,<ea>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm00001
  7447:   //PFLUSH Dn,#<mask>,<ea>                  ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm01nnn
  7448:   //PFLUSH #<data>,#<mask>,<ea>             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-00111000mmm10ddd
  7449:   //PFLUSH Dn,#<mask>,<ea>                  --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm01nnn
  7450:   //PFLUSH #<data>,#<mask>,<ea>             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011100mmmm1dddd
  7451:   //PFLUSHS SFC,#<mask>,<ea>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm00000
  7452:   //PFLUSHS DFC,#<mask>,<ea>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm00001
  7453:   //PFLUSHS Dn,#<mask>,<ea>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm01nnn
  7454:   //PFLUSHS #<data>,#<mask>,<ea>            --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0011110mmmm1dddd
  7455:   //PMOVE.L <ea>,TC                         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100000000000000
  7456:   //PMOVE.L <ea>,TC                         --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0100000000000000
  7457:   //PMOVEFD.L <ea>,TC                       ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100000100000000
  7458:   //PMOVE.L TC,<ea>                         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100001000000000
  7459:   //PMOVE.L TC,<ea>                         --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0100001000000000
  7460:   //PMOVE.Q <ea>,DRP                        --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-0100010000000000
  7461:   //PMOVE.Q DRP,<ea>                        --M---|P|-----|-----|  M+-WXZ  |1111_000_000_mmm_rrr-0100011000000000
  7462:   //PMOVE.Q <ea>,SRP                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100100000000000
  7463:   //PMOVE.Q <ea>,SRP                        --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-0100100000000000
  7464:   //PMOVEFD.Q <ea>,SRP                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100100100000000
  7465:   //PMOVE.Q SRP,<ea>                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100101000000000
  7466:   //PMOVE.Q SRP,<ea>                        --M---|P|-----|-----|  M+-WXZ  |1111_000_000_mmm_rrr-0100101000000000
  7467:   //PMOVE.Q <ea>,CRP                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100110000000000
  7468:   //PMOVE.Q <ea>,CRP                        --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-0100110000000000
  7469:   //PMOVEFD.Q <ea>,CRP                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100110100000000
  7470:   //PMOVE.Q CRP,<ea>                        ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0100111000000000
  7471:   //PMOVE.Q CRP,<ea>                        --M---|P|-----|-----|  M+-WXZ  |1111_000_000_mmm_rrr-0100111000000000
  7472:   //PMOVE.B <ea>,CAL                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101000000000000
  7473:   //PMOVE.B CAL,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101001000000000
  7474:   //PMOVE.B <ea>,VAL                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101010000000000
  7475:   //PMOVE.B VAL,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101011000000000
  7476:   //PMOVE.B <ea>,SCC                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101100000000000
  7477:   //PMOVE.B SCC,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101101000000000
  7478:   //PMOVE.W <ea>,AC                         --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101110000000000
  7479:   //PMOVE.W AC,<ea>                         --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0101111000000000
  7480:   //PMOVE.W <ea>,MMUSR                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0110000000000000
  7481:   //PMOVE.W <ea>,PSR                        --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110000000000000
  7482:   //PMOVE.W MMUSR,<ea>                      ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-0110001000000000
  7483:   //PMOVE.W PSR,<ea>                        --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0110001000000000
  7484:   //PMOVE.W <ea>,PCSR                       --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110010000000000
  7485:   //PMOVE.W PCSR,<ea>                       --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-0110011000000000
  7486:   //PMOVE.W <ea>,BADn                       --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110000000nnn00
  7487:   //PMOVE.W BADn,<ea>                       --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-01110010000nnn00
  7488:   //PMOVE.W <ea>,BACn                       --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110100000nnn00
  7489:   //PMOVE.W BACn,<ea>                       --M---|P|-----|-----|DAM+-WXZ  |1111_000_000_mmm_rrr-01110110000nnn00
  7490:   //PTESTW SFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000000
  7491:   //PTESTW SFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000000
  7492:   //PTESTW DFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000001
  7493:   //PTESTW DFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000000001
  7494:   //PTESTW Dn,<ea>,#<level>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000001nnn
  7495:   //PTESTW Dn,<ea>,#<level>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000001nnn
  7496:   //PTESTW #<data>,<ea>,#<level>            --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll000001dddd
  7497:   //PTESTW #<data>,<ea>,#<level>            ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll0000010ddd
  7498:   //PTESTW SFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00000
  7499:   //PTESTW SFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00000
  7500:   //PTESTW DFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00001
  7501:   //PTESTW DFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn00001
  7502:   //PTESTW Dn,<ea>,#<level>,An              --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn01nnn
  7503:   //PTESTW Dn,<ea>,#<level>,An              ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn01nnn
  7504:   //PTESTW #<data>,<ea>,#<level>,An         --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn1dddd
  7505:   //PTESTW #<data>,<ea>,#<level>,An         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll01nnn10ddd
  7506:   //PTESTR SFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000000
  7507:   //PTESTR SFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000000
  7508:   //PTESTR DFC,<ea>,#<level>                --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000001
  7509:   //PTESTR DFC,<ea>,#<level>                ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000000001
  7510:   //PTESTR Dn,<ea>,#<level>                 --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000001nnn
  7511:   //PTESTR Dn,<ea>,#<level>                 ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000001nnn
  7512:   //PTESTR #<data>,<ea>,#<level>            --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll100001dddd
  7513:   //PTESTR #<data>,<ea>,#<level>            ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll1000010ddd
  7514:   //PTESTR SFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00000
  7515:   //PTESTR SFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00000
  7516:   //PTESTR DFC,<ea>,#<level>,An             --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00001
  7517:   //PTESTR DFC,<ea>,#<level>,An             ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn00001
  7518:   //PTESTR Dn,<ea>,#<level>,An              --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn01nnn
  7519:   //PTESTR Dn,<ea>,#<level>,An              ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn01nnn
  7520:   //PTESTR #<data>,<ea>,#<level>,An         --M---|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn1dddd
  7521:   //PTESTR #<data>,<ea>,#<level>,An         ---3--|P|-----|-----|  M  WXZ  |1111_000_000_mmm_rrr-100lll11nnn10ddd
  7522:   //PFLUSHR <ea>                            --M---|P|-----|-----|  M+-WXZPI|1111_000_000_mmm_rrr-1010000000000000
  7523:   public static StringBuilder disPgen (StringBuilder sb) {
  7524:     //!!!
  7525:     return disIllegal (sb);
  7526:   }  //disPgen(StringBuilder)
  7527: 
  7528:   public static final String[] DIS_MM_CC = (
  7529:     "bs," +  //000000
  7530:     "bc," +  //000001
  7531:     "ls," +  //000010
  7532:     "lc," +  //000011
  7533:     "ss," +  //000100
  7534:     "sc," +  //000101
  7535:     "as," +  //000110
  7536:     "ac," +  //000111
  7537:     "ws," +  //001000
  7538:     "wc," +  //001001
  7539:     "is," +  //001010
  7540:     "ic," +  //001011
  7541:     "gs," +  //001100
  7542:     "gc," +  //001101
  7543:     "cs," +  //001110
  7544:     "cc"     //001111
  7545:     ).split (",");
  7546: 
  7547:   //PDBcc.W Dn,<label>                      --M---|P|-----|-----|          |1111_000_001_001_nnn-0000000000cccccc-{offset}
  7548:   //PTRAPcc.W #<data>                       --M---|P|-----|-----|          |1111_000_001_111_010-0000000000cccccc-{data}
  7549:   //PTRAPcc.L #<data>                       --M---|P|-----|-----|          |1111_000_001_111_011-0000000000cccccc-{data}
  7550:   //PTRAPcc                                 --M---|P|-----|-----|          |1111_000_001_111_100-0000000000cccccc
  7551:   //PScc.B <ea>                             --M---|P|-----|-----|D M+-WXZ  |1111_000_001_mmm_rrr-0000000000cccccc
  7552:   public static StringBuilder disPscc (StringBuilder sb) {
  7553:     int c = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor) & 63;
  7554:     if (c < DIS_MM_CC.length) {
  7555:       int ea = disOC & 63;
  7556:       if (ea >> 3 == XEiJ.MMM_AR) {
  7557:         disStatus = DIS_SOMETIMES_BRANCH;
  7558:         return disOW (disDR (disOp3 (sb, "pdb", DIS_MM_CC[c], ".w"), disOC & 7).append (','));  //FDBccはUnsized、PDBccはWordらしい
  7559:       }
  7560:       if (ea == XEiJ.EA_PW) {
  7561:         return disIMw (disOp3 (sb, "ptrap", DIS_MM_CC[c], ".w"));
  7562:       }
  7563:       if (ea == XEiJ.EA_PX) {
  7564:         return disIMl (disOp3 (sb, "ptrap", DIS_MM_CC[c], ".l"));
  7565:       }
  7566:       if (ea == XEiJ.EA_IM) {
  7567:         return sb.append ("ptrap").append (DIS_MM_CC[c]);
  7568:       }
  7569:       if (XEiJ.EAM_DAT << ea < 0L) {
  7570:         return disEab (disOp3 (sb, "ps", DIS_MM_CC[c], ".b"), ea);
  7571:       }
  7572:     }
  7573:     return disIllegal (sb);
  7574:   }  //disPscc(StringBuilder)
  7575: 
  7576:   //PBcc.W <label>                          --M---|P|-----|-----|          |1111_000_010_ccc_ccc-{offset}
  7577:   public static StringBuilder disPbccWord (StringBuilder sb) {
  7578:     int c = disOC & 63;
  7579:     if (c < DIS_MM_CC.length) {
  7580:       disStatus = DIS_SOMETIMES_BRANCH;
  7581:       return disOW (disOp3 (sb, "pb", DIS_MM_CC[c], ".w"));
  7582:     }
  7583:     return disIllegal (sb);
  7584:   }  //disPbccWord(StringBuilder)
  7585: 
  7586:   //PBcc.L <label>                          --M---|P|-----|-----|          |1111_000_011_ccc_ccc-{offset}
  7587:   public static StringBuilder disPbccLong (StringBuilder sb) {
  7588:     int c = disOC & 63;
  7589:     if (c < DIS_MM_CC.length) {
  7590:       disStatus = DIS_SOMETIMES_BRANCH;
  7591:       return disOL (disOp3 (sb, "pb", DIS_MM_CC[c], ".l"));
  7592:     }
  7593:     return disIllegal (sb);
  7594:   }  //disPbccLong(StringBuilder)
  7595: 
  7596:   //PSAVE <ea>                              --M---|P|-----|-----|  M -WXZ  |1111_000_100_mmm_rrr
  7597:   public static StringBuilder disPsave (StringBuilder sb) {
  7598:     int ea = disOC & 63;
  7599:     if (XEiJ.EAM_WTL << ea < 0L) {
  7600:       return disEaz (sb.append ("psave   "), ea);
  7601:     }
  7602:     return disIllegal (sb);
  7603:   }  //disPsave(StringBuilder)
  7604: 
  7605:   //PRESTORE <ea>                           --M---|P|-----|-----|  M+ WXZP |1111_000_101_mmm_rrr
  7606:   public static StringBuilder disPrestore (StringBuilder sb) {
  7607:     int ea = disOC & 63;
  7608:     if (XEiJ.EAM_RDL << ea < 0L) {
  7609:       return disEaz (sb.append ("prestore        "), ea);
  7610:     }
  7611:     return disIllegal (sb);
  7612:   }  //disPrestore(StringBuilder)
  7613: 
  7614:   //CINVL NC,(An)                           ----46|P|-----|-----|          |1111_010_000_001_nnn
  7615:   //CINVP NC,(An)                           ----46|P|-----|-----|          |1111_010_000_010_nnn
  7616:   //CINVA NC                                ----46|P|-----|-----|          |1111_010_000_011_000
  7617:   //CPUSHL NC,(An)                          ----46|P|-----|-----|          |1111_010_000_101_nnn
  7618:   //INTOUCH (An)                            ------|P|-----|-----|          |1111_010_000_101_nnn    (ISA_B)
  7619:   //CPUSHP NC,(An)                          ----46|P|-----|-----|          |1111_010_000_110_nnn
  7620:   //CPUSHA NC                               ----46|P|-----|-----|          |1111_010_000_111_000
  7621:   //CINVL DC,(An)                           ----46|P|-----|-----|          |1111_010_001_001_nnn
  7622:   //CINVP DC,(An)                           ----46|P|-----|-----|          |1111_010_001_010_nnn
  7623:   //CINVA DC                                ----46|P|-----|-----|          |1111_010_001_011_000
  7624:   //CPUSHL DC,(An)                          ----46|P|-----|-----|          |1111_010_001_101_nnn
  7625:   //CPUSHP DC,(An)                          ----46|P|-----|-----|          |1111_010_001_110_nnn
  7626:   //CPUSHA DC                               ----46|P|-----|-----|          |1111_010_001_111_000
  7627:   //CINVL IC,(An)                           ----46|P|-----|-----|          |1111_010_010_001_nnn
  7628:   //CINVP IC,(An)                           ----46|P|-----|-----|          |1111_010_010_010_nnn
  7629:   //CINVA IC                                ----46|P|-----|-----|          |1111_010_010_011_000
  7630:   //CPUSHL IC,(An)                          ----46|P|-----|-----|          |1111_010_010_101_nnn
  7631:   //CPUSHP IC,(An)                          ----46|P|-----|-----|          |1111_010_010_110_nnn
  7632:   //CPUSHA IC                               ----46|P|-----|-----|          |1111_010_010_111_000
  7633:   //CINVL BC,(An)                           ----46|P|-----|-----|          |1111_010_011_001_nnn
  7634:   //CINVP BC,(An)                           ----46|P|-----|-----|          |1111_010_011_010_nnn
  7635:   //CINVA BC                                ----46|P|-----|-----|          |1111_010_011_011_000
  7636:   //CPUSHL BC,(An)                          ----46|P|-----|-----|          |1111_010_011_101_nnn
  7637:   //CPUSHP BC,(An)                          ----46|P|-----|-----|          |1111_010_011_110_nnn
  7638:   //CPUSHA BC                               ----46|P|-----|-----|          |1111_010_011_111_000
  7639:   public static StringBuilder disCinvCpush (StringBuilder sb) {
  7640:     int mmm = disOC >> 3 & 7;
  7641:     if ((disOC & 0b011_000) != 0) {
  7642:       sb.append ('c').append ((disOC & 0b100_000) == 0 ? "inv" : "push").
  7643:         append ((char) (('a' << 24 | 'p' << 16 | 'l' << 8) >> (disOC & 0b011_000) & 255)).
  7644:           append ((disOC & 0b100_000) == 0 ? "   " : "  ").
  7645:             append ((char) (('b' << 24 | 'i' << 16 | 'd' << 8 | 'n') >> ((disOC & 0b011_000_000) >> 3) & 255)).append ('c');
  7646:       if ((disOC & 0b011_000) != 0b011_000) {
  7647:         sb.append (",(a").append ((char) ('0' + (disOC & 7))).append (')');
  7648:       }
  7649:       return sb;
  7650:     }
  7651:     return disIllegal (sb);
  7652:   }  //disCinvCpush(StringBuilder)
  7653: 
  7654:   //PFLUSHN (An)                            ----46|P|-----|-----|          |1111_010_100_000_nnn
  7655:   //PFLUSH (An)                             ----46|P|-----|-----|          |1111_010_100_001_nnn
  7656:   //PFLUSHAN                                ----46|P|-----|-----|          |1111_010_100_010_000
  7657:   //PFLUSHA                                 ----46|P|-----|-----|          |1111_010_100_011_000
  7658:   public static StringBuilder disPflush (StringBuilder sb) {
  7659:     int an = disOC >> 3 & 7;
  7660:     if (an <= 3) {
  7661:       sb.append (an == 0 ? "pflushn " : an == 1 ? "pflush  " : an == 2 ? "pflushan " : "pflusha");
  7662:       if (an <= 1) {
  7663:         sb.append ("(a").append ((char) ('0' + (disOC & 7))).append (')');
  7664:       }
  7665:       return sb;
  7666:     }
  7667:     return disIllegal (sb);
  7668:   }  //disPflush(StringBuilder)
  7669: 
  7670:   //PTESTW (An)                             ----4-|P|-----|-----|          |1111_010_101_001_nnn
  7671:   //PTESTR (An)                             ----4-|P|-----|-----|          |1111_010_101_101_nnn
  7672:   public static StringBuilder disPtest (StringBuilder sb) {
  7673:     int wr = disOC >> 3 & 7;
  7674:     if ((wr & 3) == 1) {
  7675:       return sb.append (wr == 1 ? "ptestw  (a" : "ptestr  (a").append ((char) ('0' + (disOC & 7))).append (')');
  7676:     }
  7677:     return disIllegal (sb);
  7678:   }  //disPtest(StringBuilder)
  7679: 
  7680:   //PLPAW (An)                              -----6|P|-----|-----|          |1111_010_110_001_nnn
  7681:   public static StringBuilder disPlpaw (StringBuilder sb) {
  7682:     return sb.append ("plpaw   (a").append ((char) ('0' + (disOC & 7))).append (')');
  7683:   }  //disPlpaw(StringBuilder)
  7684: 
  7685:   //PLPAR (An)                              -----6|P|-----|-----|          |1111_010_111_001_nnn
  7686:   public static StringBuilder disPlpar (StringBuilder sb) {
  7687:     return sb.append ("plpar   (a").append ((char) ('0' + (disOC & 7))).append (')');
  7688:   }  //disPlpar(StringBuilder)
  7689: 
  7690:   //MOVE16 (An)+,xxx.L                      ----46|-|-----|-----|          |1111_011_000_000_nnn-{address}
  7691:   //MOVE16 xxx.L,(An)+                      ----46|-|-----|-----|          |1111_011_000_001_nnn-{address}
  7692:   //MOVE16 (An),xxx.L                       ----46|-|-----|-----|          |1111_011_000_010_nnn-{address}
  7693:   //MOVE16 xxx.L,(An)                       ----46|-|-----|-----|          |1111_011_000_011_nnn-{address}
  7694:   //MOVE16 (Ax)+,(Ay)+                      ----46|-|-----|-----|          |1111_011_000_100_xxx-1yyy000000000000
  7695:   public static StringBuilder disMove16 (StringBuilder sb) {
  7696:     switch (disOC >> 3 & 7) {
  7697:     case 0:
  7698:       return disZL (sb.append ("move16  (a").append ((char) ('0' + (disOC & 7))).append (")+,"));
  7699:     case 1:
  7700:       return disZL (sb.append ("move16  ")).append (",(a").append ((char) ('0' + (disOC & 7))).append (")+");
  7701:     case 2:
  7702:       return disZL (sb.append ("move16  (a").append ((char) ('0' + (disOC & 7))).append ("),"));
  7703:     case 3:
  7704:       return disZL (sb.append ("move16  ")).append (",(a").append ((char) ('0' + (disOC & 7))).append (')');
  7705:     case 4:
  7706:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  7707:       if ((w & 0b1000111111111111) == 0b1000000000000000) {
  7708:         return sb.append ("move16  (a").append ((char) ('0' + (disOC & 7))).append (")+,(a").append ((char) ('0' + (w >> 12 & 7))).append (")+");
  7709:       }
  7710:     }
  7711:     return disIllegal (sb);
  7712:   }  //disMove16(StringBuilder)
  7713: 
  7714:   //LPSTOP.W #<data>                        -----6|P|-----|-----|          |1111_100_000_000_000-0000000111000000-{data}
  7715:   public static StringBuilder disLpstop (StringBuilder sb) {
  7716:     if (disOC == 0xf800) {
  7717:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  7718:       if (w == 0x01c0) {
  7719:         return disIMw (sb.append ("lpstop.w "));
  7720:       }
  7721:     }
  7722:     return disIllegal (sb);
  7723:   }  //disLpstop(StringBuilder)
  7724: 
  7725:   //WDDATA.B <ea>                           ------|-|-----|-----|  M+-WXZ  |1111_101_100_mmm_rrr    (ISA_A)
  7726:   public static StringBuilder disWddataByte (StringBuilder sb) {
  7727:     int ea = disOC & 63;
  7728:     if (XEiJ.EAM_MLT << ea < 0L) {
  7729:       return disEab (sb.append ("wddata.b "), ea);
  7730:     }
  7731:     return disIllegal (sb);
  7732:   }  //disWddataByte(StringBuilder)
  7733: 
  7734:   //WDDATA.W <ea>                           ------|-|-----|-----|  M+-WXZ  |1111_101_101_mmm_rrr    (ISA_A)
  7735:   public static StringBuilder disWddataWord (StringBuilder sb) {
  7736:     int ea = disOC & 63;
  7737:     if (XEiJ.EAM_MLT << ea < 0L) {
  7738:       return disEaw (sb.append ("wddata.w "), ea);
  7739:     }
  7740:     return disIllegal (sb);
  7741:   }  //disWddataWord(StringBuilder)
  7742: 
  7743:   //WDDATA.L <ea>                           ------|-|-----|-----|  M+-WXZ  |1111_101_110_mmm_rrr    (ISA_A)
  7744:   public static StringBuilder disWddataLong (StringBuilder sb) {
  7745:     int ea = disOC & 63;
  7746:     if (XEiJ.EAM_MLT << ea < 0L) {
  7747:       return disEal (sb.append ("wddata.l "), ea);
  7748:     }
  7749:     return disIllegal (sb);
  7750:   }  //disWddataLong(StringBuilder)
  7751: 
  7752:   //WDEBUG.L <ea>                           ------|P|-----|-----|  M  W    |1111_101_111_mmm_rrr-0000000000000011   (ISA_A)
  7753:   public static StringBuilder disWdebug (StringBuilder sb) {
  7754:     int ea = disOC & 63;
  7755:     if (ea == XEiJ.EA_MM || ea == XEiJ.EA_MW) {
  7756:       int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  7757:       if (w == 3) {
  7758:         return disEal (sb.append ("wdebug.l "), ea);
  7759:       }
  7760:     }
  7761:     return disIllegal (sb);
  7762:   }  //disWdebug(StringBuilder)
  7763: 
  7764:   //FPACK <name>                            012346|-|-----|-----|          |1111_111_0xx_xxx_xxx
  7765:   public static StringBuilder disFpack (StringBuilder sb) {
  7766:     String name = DIS_FPACK_NAME[disOC & 255];
  7767:     if (name.length () != 0) {
  7768:       return sb.append ("FPACK   ").append (name);
  7769:     }
  7770:     return disFline (sb);
  7771:   }  //disFpack(StringBuilder)
  7772: 
  7773:   //DOS <name>                              012346|-|-----|-----|          |1111_111_1xx_xxx_xxx
  7774:   //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  7775:   public static StringBuilder disDos (StringBuilder sb) {
  7776:     if (disOC == 0xff00 || disOC == 0xff4c) {  //_EXIT,_EXIT2
  7777:       disStatus = DIS_ALWAYS_BRANCH;
  7778:     }
  7779:     String name = DIS_DOS_NAME[disOC & 255];
  7780:     if (name.length () != 0) {
  7781:       return sb.append ("DOS     ").append (name);
  7782:     }
  7783:     return disFline (sb);
  7784:   }  //disDos(StringBuilder)
  7785: 
  7786:   //line 1111 emulator                      012346|-|-----|-----|          |1111_xxx_xxx_xxx_xxx
  7787:   public static StringBuilder disFline (StringBuilder sb) {
  7788:     return disHex4 (sb.append (".dc.w   "), disOC);
  7789:   }  //disFline(StringBuilder)
  7790: 
  7791:   public static final String[] DIS_FP_SZ = { ".l", ".s", ".x", ".p", ".w", ".d", ".b", ".p" };
  7792: 
  7793:   public static final String[] DIS_FP_FGEN = (
  7794:     "fmove,"   +  //000_0000
  7795:     "fint,"    +  //000_0001
  7796:     "fsinh,"   +  //000_0010
  7797:     "fintrz,"  +  //000_0011
  7798:     "fsqrt,"   +  //000_0100
  7799:     ","        +  //000_0101
  7800:     "flognp1," +  //000_0110
  7801:     ","        +  //000_0111
  7802:     "fetoxm1," +  //000_1000
  7803:     "ftanh,"   +  //000_1001
  7804:     "fatan,"   +  //000_1010
  7805:     ","        +  //000_1011
  7806:     "fasin,"   +  //000_1100
  7807:     "fatanh,"  +  //000_1101
  7808:     "fsin,"    +  //000_1110
  7809:     "ftan,"    +  //000_1111
  7810:     "fetox,"   +  //001_0000
  7811:     "ftwotox," +  //001_0001
  7812:     "ftentox," +  //001_0010
  7813:     ","        +  //001_0011
  7814:     "flogn,"   +  //001_0100
  7815:     "flog10,"  +  //001_0101
  7816:     "flog2,"   +  //001_0110
  7817:     ","        +  //001_0111
  7818:     "fabs,"    +  //001_1000
  7819:     "fcosh,"   +  //001_1001
  7820:     "fneg,"    +  //001_1010
  7821:     ","        +  //001_1011
  7822:     "facos,"   +  //001_1100
  7823:     "fcos,"    +  //001_1101
  7824:     "fgetexp," +  //001_1110
  7825:     "fgetman," +  //001_1111
  7826:     "fdiv,"    +  //010_0000
  7827:     "fmod,"    +  //010_0001
  7828:     "fadd,"    +  //010_0010
  7829:     "fmul,"    +  //010_0011
  7830:     "fsgldiv," +  //010_0100
  7831:     "frem,"    +  //010_0101
  7832:     "fscale,"  +  //010_0110
  7833:     "fsglmul," +  //010_0111
  7834:     "fsub,"    +  //010_1000
  7835:     ","        +  //010_1001
  7836:     ","        +  //010_1010
  7837:     ","        +  //010_1011
  7838:     ","        +  //010_1100
  7839:     ","        +  //010_1101
  7840:     ","        +  //010_1110
  7841:     ","        +  //010_1111
  7842:     "fsincos," +  //011_0000
  7843:     "fsincos," +  //011_0001
  7844:     "fsincos," +  //011_0010
  7845:     "fsincos," +  //011_0011
  7846:     "fsincos," +  //011_0100
  7847:     "fsincos," +  //011_0101
  7848:     "fsincos," +  //011_0110
  7849:     "fsincos," +  //011_0111
  7850:     "fcmp,"    +  //011_1000
  7851:     ","        +  //011_1001
  7852:     "ftst,"    +  //011_1010
  7853:     ","        +  //011_1011
  7854:     ","        +  //011_1100
  7855:     ","        +  //011_1101
  7856:     ","        +  //011_1110
  7857:     ","        +  //011_1111
  7858:     "fsmove,"  +  //100_0000
  7859:     "fssqrt,"  +  //100_0001
  7860:     ","        +  //100_0010
  7861:     ","        +  //100_0011
  7862:     "fdmove,"  +  //100_0100
  7863:     "fdsqrt,"  +  //100_0101
  7864:     ","        +  //100_0110
  7865:     ","        +  //100_0111
  7866:     ","        +  //100_1000
  7867:     ","        +  //100_1001
  7868:     ","        +  //100_1010
  7869:     ","        +  //100_1011
  7870:     ","        +  //100_1100
  7871:     ","        +  //100_1101
  7872:     ","        +  //100_1110
  7873:     ","        +  //100_1111
  7874:     ","        +  //101_0000
  7875:     ","        +  //101_0001
  7876:     ","        +  //101_0010
  7877:     ","        +  //101_0011
  7878:     ","        +  //101_0100
  7879:     ","        +  //101_0101
  7880:     ","        +  //101_0110
  7881:     ","        +  //101_0111
  7882:     "fsabs,"   +  //101_1000
  7883:     ","        +  //101_1001
  7884:     "fsneg,"   +  //101_1010
  7885:     ","        +  //101_1011
  7886:     "fdabs,"   +  //101_1100
  7887:     ","        +  //101_1101
  7888:     "fdneg,"   +  //101_1110
  7889:     ","        +  //101_1111
  7890:     "fsdiv,"   +  //110_0000
  7891:     ","        +  //110_0001
  7892:     "fsadd,"   +  //110_0010
  7893:     "fsmul,"   +  //110_0011
  7894:     "fddiv,"   +  //110_0100
  7895:     ","        +  //110_0101
  7896:     "fdadd,"   +  //110_0110
  7897:     "fdmul,"   +  //110_0111
  7898:     "fssub,"   +  //110_1000
  7899:     ","        +  //110_1001
  7900:     ","        +  //110_1010
  7901:     ","        +  //110_1011
  7902:     "fdsub,"   +  //110_1100
  7903:     ","        +  //110_1101
  7904:     ","        +  //110_1110
  7905:     ","        +  //110_1111
  7906:     "flgamma," +  //111_0000  (EFPBox.EPB_EXTRA_OPERATION ? "flgamma," : ",") +
  7907:     "ftgamma," +  //111_0001  (EFPBox.EPB_EXTRA_OPERATION ? "ftgamma," : ",") +
  7908:     ","        +  //111_0010
  7909:     ","        +  //111_0011
  7910:     ","        +  //111_0100
  7911:     ","        +  //111_0101
  7912:     ","        +  //111_0110
  7913:     ","        +  //111_0111
  7914:     ","        +  //111_1000
  7915:     ","        +  //111_1001
  7916:     ","        +  //111_1010
  7917:     ","        +  //111_1011
  7918:     ","        +  //111_1100
  7919:     ","        +  //111_1101
  7920:     ","        +  //111_1110
  7921:     ""            //111_1111
  7922:     ).split (",", 128);  //limitを書かないと末尾の空文字列が削除されて配列が短くなり末尾の要素を参照できなくなる
  7923: 
  7924:   public static final String[] DIS_FP_CC = (
  7925:     "f,"   +  //000000
  7926:     "eq,"  +  //000001
  7927:     "ogt," +  //000010
  7928:     "oge," +  //000011
  7929:     "olt," +  //000100
  7930:     "ole," +  //000101
  7931:     "ogl," +  //000110
  7932:     "or,"  +  //000111
  7933:     "un,"  +  //001000
  7934:     "ueq," +  //001001
  7935:     "ugt," +  //001010
  7936:     "uge," +  //001011
  7937:     "ult," +  //001100
  7938:     "ule," +  //001101
  7939:     "ne,"  +  //001110
  7940:     "t,"   +  //001111
  7941:     "sf,"  +  //010000
  7942:     "seq," +  //010001
  7943:     "gt,"  +  //010010
  7944:     "ge,"  +  //010011
  7945:     "lt,"  +  //010100
  7946:     "le,"  +  //010101
  7947:     "gl,"  +  //010110
  7948:     "gle," +  //010111
  7949:     "ngle,"+  //011000
  7950:     "ngl," +  //011001
  7951:     "nle," +  //011010
  7952:     "nlt," +  //011011
  7953:     "nge," +  //011100
  7954:     "ngt," +  //011101
  7955:     "sne," +  //011110
  7956:     "st"      //011111
  7957:     ).split (",");
  7958: 
  7959:   public static final String[] DIS_FP_CR = { "fpcr", "fpsr", "fpiar" };
  7960: 
  7961:   //FMOVE.X FPm,FPn                         --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0000
  7962:   //FINT.X FPm,FPn                          --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0001
  7963:   //FSINH.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0010
  7964:   //FINTRZ.X FPm,FPn                        --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0011
  7965:   //FSQRT.X FPm,FPn                         --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0100
  7966:   //FLOGNP1.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_0110
  7967:   //FETOXM1.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1000
  7968:   //FTANH.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1001
  7969:   //FATAN.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1010
  7970:   //FASIN.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1100
  7971:   //FATANH.X FPm,FPn                        --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1101
  7972:   //FSIN.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1110
  7973:   //FTAN.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_000_1111
  7974:   //FETOX.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0000
  7975:   //FTWOTOX.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0001
  7976:   //FTENTOX.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0010
  7977:   //FLOGN.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0100
  7978:   //FLOG10.X FPm,FPn                        --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0101
  7979:   //FLOG2.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_0110
  7980:   //FABS.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1000
  7981:   //FCOSH.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1001
  7982:   //FNEG.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1010
  7983:   //FACOS.X FPm,FPn                         --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1100
  7984:   //FCOS.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1101
  7985:   //FGETEXP.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1110
  7986:   //FGETMAN.X FPm,FPn                       --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_001_1111
  7987:   //FDIV.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0000
  7988:   //FMOD.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0001
  7989:   //FADD.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0010
  7990:   //FMUL.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0011
  7991:   //FSGLDIV.X FPm,FPn                       --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0100
  7992:   //FREM.X FPm,FPn                          --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0101
  7993:   //FSCALE.X FPm,FPn                        --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0110
  7994:   //FSGLMUL.X FPm,FPn                       --CCS6|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_0111
  7995:   //FSUB.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_010_1000
  7996:   //FSINCOS.X FPm,FPc:FPs                   --CCSS|-|-----|-----|          |1111_001_000_000_000-000_mmm_sss_011_0ccc
  7997:   //FCMP.X FPm,FPn                          --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_011_1000
  7998:   //FTST.X FPm                              --CC46|-|-----|-----|          |1111_001_000_000_000-000_mmm_000_011_1010
  7999:   //FSMOVE.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0000
  8000:   //FSSQRT.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0001
  8001:   //FDMOVE.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0100
  8002:   //FDSQRT.X FPm,FPn                        ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_100_0101
  8003:   //FSABS.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1000
  8004:   //FSNEG.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1010
  8005:   //FDABS.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1100
  8006:   //FDNEG.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_101_1110
  8007:   //FSDIV.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0000
  8008:   //FSADD.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0010
  8009:   //FSMUL.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0011
  8010:   //FDDIV.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0100
  8011:   //FDADD.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0110
  8012:   //FDMUL.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_0111
  8013:   //FSSUB.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_1000
  8014:   //FDSUB.X FPm,FPn                         ----46|-|-----|-----|          |1111_001_000_000_000-000_mmm_nnn_110_1100
  8015:   //FMOVE.L <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0000
  8016:   //FMOVE.S <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0000
  8017:   //FMOVE.X <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0000
  8018:   //FMOVE.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0000
  8019:   //FMOVE.W <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0000
  8020:   //FMOVE.D <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0000
  8021:   //FMOVE.B <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0000
  8022:   //FINT.L <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0001
  8023:   //FINT.S <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0001
  8024:   //FINT.X <ea>,FPn                         --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0001
  8025:   //FINT.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0001
  8026:   //FINT.W <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0001
  8027:   //FINT.D <ea>,FPn                         --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0001
  8028:   //FINT.B <ea>,FPn                         --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0001
  8029:   //FSINH.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0010
  8030:   //FSINH.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0010
  8031:   //FSINH.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0010
  8032:   //FSINH.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0010
  8033:   //FSINH.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0010
  8034:   //FSINH.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0010
  8035:   //FSINH.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0010
  8036:   //FINTRZ.L <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0011
  8037:   //FINTRZ.S <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0011
  8038:   //FINTRZ.X <ea>,FPn                       --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0011
  8039:   //FINTRZ.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0011
  8040:   //FINTRZ.W <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0011
  8041:   //FINTRZ.D <ea>,FPn                       --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0011
  8042:   //FINTRZ.B <ea>,FPn                       --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0011
  8043:   //FSQRT.L <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0100
  8044:   //FSQRT.S <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0100
  8045:   //FSQRT.X <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0100
  8046:   //FSQRT.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0100
  8047:   //FSQRT.W <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0100
  8048:   //FSQRT.D <ea>,FPn                        --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0100
  8049:   //FSQRT.B <ea>,FPn                        --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0100
  8050:   //FLOGNP1.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0110
  8051:   //FLOGNP1.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0110
  8052:   //FLOGNP1.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0110
  8053:   //FLOGNP1.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0110
  8054:   //FLOGNP1.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0110
  8055:   //FLOGNP1.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0110
  8056:   //FLOGNP1.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0110
  8057:   //FETOXM1.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1000
  8058:   //FETOXM1.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1000
  8059:   //FETOXM1.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1000
  8060:   //FETOXM1.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1000
  8061:   //FETOXM1.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1000
  8062:   //FETOXM1.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1000
  8063:   //FETOXM1.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1000
  8064:   //FTANH.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1001
  8065:   //FTANH.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1001
  8066:   //FTANH.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1001
  8067:   //FTANH.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1001
  8068:   //FTANH.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1001
  8069:   //FTANH.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1001
  8070:   //FTANH.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1001
  8071:   //FATAN.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1010
  8072:   //FATAN.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1010
  8073:   //FATAN.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1010
  8074:   //FATAN.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1010
  8075:   //FATAN.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1010
  8076:   //FATAN.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1010
  8077:   //FATAN.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1010
  8078:   //FASIN.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1100
  8079:   //FASIN.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1100
  8080:   //FASIN.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1100
  8081:   //FASIN.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1100
  8082:   //FASIN.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1100
  8083:   //FASIN.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1100
  8084:   //FASIN.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1100
  8085:   //FATANH.L <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1101
  8086:   //FATANH.S <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1101
  8087:   //FATANH.X <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1101
  8088:   //FATANH.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1101
  8089:   //FATANH.W <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1101
  8090:   //FATANH.D <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1101
  8091:   //FATANH.B <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1101
  8092:   //FSIN.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1110
  8093:   //FSIN.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1110
  8094:   //FSIN.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1110
  8095:   //FSIN.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1110
  8096:   //FSIN.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1110
  8097:   //FSIN.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1110
  8098:   //FSIN.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1110
  8099:   //FTAN.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1111
  8100:   //FTAN.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1111
  8101:   //FTAN.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1111
  8102:   //FTAN.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1111
  8103:   //FTAN.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1111
  8104:   //FTAN.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1111
  8105:   //FTAN.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1111
  8106:   //FETOX.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0000
  8107:   //FETOX.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0000
  8108:   //FETOX.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0000
  8109:   //FETOX.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0000
  8110:   //FETOX.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0000
  8111:   //FETOX.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0000
  8112:   //FETOX.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0000
  8113:   //FTWOTOX.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0001
  8114:   //FTWOTOX.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0001
  8115:   //FTWOTOX.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0001
  8116:   //FTWOTOX.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0001
  8117:   //FTWOTOX.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0001
  8118:   //FTWOTOX.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0001
  8119:   //FTWOTOX.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0001
  8120:   //FTENTOX.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0010
  8121:   //FTENTOX.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0010
  8122:   //FTENTOX.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0010
  8123:   //FTENTOX.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0010
  8124:   //FTENTOX.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0010
  8125:   //FTENTOX.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0010
  8126:   //FTENTOX.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0010
  8127:   //FLOGN.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0100
  8128:   //FLOGN.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0100
  8129:   //FLOGN.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0100
  8130:   //FLOGN.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0100
  8131:   //FLOGN.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0100
  8132:   //FLOGN.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0100
  8133:   //FLOGN.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0100
  8134:   //FLOG10.L <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0101
  8135:   //FLOG10.S <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0101
  8136:   //FLOG10.X <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0101
  8137:   //FLOG10.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0101
  8138:   //FLOG10.W <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0101
  8139:   //FLOG10.D <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0101
  8140:   //FLOG10.B <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0101
  8141:   //FLOG2.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0110
  8142:   //FLOG2.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0110
  8143:   //FLOG2.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0110
  8144:   //FLOG2.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0110
  8145:   //FLOG2.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0110
  8146:   //FLOG2.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0110
  8147:   //FLOG2.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0110
  8148:   //FABS.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1000
  8149:   //FABS.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1000
  8150:   //FABS.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1000
  8151:   //FABS.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1000
  8152:   //FABS.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1000
  8153:   //FABS.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1000
  8154:   //FABS.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1000
  8155:   //FCOSH.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1001
  8156:   //FCOSH.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1001
  8157:   //FCOSH.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1001
  8158:   //FCOSH.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1001
  8159:   //FCOSH.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1001
  8160:   //FCOSH.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1001
  8161:   //FCOSH.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1001
  8162:   //FNEG.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1010
  8163:   //FNEG.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1010
  8164:   //FNEG.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1010
  8165:   //FNEG.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1010
  8166:   //FNEG.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1010
  8167:   //FNEG.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1010
  8168:   //FNEG.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1010
  8169:   //FACOS.L <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1100
  8170:   //FACOS.S <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1100
  8171:   //FACOS.X <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1100
  8172:   //FACOS.P <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1100
  8173:   //FACOS.W <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1100
  8174:   //FACOS.D <ea>,FPn                        --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1100
  8175:   //FACOS.B <ea>,FPn                        --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1100
  8176:   //FCOS.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1101
  8177:   //FCOS.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1101
  8178:   //FCOS.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1101
  8179:   //FCOS.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1101
  8180:   //FCOS.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1101
  8181:   //FCOS.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1101
  8182:   //FCOS.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1101
  8183:   //FGETEXP.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1110
  8184:   //FGETEXP.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1110
  8185:   //FGETEXP.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1110
  8186:   //FGETEXP.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1110
  8187:   //FGETEXP.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1110
  8188:   //FGETEXP.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1110
  8189:   //FGETEXP.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1110
  8190:   //FGETMAN.L <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1111
  8191:   //FGETMAN.S <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1111
  8192:   //FGETMAN.X <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1111
  8193:   //FGETMAN.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1111
  8194:   //FGETMAN.W <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1111
  8195:   //FGETMAN.D <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1111
  8196:   //FGETMAN.B <ea>,FPn                      --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1111
  8197:   //FDIV.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0000
  8198:   //FDIV.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0000
  8199:   //FDIV.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0000
  8200:   //FDIV.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0000
  8201:   //FDIV.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0000
  8202:   //FDIV.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0000
  8203:   //FDIV.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0000
  8204:   //FMOD.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0001
  8205:   //FMOD.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0001
  8206:   //FMOD.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0001
  8207:   //FMOD.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0001
  8208:   //FMOD.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0001
  8209:   //FMOD.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0001
  8210:   //FMOD.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0001
  8211:   //FADD.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0010
  8212:   //FADD.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0010
  8213:   //FADD.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0010
  8214:   //FADD.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0010
  8215:   //FADD.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0010
  8216:   //FADD.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0010
  8217:   //FADD.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0010
  8218:   //FMUL.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0011
  8219:   //FMUL.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0011
  8220:   //FMUL.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0011
  8221:   //FMUL.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0011
  8222:   //FMUL.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0011
  8223:   //FMUL.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0011
  8224:   //FMUL.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0011
  8225:   //FSGLDIV.L <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0100
  8226:   //FSGLDIV.S <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0100
  8227:   //FSGLDIV.X <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0100
  8228:   //FSGLDIV.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0100
  8229:   //FSGLDIV.W <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0100
  8230:   //FSGLDIV.D <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0100
  8231:   //FSGLDIV.B <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0100
  8232:   //FREM.L <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0101
  8233:   //FREM.S <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0101
  8234:   //FREM.X <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0101
  8235:   //FREM.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0101
  8236:   //FREM.W <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0101
  8237:   //FREM.D <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0101
  8238:   //FREM.B <ea>,FPn                         --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0101
  8239:   //FSCALE.L <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0110
  8240:   //FSCALE.S <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0110
  8241:   //FSCALE.X <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0110
  8242:   //FSCALE.P <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0110
  8243:   //FSCALE.W <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0110
  8244:   //FSCALE.D <ea>,FPn                       --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0110
  8245:   //FSCALE.B <ea>,FPn                       --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0110
  8246:   //FSGLMUL.L <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0111
  8247:   //FSGLMUL.S <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0111
  8248:   //FSGLMUL.X <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0111
  8249:   //FSGLMUL.P <ea>,FPn                      --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0111
  8250:   //FSGLMUL.W <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0111
  8251:   //FSGLMUL.D <ea>,FPn                      --CCS6|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0111
  8252:   //FSGLMUL.B <ea>,FPn                      --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0111
  8253:   //FSUB.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_1000
  8254:   //FSUB.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_1000
  8255:   //FSUB.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_1000
  8256:   //FSUB.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_1000
  8257:   //FSUB.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_1000
  8258:   //FSUB.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_1000
  8259:   //FSUB.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_1000
  8260:   //FSINCOS.L <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_sss_011_0ccc
  8261:   //FSINCOS.S <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_sss_011_0ccc
  8262:   //FSINCOS.X <ea>,FPc:FPs                  --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_sss_011_0ccc
  8263:   //FSINCOS.P <ea>,FPc:FPs                  --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_sss_011_0ccc
  8264:   //FSINCOS.W <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_sss_011_0ccc
  8265:   //FSINCOS.D <ea>,FPc:FPs                  --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_sss_011_0ccc
  8266:   //FSINCOS.B <ea>,FPc:FPs                  --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_sss_011_0ccc
  8267:   //FCMP.L <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_011_1000
  8268:   //FCMP.S <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_011_1000
  8269:   //FCMP.X <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_011_1000
  8270:   //FCMP.P <ea>,FPn                         --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_011_1000
  8271:   //FCMP.W <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_011_1000
  8272:   //FCMP.D <ea>,FPn                         --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_011_1000
  8273:   //FCMP.B <ea>,FPn                         --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_011_1000
  8274:   //FTST.L <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_000_011_1010
  8275:   //FTST.S <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_000_011_1010
  8276:   //FTST.X <ea>                             --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_000_011_1010
  8277:   //FTST.P <ea>                             --CCSS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_000_011_1010
  8278:   //FTST.W <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_000_011_1010
  8279:   //FTST.D <ea>                             --CC46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_000_011_1010
  8280:   //FTST.B <ea>                             --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_000_011_1010
  8281:   //FSMOVE.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0000
  8282:   //FSMOVE.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0000
  8283:   //FSMOVE.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0000
  8284:   //FSMOVE.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0000
  8285:   //FSMOVE.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0000
  8286:   //FSMOVE.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0000
  8287:   //FSMOVE.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0000
  8288:   //FSSQRT.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0001
  8289:   //FSSQRT.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0001
  8290:   //FSSQRT.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0001
  8291:   //FSSQRT.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0001
  8292:   //FSSQRT.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0001
  8293:   //FSSQRT.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0001
  8294:   //FSSQRT.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0001
  8295:   //FDMOVE.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0100
  8296:   //FDMOVE.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0100
  8297:   //FDMOVE.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0100
  8298:   //FDMOVE.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0100
  8299:   //FDMOVE.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0100
  8300:   //FDMOVE.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0100
  8301:   //FDMOVE.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0100
  8302:   //FDSQRT.L <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0101
  8303:   //FDSQRT.S <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0101
  8304:   //FDSQRT.X <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0101
  8305:   //FDSQRT.P <ea>,FPn                       ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0101
  8306:   //FDSQRT.W <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0101
  8307:   //FDSQRT.D <ea>,FPn                       ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0101
  8308:   //FDSQRT.B <ea>,FPn                       ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0101
  8309:   //FSABS.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1000
  8310:   //FSABS.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1000
  8311:   //FSABS.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1000
  8312:   //FSABS.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1000
  8313:   //FSABS.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1000
  8314:   //FSABS.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1000
  8315:   //FSABS.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1000
  8316:   //FSNEG.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1010
  8317:   //FSNEG.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1010
  8318:   //FSNEG.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1010
  8319:   //FSNEG.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1010
  8320:   //FSNEG.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1010
  8321:   //FSNEG.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1010
  8322:   //FSNEG.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1010
  8323:   //FDABS.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1100
  8324:   //FDABS.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1100
  8325:   //FDABS.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1100
  8326:   //FDABS.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1100
  8327:   //FDABS.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1100
  8328:   //FDABS.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1100
  8329:   //FDABS.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1100
  8330:   //FDNEG.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1110
  8331:   //FDNEG.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1110
  8332:   //FDNEG.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1110
  8333:   //FDNEG.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1110
  8334:   //FDNEG.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1110
  8335:   //FDNEG.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1110
  8336:   //FDNEG.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1110
  8337:   //FSDIV.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0000
  8338:   //FSDIV.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0000
  8339:   //FSDIV.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0000
  8340:   //FSDIV.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0000
  8341:   //FSDIV.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0000
  8342:   //FSDIV.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0000
  8343:   //FSDIV.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0000
  8344:   //FSADD.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0010
  8345:   //FSADD.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0010
  8346:   //FSADD.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0010
  8347:   //FSADD.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0010
  8348:   //FSADD.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0010
  8349:   //FSADD.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0010
  8350:   //FSADD.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0010
  8351:   //FSMUL.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0011
  8352:   //FSMUL.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0011
  8353:   //FSMUL.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0011
  8354:   //FSMUL.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0011
  8355:   //FSMUL.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0011
  8356:   //FSMUL.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0011
  8357:   //FSMUL.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0011
  8358:   //FDDIV.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0100
  8359:   //FDDIV.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0100
  8360:   //FDDIV.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0100
  8361:   //FDDIV.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0100
  8362:   //FDDIV.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0100
  8363:   //FDDIV.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0100
  8364:   //FDDIV.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0100
  8365:   //FDADD.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0110
  8366:   //FDADD.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0110
  8367:   //FDADD.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0110
  8368:   //FDADD.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0110
  8369:   //FDADD.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0110
  8370:   //FDADD.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0110
  8371:   //FDADD.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0110
  8372:   //FDMUL.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0111
  8373:   //FDMUL.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0111
  8374:   //FDMUL.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0111
  8375:   //FDMUL.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0111
  8376:   //FDMUL.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0111
  8377:   //FDMUL.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0111
  8378:   //FDMUL.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0111
  8379:   //FSSUB.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1000
  8380:   //FSSUB.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1000
  8381:   //FSSUB.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1000
  8382:   //FSSUB.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1000
  8383:   //FSSUB.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1000
  8384:   //FSSUB.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1000
  8385:   //FSSUB.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1000
  8386:   //FDSUB.L <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1100
  8387:   //FDSUB.S <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1100
  8388:   //FDSUB.X <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1100
  8389:   //FDSUB.P <ea>,FPn                        ----SS|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1100
  8390:   //FDSUB.W <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1100
  8391:   //FDSUB.D <ea>,FPn                        ----46|-|-----|-----|  M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1100
  8392:   //FDSUB.B <ea>,FPn                        ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1100
  8393:   //FMOVECR.X #ccc,FPn                      --CCSS|-|-----|-----|          |1111_001_000_000_000-010_111_nnn_0cc_cccc
  8394:   //FMOVE.L FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_000_nnn_000_0000
  8395:   //FMOVE.S FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_001_nnn_000_0000
  8396:   //FMOVE.X FPn,<ea>                        --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_010_nnn_000_0000
  8397:   //FMOVE.P FPn,<ea>{#k}                    --CCSS|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_011_nnn_kkk_kkkk
  8398:   //FMOVE.W FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_100_nnn_000_0000
  8399:   //FMOVE.D FPn,<ea>                        --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_101_nnn_000_0000
  8400:   //FMOVE.B FPn,<ea>                        --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-011_110_nnn_000_0000
  8401:   //FMOVE.P FPn,<ea>{Dl}                    --CCSS|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-011_111_nnn_lll_0000
  8402:   //FMOVE.L <ea>,FPIAR                      --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000
  8403:   //FMOVE.L <ea>,FPSR                       --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000
  8404:   //FMOVE.L <ea>,FPCR                       --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000
  8405:   //FMOVEM.L <ea>,FPIAR                     --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000
  8406:   //FMOVEM.L <ea>,FPSR                      --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000
  8407:   //FMOVEM.L <ea>,FPCR                      --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000
  8408:   //FMOVEM.L <ea>,FPSR/FPIAR                --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_011_000_000_0000
  8409:   //FMOVEM.L #<data>,#<data>,FPSR/FPIAR     --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_011_000_000_0000-{data}
  8410:   //FMOVEM.L <ea>,FPCR/FPIAR                --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_101_000_000_0000
  8411:   //FMOVEM.L #<data>,#<data>,FPCR/FPIAR     --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_101_000_000_0000-{data}
  8412:   //FMOVEM.L <ea>,FPCR/FPSR                 --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_110_000_000_0000
  8413:   //FMOVEM.L #<data>,#<data>,FPCR/FPSR      --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_110_000_000_0000-{data}
  8414:   //FMOVEM.L <ea>,FPCR/FPSR/FPIAR           --CC46|-|-----|-----|  M+-WXZP |1111_001_000_mmm_rrr-100_111_000_000_0000
  8415:   //FMOVEM.L #<d>,#<d>,#<d>,FPCR/FPSR/FPIAR --CC4S|-|-----|-----|         I|1111_001_000_111_100-100_111_000_000_0000-{data}
  8416:   //FMOVE.L FPIAR,<ea>                      --CC46|-|-----|-----|DAM+-WXZ  |1111_001_000_mmm_rrr-101_001_000_000_0000
  8417:   //FMOVE.L FPSR,<ea>                       --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_010_000_000_0000
  8418:   //FMOVE.L FPCR,<ea>                       --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_100_000_000_0000
  8419:   //FMOVEM.L FPIAR,<ea>                     --CC46|-|-----|-----|DAM+-WXZ  |1111_001_000_mmm_rrr-101_001_000_000_0000
  8420:   //FMOVEM.L FPSR,<ea>                      --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_010_000_000_0000
  8421:   //FMOVEM.L FPCR,<ea>                      --CC46|-|-----|-----|D M+-WXZ  |1111_001_000_mmm_rrr-101_100_000_000_0000
  8422:   //FMOVEM.L FPSR/FPIAR,<ea>                --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_011_000_000_0000
  8423:   //FMOVEM.L FPCR/FPIAR,<ea>                --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_101_000_000_0000
  8424:   //FMOVEM.L FPCR/FPSR,<ea>                 --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_110_000_000_0000
  8425:   //FMOVEM.L FPCR/FPSR/FPIAR,<ea>           --CC46|-|-----|-----|  M+-WXZ  |1111_001_000_mmm_rrr-101_111_000_000_0000
  8426:   //FMOVEM.X <ea>,#<data>                   --CC46|-|-----|-----|  M+ WXZP |1111_001_000_mmm_rrr-110_100_00d_ddd_dddd
  8427:   //FMOVEM.X <ea>,<list>                    --CC46|-|-----|-----|  M+ WXZP |1111_001_000_mmm_rrr-110_100_00l_lll_llll
  8428:   //FMOVEM.X <ea>,Dl                        --CC4S|-|-----|-----|  M+ WXZP |1111_001_000_mmm_rrr-110_110_000_lll_0000
  8429:   //FMOVEM.X #<data>,-(Ar)                  --CC46|-|-----|-----|    -     |1111_001_000_100_rrr-111_000_00d_ddd_dddd
  8430:   //FMOVEM.X #<data>,<ea>                   --CC46|-|-----|-----|  M  WXZ  |1111_001_000_mmm_rrr-111_100_00d_ddd_dddd
  8431:   //FMOVEM.X <list>,-(Ar)                   --CC46|-|-----|-----|    -     |1111_001_000_100_rrr-111_000_00l_lll_llll
  8432:   //FMOVEM.X <list>,<ea>                    --CC46|-|-----|-----|  M  WXZ  |1111_001_000_mmm_rrr-111_100_00l_lll_llll
  8433:   //FMOVEM.X Dl,-(Ar)                       --CC4S|-|-----|-----|    -     |1111_001_000_100_rrr-111_010_000_lll_0000
  8434:   //FMOVEM.X Dl,<ea>                        --CC4S|-|-----|-----|  M  WXZ  |1111_001_000_mmm_rrr-111_110_000_lll_0000
  8435:   public static StringBuilder disFgen (StringBuilder sb) {
  8436:     int ea = disOC & 63;
  8437:     int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  8438:     int m = w >> 10 & 7;
  8439:     int n = w >> 7 & 7;
  8440:     int c = w & 0x7f;
  8441:     switch (w >> 13) {
  8442:     case 0b000:  //Fop.X FPm,FPn
  8443:       //メモ
  8444:       //  db.xとscd.xのバグ
  8445:       //    FSINCOS.X FPm,FPc:FPs をアセンブルすると FSINCOS.X FPm,FP0:FPs が出力される
  8446:       {
  8447:         String mnemonic = DIS_FP_FGEN[c];
  8448:         if (mnemonic.length () != 0) {
  8449:           disFPn (disOp2 (sb, mnemonic, ".x"), m);
  8450:           if (c == 0b011_1010) {  //FTST
  8451:             return sb;
  8452:           }
  8453:           sb.append (',');
  8454:           if (c >> 3 == 0b011_0000 >> 3) {  //FSINCOS
  8455:             disFPn (sb, c & 7).append (':');
  8456:           }
  8457:           return disFPn (sb, n);
  8458:         }
  8459:       }
  8460:       break;
  8461:     case 0b010:  //Fop.* <ea>,FPn
  8462:       if (m == 7) {  //FMOVECR.X #ccc,FPn
  8463:         return disFPn (disHex2 (sb.append ("fmovecr.x       ").append ('#'), c).append (','), n);
  8464:       }
  8465:       //      LSXPWDBP
  8466:       if (((0b11001010 << 24 << m) < 0 ? XEiJ.EAM_DAT : XEiJ.EAM_ANY) << ea < 0L) {
  8467:         String mnemonic = DIS_FP_FGEN[c];
  8468:         if (mnemonic.length () != 0) {
  8469:           disEa (disOp2 (sb, mnemonic, DIS_FP_SZ[m]), ea, 8 + m);
  8470:           if (c == 0b011_1010) {  //FTST
  8471:             return sb;
  8472:           }
  8473:           sb.append (',');
  8474:           if (c >> 3 == 0b011_0000 >> 3) {  //FSINCOS
  8475:             disFPn (sb, c & 7).append (':');
  8476:           }
  8477:           return disFPn (sb, n);
  8478:         }
  8479:       }
  8480:       break;
  8481:     case 0b011:  //FMOVE.* FPn,<ea>
  8482:       //      LSXPWDBP
  8483:       if (((0b11001010 << 24 << m) < 0 ? XEiJ.EAM_DLT : XEiJ.EAM_MLT) << ea < 0L) {
  8484:         disEa (disFPn (disOp2 (sb, "fmove", DIS_FP_SZ[m]), n).append (','), ea, 8 + m);
  8485:         if (m == 3) {  //static k-factor
  8486:           disHex2 (sb.append ('{'), c).append ('}');
  8487:         } else if (m == 7) {  //dynamic k-factor
  8488:           disDR (sb.append ('{'), c >>> 4).append ('}');
  8489:         }
  8490:         return sb;
  8491:       }
  8492:       break;
  8493:     case 0b100:  //FMOVEM.L <ea>,FPCR/FPSR/FPIAR
  8494:       {
  8495:         //メモ
  8496:         //  db.xとscd.xのバグ
  8497:         //    FMOVE.L Dn,FPCR をアセンブルできない
  8498:         //    FMOVE.L Dn,FPSR をアセンブルできない
  8499:         //    FMOVE.L Dn,FPIAR をアセンブルできない
  8500:         //    FMOVE.L An,FPIAR をアセンブルできない
  8501:         //    FMOVEM.L Dn,FPCR をアセンブルできない
  8502:         //    FMOVEM.L Dn,FPSR をアセンブルできない
  8503:         //    FMOVEM.L Dn,FPIAR をアセンブルできない
  8504:         //    FMOVEM.L An,FPIAR をアセンブルできない
  8505:         int k = 0b11_10_10_01_10_01_01_00 >> (m << 1) & 3;  //転送するレジスタの数
  8506:         if ((m == 1 ? XEiJ.EAM_ALL : k == 1 ? XEiJ.EAM_DAT : XEiJ.EAM_ANY) << ea < 0L) {
  8507:           sb.append (k == 1 ? "fmove.l " : "fmovem.l        ");
  8508:           if (ea < XEiJ.EA_IM) {
  8509:             disEaz (sb, ea).append (',');
  8510:           } else {
  8511:             for (int i = 0; i < k; i++) {
  8512:               disIMl (sb).append (',');
  8513:             }
  8514:           }
  8515:           m <<= 29;
  8516:           for (int i = 0; m != 0; i++, m <<= 1) {
  8517:             if (m < 0) {
  8518:               sb.append (DIS_FP_CR[i]);
  8519:               if (m << 1 != 0) {
  8520:                 sb.append ('/');
  8521:               }
  8522:             }
  8523:           }
  8524:           return sb;
  8525:         }
  8526:       }
  8527:       break;
  8528:     case 0b101:  //FMOVEM.L FPCR/FPSR/FPIAR,<ea>
  8529:       {
  8530:         //メモ
  8531:         //  db.xとscd.xのバグ
  8532:         //    FMOVE.L FPCR,Dn をアセンブルできない
  8533:         //    FMOVE.L FPSR,Dn をアセンブルできない
  8534:         //    FMOVE.L FPIAR,Dn をアセンブルできない
  8535:         //    FMOVE.L FPIAR,An をアセンブルできない
  8536:         //    FMOVEM.L FPCR,Dn をアセンブルできない
  8537:         //    FMOVEM.L FPSR,Dn をアセンブルできない
  8538:         //    FMOVEM.L FPIAR,Dn をアセンブルできない
  8539:         //    FMOVEM.L FPIAR,An をアセンブルできない
  8540:         int k = 0b11_10_10_01_10_01_01_00 >> (m << 1) & 3;  //転送するレジスタの数
  8541:         if ((m == 1 ? XEiJ.EAM_ALT : k == 1 ? XEiJ.EAM_DLT : XEiJ.EAM_MLT) << ea < 0L) {
  8542:           sb.append (k == 1 ? "fmove.l " : "fmovem.l        ");
  8543:           m <<= 29;
  8544:           for (int i = 0; m != 0; i++, m <<= 1) {
  8545:             if (m < 0) {
  8546:               sb.append (DIS_FP_CR[i]);
  8547:               if (m << 1 != 0) {
  8548:                 sb.append ('/');
  8549:               }
  8550:             }
  8551:           }
  8552:           return disEaz (sb.append (','), ea);
  8553:         }
  8554:       }
  8555:       break;
  8556:     case 0b110:  //FMOVEM.X <ea>,<list>
  8557:       if (XEiJ.EAM_RDL << ea < 0L) {
  8558:         disEaz (sb.append ("fmovem.x        "), ea).append (',');
  8559:         if ((m & 2) != 0) {  //dynamic list
  8560:           disDR (sb, w >> 4 & 7);
  8561:         } else {  //static list
  8562:           disFPLst (sb, w);
  8563:         }
  8564:         return sb;
  8565:       }
  8566:       break;
  8567:     case 0b111:  //FMOVEM.X <list>,<ea>
  8568:       {
  8569:         if (XEiJ.EAM_WTL << ea < 0L) {
  8570:           sb.append ("fmovem.x        ");
  8571:           if ((m & 2) != 0) {  //dynamic list
  8572:             disDR (sb, w >> 4 & 7);
  8573:           } else if ((m & 4) != 0) {  //static list, normal
  8574:             disFPLst (sb, w);
  8575:           } else {  //static list, reverse
  8576:             disFPLmn (sb, w);
  8577:           }
  8578:           return disEaz (sb.append (','), ea);
  8579:         }
  8580:       }
  8581:       break;
  8582:     }  //switch w>>13
  8583:     return disIllegal (sb);
  8584:   }  //disFgen(StringBuilder)
  8585: 
  8586:   //FDBcc Dr,<label>                        --CC4S|-|-----|-----|          |1111_001_001_001_rrr-000_000_000_0cc_cccc-{offset}
  8587:   //FTRAPcc.W #<data>                       --CC4S|-|-----|-----|          |1111_001_001_111_010-000_000_000_0cc_cccc-{data}
  8588:   //FTRAPcc.L #<data>                       --CC4S|-|-----|-----|          |1111_001_001_111_011-000_000_000_0cc_cccc-{data}
  8589:   //FTRAPcc                                 --CC4S|-|-----|-----|          |1111_001_001_111_100-000_000_000_0cc_cccc
  8590:   //FScc.B <ea>                             --CC4S|-|-----|-----|D M+-WXZ  |1111_001_001_mmm_rrr-000_000_000_0cc_cccc
  8591:   public static StringBuilder disFscc (StringBuilder sb) {
  8592:     //メモ
  8593:     //  db.xとscd.xのバグ
  8594:     //    FDBcc Dr,<label> をアセンブルすると FDBcc Dr,<label>+2 が出力される (scd060.xで修正されている)
  8595:     //    FDBcc Dr,<label> を逆アセンブルすると FDBcc Dr,<label>-2 が表示される (scd060.xで修正されている)
  8596:     int c = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor) & 63;
  8597:     if (c < DIS_FP_CC.length) {
  8598:       int ea = disOC & 63;
  8599:       if (ea >> 3 == XEiJ.MMM_AR) {
  8600:         disStatus = DIS_SOMETIMES_BRANCH;
  8601:         return disOW (disDR (disOp2 (sb, "fdb", DIS_FP_CC[c]), disOC & 7).append (','));  //FDBccはUnsized、PDBccはWordらしい
  8602:       }
  8603:       if (ea == XEiJ.EA_PW) {
  8604:         return disIMw (disOp3 (sb, "ftrap", DIS_FP_CC[c], ".w"));
  8605:       }
  8606:       if (ea == XEiJ.EA_PX) {
  8607:         return disIMl (disOp3 (sb, "ftrap", DIS_FP_CC[c], ".l"));
  8608:       }
  8609:       if (ea == XEiJ.EA_IM) {
  8610:         return sb.append ("ftrap").append (DIS_FP_CC[c]);
  8611:       }
  8612:       if (XEiJ.EAM_DAT << ea < 0L) {
  8613:         return disEab (disOp3 (sb, "fs", DIS_FP_CC[c], ".b"), ea);
  8614:       }
  8615:     }
  8616:     return disIllegal (sb);
  8617:   }  //disFscc(StringBuilder)
  8618: 
  8619:   //FNOP                                    --CC46|-|-----|-----|          |1111_001_010_000_000-000_000_000_000_0000
  8620:   //FBcc.W <label>                          --CC46|-|-----|-----|          |1111_001_010_ccc_ccc-{offset}
  8621:   public static StringBuilder disFbccWord (StringBuilder sb) {
  8622:     int c = disOC & 63;
  8623:     if (c < DIS_FP_CC.length) {
  8624:       if (c == 0b000000) {  //FBF.W <label>
  8625:         int base = disPC;
  8626:         int offset = MC68060.mmuPeekWordSignCode (base, disSupervisor);
  8627:         disPC = base + 2;
  8628:         if (offset == 0) {  //FBF.W (*)+2 → FNOP
  8629:           return sb.append ("fnop");
  8630:         }
  8631:         return disProgramHex8 (sb.append ("fbf.w   "),
  8632:                                base + offset);
  8633:       }
  8634:       if (c == 0b001111) {  //FBT.W <labsl> → FBRA.W <label>
  8635:         disStatus = DIS_ALWAYS_BRANCH;
  8636:         return disOW (sb.append ("fbra.w  "));
  8637:       }
  8638:       //FBcc.W <label>
  8639:       disStatus = DIS_SOMETIMES_BRANCH;
  8640:       return disOW (disOp3 (sb, "fb", DIS_FP_CC[c], ".w"));
  8641:     }
  8642:     return disIllegal (sb);
  8643:   }  //disFbccWord(StringBuilder)
  8644: 
  8645:   //FBcc.L <label>                          --CC46|-|-----|-----|          |1111_001_011_ccc_ccc-{offset}
  8646:   public static StringBuilder disFbccLong (StringBuilder sb) {
  8647:     int c = disOC & 63;
  8648:     if (c < DIS_FP_CC.length) {
  8649:       if (c == 0b001111) {  //FBT.L <labsl> → FBRA.L <label>
  8650:         disStatus = DIS_ALWAYS_BRANCH;
  8651:         return disOW (sb.append ("fbra.l  "));
  8652:       }
  8653:       //FBcc.L <label>
  8654:       disStatus = DIS_SOMETIMES_BRANCH;
  8655:       return disOW (disOp3 (sb, "fb", DIS_FP_CC[c], ".l"));
  8656:     }
  8657:     return disIllegal (sb);
  8658:   }  //disFbccLong(StringBuilder)
  8659: 
  8660:   //FSAVE <ea>                              --CC46|P|-----|-----|  M -WXZ  |1111_001_100_mmm_rrr
  8661:   public static StringBuilder disFsave (StringBuilder sb) {
  8662:     int ea = disOC & 63;
  8663:     if (XEiJ.EAM_WTL << ea < 0L) {
  8664:       return disEaz (sb.append ("fsave   "), ea);
  8665:     }
  8666:     return disIllegal (sb);
  8667:   }  //disFsave(StringBuilder)
  8668: 
  8669:   //FRESTORE <ea>                           --CC46|P|-----|-----|  M+ WXZP |1111_001_101_mmm_rrr
  8670:   public static StringBuilder disFrestore (StringBuilder sb) {
  8671:     int ea = disOC & 63;
  8672:     if (XEiJ.EAM_RDL << ea < 0L) {
  8673:       return disEaz (sb.append ("frestore        "), ea);
  8674:     }
  8675:     return disIllegal (sb);
  8676:   }  //disFrestore(StringBuilder)
  8677: 
  8678:   //不当命令
  8679:   public static StringBuilder disIllegal (StringBuilder sb) {
  8680:     sb.append ("illegal ");
  8681:     //2ワード目で不当命令と判別されたときは2ワードの不当命令とみなす
  8682:     for (int a = disPC0; a < disPC; a += 2) {
  8683:       if (disPC0 < a) {
  8684:         sb.append (',');
  8685:       }
  8686:       disHex4 (sb, MC68060.mmuPeekWordZeroCode (a, disSupervisor));
  8687:     }
  8688:     return sb;
  8689:   }  //disillegal(StringBuilder)
  8690: 
  8691:   //実効アドレス
  8692:   public static StringBuilder disEaz (StringBuilder sb, int ea) {
  8693:     return disEa (sb, ea, -1);
  8694:   }  //disEaz(StringBuilder,int)
  8695:   public static StringBuilder disEab (StringBuilder sb, int ea) {
  8696:     return disEa (sb, ea, XEiJ.MPU_SS_BYTE);
  8697:   }  //disEab(StringBuilder,int)
  8698:   public static StringBuilder disEaw (StringBuilder sb, int ea) {
  8699:     return disEa (sb, ea, XEiJ.MPU_SS_WORD);
  8700:   }  //disEaw(StringBuilder,int)
  8701:   public static StringBuilder disEal (StringBuilder sb, int ea) {
  8702:     return disEa (sb, ea, XEiJ.MPU_SS_LONG);
  8703:   }  //disEal(StringBuilder,int)
  8704:   public static StringBuilder disEa (StringBuilder sb, int ea, int ss) {
  8705:     int rrr = ea & 7;
  8706:     switch (ea) {
  8707:     case XEiJ.EA_DR + 0:  //d0
  8708:     case XEiJ.EA_DR + 1:  //d1
  8709:     case XEiJ.EA_DR + 2:  //d2
  8710:     case XEiJ.EA_DR + 3:  //d3
  8711:     case XEiJ.EA_DR + 4:  //d4
  8712:     case XEiJ.EA_DR + 5:  //d5
  8713:     case XEiJ.EA_DR + 6:  //d6
  8714:     case XEiJ.EA_DR + 7:  //d7
  8715:       return disDR (sb, rrr);
  8716:     case XEiJ.EA_AR + 0:  //a0
  8717:     case XEiJ.EA_AR + 1:  //a1
  8718:     case XEiJ.EA_AR + 2:  //a2
  8719:     case XEiJ.EA_AR + 3:  //a3
  8720:     case XEiJ.EA_AR + 4:  //a4
  8721:     case XEiJ.EA_AR + 5:  //a5
  8722:     case XEiJ.EA_AR + 6:  //a6
  8723:     case XEiJ.EA_AR + 7:  //sp
  8724:       return disAR (sb, rrr);
  8725:     case XEiJ.EA_MM + 0:  //(a0)
  8726:     case XEiJ.EA_MM + 1:  //(a1)
  8727:     case XEiJ.EA_MM + 2:  //(a2)
  8728:     case XEiJ.EA_MM + 3:  //(a3)
  8729:     case XEiJ.EA_MM + 4:  //(a4)
  8730:     case XEiJ.EA_MM + 5:  //(a5)
  8731:     case XEiJ.EA_MM + 6:  //(a6)
  8732:     case XEiJ.EA_MM + 7:  //(sp)
  8733:       return disMM (sb, rrr);
  8734:     case XEiJ.EA_MP + 0:  //(a0)+
  8735:     case XEiJ.EA_MP + 1:  //(a1)+
  8736:     case XEiJ.EA_MP + 2:  //(a2)+
  8737:     case XEiJ.EA_MP + 3:  //(a3)+
  8738:     case XEiJ.EA_MP + 4:  //(a4)+
  8739:     case XEiJ.EA_MP + 5:  //(a5)+
  8740:     case XEiJ.EA_MP + 6:  //(a6)+
  8741:     case XEiJ.EA_MP + 7:  //(sp)+
  8742:       return disMP (sb, rrr);
  8743:     case XEiJ.EA_MN + 0:  //-(a0)
  8744:     case XEiJ.EA_MN + 1:  //-(a1)
  8745:     case XEiJ.EA_MN + 2:  //-(a2)
  8746:     case XEiJ.EA_MN + 3:  //-(a3)
  8747:     case XEiJ.EA_MN + 4:  //-(a4)
  8748:     case XEiJ.EA_MN + 5:  //-(a5)
  8749:     case XEiJ.EA_MN + 6:  //-(a6)
  8750:     case XEiJ.EA_MN + 7:  //-(sp)
  8751:       return disMN (sb, rrr);
  8752:     case XEiJ.EA_MW + 0:  //d16(a0)
  8753:     case XEiJ.EA_MW + 1:  //d16(a1)
  8754:     case XEiJ.EA_MW + 2:  //d16(a2)
  8755:     case XEiJ.EA_MW + 3:  //d16(a3)
  8756:     case XEiJ.EA_MW + 4:  //d16(a4)
  8757:     case XEiJ.EA_MW + 5:  //d16(a5)
  8758:     case XEiJ.EA_MW + 6:  //d16(a6)
  8759:     case XEiJ.EA_MW + 7:  //d16(sp)
  8760:       return disMW (sb, rrr);
  8761:     case XEiJ.EA_MX + 0:  //d8(a0,rn.wl)
  8762:     case XEiJ.EA_MX + 1:  //d8(a1,rn.wl)
  8763:     case XEiJ.EA_MX + 2:  //d8(a2,rn.wl)
  8764:     case XEiJ.EA_MX + 3:  //d8(a3,rn.wl)
  8765:     case XEiJ.EA_MX + 4:  //d8(a4,rn.wl)
  8766:     case XEiJ.EA_MX + 5:  //d8(a5,rn.wl)
  8767:     case XEiJ.EA_MX + 6:  //d8(a6,rn.wl)
  8768:     case XEiJ.EA_MX + 7:  //d8(sp,rn.wl)
  8769:       return disMX (sb, rrr);
  8770:     case XEiJ.EA_ZW:  //(xxx).w
  8771:       return disZW (sb);
  8772:     case XEiJ.EA_ZL:  //(xxx).l
  8773:       return disZL (sb);
  8774:     case XEiJ.EA_PW:  //d16(pc)
  8775:       return disPW (sb);
  8776:     case XEiJ.EA_PX:  //d8(pc,rn.wl)
  8777:       return disPX (sb);
  8778:     case XEiJ.EA_IM:  //#<data>
  8779:       return (ss == XEiJ.MPU_SS_BYTE ? disIMb (sb) :
  8780:               ss == XEiJ.MPU_SS_WORD ? disIMw (sb) :
  8781:               ss == XEiJ.MPU_SS_LONG ? disIMl (sb) :
  8782:               ss == 8 + 0 ? disIMl (sb) :
  8783:               ss == 8 + 1 ? disIMs (sb) :
  8784:               ss == 8 + 2 ? disIMx (sb) :
  8785:               ss == 8 + 3 ? disIMp (sb) :
  8786:               ss == 8 + 4 ? disIMw (sb) :
  8787:               ss == 8 + 5 ? disIMd (sb) :
  8788:               ss == 8 + 6 ? disIMb (sb) :
  8789:               ss == 8 + 7 ? disIMp (sb) :
  8790:               sb.append ("???"));
  8791:     }  //switch
  8792:     return sb.append ("???");
  8793:   }  //disEa(StringBuilder,int,int)
  8794: 
  8795:   public static StringBuilder disDR (StringBuilder sb, int rrr) {
  8796:     return sb.append ('d').append ((char) ('0' + rrr));
  8797:   }  //disDR(StringBuilder,int)
  8798:   public static StringBuilder disAR (StringBuilder sb, int rrr) {
  8799:     return rrr < 7 ? sb.append ('a').append ((char) ('0' + rrr)) : sb.append ("sp");
  8800:   }  //disAR(StringBuilder,int)
  8801:   public static StringBuilder disRn (StringBuilder sb, int rnnn) {
  8802:     return rnnn < 15 ? sb.append (rnnn < 8 ? 'd' : 'a').append ((char) ('0' + (rnnn & 7))) : sb.append ("sp");
  8803:   }  //disRn(StringBuilder,int)
  8804:   public static StringBuilder disMM (StringBuilder sb, int rrr) {
  8805:     return disAR (sb.append ('('), rrr).append (')');
  8806:   }  //disMM(StringBuilder,int)
  8807:   public static StringBuilder disMP (StringBuilder sb, int rrr) {
  8808:     return disAR (sb.append ('('), rrr).append (")+");
  8809:   }  //disMP(StringBuilder,int)
  8810:   public static StringBuilder disMN (StringBuilder sb, int rrr) {
  8811:     return disAR (sb.append ("-("), rrr).append (')');
  8812:   }  //disMN(StringBuilder,int)
  8813:   public static StringBuilder disMW (StringBuilder sb, int rrr) {
  8814:     return disMM (disHex4 (sb, MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)), rrr);
  8815:   }  //disMW(StringBuilder,int)
  8816:   public static StringBuilder disMX (StringBuilder sb, int rrr) {
  8817:     int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor);  //拡張ワード
  8818:     if ((w & 0x0100) == 0) {  //ブリーフフォーマット
  8819:       disHex2 (sb, w);  //ディスプレースメント
  8820:       sb.append ('(');
  8821:       disAR (sb, rrr);  //ベースレジスタ
  8822:       sb.append (',');
  8823:       disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l");  //インデックス
  8824:       if ((w & 0x0600) != 0) {  //スケールファクタあり
  8825:         sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3))));  //スケールファクタ
  8826:       }
  8827:       sb.append (')');
  8828:     } else {  //フルフォーマット
  8829:       sb.append ('(');
  8830:       if ((w & 0x0003) != 0) {  //メモリ間接あり
  8831:         sb.append ('[');
  8832:       }
  8833:       if ((w & 0x0020) != 0) {  //ベースディスプレースメントあり
  8834:         if ((w & 0x0010) == 0) {  //ワードベースディスプレースメント
  8835:           int bd = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2,
  8836:                                                 disSupervisor);
  8837:           disHex4 (sb,
  8838:                    bd).append (".w");
  8839:         } else {  //ロングベースディスプレースメント
  8840:           int bd = MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  8841:                                             disSupervisor);
  8842:           disProgramHex8 (sb,
  8843:                           bd).append (".l");
  8844:         }
  8845:         sb.append (',');
  8846:       }
  8847:       if ((w & 0x0080) != 0) {  //ベースサプレスあり
  8848:         sb.append ('z');
  8849:       }
  8850:       disAR (sb, rrr);  //ベースレジスタ
  8851:       if ((w & 0x0004) == 0) {  //プリインデックス
  8852:         if ((w & 0x0040) == 0) {  //インデックスサプレスなし
  8853:           sb.append (',');
  8854:           disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l");
  8855:           if ((w & 0x0600) != 0) {  //スケールファクタあり
  8856:             sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3))));  //スケールファクタ
  8857:           }
  8858:         }
  8859:       }
  8860:       if ((w & 0x0003) != 0) {  //メモリ間接あり
  8861:         sb.append (']');
  8862:       }
  8863:       if ((w & 0x0004) != 0) {  //ポストインデックス
  8864:         if ((w & 0x0040) == 0) {  //インデックスサプレスなし
  8865:           sb.append (',');
  8866:           disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l");
  8867:           if ((w & 0x0600) != 0) {  //スケールファクタあり
  8868:             sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3))));  //スケールファクタ
  8869:           }
  8870:         }
  8871:       }
  8872:       if ((w & 0x0002) != 0) {  //アウタディスプレースメントあり
  8873:         sb.append (',');
  8874:         if ((w & 0x0001) == 0) {  //ワードアウタディスプレースメント
  8875:           int od = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2,
  8876:                                                 disSupervisor);
  8877:           disHex4 (sb,
  8878:                    od).append (".w");
  8879:         } else {  //ロングアウタディスプレースメント
  8880:           int od = MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  8881:                                             disSupervisor);
  8882:           disHex8 (sb,
  8883:                    od).append (".l");
  8884:         }
  8885:       }
  8886:       sb.append (')');
  8887:     }
  8888:     return sb;
  8889:   }  //disMX(StringBuilder,int)
  8890:   public static StringBuilder disZW (StringBuilder sb) {
  8891:     int z = MC68060.mmuPeekWordSignCode ((disPC += 2) - 2,
  8892:                                          disSupervisor);
  8893:     return disHex4 (sb,
  8894:                     z).append (".w");
  8895:   }  //disZW(StringBuilder)
  8896:   public static StringBuilder disZL (StringBuilder sb) {
  8897:     int z = MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  8898:                                      disSupervisor);
  8899:     return disProgramHex8 (sb,
  8900:                            z).append (".l");
  8901:   }  //disZL(StringBuilder)
  8902:   public static StringBuilder disOW (StringBuilder sb) {
  8903:     int b = disPC;  //ベース
  8904:     int d = MC68060.mmuPeekWordSignCode ((disPC += 2) - 2,
  8905:                                          disSupervisor);
  8906:     return disProgramHex8 (sb,
  8907:                            b + d);
  8908:   }  //disOW(StringBuilder)
  8909:   public static StringBuilder disOL (StringBuilder sb) {
  8910:     int b = disPC;  //ベース
  8911:     int d = MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  8912:                                      disSupervisor);
  8913:     return disProgramHex8 (sb,
  8914:                            b + d);
  8915:   }  //disOL(StringBuilder)
  8916:   public static StringBuilder disPW (StringBuilder sb) {
  8917:     return disOW (sb).append ("(pc)");
  8918:   }  //disPW(StringBuilder)
  8919:   public static StringBuilder disPX (StringBuilder sb) {
  8920:     int b = disPC;  //ベース
  8921:     int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2,
  8922:                                          disSupervisor);  //拡張ワード
  8923:     if ((w & 0x0100) == 0) {  //ブリーフフォーマット
  8924:       int d = (byte) w;  //ディスプレースメント
  8925:       disProgramHex8 (sb,
  8926:                       b + d);
  8927:       sb.append ('(');
  8928:       sb.append ("pc");  //ベースレジスタ
  8929:       sb.append (',');
  8930:       disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l");  //インデックス
  8931:       if ((w & 0x0600) != 0) {  //スケールファクタあり
  8932:         sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3))));  //スケールファクタ
  8933:       }
  8934:       sb.append (')');
  8935:     } else {  //フルフォーマット
  8936:       sb.append ('(');
  8937:       if ((w & 0x0003) != 0) {  //メモリ間接あり
  8938:         sb.append ('[');
  8939:       }
  8940:       if ((w & 0x0020) != 0) {  //ベースディスプレースメントあり
  8941:         if ((w & 0x0080) != 0) {  //ベースサプレスあり
  8942:           b = 0;
  8943:         }
  8944:         if ((w & 0x0010) == 0) {  //ワードベースディスプレースメント
  8945:           int bd = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2,
  8946:                                                 disSupervisor);
  8947:           disProgramHex8 (sb,
  8948:                           b + bd).append (".w");
  8949:         } else {  //ロングベースディスプレースメント
  8950:           int bd = MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  8951:                                             disSupervisor);
  8952:           disProgramHex8 (sb,
  8953:                           b + bd).append (".l");
  8954:         }
  8955:         sb.append (',');
  8956:       }
  8957:       if ((w & 0x0080) != 0) {  //ベースサプレスあり
  8958:         sb.append ('z');
  8959:       }
  8960:       sb.append ("pc");  //ベースレジスタ
  8961:       if ((w & 0x0004) == 0) {  //プリインデックス
  8962:         if ((w & 0x0040) == 0) {  //インデックスサプレスなし
  8963:           sb.append (',');
  8964:           disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l");
  8965:           if ((w & 0x0600) != 0) {  //スケールファクタあり
  8966:             sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3))));  //スケールファクタ
  8967:           }
  8968:         }
  8969:       }
  8970:       if ((w & 0x0003) != 0) {  //メモリ間接あり
  8971:         sb.append (']');
  8972:       }
  8973:       if ((w & 0x0004) != 0) {  //ポストインデックス
  8974:         if ((w & 0x0040) == 0) {  //インデックスサプレスなし
  8975:           sb.append (',');
  8976:           disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l");
  8977:           if ((w & 0x0600) != 0) {  //スケールファクタあり
  8978:             sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3))));  //スケールファクタ
  8979:           }
  8980:         }
  8981:       }
  8982:       if ((w & 0x0002) != 0) {  //アウタディスプレースメントあり
  8983:         sb.append (',');
  8984:         if ((w & 0x0001) == 0) {  //ワードアウタディスプレースメント
  8985:           int od = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2,
  8986:                                                 disSupervisor);
  8987:           disHex4 (sb,
  8988:                    od).append (".w");
  8989:         } else {  //ロングアウタディスプレースメント
  8990:           int od = MC68060.mmuPeekLongCode ((disPC += 4) - 4,
  8991:                                             disSupervisor);
  8992:           disHex8 (sb,
  8993:                    od).append (".l");
  8994:         }
  8995:       }
  8996:       sb.append (')');
  8997:     }
  8998:     return sb;
  8999:   }  //disPX(StringBuilder)
  9000:   public static StringBuilder disIMb (StringBuilder sb) {
  9001:     return disHex2 (sb.append ('#'), MC68060.mmuPeekByteSignCode ((disPC += 2) - 1, disSupervisor));
  9002:   }  //disIMb(StringBuilder)
  9003:   public static StringBuilder disIMw (StringBuilder sb) {
  9004:     return disHex4 (sb.append ('#'), MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor));
  9005:   }  //disIMw(StringBuilder)
  9006:   public static StringBuilder disIMl (StringBuilder sb) {
  9007:     return disHex8 (sb.append ('#'), MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor));
  9008:   }  //disIMl(StringBuilder)
  9009: 
  9010:   public static StringBuilder disIMs (StringBuilder sb) {
  9011:     int i = MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor);
  9012:     return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setf0 (i).toString ());
  9013:   }  //disIMs(StringBuilder)
  9014:   public static StringBuilder disIMd (StringBuilder sb) {
  9015:     long l = MC68060.mmuPeekQuadCode ((disPC += 8) - 8, disSupervisor);
  9016:     return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setd01 (l).toString ());
  9017:   }  //disIMd(StringBuilder)
  9018:   public static StringBuilder disIMx (StringBuilder sb) {
  9019:     int i = MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor);
  9020:     long l = MC68060.mmuPeekQuadCode ((disPC += 8) - 8, disSupervisor);
  9021:     return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setx012 (i, l).toString ());
  9022:   }  //disIMx(StringBuilder)
  9023:   public static StringBuilder disIMp (StringBuilder sb) {
  9024:     int i = MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor);
  9025:     long l = MC68060.mmuPeekQuadCode ((disPC += 8) - 8, disSupervisor);
  9026:     return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setp012 (i, l).toString ());
  9027:   }  //disIMp(StringBuilder)
  9028: 
  9029:   public static StringBuilder disIM3 (StringBuilder sb, int qqq) {
  9030:     return disHex2 (sb.append ('#'), ((qqq & 7) - 1 & 7) + 1);
  9031:   }  //disIM3(StringBuilder,int)
  9032:   public static StringBuilder disIM8 (StringBuilder sb, int data) {
  9033:     return disHex2 (sb.append ('#'), data);
  9034:   }  //disIM8(StringBuilder,int)
  9035: 
  9036:   //レジスタリスト
  9037:   public static StringBuilder disLst (StringBuilder sb, boolean reverse) {
  9038:     int invert = reverse ? 0b1111 : 0b0000;
  9039:     int x = MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor);
  9040:     int from = -1;  //開始レジスタ番号
  9041:     int to = -1;  //終了レジスタ番号
  9042:     for (int i = 0; i <= 15; i++) {
  9043:       if ((x & (1 << (i ^ invert))) != 0) {  //転送する
  9044:         if (from < 0) {  //ここから
  9045:           from = i;
  9046:         }
  9047:         if ((i & 7) == 7 || (x & (1 << (i + 1 ^ invert))) == 0) {  //ここまで
  9048:           if (to >= 0) {
  9049:             sb.append ('/');
  9050:           }
  9051:           sb.append (from < 8 ? 'd' : 'a').append ((char) ('0' + (from & 7)));
  9052:           to = i;
  9053:           if (from < to) {
  9054:             sb.append (to < 8 ? "-d" : "-a").append ((char) ('0' + (to & 7)));
  9055:           }
  9056:           from = -1;
  9057:         }
  9058:       }
  9059:     }
  9060:     if (to < 0) {  //転送するレジスタがなかった
  9061:       sb.append ("???");
  9062:     }
  9063:     return sb;
  9064:   }  //disLst(StringBuilder,int)
  9065: 
  9066:   public static StringBuilder disFPLst (StringBuilder sb, int l) {
  9067:     l <<= 24;
  9068:     if (false) {
  9069:       for (int i = 0; l != 0; i++, l <<= 1) {
  9070:         if (l < 0) {
  9071:           disFPn (sb, i);
  9072:           if (l << 1 != 0) {
  9073:             sb.append ('/');
  9074:           }
  9075:         }
  9076:       }
  9077:     } else {
  9078:       int s = -1;
  9079:       for (int i = 0; l != 0; i++, l <<= 1) {
  9080:         if (l < 0) {
  9081:           if (s < 0) {  //開始
  9082:             s = i;
  9083:           }
  9084:           if ((l ^ l << 1) < 0) {  //終了
  9085:             disFPn (sb, s);
  9086:             if (s < i) {
  9087:               disFPn (sb.append ('-'), i);
  9088:             }
  9089:             if (l << 1 != 0) {
  9090:               sb.append ('/');
  9091:             }
  9092:             s = -1;
  9093:           }
  9094:         }
  9095:       }
  9096:     }
  9097:     return sb;
  9098:   }  //disFPLst(StringBuilder,int)
  9099: 
  9100:   public static StringBuilder disFPLmn (StringBuilder sb, int l) {
  9101:     l &= 255;
  9102:     if (false) {
  9103:       for (int i = 0; l != 0; i++, l >>>= 1) {
  9104:         if ((l & 1) != 0) {
  9105:           disFPn (sb, i);
  9106:           if (l >>> 1 != 0) {
  9107:             sb.append ('/');
  9108:           }
  9109:         }
  9110:       }
  9111:     } else {
  9112:       int s = -1;
  9113:       for (int i = 0; l != 0; i++, l >>>= 1) {
  9114:         if ((l & 1) != 0) {
  9115:           if (s < 0) {  //開始
  9116:             s = i;
  9117:           }
  9118:           if (((l ^ l >>> 1) & 1) != 0) {  //終了
  9119:             disFPn (sb, s);
  9120:             if (s < i) {
  9121:               disFPn (sb.append ('-'), i);
  9122:             }
  9123:             if (l >>> 1 != 0) {
  9124:               sb.append ('/');
  9125:             }
  9126:             s = -1;
  9127:           }
  9128:         }
  9129:       }
  9130:     }
  9131:     return sb;
  9132:   }  //disFPLmn(StringBuilder,int)
  9133: 
  9134:   //ビットフィールド
  9135:   public static StringBuilder disBF (StringBuilder sb, int w) {
  9136:     sb.append ('{');
  9137:     if ((w & 0b0000_100_000_000_000) == 0) {
  9138:       disHex2 (sb, w >> 6 & 31);
  9139:     } else {
  9140:       disDR (sb, w >> 6 & 7);
  9141:     }
  9142:     sb.append (':');
  9143:     if ((w & 0b0000_000_000_100_000) == 0) {
  9144:       disHex2 (sb, (w - 1 & 31) + 1);
  9145:     } else {
  9146:       disDR (sb, w & 7);
  9147:     }
  9148:     return sb.append ('}');
  9149:   }  //disBF(StringBuilder,int)
  9150: 
  9151:   //  ニモニックと空白
  9152:   public static StringBuilder disOp2 (StringBuilder sb, String mn, String sz) {
  9153:     return sb.append (mn).append (sz).append ("        ", Math.min (7, mn.length () + sz.length ()), 8);
  9154:   }  //disOp2(StringBuilder,String,String)
  9155:   public static StringBuilder disOp3 (StringBuilder sb, String mn, String cc, String sz) {
  9156:     return sb.append (mn).append (cc).append (sz).append ("        ", Math.min (7, mn.length () + cc.length () + sz.length ()), 8);
  9157:   }  //disOp3(StringBuilder,String,String,String)
  9158: 
  9159:   //  '$'と2桁の16進数
  9160:   public static StringBuilder disHex2 (StringBuilder sb, int d) {
  9161:     return XEiJ.fmtHex2 (sb.append ('$'), d);
  9162:   }  //disHex2(StringBuilder,int)
  9163: 
  9164:   //  '$'と4桁の16進数
  9165:   public static StringBuilder disHex4 (StringBuilder sb, int d) {
  9166:     return XEiJ.fmtHex4 (sb.append ('$'), d);
  9167:   }  //disHex4(StringBuilder,int)
  9168: 
  9169:   //  '$'と8桁の16進数
  9170:   public static StringBuilder disHex8 (StringBuilder sb, int d) {
  9171:     return XEiJ.fmtHex8 (sb.append ('$'), d);
  9172:   }  //disHex8(StringBuilder,int)
  9173: 
  9174:   //  浮動小数点レジスタ
  9175:   public static StringBuilder disFPn (StringBuilder sb, int n) {
  9176:     return sb.append ("fp").append (n);
  9177:   }  //disFPn(StringBuilder,int)
  9178: 
  9179: }  //class Disassembler
  9180: 
  9181: 
  9182: