1: //======================================================================================== 2: // Disassembler.java 3: // en:Disassembler 4: // ja:逆アセンブラ 5: // Copyright (C) 2003-2019 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: //sb = disDisassemble (sb, address, supervisor) 2925: // 1命令逆アセンブルする 2926: public static StringBuilder disDisassemble (StringBuilder sb, int address, int supervisor) { 2927: disPC = address; 2928: disSupervisor = supervisor; 2929: disStatus = 0; 2930: disPC0 = disPC; 2931: disOC = MC68060.mmuPeekWordZeroCode (disPC, disSupervisor); //第1オペコード。必ずゼロ拡張すること 2932: disPC += 2; 2933: switch (disOC >>> 6) { //第1オペコードの上位10ビット。disOCはゼロ拡張されているので0b1111_111_111&を省略 2934: 2935: // PRIVILEGED?|CCin |CCout|ADDRESSING| 2936: // MPU | |XNZVC|XNZVC|DAM+-WXZPI| FORMAT 2937: //----------------------------------------------+-+-----+-----+----------+-------------------- 2938: //ORI.B #<data>,CCR 012346|-|*****|*****| |0000_000_000_111_100-{data} 2939: //ORI.B #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_000_000_mmm_rrr-{data} 2940: case 0b0000_000_000: return disOriByte (sb); 2941: 2942: //ORI.W #<data>,SR 012346|P|*****|*****| |0000_000_001_111_100-{data} 2943: //ORI.W #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_000_001_mmm_rrr-{data} 2944: case 0b0000_000_001: return disOriWord (sb); 2945: 2946: //ORI.L #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_000_010_mmm_rrr-{data} 2947: case 0b0000_000_010: return disOriLong (sb); 2948: 2949: //BITREV.L Dr ------|-|-----|-----| |0000_000_011_000_rrr (ISA_C) 2950: //CMP2.B <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_000_011_mmm_rrr-rnnn_000_000_000_000 2951: //CHK2.B <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_000_011_mmm_rrr-rnnn_100_000_000_000 2952: case 0b0000_000_011: return disCmp2Chk2Byte (sb); 2953: 2954: //ANDI.B #<data>,CCR 012346|-|*****|*****| |0000_001_000_111_100-{data} 2955: //ANDI.B #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_001_000_mmm_rrr-{data} 2956: case 0b0000_001_000: return disAndiByte (sb); 2957: 2958: //ANDI.W #<data>,SR 012346|P|*****|*****| |0000_001_001_111_100-{data} 2959: //ANDI.W #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_001_001_mmm_rrr-{data} 2960: case 0b0000_001_001: return disAndiWord (sb); 2961: 2962: //ANDI.L #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_001_010_mmm_rrr-{data} 2963: case 0b0000_001_010: return disAndiLong (sb); 2964: 2965: //BYTEREV.L Dr ------|-|-----|-----| |0000_001_011_000_rrr (ISA_C) 2966: //CMP2.W <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_001_011_mmm_rrr-rnnn_000_000_000_000 2967: //CHK2.W <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_001_011_mmm_rrr-rnnn_100_000_000_000 2968: case 0b0000_001_011: return disCmp2Chk2Word (sb); 2969: 2970: //SUBI.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_010_000_mmm_rrr-{data} 2971: case 0b0000_010_000: return disSubiByte (sb); 2972: 2973: //SUBI.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_010_001_mmm_rrr-{data} 2974: case 0b0000_010_001: return disSubiWord (sb); 2975: 2976: //SUBI.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_010_010_mmm_rrr-{data} 2977: case 0b0000_010_010: return disSubiLong (sb); 2978: 2979: //FF1.L Dr ------|-|-UUUU|-**00| |0000_010_011_000_rrr (ISA_C) 2980: //CMP2.L <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_010_011_mmm_rrr-rnnn_000_000_000_000 2981: //CHK2.L <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_010_011_mmm_rrr-rnnn_100_000_000_000 2982: case 0b0000_010_011: return disCmp2Chk2Long (sb); 2983: 2984: //ADDI.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_011_000_mmm_rrr-{data} 2985: case 0b0000_011_000: return disAddiByte (sb); 2986: 2987: //ADDI.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_011_001_mmm_rrr-{data} 2988: case 0b0000_011_001: return disAddiWord (sb); 2989: 2990: //ADDI.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_011_010_mmm_rrr-{data} 2991: case 0b0000_011_010: return disAddiLong (sb); 2992: 2993: //RTM Rn --2---|-|UUUUU|*****| |0000_011_011_00n_nnn 2994: //CALLM #<data>,<ea> --2---|-|-----|-----| M WXZP |0000_011_011_mmm_rrr-0000_000_0dd_ddd_ddd 2995: case 0b0000_011_011: return disCallm (sb); 2996: 2997: //BTST.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_000_000_rrr-{data} 2998: //BTST.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZP |0000_100_000_mmm_rrr-{data} 2999: case 0b0000_100_000: return disBtstImm (sb); 3000: 3001: //BCHG.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_001_000_rrr-{data} 3002: //BCHG.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_100_001_mmm_rrr-{data} 3003: case 0b0000_100_001: return disBchgImm (sb); 3004: 3005: //BCLR.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_010_000_rrr-{data} 3006: //BCLR.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_100_010_mmm_rrr-{data} 3007: case 0b0000_100_010: return disBclrImm (sb); 3008: 3009: //BSET.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_011_000_rrr-{data} 3010: //BSET.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_100_011_mmm_rrr-{data} 3011: case 0b0000_100_011: return disBsetImm (sb); 3012: 3013: //EORI.B #<data>,CCR 012346|-|*****|*****| |0000_101_000_111_100-{data} 3014: //EORI.B #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_101_000_mmm_rrr-{data} 3015: case 0b0000_101_000: return disEoriByte (sb); 3016: 3017: //EORI.W #<data>,SR 012346|P|*****|*****| |0000_101_001_111_100-{data} 3018: //EORI.W #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_101_001_mmm_rrr-{data} 3019: case 0b0000_101_001: return disEoriWord (sb); 3020: 3021: //EORI.L #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_101_010_mmm_rrr-{data} 3022: case 0b0000_101_010: return disEoriLong (sb); 3023: 3024: //CAS.B Dc,Du,<ea> --2346|-|-UUUU|-****| M+-WXZ |0000_101_011_mmm_rrr-0000_000_uuu_000_ccc 3025: case 0b0000_101_011: return disCasByte (sb); 3026: 3027: //CMPI.B #<data>,<ea> 012346|-|-UUUU|-****|D M+-WXZ |0000_110_000_mmm_rrr-{data} 3028: //CMPI.B #<data>,<ea> --2346|-|-UUUU|-****| P |0000_110_000_mmm_rrr-{data} 3029: case 0b0000_110_000: return disCmpiByte (sb); 3030: 3031: //CMPI.W #<data>,<ea> 012346|-|-UUUU|-****|D M+-WXZ |0000_110_001_mmm_rrr-{data} 3032: //CMPI.W #<data>,<ea> --2346|-|-UUUU|-****| P |0000_110_001_mmm_rrr-{data} 3033: case 0b0000_110_001: return disCmpiWord (sb); 3034: 3035: //CMPI.L #<data>,<ea> 012346|-|-UUUU|-****|D M+-WXZ |0000_110_010_mmm_rrr-{data} 3036: //CMPI.L #<data>,<ea> --2346|-|-UUUU|-****| P |0000_110_010_mmm_rrr-{data} 3037: case 0b0000_110_010: return disCmpiLong (sb); 3038: 3039: //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) 3040: //CAS.W Dc,Du,<ea> --2346|-|-UUUU|-****| M+-WXZ |0000_110_011_mmm_rrr-0000_000_uuu_000_ccc (68060 software emulate misaligned <ea>) 3041: case 0b0000_110_011: return disCasWord (sb); 3042: 3043: //MOVES.B <ea>,Rn -12346|P|-----|-----| M+-WXZ |0000_111_000_mmm_rrr-rnnn_000_000_000_000 3044: //MOVES.B Rn,<ea> -12346|P|-----|-----| M+-WXZ |0000_111_000_mmm_rrr-rnnn_100_000_000_000 3045: case 0b0000_111_000: return disMovesByte (sb); 3046: 3047: //MOVES.W <ea>,Rn -12346|P|-----|-----| M+-WXZ |0000_111_001_mmm_rrr-rnnn_000_000_000_000 3048: //MOVES.W Rn,<ea> -12346|P|-----|-----| M+-WXZ |0000_111_001_mmm_rrr-rnnn_100_000_000_000 3049: case 0b0000_111_001: return disMovesWord (sb); 3050: 3051: //MOVES.L <ea>,Rn -12346|P|-----|-----| M+-WXZ |0000_111_010_mmm_rrr-rnnn_000_000_000_000 3052: //MOVES.L Rn,<ea> -12346|P|-----|-----| M+-WXZ |0000_111_010_mmm_rrr-rnnn_100_000_000_000 3053: case 0b0000_111_010: return disMovesLong (sb); 3054: 3055: //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) 3056: //CAS.L Dc,Du,<ea> --2346|-|-UUUU|-****| M+-WXZ |0000_111_011_mmm_rrr-0000_000_uuu_000_ccc (68060 software emulate misaligned <ea>) 3057: case 0b0000_111_011: return disCasLong (sb); 3058: 3059: //BTST.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_100_000_rrr 3060: //MOVEP.W (d16,Ar),Dq 01234S|-|-----|-----| |0000_qqq_100_001_rrr-{data} 3061: //BTST.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZPI|0000_qqq_100_mmm_rrr 3062: case 0b0000_000_100: 3063: case 0b0000_001_100: 3064: case 0b0000_010_100: 3065: case 0b0000_011_100: 3066: case 0b0000_100_100: 3067: case 0b0000_101_100: 3068: case 0b0000_110_100: 3069: case 0b0000_111_100: return disBtstReg (sb); 3070: 3071: //BCHG.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_101_000_rrr 3072: //MOVEP.L (d16,Ar),Dq 01234S|-|-----|-----| |0000_qqq_101_001_rrr-{data} 3073: //BCHG.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_qqq_101_mmm_rrr 3074: case 0b0000_000_101: 3075: case 0b0000_001_101: 3076: case 0b0000_010_101: 3077: case 0b0000_011_101: 3078: case 0b0000_100_101: 3079: case 0b0000_101_101: 3080: case 0b0000_110_101: 3081: case 0b0000_111_101: return disBchgReg (sb); 3082: 3083: //BCLR.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_110_000_rrr 3084: //MOVEP.W Dq,(d16,Ar) 01234S|-|-----|-----| |0000_qqq_110_001_rrr-{data} 3085: //BCLR.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_qqq_110_mmm_rrr 3086: case 0b0000_000_110: 3087: case 0b0000_001_110: 3088: case 0b0000_010_110: 3089: case 0b0000_011_110: 3090: case 0b0000_100_110: 3091: case 0b0000_101_110: 3092: case 0b0000_110_110: 3093: case 0b0000_111_110: return disBclrReg (sb); 3094: 3095: //BSET.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_111_000_rrr 3096: //MOVEP.L Dq,(d16,Ar) 01234S|-|-----|-----| |0000_qqq_111_001_rrr-{data} 3097: //BSET.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_qqq_111_mmm_rrr 3098: case 0b0000_000_111: 3099: case 0b0000_001_111: 3100: case 0b0000_010_111: 3101: case 0b0000_011_111: 3102: case 0b0000_100_111: 3103: case 0b0000_101_111: 3104: case 0b0000_110_111: 3105: case 0b0000_111_111: return disBsetReg (sb); 3106: 3107: //MOVE.B <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_000_mmm_rrr 3108: case 0b0001_000_000: 3109: case 0b0001_001_000: 3110: case 0b0001_010_000: 3111: case 0b0001_011_000: 3112: case 0b0001_100_000: 3113: case 0b0001_101_000: 3114: case 0b0001_110_000: 3115: case 0b0001_111_000: return disMoveToRegByte (sb); 3116: 3117: //case 0b0001_000_001: 3118: //case 0b0001_001_001: 3119: //case 0b0001_010_001: 3120: //case 0b0001_011_001: 3121: //case 0b0001_100_001: 3122: //case 0b0001_101_001: 3123: //case 0b0001_110_001: 3124: //case 0b0001_111_001: 3125: 3126: //MOVE.B <ea>,<nnnqqq> 012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_nnn_mmm_rrr (nnnqqq:M+-WXZ) 3127: case 0b0001_000_010: 3128: case 0b0001_000_011: 3129: case 0b0001_000_100: 3130: case 0b0001_000_101: 3131: case 0b0001_000_110: 3132: case 0b0001_000_111: 3133: case 0b0001_001_010: 3134: case 0b0001_001_011: 3135: case 0b0001_001_100: 3136: case 0b0001_001_101: 3137: case 0b0001_001_110: 3138: case 0b0001_001_111: 3139: case 0b0001_010_010: 3140: case 0b0001_010_011: 3141: case 0b0001_010_100: 3142: case 0b0001_010_101: 3143: case 0b0001_010_110: 3144: case 0b0001_011_010: 3145: case 0b0001_011_011: 3146: case 0b0001_011_100: 3147: case 0b0001_011_101: 3148: case 0b0001_011_110: 3149: case 0b0001_100_010: 3150: case 0b0001_100_011: 3151: case 0b0001_100_100: 3152: case 0b0001_100_101: 3153: case 0b0001_100_110: 3154: case 0b0001_101_010: 3155: case 0b0001_101_011: 3156: case 0b0001_101_100: 3157: case 0b0001_101_101: 3158: case 0b0001_101_110: 3159: case 0b0001_110_010: 3160: case 0b0001_110_011: 3161: case 0b0001_110_100: 3162: case 0b0001_110_101: 3163: case 0b0001_110_110: 3164: case 0b0001_111_010: 3165: case 0b0001_111_011: 3166: case 0b0001_111_100: 3167: case 0b0001_111_101: 3168: case 0b0001_111_110: return disMoveToMemByte (sb); 3169: 3170: //case 0b0001_010_111: 3171: //case 0b0001_011_111: 3172: //case 0b0001_100_111: 3173: //case 0b0001_101_111: 3174: //case 0b0001_110_111: 3175: //case 0b0001_111_111: 3176: 3177: //MOVE.L <ea>,Dq 012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_000_mmm_rrr 3178: case 0b0010_000_000: 3179: case 0b0010_001_000: 3180: case 0b0010_010_000: 3181: case 0b0010_011_000: 3182: case 0b0010_100_000: 3183: case 0b0010_101_000: 3184: case 0b0010_110_000: 3185: case 0b0010_111_000: return disMoveToRegLong (sb); 3186: 3187: //MOVEA.L <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|0010_qqq_001_mmm_rrr 3188: case 0b0010_000_001: 3189: case 0b0010_001_001: 3190: case 0b0010_010_001: 3191: case 0b0010_011_001: 3192: case 0b0010_100_001: 3193: case 0b0010_101_001: 3194: case 0b0010_110_001: 3195: case 0b0010_111_001: return disMoveaLong (sb); 3196: 3197: //MOVE.L <ea>,<nnnqqq> 012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_nnn_mmm_rrr (nnnqqq:M+-WXZ) 3198: case 0b0010_000_010: 3199: case 0b0010_000_011: 3200: case 0b0010_000_100: 3201: case 0b0010_000_101: 3202: case 0b0010_000_110: 3203: case 0b0010_000_111: 3204: case 0b0010_001_010: 3205: case 0b0010_001_011: 3206: case 0b0010_001_100: 3207: case 0b0010_001_101: 3208: case 0b0010_001_110: 3209: case 0b0010_001_111: 3210: case 0b0010_010_010: 3211: case 0b0010_010_011: 3212: case 0b0010_010_100: 3213: case 0b0010_010_101: 3214: case 0b0010_010_110: 3215: case 0b0010_011_010: 3216: case 0b0010_011_011: 3217: case 0b0010_011_100: 3218: case 0b0010_011_101: 3219: case 0b0010_011_110: 3220: case 0b0010_100_010: 3221: case 0b0010_100_011: 3222: case 0b0010_100_100: 3223: case 0b0010_100_101: 3224: case 0b0010_100_110: 3225: case 0b0010_101_010: 3226: case 0b0010_101_011: 3227: case 0b0010_101_100: 3228: case 0b0010_101_101: 3229: case 0b0010_101_110: 3230: case 0b0010_110_010: 3231: case 0b0010_110_011: 3232: case 0b0010_110_100: 3233: case 0b0010_110_101: 3234: case 0b0010_110_110: 3235: case 0b0010_111_010: 3236: case 0b0010_111_011: 3237: case 0b0010_111_100: 3238: case 0b0010_111_101: 3239: case 0b0010_111_110: return disMoveToMemLong (sb); 3240: 3241: //case 0b0010_010_111: 3242: //case 0b0010_011_111: 3243: //case 0b0010_100_111: 3244: //case 0b0010_101_111: 3245: //case 0b0010_110_111: 3246: //case 0b0010_111_111: 3247: 3248: //MOVE.W <ea>,Dq 012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_000_mmm_rrr 3249: case 0b0011_000_000: 3250: case 0b0011_001_000: 3251: case 0b0011_010_000: 3252: case 0b0011_011_000: 3253: case 0b0011_100_000: 3254: case 0b0011_101_000: 3255: case 0b0011_110_000: 3256: case 0b0011_111_000: return disMoveToRegWord (sb); 3257: 3258: //MOVEA.W <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|0011_qqq_001_mmm_rrr 3259: case 0b0011_000_001: 3260: case 0b0011_001_001: 3261: case 0b0011_010_001: 3262: case 0b0011_011_001: 3263: case 0b0011_100_001: 3264: case 0b0011_101_001: 3265: case 0b0011_110_001: 3266: case 0b0011_111_001: return disMoveaWord (sb); 3267: 3268: //MOVE.W <ea>,<nnnqqq> 012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_nnn_mmm_rrr (nnnqqq:M+-WXZ) 3269: case 0b0011_000_010: 3270: case 0b0011_000_011: 3271: case 0b0011_000_100: 3272: case 0b0011_000_101: 3273: case 0b0011_000_110: 3274: case 0b0011_000_111: 3275: case 0b0011_001_010: 3276: case 0b0011_001_011: 3277: case 0b0011_001_100: 3278: case 0b0011_001_101: 3279: case 0b0011_001_110: 3280: case 0b0011_001_111: 3281: case 0b0011_010_010: 3282: case 0b0011_010_011: 3283: case 0b0011_010_100: 3284: case 0b0011_010_101: 3285: case 0b0011_010_110: 3286: case 0b0011_011_010: 3287: case 0b0011_011_011: 3288: case 0b0011_011_100: 3289: case 0b0011_011_101: 3290: case 0b0011_011_110: 3291: case 0b0011_100_010: 3292: case 0b0011_100_011: 3293: case 0b0011_100_100: 3294: case 0b0011_100_101: 3295: case 0b0011_100_110: 3296: case 0b0011_101_010: 3297: case 0b0011_101_011: 3298: case 0b0011_101_100: 3299: case 0b0011_101_101: 3300: case 0b0011_101_110: 3301: case 0b0011_110_010: 3302: case 0b0011_110_011: 3303: case 0b0011_110_100: 3304: case 0b0011_110_101: 3305: case 0b0011_110_110: 3306: case 0b0011_111_010: 3307: case 0b0011_111_011: 3308: case 0b0011_111_100: 3309: case 0b0011_111_101: 3310: case 0b0011_111_110: return disMoveToMemWord (sb); 3311: 3312: //case 0b0011_010_111: 3313: //case 0b0011_011_111: 3314: //case 0b0011_100_111: 3315: //case 0b0011_101_111: 3316: //case 0b0011_110_111: 3317: //case 0b0011_111_111: 3318: 3319: //NEGX.B <ea> 012346|-|*UUUU|*****|D M+-WXZ |0100_000_000_mmm_rrr 3320: case 0b0100_000_000: return disNegxByte (sb); 3321: 3322: //NEGX.W <ea> 012346|-|*UUUU|*****|D M+-WXZ |0100_000_001_mmm_rrr 3323: case 0b0100_000_001: return disNegxWord (sb); 3324: 3325: //NEGX.L <ea> 012346|-|*UUUU|*****|D M+-WXZ |0100_000_010_mmm_rrr 3326: case 0b0100_000_010: return disNegxLong (sb); 3327: 3328: //STRLDSR.W #<data> ------|P|*****|*****| |0100_000_011_100_111-0100_011_011_111_100-{data} (ISA_C) 3329: //MOVE.W SR,<ea> 0-----|-|*****|-----|D M+-WXZ |0100_000_011_mmm_rrr (68000 and 68008 read before move) 3330: //MOVE.W SR,<ea> -12346|P|*****|-----|D M+-WXZ |0100_000_011_mmm_rrr 3331: case 0b0100_000_011: return disMoveFromSR (sb); 3332: 3333: //CLR.B <ea> 012346|-|-UUUU|-0100|D M+-WXZ |0100_001_000_mmm_rrr (68000 and 68008 read before clear) 3334: case 0b0100_001_000: return disClrByte (sb); 3335: 3336: //CLR.W <ea> 012346|-|-UUUU|-0100|D M+-WXZ |0100_001_001_mmm_rrr (68000 and 68008 read before clear) 3337: case 0b0100_001_001: return disClrWord (sb); 3338: 3339: //CLR.L <ea> 012346|-|-UUUU|-0100|D M+-WXZ |0100_001_010_mmm_rrr (68000 and 68008 read before clear) 3340: case 0b0100_001_010: return disClrLong (sb); 3341: 3342: //MOVE.W CCR,<ea> -12346|-|*****|-----|D M+-WXZ |0100_001_011_mmm_rrr 3343: case 0b0100_001_011: return disMoveFromCCR (sb); 3344: 3345: //NEG.B <ea> 012346|-|UUUUU|*****|D M+-WXZ |0100_010_000_mmm_rrr 3346: case 0b0100_010_000: return disNegByte (sb); 3347: 3348: //NEG.W <ea> 012346|-|UUUUU|*****|D M+-WXZ |0100_010_001_mmm_rrr 3349: case 0b0100_010_001: return disNegWord (sb); 3350: 3351: //NEG.L <ea> 012346|-|UUUUU|*****|D M+-WXZ |0100_010_010_mmm_rrr 3352: case 0b0100_010_010: return disNegLong (sb); 3353: 3354: //MOVE.W <ea>,CCR 012346|-|UUUUU|*****|D M+-WXZPI|0100_010_011_mmm_rrr 3355: case 0b0100_010_011: return disMoveToCCR (sb); 3356: 3357: //NOT.B <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_011_000_mmm_rrr 3358: case 0b0100_011_000: return disNotByte (sb); 3359: 3360: //NOT.W <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_011_001_mmm_rrr 3361: case 0b0100_011_001: return disNotWord (sb); 3362: 3363: //NOT.L <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_011_010_mmm_rrr 3364: case 0b0100_011_010: return disNotLong (sb); 3365: 3366: //MOVE.W <ea>,SR 012346|P|UUUUU|*****|D M+-WXZPI|0100_011_011_mmm_rrr 3367: case 0b0100_011_011: return disMoveToSR (sb); 3368: 3369: //LINK.L Ar,#<data> --2346|-|-----|-----| |0100_100_000_001_rrr-{data} 3370: //NBCD.B <ea> 012346|-|UUUUU|*U*U*|D M+-WXZ |0100_100_000_mmm_rrr 3371: case 0b0100_100_000: return disNbcd (sb); 3372: 3373: //SWAP.W Dr 012346|-|-UUUU|-**00| |0100_100_001_000_rrr 3374: //BKPT #<data> -12346|-|-----|-----| |0100_100_001_001_ddd 3375: //PEA.L <ea> 012346|-|-----|-----| M WXZP |0100_100_001_mmm_rrr 3376: case 0b0100_100_001: return disPea (sb); 3377: 3378: //EXT.W Dr 012346|-|-UUUU|-**00| |0100_100_010_000_rrr 3379: //MOVEM.W <list>,<ea> 012346|-|-----|-----| M -WXZ |0100_100_010_mmm_rrr-llllllllllllllll 3380: case 0b0100_100_010: return disMovemToMemWord (sb); 3381: 3382: //EXT.L Dr 012346|-|-UUUU|-**00| |0100_100_011_000_rrr 3383: //MOVEM.L <list>,<ea> 012346|-|-----|-----| M -WXZ |0100_100_011_mmm_rrr-llllllllllllllll 3384: case 0b0100_100_011: return disMovemToMemLong (sb); 3385: 3386: //TST.B <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_000_mmm_rrr 3387: //TST.B <ea> --2346|-|-UUUU|-**00| PI|0100_101_000_mmm_rrr 3388: case 0b0100_101_000: return disTstByte (sb); 3389: 3390: //TST.W <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_001_mmm_rrr 3391: //TST.W <ea> --2346|-|-UUUU|-**00| A PI|0100_101_001_mmm_rrr 3392: case 0b0100_101_001: return disTstWord (sb); 3393: 3394: //TST.L <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_010_mmm_rrr 3395: //TST.L <ea> --2346|-|-UUUU|-**00| A PI|0100_101_010_mmm_rrr 3396: case 0b0100_101_010: return disTstLong (sb); 3397: 3398: //HALT ------|P|-----|-----| |0100_101_011_001_000 (ISA_A) 3399: //PULSE ------|-|-----|-----| |0100_101_011_001_100 (ISA_A) 3400: //ILLEGAL 012346|-|-----|-----| |0100_101_011_111_100 3401: //TAS.B <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_011_mmm_rrr 3402: case 0b0100_101_011: return disTas (sb); 3403: 3404: //MULU.L <ea>,Dl --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_000_000_000_hhh (h is not used) 3405: //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) 3406: //MULS.L <ea>,Dl --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_100_000_000_hhh (h is not used) 3407: //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) 3408: case 0b0100_110_000: return disMuluMulsLong (sb); 3409: 3410: //DIVU.L <ea>,Dq --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_000_000_000_qqq 3411: //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) 3412: //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) 3413: //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) 3414: //DIVS.L <ea>,Dq --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_100_000_000_qqq 3415: //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) 3416: //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) 3417: //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) 3418: case 0b0100_110_001: return disDivuDivsLong (sb); 3419: 3420: //SATS.L Dr ------|-|-UUUU|-**00| |0100_110_010_000_rrr (ISA_B) 3421: //MOVEM.W <ea>,<list> 012346|-|-----|-----| M+ WXZP |0100_110_010_mmm_rrr-llllllllllllllll 3422: case 0b0100_110_010: return disMovemToRegWord (sb); 3423: 3424: //MOVEM.L <ea>,<list> 012346|-|-----|-----| M+ WXZP |0100_110_011_mmm_rrr-llllllllllllllll 3425: case 0b0100_110_011: return disMovemToRegLong (sb); 3426: 3427: //HFSBOOT 012346|-|-----|-----| |0100_111_000_000_000 3428: //HFSINST 012346|-|-----|-----| |0100_111_000_000_001 3429: //HFSSTR 012346|-|-----|-----| |0100_111_000_000_010 3430: //HFSINT 012346|-|-----|-----| |0100_111_000_000_011 3431: //EMXNOP 012346|-|-----|-----| |0100_111_000_000_100 3432: case 0b0100_111_000: return disEmx (sb); 3433: 3434: //TRAP #<vector> 012346|-|-----|-----| |0100_111_001_00v_vvv 3435: //LINK.W Ar,#<data> 012346|-|-----|-----| |0100_111_001_010_rrr-{data} 3436: //UNLK Ar 012346|-|-----|-----| |0100_111_001_011_rrr 3437: //MOVE.L Ar,USP 012346|P|-----|-----| |0100_111_001_100_rrr 3438: //MOVE.L USP,Ar 012346|P|-----|-----| |0100_111_001_101_rrr 3439: //RESET 012346|P|-----|-----| |0100_111_001_110_000 3440: //NOP 012346|-|-----|-----| |0100_111_001_110_001 3441: //STOP #<data> 012346|P|UUUUU|*****| |0100_111_001_110_010-{data} 3442: //RTE 012346|P|UUUUU|*****| |0100_111_001_110_011 3443: //RTD #<data> -12346|-|-----|-----| |0100_111_001_110_100-{data} 3444: //RTS 012346|-|-----|-----| |0100_111_001_110_101 3445: //TRAPV 012346|-|---*-|-----| |0100_111_001_110_110 3446: //RTR 012346|-|UUUUU|*****| |0100_111_001_110_111 3447: //MOVEC.L Rc,Rn -12346|P|-----|-----| |0100_111_001_111_010-rnnn_ccc_ccc_ccc_ccc 3448: //MOVEC.L Rn,Rc -12346|P|-----|-----| |0100_111_001_111_011-rnnn_ccc_ccc_ccc_ccc 3449: case 0b0100_111_001: return disMisc (sb); 3450: 3451: //JSR <ea> 012346|-|-----|-----| M WXZP |0100_111_010_mmm_rrr 3452: case 0b0100_111_010: return disJsr (sb); 3453: 3454: //JMP <ea> 012346|-|-----|-----| M WXZP |0100_111_011_mmm_rrr 3455: case 0b0100_111_011: return disJmp (sb); 3456: 3457: //CHK.L <ea>,Dq --2346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_100_mmm_rrr 3458: case 0b0100_000_100: 3459: case 0b0100_001_100: 3460: case 0b0100_010_100: 3461: case 0b0100_011_100: 3462: case 0b0100_100_100: 3463: case 0b0100_101_100: 3464: case 0b0100_110_100: 3465: case 0b0100_111_100: return disChkLong (sb); 3466: 3467: //case 0b0100_000_101: 3468: //case 0b0100_001_101: 3469: //case 0b0100_010_101: 3470: //case 0b0100_011_101: 3471: //case 0b0100_100_101: 3472: //case 0b0100_101_101: 3473: //case 0b0100_110_101: 3474: //case 0b0100_111_101: 3475: 3476: //CHK.W <ea>,Dq 012346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_110_mmm_rrr 3477: case 0b0100_000_110: 3478: case 0b0100_001_110: 3479: case 0b0100_010_110: 3480: case 0b0100_011_110: 3481: case 0b0100_100_110: 3482: case 0b0100_101_110: 3483: case 0b0100_110_110: 3484: case 0b0100_111_110: return disChkWord (sb); 3485: 3486: //EXTB.L Dr --2346|-|-UUUU|-**00| |0100_100_111_000_rrr 3487: //LEA.L <ea>,Aq 012346|-|-----|-----| M WXZP |0100_qqq_111_mmm_rrr 3488: case 0b0100_000_111: 3489: case 0b0100_001_111: 3490: case 0b0100_010_111: 3491: case 0b0100_011_111: 3492: case 0b0100_100_111: 3493: case 0b0100_101_111: 3494: case 0b0100_110_111: 3495: case 0b0100_111_111: return disLea (sb); 3496: 3497: //ADDQ.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_000_mmm_rrr 3498: case 0b0101_000_000: 3499: case 0b0101_001_000: 3500: case 0b0101_010_000: 3501: case 0b0101_011_000: 3502: case 0b0101_100_000: 3503: case 0b0101_101_000: 3504: case 0b0101_110_000: 3505: case 0b0101_111_000: return disAddqByte (sb); 3506: 3507: //ADDQ.W #<data>,Ar 012346|-|-----|-----| A |0101_qqq_001_001_rrr 3508: //ADDQ.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_001_mmm_rrr 3509: case 0b0101_000_001: 3510: case 0b0101_001_001: 3511: case 0b0101_010_001: 3512: case 0b0101_011_001: 3513: case 0b0101_100_001: 3514: case 0b0101_101_001: 3515: case 0b0101_110_001: 3516: case 0b0101_111_001: return disAddqWord (sb); 3517: 3518: //ADDQ.L #<data>,Ar 012346|-|-----|-----| A |0101_qqq_010_001_rrr 3519: //ADDQ.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_010_mmm_rrr 3520: case 0b0101_000_010: 3521: case 0b0101_001_010: 3522: case 0b0101_010_010: 3523: case 0b0101_011_010: 3524: case 0b0101_100_010: 3525: case 0b0101_101_010: 3526: case 0b0101_110_010: 3527: case 0b0101_111_010: return disAddqLong (sb); 3528: 3529: //SUBQ.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_100_mmm_rrr 3530: case 0b0101_000_100: 3531: case 0b0101_001_100: 3532: case 0b0101_010_100: 3533: case 0b0101_011_100: 3534: case 0b0101_100_100: 3535: case 0b0101_101_100: 3536: case 0b0101_110_100: 3537: case 0b0101_111_100: return disSubqByte (sb); 3538: 3539: //SUBQ.W #<data>,Ar 012346|-|-----|-----| A |0101_qqq_101_001_rrr 3540: //SUBQ.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_101_mmm_rrr 3541: case 0b0101_000_101: 3542: case 0b0101_001_101: 3543: case 0b0101_010_101: 3544: case 0b0101_011_101: 3545: case 0b0101_100_101: 3546: case 0b0101_101_101: 3547: case 0b0101_110_101: 3548: case 0b0101_111_101: return disSubqWord (sb); 3549: 3550: //SUBQ.L #<data>,Ar 012346|-|-----|-----| A |0101_qqq_110_001_rrr 3551: //SUBQ.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_110_mmm_rrr 3552: case 0b0101_000_110: 3553: case 0b0101_001_110: 3554: case 0b0101_010_110: 3555: case 0b0101_011_110: 3556: case 0b0101_100_110: 3557: case 0b0101_101_110: 3558: case 0b0101_110_110: 3559: case 0b0101_111_110: return disSubqLong (sb); 3560: 3561: //DBRA.W Dr,<label> 012346|-|-----|-----| |0101_000_111_001_rrr-{offset} 3562: //DBcc.W Dr,<label> 012346|-|-****|-----| |0101_ccc_c11_001_rrr-{offset} 3563: //TRAPcc.W #<data> --2346|-|-****|-----| |0101_ccc_c11_111_010-{data} 3564: //TRAPcc.L #<data> --2346|-|-****|-----| |0101_ccc_c11_111_011-{data} 3565: //TRAPcc --2346|-|-****|-----| |0101_ccc_c11_111_100 3566: //Scc.B <ea> 012346|-|-****|-----|D M+-WXZ |0101_ccc_c11_mmm_rrr 3567: case 0b0101_000_011: 3568: case 0b0101_000_111: 3569: case 0b0101_001_011: 3570: case 0b0101_001_111: 3571: case 0b0101_010_011: 3572: case 0b0101_010_111: 3573: case 0b0101_011_011: 3574: case 0b0101_011_111: 3575: case 0b0101_100_011: 3576: case 0b0101_100_111: 3577: case 0b0101_101_011: 3578: case 0b0101_101_111: 3579: case 0b0101_110_011: 3580: case 0b0101_110_111: 3581: case 0b0101_111_011: 3582: case 0b0101_111_111: return disScc (sb); 3583: 3584: //BRA.W <label> 012346|-|-----|-----| |0110_000_000_000_000-{offset} 3585: //BRA.L <label> --2346|-|-----|-----| |0110_000_011_111_111-{offset} 3586: //BRA.S <label> 012346|-|-----|-----| |0110_000_0aa_aaa_aaa (a is not equal to 0,-1) 3587: case 0b0110_000_000: 3588: case 0b0110_000_001: 3589: case 0b0110_000_010: 3590: case 0b0110_000_011: return disBra (sb); 3591: 3592: //BSR.W <label> 012346|-|-----|-----| |0110_000_100_000_000-{offset} 3593: //BSR.L <label> --2346|-|-----|-----| |0110_000_111_111_111-{offset} 3594: //BSR.S <label> 012346|-|-----|-----| |0110_000_1aa_aaa_aaa (a is not equal to 0,-1) 3595: case 0b0110_000_100: 3596: case 0b0110_000_101: 3597: case 0b0110_000_110: 3598: case 0b0110_000_111: return disBsr (sb); 3599: 3600: //Bcc.W <label> 012346|-|-****|-----| |0110_ccc_c00_000_000-{offset} 3601: //Bcc.L <label> --2346|-|-****|-----| |0110_ccc_c11_111_111-{offset} 3602: //Bcc.S <label> 012346|-|-****|-----| |0110_ccc_caa_aaa_aaa (a is not equal to 0,-1) 3603: case 0b0110_001_000: 3604: case 0b0110_001_001: 3605: case 0b0110_001_010: 3606: case 0b0110_001_011: 3607: case 0b0110_001_100: 3608: case 0b0110_001_101: 3609: case 0b0110_001_110: 3610: case 0b0110_001_111: 3611: case 0b0110_010_000: 3612: case 0b0110_010_001: 3613: case 0b0110_010_010: 3614: case 0b0110_010_011: 3615: case 0b0110_010_100: 3616: case 0b0110_010_101: 3617: case 0b0110_010_110: 3618: case 0b0110_010_111: 3619: case 0b0110_011_000: 3620: case 0b0110_011_001: 3621: case 0b0110_011_010: 3622: case 0b0110_011_011: 3623: case 0b0110_011_100: 3624: case 0b0110_011_101: 3625: case 0b0110_011_110: 3626: case 0b0110_011_111: 3627: case 0b0110_100_000: 3628: case 0b0110_100_001: 3629: case 0b0110_100_010: 3630: case 0b0110_100_011: 3631: case 0b0110_100_100: 3632: case 0b0110_100_101: 3633: case 0b0110_100_110: 3634: case 0b0110_100_111: 3635: case 0b0110_101_000: 3636: case 0b0110_101_001: 3637: case 0b0110_101_010: 3638: case 0b0110_101_011: 3639: case 0b0110_101_100: 3640: case 0b0110_101_101: 3641: case 0b0110_101_110: 3642: case 0b0110_101_111: 3643: case 0b0110_110_000: 3644: case 0b0110_110_001: 3645: case 0b0110_110_010: 3646: case 0b0110_110_011: 3647: case 0b0110_110_100: 3648: case 0b0110_110_101: 3649: case 0b0110_110_110: 3650: case 0b0110_110_111: 3651: case 0b0110_111_000: 3652: case 0b0110_111_001: 3653: case 0b0110_111_010: 3654: case 0b0110_111_011: 3655: case 0b0110_111_100: 3656: case 0b0110_111_101: 3657: case 0b0110_111_110: 3658: case 0b0110_111_111: return disBcc (sb); 3659: 3660: //IOCS <name> 012346|-|-UUUU|-**00| |0111_000_0dd_ddd_ddd-0100_111_001_001_111 3661: //MOVEQ.L #<data>,Dq 012346|-|-UUUU|-**00| |0111_qqq_0dd_ddd_ddd 3662: case 0b0111_000_000: 3663: case 0b0111_000_001: 3664: case 0b0111_000_010: 3665: case 0b0111_000_011: 3666: case 0b0111_001_000: 3667: case 0b0111_001_001: 3668: case 0b0111_001_010: 3669: case 0b0111_001_011: 3670: case 0b0111_010_000: 3671: case 0b0111_010_001: 3672: case 0b0111_010_010: 3673: case 0b0111_010_011: 3674: case 0b0111_011_000: 3675: case 0b0111_011_001: 3676: case 0b0111_011_010: 3677: case 0b0111_011_011: 3678: case 0b0111_100_000: 3679: case 0b0111_100_001: 3680: case 0b0111_100_010: 3681: case 0b0111_100_011: 3682: case 0b0111_101_000: 3683: case 0b0111_101_001: 3684: case 0b0111_101_010: 3685: case 0b0111_101_011: 3686: case 0b0111_110_000: 3687: case 0b0111_110_001: 3688: case 0b0111_110_010: 3689: case 0b0111_110_011: 3690: case 0b0111_111_000: 3691: case 0b0111_111_001: 3692: case 0b0111_111_010: 3693: case 0b0111_111_011: return disMoveq (sb); 3694: 3695: //MVS.B <ea>,Dq ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_100_mmm_rrr (ISA_B) 3696: case 0b0111_000_100: 3697: case 0b0111_001_100: 3698: case 0b0111_010_100: 3699: case 0b0111_011_100: 3700: case 0b0111_100_100: 3701: case 0b0111_101_100: 3702: case 0b0111_110_100: 3703: case 0b0111_111_100: return disMvsByte (sb); 3704: 3705: //MVS.W <ea>,Dq ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_101_mmm_rrr (ISA_B) 3706: case 0b0111_000_101: 3707: case 0b0111_001_101: 3708: case 0b0111_010_101: 3709: case 0b0111_011_101: 3710: case 0b0111_100_101: 3711: case 0b0111_101_101: 3712: case 0b0111_110_101: 3713: case 0b0111_111_101: return disMvsWord (sb); 3714: 3715: //MVZ.B <ea>,Dq ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_110_mmm_rrr (ISA_B) 3716: case 0b0111_000_110: 3717: case 0b0111_001_110: 3718: case 0b0111_010_110: 3719: case 0b0111_011_110: 3720: case 0b0111_100_110: 3721: case 0b0111_101_110: 3722: case 0b0111_110_110: 3723: case 0b0111_111_110: return disMvzByte (sb); 3724: 3725: //MVZ.W <ea>,Dq ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_111_mmm_rrr (ISA_B) 3726: case 0b0111_000_111: 3727: case 0b0111_001_111: 3728: case 0b0111_010_111: 3729: case 0b0111_011_111: 3730: case 0b0111_100_111: 3731: case 0b0111_101_111: 3732: case 0b0111_110_111: 3733: case 0b0111_111_111: return disMvzWord (sb); 3734: 3735: //OR.B <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_000_mmm_rrr 3736: case 0b1000_000_000: 3737: case 0b1000_001_000: 3738: case 0b1000_010_000: 3739: case 0b1000_011_000: 3740: case 0b1000_100_000: 3741: case 0b1000_101_000: 3742: case 0b1000_110_000: 3743: case 0b1000_111_000: return disOrToRegByte (sb); 3744: 3745: //OR.W <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_001_mmm_rrr 3746: case 0b1000_000_001: 3747: case 0b1000_001_001: 3748: case 0b1000_010_001: 3749: case 0b1000_011_001: 3750: case 0b1000_100_001: 3751: case 0b1000_101_001: 3752: case 0b1000_110_001: 3753: case 0b1000_111_001: return disOrToRegWord (sb); 3754: 3755: //OR.L <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_010_mmm_rrr 3756: case 0b1000_000_010: 3757: case 0b1000_001_010: 3758: case 0b1000_010_010: 3759: case 0b1000_011_010: 3760: case 0b1000_100_010: 3761: case 0b1000_101_010: 3762: case 0b1000_110_010: 3763: case 0b1000_111_010: return disOrToRegLong (sb); 3764: 3765: //DIVU.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_011_mmm_rrr 3766: case 0b1000_000_011: 3767: case 0b1000_001_011: 3768: case 0b1000_010_011: 3769: case 0b1000_011_011: 3770: case 0b1000_100_011: 3771: case 0b1000_101_011: 3772: case 0b1000_110_011: 3773: case 0b1000_111_011: return disDivuWord (sb); 3774: 3775: //SBCD.B Dr,Dq 012346|-|UUUUU|*U*U*| |1000_qqq_100_000_rrr 3776: //SBCD.B -(Ar),-(Aq) 012346|-|UUUUU|*U*U*| |1000_qqq_100_001_rrr 3777: //OR.B Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1000_qqq_100_mmm_rrr 3778: case 0b1000_000_100: 3779: case 0b1000_001_100: 3780: case 0b1000_010_100: 3781: case 0b1000_011_100: 3782: case 0b1000_100_100: 3783: case 0b1000_101_100: 3784: case 0b1000_110_100: 3785: case 0b1000_111_100: return disOrToMemByte (sb); 3786: 3787: //PACK Dr,Dq,#<data> --2346|-|-----|-----| |1000_qqq_101_000_rrr-{data} 3788: //PACK -(Ar),-(Aq),#<data> --2346|-|-----|-----| |1000_qqq_101_001_rrr-{data} 3789: //OR.W Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1000_qqq_101_mmm_rrr 3790: case 0b1000_000_101: 3791: case 0b1000_001_101: 3792: case 0b1000_010_101: 3793: case 0b1000_011_101: 3794: case 0b1000_100_101: 3795: case 0b1000_101_101: 3796: case 0b1000_110_101: 3797: case 0b1000_111_101: return disOrToMemWord (sb); 3798: 3799: //UNPK Dr,Dq,#<data> --2346|-|-----|-----| |1000_qqq_110_000_rrr-{data} 3800: //UNPK -(Ar),-(Aq),#<data> --2346|-|-----|-----| |1000_qqq_110_001_rrr-{data} 3801: //OR.L Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1000_qqq_110_mmm_rrr 3802: case 0b1000_000_110: 3803: case 0b1000_001_110: 3804: case 0b1000_010_110: 3805: case 0b1000_011_110: 3806: case 0b1000_100_110: 3807: case 0b1000_101_110: 3808: case 0b1000_110_110: 3809: case 0b1000_111_110: return disOrToMemLong (sb); 3810: 3811: //DIVS.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_111_mmm_rrr 3812: case 0b1000_000_111: 3813: case 0b1000_001_111: 3814: case 0b1000_010_111: 3815: case 0b1000_011_111: 3816: case 0b1000_100_111: 3817: case 0b1000_101_111: 3818: case 0b1000_110_111: 3819: case 0b1000_111_111: return disDivsWord (sb); 3820: 3821: //SUB.B <ea>,Dq 012346|-|UUUUU|*****|D M+-WXZPI|1001_qqq_000_mmm_rrr 3822: case 0b1001_000_000: 3823: case 0b1001_001_000: 3824: case 0b1001_010_000: 3825: case 0b1001_011_000: 3826: case 0b1001_100_000: 3827: case 0b1001_101_000: 3828: case 0b1001_110_000: 3829: case 0b1001_111_000: return disSubToRegByte (sb); 3830: 3831: //SUB.W <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_001_mmm_rrr 3832: case 0b1001_000_001: 3833: case 0b1001_001_001: 3834: case 0b1001_010_001: 3835: case 0b1001_011_001: 3836: case 0b1001_100_001: 3837: case 0b1001_101_001: 3838: case 0b1001_110_001: 3839: case 0b1001_111_001: return disSubToRegWord (sb); 3840: 3841: //SUB.L <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_010_mmm_rrr 3842: case 0b1001_000_010: 3843: case 0b1001_001_010: 3844: case 0b1001_010_010: 3845: case 0b1001_011_010: 3846: case 0b1001_100_010: 3847: case 0b1001_101_010: 3848: case 0b1001_110_010: 3849: case 0b1001_111_010: return disSubToRegLong (sb); 3850: 3851: //SUBA.W <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1001_qqq_011_mmm_rrr 3852: case 0b1001_000_011: 3853: case 0b1001_001_011: 3854: case 0b1001_010_011: 3855: case 0b1001_011_011: 3856: case 0b1001_100_011: 3857: case 0b1001_101_011: 3858: case 0b1001_110_011: 3859: case 0b1001_111_011: return disSubaWord (sb); 3860: 3861: //SUBX.B Dr,Dq 012346|-|*UUUU|*****| |1001_qqq_100_000_rrr 3862: //SUBX.B -(Ar),-(Aq) 012346|-|*UUUU|*****| |1001_qqq_100_001_rrr 3863: //SUB.B Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1001_qqq_100_mmm_rrr 3864: case 0b1001_000_100: 3865: case 0b1001_001_100: 3866: case 0b1001_010_100: 3867: case 0b1001_011_100: 3868: case 0b1001_100_100: 3869: case 0b1001_101_100: 3870: case 0b1001_110_100: 3871: case 0b1001_111_100: return disSubToMemByte (sb); 3872: 3873: //SUBX.W Dr,Dq 012346|-|*UUUU|*****| |1001_qqq_101_000_rrr 3874: //SUBX.W -(Ar),-(Aq) 012346|-|*UUUU|*****| |1001_qqq_101_001_rrr 3875: //SUB.W Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1001_qqq_101_mmm_rrr 3876: case 0b1001_000_101: 3877: case 0b1001_001_101: 3878: case 0b1001_010_101: 3879: case 0b1001_011_101: 3880: case 0b1001_100_101: 3881: case 0b1001_101_101: 3882: case 0b1001_110_101: 3883: case 0b1001_111_101: return disSubToMemWord (sb); 3884: 3885: //SUBX.L Dr,Dq 012346|-|*UUUU|*****| |1001_qqq_110_000_rrr 3886: //SUBX.L -(Ar),-(Aq) 012346|-|*UUUU|*****| |1001_qqq_110_001_rrr 3887: //SUB.L Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1001_qqq_110_mmm_rrr 3888: case 0b1001_000_110: 3889: case 0b1001_001_110: 3890: case 0b1001_010_110: 3891: case 0b1001_011_110: 3892: case 0b1001_100_110: 3893: case 0b1001_101_110: 3894: case 0b1001_110_110: 3895: case 0b1001_111_110: return disSubToMemLong (sb); 3896: 3897: //SUBA.L <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1001_qqq_111_mmm_rrr 3898: case 0b1001_000_111: 3899: case 0b1001_001_111: 3900: case 0b1001_010_111: 3901: case 0b1001_011_111: 3902: case 0b1001_100_111: 3903: case 0b1001_101_111: 3904: case 0b1001_110_111: 3905: case 0b1001_111_111: return disSubaLong (sb); 3906: 3907: //MOV3Q.L #<data>,<ea> ------|-|-UUUU|-**00|DAM+-WXZ |1010_qqq_101_mmm_rrr (ISA_B) 3908: //SXCALL <name> 012346|-|-----|-----| |1010_xxx_xxx_xxx_xxx 3909: //line 1010 emulator 012346|-|-----|-----| |1010_xxx_xxx_xxx_xxx 3910: case 0b1010_000_000: 3911: case 0b1010_000_001: 3912: case 0b1010_000_010: 3913: case 0b1010_000_011: 3914: case 0b1010_000_100: 3915: case 0b1010_000_101: 3916: case 0b1010_000_110: 3917: case 0b1010_000_111: 3918: case 0b1010_001_000: 3919: case 0b1010_001_001: 3920: case 0b1010_001_010: 3921: case 0b1010_001_011: 3922: case 0b1010_001_100: 3923: case 0b1010_001_101: 3924: case 0b1010_001_110: 3925: case 0b1010_001_111: 3926: case 0b1010_010_000: 3927: case 0b1010_010_001: 3928: case 0b1010_010_010: 3929: case 0b1010_010_011: 3930: case 0b1010_010_100: 3931: case 0b1010_010_101: 3932: case 0b1010_010_110: 3933: case 0b1010_010_111: 3934: case 0b1010_011_000: 3935: case 0b1010_011_001: 3936: case 0b1010_011_010: 3937: case 0b1010_011_011: 3938: case 0b1010_011_100: 3939: case 0b1010_011_101: 3940: case 0b1010_011_110: 3941: case 0b1010_011_111: 3942: case 0b1010_100_000: 3943: case 0b1010_100_001: 3944: case 0b1010_100_010: 3945: case 0b1010_100_011: 3946: case 0b1010_100_100: 3947: case 0b1010_100_101: 3948: case 0b1010_100_110: 3949: case 0b1010_100_111: 3950: case 0b1010_101_000: 3951: case 0b1010_101_001: 3952: case 0b1010_101_010: 3953: case 0b1010_101_011: 3954: case 0b1010_101_100: 3955: case 0b1010_101_101: 3956: case 0b1010_101_110: 3957: case 0b1010_101_111: 3958: case 0b1010_110_000: 3959: case 0b1010_110_001: 3960: case 0b1010_110_010: 3961: case 0b1010_110_011: 3962: case 0b1010_110_100: 3963: case 0b1010_110_101: 3964: case 0b1010_110_110: 3965: case 0b1010_110_111: 3966: case 0b1010_111_000: 3967: case 0b1010_111_001: 3968: case 0b1010_111_010: 3969: case 0b1010_111_011: 3970: case 0b1010_111_100: 3971: case 0b1010_111_101: 3972: case 0b1010_111_110: 3973: case 0b1010_111_111: return disSxcall (sb); 3974: 3975: //CMP.B <ea>,Dq 012346|-|-UUUU|-****|D M+-WXZPI|1011_qqq_000_mmm_rrr 3976: case 0b1011_000_000: 3977: case 0b1011_001_000: 3978: case 0b1011_010_000: 3979: case 0b1011_011_000: 3980: case 0b1011_100_000: 3981: case 0b1011_101_000: 3982: case 0b1011_110_000: 3983: case 0b1011_111_000: return disCmpByte (sb); 3984: 3985: //CMP.W <ea>,Dq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_001_mmm_rrr 3986: case 0b1011_000_001: 3987: case 0b1011_001_001: 3988: case 0b1011_010_001: 3989: case 0b1011_011_001: 3990: case 0b1011_100_001: 3991: case 0b1011_101_001: 3992: case 0b1011_110_001: 3993: case 0b1011_111_001: return disCmpWord (sb); 3994: 3995: //CMP.L <ea>,Dq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_010_mmm_rrr 3996: case 0b1011_000_010: 3997: case 0b1011_001_010: 3998: case 0b1011_010_010: 3999: case 0b1011_011_010: 4000: case 0b1011_100_010: 4001: case 0b1011_101_010: 4002: case 0b1011_110_010: 4003: case 0b1011_111_010: return disCmpLong (sb); 4004: 4005: //CMPA.W <ea>,Aq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_011_mmm_rrr 4006: case 0b1011_000_011: 4007: case 0b1011_001_011: 4008: case 0b1011_010_011: 4009: case 0b1011_011_011: 4010: case 0b1011_100_011: 4011: case 0b1011_101_011: 4012: case 0b1011_110_011: 4013: case 0b1011_111_011: return disCmpaWord (sb); 4014: 4015: //CMPM.B (Ar)+,(Aq)+ 012346|-|-UUUU|-****| |1011_qqq_100_001_rrr 4016: //EOR.B Dq,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |1011_qqq_100_mmm_rrr 4017: case 0b1011_000_100: 4018: case 0b1011_001_100: 4019: case 0b1011_010_100: 4020: case 0b1011_011_100: 4021: case 0b1011_100_100: 4022: case 0b1011_101_100: 4023: case 0b1011_110_100: 4024: case 0b1011_111_100: return disEorToMemByte (sb); 4025: 4026: //CMPM.W (Ar)+,(Aq)+ 012346|-|-UUUU|-****| |1011_qqq_101_001_rrr 4027: //EOR.W Dq,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |1011_qqq_101_mmm_rrr 4028: case 0b1011_000_101: 4029: case 0b1011_001_101: 4030: case 0b1011_010_101: 4031: case 0b1011_011_101: 4032: case 0b1011_100_101: 4033: case 0b1011_101_101: 4034: case 0b1011_110_101: 4035: case 0b1011_111_101: return disEorToMemWord (sb); 4036: 4037: //CMPM.L (Ar)+,(Aq)+ 012346|-|-UUUU|-****| |1011_qqq_110_001_rrr 4038: //EOR.L Dq,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |1011_qqq_110_mmm_rrr 4039: case 0b1011_000_110: 4040: case 0b1011_001_110: 4041: case 0b1011_010_110: 4042: case 0b1011_011_110: 4043: case 0b1011_100_110: 4044: case 0b1011_101_110: 4045: case 0b1011_110_110: 4046: case 0b1011_111_110: return disEorToMemLong (sb); 4047: 4048: //CMPA.L <ea>,Aq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_111_mmm_rrr 4049: case 0b1011_000_111: 4050: case 0b1011_001_111: 4051: case 0b1011_010_111: 4052: case 0b1011_011_111: 4053: case 0b1011_100_111: 4054: case 0b1011_101_111: 4055: case 0b1011_110_111: 4056: case 0b1011_111_111: return disCmpaLong (sb); 4057: 4058: //AND.B <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_000_mmm_rrr 4059: case 0b1100_000_000: 4060: case 0b1100_001_000: 4061: case 0b1100_010_000: 4062: case 0b1100_011_000: 4063: case 0b1100_100_000: 4064: case 0b1100_101_000: 4065: case 0b1100_110_000: 4066: case 0b1100_111_000: return disAndToRegByte (sb); 4067: 4068: //AND.W <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_001_mmm_rrr 4069: case 0b1100_000_001: 4070: case 0b1100_001_001: 4071: case 0b1100_010_001: 4072: case 0b1100_011_001: 4073: case 0b1100_100_001: 4074: case 0b1100_101_001: 4075: case 0b1100_110_001: 4076: case 0b1100_111_001: return disAndToRegWord (sb); 4077: 4078: //AND.L <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_010_mmm_rrr 4079: case 0b1100_000_010: 4080: case 0b1100_001_010: 4081: case 0b1100_010_010: 4082: case 0b1100_011_010: 4083: case 0b1100_100_010: 4084: case 0b1100_101_010: 4085: case 0b1100_110_010: 4086: case 0b1100_111_010: return disAndToRegLong (sb); 4087: 4088: //MULU.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_011_mmm_rrr 4089: case 0b1100_000_011: 4090: case 0b1100_001_011: 4091: case 0b1100_010_011: 4092: case 0b1100_011_011: 4093: case 0b1100_100_011: 4094: case 0b1100_101_011: 4095: case 0b1100_110_011: 4096: case 0b1100_111_011: return disMuluWord (sb); 4097: 4098: //ABCD.B Dr,Dq 012346|-|UUUUU|*U*U*| |1100_qqq_100_000_rrr 4099: //ABCD.B -(Ar),-(Aq) 012346|-|UUUUU|*U*U*| |1100_qqq_100_001_rrr 4100: //AND.B Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1100_qqq_100_mmm_rrr 4101: case 0b1100_000_100: 4102: case 0b1100_001_100: 4103: case 0b1100_010_100: 4104: case 0b1100_011_100: 4105: case 0b1100_100_100: 4106: case 0b1100_101_100: 4107: case 0b1100_110_100: 4108: case 0b1100_111_100: return disAndToMemByte (sb); 4109: 4110: //EXG.L Dq,Dr 012346|-|-----|-----| |1100_qqq_101_000_rrr 4111: //EXG.L Aq,Ar 012346|-|-----|-----| |1100_qqq_101_001_rrr 4112: //AND.W Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1100_qqq_101_mmm_rrr 4113: case 0b1100_000_101: 4114: case 0b1100_001_101: 4115: case 0b1100_010_101: 4116: case 0b1100_011_101: 4117: case 0b1100_100_101: 4118: case 0b1100_101_101: 4119: case 0b1100_110_101: 4120: case 0b1100_111_101: return disAndToMemWord (sb); 4121: 4122: //EXG.L Dq,Ar 012346|-|-----|-----| |1100_qqq_110_001_rrr 4123: //AND.L Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1100_qqq_110_mmm_rrr 4124: case 0b1100_000_110: 4125: case 0b1100_001_110: 4126: case 0b1100_010_110: 4127: case 0b1100_011_110: 4128: case 0b1100_100_110: 4129: case 0b1100_101_110: 4130: case 0b1100_110_110: 4131: case 0b1100_111_110: return disAndToMemLong (sb); 4132: 4133: //MULS.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_111_mmm_rrr 4134: case 0b1100_000_111: 4135: case 0b1100_001_111: 4136: case 0b1100_010_111: 4137: case 0b1100_011_111: 4138: case 0b1100_100_111: 4139: case 0b1100_101_111: 4140: case 0b1100_110_111: 4141: case 0b1100_111_111: return disMulsWord (sb); 4142: 4143: //ADD.B <ea>,Dq 012346|-|UUUUU|*****|D M+-WXZPI|1101_qqq_000_mmm_rrr 4144: case 0b1101_000_000: 4145: case 0b1101_001_000: 4146: case 0b1101_010_000: 4147: case 0b1101_011_000: 4148: case 0b1101_100_000: 4149: case 0b1101_101_000: 4150: case 0b1101_110_000: 4151: case 0b1101_111_000: return disAddToRegByte (sb); 4152: 4153: //ADD.W <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_001_mmm_rrr 4154: case 0b1101_000_001: 4155: case 0b1101_001_001: 4156: case 0b1101_010_001: 4157: case 0b1101_011_001: 4158: case 0b1101_100_001: 4159: case 0b1101_101_001: 4160: case 0b1101_110_001: 4161: case 0b1101_111_001: return disAddToRegWord (sb); 4162: 4163: //ADD.L <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_010_mmm_rrr 4164: case 0b1101_000_010: 4165: case 0b1101_001_010: 4166: case 0b1101_010_010: 4167: case 0b1101_011_010: 4168: case 0b1101_100_010: 4169: case 0b1101_101_010: 4170: case 0b1101_110_010: 4171: case 0b1101_111_010: return disAddToRegLong (sb); 4172: 4173: //ADDA.W <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1101_qqq_011_mmm_rrr 4174: case 0b1101_000_011: 4175: case 0b1101_001_011: 4176: case 0b1101_010_011: 4177: case 0b1101_011_011: 4178: case 0b1101_100_011: 4179: case 0b1101_101_011: 4180: case 0b1101_110_011: 4181: case 0b1101_111_011: return disAddaWord (sb); 4182: 4183: //ADDX.B Dr,Dq 012346|-|*UUUU|*****| |1101_qqq_100_000_rrr 4184: //ADDX.B -(Ar),-(Aq) 012346|-|*UUUU|*****| |1101_qqq_100_001_rrr 4185: //ADD.B Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1101_qqq_100_mmm_rrr 4186: case 0b1101_000_100: 4187: case 0b1101_001_100: 4188: case 0b1101_010_100: 4189: case 0b1101_011_100: 4190: case 0b1101_100_100: 4191: case 0b1101_101_100: 4192: case 0b1101_110_100: 4193: case 0b1101_111_100: return disAddToMemByte (sb); 4194: 4195: //ADDX.W Dr,Dq 012346|-|*UUUU|*****| |1101_qqq_101_000_rrr 4196: //ADDX.W -(Ar),-(Aq) 012346|-|*UUUU|*****| |1101_qqq_101_001_rrr 4197: //ADD.W Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1101_qqq_101_mmm_rrr 4198: case 0b1101_000_101: 4199: case 0b1101_001_101: 4200: case 0b1101_010_101: 4201: case 0b1101_011_101: 4202: case 0b1101_100_101: 4203: case 0b1101_101_101: 4204: case 0b1101_110_101: 4205: case 0b1101_111_101: return disAddToMemWord (sb); 4206: 4207: //ADDX.L Dr,Dq 012346|-|*UUUU|*****| |1101_qqq_110_000_rrr 4208: //ADDX.L -(Ar),-(Aq) 012346|-|*UUUU|*****| |1101_qqq_110_001_rrr 4209: //ADD.L Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1101_qqq_110_mmm_rrr 4210: case 0b1101_000_110: 4211: case 0b1101_001_110: 4212: case 0b1101_010_110: 4213: case 0b1101_011_110: 4214: case 0b1101_100_110: 4215: case 0b1101_101_110: 4216: case 0b1101_110_110: 4217: case 0b1101_111_110: return disAddToMemLong (sb); 4218: 4219: //ADDA.L <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1101_qqq_111_mmm_rrr 4220: case 0b1101_000_111: 4221: case 0b1101_001_111: 4222: case 0b1101_010_111: 4223: case 0b1101_011_111: 4224: case 0b1101_100_111: 4225: case 0b1101_101_111: 4226: case 0b1101_110_111: 4227: case 0b1101_111_111: return disAddaLong (sb); 4228: 4229: //ASR.B #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_000_rrr 4230: //LSR.B #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_001_rrr 4231: //ROXR.B #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_000_010_rrr 4232: //ROR.B #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_000_011_rrr 4233: //ASR.B Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_100_rrr 4234: //LSR.B Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_101_rrr 4235: //ROXR.B Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_000_110_rrr 4236: //ROR.B Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_000_111_rrr 4237: case 0b1110_000_000: 4238: case 0b1110_001_000: 4239: case 0b1110_010_000: 4240: case 0b1110_011_000: 4241: case 0b1110_100_000: 4242: case 0b1110_101_000: 4243: case 0b1110_110_000: 4244: case 0b1110_111_000: return disXxrToRegByte (sb); 4245: 4246: //ASR.W #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_000_rrr 4247: //LSR.W #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_001_rrr 4248: //ROXR.W #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_001_010_rrr 4249: //ROR.W #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_001_011_rrr 4250: //ASR.W Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_100_rrr 4251: //LSR.W Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_101_rrr 4252: //ROXR.W Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_001_110_rrr 4253: //ROR.W Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_001_111_rrr 4254: case 0b1110_000_001: 4255: case 0b1110_001_001: 4256: case 0b1110_010_001: 4257: case 0b1110_011_001: 4258: case 0b1110_100_001: 4259: case 0b1110_101_001: 4260: case 0b1110_110_001: 4261: case 0b1110_111_001: return disXxrToRegWord (sb); 4262: 4263: //ASR.L #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_000_rrr 4264: //LSR.L #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_001_rrr 4265: //ROXR.L #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_010_010_rrr 4266: //ROR.L #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_010_011_rrr 4267: //ASR.L Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_100_rrr 4268: //LSR.L Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_101_rrr 4269: //ROXR.L Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_010_110_rrr 4270: //ROR.L Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_010_111_rrr 4271: case 0b1110_000_010: 4272: case 0b1110_001_010: 4273: case 0b1110_010_010: 4274: case 0b1110_011_010: 4275: case 0b1110_100_010: 4276: case 0b1110_101_010: 4277: case 0b1110_110_010: 4278: case 0b1110_111_010: return disXxrToRegLong (sb); 4279: 4280: //ASR.W <ea> 012346|-|UUUUU|***0*| M+-WXZ |1110_000_011_mmm_rrr 4281: case 0b1110_000_011: return disAsrToMem (sb); 4282: 4283: //LSR.W <ea> 012346|-|UUUUU|*0*0*| M+-WXZ |1110_001_011_mmm_rrr 4284: case 0b1110_001_011: return disLsrToMem (sb); 4285: 4286: //ROXR.W <ea> 012346|-|*UUUU|***0*| M+-WXZ |1110_010_011_mmm_rrr 4287: case 0b1110_010_011: return disRoxrToMem (sb); 4288: 4289: //ROR.W <ea> 012346|-|-UUUU|-**0*| M+-WXZ |1110_011_011_mmm_rrr 4290: case 0b1110_011_011: return disRorToMem (sb); 4291: 4292: //ASL.B #<data>,Dr 012346|-|UUUUU|*****| |1110_qqq_100_000_rrr 4293: //LSL.B #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_100_001_rrr 4294: //ROXL.B #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_100_010_rrr 4295: //ROL.B #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_100_011_rrr 4296: //ASL.B Dq,Dr 012346|-|UUUUU|*****| |1110_qqq_100_100_rrr 4297: //LSL.B Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_100_101_rrr 4298: //ROXL.B Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_100_110_rrr 4299: //ROL.B Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_100_111_rrr 4300: case 0b1110_000_100: 4301: case 0b1110_001_100: 4302: case 0b1110_010_100: 4303: case 0b1110_011_100: 4304: case 0b1110_100_100: 4305: case 0b1110_101_100: 4306: case 0b1110_110_100: 4307: case 0b1110_111_100: return disXxlToRegByte (sb); 4308: 4309: //ASL.W #<data>,Dr 012346|-|UUUUU|*****| |1110_qqq_101_000_rrr 4310: //LSL.W #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_101_001_rrr 4311: //ROXL.W #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_101_010_rrr 4312: //ROL.W #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_101_011_rrr 4313: //ASL.W Dq,Dr 012346|-|UUUUU|*****| |1110_qqq_101_100_rrr 4314: //LSL.W Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_101_101_rrr 4315: //ROXL.W Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_101_110_rrr 4316: //ROL.W Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_101_111_rrr 4317: case 0b1110_000_101: 4318: case 0b1110_001_101: 4319: case 0b1110_010_101: 4320: case 0b1110_011_101: 4321: case 0b1110_100_101: 4322: case 0b1110_101_101: 4323: case 0b1110_110_101: 4324: case 0b1110_111_101: return disXxlToRegWord (sb); 4325: 4326: //ASL.L #<data>,Dr 012346|-|UUUUU|*****| |1110_qqq_110_000_rrr 4327: //LSL.L #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_110_001_rrr 4328: //ROXL.L #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_110_010_rrr 4329: //ROL.L #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_110_011_rrr 4330: //ASL.L Dq,Dr 012346|-|UUUUU|*****| |1110_qqq_110_100_rrr 4331: //LSL.L Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_110_101_rrr 4332: //ROXL.L Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_110_110_rrr 4333: //ROL.L Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_110_111_rrr 4334: case 0b1110_000_110: 4335: case 0b1110_001_110: 4336: case 0b1110_010_110: 4337: case 0b1110_011_110: 4338: case 0b1110_100_110: 4339: case 0b1110_101_110: 4340: case 0b1110_110_110: 4341: case 0b1110_111_110: return disXxlToRegLong (sb); 4342: 4343: //ASL.W <ea> 012346|-|UUUUU|*****| M+-WXZ |1110_000_111_mmm_rrr 4344: case 0b1110_000_111: return disAslToMem (sb); 4345: 4346: //LSL.W <ea> 012346|-|UUUUU|***0*| M+-WXZ |1110_001_111_mmm_rrr 4347: case 0b1110_001_111: return disLslToMem (sb); 4348: 4349: //ROXL.W <ea> 012346|-|*UUUU|***0*| M+-WXZ |1110_010_111_mmm_rrr 4350: case 0b1110_010_111: return disRoxlToMem (sb); 4351: 4352: //ROL.W <ea> 012346|-|-UUUU|-**0*| M+-WXZ |1110_011_111_mmm_rrr 4353: case 0b1110_011_111: return disRolToMem (sb); 4354: 4355: //BFTST <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_0ww_www 4356: //BFTST <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_100_www 4357: //BFTST <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_100_ooo_0ww_www 4358: //BFTST <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_100_ooo_100_www 4359: case 0b1110_100_011: return disBftst (sb); 4360: 4361: //BFEXTU <ea>{#o:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 4362: //BFEXTU <ea>{#o:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_100_www 4363: //BFEXTU <ea>{Do:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_0ww_www 4364: //BFEXTU <ea>{Do:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_100_www 4365: case 0b1110_100_111: return disBfextu (sb); 4366: 4367: //BFCHG <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_0oo_ooo_0ww_www 4368: //BFCHG <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_0oo_ooo_100_www 4369: //BFCHG <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_100_ooo_0ww_www 4370: //BFCHG <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_100_ooo_100_www 4371: case 0b1110_101_011: return disBfchg (sb); 4372: 4373: //BFEXTS <ea>{#o:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 4374: //BFEXTS <ea>{#o:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_100_www 4375: //BFEXTS <ea>{Do:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_0ww_www 4376: //BFEXTS <ea>{Do:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_100_www 4377: case 0b1110_101_111: return disBfexts (sb); 4378: 4379: //BFCLR <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_0oo_ooo_0ww_www 4380: //BFCLR <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_0oo_ooo_100_www 4381: //BFCLR <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_100_ooo_0ww_www 4382: //BFCLR <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_100_ooo_100_www 4383: case 0b1110_110_011: return disBfclr (sb); 4384: 4385: //BFFFO <ea>{#o:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 4386: //BFFFO <ea>{#o:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_100_www 4387: //BFFFO <ea>{Do:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_0ww_www 4388: //BFFFO <ea>{Do:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_100_www 4389: case 0b1110_110_111: return disBfffo (sb); 4390: 4391: //BFSET <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_0oo_ooo_0ww_www 4392: //BFSET <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_0oo_ooo_100_www 4393: //BFSET <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_100_ooo_0ww_www 4394: //BFSET <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_100_ooo_100_www 4395: case 0b1110_111_011: return disBfset (sb); 4396: 4397: //BFINS Dn,<ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 4398: //BFINS Dn,<ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_0oo_ooo_100_www 4399: //BFINS Dn,<ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_100_ooo_0ww_www 4400: //BFINS Dn,<ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_100_ooo_100_www 4401: case 0b1110_111_111: return disBfins (sb); 4402: 4403: //PMOVE.L <ea>,TTn ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00001n0000000000 4404: //PMOVEFD.L <ea>,TTn ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00001n0100000000 4405: //PMOVE.L TTn,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00001n1000000000 4406: //PLOADW SFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000000000 4407: //PLOADW DFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000000001 4408: //PLOADW Dn,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000001nnn 4409: //PLOADW #<data>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000010ddd 4410: //PLOADW #<data>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-001000000001dddd 4411: //PLOADR SFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000000000 4412: //PLOADR DFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000000001 4413: //PLOADR Dn,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000001nnn 4414: //PLOADR #<data>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000010ddd 4415: //PLOADR #<data>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-001000100001dddd 4416: //PFLUSHA --M---|P|-----|-----| |1111_000_000_000_000-0010010000000000 4417: //PFLUSHA ---3--|P|-----|-----| |1111_000_000_000_000-0010010000000000 4418: //PVALID.L VAL,<ea> --M---|-|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010100000000000 4419: //PVALID.L An,<ea> --M---|-|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010110000000nnn 4420: //PFLUSH SFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm00000 4421: //PFLUSH SFC,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm00000 4422: //PFLUSH DFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm00001 4423: //PFLUSH DFC,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm00001 4424: //PFLUSH Dn,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm01nnn 4425: //PFLUSH Dn,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm01nnn 4426: //PFLUSH #<data>,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm10ddd 4427: //PFLUSH #<data>,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm1dddd 4428: //PFLUSHS SFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm00000 4429: //PFLUSHS DFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm00001 4430: //PFLUSHS Dn,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm01nnn 4431: //PFLUSHS #<data>,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm1dddd 4432: //PFLUSH SFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm00000 4433: //PFLUSH SFC,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm00000 4434: //PFLUSH DFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm00001 4435: //PFLUSH DFC,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm00001 4436: //PFLUSH Dn,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm01nnn 4437: //PFLUSH #<data>,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm10ddd 4438: //PFLUSH Dn,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm01nnn 4439: //PFLUSH #<data>,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm1dddd 4440: //PFLUSHS SFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm00000 4441: //PFLUSHS DFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm00001 4442: //PFLUSHS Dn,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm01nnn 4443: //PFLUSHS #<data>,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm1dddd 4444: //PMOVE.L <ea>,TC ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100000000000000 4445: //PMOVE.L <ea>,TC --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0100000000000000 4446: //PMOVEFD.L <ea>,TC ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100000100000000 4447: //PMOVE.L TC,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100001000000000 4448: //PMOVE.L TC,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0100001000000000 4449: //PMOVE.Q <ea>,DRP --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-0100010000000000 4450: //PMOVE.Q DRP,<ea> --M---|P|-----|-----| M+-WXZ |1111_000_000_mmm_rrr-0100011000000000 4451: //PMOVE.Q <ea>,SRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100100000000000 4452: //PMOVE.Q <ea>,SRP --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-0100100000000000 4453: //PMOVEFD.Q <ea>,SRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100100100000000 4454: //PMOVE.Q SRP,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100101000000000 4455: //PMOVE.Q SRP,<ea> --M---|P|-----|-----| M+-WXZ |1111_000_000_mmm_rrr-0100101000000000 4456: //PMOVE.Q <ea>,CRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100110000000000 4457: //PMOVE.Q <ea>,CRP --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-0100110000000000 4458: //PMOVEFD.Q <ea>,CRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100110100000000 4459: //PMOVE.Q CRP,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100111000000000 4460: //PMOVE.Q CRP,<ea> --M---|P|-----|-----| M+-WXZ |1111_000_000_mmm_rrr-0100111000000000 4461: //PMOVE.B <ea>,CAL --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101000000000000 4462: //PMOVE.B CAL,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101001000000000 4463: //PMOVE.B <ea>,VAL --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101010000000000 4464: //PMOVE.B VAL,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101011000000000 4465: //PMOVE.B <ea>,SCC --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101100000000000 4466: //PMOVE.B SCC,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101101000000000 4467: //PMOVE.W <ea>,AC --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101110000000000 4468: //PMOVE.W AC,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101111000000000 4469: //PMOVE.W <ea>,MMUSR ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0110000000000000 4470: //PMOVE.W <ea>,PSR --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110000000000000 4471: //PMOVE.W MMUSR,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0110001000000000 4472: //PMOVE.W PSR,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0110001000000000 4473: //PMOVE.W <ea>,PCSR --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110010000000000 4474: //PMOVE.W PCSR,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0110011000000000 4475: //PMOVE.W <ea>,BADn --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110000000nnn00 4476: //PMOVE.W BADn,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-01110010000nnn00 4477: //PMOVE.W <ea>,BACn --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110100000nnn00 4478: //PMOVE.W BACn,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-01110110000nnn00 4479: //PTESTW SFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000000 4480: //PTESTW SFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000000 4481: //PTESTW DFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000001 4482: //PTESTW DFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000001 4483: //PTESTW Dn,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000001nnn 4484: //PTESTW Dn,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000001nnn 4485: //PTESTW #<data>,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll000001dddd 4486: //PTESTW #<data>,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000010ddd 4487: //PTESTW SFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00000 4488: //PTESTW SFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00000 4489: //PTESTW DFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00001 4490: //PTESTW DFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00001 4491: //PTESTW Dn,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn01nnn 4492: //PTESTW Dn,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn01nnn 4493: //PTESTW #<data>,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn1dddd 4494: //PTESTW #<data>,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn10ddd 4495: //PTESTR SFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000000 4496: //PTESTR SFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000000 4497: //PTESTR DFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000001 4498: //PTESTR DFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000001 4499: //PTESTR Dn,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000001nnn 4500: //PTESTR Dn,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000001nnn 4501: //PTESTR #<data>,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll100001dddd 4502: //PTESTR #<data>,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000010ddd 4503: //PTESTR SFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00000 4504: //PTESTR SFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00000 4505: //PTESTR DFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00001 4506: //PTESTR DFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00001 4507: //PTESTR Dn,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn01nnn 4508: //PTESTR Dn,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn01nnn 4509: //PTESTR #<data>,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn1dddd 4510: //PTESTR #<data>,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn10ddd 4511: //PFLUSHR <ea> --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-1010000000000000 4512: case 0b1111_000_000: return disPgen (sb); 4513: 4514: //PDBcc.W Dn,<label> --M---|P|-----|-----| |1111_000_001_001_nnn-0000000000cccccc-{offset} 4515: //PTRAPcc.W #<data> --M---|P|-----|-----| |1111_000_001_111_010-0000000000cccccc-{data} 4516: //PTRAPcc.L #<data> --M---|P|-----|-----| |1111_000_001_111_011-0000000000cccccc-{data} 4517: //PTRAPcc --M---|P|-----|-----| |1111_000_001_111_100-0000000000cccccc 4518: //PScc.B <ea> --M---|P|-----|-----|D M+-WXZ |1111_000_001_mmm_rrr-0000000000cccccc 4519: case 0b1111_000_001: return disPscc (sb); 4520: 4521: //PBcc.W <label> --M---|P|-----|-----| |1111_000_010_ccc_ccc-{offset} 4522: case 0b1111_000_010: return disPbccWord (sb); 4523: 4524: //PBcc.L <label> --M---|P|-----|-----| |1111_000_011_ccc_ccc-{offset} 4525: case 0b1111_000_011: return disPbccLong (sb); 4526: 4527: //PSAVE <ea> --M---|P|-----|-----| M -WXZ |1111_000_100_mmm_rrr 4528: case 0b1111_000_100: return disPsave (sb); 4529: 4530: //PRESTORE <ea> --M---|P|-----|-----| M+ WXZP |1111_000_101_mmm_rrr 4531: case 0b1111_000_101: return disPrestore (sb); 4532: 4533: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 4534: case 0b1111_000_110: 4535: case 0b1111_000_111: return disFline (sb); 4536: 4537: //FMOVE.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0000 4538: //FINT.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0001 4539: //FSINH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0010 4540: //FINTRZ.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0011 4541: //FSQRT.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0100 4542: //FLOGNP1.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0110 4543: //FETOXM1.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1000 4544: //FTANH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1001 4545: //FATAN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1010 4546: //FASIN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1100 4547: //FATANH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1101 4548: //FSIN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1110 4549: //FTAN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1111 4550: //FETOX.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0000 4551: //FTWOTOX.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0001 4552: //FTENTOX.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0010 4553: //FLOGN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0100 4554: //FLOG10.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0101 4555: //FLOG2.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0110 4556: //FABS.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1000 4557: //FCOSH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1001 4558: //FNEG.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1010 4559: //FACOS.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1100 4560: //FCOS.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1101 4561: //FGETEXP.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1110 4562: //FGETMAN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1111 4563: //FDIV.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0000 4564: //FMOD.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0001 4565: //FADD.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0010 4566: //FMUL.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0011 4567: //FSGLDIV.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0100 4568: //FREM.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0101 4569: //FSCALE.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0110 4570: //FSGLMUL.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0111 4571: //FSUB.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_1000 4572: //FSINCOS.X FPm,FPc:FPs --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_sss_011_0ccc 4573: //FCMP.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_011_1000 4574: //FTST.X FPm --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_000_011_1010 4575: //FSMOVE.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0000 4576: //FSSQRT.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0001 4577: //FDMOVE.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0100 4578: //FDSQRT.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0101 4579: //FSABS.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1000 4580: //FSNEG.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1010 4581: //FDABS.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1100 4582: //FDNEG.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1110 4583: //FSDIV.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0000 4584: //FSADD.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0010 4585: //FSMUL.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0011 4586: //FDDIV.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0100 4587: //FDADD.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0110 4588: //FDMUL.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0111 4589: //FSSUB.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_1000 4590: //FDSUB.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_1100 4591: //FMOVE.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0000 4592: //FMOVE.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0000 4593: //FMOVE.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0000 4594: //FMOVE.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0000 4595: //FMOVE.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0000 4596: //FMOVE.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0000 4597: //FMOVE.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0000 4598: //FINT.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0001 4599: //FINT.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0001 4600: //FINT.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0001 4601: //FINT.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0001 4602: //FINT.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0001 4603: //FINT.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0001 4604: //FINT.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0001 4605: //FSINH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0010 4606: //FSINH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0010 4607: //FSINH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0010 4608: //FSINH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0010 4609: //FSINH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0010 4610: //FSINH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0010 4611: //FSINH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0010 4612: //FINTRZ.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0011 4613: //FINTRZ.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0011 4614: //FINTRZ.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0011 4615: //FINTRZ.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0011 4616: //FINTRZ.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0011 4617: //FINTRZ.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0011 4618: //FINTRZ.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0011 4619: //FSQRT.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0100 4620: //FSQRT.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0100 4621: //FSQRT.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0100 4622: //FSQRT.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0100 4623: //FSQRT.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0100 4624: //FSQRT.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0100 4625: //FSQRT.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0100 4626: //FLOGNP1.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0110 4627: //FLOGNP1.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0110 4628: //FLOGNP1.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0110 4629: //FLOGNP1.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0110 4630: //FLOGNP1.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0110 4631: //FLOGNP1.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0110 4632: //FLOGNP1.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0110 4633: //FETOXM1.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1000 4634: //FETOXM1.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1000 4635: //FETOXM1.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1000 4636: //FETOXM1.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1000 4637: //FETOXM1.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1000 4638: //FETOXM1.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1000 4639: //FETOXM1.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1000 4640: //FTANH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1001 4641: //FTANH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1001 4642: //FTANH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1001 4643: //FTANH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1001 4644: //FTANH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1001 4645: //FTANH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1001 4646: //FTANH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1001 4647: //FATAN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1010 4648: //FATAN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1010 4649: //FATAN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1010 4650: //FATAN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1010 4651: //FATAN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1010 4652: //FATAN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1010 4653: //FATAN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1010 4654: //FASIN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1100 4655: //FASIN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1100 4656: //FASIN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1100 4657: //FASIN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1100 4658: //FASIN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1100 4659: //FASIN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1100 4660: //FASIN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1100 4661: //FATANH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1101 4662: //FATANH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1101 4663: //FATANH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1101 4664: //FATANH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1101 4665: //FATANH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1101 4666: //FATANH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1101 4667: //FATANH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1101 4668: //FSIN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1110 4669: //FSIN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1110 4670: //FSIN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1110 4671: //FSIN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1110 4672: //FSIN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1110 4673: //FSIN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1110 4674: //FSIN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1110 4675: //FTAN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1111 4676: //FTAN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1111 4677: //FTAN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1111 4678: //FTAN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1111 4679: //FTAN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1111 4680: //FTAN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1111 4681: //FTAN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1111 4682: //FETOX.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0000 4683: //FETOX.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0000 4684: //FETOX.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0000 4685: //FETOX.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0000 4686: //FETOX.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0000 4687: //FETOX.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0000 4688: //FETOX.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0000 4689: //FTWOTOX.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0001 4690: //FTWOTOX.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0001 4691: //FTWOTOX.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0001 4692: //FTWOTOX.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0001 4693: //FTWOTOX.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0001 4694: //FTWOTOX.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0001 4695: //FTWOTOX.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0001 4696: //FTENTOX.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0010 4697: //FTENTOX.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0010 4698: //FTENTOX.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0010 4699: //FTENTOX.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0010 4700: //FTENTOX.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0010 4701: //FTENTOX.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0010 4702: //FTENTOX.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0010 4703: //FLOGN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0100 4704: //FLOGN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0100 4705: //FLOGN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0100 4706: //FLOGN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0100 4707: //FLOGN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0100 4708: //FLOGN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0100 4709: //FLOGN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0100 4710: //FLOG10.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0101 4711: //FLOG10.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0101 4712: //FLOG10.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0101 4713: //FLOG10.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0101 4714: //FLOG10.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0101 4715: //FLOG10.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0101 4716: //FLOG10.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0101 4717: //FLOG2.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0110 4718: //FLOG2.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0110 4719: //FLOG2.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0110 4720: //FLOG2.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0110 4721: //FLOG2.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0110 4722: //FLOG2.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0110 4723: //FLOG2.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0110 4724: //FABS.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1000 4725: //FABS.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1000 4726: //FABS.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1000 4727: //FABS.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1000 4728: //FABS.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1000 4729: //FABS.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1000 4730: //FABS.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1000 4731: //FCOSH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1001 4732: //FCOSH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1001 4733: //FCOSH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1001 4734: //FCOSH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1001 4735: //FCOSH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1001 4736: //FCOSH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1001 4737: //FCOSH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1001 4738: //FNEG.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1010 4739: //FNEG.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1010 4740: //FNEG.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1010 4741: //FNEG.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1010 4742: //FNEG.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1010 4743: //FNEG.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1010 4744: //FNEG.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1010 4745: //FACOS.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1100 4746: //FACOS.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1100 4747: //FACOS.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1100 4748: //FACOS.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1100 4749: //FACOS.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1100 4750: //FACOS.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1100 4751: //FACOS.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1100 4752: //FCOS.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1101 4753: //FCOS.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1101 4754: //FCOS.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1101 4755: //FCOS.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1101 4756: //FCOS.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1101 4757: //FCOS.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1101 4758: //FCOS.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1101 4759: //FGETEXP.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1110 4760: //FGETEXP.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1110 4761: //FGETEXP.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1110 4762: //FGETEXP.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1110 4763: //FGETEXP.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1110 4764: //FGETEXP.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1110 4765: //FGETEXP.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1110 4766: //FGETMAN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1111 4767: //FGETMAN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1111 4768: //FGETMAN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1111 4769: //FGETMAN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1111 4770: //FGETMAN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1111 4771: //FGETMAN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1111 4772: //FGETMAN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1111 4773: //FDIV.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0000 4774: //FDIV.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0000 4775: //FDIV.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0000 4776: //FDIV.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0000 4777: //FDIV.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0000 4778: //FDIV.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0000 4779: //FDIV.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0000 4780: //FMOD.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0001 4781: //FMOD.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0001 4782: //FMOD.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0001 4783: //FMOD.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0001 4784: //FMOD.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0001 4785: //FMOD.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0001 4786: //FMOD.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0001 4787: //FADD.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0010 4788: //FADD.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0010 4789: //FADD.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0010 4790: //FADD.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0010 4791: //FADD.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0010 4792: //FADD.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0010 4793: //FADD.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0010 4794: //FMUL.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0011 4795: //FMUL.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0011 4796: //FMUL.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0011 4797: //FMUL.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0011 4798: //FMUL.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0011 4799: //FMUL.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0011 4800: //FMUL.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0011 4801: //FSGLDIV.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0100 4802: //FSGLDIV.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0100 4803: //FSGLDIV.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0100 4804: //FSGLDIV.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0100 4805: //FSGLDIV.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0100 4806: //FSGLDIV.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0100 4807: //FSGLDIV.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0100 4808: //FREM.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0101 4809: //FREM.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0101 4810: //FREM.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0101 4811: //FREM.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0101 4812: //FREM.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0101 4813: //FREM.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0101 4814: //FREM.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0101 4815: //FSCALE.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0110 4816: //FSCALE.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0110 4817: //FSCALE.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0110 4818: //FSCALE.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0110 4819: //FSCALE.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0110 4820: //FSCALE.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0110 4821: //FSCALE.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0110 4822: //FSGLMUL.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0111 4823: //FSGLMUL.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0111 4824: //FSGLMUL.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0111 4825: //FSGLMUL.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0111 4826: //FSGLMUL.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0111 4827: //FSGLMUL.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0111 4828: //FSGLMUL.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0111 4829: //FSUB.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_1000 4830: //FSUB.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_1000 4831: //FSUB.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_1000 4832: //FSUB.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_1000 4833: //FSUB.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_1000 4834: //FSUB.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_1000 4835: //FSUB.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_1000 4836: //FSINCOS.L <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_sss_011_0ccc 4837: //FSINCOS.S <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_sss_011_0ccc 4838: //FSINCOS.X <ea>,FPc:FPs --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_sss_011_0ccc 4839: //FSINCOS.P <ea>,FPc:FPs --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_sss_011_0ccc 4840: //FSINCOS.W <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_sss_011_0ccc 4841: //FSINCOS.D <ea>,FPc:FPs --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_sss_011_0ccc 4842: //FSINCOS.B <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_sss_011_0ccc 4843: //FCMP.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_011_1000 4844: //FCMP.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_011_1000 4845: //FCMP.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_011_1000 4846: //FCMP.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_011_1000 4847: //FCMP.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_011_1000 4848: //FCMP.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_011_1000 4849: //FCMP.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_011_1000 4850: //FTST.L <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_000_011_1010 4851: //FTST.S <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_000_011_1010 4852: //FTST.X <ea> --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_000_011_1010 4853: //FTST.P <ea> --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_000_011_1010 4854: //FTST.W <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_000_011_1010 4855: //FTST.D <ea> --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_000_011_1010 4856: //FTST.B <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_000_011_1010 4857: //FSMOVE.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0000 4858: //FSMOVE.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0000 4859: //FSMOVE.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0000 4860: //FSMOVE.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0000 4861: //FSMOVE.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0000 4862: //FSMOVE.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0000 4863: //FSMOVE.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0000 4864: //FSSQRT.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0001 4865: //FSSQRT.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0001 4866: //FSSQRT.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0001 4867: //FSSQRT.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0001 4868: //FSSQRT.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0001 4869: //FSSQRT.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0001 4870: //FSSQRT.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0001 4871: //FDMOVE.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0100 4872: //FDMOVE.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0100 4873: //FDMOVE.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0100 4874: //FDMOVE.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0100 4875: //FDMOVE.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0100 4876: //FDMOVE.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0100 4877: //FDMOVE.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0100 4878: //FDSQRT.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0101 4879: //FDSQRT.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0101 4880: //FDSQRT.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0101 4881: //FDSQRT.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0101 4882: //FDSQRT.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0101 4883: //FDSQRT.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0101 4884: //FDSQRT.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0101 4885: //FSABS.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1000 4886: //FSABS.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1000 4887: //FSABS.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1000 4888: //FSABS.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1000 4889: //FSABS.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1000 4890: //FSABS.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1000 4891: //FSABS.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1000 4892: //FSNEG.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1010 4893: //FSNEG.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1010 4894: //FSNEG.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1010 4895: //FSNEG.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1010 4896: //FSNEG.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1010 4897: //FSNEG.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1010 4898: //FSNEG.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1010 4899: //FDABS.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1100 4900: //FDABS.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1100 4901: //FDABS.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1100 4902: //FDABS.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1100 4903: //FDABS.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1100 4904: //FDABS.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1100 4905: //FDABS.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1100 4906: //FDNEG.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1110 4907: //FDNEG.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1110 4908: //FDNEG.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1110 4909: //FDNEG.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1110 4910: //FDNEG.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1110 4911: //FDNEG.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1110 4912: //FDNEG.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1110 4913: //FSDIV.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0000 4914: //FSDIV.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0000 4915: //FSDIV.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0000 4916: //FSDIV.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0000 4917: //FSDIV.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0000 4918: //FSDIV.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0000 4919: //FSDIV.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0000 4920: //FSADD.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0010 4921: //FSADD.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0010 4922: //FSADD.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0010 4923: //FSADD.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0010 4924: //FSADD.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0010 4925: //FSADD.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0010 4926: //FSADD.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0010 4927: //FSMUL.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0011 4928: //FSMUL.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0011 4929: //FSMUL.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0011 4930: //FSMUL.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0011 4931: //FSMUL.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0011 4932: //FSMUL.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0011 4933: //FSMUL.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0011 4934: //FDDIV.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0100 4935: //FDDIV.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0100 4936: //FDDIV.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0100 4937: //FDDIV.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0100 4938: //FDDIV.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0100 4939: //FDDIV.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0100 4940: //FDDIV.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0100 4941: //FDADD.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0110 4942: //FDADD.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0110 4943: //FDADD.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0110 4944: //FDADD.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0110 4945: //FDADD.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0110 4946: //FDADD.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0110 4947: //FDADD.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0110 4948: //FDMUL.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0111 4949: //FDMUL.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0111 4950: //FDMUL.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0111 4951: //FDMUL.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0111 4952: //FDMUL.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0111 4953: //FDMUL.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0111 4954: //FDMUL.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0111 4955: //FSSUB.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1000 4956: //FSSUB.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1000 4957: //FSSUB.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1000 4958: //FSSUB.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1000 4959: //FSSUB.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1000 4960: //FSSUB.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1000 4961: //FSSUB.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1000 4962: //FDSUB.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1100 4963: //FDSUB.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1100 4964: //FDSUB.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1100 4965: //FDSUB.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1100 4966: //FDSUB.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1100 4967: //FDSUB.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1100 4968: //FDSUB.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1100 4969: //FMOVECR.X #ccc,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-010_111_nnn_0cc_cccc 4970: //FMOVE.L FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_000_nnn_000_0000 4971: //FMOVE.S FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_001_nnn_000_0000 4972: //FMOVE.X FPn,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_010_nnn_000_0000 4973: //FMOVE.P FPn,<ea>{#k} --CCSS|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_011_nnn_kkk_kkkk 4974: //FMOVE.W FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_100_nnn_000_0000 4975: //FMOVE.D FPn,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_101_nnn_000_0000 4976: //FMOVE.B FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_110_nnn_000_0000 4977: //FMOVE.P FPn,<ea>{Dl} --CCSS|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_111_nnn_lll_0000 4978: //FMOVE.L <ea>,FPIAR --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000 4979: //FMOVE.L <ea>,FPSR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000 4980: //FMOVE.L <ea>,FPCR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000 4981: //FMOVEM.L <ea>,FPIAR --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000 4982: //FMOVEM.L <ea>,FPSR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000 4983: //FMOVEM.L <ea>,FPCR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000 4984: //FMOVEM.L <ea>,FPSR/FPIAR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_011_000_000_0000 4985: //FMOVEM.L #<data>,#<data>,FPSR/FPIAR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_011_000_000_0000-{data} 4986: //FMOVEM.L <ea>,FPCR/FPIAR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_101_000_000_0000 4987: //FMOVEM.L #<data>,#<data>,FPCR/FPIAR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_101_000_000_0000-{data} 4988: //FMOVEM.L <ea>,FPCR/FPSR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_110_000_000_0000 4989: //FMOVEM.L #<data>,#<data>,FPCR/FPSR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_110_000_000_0000-{data} 4990: //FMOVEM.L <ea>,FPCR/FPSR/FPIAR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_111_000_000_0000 4991: //FMOVEM.L #<d>,#<d>,#<d>,FPCR/FPSR/FPIAR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_111_000_000_0000-{data} 4992: //FMOVE.L FPIAR,<ea> --CC46|-|-----|-----|DAM+-WXZ |1111_001_000_mmm_rrr-101_001_000_000_0000 4993: //FMOVE.L FPSR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_010_000_000_0000 4994: //FMOVE.L FPCR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_100_000_000_0000 4995: //FMOVEM.L FPIAR,<ea> --CC46|-|-----|-----|DAM+-WXZ |1111_001_000_mmm_rrr-101_001_000_000_0000 4996: //FMOVEM.L FPSR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_010_000_000_0000 4997: //FMOVEM.L FPCR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_100_000_000_0000 4998: //FMOVEM.L FPSR/FPIAR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_011_000_000_0000 4999: //FMOVEM.L FPCR/FPIAR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_101_000_000_0000 5000: //FMOVEM.L FPCR/FPSR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_110_000_000_0000 5001: //FMOVEM.L FPCR/FPSR/FPIAR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_111_000_000_0000 5002: //FMOVEM.X <ea>,#<data> --CC46|-|-----|-----| M+ WXZP |1111_001_000_mmm_rrr-110_100_00d_ddd_dddd 5003: //FMOVEM.X <ea>,<list> --CC46|-|-----|-----| M+ WXZP |1111_001_000_mmm_rrr-110_100_00l_lll_llll 5004: //FMOVEM.X <ea>,Dl --CC4S|-|-----|-----| M+ WXZP |1111_001_000_mmm_rrr-110_110_000_lll_0000 5005: //FMOVEM.X #<data>,-(Ar) --CC46|-|-----|-----| - |1111_001_000_100_rrr-111_000_00d_ddd_dddd 5006: //FMOVEM.X #<data>,<ea> --CC46|-|-----|-----| M WXZ |1111_001_000_mmm_rrr-111_100_00d_ddd_dddd 5007: //FMOVEM.X <list>,-(Ar) --CC46|-|-----|-----| - |1111_001_000_100_rrr-111_000_00l_lll_llll 5008: //FMOVEM.X <list>,<ea> --CC46|-|-----|-----| M WXZ |1111_001_000_mmm_rrr-111_100_00l_lll_llll 5009: //FMOVEM.X Dl,-(Ar) --CC4S|-|-----|-----| - |1111_001_000_100_rrr-111_010_000_lll_0000 5010: //FMOVEM.X Dl,<ea> --CC4S|-|-----|-----| M WXZ |1111_001_000_mmm_rrr-111_110_000_lll_0000 5011: case 0b1111_001_000: return disFgen (sb); 5012: 5013: //FDBcc Dr,<label> --CC4S|-|-----|-----| |1111_001_001_001_rrr-000_000_000_0cc_cccc-{offset} 5014: //FTRAPcc.W #<data> --CC4S|-|-----|-----| |1111_001_001_111_010-000_000_000_0cc_cccc-{data} 5015: //FTRAPcc.L #<data> --CC4S|-|-----|-----| |1111_001_001_111_011-000_000_000_0cc_cccc-{data} 5016: //FTRAPcc --CC4S|-|-----|-----| |1111_001_001_111_100-000_000_000_0cc_cccc 5017: //FScc.B <ea> --CC4S|-|-----|-----|D M+-WXZ |1111_001_001_mmm_rrr-000_000_000_0cc_cccc 5018: case 0b1111_001_001: return disFscc (sb); 5019: 5020: //FNOP --CC46|-|-----|-----| |1111_001_010_000_000-000_000_000_000_0000 5021: //FBcc.W <label> --CC46|-|-----|-----| |1111_001_010_ccc_ccc-{offset} 5022: case 0b1111_001_010: return disFbccWord (sb); 5023: 5024: //FBcc.L <label> --CC46|-|-----|-----| |1111_001_011_ccc_ccc-{offset} 5025: case 0b1111_001_011: return disFbccLong (sb); 5026: 5027: //FSAVE <ea> --CC46|P|-----|-----| M -WXZ |1111_001_100_mmm_rrr 5028: case 0b1111_001_100: return disFsave (sb); 5029: 5030: //FRESTORE <ea> --CC46|P|-----|-----| M+ WXZP |1111_001_101_mmm_rrr 5031: case 0b1111_001_101: return disFrestore (sb); 5032: 5033: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 5034: case 0b1111_001_110: 5035: case 0b1111_001_111: return disFline (sb); 5036: 5037: //CINVL NC,(An) ----46|P|-----|-----| |1111_010_000_001_nnn 5038: //CINVP NC,(An) ----46|P|-----|-----| |1111_010_000_010_nnn 5039: //CINVA NC ----46|P|-----|-----| |1111_010_000_011_000 5040: //CPUSHL NC,(An) ----46|P|-----|-----| |1111_010_000_101_nnn 5041: //INTOUCH (An) ------|P|-----|-----| |1111_010_000_101_nnn (ISA_B) 5042: //CPUSHP NC,(An) ----46|P|-----|-----| |1111_010_000_110_nnn 5043: //CPUSHA NC ----46|P|-----|-----| |1111_010_000_111_000 5044: case 0b1111_010_000: return disCinvCpush (sb); 5045: 5046: //CINVL DC,(An) ----46|P|-----|-----| |1111_010_001_001_nnn 5047: //CINVP DC,(An) ----46|P|-----|-----| |1111_010_001_010_nnn 5048: //CINVA DC ----46|P|-----|-----| |1111_010_001_011_000 5049: //CPUSHL DC,(An) ----46|P|-----|-----| |1111_010_001_101_nnn 5050: //CPUSHP DC,(An) ----46|P|-----|-----| |1111_010_001_110_nnn 5051: //CPUSHA DC ----46|P|-----|-----| |1111_010_001_111_000 5052: case 0b1111_010_001: return disCinvCpush (sb); 5053: 5054: //CINVL IC,(An) ----46|P|-----|-----| |1111_010_010_001_nnn 5055: //CINVP IC,(An) ----46|P|-----|-----| |1111_010_010_010_nnn 5056: //CINVA IC ----46|P|-----|-----| |1111_010_010_011_000 5057: //CPUSHL IC,(An) ----46|P|-----|-----| |1111_010_010_101_nnn 5058: //CPUSHP IC,(An) ----46|P|-----|-----| |1111_010_010_110_nnn 5059: //CPUSHA IC ----46|P|-----|-----| |1111_010_010_111_000 5060: case 0b1111_010_010: return disCinvCpush (sb); 5061: 5062: //CINVL BC,(An) ----46|P|-----|-----| |1111_010_011_001_nnn 5063: //CINVP BC,(An) ----46|P|-----|-----| |1111_010_011_010_nnn 5064: //CINVA BC ----46|P|-----|-----| |1111_010_011_011_000 5065: //CPUSHL BC,(An) ----46|P|-----|-----| |1111_010_011_101_nnn 5066: //CPUSHP BC,(An) ----46|P|-----|-----| |1111_010_011_110_nnn 5067: //CPUSHA BC ----46|P|-----|-----| |1111_010_011_111_000 5068: case 0b1111_010_011: return disCinvCpush (sb); 5069: 5070: //PFLUSHN (An) ----46|P|-----|-----| |1111_010_100_000_nnn 5071: //PFLUSH (An) ----46|P|-----|-----| |1111_010_100_001_nnn 5072: //PFLUSHAN ----46|P|-----|-----| |1111_010_100_010_000 5073: //PFLUSHA ----46|P|-----|-----| |1111_010_100_011_000 5074: case 0b1111_010_100: return disPflush (sb); 5075: 5076: //PTESTW (An) ----4-|P|-----|-----| |1111_010_101_001_nnn 5077: //PTESTR (An) ----4-|P|-----|-----| |1111_010_101_101_nnn 5078: case 0b1111_010_101: return disPtest (sb); 5079: 5080: //PLPAW (An) -----6|P|-----|-----| |1111_010_110_001_nnn 5081: case 0b1111_010_110: return disPlpaw (sb); 5082: 5083: //PLPAR (An) -----6|P|-----|-----| |1111_010_111_001_nnn 5084: case 0b1111_010_111: return disPlpar (sb); 5085: 5086: //MOVE16 (An)+,xxx.L ----46|-|-----|-----| |1111_011_000_000_nnn-{address} 5087: //MOVE16 xxx.L,(An)+ ----46|-|-----|-----| |1111_011_000_001_nnn-{address} 5088: //MOVE16 (An),xxx.L ----46|-|-----|-----| |1111_011_000_010_nnn-{address} 5089: //MOVE16 xxx.L,(An) ----46|-|-----|-----| |1111_011_000_011_nnn-{address} 5090: //MOVE16 (Ax)+,(Ay)+ ----46|-|-----|-----| |1111_011_000_100_xxx-1yyy000000000000 5091: case 0b1111_011_000: return disMove16 (sb); 5092: 5093: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 5094: case 0b1111_011_001: 5095: case 0b1111_011_010: 5096: case 0b1111_011_011: 5097: case 0b1111_011_100: 5098: case 0b1111_011_101: 5099: case 0b1111_011_110: 5100: case 0b1111_011_111: return disFline (sb); 5101: 5102: //LPSTOP.W #<data> -----6|P|-----|-----| |1111_100_000_000_000-0000000111000000-{data} 5103: case 0b1111_100_000: return disLpstop (sb); 5104: 5105: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 5106: case 0b1111_100_001: 5107: case 0b1111_100_010: 5108: case 0b1111_100_011: 5109: case 0b1111_100_100: 5110: case 0b1111_100_101: 5111: case 0b1111_100_110: 5112: case 0b1111_100_111: 5113: case 0b1111_101_000: 5114: case 0b1111_101_001: 5115: case 0b1111_101_010: 5116: case 0b1111_101_011: return disFline (sb); 5117: 5118: //WDDATA.B <ea> ------|-|-----|-----| M+-WXZ |1111_101_100_mmm_rrr (ISA_A) 5119: case 0b1111_101_100: return disWddataByte (sb); 5120: 5121: //WDDATA.W <ea> ------|-|-----|-----| M+-WXZ |1111_101_101_mmm_rrr (ISA_A) 5122: case 0b1111_101_101: return disWddataWord (sb); 5123: 5124: //WDDATA.L <ea> ------|-|-----|-----| M+-WXZ |1111_101_110_mmm_rrr (ISA_A) 5125: case 0b1111_101_110: return disWddataLong (sb); 5126: 5127: //WDEBUG.L <ea> ------|P|-----|-----| M W |1111_101_111_mmm_rrr-0000000000000011 (ISA_A) 5128: case 0b1111_101_111: return disWdebug (sb); 5129: 5130: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 5131: case 0b1111_110_000: 5132: case 0b1111_110_001: 5133: case 0b1111_110_010: 5134: case 0b1111_110_011: 5135: case 0b1111_110_100: 5136: case 0b1111_110_101: 5137: case 0b1111_110_110: 5138: case 0b1111_110_111: return disFline (sb); 5139: 5140: //FPACK <name> 012346|-|-----|-----| |1111_111_0xx_xxx_xxx 5141: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 5142: case 0b1111_111_000: 5143: case 0b1111_111_001: 5144: case 0b1111_111_010: 5145: case 0b1111_111_011: return disFpack (sb); 5146: 5147: //DOS <name> 012346|-|-----|-----| |1111_111_1xx_xxx_xxx 5148: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 5149: case 0b1111_111_100: 5150: case 0b1111_111_101: 5151: case 0b1111_111_110: 5152: case 0b1111_111_111: return disDos (sb); 5153: 5154: } 5155: return disIllegal (sb); 5156: } //disDisassemble(StringBuilder,int,int) 5157: 5158: //ORI.B #<data>,CCR 012346|-|*****|*****| |0000_000_000_111_100-{data} 5159: //ORI.B #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_000_000_mmm_rrr-{data} 5160: public static StringBuilder disOriByte (StringBuilder sb) { 5161: int ea = disOC & 63; 5162: if (XEiJ.EAM_DLT << ea < 0L) { 5163: return disEab (disIMb (sb.append ("ori.b ")).append (','), ea); 5164: } 5165: if (ea == 0b111_100) { 5166: return disIMb (sb.append ("ori.b ")).append (",ccr"); 5167: } 5168: return disIllegal (sb); 5169: } //disOriByte(StringBuilder) 5170: 5171: //ORI.W #<data>,SR 012346|P|*****|*****| |0000_000_001_111_100-{data} 5172: //ORI.W #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_000_001_mmm_rrr-{data} 5173: public static StringBuilder disOriWord (StringBuilder sb) { 5174: int ea = disOC & 63; 5175: if (XEiJ.EAM_DLT << ea < 0L) { 5176: return disEaw (disIMw (sb.append ("ori.w ")).append (','), ea); 5177: } 5178: if (ea == 0b111_100) { 5179: return disIMw (sb.append ("ori.w ")).append (",sr"); 5180: } 5181: return disIllegal (sb); 5182: } //disOriWord(StringBuilder) 5183: 5184: //ORI.L #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_000_010_mmm_rrr-{data} 5185: public static StringBuilder disOriLong (StringBuilder sb) { 5186: int ea = disOC & 63; 5187: if (XEiJ.EAM_DLT << ea < 0L) { 5188: return disEal (disIMl (sb.append ("ori.l ")).append (','), ea); 5189: } 5190: return disIllegal (sb); 5191: } //disOriLong(StringBuilder) 5192: 5193: //ANDI.B #<data>,CCR 012346|-|*****|*****| |0000_001_000_111_100-{data} 5194: //ANDI.B #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_001_000_mmm_rrr-{data} 5195: public static StringBuilder disAndiByte (StringBuilder sb) { 5196: int ea = disOC & 63; 5197: if (XEiJ.EAM_DLT << ea < 0L) { 5198: return disEab (disIMb (sb.append ("andi.b ")).append (','), ea); 5199: } 5200: if (ea == 0b111_100) { 5201: return disIMb (sb.append ("andi.b ")).append (",ccr"); 5202: } 5203: return disIllegal (sb); 5204: } //disAndiByte(StringBuilder) 5205: 5206: //ANDI.W #<data>,SR 012346|P|*****|*****| |0000_001_001_111_100-{data} 5207: //ANDI.W #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_001_001_mmm_rrr-{data} 5208: public static StringBuilder disAndiWord (StringBuilder sb) { 5209: int ea = disOC & 63; 5210: if (XEiJ.EAM_DLT << ea < 0L) { 5211: return disEaw (disIMw (sb.append ("andi.w ")).append (','), ea); 5212: } 5213: if (ea == 0b111_100) { 5214: return disIMw (sb.append ("andi.w ")).append (",sr"); 5215: } 5216: return disIllegal (sb); 5217: } //disAndiWord(StringBuilder) 5218: 5219: //ANDI.L #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_001_010_mmm_rrr-{data} 5220: public static StringBuilder disAndiLong (StringBuilder sb) { 5221: int ea = disOC & 63; 5222: if (XEiJ.EAM_DLT << ea < 0L) { 5223: return disEal (disIMl (sb.append ("andi.l ")).append (','), ea); 5224: } 5225: return disIllegal (sb); 5226: } //disAndiLong(StringBuilder) 5227: 5228: //SUBI.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_010_000_mmm_rrr-{data} 5229: public static StringBuilder disSubiByte (StringBuilder sb) { 5230: int ea = disOC & 63; 5231: if (XEiJ.EAM_DLT << ea < 0L) { 5232: return disEab (disIMb (sb.append ("subi.b ")).append (','), ea); 5233: } 5234: return disIllegal (sb); 5235: } //disSubiByte(StringBuilder) 5236: 5237: //SUBI.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_010_001_mmm_rrr-{data} 5238: public static StringBuilder disSubiWord (StringBuilder sb) { 5239: int ea = disOC & 63; 5240: if (XEiJ.EAM_DLT << ea < 0L) { 5241: return disEaw (disIMw (sb.append ("subi.w ")).append (','), ea); 5242: } 5243: return disIllegal (sb); 5244: } //disSubiWord(StringBuilder) 5245: 5246: //SUBI.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_010_010_mmm_rrr-{data} 5247: public static StringBuilder disSubiLong (StringBuilder sb) { 5248: int ea = disOC & 63; 5249: if (XEiJ.EAM_DLT << ea < 0L) { 5250: return disEal (disIMl (sb.append ("subi.l ")).append (','), ea); 5251: } 5252: return disIllegal (sb); 5253: } //disSubiLong(StringBuilder) 5254: 5255: //BITREV.L Dr ------|-|-----|-----| |0000_000_011_000_rrr (ISA_C) 5256: //CMP2.B <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_000_011_mmm_rrr-rnnn_000_000_000_000 5257: //CHK2.B <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_000_011_mmm_rrr-rnnn_100_000_000_000 5258: public static StringBuilder disCmp2Chk2Byte (StringBuilder sb) { 5259: int ea = disOC & 63; 5260: if (XEiJ.EAM_CNT << ea < 0L) { 5261: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 5262: if ((w & ~0b1111_100_000_000_000) == 0) { 5263: return disRn (disEab (sb.append ((w & 0b0000_100_000_000_000) == 0 ? "cmp2.b " : "chk2.b "), ea).append (','), w >> 12); 5264: } 5265: return disIllegal (sb); 5266: } 5267: int mmm = ea >> 3; 5268: int rrr = ea & 7; 5269: if (mmm == XEiJ.MMM_DR) { 5270: return disDR (sb.append ("bitrev.l "), rrr); 5271: } 5272: return disIllegal (sb); 5273: } //disCmp2Chk2Byte(StringBuilder) 5274: 5275: //BYTEREV.L Dr ------|-|-----|-----| |0000_001_011_000_rrr (ISA_C) 5276: //CMP2.W <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_001_011_mmm_rrr-rnnn_000_000_000_000 5277: //CHK2.W <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_001_011_mmm_rrr-rnnn_100_000_000_000 5278: public static StringBuilder disCmp2Chk2Word (StringBuilder sb) { 5279: int ea = disOC & 63; 5280: if (XEiJ.EAM_CNT << ea < 0L) { 5281: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 5282: if ((w & ~0b1111_100_000_000_000) == 0) { 5283: return disRn (disEaw (sb.append ((w & 0b0000_100_000_000_000) == 0 ? "cmp2.w " : "chk2.w "), ea).append (','), w >> 12); 5284: } 5285: return disIllegal (sb); 5286: } 5287: int mmm = ea >> 3; 5288: int rrr = ea & 7; 5289: if (mmm == XEiJ.MMM_DR) { 5290: return disDR (sb.append ("byterev.l "), rrr); 5291: } 5292: return disIllegal (sb); 5293: } //disCmp2Chk2Word(StringBuilder) 5294: 5295: //FF1.L Dr ------|-|-UUUU|-**00| |0000_010_011_000_rrr (ISA_C) 5296: //CMP2.L <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_010_011_mmm_rrr-rnnn_000_000_000_000 5297: //CHK2.L <ea>,Rn --234S|-|-UUUU|-U*U*| M WXZP |0000_010_011_mmm_rrr-rnnn_100_000_000_000 5298: public static StringBuilder disCmp2Chk2Long (StringBuilder sb) { 5299: int ea = disOC & 63; 5300: if (XEiJ.EAM_CNT << ea < 0L) { 5301: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 5302: if ((w & ~0b1111_100_000_000_000) == 0) { 5303: return disRn (disEal (sb.append ((w & 0b0000_100_000_000_000) == 0 ? "cmp2.l " : "chk2.l "), ea).append (','), w >> 12); 5304: } 5305: return disIllegal (sb); 5306: } 5307: int mmm = ea >> 3; 5308: int rrr = ea & 7; 5309: if (mmm == XEiJ.MMM_DR) { 5310: return disDR (sb.append ("ff1.l "), rrr); 5311: } 5312: return disIllegal (sb); 5313: } //disCmp2Chk2Long(StringBuilder) 5314: 5315: //ADDI.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_011_000_mmm_rrr-{data} 5316: public static StringBuilder disAddiByte (StringBuilder sb) { 5317: int ea = disOC & 63; 5318: if (XEiJ.EAM_DLT << ea < 0L) { 5319: return disEab (disIMb (sb.append ("addi.b ")).append (','), ea); 5320: } 5321: return disIllegal (sb); 5322: } //disAddiByte(StringBuilder) 5323: 5324: //ADDI.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_011_001_mmm_rrr-{data} 5325: public static StringBuilder disAddiWord (StringBuilder sb) { 5326: int ea = disOC & 63; 5327: if (XEiJ.EAM_DLT << ea < 0L) { 5328: return disEaw (disIMw (sb.append ("addi.w ")).append (','), ea); 5329: } 5330: return disIllegal (sb); 5331: } //disAddiWord(StringBuilder) 5332: 5333: //ADDI.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0000_011_010_mmm_rrr-{data} 5334: public static StringBuilder disAddiLong (StringBuilder sb) { 5335: int ea = disOC & 63; 5336: if (XEiJ.EAM_DLT << ea < 0L) { 5337: return disEal (disIMl (sb.append ("addi.l ")).append (','), ea); 5338: } 5339: return disIllegal (sb); 5340: } //disAddiLong(StringBuilder) 5341: 5342: //RTM Rn --2---|-|UUUUU|*****| |0000_011_011_00n_nnn 5343: //CALLM #<data>,<ea> --2---|-|-----|-----| M WXZP |0000_011_011_mmm_rrr-0000_000_0dd_ddd_ddd 5344: public static StringBuilder disCallm (StringBuilder sb) { 5345: int ea = disOC & 63; 5346: if (XEiJ.EAM_CNT << ea < 0L) { 5347: return disEaw (disIMb (sb.append ("callm ")).append (','), ea); 5348: } 5349: if (ea <= 15) { 5350: return disRn (sb.append ("rtm "), ea); 5351: } 5352: return disIllegal (sb); 5353: } //disCallm(StringBuilder) 5354: 5355: public static final String[] DIS_BXXX = { "btst", "bchg", "bclr", "bset" }; 5356: 5357: //BTST.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_000_000_rrr-{data} 5358: //BTST.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZP |0000_100_000_mmm_rrr-{data} 5359: public static StringBuilder disBtstImm (StringBuilder sb) { 5360: int ea = disOC & 63; 5361: if (XEiJ.EAM_MEM << ea < 0L) { 5362: return disEab (disIMb (sb.append ("btst.b ")).append (','), ea); 5363: } 5364: int mmm = ea >> 3; 5365: int rrr = ea & 7; 5366: if (mmm == XEiJ.MMM_DR) { 5367: return disDR (disIMb (sb.append ("btst.l ")).append (','), rrr); 5368: } 5369: return disIllegal (sb); 5370: } //disBtstImm(StringBuilder) 5371: 5372: //BCHG.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_001_000_rrr-{data} 5373: //BCHG.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_100_001_mmm_rrr-{data} 5374: public static StringBuilder disBchgImm (StringBuilder sb) { 5375: int ea = disOC & 63; 5376: if (XEiJ.EAM_MLT << ea < 0L) { 5377: return disEab (disIMb (sb.append ("bchg.b ")).append (','), ea); 5378: } 5379: int mmm = ea >> 3; 5380: int rrr = ea & 7; 5381: if (mmm == XEiJ.MMM_DR) { 5382: return disDR (disIMb (sb.append ("bchg.l ")).append (','), rrr); 5383: } 5384: return disIllegal (sb); 5385: } //disBchgImm(StringBuilder) 5386: 5387: //BCLR.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_010_000_rrr-{data} 5388: //BCLR.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_100_010_mmm_rrr-{data} 5389: public static StringBuilder disBclrImm (StringBuilder sb) { 5390: int ea = disOC & 63; 5391: if (XEiJ.EAM_MLT << ea < 0L) { 5392: return disEab (disIMb (sb.append ("bclr.b ")).append (','), ea); 5393: } 5394: int mmm = ea >> 3; 5395: int rrr = ea & 7; 5396: if (mmm == XEiJ.MMM_DR) { 5397: return disDR (disIMb (sb.append ("bclr.l ")).append (','), rrr); 5398: } 5399: return disIllegal (sb); 5400: } //disBclrImm(StringBuilder) 5401: 5402: //BSET.L #<data>,Dr 012346|-|--U--|--*--| |0000_100_011_000_rrr-{data} 5403: //BSET.B #<data>,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_100_011_mmm_rrr-{data} 5404: public static StringBuilder disBsetImm (StringBuilder sb) { 5405: int ea = disOC & 63; 5406: if (XEiJ.EAM_MLT << ea < 0L) { 5407: return disEab (disIMb (sb.append ("bset.b ")).append (','), ea); 5408: } 5409: int mmm = ea >> 3; 5410: int rrr = ea & 7; 5411: if (mmm == XEiJ.MMM_DR) { 5412: return disDR (disIMb (sb.append ("bset.l ")).append (','), rrr); 5413: } 5414: return disIllegal (sb); 5415: } //disBsetImm(StringBuilder) 5416: 5417: //EORI.B #<data>,CCR 012346|-|*****|*****| |0000_101_000_111_100-{data} 5418: //EORI.B #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_101_000_mmm_rrr-{data} 5419: public static StringBuilder disEoriByte (StringBuilder sb) { 5420: int ea = disOC & 63; 5421: if (XEiJ.EAM_DLT << ea < 0L) { 5422: return disEab (disIMb (sb.append ("eori.b ")).append (','), ea); 5423: } 5424: if (ea == 0b111_100) { 5425: return disIMb (sb.append ("eori.b ")).append (",ccr"); 5426: } 5427: return disIllegal (sb); 5428: } //disEoriByte(StringBuilder) 5429: 5430: //EORI.W #<data>,SR 012346|P|*****|*****| |0000_101_001_111_100-{data} 5431: //EORI.W #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_101_001_mmm_rrr-{data} 5432: public static StringBuilder disEoriWord (StringBuilder sb) { 5433: int ea = disOC & 63; 5434: if (XEiJ.EAM_DLT << ea < 0L) { 5435: return disEaw (disIMw (sb.append ("eori.w ")).append (','), ea); 5436: } 5437: if (ea == 0b111_100) { 5438: return disIMw (sb.append ("eori.w ")).append (",sr"); 5439: } 5440: return disIllegal (sb); 5441: } //disEoriWord(StringBuilder) 5442: 5443: //EORI.L #<data>,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |0000_101_010_mmm_rrr-{data} 5444: public static StringBuilder disEoriLong (StringBuilder sb) { 5445: int ea = disOC & 63; 5446: if (XEiJ.EAM_DLT << ea < 0L) { 5447: return disEal (disIMl (sb.append ("eori.l ")).append (','), ea); 5448: } 5449: return disIllegal (sb); 5450: } //disEoriLong(StringBuilder) 5451: 5452: //CAS.B Dc,Du,<ea> --2346|-|-UUUU|-****| M+-WXZ |0000_101_011_mmm_rrr-0000_000_uuu_000_ccc 5453: public static StringBuilder disCasByte (StringBuilder sb) { 5454: int ea = disOC & 63; 5455: if (XEiJ.EAM_MLT << ea < 0L) { 5456: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5457: if ((w & ~0b0000_000_111_000_111) == 0) { 5458: return disEab (disDR (disDR (sb.append ("cas.b "), 5459: w & 7).append (','), 5460: w >> 6 & 7).append (','), 5461: ea); 5462: } 5463: } 5464: return disIllegal (sb); 5465: } //disCasByte(StringBuilder) 5466: 5467: //CMPI.B #<data>,<ea> 012346|-|-UUUU|-****|D M+-WXZ |0000_110_000_mmm_rrr-{data} 5468: //CMPI.B #<data>,<ea> --2346|-|-UUUU|-****| P |0000_110_000_mmm_rrr-{data} 5469: public static StringBuilder disCmpiByte (StringBuilder sb) { 5470: int ea = disOC & 63; 5471: if (XEiJ.EAM_DME << ea < 0L) { 5472: return disEab (disIMb (sb.append ("cmpi.b ")).append (','), ea); 5473: } 5474: return disIllegal (sb); 5475: } //disCmpiByte(StringBuilder) 5476: 5477: //CMPI.W #<data>,<ea> 012346|-|-UUUU|-****|D M+-WXZ |0000_110_001_mmm_rrr-{data} 5478: //CMPI.W #<data>,<ea> --2346|-|-UUUU|-****| P |0000_110_001_mmm_rrr-{data} 5479: public static StringBuilder disCmpiWord (StringBuilder sb) { 5480: int ea = disOC & 63; 5481: if (XEiJ.EAM_DME << ea < 0L) { 5482: return disEaw (disIMw (sb.append ("cmpi.w ")).append (','), ea); 5483: } 5484: return disIllegal (sb); 5485: } //disCmpiWord(StringBuilder) 5486: 5487: //CMPI.L #<data>,<ea> 012346|-|-UUUU|-****|D M+-WXZ |0000_110_010_mmm_rrr-{data} 5488: //CMPI.L #<data>,<ea> --2346|-|-UUUU|-****| P |0000_110_010_mmm_rrr-{data} 5489: public static StringBuilder disCmpiLong (StringBuilder sb) { 5490: int ea = disOC & 63; 5491: if (XEiJ.EAM_DME << ea < 0L) { 5492: return disEal (disIMl (sb.append ("cmpi.l ")).append (','), ea); 5493: } 5494: return disIllegal (sb); 5495: } //disCmpiLong(StringBuilder) 5496: 5497: //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) 5498: //CAS.W Dc,Du,<ea> --2346|-|-UUUU|-****| M+-WXZ |0000_110_011_mmm_rrr-0000_000_uuu_000_ccc (68060 software emulate misaligned <ea>) 5499: public static StringBuilder disCasWord (StringBuilder sb) { 5500: int ea = disOC & 63; 5501: if (XEiJ.EAM_MLT << ea < 0L) { 5502: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5503: if ((w & ~0b0000_000_111_000_111) == 0) { 5504: return disEaw (disDR (disDR (sb.append ("cas.w "), 5505: w & 7).append (','), 5506: w >> 6 & 7).append (','), 5507: ea); 5508: } 5509: } else if (ea == 0b111_100) { 5510: int w1 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5511: if ((w1 & ~0b1111_000_111_000_111) == 0) { 5512: int w2 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5513: if ((w2 & ~0b1111_000_111_000_111) == 0) { 5514: return disRn (disRn (disDR (disDR (disDR (disDR (sb.append ("cas2.w "), 5515: w1 & 7).append (':'), 5516: w2 & 7).append (','), 5517: w1 >> 6 & 7).append (':'), 5518: w2 >> 6 & 7).append (",("), 5519: w1 >> 12).append ("):("), 5520: w2 >> 12).append (')'); 5521: } 5522: } 5523: } 5524: return disIllegal (sb); 5525: } //disCasWord(StringBuilder) 5526: 5527: //MOVES.B <ea>,Rn -12346|P|-----|-----| M+-WXZ |0000_111_000_mmm_rrr-rnnn_000_000_000_000 5528: //MOVES.B Rn,<ea> -12346|P|-----|-----| M+-WXZ |0000_111_000_mmm_rrr-rnnn_100_000_000_000 5529: // MOVES.B An,(An)+とMOVES.B An,-(An)で書き込まれるAnが更新前か更新後かは定義されていない 5530: public static StringBuilder disMovesByte (StringBuilder sb) { 5531: int ea = disOC & 63; 5532: if (XEiJ.EAM_MLT << ea < 0L) { 5533: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5534: if ((w & ~0b1111_100_000_000_000) == 0) { 5535: if ((w & 0b0000_100_000_000_000) == 0) { 5536: return disRn (disEab (sb.append ("moves.b "), ea).append (','), w >> 12); 5537: } else { 5538: return disEab (disRn (sb.append ("moves.b "), w >> 12).append (','), ea); 5539: } 5540: } 5541: } 5542: return disIllegal (sb); 5543: } //disMovesByte(StringBuilder) 5544: 5545: //MOVES.W <ea>,Rn -12346|P|-----|-----| M+-WXZ |0000_111_001_mmm_rrr-rnnn_000_000_000_000 5546: //MOVES.W Rn,<ea> -12346|P|-----|-----| M+-WXZ |0000_111_001_mmm_rrr-rnnn_100_000_000_000 5547: // MOVES.W An,(An)+とMOVES.W An,-(An)で書き込まれるAnが更新前か更新後かは定義されていない 5548: public static StringBuilder disMovesWord (StringBuilder sb) { 5549: int ea = disOC & 63; 5550: if (XEiJ.EAM_MLT << ea < 0L) { 5551: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5552: if ((w & ~0b1111_100_000_000_000) == 0) { 5553: if ((w & 0b0000_100_000_000_000) == 0) { 5554: return disRn (disEaw (sb.append ("moves.w "), ea).append (','), w >> 12); 5555: } else { 5556: return disEaw (disRn (sb.append ("moves.w "), w >> 12).append (','), ea); 5557: } 5558: } 5559: } 5560: return disIllegal (sb); 5561: } //disMovesWord(StringBuilder) 5562: 5563: //MOVES.L <ea>,Rn -12346|P|-----|-----| M+-WXZ |0000_111_010_mmm_rrr-rnnn_000_000_000_000 5564: //MOVES.L Rn,<ea> -12346|P|-----|-----| M+-WXZ |0000_111_010_mmm_rrr-rnnn_100_000_000_000 5565: // MOVES.L An,(An)+とMOVES.L An,-(An)で書き込まれるAnが更新前か更新後かは定義されていない 5566: public static StringBuilder disMovesLong (StringBuilder sb) { 5567: int ea = disOC & 63; 5568: if (XEiJ.EAM_MLT << ea < 0L) { 5569: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5570: if ((w & ~0b1111_100_000_000_000) == 0) { 5571: if ((w & 0b0000_100_000_000_000) == 0) { 5572: return disRn (disEal (sb.append ("moves.l "), ea).append (','), w >> 12); 5573: } else { 5574: return disEal (disRn (sb.append ("moves.l "), w >> 12).append (','), ea); 5575: } 5576: } 5577: } 5578: return disIllegal (sb); 5579: } //disMovesLong(StringBuilder) 5580: 5581: //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) 5582: //CAS.L Dc,Du,<ea> --2346|-|-UUUU|-****| M+-WXZ |0000_111_011_mmm_rrr-0000_000_uuu_000_ccc (68060 software emulate misaligned <ea>) 5583: public static StringBuilder disCasLong (StringBuilder sb) { 5584: int ea = disOC & 63; 5585: if (XEiJ.EAM_MLT << ea < 0L) { 5586: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5587: if ((w & ~0b0000_000_111_000_111) == 0) { 5588: return disEal (disDR (disDR (sb.append ("cas.l "), 5589: w & 7).append (','), 5590: w >> 6 & 7).append (','), 5591: ea); 5592: } 5593: } else if (ea == 0b111_100) { 5594: int w1 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5595: if ((w1 & ~0b1111_000_111_000_111) == 0) { 5596: int w2 = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 5597: if ((w2 & ~0b1111_000_111_000_111) == 0) { 5598: return disRn (disRn (disDR (disDR (disDR (disDR (sb.append ("cas2.l "), 5599: w1 & 7).append (':'), 5600: w2 & 7).append (','), 5601: w1 >> 6 & 7).append (':'), 5602: w2 >> 6 & 7).append (",("), 5603: w1 >> 12).append ("):("), 5604: w2 >> 12).append (')'); 5605: } 5606: } 5607: } 5608: return disIllegal (sb); 5609: } //disCasLong(StringBuilder) 5610: 5611: //BTST.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_100_000_rrr 5612: //MOVEP.W (d16,Ar),Dq 01234S|-|-----|-----| |0000_qqq_100_001_rrr-{data} 5613: //BTST.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZPI|0000_qqq_100_mmm_rrr 5614: public static StringBuilder disBtstReg (StringBuilder sb) { 5615: int qqq = disOC >> 9 & 7; 5616: int ea = disOC & 63; 5617: if (XEiJ.EAM_ANY << ea < 0L) { 5618: return disEab (disDR (sb.append ("btst.b "), qqq).append (','), ea); 5619: } 5620: int mmm = ea >> 3; 5621: int rrr = ea & 7; 5622: if (mmm == XEiJ.MMM_DR) { 5623: return disDR (disDR (sb.append ("btst.l "), qqq).append (','), rrr); 5624: } 5625: if (mmm == XEiJ.MMM_AR) { 5626: return disDR (disMW (sb.append ("movep.w "), rrr).append (','), qqq); 5627: } 5628: return disIllegal (sb); 5629: } //disBtstReg(StringBuilder) 5630: 5631: //BCHG.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_101_000_rrr 5632: //MOVEP.L (d16,Ar),Dq 01234S|-|-----|-----| |0000_qqq_101_001_rrr-{data} 5633: //BCHG.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_qqq_101_mmm_rrr 5634: public static StringBuilder disBchgReg (StringBuilder sb) { 5635: int qqq = disOC >> 9 & 7; 5636: int ea = disOC & 63; 5637: if (XEiJ.EAM_MLT << ea < 0L) { 5638: return disEab (disDR (sb.append ("bchg.b "), qqq).append (','), ea); 5639: } 5640: int mmm = ea >> 3; 5641: int rrr = ea & 7; 5642: if (mmm == XEiJ.MMM_DR) { 5643: return disDR (disDR (sb.append ("bchg.l "), qqq).append (','), rrr); 5644: } 5645: if (mmm == XEiJ.MMM_AR) { 5646: return disDR (disMW (sb.append ("movep.l "), rrr).append (','), qqq); 5647: } 5648: return disIllegal (sb); 5649: } //disBchgReg(StringBuilder) 5650: 5651: //BCLR.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_110_000_rrr 5652: //MOVEP.W Dq,(d16,Ar) 01234S|-|-----|-----| |0000_qqq_110_001_rrr-{data} 5653: //BCLR.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_qqq_110_mmm_rrr 5654: public static StringBuilder disBclrReg (StringBuilder sb) { 5655: int qqq = disOC >> 9 & 7; 5656: int ea = disOC & 63; 5657: if (XEiJ.EAM_MLT << ea < 0L) { 5658: return disEab (disDR (sb.append ("bclr.b "), qqq).append (','), ea); 5659: } 5660: int mmm = ea >> 3; 5661: int rrr = ea & 7; 5662: if (mmm == XEiJ.MMM_DR) { 5663: return disDR (disDR (sb.append ("bclr.l "), qqq).append (','), rrr); 5664: } 5665: if (mmm == XEiJ.MMM_AR) { 5666: return disMW (disDR (sb.append ("movep.w "), qqq).append (','), rrr); 5667: } 5668: return disIllegal (sb); 5669: } //disBclrReg(StringBuilder) 5670: 5671: //BSET.L Dq,Dr 012346|-|--U--|--*--| |0000_qqq_111_000_rrr 5672: //MOVEP.L Dq,(d16,Ar) 01234S|-|-----|-----| |0000_qqq_111_001_rrr-{data} 5673: //BSET.B Dq,<ea> 012346|-|--U--|--*--| M+-WXZ |0000_qqq_111_mmm_rrr 5674: public static StringBuilder disBsetReg (StringBuilder sb) { 5675: int qqq = disOC >> 9 & 7; 5676: int ea = disOC & 63; 5677: if (XEiJ.EAM_MLT << ea < 0L) { 5678: return disEab (disDR (sb.append ("bset.b "), qqq).append (','), ea); 5679: } 5680: int mmm = ea >> 3; 5681: int rrr = ea & 7; 5682: if (mmm == XEiJ.MMM_DR) { 5683: return disDR (disDR (sb.append ("bset.l "), qqq).append (','), rrr); 5684: } 5685: if (mmm == XEiJ.MMM_AR) { 5686: return disMW (disDR (sb.append ("movep.l "), qqq).append (','), rrr); 5687: } 5688: return disIllegal (sb); 5689: } //disBsetReg(StringBuilder) 5690: 5691: //MOVE.B <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_000_mmm_rrr 5692: public static StringBuilder disMoveToRegByte (StringBuilder sb) { 5693: int qqq = disOC >> 9 & 7; 5694: int ea = disOC & 63; 5695: if (XEiJ.EAM_DAT << ea < 0L) { 5696: return disDR (disEab (sb.append ("move.b "), ea).append (','), qqq); 5697: } 5698: return disIllegal (sb); 5699: } //disMoveToRegByte(StringBuilder) 5700: 5701: //MOVE.B <ea>,<nnnqqq> 012346|-|-UUUU|-**00|D M+-WXZPI|0001_qqq_nnn_mmm_rrr (nnnqqq:M+-WXZ) 5702: public static StringBuilder disMoveToMemByte (StringBuilder sb) { 5703: int qqq = disOC >> 9 & 7; 5704: int nnn = disOC >> 6 & 7; 5705: int ea = disOC & 63; 5706: if (XEiJ.EAM_DAT << ea < 0L) { 5707: return disEab (disEab (sb.append ("move.b "), ea).append (','), nnn << 3 | qqq); 5708: } 5709: return disIllegal (sb); 5710: } //disMoveToMemByte(StringBuilder) 5711: 5712: //MOVE.L <ea>,Dq 012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_000_mmm_rrr 5713: public static StringBuilder disMoveToRegLong (StringBuilder sb) { 5714: int qqq = disOC >> 9 & 7; 5715: int ea = disOC & 63; 5716: if (XEiJ.EAM_ALL << ea < 0L) { 5717: return disDR (disEal (sb.append ("move.l "), ea).append (','), qqq); 5718: } 5719: return disIllegal (sb); 5720: } //disMoveToRegLong(StringBuilder) 5721: 5722: //MOVEA.L <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|0010_qqq_001_mmm_rrr 5723: public static StringBuilder disMoveaLong (StringBuilder sb) { 5724: int qqq = disOC >> 9 & 7; 5725: int ea = disOC & 63; 5726: if (XEiJ.EAM_ALL << ea < 0L) { 5727: return disAR (disEal (sb.append ("movea.l "), ea).append (','), qqq); 5728: } 5729: return disIllegal (sb); 5730: } //disMoveaLong(StringBuilder) 5731: 5732: //MOVE.L <ea>,<nnnqqq> 012346|-|-UUUU|-**00|DAM+-WXZPI|0010_qqq_nnn_mmm_rrr (nnnqqq:M+-WXZ) 5733: public static StringBuilder disMoveToMemLong (StringBuilder sb) { 5734: int qqq = disOC >> 9 & 7; 5735: int nnn = disOC >> 6 & 7; 5736: int ea = disOC & 63; 5737: if (XEiJ.EAM_ALL << ea < 0L) { 5738: return disEal (disEal (sb.append ("move.l "), ea).append (','), nnn << 3 | qqq); 5739: } 5740: return disIllegal (sb); 5741: } //disMoveToMemLong(StringBuilder) 5742: 5743: //MOVE.W <ea>,Dq 012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_000_mmm_rrr 5744: public static StringBuilder disMoveToRegWord (StringBuilder sb) { 5745: int qqq = disOC >> 9 & 7; 5746: int ea = disOC & 63; 5747: if (XEiJ.EAM_ALL << ea < 0L) { 5748: return disDR (disEaw (sb.append ("move.w "), ea).append (','), qqq); 5749: } 5750: return disIllegal (sb); 5751: } //disMoveToRegWord(StringBuilder) 5752: 5753: //MOVEA.W <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|0011_qqq_001_mmm_rrr 5754: public static StringBuilder disMoveaWord (StringBuilder sb) { 5755: int qqq = disOC >> 9 & 7; 5756: int ea = disOC & 63; 5757: if (XEiJ.EAM_ALL << ea < 0L) { 5758: return disAR (disEaw (sb.append ("movea.w "), ea).append (','), qqq); 5759: } 5760: return disIllegal (sb); 5761: } //disMoveaWord(StringBuilder) 5762: 5763: //MOVE.W <ea>,<nnnqqq> 012346|-|-UUUU|-**00|DAM+-WXZPI|0011_qqq_nnn_mmm_rrr (nnnqqq:M+-WXZ) 5764: public static StringBuilder disMoveToMemWord (StringBuilder sb) { 5765: int qqq = disOC >> 9 & 7; 5766: int nnn = disOC >> 6 & 7; 5767: int ea = disOC & 63; 5768: if (XEiJ.EAM_ALL << ea < 0L) { 5769: return disEaw (disEaw (sb.append ("move.w "), ea).append (','), nnn << 3 | qqq); 5770: } 5771: return disIllegal (sb); 5772: } //disMoveToMemWord(StringBuilder) 5773: 5774: //NEGX.B <ea> 012346|-|*UUUU|*****|D M+-WXZ |0100_000_000_mmm_rrr 5775: public static StringBuilder disNegxByte (StringBuilder sb) { 5776: int ea = disOC & 63; 5777: if (XEiJ.EAM_DLT << ea < 0L) { 5778: return disEab (sb.append ("negx.b "), ea); 5779: } 5780: return disIllegal (sb); 5781: } //disNegxByte(StringBuilder) 5782: 5783: //NEGX.W <ea> 012346|-|*UUUU|*****|D M+-WXZ |0100_000_001_mmm_rrr 5784: public static StringBuilder disNegxWord (StringBuilder sb) { 5785: int ea = disOC & 63; 5786: if (XEiJ.EAM_DLT << ea < 0L) { 5787: return disEaw (sb.append ("negx.w "), ea); 5788: } 5789: return disIllegal (sb); 5790: } //disNegxWord(StringBuilder) 5791: 5792: //NEGX.L <ea> 012346|-|*UUUU|*****|D M+-WXZ |0100_000_010_mmm_rrr 5793: public static StringBuilder disNegxLong (StringBuilder sb) { 5794: int ea = disOC & 63; 5795: if (XEiJ.EAM_DLT << ea < 0L) { 5796: return disEal (sb.append ("negx.l "), ea); 5797: } 5798: return disIllegal (sb); 5799: } //disNegxLong(StringBuilder) 5800: 5801: //STRLDSR.W #<data> ------|P|*****|*****| |0100_000_011_100_111-0100_011_011_111_100-{data} (ISA_C) 5802: //MOVE.W SR,<ea> 0-----|-|*****|-----|D M+-WXZ |0100_000_011_mmm_rrr (68000 and 68008 read before move) 5803: //MOVE.W SR,<ea> -12346|P|*****|-----|D M+-WXZ |0100_000_011_mmm_rrr 5804: public static StringBuilder disMoveFromSR (StringBuilder sb) { 5805: int ea = disOC & 63; 5806: if (XEiJ.EAM_DLT << ea < 0L) { 5807: return disEaw (sb.append ("move.w sr,"), ea); 5808: } 5809: return disIllegal (sb); 5810: } //disMoveFromSR(StringBuilder) 5811: 5812: //CLR.B <ea> 012346|-|-UUUU|-0100|D M+-WXZ |0100_001_000_mmm_rrr (68000 and 68008 read before clear) 5813: public static StringBuilder disClrByte (StringBuilder sb) { 5814: int ea = disOC & 63; 5815: if (XEiJ.EAM_DLT << ea < 0L) { 5816: return disEab (sb.append ("clr.b "), ea); 5817: } 5818: return disIllegal (sb); 5819: } //disClrByte(StringBuilder) 5820: 5821: //CLR.W <ea> 012346|-|-UUUU|-0100|D M+-WXZ |0100_001_001_mmm_rrr (68000 and 68008 read before clear) 5822: public static StringBuilder disClrWord (StringBuilder sb) { 5823: int ea = disOC & 63; 5824: if (XEiJ.EAM_DLT << ea < 0L) { 5825: return disEaw (sb.append ("clr.w "), ea); 5826: } 5827: return disIllegal (sb); 5828: } //disClrWord(StringBuilder) 5829: 5830: //CLR.L <ea> 012346|-|-UUUU|-0100|D M+-WXZ |0100_001_010_mmm_rrr (68000 and 68008 read before clear) 5831: public static StringBuilder disClrLong (StringBuilder sb) { 5832: int ea = disOC & 63; 5833: if (XEiJ.EAM_DLT << ea < 0L) { 5834: return disEal (sb.append ("clr.l "), ea); 5835: } 5836: return disIllegal (sb); 5837: } //disClrLong(StringBuilder) 5838: 5839: //MOVE.W CCR,<ea> -12346|-|*****|-----|D M+-WXZ |0100_001_011_mmm_rrr 5840: public static StringBuilder disMoveFromCCR (StringBuilder sb) { 5841: int ea = disOC & 63; 5842: if (XEiJ.EAM_DLT << ea < 0L) { 5843: return disEaw (sb.append ("move.w ccr,"), ea); 5844: } 5845: return disIllegal (sb); 5846: } //disMoveFromCCR(StringBuilder) 5847: 5848: //NEG.B <ea> 012346|-|UUUUU|*****|D M+-WXZ |0100_010_000_mmm_rrr 5849: public static StringBuilder disNegByte (StringBuilder sb) { 5850: int ea = disOC & 63; 5851: if (XEiJ.EAM_DLT << ea < 0L) { 5852: return disEab (sb.append ("neg.b "), ea); 5853: } 5854: return disIllegal (sb); 5855: } //disNegByte(StringBuilder) 5856: 5857: //NEG.W <ea> 012346|-|UUUUU|*****|D M+-WXZ |0100_010_001_mmm_rrr 5858: public static StringBuilder disNegWord (StringBuilder sb) { 5859: int ea = disOC & 63; 5860: if (XEiJ.EAM_DLT << ea < 0L) { 5861: return disEaw (sb.append ("neg.w "), ea); 5862: } 5863: return disIllegal (sb); 5864: } //disNegWord(StringBuilder) 5865: 5866: //NEG.L <ea> 012346|-|UUUUU|*****|D M+-WXZ |0100_010_010_mmm_rrr 5867: public static StringBuilder disNegLong (StringBuilder sb) { 5868: int ea = disOC & 63; 5869: if (XEiJ.EAM_DLT << ea < 0L) { 5870: return disEal (sb.append ("neg.l "), ea); 5871: } 5872: return disIllegal (sb); 5873: } //disNegLong(StringBuilder) 5874: 5875: //MOVE.W <ea>,CCR 012346|-|UUUUU|*****|D M+-WXZPI|0100_010_011_mmm_rrr 5876: public static StringBuilder disMoveToCCR (StringBuilder sb) { 5877: int ea = disOC & 63; 5878: if (XEiJ.EAM_DAT << ea < 0L) { 5879: return disEaw (sb.append ("move.w "), ea).append (",ccr"); 5880: } 5881: return disIllegal (sb); 5882: } //disMoveToCCR(StringBuilder) 5883: 5884: //NOT.B <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_011_000_mmm_rrr 5885: public static StringBuilder disNotByte (StringBuilder sb) { 5886: int ea = disOC & 63; 5887: if (XEiJ.EAM_DLT << ea < 0L) { 5888: return disEab (sb.append ("not.b "), ea); 5889: } 5890: return disIllegal (sb); 5891: } //disNotByte(StringBuilder) 5892: 5893: //NOT.W <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_011_001_mmm_rrr 5894: public static StringBuilder disNotWord (StringBuilder sb) { 5895: int ea = disOC & 63; 5896: if (XEiJ.EAM_DLT << ea < 0L) { 5897: return disEaw (sb.append ("not.w "), ea); 5898: } 5899: return disIllegal (sb); 5900: } //disNotWord(StringBuilder) 5901: 5902: //NOT.L <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_011_010_mmm_rrr 5903: public static StringBuilder disNotLong (StringBuilder sb) { 5904: int ea = disOC & 63; 5905: if (XEiJ.EAM_DLT << ea < 0L) { 5906: return disEal (sb.append ("not.l "), ea); 5907: } 5908: return disIllegal (sb); 5909: } //disNotLong(StringBuilder) 5910: 5911: //MOVE.W <ea>,SR 012346|P|UUUUU|*****|D M+-WXZPI|0100_011_011_mmm_rrr 5912: public static StringBuilder disMoveToSR (StringBuilder sb) { 5913: int ea = disOC & 63; 5914: if (XEiJ.EAM_DAT << ea < 0L) { 5915: return disEaw (sb.append ("move.w "), ea).append (",sr"); 5916: } 5917: return disIllegal (sb); 5918: } //disMoveToSR(StringBuilder) 5919: 5920: //LINK.L Ar,#<data> --2346|-|-----|-----| |0100_100_000_001_rrr-{data} 5921: //NBCD.B <ea> 012346|-|UUUUU|*U*U*|D M+-WXZ |0100_100_000_mmm_rrr 5922: public static StringBuilder disNbcd (StringBuilder sb) { 5923: int ea = disOC & 63; 5924: if (XEiJ.EAM_DLT << ea < 0L) { 5925: return disEab (sb.append ("nbcd.b "), ea); 5926: } 5927: int rrr = ea & 7; 5928: if (ea == XEiJ.EA_AR) { 5929: return disIMl (disAR (sb.append ("link.l "), rrr).append (",")); 5930: } 5931: return disIllegal (sb); 5932: } //disNbcd(StringBuilder) 5933: 5934: //SWAP.W Dr 012346|-|-UUUU|-**00| |0100_100_001_000_rrr 5935: //BKPT #<data> -12346|-|-----|-----| |0100_100_001_001_ddd 5936: //PEA.L <ea> 012346|-|-----|-----| M WXZP |0100_100_001_mmm_rrr 5937: public static StringBuilder disPea (StringBuilder sb) { 5938: int ea = disOC & 63; 5939: if (XEiJ.EAM_CNT << ea < 0L) { 5940: return disEaz (sb.append ("pea.l "), ea); 5941: } 5942: int mmm = ea >> 3; 5943: int rrr = ea & 7; 5944: if (mmm == XEiJ.MMM_DR) { 5945: return disDR (sb.append ("swap.w "), rrr); 5946: } 5947: if (mmm == XEiJ.MMM_AR) { 5948: return disHex2 (sb.append ("bkpt #"), rrr); 5949: } 5950: return disIllegal (sb); 5951: } //disPea(StringBuilder) 5952: 5953: //EXT.W Dr 012346|-|-UUUU|-**00| |0100_100_010_000_rrr 5954: //MOVEM.W <list>,<ea> 012346|-|-----|-----| M -WXZ |0100_100_010_mmm_rrr-llllllllllllllll 5955: public static StringBuilder disMovemToMemWord (StringBuilder sb) { 5956: int ea = disOC & 63; 5957: if (XEiJ.EAM_WTL << ea < 0L) { 5958: return disEaw (disLst (sb.append ("movem.w "), ea >> 3 == XEiJ.MMM_MN).append (','), ea); 5959: } 5960: int mmm = ea >> 3; 5961: int rrr = ea & 7; 5962: if (mmm == XEiJ.MMM_DR) { 5963: return disDR (sb.append ("ext.w "), rrr); 5964: } 5965: return disIllegal (sb); 5966: } //disMovemToMemWord(StringBuilder) 5967: 5968: //EXT.L Dr 012346|-|-UUUU|-**00| |0100_100_011_000_rrr 5969: //MOVEM.L <list>,<ea> 012346|-|-----|-----| M -WXZ |0100_100_011_mmm_rrr-llllllllllllllll 5970: public static StringBuilder disMovemToMemLong (StringBuilder sb) { 5971: int ea = disOC & 63; 5972: if (XEiJ.EAM_WTL << ea < 0L) { 5973: return disEal (disLst (sb.append ("movem.l "), ea >> 3 == XEiJ.MMM_MN).append (','), ea); 5974: } 5975: int mmm = ea >> 3; 5976: int rrr = ea & 7; 5977: if (mmm == XEiJ.MMM_DR) { 5978: return disDR (sb.append ("ext.l "), rrr); 5979: } 5980: return disIllegal (sb); 5981: } //disMovemToMemLong(StringBuilder) 5982: 5983: //TST.B <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_000_mmm_rrr 5984: //TST.B <ea> --2346|-|-UUUU|-**00| PI|0100_101_000_mmm_rrr 5985: public static StringBuilder disTstByte (StringBuilder sb) { 5986: int ea = disOC & 63; 5987: if (XEiJ.EAM_DAT << ea < 0L) { 5988: return disEab (sb.append ("tst.b "), ea); 5989: } 5990: return disIllegal (sb); 5991: } //disTstByte(StringBuilder) 5992: 5993: //TST.W <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_001_mmm_rrr 5994: //TST.W <ea> --2346|-|-UUUU|-**00| A PI|0100_101_001_mmm_rrr 5995: public static StringBuilder disTstWord (StringBuilder sb) { 5996: int ea = disOC & 63; 5997: if (XEiJ.EAM_ALL << ea < 0L) { 5998: return disEaw (sb.append ("tst.w "), ea); 5999: } 6000: return disIllegal (sb); 6001: } //disTstWord(StringBuilder) 6002: 6003: //TST.L <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_010_mmm_rrr 6004: //TST.L <ea> --2346|-|-UUUU|-**00| A PI|0100_101_010_mmm_rrr 6005: public static StringBuilder disTstLong (StringBuilder sb) { 6006: int ea = disOC & 63; 6007: if (XEiJ.EAM_ALL << ea < 0L) { 6008: return disEal (sb.append ("tst.l "), ea); 6009: } 6010: return disIllegal (sb); 6011: } //disTstLong(StringBuilder) 6012: 6013: //HALT ------|P|-----|-----| |0100_101_011_001_000 (ISA_A) 6014: //PULSE ------|-|-----|-----| |0100_101_011_001_100 (ISA_A) 6015: //ILLEGAL 012346|-|-----|-----| |0100_101_011_111_100 6016: //TAS.B <ea> 012346|-|-UUUU|-**00|D M+-WXZ |0100_101_011_mmm_rrr 6017: public static StringBuilder disTas (StringBuilder sb) { 6018: int ea = disOC & 63; 6019: if (XEiJ.EAM_DLT << ea < 0L) { 6020: return disEab (sb.append ("tas.b "), ea); 6021: } 6022: if (ea == 0b001_000) { 6023: return sb.append ("halt"); 6024: } 6025: if (ea == 0b001_100) { 6026: return sb.append ("pulse"); 6027: } 6028: if (ea == 0b111_100) { 6029: return sb.append ("illegal"); 6030: } 6031: return disIllegal (sb); 6032: } //disTas(StringBuilder) 6033: 6034: //MULU.L <ea>,Dl --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_000_000_000_hhh (h is not used) 6035: //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) 6036: //MULS.L <ea>,Dl --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_000_mmm_rrr-0lll_100_000_000_hhh (h is not used) 6037: //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) 6038: public static StringBuilder disMuluMulsLong (StringBuilder sb) { 6039: int ea = disOC & 63; 6040: if (XEiJ.EAM_DAT << ea < 0L) { 6041: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード。0lll_sq0_000_000_hhh 6042: if ((w & ~0b0111_110_000_000_111) == 0) { //拡張ワードの0でなければならないbitがすべて0 6043: int low = w >> 12; //被乗数。積の下位32bit 6044: int signed = w & 0b0000_100_000_000_000; //0=符号なし,0以外=符号あり 6045: int quad = w & 0b0000_010_000_000_000; //0=積は32bit,0以外=積は64bit 6046: int high = w & 7; //積の上位32bit 6047: disEal (sb.append (signed == 0 ? "mulu.l " : "muls.l "), ea).append (','); 6048: if (quad != 0) { 6049: disDR (sb, high).append (':'); 6050: } 6051: return disDR (sb, low); 6052: } 6053: } 6054: return disIllegal (sb); 6055: } //disMuluMulsLong(StringBuilder) 6056: 6057: //DIVU.L <ea>,Dq --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_000_000_000_qqq 6058: //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) 6059: //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) 6060: //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) 6061: //DIVS.L <ea>,Dq --2346|-|-UUUU|-***0|D M+-WXZPI|0100_110_001_mmm_rrr-0qqq_100_000_000_qqq 6062: //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) 6063: //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) 6064: //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) 6065: public static StringBuilder disDivuDivsLong (StringBuilder sb) { 6066: int ea = disOC & 63; 6067: if (XEiJ.EAM_DAT << ea < 0L) { 6068: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード。0qqq_sq0_000_000_rrr 6069: if ((w & ~0b0111_110_000_000_111) == 0) { //拡張ワードの0でなければならないbitがすべて0 6070: int quo = w >> 12; //被除数の下位32bit、商 6071: int signed = w & 0b0000_100_000_000_000; //0=符号なし,0以外=符号あり 6072: int quad = w & 0b0000_010_000_000_000; //0=被除数は32bit,0以外=被除数は64bit 6073: int rem = w & 7; //被除数の上位32bit、余り 6074: // ColdFireにはDIV*L.L <ea>,Dr:Dq (q!=r)という命令が存在せず、同じオペコードにREM*.L <ea>,Dr:Dq (q!=r)が割り当てられている 6075: // REM*.L <ea>,Dr:Dq (q!=r)はDrに余りを格納するがDqに商を格納しない 6076: disEal (sb.append (signed == 0 ? "divu" : "divs").append (quad == 0 && quo != rem ? "l.l " : ".l "), ea).append (','); 6077: if (quad != 0 || quo != rem) { 6078: disDR (sb, rem).append (':'); 6079: } 6080: return disDR (sb, quo); 6081: } 6082: } 6083: return disIllegal (sb); 6084: } //disDivuDivsLong(StringBuilder) 6085: 6086: //SATS.L Dr ------|-|-UUUU|-**00| |0100_110_010_000_rrr (ISA_B) 6087: //MOVEM.W <ea>,<list> 012346|-|-----|-----| M+ WXZP |0100_110_010_mmm_rrr-llllllllllllllll 6088: public static StringBuilder disMovemToRegWord (StringBuilder sb) { 6089: int ea = disOC & 63; 6090: if (XEiJ.EAM_RDL << ea < 0L) { 6091: StringBuilder tb = disLst (new StringBuilder (), false); //レジスタリストと実効アドレスの順序に注意 6092: return disEaw (sb.append ("movem.w "), ea).append (',').append (tb); 6093: } 6094: int mmm = ea >> 3; 6095: int rrr = ea & 7; 6096: if (mmm == XEiJ.MMM_DR) { 6097: return disDR (sb.append ("sats.l "), rrr); 6098: } 6099: return disIllegal (sb); 6100: } //disMovemToRegWord(StringBuilder) 6101: 6102: //MOVEM.L <ea>,<list> 012346|-|-----|-----| M+ WXZP |0100_110_011_mmm_rrr-llllllllllllllll 6103: public static StringBuilder disMovemToRegLong (StringBuilder sb) { 6104: int ea = disOC & 63; 6105: if (XEiJ.EAM_RDL << ea < 0L) { 6106: StringBuilder tb = disLst (new StringBuilder (), false); //レジスタリストと実効アドレスの順序に注意 6107: return disEal (sb.append ("movem.l "), ea).append (',').append (tb); 6108: } 6109: return disIllegal (sb); 6110: } //disMovemToRegLong(StringBuilder) 6111: 6112: //HFSBOOT 012346|-|-----|-----| |0100_111_000_000_000 6113: //HFSINST 012346|-|-----|-----| |0100_111_000_000_001 6114: //HFSSTR 012346|-|-----|-----| |0100_111_000_000_010 6115: //HFSINT 012346|-|-----|-----| |0100_111_000_000_011 6116: //EMXNOP 012346|-|-----|-----| |0100_111_000_000_100 6117: public static StringBuilder disEmx (StringBuilder sb) { 6118: int ea = disOC & 63; 6119: if (ea < XEiJ.EMX_MNEMONIC_ARRAY.length) { 6120: return sb.append (XEiJ.EMX_MNEMONIC_ARRAY[ea]); 6121: } 6122: return disIllegal (sb); 6123: } //disEmx(StringBuilder) 6124: 6125: //TRAP #<vector> 012346|-|-----|-----| |0100_111_001_00v_vvv 6126: //LINK.W Ar,#<data> 012346|-|-----|-----| |0100_111_001_010_rrr-{data} 6127: //UNLK Ar 012346|-|-----|-----| |0100_111_001_011_rrr 6128: //MOVE.L Ar,USP 012346|P|-----|-----| |0100_111_001_100_rrr 6129: //MOVE.L USP,Ar 012346|P|-----|-----| |0100_111_001_101_rrr 6130: //RESET 012346|P|-----|-----| |0100_111_001_110_000 6131: //NOP 012346|-|-----|-----| |0100_111_001_110_001 6132: //STOP #<data> 012346|P|UUUUU|*****| |0100_111_001_110_010-{data} 6133: //RTE 012346|P|UUUUU|*****| |0100_111_001_110_011 6134: //RTD #<data> -12346|-|-----|-----| |0100_111_001_110_100-{data} 6135: //RTS 012346|-|-----|-----| |0100_111_001_110_101 6136: //TRAPV 012346|-|---*-|-----| |0100_111_001_110_110 6137: //RTR 012346|-|UUUUU|*****| |0100_111_001_110_111 6138: //MOVEC.L Rc,Rn -12346|P|-----|-----| |0100_111_001_111_010-rnnn_ccc_ccc_ccc_ccc 6139: //MOVEC.L Rn,Rc -12346|P|-----|-----| |0100_111_001_111_011-rnnn_ccc_ccc_ccc_ccc 6140: public static StringBuilder disMisc (StringBuilder sb) { 6141: int ea = disOC & 63; 6142: switch (ea) { 6143: case 0b000_000: 6144: case 0b000_001: 6145: case 0b000_010: 6146: case 0b000_011: 6147: case 0b000_100: 6148: case 0b000_101: 6149: case 0b000_110: 6150: case 0b000_111: 6151: case 0b001_000: 6152: case 0b001_001: 6153: case 0b001_010: 6154: case 0b001_011: 6155: case 0b001_100: 6156: case 0b001_101: 6157: case 0b001_110: 6158: case 0b001_111: //TRAP #<vector> 6159: return disIM8 (sb.append ("trap "), ea & 15); 6160: case 0b010_000: 6161: case 0b010_001: 6162: case 0b010_010: 6163: case 0b010_011: 6164: case 0b010_100: 6165: case 0b010_101: 6166: case 0b010_110: 6167: case 0b010_111: //LINK.W Ar,#<data> 6168: return disIMw (disAR (sb.append ("link.w "), ea & 7).append (',')); 6169: case 0b011_000: 6170: case 0b011_001: 6171: case 0b011_010: 6172: case 0b011_011: 6173: case 0b011_100: 6174: case 0b011_101: 6175: case 0b011_110: 6176: case 0b011_111: //UNLK Ar 6177: return disAR (sb.append ("unlk "), ea & 7); 6178: case 0b100_000: 6179: case 0b100_001: 6180: case 0b100_010: 6181: case 0b100_011: 6182: case 0b100_100: 6183: case 0b100_101: 6184: case 0b100_110: 6185: case 0b100_111: //MOVE.L Ar,USP 6186: return disAR (sb.append ("move.l "), ea & 7).append (",usp"); 6187: case 0b101_000: 6188: case 0b101_001: 6189: case 0b101_010: 6190: case 0b101_011: 6191: case 0b101_100: 6192: case 0b101_101: 6193: case 0b101_110: 6194: case 0b101_111: //MOVE.L USP,Ar 6195: return disAR (sb.append ("move.l usp,"), ea & 7); 6196: case 0b110_000: //RESET 6197: return sb.append ("reset "); 6198: case 0b110_001: //NOP 6199: return sb.append ("nop "); 6200: case 0b110_010: //STOP #<data> 6201: return disIMw (sb.append ("stop.w ")); 6202: case 0b110_011: //RTE 6203: disStatus = DIS_ALWAYS_BRANCH; 6204: return sb.append ("rte "); 6205: case 0b110_100: //RTD 6206: disStatus = DIS_ALWAYS_BRANCH; 6207: return disIMw (sb.append ("rtd.w ")); 6208: case 0b110_101: //RTS 6209: disStatus = DIS_ALWAYS_BRANCH; 6210: return sb.append ("rts "); 6211: case 0b110_110: //TRAPV 6212: return sb.append ("trapv "); 6213: case 0b110_111: //RTR 6214: disStatus = DIS_ALWAYS_BRANCH; 6215: return sb.append ("rtr "); 6216: case 0b111_010: //MOVEC.L Rc,Rn 6217: { 6218: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 6219: int c = w & 0x07ff; 6220: String[] disRc = (w & 0x0800) == 0 ? DIS_RCNAME_0XX : DIS_RCNAME_8XX; 6221: if (c < disRc.length && 0 < disRc[c].length ()) { 6222: return disRn (sb.append ("movec.l ").append (disRc[c]).append (','), w >> 12); 6223: } 6224: } 6225: break; 6226: case 0b111_011: //MOVEC.L Rn,Rc 6227: { 6228: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 6229: int c = w & 0x07ff; 6230: String[] disRc = (w & 0x0800) == 0 ? DIS_RCNAME_0XX : DIS_RCNAME_8XX; 6231: if (c < disRc.length && 0 < disRc[c].length ()) { 6232: return disRn (sb.append ("movec.l "), w >> 12).append (',').append (disRc[c]); 6233: } 6234: } 6235: break; 6236: } 6237: return disIllegal (sb); 6238: } //disMisc(StringBuilder) 6239: 6240: //JSR <ea> 012346|-|-----|-----| M WXZP |0100_111_010_mmm_rrr 6241: public static StringBuilder disJsr (StringBuilder sb) { 6242: disStatus = DIS_CALL_SUBROUTINE; 6243: int ea = disOC & 63; 6244: if (XEiJ.EAM_CNT << ea < 0L) { 6245: return disEaz (sb.append ("jsr "), ea); 6246: } 6247: return disIllegal (sb); 6248: } //disJsr(StringBuilder) 6249: 6250: //JMP <ea> 012346|-|-----|-----| M WXZP |0100_111_011_mmm_rrr 6251: public static StringBuilder disJmp (StringBuilder sb) { 6252: disStatus = DIS_ALWAYS_BRANCH; 6253: int ea = disOC & 63; 6254: if (XEiJ.EAM_CNT << ea < 0L) { 6255: return disEaz (sb.append ("jmp "), ea); 6256: } 6257: return disIllegal (sb); 6258: } //disJmp(StringBuilder) 6259: 6260: //CHK.L <ea>,Dq --2346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_100_mmm_rrr 6261: public static StringBuilder disChkLong (StringBuilder sb) { 6262: int qqq = disOC >> 9 & 7; 6263: int ea = disOC & 63; 6264: if (XEiJ.EAM_DAT << ea < 0L) { 6265: return disDR (disEaw (sb.append ("chk.l "), ea).append (','), qqq); 6266: } 6267: return disIllegal (sb); 6268: } //disChkLong(StringBuilder) 6269: 6270: //CHK.W <ea>,Dq 012346|-|-UUUU|-*UUU|D M+-WXZPI|0100_qqq_110_mmm_rrr 6271: public static StringBuilder disChkWord (StringBuilder sb) { 6272: int qqq = disOC >> 9 & 7; 6273: int ea = disOC & 63; 6274: if (XEiJ.EAM_DAT << ea < 0L) { 6275: return disDR (disEaw (sb.append ("chk.w "), ea).append (','), qqq); 6276: } 6277: return disIllegal (sb); 6278: } //disChkWord(StringBuilder) 6279: 6280: //EXTB.L Dr --2346|-|-UUUU|-**00| |0100_100_111_000_rrr 6281: //LEA.L <ea>,Aq 012346|-|-----|-----| M WXZP |0100_qqq_111_mmm_rrr 6282: public static StringBuilder disLea (StringBuilder sb) { 6283: int qqq = disOC >> 9 & 7; 6284: int ea = disOC & 63; 6285: if (XEiJ.EAM_CNT << ea < 0L) { 6286: return disAR (disEaz (sb.append ("lea.l "), ea).append (','), qqq); 6287: } 6288: int mmm = ea >> 3; 6289: int rrr = ea & 7; 6290: if (qqq == 0b100 && mmm == 0b000) { 6291: return disDR (sb.append ("extb.l "), rrr); 6292: } 6293: return disIllegal (sb); 6294: } //disLea(StringBuilder) 6295: 6296: //ADDQ.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_000_mmm_rrr 6297: public static StringBuilder disAddqByte (StringBuilder sb) { 6298: int qqq = disOC >> 9 & 7; 6299: int ea = disOC & 63; 6300: if (XEiJ.EAM_DLT << ea < 0L) { 6301: return disEab (disIM3 (sb.append ("addq.b "), qqq).append (','), ea); 6302: } 6303: return disIllegal (sb); 6304: } //disAddqByte(StringBuilder) 6305: 6306: //ADDQ.W #<data>,Ar 012346|-|-----|-----| A |0101_qqq_001_001_rrr 6307: //ADDQ.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_001_mmm_rrr 6308: public static StringBuilder disAddqWord (StringBuilder sb) { 6309: int qqq = disOC >> 9 & 7; 6310: int ea = disOC & 63; 6311: if (XEiJ.EAM_ALT << ea < 0L) { 6312: return disEaw (disIM3 (sb.append ("addq.w "), qqq).append (','), ea); 6313: } 6314: return disIllegal (sb); 6315: } //disAddqWord(StringBuilder) 6316: 6317: //ADDQ.L #<data>,Ar 012346|-|-----|-----| A |0101_qqq_010_001_rrr 6318: //ADDQ.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_010_mmm_rrr 6319: public static StringBuilder disAddqLong (StringBuilder sb) { 6320: int qqq = disOC >> 9 & 7; 6321: int ea = disOC & 63; 6322: if (XEiJ.EAM_ALT << ea < 0L) { 6323: return disEal (disIM3 (sb.append ("addq.l "), qqq).append (','), ea); 6324: } 6325: return disIllegal (sb); 6326: } //disAddqLong(StringBuilder) 6327: 6328: //SUBQ.B #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_100_mmm_rrr 6329: public static StringBuilder disSubqByte (StringBuilder sb) { 6330: int qqq = disOC >> 9 & 7; 6331: int ea = disOC & 63; 6332: if (XEiJ.EAM_DLT << ea < 0L) { 6333: return disEab (disIM3 (sb.append ("subq.b "), qqq).append (','), ea); 6334: } 6335: return disIllegal (sb); 6336: } //disSubqByte(StringBuilder) 6337: 6338: //SUBQ.W #<data>,Ar 012346|-|-----|-----| A |0101_qqq_101_001_rrr 6339: //SUBQ.W #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_101_mmm_rrr 6340: public static StringBuilder disSubqWord (StringBuilder sb) { 6341: int qqq = disOC >> 9 & 7; 6342: int ea = disOC & 63; 6343: if (XEiJ.EAM_ALT << ea < 0L) { 6344: return disEaw (disIM3 (sb.append ("subq.w "), qqq).append (','), ea); 6345: } 6346: return disIllegal (sb); 6347: } //disSubqWord(StringBuilder) 6348: 6349: //SUBQ.L #<data>,Ar 012346|-|-----|-----| A |0101_qqq_110_001_rrr 6350: //SUBQ.L #<data>,<ea> 012346|-|UUUUU|*****|D M+-WXZ |0101_qqq_110_mmm_rrr 6351: public static StringBuilder disSubqLong (StringBuilder sb) { 6352: int qqq = disOC >> 9 & 7; 6353: int ea = disOC & 63; 6354: if (XEiJ.EAM_ALT << ea < 0L) { 6355: return disEal (disIM3 (sb.append ("subq.l "), qqq).append (','), ea); 6356: } 6357: return disIllegal (sb); 6358: } //disSubqLong(StringBuilder) 6359: 6360: //DBRA.W Dr,<label> 012346|-|-----|-----| |0101_000_111_001_rrr-{offset} 6361: //DBcc.W Dr,<label> 012346|-|-****|-----| |0101_ccc_c11_001_rrr-{offset} 6362: //TRAPcc.W #<data> --2346|-|-****|-----| |0101_ccc_c11_111_010-{data} 6363: //TRAPcc.L #<data> --2346|-|-****|-----| |0101_ccc_c11_111_011-{data} 6364: //TRAPcc --2346|-|-****|-----| |0101_ccc_c11_111_100 6365: //Scc.B <ea> 012346|-|-****|-----|D M+-WXZ |0101_ccc_c11_mmm_rrr 6366: public static StringBuilder disScc (StringBuilder sb) { 6367: int cccc = disOC >> 8 & 15; 6368: int ea = disOC & 63; 6369: if (XEiJ.EAM_DLT << ea < 0L) { 6370: return disEab (sb.append ('s').append (DIS_CC[cccc]).append (".b "), ea); 6371: } 6372: int mmm = ea >> 3; 6373: int rrr = ea & 7; 6374: if (mmm == XEiJ.MMM_AR) { 6375: if (cccc != XEiJ.CCCC_T) { 6376: disStatus = DIS_SOMETIMES_BRANCH; 6377: return XEiJ.fmtHex8 (disDR (disOp3 (sb, "db", cccc == XEiJ.CCCC_F ? "ra" : DIS_CC[cccc], ".w"), rrr).append (",$"), disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)); 6378: } 6379: } else if (ea == XEiJ.EA_PW) { 6380: return disIMw (sb.append ("trap").append (DIS_CC[cccc]).append (".w ")); 6381: } else if (ea == XEiJ.EA_PX) { 6382: return disIMl (sb.append ("trap").append (DIS_CC[cccc]).append (".l ")); 6383: } else if (ea == XEiJ.EA_IM) { 6384: // ColdFireのTRAPccはオペランドを読み飛ばすだけのTRAPFのみでTPFと書く 6385: return sb.append ("trap").append (DIS_CC[cccc]); 6386: } 6387: return disIllegal (sb); 6388: } //disScc(StringBuilder) 6389: 6390: //BRA.W <label> 012346|-|-----|-----| |0110_000_000_000_000-{offset} 6391: //BRA.L <label> --2346|-|-----|-----| |0110_000_011_111_111-{offset} 6392: //BRA.S <label> 012346|-|-----|-----| |0110_000_0aa_aaa_aaa (a is not equal to 0,-1) 6393: public static StringBuilder disBra (StringBuilder sb) { 6394: disStatus = DIS_ALWAYS_BRANCH; 6395: int offset = (byte) disOC; 6396: if (offset == 0) { 6397: return XEiJ.fmtHex8 (sb.append ("bra.w $"), disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)); 6398: } else if (offset == -1) { 6399: return XEiJ.fmtHex8 (sb.append ("bra.l $"), disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)); 6400: } else { 6401: return XEiJ.fmtHex8 (sb.append ("bra.s $"), disPC + offset); 6402: } 6403: } //disBra(StringBuilder) 6404: 6405: //BSR.W <label> 012346|-|-----|-----| |0110_000_100_000_000-{offset} 6406: //BSR.L <label> --2346|-|-----|-----| |0110_000_111_111_111-{offset} 6407: //BSR.S <label> 012346|-|-----|-----| |0110_000_1aa_aaa_aaa (a is not equal to 0,-1) 6408: public static StringBuilder disBsr (StringBuilder sb) { 6409: disStatus = DIS_CALL_SUBROUTINE; 6410: int offset = (byte) disOC; 6411: if (offset == 0) { 6412: return XEiJ.fmtHex8 (sb.append ("bsr.w $"), disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)); 6413: } else if (offset == -1) { 6414: return XEiJ.fmtHex8 (sb.append ("bsr.l $"), disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)); 6415: } else { 6416: return XEiJ.fmtHex8 (sb.append ("bsr.s $"), disPC + offset); 6417: } 6418: } //disBsr(StringBuilder) 6419: 6420: //Bcc.W <label> 012346|-|-****|-----| |0110_ccc_c00_000_000-{offset} 6421: //Bcc.L <label> --2346|-|-****|-----| |0110_ccc_c11_111_111-{offset} 6422: //Bcc.S <label> 012346|-|-****|-----| |0110_ccc_caa_aaa_aaa (a is not equal to 0,-1) 6423: public static StringBuilder disBcc (StringBuilder sb) { 6424: disStatus = DIS_SOMETIMES_BRANCH; 6425: int cccc = disOC >> 8 & 15; 6426: int offset = (byte) disOC; 6427: if (offset == 0) { 6428: return XEiJ.fmtHex8 (sb.append ('b').append (DIS_CC[cccc]).append (".w $"), disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)); 6429: } else if (offset == -1) { 6430: return XEiJ.fmtHex8 (sb.append ('b').append (DIS_CC[cccc]).append (".l $"), disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)); 6431: } else { 6432: return XEiJ.fmtHex8 (sb.append ('b').append (DIS_CC[cccc]).append (".s $"), disPC + offset); 6433: } 6434: } //disBcc(StringBuilder) 6435: 6436: //IOCS <name> 012346|-|-UUUU|-**00| |0111_000_0dd_ddd_ddd-0100_111_001_001_111 6437: //MOVEQ.L #<data>,Dq 012346|-|-UUUU|-**00| |0111_qqq_0dd_ddd_ddd 6438: public static StringBuilder disMoveq (StringBuilder sb) { 6439: int qqq = disOC >> 9 & 7; 6440: if (qqq == 0 && MC68060.mmuPeekWordZeroCode (disPC, disSupervisor) == 0b0100_111_001_001_111) { //MOVEQ.L #<data>,D0;TRAP #15 → IOCS <name> 6441: disPC += 2; 6442: sb.append ("IOCS "); 6443: if (disOC == 0x70ff) { //_ABORTJOB 6444: disStatus = DIS_ALWAYS_BRANCH; 6445: } 6446: String name = DIS_IOCS_NAME[disOC & 255]; 6447: if (name.length () != 0) { 6448: return sb.append (name); 6449: } 6450: return disHex2 (sb, disOC & 255); 6451: } 6452: return disDR (disIM8 (sb.append ("moveq.l "), disOC).append (','), qqq); 6453: } //disMoveq(StringBuilder) 6454: 6455: //MVS.B <ea>,Dq ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_100_mmm_rrr (ISA_B) 6456: public static StringBuilder disMvsByte (StringBuilder sb) { 6457: int qqq = disOC >> 9 & 7; 6458: int ea = disOC & 63; 6459: if (XEiJ.EAM_DAT << ea < 0L) { 6460: return disDR (disEab (sb.append ("mvs.b "), ea).append (','), qqq); 6461: } 6462: return disIllegal (sb); 6463: } //disMvsByte(StringBuilder) 6464: 6465: //MVS.W <ea>,Dq ------|-|-UUUU|-**00|D M+-WXZPI|0111_qqq_101_mmm_rrr (ISA_B) 6466: public static StringBuilder disMvsWord (StringBuilder sb) { 6467: int qqq = disOC >> 9 & 7; 6468: int ea = disOC & 63; 6469: if (XEiJ.EAM_DAT << ea < 0L) { 6470: return disDR (disEaw (sb.append ("mvs.w "), ea).append (','), qqq); 6471: } 6472: return disIllegal (sb); 6473: } //disMvsWord(StringBuilder) 6474: 6475: //MVZ.B <ea>,Dq ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_110_mmm_rrr (ISA_B) 6476: public static StringBuilder disMvzByte (StringBuilder sb) { 6477: int qqq = disOC >> 9 & 7; 6478: int ea = disOC & 63; 6479: if (XEiJ.EAM_DAT << ea < 0L) { 6480: return disDR (disEab (sb.append ("mvz.b "), ea).append (','), qqq); 6481: } 6482: return disIllegal (sb); 6483: } //disMvzByte(StringBuilder) 6484: 6485: //MVZ.W <ea>,Dq ------|-|-UUUU|-0*00|D M+-WXZPI|0111_qqq_111_mmm_rrr (ISA_B) 6486: public static StringBuilder disMvzWord (StringBuilder sb) { 6487: int qqq = disOC >> 9 & 7; 6488: int ea = disOC & 63; 6489: if (XEiJ.EAM_DAT << ea < 0L) { 6490: return disDR (disEaw (sb.append ("mvz.w "), ea).append (','), qqq); 6491: } 6492: return disIllegal (sb); 6493: } //disMvzWord(StringBuilder) 6494: 6495: //OR.B <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_000_mmm_rrr 6496: public static StringBuilder disOrToRegByte (StringBuilder sb) { 6497: int qqq = disOC >> 9 & 7; 6498: int ea = disOC & 63; 6499: if (XEiJ.EAM_DAT << ea < 0L) { 6500: return disDR (disEab (sb.append ("or.b "), ea).append (','), qqq); 6501: } 6502: return disIllegal (sb); 6503: } //disOrToRegByte(StringBuilder) 6504: 6505: //OR.W <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_001_mmm_rrr 6506: public static StringBuilder disOrToRegWord (StringBuilder sb) { 6507: int qqq = disOC >> 9 & 7; 6508: int ea = disOC & 63; 6509: if (XEiJ.EAM_DAT << ea < 0L) { 6510: return disDR (disEaw (sb.append ("or.w "), ea).append (','), qqq); 6511: } 6512: return disIllegal (sb); 6513: } //disOrToRegWord(StringBuilder) 6514: 6515: //OR.L <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1000_qqq_010_mmm_rrr 6516: public static StringBuilder disOrToRegLong (StringBuilder sb) { 6517: int qqq = disOC >> 9 & 7; 6518: int ea = disOC & 63; 6519: if (XEiJ.EAM_DAT << ea < 0L) { 6520: return disDR (disEal (sb.append ("or.l "), ea).append (','), qqq); 6521: } 6522: return disIllegal (sb); 6523: } //disOrToRegLong(StringBuilder) 6524: 6525: //DIVU.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_011_mmm_rrr 6526: public static StringBuilder disDivuWord (StringBuilder sb) { 6527: int qqq = disOC >> 9 & 7; 6528: int ea = disOC & 63; 6529: if (XEiJ.EAM_DAT << ea < 0L) { 6530: return disDR (disEaw (sb.append ("divu.w "), ea).append (','), qqq); 6531: } 6532: return disIllegal (sb); 6533: } //disDivuWord(StringBuilder) 6534: 6535: //DIVS.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1000_qqq_111_mmm_rrr 6536: public static StringBuilder disDivsWord (StringBuilder sb) { 6537: int qqq = disOC >> 9 & 7; 6538: int ea = disOC & 63; 6539: if (XEiJ.EAM_DAT << ea < 0L) { 6540: return disDR (disEaw (sb.append ("divs.w "), ea).append (','), qqq); 6541: } 6542: return disIllegal (sb); 6543: } //disDivsWord(StringBuilder) 6544: 6545: //SBCD.B Dr,Dq 012346|-|UUUUU|*U*U*| |1000_qqq_100_000_rrr 6546: //SBCD.B -(Ar),-(Aq) 012346|-|UUUUU|*U*U*| |1000_qqq_100_001_rrr 6547: //OR.B Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1000_qqq_100_mmm_rrr 6548: public static StringBuilder disOrToMemByte (StringBuilder sb) { 6549: int qqq = disOC >> 9 & 7; 6550: int ea = disOC & 63; 6551: if (XEiJ.EAM_MLT << ea < 0L) { 6552: return disEab (disDR (sb.append ("or.b "), qqq).append (','), ea); 6553: } 6554: int mmm = ea >> 3; 6555: int rrr = ea & 7; 6556: if (mmm == XEiJ.MMM_DR) { 6557: return disDR (disDR (sb.append ("sbcd.b "), rrr).append (','), qqq); 6558: } 6559: if (mmm == XEiJ.MMM_AR) { 6560: return disMN (disMN (sb.append ("sbcd.b "), rrr).append (','), qqq); 6561: } 6562: return disIllegal (sb); 6563: } //disOrToMemByte(StringBuilder) 6564: 6565: //PACK Dr,Dq,#<data> --2346|-|-----|-----| |1000_qqq_101_000_rrr-{data} 6566: //PACK -(Ar),-(Aq),#<data> --2346|-|-----|-----| |1000_qqq_101_001_rrr-{data} 6567: //OR.W Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1000_qqq_101_mmm_rrr 6568: public static StringBuilder disOrToMemWord (StringBuilder sb) { 6569: int qqq = disOC >> 9 & 7; 6570: int ea = disOC & 63; 6571: if (XEiJ.EAM_MLT << ea < 0L) { 6572: return disEaw (disDR (sb.append ("or.w "), qqq).append (','), ea); 6573: } 6574: int mmm = ea >> 3; 6575: int rrr = ea & 7; 6576: if (mmm == XEiJ.MMM_DR) { 6577: return disIMw (disDR (disDR (sb.append ("pack "), rrr).append (','), qqq).append (',')); 6578: } 6579: if (mmm == XEiJ.MMM_AR) { 6580: return disIMw (disMN (disMN (sb.append ("pack "), rrr).append (','), qqq).append (',')); 6581: } 6582: return disIllegal (sb); 6583: } //disOrToMemWord(StringBuilder) 6584: 6585: //UNPK Dr,Dq,#<data> --2346|-|-----|-----| |1000_qqq_110_000_rrr-{data} 6586: //UNPK -(Ar),-(Aq),#<data> --2346|-|-----|-----| |1000_qqq_110_001_rrr-{data} 6587: //OR.L Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1000_qqq_110_mmm_rrr 6588: public static StringBuilder disOrToMemLong (StringBuilder sb) { 6589: int qqq = disOC >> 9 & 7; 6590: int ea = disOC & 63; 6591: if (XEiJ.EAM_MLT << ea < 0L) { 6592: return disEal (disDR (sb.append ("or.l "), qqq).append (','), ea); 6593: } 6594: int mmm = ea >> 3; 6595: int rrr = ea & 7; 6596: if (mmm == XEiJ.MMM_DR) { 6597: return disIMw (disDR (disDR (sb.append ("unpk "), rrr).append (','), qqq).append (',')); 6598: } 6599: if (mmm == XEiJ.MMM_AR) { 6600: return disIMw (disMN (disMN (sb.append ("unpk "), rrr).append (','), qqq).append (',')); 6601: } 6602: return disIllegal (sb); 6603: } //disOrToMemLong(StringBuilder) 6604: 6605: //SUB.B <ea>,Dq 012346|-|UUUUU|*****|D M+-WXZPI|1001_qqq_000_mmm_rrr 6606: public static StringBuilder disSubToRegByte (StringBuilder sb) { 6607: int qqq = disOC >> 9 & 7; 6608: int ea = disOC & 63; 6609: if (XEiJ.EAM_DAT << ea < 0L) { 6610: return disDR (disEab (sb.append ("sub.b "), ea).append (','), qqq); 6611: } 6612: return disIllegal (sb); 6613: } //disSubToRegByte(StringBuilder) 6614: 6615: //SUB.W <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_001_mmm_rrr 6616: public static StringBuilder disSubToRegWord (StringBuilder sb) { 6617: int qqq = disOC >> 9 & 7; 6618: int ea = disOC & 63; 6619: if (XEiJ.EAM_ALL << ea < 0L) { 6620: return disDR (disEaw (sb.append ("sub.w "), ea).append (','), qqq); 6621: } 6622: return disIllegal (sb); 6623: } //disSubToRegWord(StringBuilder) 6624: 6625: //SUB.L <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1001_qqq_010_mmm_rrr 6626: public static StringBuilder disSubToRegLong (StringBuilder sb) { 6627: int qqq = disOC >> 9 & 7; 6628: int ea = disOC & 63; 6629: if (XEiJ.EAM_ALL << ea < 0L) { 6630: return disDR (disEal (sb.append ("sub.l "), ea).append (','), qqq); 6631: } 6632: return disIllegal (sb); 6633: } //disSubToRegLong(StringBuilder) 6634: 6635: //SUBA.W <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1001_qqq_011_mmm_rrr 6636: public static StringBuilder disSubaWord (StringBuilder sb) { 6637: int ea = disOC & 63; 6638: int qqq = disOC >> 9 & 7; 6639: if (XEiJ.EAM_ALL << ea < 0L) { 6640: return disAR (disEaw (sb.append ("suba.w "), ea).append (','), qqq); 6641: } 6642: return disIllegal (sb); 6643: } //disSubaWord(StringBuilder) 6644: 6645: //SUBA.L <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1001_qqq_111_mmm_rrr 6646: public static StringBuilder disSubaLong (StringBuilder sb) { 6647: int ea = disOC & 63; 6648: int qqq = disOC >> 9 & 7; 6649: if (XEiJ.EAM_ALL << ea < 0L) { 6650: return disAR (disEal (sb.append ("suba.l "), ea).append (','), qqq); 6651: } 6652: return disIllegal (sb); 6653: } //disSubaLong(StringBuilder) 6654: 6655: //SUBX.B Dr,Dq 012346|-|*UUUU|*****| |1001_qqq_100_000_rrr 6656: //SUBX.B -(Ar),-(Aq) 012346|-|*UUUU|*****| |1001_qqq_100_001_rrr 6657: //SUB.B Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1001_qqq_100_mmm_rrr 6658: public static StringBuilder disSubToMemByte (StringBuilder sb) { 6659: int qqq = disOC >> 9 & 7; 6660: int ea = disOC & 63; 6661: if (XEiJ.EAM_MLT << ea < 0L) { 6662: return disEab (disDR (sb.append ("sub.b "), qqq).append (','), ea); 6663: } 6664: int mmm = ea >> 3; 6665: int rrr = ea & 7; 6666: if (mmm == XEiJ.MMM_DR) { 6667: return disDR (disDR (sb.append ("subx.b "), rrr).append (','), qqq); 6668: } 6669: if (mmm == XEiJ.MMM_AR) { 6670: return disMN (disMN (sb.append ("subx.b "), rrr).append (','), qqq); 6671: } 6672: return disIllegal (sb); 6673: } //disSubToMemByte(StringBuilder) 6674: 6675: //SUBX.W Dr,Dq 012346|-|*UUUU|*****| |1001_qqq_101_000_rrr 6676: //SUBX.W -(Ar),-(Aq) 012346|-|*UUUU|*****| |1001_qqq_101_001_rrr 6677: //SUB.W Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1001_qqq_101_mmm_rrr 6678: public static StringBuilder disSubToMemWord (StringBuilder sb) { 6679: int qqq = disOC >> 9 & 7; 6680: int ea = disOC & 63; 6681: if (XEiJ.EAM_MLT << ea < 0L) { 6682: return disEaw (disDR (sb.append ("sub.w "), qqq).append (','), ea); 6683: } 6684: int mmm = ea >> 3; 6685: int rrr = ea & 7; 6686: if (mmm == XEiJ.MMM_DR) { 6687: return disDR (disDR (sb.append ("subx.w "), rrr).append (','), qqq); 6688: } 6689: if (mmm == XEiJ.MMM_AR) { 6690: return disMN (disMN (sb.append ("subx.w "), rrr).append (','), qqq); 6691: } 6692: return disIllegal (sb); 6693: } //disSubToMemWord(StringBuilder) 6694: 6695: //SUBX.L Dr,Dq 012346|-|*UUUU|*****| |1001_qqq_110_000_rrr 6696: //SUBX.L -(Ar),-(Aq) 012346|-|*UUUU|*****| |1001_qqq_110_001_rrr 6697: //SUB.L Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1001_qqq_110_mmm_rrr 6698: public static StringBuilder disSubToMemLong (StringBuilder sb) { 6699: int qqq = disOC >> 9 & 7; 6700: int ea = disOC & 63; 6701: if (XEiJ.EAM_MLT << ea < 0L) { 6702: return disEal (disDR (sb.append ("sub.l "), qqq).append (','), ea); 6703: } 6704: int mmm = ea >> 3; 6705: int rrr = ea & 7; 6706: if (mmm == XEiJ.MMM_DR) { 6707: return disDR (disDR (sb.append ("subx.l "), rrr).append (','), qqq); 6708: } 6709: if (mmm == XEiJ.MMM_AR) { 6710: return disMN (disMN (sb.append ("subx.l "), rrr).append (','), qqq); 6711: } 6712: return disIllegal (sb); 6713: } //disSubToMemLong(StringBuilder) 6714: 6715: //MOV3Q.L #<data>,<ea> ------|-|-UUUU|-**00|DAM+-WXZ |1010_qqq_101_mmm_rrr (ISA_B) 6716: //SXCALL <name> 012346|-|-----|-----| |1010_xxx_xxx_xxx_xxx 6717: //line 1010 emulator 012346|-|-----|-----| |1010_xxx_xxx_xxx_xxx 6718: public static StringBuilder disSxcall (StringBuilder sb) { 6719: if (disOC < 0xa800) { 6720: String name = DIS_SXCALL_NAME[disOC & 2047]; 6721: if (name.length () != 0) { 6722: return sb.append ("SXCALL ").append (name); 6723: } 6724: } 6725: return disAline (sb); 6726: } //disSxcall(StringBuilder) 6727: 6728: //line 1010 emulator 012346|-|-----|-----| |1010_xxx_xxx_xxx_xxx 6729: public static StringBuilder disAline (StringBuilder sb) { 6730: return disHex4 (sb.append (".dc.w "), disOC); 6731: } //disAline(StringBuilder) 6732: 6733: //CMP.B <ea>,Dq 012346|-|-UUUU|-****|D M+-WXZPI|1011_qqq_000_mmm_rrr 6734: public static StringBuilder disCmpByte (StringBuilder sb) { 6735: int qqq = disOC >> 9 & 7; 6736: int ea = disOC & 63; 6737: if (XEiJ.EAM_DAT << ea < 0L) { 6738: return disDR (disEab (sb.append ("cmp.b "), ea).append (','), qqq); 6739: } 6740: return disIllegal (sb); 6741: } //disCmpByte(StringBuilder) 6742: 6743: //CMP.W <ea>,Dq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_001_mmm_rrr 6744: public static StringBuilder disCmpWord (StringBuilder sb) { 6745: int qqq = disOC >> 9 & 7; 6746: int ea = disOC & 63; 6747: if (XEiJ.EAM_ALL << ea < 0L) { 6748: return disDR (disEaw (sb.append ("cmp.w "), ea).append (','), qqq); 6749: } 6750: return disIllegal (sb); 6751: } //disCmpWord(StringBuilder) 6752: 6753: //CMP.L <ea>,Dq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_010_mmm_rrr 6754: public static StringBuilder disCmpLong (StringBuilder sb) { 6755: int qqq = disOC >> 9 & 7; 6756: int ea = disOC & 63; 6757: if (XEiJ.EAM_ALL << ea < 0L) { 6758: return disDR (disEal (sb.append ("cmp.l "), ea).append (','), qqq); 6759: } 6760: return disIllegal (sb); 6761: } //disCmpLong(StringBuilder) 6762: 6763: //CMPA.W <ea>,Aq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_011_mmm_rrr 6764: public static StringBuilder disCmpaWord (StringBuilder sb) { 6765: int qqq = disOC >> 9 & 7; 6766: int ea = disOC & 63; 6767: if (XEiJ.EAM_ALL << ea < 0L) { 6768: return disAR (disEaw (sb.append ("cmpa.w "), ea).append (','), qqq); 6769: } 6770: return disIllegal (sb); 6771: } //disCmpaWord(StringBuilder) 6772: 6773: //CMPA.L <ea>,Aq 012346|-|-UUUU|-****|DAM+-WXZPI|1011_qqq_111_mmm_rrr 6774: public static StringBuilder disCmpaLong (StringBuilder sb) { 6775: int qqq = disOC >> 9 & 7; 6776: int ea = disOC & 63; 6777: if (XEiJ.EAM_ALL << ea < 0L) { 6778: return disAR (disEal (sb.append ("cmpa.l "), ea).append (','), qqq); 6779: } 6780: return disIllegal (sb); 6781: } //disCmpaLong(StringBuilder) 6782: 6783: //CMPM.B (Ar)+,(Aq)+ 012346|-|-UUUU|-****| |1011_qqq_100_001_rrr 6784: //EOR.B Dq,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |1011_qqq_100_mmm_rrr 6785: public static StringBuilder disEorToMemByte (StringBuilder sb) { 6786: int qqq = disOC >> 9 & 7; 6787: int ea = disOC & 63; 6788: if (XEiJ.EAM_DLT << ea < 0L) { 6789: return disEab (disDR (sb.append ("eor.b "), qqq).append (','), ea); 6790: } 6791: int mmm = ea >> 3; 6792: int rrr = ea & 7; 6793: if (mmm == XEiJ.MMM_AR) { 6794: return disMP (disMP (sb.append ("cmpm.b "), rrr).append (','), qqq); 6795: } 6796: return disIllegal (sb); 6797: } //disEorToMemByte(StringBuilder) 6798: 6799: //CMPM.W (Ar)+,(Aq)+ 012346|-|-UUUU|-****| |1011_qqq_101_001_rrr 6800: //EOR.W Dq,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |1011_qqq_101_mmm_rrr 6801: public static StringBuilder disEorToMemWord (StringBuilder sb) { 6802: int qqq = disOC >> 9 & 7; 6803: int ea = disOC & 63; 6804: if (XEiJ.EAM_DLT << ea < 0L) { 6805: return disEaw (disDR (sb.append ("eor.w "), qqq).append (','), ea); 6806: } 6807: int mmm = ea >> 3; 6808: int rrr = ea & 7; 6809: if (mmm == XEiJ.MMM_AR) { 6810: return disMP (disMP (sb.append ("cmpm.w "), rrr).append (','), qqq); 6811: } 6812: return disIllegal (sb); 6813: } //disEorToMemWord(StringBuilder) 6814: 6815: //CMPM.L (Ar)+,(Aq)+ 012346|-|-UUUU|-****| |1011_qqq_110_001_rrr 6816: //EOR.L Dq,<ea> 012346|-|-UUUU|-**00|D M+-WXZ |1011_qqq_110_mmm_rrr 6817: public static StringBuilder disEorToMemLong (StringBuilder sb) { 6818: int qqq = disOC >> 9 & 7; 6819: int ea = disOC & 63; 6820: if (XEiJ.EAM_DLT << ea < 0L) { 6821: return disEal (disDR (sb.append ("eor.l "), qqq).append (','), ea); 6822: } 6823: int mmm = ea >> 3; 6824: int rrr = ea & 7; 6825: if (mmm == XEiJ.MMM_AR) { 6826: return disMP (disMP (sb.append ("cmpm.l "), rrr).append (','), qqq); 6827: } 6828: return disIllegal (sb); 6829: } //disEorToMemLong(StringBuilder) 6830: 6831: //AND.B <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_000_mmm_rrr 6832: public static StringBuilder disAndToRegByte (StringBuilder sb) { 6833: int qqq = disOC >> 9 & 7; 6834: int ea = disOC & 63; 6835: if (XEiJ.EAM_DAT << ea < 0L) { 6836: return disDR (disEab (sb.append ("and.b "), ea).append (','), qqq); 6837: } 6838: return disIllegal (sb); 6839: } //disAndToRegByte(StringBuilder) 6840: 6841: //AND.W <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_001_mmm_rrr 6842: public static StringBuilder disAndToRegWord (StringBuilder sb) { 6843: int qqq = disOC >> 9 & 7; 6844: int ea = disOC & 63; 6845: if (XEiJ.EAM_DAT << ea < 0L) { 6846: return disDR (disEaw (sb.append ("and.w "), ea).append (','), qqq); 6847: } 6848: return disIllegal (sb); 6849: } //disAndToRegWord(StringBuilder) 6850: 6851: //AND.L <ea>,Dq 012346|-|-UUUU|-**00|D M+-WXZPI|1100_qqq_010_mmm_rrr 6852: public static StringBuilder disAndToRegLong (StringBuilder sb) { 6853: int qqq = disOC >> 9 & 7; 6854: int ea = disOC & 63; 6855: if (XEiJ.EAM_DAT << ea < 0L) { 6856: return disDR (disEal (sb.append ("and.l "), ea).append (','), qqq); 6857: } 6858: return disIllegal (sb); 6859: } //disAndToRegLong(StringBuilder) 6860: 6861: //MULU.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_011_mmm_rrr 6862: public static StringBuilder disMuluWord (StringBuilder sb) { 6863: int qqq = disOC >> 9 & 7; 6864: int ea = disOC & 63; 6865: if (XEiJ.EAM_DAT << ea < 0L) { 6866: return disDR (disEaw (sb.append ("mulu.w "), ea).append (','), qqq); 6867: } 6868: return disIllegal (sb); 6869: } //disMuluWord(StringBuilder) 6870: 6871: //MULS.W <ea>,Dq 012346|-|-UUUU|-***0|D M+-WXZPI|1100_qqq_111_mmm_rrr 6872: public static StringBuilder disMulsWord (StringBuilder sb) { 6873: int qqq = disOC >> 9 & 7; 6874: int ea = disOC & 63; 6875: if (XEiJ.EAM_DAT << ea < 0L) { 6876: return disDR (disEaw (sb.append ("muls.w "), ea).append (','), qqq); 6877: } 6878: return disIllegal (sb); 6879: } //disMulsWord(StringBuilder) 6880: 6881: //ABCD.B Dr,Dq 012346|-|UUUUU|*U*U*| |1100_qqq_100_000_rrr 6882: //ABCD.B -(Ar),-(Aq) 012346|-|UUUUU|*U*U*| |1100_qqq_100_001_rrr 6883: //AND.B Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1100_qqq_100_mmm_rrr 6884: public static StringBuilder disAndToMemByte (StringBuilder sb) { 6885: int qqq = disOC >> 9 & 7; 6886: int ea = disOC & 63; 6887: if (XEiJ.EAM_MLT << ea < 0L) { 6888: return disEab (disDR (sb.append ("and.b "), qqq).append (','), ea); 6889: } 6890: int mmm = ea >> 3; 6891: int rrr = ea & 7; 6892: if (mmm == XEiJ.MMM_DR) { 6893: return disDR (disDR (sb.append ("abcd.b "), rrr).append (','), qqq); 6894: } 6895: if (mmm == XEiJ.MMM_AR) { 6896: return disMN (disMN (sb.append ("abcd.b "), rrr).append (','), qqq); 6897: } 6898: return disIllegal (sb); 6899: } //disAndToMemByte(StringBuilder) 6900: 6901: //EXG.L Dq,Dr 012346|-|-----|-----| |1100_qqq_101_000_rrr 6902: //EXG.L Aq,Ar 012346|-|-----|-----| |1100_qqq_101_001_rrr 6903: //AND.W Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1100_qqq_101_mmm_rrr 6904: public static StringBuilder disAndToMemWord (StringBuilder sb) { 6905: int qqq = disOC >> 9 & 7; 6906: int ea = disOC & 63; 6907: if (XEiJ.EAM_MLT << ea < 0L) { 6908: return disEaw (disDR (sb.append ("and.w "), qqq).append (','), ea); 6909: } 6910: int mmm = ea >> 3; 6911: int rrr = ea & 7; 6912: if (mmm == XEiJ.MMM_DR) { 6913: return disDR (disDR (sb.append ("exg.l "), qqq).append (','), rrr); 6914: } 6915: if (mmm == XEiJ.MMM_AR) { 6916: return disAR (disAR (sb.append ("exg.l "), qqq).append (','), rrr); 6917: } 6918: return disIllegal (sb); 6919: } //disAndToMemWord(StringBuilder) 6920: 6921: //EXG.L Dq,Ar 012346|-|-----|-----| |1100_qqq_110_001_rrr 6922: //AND.L Dq,<ea> 012346|-|-UUUU|-**00| M+-WXZ |1100_qqq_110_mmm_rrr 6923: public static StringBuilder disAndToMemLong (StringBuilder sb) { 6924: int qqq = disOC >> 9 & 7; 6925: int ea = disOC & 63; 6926: if (XEiJ.EAM_MLT << ea < 0L) { 6927: return disEal (disDR (sb.append ("and.l "), qqq).append (','), ea); 6928: } 6929: int mmm = ea >> 3; 6930: int rrr = ea & 7; 6931: if (mmm == XEiJ.MMM_AR) { 6932: return disAR (disDR (sb.append ("exg.l "), qqq).append (','), rrr); 6933: } 6934: return disIllegal (sb); 6935: } //disAndToMemLong(StringBuilder) 6936: 6937: //ADD.B <ea>,Dq 012346|-|UUUUU|*****|D M+-WXZPI|1101_qqq_000_mmm_rrr 6938: public static StringBuilder disAddToRegByte (StringBuilder sb) { 6939: int qqq = disOC >> 9 & 7; 6940: int ea = disOC & 63; 6941: if (XEiJ.EAM_DAT << ea < 0L) { 6942: return disDR (disEab (sb.append ("add.b "), ea).append (','), qqq); 6943: } 6944: return disIllegal (sb); 6945: } //disAddToRegByte(StringBuilder) 6946: 6947: //ADD.W <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_001_mmm_rrr 6948: public static StringBuilder disAddToRegWord (StringBuilder sb) { 6949: int qqq = disOC >> 9 & 7; 6950: int ea = disOC & 63; 6951: if (XEiJ.EAM_ALL << ea < 0L) { 6952: return disDR (disEaw (sb.append ("add.w "), ea).append (','), qqq); 6953: } 6954: return disIllegal (sb); 6955: } //disAddToRegWord(StringBuilder) 6956: 6957: //ADD.L <ea>,Dq 012346|-|UUUUU|*****|DAM+-WXZPI|1101_qqq_010_mmm_rrr 6958: public static StringBuilder disAddToRegLong (StringBuilder sb) { 6959: int qqq = disOC >> 9 & 7; 6960: int ea = disOC & 63; 6961: if (XEiJ.EAM_ALL << ea < 0L) { 6962: return disDR (disEal (sb.append ("add.l "), ea).append (','), qqq); 6963: } 6964: return disIllegal (sb); 6965: } //disAddToRegLong(StringBuilder) 6966: 6967: //ADDA.W <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1101_qqq_011_mmm_rrr 6968: public static StringBuilder disAddaWord (StringBuilder sb) { 6969: int ea = disOC & 63; 6970: int qqq = disOC >> 9 & 7; 6971: if (XEiJ.EAM_ALL << ea < 0L) { 6972: return disAR (disEaw (sb.append ("adda.w "), ea).append (','), qqq); 6973: } 6974: return disIllegal (sb); 6975: } //disAddaWord(StringBuilder) 6976: 6977: //ADDA.L <ea>,Aq 012346|-|-----|-----|DAM+-WXZPI|1101_qqq_111_mmm_rrr 6978: public static StringBuilder disAddaLong (StringBuilder sb) { 6979: int ea = disOC & 63; 6980: int qqq = disOC >> 9 & 7; 6981: if (XEiJ.EAM_ALL << ea < 0L) { 6982: return disAR (disEal (sb.append ("adda.l "), ea).append (','), qqq); 6983: } 6984: return disIllegal (sb); 6985: } //disAddaLong(StringBuilder) 6986: 6987: //ADDX.B Dr,Dq 012346|-|*UUUU|*****| |1101_qqq_100_000_rrr 6988: //ADDX.B -(Ar),-(Aq) 012346|-|*UUUU|*****| |1101_qqq_100_001_rrr 6989: //ADD.B Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1101_qqq_100_mmm_rrr 6990: public static StringBuilder disAddToMemByte (StringBuilder sb) { 6991: int qqq = disOC >> 9 & 7; 6992: int ea = disOC & 63; 6993: if (XEiJ.EAM_MLT << ea < 0L) { 6994: return disEab (disDR (sb.append ("add.b "), qqq).append (','), ea); 6995: } 6996: int mmm = ea >> 3; 6997: int rrr = ea & 7; 6998: if (mmm == XEiJ.MMM_DR) { 6999: return disDR (disDR (sb.append ("addx.b "), rrr).append (','), qqq); 7000: } 7001: if (mmm == XEiJ.MMM_AR) { 7002: return disMN (disMN (sb.append ("addx.b "), rrr).append (','), qqq); 7003: } 7004: return disIllegal (sb); 7005: } //disAddToMemByte(StringBuilder) 7006: 7007: //ADDX.W Dr,Dq 012346|-|*UUUU|*****| |1101_qqq_101_000_rrr 7008: //ADDX.W -(Ar),-(Aq) 012346|-|*UUUU|*****| |1101_qqq_101_001_rrr 7009: //ADD.W Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1101_qqq_101_mmm_rrr 7010: public static StringBuilder disAddToMemWord (StringBuilder sb) { 7011: int qqq = disOC >> 9 & 7; 7012: int ea = disOC & 63; 7013: if (XEiJ.EAM_MLT << ea < 0L) { 7014: return disEaw (disDR (sb.append ("add.w "), qqq).append (','), ea); 7015: } 7016: int mmm = ea >> 3; 7017: int rrr = ea & 7; 7018: if (mmm == XEiJ.MMM_DR) { 7019: return disDR (disDR (sb.append ("addx.w "), rrr).append (','), qqq); 7020: } 7021: if (mmm == XEiJ.MMM_AR) { 7022: return disMN (disMN (sb.append ("addx.w "), rrr).append (','), qqq); 7023: } 7024: return disIllegal (sb); 7025: } //disAddToMemWord(StringBuilder) 7026: 7027: //ADDX.L Dr,Dq 012346|-|*UUUU|*****| |1101_qqq_110_000_rrr 7028: //ADDX.L -(Ar),-(Aq) 012346|-|*UUUU|*****| |1101_qqq_110_001_rrr 7029: //ADD.L Dq,<ea> 012346|-|UUUUU|*****| M+-WXZ |1101_qqq_110_mmm_rrr 7030: public static StringBuilder disAddToMemLong (StringBuilder sb) { 7031: int qqq = disOC >> 9 & 7; 7032: int ea = disOC & 63; 7033: if (XEiJ.EAM_MLT << ea < 0L) { 7034: return disEal (disDR (sb.append ("add.l "), qqq).append (','), ea); 7035: } 7036: int mmm = ea >> 3; 7037: int rrr = ea & 7; 7038: if (mmm == XEiJ.MMM_DR) { 7039: return disDR (disDR (sb.append ("addx.l "), rrr).append (','), qqq); 7040: } 7041: if (mmm == XEiJ.MMM_AR) { 7042: return disMN (disMN (sb.append ("addx.l "), rrr).append (','), qqq); 7043: } 7044: return disIllegal (sb); 7045: } //disAddToMemLong(StringBuilder) 7046: 7047: public static final String[] DIS_XXR_BYTE = { "asr.b ", "lsr.b ", "roxr.b ", "ror.b " }; 7048: public static final String[] DIS_XXR_WORD = { "asr.w ", "lsr.w ", "roxr.w ", "ror.w " }; 7049: public static final String[] DIS_XXR_LONG = { "asr.l ", "lsr.l ", "roxr.l ", "ror.l " }; 7050: 7051: //ASR.B #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_000_rrr 7052: //LSR.B #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_001_rrr 7053: //ROXR.B #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_000_010_rrr 7054: //ROR.B #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_000_011_rrr 7055: //ASR.B Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_100_rrr 7056: //LSR.B Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_000_101_rrr 7057: //ROXR.B Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_000_110_rrr 7058: //ROR.B Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_000_111_rrr 7059: public static StringBuilder disXxrToRegByte (StringBuilder sb) { 7060: int qqq = disOC >> 9 & 7; 7061: sb.append (DIS_XXR_BYTE[disOC >> 3 & 3]); 7062: int rrr = disOC & 7; 7063: return ((disOC & 0b100_000) == 0 ? 7064: disDR (disIM3 (sb, qqq).append (','), rrr) : 7065: disDR (disDR (sb, qqq).append (','), rrr)); 7066: } //disXxrToRegByte(StringBuilder) 7067: 7068: //ASR.W #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_000_rrr 7069: //LSR.W #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_001_rrr 7070: //ROXR.W #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_001_010_rrr 7071: //ROR.W #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_001_011_rrr 7072: //ASR.W Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_100_rrr 7073: //LSR.W Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_001_101_rrr 7074: //ROXR.W Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_001_110_rrr 7075: //ROR.W Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_001_111_rrr 7076: public static StringBuilder disXxrToRegWord (StringBuilder sb) { 7077: int qqq = disOC >> 9 & 7; 7078: sb.append (DIS_XXR_WORD[disOC >> 3 & 3]); 7079: int rrr = disOC & 7; 7080: return ((disOC & 0b100_000) == 0 ? 7081: disDR (disIM3 (sb, qqq).append (','), rrr) : 7082: disDR (disDR (sb, qqq).append (','), rrr)); 7083: } //disXxrToRegWord(StringBuilder) 7084: 7085: //ASR.L #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_000_rrr 7086: //LSR.L #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_001_rrr 7087: //ROXR.L #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_010_010_rrr 7088: //ROR.L #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_010_011_rrr 7089: //ASR.L Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_100_rrr 7090: //LSR.L Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_010_101_rrr 7091: //ROXR.L Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_010_110_rrr 7092: //ROR.L Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_010_111_rrr 7093: public static StringBuilder disXxrToRegLong (StringBuilder sb) { 7094: int qqq = disOC >> 9 & 7; 7095: sb.append (DIS_XXR_LONG[disOC >> 3 & 3]); 7096: int rrr = disOC & 7; 7097: return ((disOC & 0b100_000) == 0 ? 7098: disDR (disIM3 (sb, qqq).append (','), rrr) : 7099: disDR (disDR (sb, qqq).append (','), rrr)); 7100: } //disXxrToRegLong(StringBuilder) 7101: 7102: //ASR.W <ea> 012346|-|UUUUU|***0*| M+-WXZ |1110_000_011_mmm_rrr 7103: public static StringBuilder disAsrToMem (StringBuilder sb) { 7104: int ea = disOC & 63; 7105: if (XEiJ.EAM_MLT << ea < 0L) { 7106: return disEaw (sb.append ("asr.w "), ea); 7107: } 7108: return disIllegal (sb); 7109: } //disAsrToMem(StringBuilder) 7110: 7111: //LSR.W <ea> 012346|-|UUUUU|*0*0*| M+-WXZ |1110_001_011_mmm_rrr 7112: public static StringBuilder disLsrToMem (StringBuilder sb) { 7113: int ea = disOC & 63; 7114: if (XEiJ.EAM_MLT << ea < 0L) { 7115: return disEaw (sb.append ("lsr.w "), ea); 7116: } 7117: return disIllegal (sb); 7118: } //disLsrToMem(StringBuilder) 7119: 7120: //ROXR.W <ea> 012346|-|*UUUU|***0*| M+-WXZ |1110_010_011_mmm_rrr 7121: public static StringBuilder disRoxrToMem (StringBuilder sb) { 7122: int ea = disOC & 63; 7123: if (XEiJ.EAM_MLT << ea < 0L) { 7124: return disEaw (sb.append ("roxr.w "), ea); 7125: } 7126: return disIllegal (sb); 7127: } //disRoxrToMem(StringBuilder) 7128: 7129: //ROR.W <ea> 012346|-|-UUUU|-**0*| M+-WXZ |1110_011_011_mmm_rrr 7130: public static StringBuilder disRorToMem (StringBuilder sb) { 7131: int ea = disOC & 63; 7132: if (XEiJ.EAM_MLT << ea < 0L) { 7133: return disEaw (sb.append ("ror.w "), ea); 7134: } 7135: return disIllegal (sb); 7136: } //disRorToMem(StringBuilder) 7137: 7138: public static final String[] DIS_XXL_BYTE = { "asl.b ", "lsl.b ", "roxl.b ", "rol.b " }; 7139: public static final String[] DIS_XXL_WORD = { "asl.w ", "lsl.w ", "roxl.w ", "rol.w " }; 7140: public static final String[] DIS_XXL_LONG = { "asl.l ", "lsl.l ", "roxl.l ", "rol.l " }; 7141: 7142: //ASL.B #<data>,Dr 012346|-|UUUUU|*****| |1110_qqq_100_000_rrr 7143: //LSL.B #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_100_001_rrr 7144: //ROXL.B #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_100_010_rrr 7145: //ROL.B #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_100_011_rrr 7146: //ASL.B Dq,Dr 012346|-|UUUUU|*****| |1110_qqq_100_100_rrr 7147: //LSL.B Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_100_101_rrr 7148: //ROXL.B Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_100_110_rrr 7149: //ROL.B Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_100_111_rrr 7150: public static StringBuilder disXxlToRegByte (StringBuilder sb) { 7151: int qqq = disOC >> 9 & 7; 7152: sb.append (DIS_XXL_BYTE[disOC >> 3 & 3]); 7153: int rrr = disOC & 7; 7154: return ((disOC & 0b100_000) == 0 ? 7155: disDR (disIM3 (sb, qqq).append (','), rrr) : 7156: disDR (disDR (sb, qqq).append (','), rrr)); 7157: } //disXxlToRegByte(StringBuilder) 7158: 7159: //ASL.W #<data>,Dr 012346|-|UUUUU|*****| |1110_qqq_101_000_rrr 7160: //LSL.W #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_101_001_rrr 7161: //ROXL.W #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_101_010_rrr 7162: //ROL.W #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_101_011_rrr 7163: //ASL.W Dq,Dr 012346|-|UUUUU|*****| |1110_qqq_101_100_rrr 7164: //LSL.W Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_101_101_rrr 7165: //ROXL.W Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_101_110_rrr 7166: //ROL.W Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_101_111_rrr 7167: public static StringBuilder disXxlToRegWord (StringBuilder sb) { 7168: int qqq = disOC >> 9 & 7; 7169: sb.append (DIS_XXL_WORD[disOC >> 3 & 3]); 7170: int rrr = disOC & 7; 7171: return ((disOC & 0b100_000) == 0 ? 7172: disDR (disIM3 (sb, qqq).append (','), rrr) : 7173: disDR (disDR (sb, qqq).append (','), rrr)); 7174: } //disXxlToRegWord(StringBuilder) 7175: 7176: //ASL.L #<data>,Dr 012346|-|UUUUU|*****| |1110_qqq_110_000_rrr 7177: //LSL.L #<data>,Dr 012346|-|UUUUU|***0*| |1110_qqq_110_001_rrr 7178: //ROXL.L #<data>,Dr 012346|-|*UUUU|***0*| |1110_qqq_110_010_rrr 7179: //ROL.L #<data>,Dr 012346|-|-UUUU|-**0*| |1110_qqq_110_011_rrr 7180: //ASL.L Dq,Dr 012346|-|UUUUU|*****| |1110_qqq_110_100_rrr 7181: //LSL.L Dq,Dr 012346|-|UUUUU|***0*| |1110_qqq_110_101_rrr 7182: //ROXL.L Dq,Dr 012346|-|*UUUU|***0*| |1110_qqq_110_110_rrr 7183: //ROL.L Dq,Dr 012346|-|-UUUU|-**0*| |1110_qqq_110_111_rrr 7184: public static StringBuilder disXxlToRegLong (StringBuilder sb) { 7185: int qqq = disOC >> 9 & 7; 7186: sb.append (DIS_XXL_LONG[disOC >> 3 & 3]); 7187: int rrr = disOC & 7; 7188: return ((disOC & 0b100_000) == 0 ? 7189: disDR (disIM3 (sb, qqq).append (','), rrr) : 7190: disDR (disDR (sb, qqq).append (','), rrr)); 7191: } //disXxlToRegLong(StringBuilder) 7192: 7193: //ASL.W <ea> 012346|-|UUUUU|*****| M+-WXZ |1110_000_111_mmm_rrr 7194: public static StringBuilder disAslToMem (StringBuilder sb) { 7195: int ea = disOC & 63; 7196: if (XEiJ.EAM_MLT << ea < 0L) { 7197: return disEaw (sb.append ("asl.w "), ea); 7198: } 7199: return disIllegal (sb); 7200: } //disAslToMem(StringBuilder) 7201: 7202: //LSL.W <ea> 012346|-|UUUUU|***0*| M+-WXZ |1110_001_111_mmm_rrr 7203: public static StringBuilder disLslToMem (StringBuilder sb) { 7204: int ea = disOC & 63; 7205: if (XEiJ.EAM_MLT << ea < 0L) { 7206: return disEaw (sb.append ("lsl.w "), ea); 7207: } 7208: return disIllegal (sb); 7209: } //disLslToMem(StringBuilder) 7210: 7211: //ROXL.W <ea> 012346|-|*UUUU|***0*| M+-WXZ |1110_010_111_mmm_rrr 7212: public static StringBuilder disRoxlToMem (StringBuilder sb) { 7213: int ea = disOC & 63; 7214: if (XEiJ.EAM_MLT << ea < 0L) { 7215: return disEaw (sb.append ("roxl.w "), ea); 7216: } 7217: return disIllegal (sb); 7218: } //disRoxlToMem(StringBuilder) 7219: 7220: //ROL.W <ea> 012346|-|-UUUU|-**0*| M+-WXZ |1110_011_111_mmm_rrr 7221: public static StringBuilder disRolToMem (StringBuilder sb) { 7222: int ea = disOC & 63; 7223: if (XEiJ.EAM_MLT << ea < 0L) { 7224: return disEaw (sb.append ("rol.w "), ea); 7225: } 7226: return disIllegal (sb); 7227: } //disRolToMem(StringBuilder) 7228: 7229: //BFTST <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_0ww_www 7230: //BFTST <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_0oo_ooo_100_www 7231: //BFTST <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_100_ooo_0ww_www 7232: //BFTST <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZP |1110_100_011_mmm_rrr-0000_100_ooo_100_www 7233: public static StringBuilder disBftst (StringBuilder sb) { 7234: int ea = disOC & 63; 7235: if (XEiJ.EAM_DCN << ea < 0L) { 7236: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7237: return disBF (disEab (sb.append ("bftst "), ea), w); 7238: } 7239: return disIllegal (sb); 7240: } //disBftst(StringBuilder) 7241: 7242: //BFEXTU <ea>{#o:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 7243: //BFEXTU <ea>{#o:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_0oo_ooo_100_www 7244: //BFEXTU <ea>{Do:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_0ww_www 7245: //BFEXTU <ea>{Do:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_100_111_mmm_rrr-0nnn_100_ooo_100_www 7246: public static StringBuilder disBfextu (StringBuilder sb) { 7247: int ea = disOC & 63; 7248: if (XEiJ.EAM_DCN << ea < 0L) { 7249: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7250: return disDR (disBF (disEab (sb.append ("bfextu "), ea), w).append (','), w >> 12 & 7); 7251: } 7252: return disIllegal (sb); 7253: } //disBfextu(StringBuilder) 7254: 7255: //BFCHG <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_0oo_ooo_0ww_www 7256: //BFCHG <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_0oo_ooo_100_www 7257: //BFCHG <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_100_ooo_0ww_www 7258: //BFCHG <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_101_011_mmm_rrr-0000_100_ooo_100_www 7259: public static StringBuilder disBfchg (StringBuilder sb) { 7260: int ea = disOC & 63; 7261: if (XEiJ.EAM_DCL << ea < 0L) { 7262: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7263: return disBF (disEab (sb.append ("bfchg "), ea), w); 7264: } 7265: return disIllegal (sb); 7266: } //disBfchg(StringBuilder) 7267: 7268: //BFEXTS <ea>{#o:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 7269: //BFEXTS <ea>{#o:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_0oo_ooo_100_www 7270: //BFEXTS <ea>{Do:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_0ww_www 7271: //BFEXTS <ea>{Do:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_101_111_mmm_rrr-0nnn_100_ooo_100_www 7272: public static StringBuilder disBfexts (StringBuilder sb) { 7273: int ea = disOC & 63; 7274: if (XEiJ.EAM_DCN << ea < 0L) { 7275: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7276: return disDR (disBF (disEab (sb.append ("bfexts "), ea), w).append (','), w >> 12 & 7); 7277: } 7278: return disIllegal (sb); 7279: } //disBfexts(StringBuilder) 7280: 7281: //BFCLR <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_0oo_ooo_0ww_www 7282: //BFCLR <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_0oo_ooo_100_www 7283: //BFCLR <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_100_ooo_0ww_www 7284: //BFCLR <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_110_011_mmm_rrr-0000_100_ooo_100_www 7285: public static StringBuilder disBfclr (StringBuilder sb) { 7286: int ea = disOC & 63; 7287: if (XEiJ.EAM_DCL << ea < 0L) { 7288: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7289: return disBF (disEab (sb.append ("bfclr "), ea), w); 7290: } 7291: return disIllegal (sb); 7292: } //disBfclr(StringBuilder) 7293: 7294: //BFFFO <ea>{#o:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 7295: //BFFFO <ea>{#o:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_0oo_ooo_100_www 7296: //BFFFO <ea>{Do:#w},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_0ww_www 7297: //BFFFO <ea>{Do:Dw},Dn --2346|-|-UUUU|-**00|D M WXZP |1110_110_111_mmm_rrr-0nnn_100_ooo_100_www 7298: public static StringBuilder disBfffo (StringBuilder sb) { 7299: int ea = disOC & 63; 7300: if (XEiJ.EAM_DCN << ea < 0L) { 7301: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7302: return disDR (disBF (disEab (sb.append ("bfffo "), ea), w).append (','), w >> 12 & 7); 7303: } 7304: return disIllegal (sb); 7305: } //disBfffo(StringBuilder) 7306: 7307: //BFSET <ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_0oo_ooo_0ww_www 7308: //BFSET <ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_0oo_ooo_100_www 7309: //BFSET <ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_100_ooo_0ww_www 7310: //BFSET <ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_011_mmm_rrr-0000_100_ooo_100_www 7311: public static StringBuilder disBfset (StringBuilder sb) { 7312: int ea = disOC & 63; 7313: if (XEiJ.EAM_DCL << ea < 0L) { 7314: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7315: return disBF (disEab (sb.append ("bfset "), ea), w); 7316: } 7317: return disIllegal (sb); 7318: } //disBfset(StringBuilder) 7319: 7320: //BFINS Dn,<ea>{#o:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_0oo_ooo_0ww_www 7321: //BFINS Dn,<ea>{#o:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_0oo_ooo_100_www 7322: //BFINS Dn,<ea>{Do:#w} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_100_ooo_0ww_www 7323: //BFINS Dn,<ea>{Do:Dw} --2346|-|-UUUU|-**00|D M WXZ |1110_111_111_mmm_rrr-0nnn_100_ooo_100_www 7324: public static StringBuilder disBfins (StringBuilder sb) { 7325: int ea = disOC & 63; 7326: if (XEiJ.EAM_DCL << ea < 0L) { 7327: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); 7328: return disBF (disEab (disDR (sb.append ("bfins "), w >> 12 & 7).append (','), ea), w); 7329: } 7330: return disIllegal (sb); 7331: } //disBfins(StringBuilder) 7332: 7333: //PMOVE.L <ea>,TTn ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00001n0000000000 7334: //PMOVEFD.L <ea>,TTn ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00001n0100000000 7335: //PMOVE.L TTn,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00001n1000000000 7336: //PLOADW SFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000000000 7337: //PLOADW DFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000000001 7338: //PLOADW Dn,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000001nnn 7339: //PLOADW #<data>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010000000010ddd 7340: //PLOADW #<data>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-001000000001dddd 7341: //PLOADR SFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000000000 7342: //PLOADR DFC,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000000001 7343: //PLOADR Dn,<ea> --M3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000001nnn 7344: //PLOADR #<data>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010001000010ddd 7345: //PLOADR #<data>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-001000100001dddd 7346: //PFLUSHA --M---|P|-----|-----| |1111_000_000_000_000-0010010000000000 7347: //PFLUSHA ---3--|P|-----|-----| |1111_000_000_000_000-0010010000000000 7348: //PVALID.L VAL,<ea> --M---|-|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010100000000000 7349: //PVALID.L An,<ea> --M---|-|-----|-----| M WXZ |1111_000_000_mmm_rrr-0010110000000nnn 7350: //PFLUSH SFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm00000 7351: //PFLUSH SFC,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm00000 7352: //PFLUSH DFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm00001 7353: //PFLUSH DFC,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm00001 7354: //PFLUSH Dn,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm01nnn 7355: //PFLUSH Dn,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm01nnn 7356: //PFLUSH #<data>,#<mask> ---3--|P|-----|-----| |1111_000_000_000_000-00110000mmm10ddd 7357: //PFLUSH #<data>,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011000mmmm1dddd 7358: //PFLUSHS SFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm00000 7359: //PFLUSHS DFC,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm00001 7360: //PFLUSHS Dn,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm01nnn 7361: //PFLUSHS #<data>,#<mask> --M---|P|-----|-----| |1111_000_000_000_000-0011010mmmm1dddd 7362: //PFLUSH SFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm00000 7363: //PFLUSH SFC,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm00000 7364: //PFLUSH DFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm00001 7365: //PFLUSH DFC,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm00001 7366: //PFLUSH Dn,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm01nnn 7367: //PFLUSH #<data>,#<mask>,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-00111000mmm10ddd 7368: //PFLUSH Dn,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm01nnn 7369: //PFLUSH #<data>,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011100mmmm1dddd 7370: //PFLUSHS SFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm00000 7371: //PFLUSHS DFC,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm00001 7372: //PFLUSHS Dn,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm01nnn 7373: //PFLUSHS #<data>,#<mask>,<ea> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0011110mmmm1dddd 7374: //PMOVE.L <ea>,TC ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100000000000000 7375: //PMOVE.L <ea>,TC --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0100000000000000 7376: //PMOVEFD.L <ea>,TC ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100000100000000 7377: //PMOVE.L TC,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100001000000000 7378: //PMOVE.L TC,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0100001000000000 7379: //PMOVE.Q <ea>,DRP --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-0100010000000000 7380: //PMOVE.Q DRP,<ea> --M---|P|-----|-----| M+-WXZ |1111_000_000_mmm_rrr-0100011000000000 7381: //PMOVE.Q <ea>,SRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100100000000000 7382: //PMOVE.Q <ea>,SRP --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-0100100000000000 7383: //PMOVEFD.Q <ea>,SRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100100100000000 7384: //PMOVE.Q SRP,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100101000000000 7385: //PMOVE.Q SRP,<ea> --M---|P|-----|-----| M+-WXZ |1111_000_000_mmm_rrr-0100101000000000 7386: //PMOVE.Q <ea>,CRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100110000000000 7387: //PMOVE.Q <ea>,CRP --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-0100110000000000 7388: //PMOVEFD.Q <ea>,CRP ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100110100000000 7389: //PMOVE.Q CRP,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0100111000000000 7390: //PMOVE.Q CRP,<ea> --M---|P|-----|-----| M+-WXZ |1111_000_000_mmm_rrr-0100111000000000 7391: //PMOVE.B <ea>,CAL --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101000000000000 7392: //PMOVE.B CAL,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101001000000000 7393: //PMOVE.B <ea>,VAL --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101010000000000 7394: //PMOVE.B VAL,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101011000000000 7395: //PMOVE.B <ea>,SCC --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101100000000000 7396: //PMOVE.B SCC,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101101000000000 7397: //PMOVE.W <ea>,AC --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0101110000000000 7398: //PMOVE.W AC,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0101111000000000 7399: //PMOVE.W <ea>,MMUSR ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0110000000000000 7400: //PMOVE.W <ea>,PSR --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110000000000000 7401: //PMOVE.W MMUSR,<ea> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-0110001000000000 7402: //PMOVE.W PSR,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0110001000000000 7403: //PMOVE.W <ea>,PCSR --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-0110010000000000 7404: //PMOVE.W PCSR,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-0110011000000000 7405: //PMOVE.W <ea>,BADn --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110000000nnn00 7406: //PMOVE.W BADn,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-01110010000nnn00 7407: //PMOVE.W <ea>,BACn --M---|P|-----|-----|DAM+-WXZPI|1111_000_000_mmm_rrr-01110100000nnn00 7408: //PMOVE.W BACn,<ea> --M---|P|-----|-----|DAM+-WXZ |1111_000_000_mmm_rrr-01110110000nnn00 7409: //PTESTW SFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000000 7410: //PTESTW SFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000000 7411: //PTESTW DFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000001 7412: //PTESTW DFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000000001 7413: //PTESTW Dn,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000001nnn 7414: //PTESTW Dn,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000001nnn 7415: //PTESTW #<data>,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll000001dddd 7416: //PTESTW #<data>,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll0000010ddd 7417: //PTESTW SFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00000 7418: //PTESTW SFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00000 7419: //PTESTW DFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00001 7420: //PTESTW DFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn00001 7421: //PTESTW Dn,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn01nnn 7422: //PTESTW Dn,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn01nnn 7423: //PTESTW #<data>,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn1dddd 7424: //PTESTW #<data>,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll01nnn10ddd 7425: //PTESTR SFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000000 7426: //PTESTR SFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000000 7427: //PTESTR DFC,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000001 7428: //PTESTR DFC,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000000001 7429: //PTESTR Dn,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000001nnn 7430: //PTESTR Dn,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000001nnn 7431: //PTESTR #<data>,<ea>,#<level> --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll100001dddd 7432: //PTESTR #<data>,<ea>,#<level> ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll1000010ddd 7433: //PTESTR SFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00000 7434: //PTESTR SFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00000 7435: //PTESTR DFC,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00001 7436: //PTESTR DFC,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn00001 7437: //PTESTR Dn,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn01nnn 7438: //PTESTR Dn,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn01nnn 7439: //PTESTR #<data>,<ea>,#<level>,An --M---|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn1dddd 7440: //PTESTR #<data>,<ea>,#<level>,An ---3--|P|-----|-----| M WXZ |1111_000_000_mmm_rrr-100lll11nnn10ddd 7441: //PFLUSHR <ea> --M---|P|-----|-----| M+-WXZPI|1111_000_000_mmm_rrr-1010000000000000 7442: public static StringBuilder disPgen (StringBuilder sb) { 7443: //!!! 7444: return disIllegal (sb); 7445: } //disPgen(StringBuilder) 7446: 7447: public static final String[] DIS_MM_CC = ( 7448: "bs," + //000000 7449: "bc," + //000001 7450: "ls," + //000010 7451: "lc," + //000011 7452: "ss," + //000100 7453: "sc," + //000101 7454: "as," + //000110 7455: "ac," + //000111 7456: "ws," + //001000 7457: "wc," + //001001 7458: "is," + //001010 7459: "ic," + //001011 7460: "gs," + //001100 7461: "gc," + //001101 7462: "cs," + //001110 7463: "cc" //001111 7464: ).split (","); 7465: 7466: //PDBcc.W Dn,<label> --M---|P|-----|-----| |1111_000_001_001_nnn-0000000000cccccc-{offset} 7467: //PTRAPcc.W #<data> --M---|P|-----|-----| |1111_000_001_111_010-0000000000cccccc-{data} 7468: //PTRAPcc.L #<data> --M---|P|-----|-----| |1111_000_001_111_011-0000000000cccccc-{data} 7469: //PTRAPcc --M---|P|-----|-----| |1111_000_001_111_100-0000000000cccccc 7470: //PScc.B <ea> --M---|P|-----|-----|D M+-WXZ |1111_000_001_mmm_rrr-0000000000cccccc 7471: public static StringBuilder disPscc (StringBuilder sb) { 7472: int c = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor) & 63; 7473: if (c < DIS_MM_CC.length) { 7474: int ea = disOC & 63; 7475: if (ea >> 3 == XEiJ.MMM_AR) { 7476: disStatus = DIS_SOMETIMES_BRANCH; 7477: return disOW (disDR (disOp3 (sb, "pdb", DIS_MM_CC[c], ".w"), disOC & 7).append (',')); //FDBccはUnsized、PDBccはWordらしい 7478: } 7479: if (ea == XEiJ.EA_PW) { 7480: return disIMw (disOp3 (sb, "ptrap", DIS_MM_CC[c], ".w")); 7481: } 7482: if (ea == XEiJ.EA_PX) { 7483: return disIMl (disOp3 (sb, "ptrap", DIS_MM_CC[c], ".l")); 7484: } 7485: if (ea == XEiJ.EA_IM) { 7486: return sb.append ("ptrap").append (DIS_MM_CC[c]); 7487: } 7488: if (XEiJ.EAM_DAT << ea < 0L) { 7489: return disEab (disOp3 (sb, "ps", DIS_MM_CC[c], ".b"), ea); 7490: } 7491: } 7492: return disIllegal (sb); 7493: } //disPscc(StringBuilder) 7494: 7495: //PBcc.W <label> --M---|P|-----|-----| |1111_000_010_ccc_ccc-{offset} 7496: public static StringBuilder disPbccWord (StringBuilder sb) { 7497: int c = disOC & 63; 7498: if (c < DIS_MM_CC.length) { 7499: disStatus = DIS_SOMETIMES_BRANCH; 7500: return disOW (disOp3 (sb, "pb", DIS_MM_CC[c], ".w")); 7501: } 7502: return disIllegal (sb); 7503: } //disPbccWord(StringBuilder) 7504: 7505: //PBcc.L <label> --M---|P|-----|-----| |1111_000_011_ccc_ccc-{offset} 7506: public static StringBuilder disPbccLong (StringBuilder sb) { 7507: int c = disOC & 63; 7508: if (c < DIS_MM_CC.length) { 7509: disStatus = DIS_SOMETIMES_BRANCH; 7510: return disOL (disOp3 (sb, "pb", DIS_MM_CC[c], ".l")); 7511: } 7512: return disIllegal (sb); 7513: } //disPbccLong(StringBuilder) 7514: 7515: //PSAVE <ea> --M---|P|-----|-----| M -WXZ |1111_000_100_mmm_rrr 7516: public static StringBuilder disPsave (StringBuilder sb) { 7517: int ea = disOC & 63; 7518: if (XEiJ.EAM_WTL << ea < 0L) { 7519: return disEaz (disOp1 (sb, "psave"), ea); 7520: } 7521: return disIllegal (sb); 7522: } //disPsave(StringBuilder) 7523: 7524: //PRESTORE <ea> --M---|P|-----|-----| M+ WXZP |1111_000_101_mmm_rrr 7525: public static StringBuilder disPrestore (StringBuilder sb) { 7526: int ea = disOC & 63; 7527: if (XEiJ.EAM_RDL << ea < 0L) { 7528: return disEaz (disOp1 (sb, "prestore"), ea); 7529: } 7530: return disIllegal (sb); 7531: } //disPrestore(StringBuilder) 7532: 7533: //CINVL NC,(An) ----46|P|-----|-----| |1111_010_000_001_nnn 7534: //CINVP NC,(An) ----46|P|-----|-----| |1111_010_000_010_nnn 7535: //CINVA NC ----46|P|-----|-----| |1111_010_000_011_000 7536: //CPUSHL NC,(An) ----46|P|-----|-----| |1111_010_000_101_nnn 7537: //INTOUCH (An) ------|P|-----|-----| |1111_010_000_101_nnn (ISA_B) 7538: //CPUSHP NC,(An) ----46|P|-----|-----| |1111_010_000_110_nnn 7539: //CPUSHA NC ----46|P|-----|-----| |1111_010_000_111_000 7540: //CINVL DC,(An) ----46|P|-----|-----| |1111_010_001_001_nnn 7541: //CINVP DC,(An) ----46|P|-----|-----| |1111_010_001_010_nnn 7542: //CINVA DC ----46|P|-----|-----| |1111_010_001_011_000 7543: //CPUSHL DC,(An) ----46|P|-----|-----| |1111_010_001_101_nnn 7544: //CPUSHP DC,(An) ----46|P|-----|-----| |1111_010_001_110_nnn 7545: //CPUSHA DC ----46|P|-----|-----| |1111_010_001_111_000 7546: //CINVL IC,(An) ----46|P|-----|-----| |1111_010_010_001_nnn 7547: //CINVP IC,(An) ----46|P|-----|-----| |1111_010_010_010_nnn 7548: //CINVA IC ----46|P|-----|-----| |1111_010_010_011_000 7549: //CPUSHL IC,(An) ----46|P|-----|-----| |1111_010_010_101_nnn 7550: //CPUSHP IC,(An) ----46|P|-----|-----| |1111_010_010_110_nnn 7551: //CPUSHA IC ----46|P|-----|-----| |1111_010_010_111_000 7552: //CINVL BC,(An) ----46|P|-----|-----| |1111_010_011_001_nnn 7553: //CINVP BC,(An) ----46|P|-----|-----| |1111_010_011_010_nnn 7554: //CINVA BC ----46|P|-----|-----| |1111_010_011_011_000 7555: //CPUSHL BC,(An) ----46|P|-----|-----| |1111_010_011_101_nnn 7556: //CPUSHP BC,(An) ----46|P|-----|-----| |1111_010_011_110_nnn 7557: //CPUSHA BC ----46|P|-----|-----| |1111_010_011_111_000 7558: public static StringBuilder disCinvCpush (StringBuilder sb) { 7559: int mmm = disOC >> 3 & 7; 7560: if ((disOC & 0b011_000) != 0) { 7561: sb.append ('c').append ((disOC & 0b100_000) == 0 ? "inv" : "push"). 7562: append ((char) (('a' << 24 | 'p' << 16 | 'l' << 8) >> (disOC & 0b011_000) & 255)). 7563: append ((disOC & 0b100_000) == 0 ? " " : " "). 7564: append ((char) (('b' << 24 | 'i' << 16 | 'd' << 8 | 'n') >> ((disOC & 0b011_000_000) >> 3) & 255)).append ('c'); 7565: if ((disOC & 0b011_000) != 0b011_000) { 7566: sb.append (",(a").append ((char) ('0' + (disOC & 7))).append (')'); 7567: } 7568: return sb; 7569: } 7570: return disIllegal (sb); 7571: } //disCinvCpush(StringBuilder) 7572: 7573: //PFLUSHN (An) ----46|P|-----|-----| |1111_010_100_000_nnn 7574: //PFLUSH (An) ----46|P|-----|-----| |1111_010_100_001_nnn 7575: //PFLUSHAN ----46|P|-----|-----| |1111_010_100_010_000 7576: //PFLUSHA ----46|P|-----|-----| |1111_010_100_011_000 7577: public static StringBuilder disPflush (StringBuilder sb) { 7578: int an = disOC >> 3 & 7; 7579: if (an <= 3) { 7580: sb.append (an == 0 ? "pflushn " : an == 1 ? "pflush " : an == 2 ? "pflushan " : "pflusha"); 7581: if (an <= 1) { 7582: sb.append ("(a").append ((char) ('0' + (disOC & 7))).append (')'); 7583: } 7584: return sb; 7585: } 7586: return disIllegal (sb); 7587: } //disPflush(StringBuilder) 7588: 7589: //PTESTW (An) ----4-|P|-----|-----| |1111_010_101_001_nnn 7590: //PTESTR (An) ----4-|P|-----|-----| |1111_010_101_101_nnn 7591: public static StringBuilder disPtest (StringBuilder sb) { 7592: int wr = disOC >> 3 & 7; 7593: if ((wr & 3) == 1) { 7594: return sb.append (wr == 1 ? "ptestw (a" : "ptestr (a").append ((char) ('0' + (disOC & 7))).append (')'); 7595: } 7596: return disIllegal (sb); 7597: } //disPtest(StringBuilder) 7598: 7599: //PLPAW (An) -----6|P|-----|-----| |1111_010_110_001_nnn 7600: public static StringBuilder disPlpaw (StringBuilder sb) { 7601: return sb.append ("plpaw (a").append ((char) ('0' + (disOC & 7))).append (')'); 7602: } //disPlpaw(StringBuilder) 7603: 7604: //PLPAR (An) -----6|P|-----|-----| |1111_010_111_001_nnn 7605: public static StringBuilder disPlpar (StringBuilder sb) { 7606: return sb.append ("plpar (a").append ((char) ('0' + (disOC & 7))).append (')'); 7607: } //disPlpar(StringBuilder) 7608: 7609: //MOVE16 (An)+,xxx.L ----46|-|-----|-----| |1111_011_000_000_nnn-{address} 7610: //MOVE16 xxx.L,(An)+ ----46|-|-----|-----| |1111_011_000_001_nnn-{address} 7611: //MOVE16 (An),xxx.L ----46|-|-----|-----| |1111_011_000_010_nnn-{address} 7612: //MOVE16 xxx.L,(An) ----46|-|-----|-----| |1111_011_000_011_nnn-{address} 7613: //MOVE16 (Ax)+,(Ay)+ ----46|-|-----|-----| |1111_011_000_100_xxx-1yyy000000000000 7614: public static StringBuilder disMove16 (StringBuilder sb) { 7615: switch (disOC >> 3 & 7) { 7616: case 0: 7617: return disZL (sb.append ("move16 (a").append ((char) ('0' + (disOC & 7))).append (")+,")); 7618: case 1: 7619: return disZL (sb.append ("move16 ")).append (",(a").append ((char) ('0' + (disOC & 7))).append (")+"); 7620: case 2: 7621: return disZL (sb.append ("move16 (a").append ((char) ('0' + (disOC & 7))).append ("),")); 7622: case 3: 7623: return disZL (sb.append ("move16 ")).append (",(a").append ((char) ('0' + (disOC & 7))).append (')'); 7624: case 4: 7625: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 7626: if ((w & 0b1000111111111111) == 0b1000000000000000) { 7627: return sb.append ("move16 (a").append ((char) ('0' + (disOC & 7))).append (")+,(a").append ((char) ('0' + (w >> 12 & 7))).append (")+"); 7628: } 7629: } 7630: return disIllegal (sb); 7631: } //disMove16(StringBuilder) 7632: 7633: //LPSTOP.W #<data> -----6|P|-----|-----| |1111_100_000_000_000-0000000111000000-{data} 7634: public static StringBuilder disLpstop (StringBuilder sb) { 7635: if (disOC == 0xf800) { 7636: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 7637: if (w == 0x01c0) { 7638: return disIMw (sb.append ("lpstop.w ")); 7639: } 7640: } 7641: return disIllegal (sb); 7642: } //disLpstop(StringBuilder) 7643: 7644: //WDDATA.B <ea> ------|-|-----|-----| M+-WXZ |1111_101_100_mmm_rrr (ISA_A) 7645: public static StringBuilder disWddataByte (StringBuilder sb) { 7646: int ea = disOC & 63; 7647: if (XEiJ.EAM_MLT << ea < 0L) { 7648: return disEab (sb.append ("wddata.b "), ea); 7649: } 7650: return disIllegal (sb); 7651: } //disWddataByte(StringBuilder) 7652: 7653: //WDDATA.W <ea> ------|-|-----|-----| M+-WXZ |1111_101_101_mmm_rrr (ISA_A) 7654: public static StringBuilder disWddataWord (StringBuilder sb) { 7655: int ea = disOC & 63; 7656: if (XEiJ.EAM_MLT << ea < 0L) { 7657: return disEaw (sb.append ("wddata.w "), ea); 7658: } 7659: return disIllegal (sb); 7660: } //disWddataWord(StringBuilder) 7661: 7662: //WDDATA.L <ea> ------|-|-----|-----| M+-WXZ |1111_101_110_mmm_rrr (ISA_A) 7663: public static StringBuilder disWddataLong (StringBuilder sb) { 7664: int ea = disOC & 63; 7665: if (XEiJ.EAM_MLT << ea < 0L) { 7666: return disEal (sb.append ("wddata.l "), ea); 7667: } 7668: return disIllegal (sb); 7669: } //disWddataLong(StringBuilder) 7670: 7671: //WDEBUG.L <ea> ------|P|-----|-----| M W |1111_101_111_mmm_rrr-0000000000000011 (ISA_A) 7672: public static StringBuilder disWdebug (StringBuilder sb) { 7673: int ea = disOC & 63; 7674: if (ea == XEiJ.EA_MM || ea == XEiJ.EA_MW) { 7675: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 7676: if (w == 3) { 7677: return disEal (sb.append ("wdebug.l "), ea); 7678: } 7679: } 7680: return disIllegal (sb); 7681: } //disWdebug(StringBuilder) 7682: 7683: //FPACK <name> 012346|-|-----|-----| |1111_111_0xx_xxx_xxx 7684: public static StringBuilder disFpack (StringBuilder sb) { 7685: String name = DIS_FPACK_NAME[disOC & 255]; 7686: if (name.length () != 0) { 7687: return sb.append ("FPACK ").append (name); 7688: } 7689: return disFline (sb); 7690: } //disFpack(StringBuilder) 7691: 7692: //DOS <name> 012346|-|-----|-----| |1111_111_1xx_xxx_xxx 7693: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 7694: public static StringBuilder disDos (StringBuilder sb) { 7695: if (disOC == 0xff00 || disOC == 0xff4c) { //_EXIT,_EXIT2 7696: disStatus = DIS_ALWAYS_BRANCH; 7697: } 7698: String name = DIS_DOS_NAME[disOC & 255]; 7699: if (name.length () != 0) { 7700: return sb.append ("DOS ").append (name); 7701: } 7702: return disFline (sb); 7703: } //disDos(StringBuilder) 7704: 7705: //line 1111 emulator 012346|-|-----|-----| |1111_xxx_xxx_xxx_xxx 7706: public static StringBuilder disFline (StringBuilder sb) { 7707: return disHex4 (sb.append (".dc.w "), disOC); 7708: } //disFline(StringBuilder) 7709: 7710: public static final String[] DIS_FP_SZ = { ".l", ".s", ".x", ".p", ".w", ".d", ".b", ".p" }; 7711: 7712: public static final String[] DIS_FP_FGEN = ( 7713: "fmove," + //000_0000 7714: "fint," + //000_0001 7715: "fsinh," + //000_0010 7716: "fintrz," + //000_0011 7717: "fsqrt," + //000_0100 7718: "," + //000_0101 7719: "flognp1," + //000_0110 7720: "," + //000_0111 7721: "fetoxm1," + //000_1000 7722: "ftanh," + //000_1001 7723: "fatan," + //000_1010 7724: "," + //000_1011 7725: "fasin," + //000_1100 7726: "fatanh," + //000_1101 7727: "fsin," + //000_1110 7728: "ftan," + //000_1111 7729: "fetox," + //001_0000 7730: "ftwotox," + //001_0001 7731: "ftentox," + //001_0010 7732: "," + //001_0011 7733: "flogn," + //001_0100 7734: "flog10," + //001_0101 7735: "flog2," + //001_0110 7736: "," + //001_0111 7737: "fabs," + //001_1000 7738: "fcosh," + //001_1001 7739: "fneg," + //001_1010 7740: "," + //001_1011 7741: "facos," + //001_1100 7742: "fcos," + //001_1101 7743: "fgetexp," + //001_1110 7744: "fgetman," + //001_1111 7745: "fdiv," + //010_0000 7746: "fmod," + //010_0001 7747: "fadd," + //010_0010 7748: "fmul," + //010_0011 7749: "fsgldiv," + //010_0100 7750: "frem," + //010_0101 7751: "fscale," + //010_0110 7752: "fsglmul," + //010_0111 7753: "fsub," + //010_1000 7754: "," + //010_1001 7755: "," + //010_1010 7756: "," + //010_1011 7757: "," + //010_1100 7758: "," + //010_1101 7759: "," + //010_1110 7760: "," + //010_1111 7761: "fsincos," + //011_0000 7762: "fsincos," + //011_0001 7763: "fsincos," + //011_0010 7764: "fsincos," + //011_0011 7765: "fsincos," + //011_0100 7766: "fsincos," + //011_0101 7767: "fsincos," + //011_0110 7768: "fsincos," + //011_0111 7769: "fcmp," + //011_1000 7770: "," + //011_1001 7771: "ftst," + //011_1010 7772: "," + //011_1011 7773: "," + //011_1100 7774: "," + //011_1101 7775: "," + //011_1110 7776: "," + //011_1111 7777: "fsmove," + //100_0000 7778: "fssqrt," + //100_0001 7779: "," + //100_0010 7780: "," + //100_0011 7781: "fdmove," + //100_0100 7782: "fdsqrt," + //100_0101 7783: "," + //100_0110 7784: "," + //100_0111 7785: "," + //100_1000 7786: "," + //100_1001 7787: "," + //100_1010 7788: "," + //100_1011 7789: "," + //100_1100 7790: "," + //100_1101 7791: "," + //100_1110 7792: "," + //100_1111 7793: "," + //101_0000 7794: "," + //101_0001 7795: "," + //101_0010 7796: "," + //101_0011 7797: "," + //101_0100 7798: "," + //101_0101 7799: "," + //101_0110 7800: "," + //101_0111 7801: "fsabs," + //101_1000 7802: "," + //101_1001 7803: "fsneg," + //101_1010 7804: "," + //101_1011 7805: "fdabs," + //101_1100 7806: "," + //101_1101 7807: "fdneg," + //101_1110 7808: "," + //101_1111 7809: "fsdiv," + //110_0000 7810: "," + //110_0001 7811: "fsadd," + //110_0010 7812: "fsmul," + //110_0011 7813: "fddiv," + //110_0100 7814: "," + //110_0101 7815: "fdadd," + //110_0110 7816: "fdmul," + //110_0111 7817: "fssub," + //110_1000 7818: "," + //110_1001 7819: "," + //110_1010 7820: "," + //110_1011 7821: "fdsub," + //110_1100 7822: "," + //110_1101 7823: "," + //110_1110 7824: "," + //110_1111 7825: "flgamma," + //111_0000 (EFPBox.EPB_EXTRA_OPERATION ? "flgamma," : ",") + 7826: "ftgamma," + //111_0001 (EFPBox.EPB_EXTRA_OPERATION ? "ftgamma," : ",") + 7827: "," + //111_0010 7828: "," + //111_0011 7829: "," + //111_0100 7830: "," + //111_0101 7831: "," + //111_0110 7832: "," + //111_0111 7833: "," + //111_1000 7834: "," + //111_1001 7835: "," + //111_1010 7836: "," + //111_1011 7837: "," + //111_1100 7838: "," + //111_1101 7839: "," + //111_1110 7840: "" //111_1111 7841: ).split (",", 128); //limitを書かないと末尾の空文字列が削除されて配列が短くなり末尾の要素を参照できなくなる 7842: 7843: public static final String[] DIS_FP_CC = ( 7844: "f," + //000000 7845: "eq," + //000001 7846: "ogt," + //000010 7847: "oge," + //000011 7848: "olt," + //000100 7849: "ole," + //000101 7850: "ogl," + //000110 7851: "or," + //000111 7852: "un," + //001000 7853: "ueq," + //001001 7854: "ugt," + //001010 7855: "uge," + //001011 7856: "ult," + //001100 7857: "ule," + //001101 7858: "ne," + //001110 7859: "t," + //001111 7860: "sf," + //010000 7861: "seq," + //010001 7862: "gt," + //010010 7863: "ge," + //010011 7864: "lt," + //010100 7865: "le," + //010101 7866: "gl," + //010110 7867: "gle," + //010111 7868: "ngle,"+ //011000 7869: "ngl," + //011001 7870: "nle," + //011010 7871: "nlt," + //011011 7872: "nge," + //011100 7873: "ngt," + //011101 7874: "sne," + //011110 7875: "st" //011111 7876: ).split (","); 7877: 7878: public static final String[] DIS_FP_CR = { "fpcr", "fpsr", "fpiar" }; 7879: 7880: //FMOVE.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0000 7881: //FINT.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0001 7882: //FSINH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0010 7883: //FINTRZ.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0011 7884: //FSQRT.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0100 7885: //FLOGNP1.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_0110 7886: //FETOXM1.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1000 7887: //FTANH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1001 7888: //FATAN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1010 7889: //FASIN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1100 7890: //FATANH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1101 7891: //FSIN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1110 7892: //FTAN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_000_1111 7893: //FETOX.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0000 7894: //FTWOTOX.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0001 7895: //FTENTOX.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0010 7896: //FLOGN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0100 7897: //FLOG10.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0101 7898: //FLOG2.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_0110 7899: //FABS.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1000 7900: //FCOSH.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1001 7901: //FNEG.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1010 7902: //FACOS.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1100 7903: //FCOS.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1101 7904: //FGETEXP.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1110 7905: //FGETMAN.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_001_1111 7906: //FDIV.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0000 7907: //FMOD.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0001 7908: //FADD.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0010 7909: //FMUL.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0011 7910: //FSGLDIV.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0100 7911: //FREM.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0101 7912: //FSCALE.X FPm,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0110 7913: //FSGLMUL.X FPm,FPn --CCS6|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_0111 7914: //FSUB.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_010_1000 7915: //FSINCOS.X FPm,FPc:FPs --CCSS|-|-----|-----| |1111_001_000_000_000-000_mmm_sss_011_0ccc 7916: //FCMP.X FPm,FPn --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_011_1000 7917: //FTST.X FPm --CC46|-|-----|-----| |1111_001_000_000_000-000_mmm_000_011_1010 7918: //FSMOVE.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0000 7919: //FSSQRT.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0001 7920: //FDMOVE.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0100 7921: //FDSQRT.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_100_0101 7922: //FSABS.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1000 7923: //FSNEG.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1010 7924: //FDABS.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1100 7925: //FDNEG.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_101_1110 7926: //FSDIV.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0000 7927: //FSADD.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0010 7928: //FSMUL.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0011 7929: //FDDIV.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0100 7930: //FDADD.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0110 7931: //FDMUL.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_0111 7932: //FSSUB.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_1000 7933: //FDSUB.X FPm,FPn ----46|-|-----|-----| |1111_001_000_000_000-000_mmm_nnn_110_1100 7934: //FMOVE.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0000 7935: //FMOVE.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0000 7936: //FMOVE.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0000 7937: //FMOVE.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0000 7938: //FMOVE.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0000 7939: //FMOVE.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0000 7940: //FMOVE.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0000 7941: //FINT.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0001 7942: //FINT.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0001 7943: //FINT.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0001 7944: //FINT.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0001 7945: //FINT.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0001 7946: //FINT.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0001 7947: //FINT.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0001 7948: //FSINH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0010 7949: //FSINH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0010 7950: //FSINH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0010 7951: //FSINH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0010 7952: //FSINH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0010 7953: //FSINH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0010 7954: //FSINH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0010 7955: //FINTRZ.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0011 7956: //FINTRZ.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0011 7957: //FINTRZ.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0011 7958: //FINTRZ.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0011 7959: //FINTRZ.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0011 7960: //FINTRZ.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0011 7961: //FINTRZ.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0011 7962: //FSQRT.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0100 7963: //FSQRT.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0100 7964: //FSQRT.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0100 7965: //FSQRT.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0100 7966: //FSQRT.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0100 7967: //FSQRT.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0100 7968: //FSQRT.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0100 7969: //FLOGNP1.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_0110 7970: //FLOGNP1.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_0110 7971: //FLOGNP1.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_0110 7972: //FLOGNP1.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_0110 7973: //FLOGNP1.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_0110 7974: //FLOGNP1.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_0110 7975: //FLOGNP1.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_0110 7976: //FETOXM1.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1000 7977: //FETOXM1.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1000 7978: //FETOXM1.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1000 7979: //FETOXM1.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1000 7980: //FETOXM1.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1000 7981: //FETOXM1.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1000 7982: //FETOXM1.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1000 7983: //FTANH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1001 7984: //FTANH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1001 7985: //FTANH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1001 7986: //FTANH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1001 7987: //FTANH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1001 7988: //FTANH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1001 7989: //FTANH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1001 7990: //FATAN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1010 7991: //FATAN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1010 7992: //FATAN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1010 7993: //FATAN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1010 7994: //FATAN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1010 7995: //FATAN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1010 7996: //FATAN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1010 7997: //FASIN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1100 7998: //FASIN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1100 7999: //FASIN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1100 8000: //FASIN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1100 8001: //FASIN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1100 8002: //FASIN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1100 8003: //FASIN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1100 8004: //FATANH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1101 8005: //FATANH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1101 8006: //FATANH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1101 8007: //FATANH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1101 8008: //FATANH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1101 8009: //FATANH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1101 8010: //FATANH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1101 8011: //FSIN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1110 8012: //FSIN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1110 8013: //FSIN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1110 8014: //FSIN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1110 8015: //FSIN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1110 8016: //FSIN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1110 8017: //FSIN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1110 8018: //FTAN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_000_1111 8019: //FTAN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_000_1111 8020: //FTAN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_000_1111 8021: //FTAN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_000_1111 8022: //FTAN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_000_1111 8023: //FTAN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_000_1111 8024: //FTAN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_000_1111 8025: //FETOX.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0000 8026: //FETOX.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0000 8027: //FETOX.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0000 8028: //FETOX.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0000 8029: //FETOX.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0000 8030: //FETOX.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0000 8031: //FETOX.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0000 8032: //FTWOTOX.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0001 8033: //FTWOTOX.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0001 8034: //FTWOTOX.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0001 8035: //FTWOTOX.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0001 8036: //FTWOTOX.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0001 8037: //FTWOTOX.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0001 8038: //FTWOTOX.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0001 8039: //FTENTOX.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0010 8040: //FTENTOX.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0010 8041: //FTENTOX.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0010 8042: //FTENTOX.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0010 8043: //FTENTOX.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0010 8044: //FTENTOX.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0010 8045: //FTENTOX.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0010 8046: //FLOGN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0100 8047: //FLOGN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0100 8048: //FLOGN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0100 8049: //FLOGN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0100 8050: //FLOGN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0100 8051: //FLOGN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0100 8052: //FLOGN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0100 8053: //FLOG10.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0101 8054: //FLOG10.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0101 8055: //FLOG10.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0101 8056: //FLOG10.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0101 8057: //FLOG10.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0101 8058: //FLOG10.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0101 8059: //FLOG10.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0101 8060: //FLOG2.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_0110 8061: //FLOG2.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_0110 8062: //FLOG2.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_0110 8063: //FLOG2.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_0110 8064: //FLOG2.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_0110 8065: //FLOG2.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_0110 8066: //FLOG2.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_0110 8067: //FABS.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1000 8068: //FABS.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1000 8069: //FABS.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1000 8070: //FABS.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1000 8071: //FABS.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1000 8072: //FABS.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1000 8073: //FABS.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1000 8074: //FCOSH.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1001 8075: //FCOSH.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1001 8076: //FCOSH.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1001 8077: //FCOSH.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1001 8078: //FCOSH.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1001 8079: //FCOSH.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1001 8080: //FCOSH.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1001 8081: //FNEG.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1010 8082: //FNEG.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1010 8083: //FNEG.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1010 8084: //FNEG.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1010 8085: //FNEG.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1010 8086: //FNEG.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1010 8087: //FNEG.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1010 8088: //FACOS.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1100 8089: //FACOS.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1100 8090: //FACOS.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1100 8091: //FACOS.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1100 8092: //FACOS.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1100 8093: //FACOS.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1100 8094: //FACOS.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1100 8095: //FCOS.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1101 8096: //FCOS.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1101 8097: //FCOS.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1101 8098: //FCOS.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1101 8099: //FCOS.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1101 8100: //FCOS.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1101 8101: //FCOS.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1101 8102: //FGETEXP.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1110 8103: //FGETEXP.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1110 8104: //FGETEXP.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1110 8105: //FGETEXP.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1110 8106: //FGETEXP.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1110 8107: //FGETEXP.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1110 8108: //FGETEXP.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1110 8109: //FGETMAN.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_001_1111 8110: //FGETMAN.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_001_1111 8111: //FGETMAN.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_001_1111 8112: //FGETMAN.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_001_1111 8113: //FGETMAN.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_001_1111 8114: //FGETMAN.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_001_1111 8115: //FGETMAN.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_001_1111 8116: //FDIV.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0000 8117: //FDIV.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0000 8118: //FDIV.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0000 8119: //FDIV.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0000 8120: //FDIV.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0000 8121: //FDIV.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0000 8122: //FDIV.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0000 8123: //FMOD.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0001 8124: //FMOD.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0001 8125: //FMOD.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0001 8126: //FMOD.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0001 8127: //FMOD.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0001 8128: //FMOD.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0001 8129: //FMOD.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0001 8130: //FADD.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0010 8131: //FADD.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0010 8132: //FADD.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0010 8133: //FADD.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0010 8134: //FADD.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0010 8135: //FADD.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0010 8136: //FADD.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0010 8137: //FMUL.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0011 8138: //FMUL.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0011 8139: //FMUL.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0011 8140: //FMUL.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0011 8141: //FMUL.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0011 8142: //FMUL.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0011 8143: //FMUL.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0011 8144: //FSGLDIV.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0100 8145: //FSGLDIV.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0100 8146: //FSGLDIV.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0100 8147: //FSGLDIV.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0100 8148: //FSGLDIV.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0100 8149: //FSGLDIV.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0100 8150: //FSGLDIV.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0100 8151: //FREM.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0101 8152: //FREM.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0101 8153: //FREM.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0101 8154: //FREM.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0101 8155: //FREM.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0101 8156: //FREM.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0101 8157: //FREM.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0101 8158: //FSCALE.L <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0110 8159: //FSCALE.S <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0110 8160: //FSCALE.X <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0110 8161: //FSCALE.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0110 8162: //FSCALE.W <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0110 8163: //FSCALE.D <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0110 8164: //FSCALE.B <ea>,FPn --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0110 8165: //FSGLMUL.L <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_0111 8166: //FSGLMUL.S <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_0111 8167: //FSGLMUL.X <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_0111 8168: //FSGLMUL.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_0111 8169: //FSGLMUL.W <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_0111 8170: //FSGLMUL.D <ea>,FPn --CCS6|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_0111 8171: //FSGLMUL.B <ea>,FPn --CCS6|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_0111 8172: //FSUB.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_010_1000 8173: //FSUB.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_010_1000 8174: //FSUB.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_010_1000 8175: //FSUB.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_010_1000 8176: //FSUB.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_010_1000 8177: //FSUB.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_010_1000 8178: //FSUB.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_010_1000 8179: //FSINCOS.L <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_sss_011_0ccc 8180: //FSINCOS.S <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_sss_011_0ccc 8181: //FSINCOS.X <ea>,FPc:FPs --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_sss_011_0ccc 8182: //FSINCOS.P <ea>,FPc:FPs --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_sss_011_0ccc 8183: //FSINCOS.W <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_sss_011_0ccc 8184: //FSINCOS.D <ea>,FPc:FPs --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_sss_011_0ccc 8185: //FSINCOS.B <ea>,FPc:FPs --CCSS|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_sss_011_0ccc 8186: //FCMP.L <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_011_1000 8187: //FCMP.S <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_011_1000 8188: //FCMP.X <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_011_1000 8189: //FCMP.P <ea>,FPn --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_011_1000 8190: //FCMP.W <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_011_1000 8191: //FCMP.D <ea>,FPn --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_011_1000 8192: //FCMP.B <ea>,FPn --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_011_1000 8193: //FTST.L <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_000_011_1010 8194: //FTST.S <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_000_011_1010 8195: //FTST.X <ea> --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_000_011_1010 8196: //FTST.P <ea> --CCSS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_000_011_1010 8197: //FTST.W <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_000_011_1010 8198: //FTST.D <ea> --CC46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_000_011_1010 8199: //FTST.B <ea> --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_000_011_1010 8200: //FSMOVE.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0000 8201: //FSMOVE.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0000 8202: //FSMOVE.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0000 8203: //FSMOVE.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0000 8204: //FSMOVE.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0000 8205: //FSMOVE.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0000 8206: //FSMOVE.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0000 8207: //FSSQRT.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0001 8208: //FSSQRT.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0001 8209: //FSSQRT.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0001 8210: //FSSQRT.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0001 8211: //FSSQRT.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0001 8212: //FSSQRT.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0001 8213: //FSSQRT.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0001 8214: //FDMOVE.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0100 8215: //FDMOVE.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0100 8216: //FDMOVE.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0100 8217: //FDMOVE.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0100 8218: //FDMOVE.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0100 8219: //FDMOVE.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0100 8220: //FDMOVE.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0100 8221: //FDSQRT.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_100_0101 8222: //FDSQRT.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_100_0101 8223: //FDSQRT.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_100_0101 8224: //FDSQRT.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_100_0101 8225: //FDSQRT.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_100_0101 8226: //FDSQRT.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_100_0101 8227: //FDSQRT.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_100_0101 8228: //FSABS.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1000 8229: //FSABS.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1000 8230: //FSABS.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1000 8231: //FSABS.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1000 8232: //FSABS.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1000 8233: //FSABS.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1000 8234: //FSABS.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1000 8235: //FSNEG.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1010 8236: //FSNEG.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1010 8237: //FSNEG.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1010 8238: //FSNEG.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1010 8239: //FSNEG.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1010 8240: //FSNEG.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1010 8241: //FSNEG.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1010 8242: //FDABS.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1100 8243: //FDABS.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1100 8244: //FDABS.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1100 8245: //FDABS.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1100 8246: //FDABS.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1100 8247: //FDABS.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1100 8248: //FDABS.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1100 8249: //FDNEG.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_101_1110 8250: //FDNEG.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_101_1110 8251: //FDNEG.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_101_1110 8252: //FDNEG.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_101_1110 8253: //FDNEG.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_101_1110 8254: //FDNEG.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_101_1110 8255: //FDNEG.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_101_1110 8256: //FSDIV.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0000 8257: //FSDIV.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0000 8258: //FSDIV.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0000 8259: //FSDIV.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0000 8260: //FSDIV.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0000 8261: //FSDIV.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0000 8262: //FSDIV.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0000 8263: //FSADD.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0010 8264: //FSADD.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0010 8265: //FSADD.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0010 8266: //FSADD.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0010 8267: //FSADD.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0010 8268: //FSADD.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0010 8269: //FSADD.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0010 8270: //FSMUL.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0011 8271: //FSMUL.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0011 8272: //FSMUL.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0011 8273: //FSMUL.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0011 8274: //FSMUL.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0011 8275: //FSMUL.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0011 8276: //FSMUL.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0011 8277: //FDDIV.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0100 8278: //FDDIV.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0100 8279: //FDDIV.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0100 8280: //FDDIV.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0100 8281: //FDDIV.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0100 8282: //FDDIV.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0100 8283: //FDDIV.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0100 8284: //FDADD.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0110 8285: //FDADD.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0110 8286: //FDADD.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0110 8287: //FDADD.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0110 8288: //FDADD.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0110 8289: //FDADD.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0110 8290: //FDADD.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0110 8291: //FDMUL.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_0111 8292: //FDMUL.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_0111 8293: //FDMUL.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_0111 8294: //FDMUL.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_0111 8295: //FDMUL.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_0111 8296: //FDMUL.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_0111 8297: //FDMUL.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_0111 8298: //FSSUB.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1000 8299: //FSSUB.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1000 8300: //FSSUB.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1000 8301: //FSSUB.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1000 8302: //FSSUB.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1000 8303: //FSSUB.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1000 8304: //FSSUB.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1000 8305: //FDSUB.L <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_000_nnn_110_1100 8306: //FDSUB.S <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_001_nnn_110_1100 8307: //FDSUB.X <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_010_nnn_110_1100 8308: //FDSUB.P <ea>,FPn ----SS|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_011_nnn_110_1100 8309: //FDSUB.W <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_100_nnn_110_1100 8310: //FDSUB.D <ea>,FPn ----46|-|-----|-----| M+-WXZPI|1111_001_000_mmm_rrr-010_101_nnn_110_1100 8311: //FDSUB.B <ea>,FPn ----46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-010_110_nnn_110_1100 8312: //FMOVECR.X #ccc,FPn --CCSS|-|-----|-----| |1111_001_000_000_000-010_111_nnn_0cc_cccc 8313: //FMOVE.L FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_000_nnn_000_0000 8314: //FMOVE.S FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_001_nnn_000_0000 8315: //FMOVE.X FPn,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_010_nnn_000_0000 8316: //FMOVE.P FPn,<ea>{#k} --CCSS|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_011_nnn_kkk_kkkk 8317: //FMOVE.W FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_100_nnn_000_0000 8318: //FMOVE.D FPn,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_101_nnn_000_0000 8319: //FMOVE.B FPn,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-011_110_nnn_000_0000 8320: //FMOVE.P FPn,<ea>{Dl} --CCSS|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-011_111_nnn_lll_0000 8321: //FMOVE.L <ea>,FPIAR --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000 8322: //FMOVE.L <ea>,FPSR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000 8323: //FMOVE.L <ea>,FPCR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000 8324: //FMOVEM.L <ea>,FPIAR --CC46|-|-----|-----|DAM+-WXZPI|1111_001_000_mmm_rrr-100_001_000_000_0000 8325: //FMOVEM.L <ea>,FPSR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_010_000_000_0000 8326: //FMOVEM.L <ea>,FPCR --CC46|-|-----|-----|D M+-WXZPI|1111_001_000_mmm_rrr-100_100_000_000_0000 8327: //FMOVEM.L <ea>,FPSR/FPIAR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_011_000_000_0000 8328: //FMOVEM.L #<data>,#<data>,FPSR/FPIAR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_011_000_000_0000-{data} 8329: //FMOVEM.L <ea>,FPCR/FPIAR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_101_000_000_0000 8330: //FMOVEM.L #<data>,#<data>,FPCR/FPIAR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_101_000_000_0000-{data} 8331: //FMOVEM.L <ea>,FPCR/FPSR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_110_000_000_0000 8332: //FMOVEM.L #<data>,#<data>,FPCR/FPSR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_110_000_000_0000-{data} 8333: //FMOVEM.L <ea>,FPCR/FPSR/FPIAR --CC46|-|-----|-----| M+-WXZP |1111_001_000_mmm_rrr-100_111_000_000_0000 8334: //FMOVEM.L #<d>,#<d>,#<d>,FPCR/FPSR/FPIAR --CC4S|-|-----|-----| I|1111_001_000_111_100-100_111_000_000_0000-{data} 8335: //FMOVE.L FPIAR,<ea> --CC46|-|-----|-----|DAM+-WXZ |1111_001_000_mmm_rrr-101_001_000_000_0000 8336: //FMOVE.L FPSR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_010_000_000_0000 8337: //FMOVE.L FPCR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_100_000_000_0000 8338: //FMOVEM.L FPIAR,<ea> --CC46|-|-----|-----|DAM+-WXZ |1111_001_000_mmm_rrr-101_001_000_000_0000 8339: //FMOVEM.L FPSR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_010_000_000_0000 8340: //FMOVEM.L FPCR,<ea> --CC46|-|-----|-----|D M+-WXZ |1111_001_000_mmm_rrr-101_100_000_000_0000 8341: //FMOVEM.L FPSR/FPIAR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_011_000_000_0000 8342: //FMOVEM.L FPCR/FPIAR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_101_000_000_0000 8343: //FMOVEM.L FPCR/FPSR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_110_000_000_0000 8344: //FMOVEM.L FPCR/FPSR/FPIAR,<ea> --CC46|-|-----|-----| M+-WXZ |1111_001_000_mmm_rrr-101_111_000_000_0000 8345: //FMOVEM.X <ea>,#<data> --CC46|-|-----|-----| M+ WXZP |1111_001_000_mmm_rrr-110_100_00d_ddd_dddd 8346: //FMOVEM.X <ea>,<list> --CC46|-|-----|-----| M+ WXZP |1111_001_000_mmm_rrr-110_100_00l_lll_llll 8347: //FMOVEM.X <ea>,Dl --CC4S|-|-----|-----| M+ WXZP |1111_001_000_mmm_rrr-110_110_000_lll_0000 8348: //FMOVEM.X #<data>,-(Ar) --CC46|-|-----|-----| - |1111_001_000_100_rrr-111_000_00d_ddd_dddd 8349: //FMOVEM.X #<data>,<ea> --CC46|-|-----|-----| M WXZ |1111_001_000_mmm_rrr-111_100_00d_ddd_dddd 8350: //FMOVEM.X <list>,-(Ar) --CC46|-|-----|-----| - |1111_001_000_100_rrr-111_000_00l_lll_llll 8351: //FMOVEM.X <list>,<ea> --CC46|-|-----|-----| M WXZ |1111_001_000_mmm_rrr-111_100_00l_lll_llll 8352: //FMOVEM.X Dl,-(Ar) --CC4S|-|-----|-----| - |1111_001_000_100_rrr-111_010_000_lll_0000 8353: //FMOVEM.X Dl,<ea> --CC4S|-|-----|-----| M WXZ |1111_001_000_mmm_rrr-111_110_000_lll_0000 8354: public static StringBuilder disFgen (StringBuilder sb) { 8355: int ea = disOC & 63; 8356: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 8357: int m = w >> 10 & 7; 8358: int n = w >> 7 & 7; 8359: int c = w & 0x7f; 8360: switch (w >> 13) { 8361: case 0b000: //Fop.X FPm,FPn 8362: //メモ 8363: // db.xとscd.xのバグ 8364: // FSINCOS.X FPm,FPc:FPs をアセンブルすると FSINCOS.X FPm,FP0:FPs が出力される 8365: { 8366: String mnemonic = DIS_FP_FGEN[c]; 8367: if (mnemonic.length () != 0) { 8368: disFPn (disOp2 (sb, mnemonic, ".x"), m); 8369: if (c == 0b011_1010) { //FTST 8370: return sb; 8371: } 8372: sb.append (','); 8373: if (c >> 3 == 0b011_0000 >> 3) { //FSINCOS 8374: disFPn (sb, c & 7).append (':'); 8375: } 8376: return disFPn (sb, n); 8377: } 8378: } 8379: break; 8380: case 0b010: //Fop.* <ea>,FPn 8381: if (m == 7) { //FMOVECR.X #ccc,FPn 8382: return disFPn (disHex2 (disOp1 (sb, "fmovecr.x").append ('#'), c).append (','), n); 8383: } 8384: // LSXPWDBP 8385: if (((0b11001010 << 24 << m) < 0 ? XEiJ.EAM_DAT : XEiJ.EAM_ANY) << ea < 0L) { 8386: String mnemonic = DIS_FP_FGEN[c]; 8387: if (mnemonic.length () != 0) { 8388: disEa (disOp2 (sb, mnemonic, DIS_FP_SZ[m]), ea, 8 + m); 8389: if (c == 0b011_1010) { //FTST 8390: return sb; 8391: } 8392: sb.append (','); 8393: if (c >> 3 == 0b011_0000 >> 3) { //FSINCOS 8394: disFPn (sb, c & 7).append (':'); 8395: } 8396: return disFPn (sb, n); 8397: } 8398: } 8399: break; 8400: case 0b011: //FMOVE.* FPn,<ea> 8401: // LSXPWDBP 8402: if (((0b11001010 << 24 << m) < 0 ? XEiJ.EAM_DLT : XEiJ.EAM_MLT) << ea < 0L) { 8403: disEa (disFPn (disOp2 (sb, "fmove", DIS_FP_SZ[m]), n).append (','), ea, 8 + m); 8404: if (m == 3) { //static k-factor 8405: disHex2 (sb.append ('{'), c).append ('}'); 8406: } else if (m == 7) { //dynamic k-factor 8407: disDR (sb.append ('{'), c >>> 4).append ('}'); 8408: } 8409: return sb; 8410: } 8411: break; 8412: case 0b100: //FMOVEM.L <ea>,FPCR/FPSR/FPIAR 8413: { 8414: //メモ 8415: // db.xとscd.xのバグ 8416: // FMOVE.L Dn,FPCR をアセンブルできない 8417: // FMOVE.L Dn,FPSR をアセンブルできない 8418: // FMOVE.L Dn,FPIAR をアセンブルできない 8419: // FMOVE.L An,FPIAR をアセンブルできない 8420: // FMOVEM.L Dn,FPCR をアセンブルできない 8421: // FMOVEM.L Dn,FPSR をアセンブルできない 8422: // FMOVEM.L Dn,FPIAR をアセンブルできない 8423: // FMOVEM.L An,FPIAR をアセンブルできない 8424: int k = 0b11_10_10_01_10_01_01_00 >> (m << 1) & 3; //転送するレジスタの数 8425: if ((m == 1 ? XEiJ.EAM_ALL : k == 1 ? XEiJ.EAM_DAT : XEiJ.EAM_ANY) << ea < 0L) { 8426: disOp1 (sb, k == 1 ? "fmove.l" : "fmovem.l"); 8427: if (ea < XEiJ.EA_IM) { 8428: disEaz (sb, ea).append (','); 8429: } else { 8430: for (int i = 0; i < k; i++) { 8431: disIMl (sb).append (','); 8432: } 8433: } 8434: m <<= 29; 8435: for (int i = 0; m != 0; i++, m <<= 1) { 8436: if (m < 0) { 8437: sb.append (DIS_FP_CR[i]); 8438: if (m << 1 != 0) { 8439: sb.append ('/'); 8440: } 8441: } 8442: } 8443: return sb; 8444: } 8445: } 8446: break; 8447: case 0b101: //FMOVEM.L FPCR/FPSR/FPIAR,<ea> 8448: { 8449: //メモ 8450: // db.xとscd.xのバグ 8451: // FMOVE.L FPCR,Dn をアセンブルできない 8452: // FMOVE.L FPSR,Dn をアセンブルできない 8453: // FMOVE.L FPIAR,Dn をアセンブルできない 8454: // FMOVE.L FPIAR,An をアセンブルできない 8455: // FMOVEM.L FPCR,Dn をアセンブルできない 8456: // FMOVEM.L FPSR,Dn をアセンブルできない 8457: // FMOVEM.L FPIAR,Dn をアセンブルできない 8458: // FMOVEM.L FPIAR,An をアセンブルできない 8459: int k = 0b11_10_10_01_10_01_01_00 >> (m << 1) & 3; //転送するレジスタの数 8460: if ((m == 1 ? XEiJ.EAM_ALT : k == 1 ? XEiJ.EAM_DLT : XEiJ.EAM_MLT) << ea < 0L) { 8461: disOp1 (sb, k == 1 ? "fmove.l" : "fmovem.l"); 8462: m <<= 29; 8463: for (int i = 0; m != 0; i++, m <<= 1) { 8464: if (m < 0) { 8465: sb.append (DIS_FP_CR[i]); 8466: if (m << 1 != 0) { 8467: sb.append ('/'); 8468: } 8469: } 8470: } 8471: return disEaz (sb.append (','), ea); 8472: } 8473: } 8474: break; 8475: case 0b110: //FMOVEM.X <ea>,<list> 8476: if (XEiJ.EAM_RDL << ea < 0L) { 8477: disEaz (disOp1 (sb, "fmovem.x"), ea).append (','); 8478: if ((m & 2) != 0) { //dynamic list 8479: disDR (sb, w >> 4 & 7); 8480: } else { //static list 8481: disFPLst (sb, w); 8482: } 8483: return sb; 8484: } 8485: break; 8486: case 0b111: //FMOVEM.X <list>,<ea> 8487: { 8488: if (XEiJ.EAM_WTL << ea < 0L) { 8489: disOp1 (sb, "fmovem.x"); 8490: if ((m & 2) != 0) { //dynamic list 8491: disDR (sb, w >> 4 & 7); 8492: } else if ((m & 4) != 0) { //static list, normal 8493: disFPLst (sb, w); 8494: } else { //static list, reverse 8495: disFPLmn (sb, w); 8496: } 8497: return disEaz (sb.append (','), ea); 8498: } 8499: } 8500: break; 8501: } //switch w>>13 8502: return disIllegal (sb); 8503: } //disFgen(StringBuilder) 8504: 8505: //FDBcc Dr,<label> --CC4S|-|-----|-----| |1111_001_001_001_rrr-000_000_000_0cc_cccc-{offset} 8506: //FTRAPcc.W #<data> --CC4S|-|-----|-----| |1111_001_001_111_010-000_000_000_0cc_cccc-{data} 8507: //FTRAPcc.L #<data> --CC4S|-|-----|-----| |1111_001_001_111_011-000_000_000_0cc_cccc-{data} 8508: //FTRAPcc --CC4S|-|-----|-----| |1111_001_001_111_100-000_000_000_0cc_cccc 8509: //FScc.B <ea> --CC4S|-|-----|-----|D M+-WXZ |1111_001_001_mmm_rrr-000_000_000_0cc_cccc 8510: public static StringBuilder disFscc (StringBuilder sb) { 8511: //メモ 8512: // db.xとscd.xのバグ 8513: // FDBcc Dr,<label> をアセンブルすると FDBcc Dr,<label>+2 が出力される (scd060.xで修正されている) 8514: // FDBcc Dr,<label> を逆アセンブルすると FDBcc Dr,<label>-2 が表示される (scd060.xで修正されている) 8515: int c = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor) & 63; 8516: if (c < DIS_FP_CC.length) { 8517: int ea = disOC & 63; 8518: if (ea >> 3 == XEiJ.MMM_AR) { 8519: disStatus = DIS_SOMETIMES_BRANCH; 8520: return disOW (disDR (disOp2 (sb, "fdb", DIS_FP_CC[c]), disOC & 7).append (',')); //FDBccはUnsized、PDBccはWordらしい 8521: } 8522: if (ea == XEiJ.EA_PW) { 8523: return disIMw (disOp3 (sb, "ftrap", DIS_FP_CC[c], ".w")); 8524: } 8525: if (ea == XEiJ.EA_PX) { 8526: return disIMl (disOp3 (sb, "ftrap", DIS_FP_CC[c], ".l")); 8527: } 8528: if (ea == XEiJ.EA_IM) { 8529: return sb.append ("ftrap").append (DIS_FP_CC[c]); 8530: } 8531: if (XEiJ.EAM_DAT << ea < 0L) { 8532: return disEab (disOp3 (sb, "fs", DIS_FP_CC[c], ".b"), ea); 8533: } 8534: } 8535: return disIllegal (sb); 8536: } //disFscc(StringBuilder) 8537: 8538: //FNOP --CC46|-|-----|-----| |1111_001_010_000_000-000_000_000_000_0000 8539: //FBcc.W <label> --CC46|-|-----|-----| |1111_001_010_ccc_ccc-{offset} 8540: public static StringBuilder disFbccWord (StringBuilder sb) { 8541: int c = disOC & 63; 8542: if (c < DIS_FP_CC.length) { 8543: if (c == 0b000000) { //FBF.W <label> 8544: int base = disPC; 8545: int offset = MC68060.mmuPeekWordSignCode (base, disSupervisor); 8546: disPC = base + 2; 8547: if (offset == 0) { //FBF.W (*)+2 → FNOP 8548: return sb.append ("fnop"); 8549: } 8550: return disHex8 (disOp1 (sb, "fbf.w"), base + offset); 8551: } 8552: if (c == 0b001111) { //FBT.W <labsl> → FBRA.W <label> 8553: disStatus = DIS_ALWAYS_BRANCH; 8554: return disOW (disOp1 (sb, "fbra.w")); 8555: } 8556: //FBcc.W <label> 8557: disStatus = DIS_SOMETIMES_BRANCH; 8558: return disOW (disOp3 (sb, "fb", DIS_FP_CC[c], ".w")); 8559: } 8560: return disIllegal (sb); 8561: } //disFbccWord(StringBuilder) 8562: 8563: //FBcc.L <label> --CC46|-|-----|-----| |1111_001_011_ccc_ccc-{offset} 8564: public static StringBuilder disFbccLong (StringBuilder sb) { 8565: int c = disOC & 63; 8566: if (c < DIS_FP_CC.length) { 8567: if (c == 0b001111) { //FBT.L <labsl> → FBRA.L <label> 8568: disStatus = DIS_ALWAYS_BRANCH; 8569: return disOW (disOp1 (sb, "fbra.l")); 8570: } 8571: //FBcc.L <label> 8572: disStatus = DIS_SOMETIMES_BRANCH; 8573: return disOW (disOp3 (sb, "fb", DIS_FP_CC[c], ".l")); 8574: } 8575: return disIllegal (sb); 8576: } //disFbccLong(StringBuilder) 8577: 8578: //FSAVE <ea> --CC46|P|-----|-----| M -WXZ |1111_001_100_mmm_rrr 8579: public static StringBuilder disFsave (StringBuilder sb) { 8580: int ea = disOC & 63; 8581: if (XEiJ.EAM_WTL << ea < 0L) { 8582: return disEaz (disOp1 (sb, "fsave"), ea); 8583: } 8584: return disIllegal (sb); 8585: } //disFsave(StringBuilder) 8586: 8587: //FRESTORE <ea> --CC46|P|-----|-----| M+ WXZP |1111_001_101_mmm_rrr 8588: public static StringBuilder disFrestore (StringBuilder sb) { 8589: int ea = disOC & 63; 8590: if (XEiJ.EAM_RDL << ea < 0L) { 8591: return disEaz (disOp1 (sb, "frestore"), ea); 8592: } 8593: return disIllegal (sb); 8594: } //disFrestore(StringBuilder) 8595: 8596: //不当命令 8597: public static StringBuilder disIllegal (StringBuilder sb) { 8598: sb.append ("illegal "); 8599: //2ワード目で不当命令と判別されたときは2ワードの不当命令とみなす 8600: for (int a = disPC0; a < disPC; a += 2) { 8601: if (disPC0 < a) { 8602: sb.append (','); 8603: } 8604: disHex4 (sb, MC68060.mmuPeekWordZeroCode (a, disSupervisor)); 8605: } 8606: return sb; 8607: } //disillegal(StringBuilder) 8608: 8609: //実効アドレス 8610: public static StringBuilder disEaz (StringBuilder sb, int ea) { 8611: return disEa (sb, ea, -1); 8612: } //disEaz(StringBuilder,int) 8613: public static StringBuilder disEab (StringBuilder sb, int ea) { 8614: return disEa (sb, ea, XEiJ.MPU_SS_BYTE); 8615: } //disEab(StringBuilder,int) 8616: public static StringBuilder disEaw (StringBuilder sb, int ea) { 8617: return disEa (sb, ea, XEiJ.MPU_SS_WORD); 8618: } //disEaw(StringBuilder,int) 8619: public static StringBuilder disEal (StringBuilder sb, int ea) { 8620: return disEa (sb, ea, XEiJ.MPU_SS_LONG); 8621: } //disEal(StringBuilder,int) 8622: public static StringBuilder disEa (StringBuilder sb, int ea, int ss) { 8623: int rrr = ea & 7; 8624: switch (ea) { 8625: case XEiJ.EA_DR + 0: //d0 8626: case XEiJ.EA_DR + 1: //d1 8627: case XEiJ.EA_DR + 2: //d2 8628: case XEiJ.EA_DR + 3: //d3 8629: case XEiJ.EA_DR + 4: //d4 8630: case XEiJ.EA_DR + 5: //d5 8631: case XEiJ.EA_DR + 6: //d6 8632: case XEiJ.EA_DR + 7: //d7 8633: return disDR (sb, rrr); 8634: case XEiJ.EA_AR + 0: //a0 8635: case XEiJ.EA_AR + 1: //a1 8636: case XEiJ.EA_AR + 2: //a2 8637: case XEiJ.EA_AR + 3: //a3 8638: case XEiJ.EA_AR + 4: //a4 8639: case XEiJ.EA_AR + 5: //a5 8640: case XEiJ.EA_AR + 6: //a6 8641: case XEiJ.EA_AR + 7: //sp 8642: return disAR (sb, rrr); 8643: case XEiJ.EA_MM + 0: //(a0) 8644: case XEiJ.EA_MM + 1: //(a1) 8645: case XEiJ.EA_MM + 2: //(a2) 8646: case XEiJ.EA_MM + 3: //(a3) 8647: case XEiJ.EA_MM + 4: //(a4) 8648: case XEiJ.EA_MM + 5: //(a5) 8649: case XEiJ.EA_MM + 6: //(a6) 8650: case XEiJ.EA_MM + 7: //(sp) 8651: return disMM (sb, rrr); 8652: case XEiJ.EA_MP + 0: //(a0)+ 8653: case XEiJ.EA_MP + 1: //(a1)+ 8654: case XEiJ.EA_MP + 2: //(a2)+ 8655: case XEiJ.EA_MP + 3: //(a3)+ 8656: case XEiJ.EA_MP + 4: //(a4)+ 8657: case XEiJ.EA_MP + 5: //(a5)+ 8658: case XEiJ.EA_MP + 6: //(a6)+ 8659: case XEiJ.EA_MP + 7: //(sp)+ 8660: return disMP (sb, rrr); 8661: case XEiJ.EA_MN + 0: //-(a0) 8662: case XEiJ.EA_MN + 1: //-(a1) 8663: case XEiJ.EA_MN + 2: //-(a2) 8664: case XEiJ.EA_MN + 3: //-(a3) 8665: case XEiJ.EA_MN + 4: //-(a4) 8666: case XEiJ.EA_MN + 5: //-(a5) 8667: case XEiJ.EA_MN + 6: //-(a6) 8668: case XEiJ.EA_MN + 7: //-(sp) 8669: return disMN (sb, rrr); 8670: case XEiJ.EA_MW + 0: //d16(a0) 8671: case XEiJ.EA_MW + 1: //d16(a1) 8672: case XEiJ.EA_MW + 2: //d16(a2) 8673: case XEiJ.EA_MW + 3: //d16(a3) 8674: case XEiJ.EA_MW + 4: //d16(a4) 8675: case XEiJ.EA_MW + 5: //d16(a5) 8676: case XEiJ.EA_MW + 6: //d16(a6) 8677: case XEiJ.EA_MW + 7: //d16(sp) 8678: return disMW (sb, rrr); 8679: case XEiJ.EA_MX + 0: //d8(a0,rn.wl) 8680: case XEiJ.EA_MX + 1: //d8(a1,rn.wl) 8681: case XEiJ.EA_MX + 2: //d8(a2,rn.wl) 8682: case XEiJ.EA_MX + 3: //d8(a3,rn.wl) 8683: case XEiJ.EA_MX + 4: //d8(a4,rn.wl) 8684: case XEiJ.EA_MX + 5: //d8(a5,rn.wl) 8685: case XEiJ.EA_MX + 6: //d8(a6,rn.wl) 8686: case XEiJ.EA_MX + 7: //d8(sp,rn.wl) 8687: return disMX (sb, rrr); 8688: case XEiJ.EA_ZW: //(xxx).w 8689: return disZW (sb); 8690: case XEiJ.EA_ZL: //(xxx).l 8691: return disZL (sb); 8692: case XEiJ.EA_PW: //d16(pc) 8693: return disPW (sb); 8694: case XEiJ.EA_PX: //d8(pc,rn.wl) 8695: return disPX (sb); 8696: case XEiJ.EA_IM: //#<data> 8697: return (ss == XEiJ.MPU_SS_BYTE ? disIMb (sb) : 8698: ss == XEiJ.MPU_SS_WORD ? disIMw (sb) : 8699: ss == XEiJ.MPU_SS_LONG ? disIMl (sb) : 8700: ss == 8 + 0 ? disIMl (sb) : 8701: ss == 8 + 1 ? disIMs (sb) : 8702: ss == 8 + 2 ? disIMx (sb) : 8703: ss == 8 + 3 ? disIMp (sb) : 8704: ss == 8 + 4 ? disIMw (sb) : 8705: ss == 8 + 5 ? disIMd (sb) : 8706: ss == 8 + 6 ? disIMb (sb) : 8707: ss == 8 + 7 ? disIMp (sb) : 8708: sb.append ("???")); 8709: } //switch 8710: return sb.append ("???"); 8711: } //disEa(StringBuilder,int,int) 8712: 8713: public static StringBuilder disDR (StringBuilder sb, int rrr) { 8714: return sb.append ('d').append ((char) ('0' + rrr)); 8715: } //disDR(StringBuilder,int) 8716: public static StringBuilder disAR (StringBuilder sb, int rrr) { 8717: return rrr < 7 ? sb.append ('a').append ((char) ('0' + rrr)) : sb.append ("sp"); 8718: } //disAR(StringBuilder,int) 8719: public static StringBuilder disRn (StringBuilder sb, int rnnn) { 8720: return rnnn < 15 ? sb.append (rnnn < 8 ? 'd' : 'a').append ((char) ('0' + (rnnn & 7))) : sb.append ("sp"); 8721: } //disRn(StringBuilder,int) 8722: public static StringBuilder disMM (StringBuilder sb, int rrr) { 8723: return disAR (sb.append ('('), rrr).append (')'); 8724: } //disMM(StringBuilder,int) 8725: public static StringBuilder disMP (StringBuilder sb, int rrr) { 8726: return disAR (sb.append ('('), rrr).append (")+"); 8727: } //disMP(StringBuilder,int) 8728: public static StringBuilder disMN (StringBuilder sb, int rrr) { 8729: return disAR (sb.append ("-("), rrr).append (')'); 8730: } //disMN(StringBuilder,int) 8731: public static StringBuilder disMW (StringBuilder sb, int rrr) { 8732: return disMM (disHex4 (sb, MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)), rrr); 8733: } //disMW(StringBuilder,int) 8734: public static StringBuilder disMX (StringBuilder sb, int rrr) { 8735: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 8736: if ((w & 0x0100) == 0) { //ブリーフフォーマット 8737: disHex2 (sb, w); //ディスプレースメント 8738: sb.append ('('); 8739: disAR (sb, rrr); //ベースレジスタ 8740: sb.append (','); 8741: disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l"); //インデックス 8742: if ((w & 0x0600) != 0) { //スケールファクタあり 8743: sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3)))); //スケールファクタ 8744: } 8745: sb.append (')'); 8746: } else { //フルフォーマット 8747: sb.append ('('); 8748: if ((w & 0x0003) != 0) { //メモリ間接あり 8749: sb.append ('['); 8750: } 8751: if ((w & 0x0020) != 0) { //ベースディスプレースメントあり 8752: if ((w & 0x0010) == 0) { //ワードベースディスプレースメント 8753: disHex4 (sb, MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor)).append (".w"); 8754: } else { //ロングベースディスプレースメント 8755: disHex8 (sb, MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)).append (".l"); 8756: } 8757: sb.append (','); 8758: } 8759: if ((w & 0x0080) != 0) { //ベースサプレスあり 8760: sb.append ('z'); 8761: } 8762: disAR (sb, rrr); //ベースレジスタ 8763: if ((w & 0x0004) == 0) { //プリインデックス 8764: if ((w & 0x0040) == 0) { //インデックスサプレスなし 8765: sb.append (','); 8766: disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l"); 8767: if ((w & 0x0600) != 0) { //スケールファクタあり 8768: sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3)))); //スケールファクタ 8769: } 8770: } 8771: } 8772: if ((w & 0x0003) != 0) { //メモリ間接あり 8773: sb.append (']'); 8774: } 8775: if ((w & 0x0004) != 0) { //ポストインデックス 8776: if ((w & 0x0040) == 0) { //インデックスサプレスなし 8777: sb.append (','); 8778: disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l"); 8779: if ((w & 0x0600) != 0) { //スケールファクタあり 8780: sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3)))); //スケールファクタ 8781: } 8782: } 8783: } 8784: if ((w & 0x0002) != 0) { //アウタディスプレースメントあり 8785: sb.append (','); 8786: if ((w & 0x0001) == 0) { //ワードアウタディスプレースメント 8787: disHex4 (sb, MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor)).append (".w"); 8788: } else { //ロングアウタディスプレースメント 8789: disHex8 (sb, MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)).append (".l"); 8790: } 8791: } 8792: sb.append (')'); 8793: } 8794: return sb; 8795: } //disMX(StringBuilder,int) 8796: public static StringBuilder disZW (StringBuilder sb) { 8797: return disHex4 (sb, MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)).append (".w"); 8798: } //disZW(StringBuilder) 8799: public static StringBuilder disZL (StringBuilder sb) { 8800: return disHex8 (sb, MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)).append (".l"); 8801: } //disZL(StringBuilder) 8802: public static StringBuilder disOW (StringBuilder sb) { 8803: return disHex8 (sb, disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)); 8804: } //disOW(StringBuilder) 8805: public static StringBuilder disOL (StringBuilder sb) { 8806: return disHex8 (sb, disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)); 8807: } //disOL(StringBuilder) 8808: public static StringBuilder disPW (StringBuilder sb) { 8809: return disOW (sb).append ("(pc)"); 8810: } //disPW(StringBuilder) 8811: public static StringBuilder disPX (StringBuilder sb) { 8812: int w = MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor); //拡張ワード 8813: if ((w & 0x0100) == 0) { //ブリーフフォーマット 8814: disHex2 (sb, w); //ディスプレースメント 8815: sb.append ('('); 8816: sb.append ("pc"); //ベースレジスタ 8817: sb.append (','); 8818: disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l"); //インデックス 8819: if ((w & 0x0600) != 0) { //スケールファクタあり 8820: sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3)))); //スケールファクタ 8821: } 8822: sb.append (')'); 8823: } else { //フルフォーマット 8824: sb.append ('('); 8825: if ((w & 0x0003) != 0) { //メモリ間接あり 8826: sb.append ('['); 8827: } 8828: if ((w & 0x0020) != 0) { //ベースディスプレースメントあり 8829: if ((w & 0x0010) == 0) { //ワードベースディスプレースメント 8830: if ((w & 0x0080) != 0) { //ベースサプレスあり 8831: disHex4 (sb, MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor)).append (".w"); 8832: } else { //ベースサプレスなし 8833: disHex8 (sb, disPC + MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)).append (".w"); 8834: } 8835: } else { //ロングベースディスプレースメント 8836: if ((w & 0x0080) != 0) { //ベースサプレスあり 8837: disHex8 (sb, MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)).append (".l"); 8838: } else { //ベースサプレスなし 8839: disHex8 (sb, disPC + MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)).append (".l"); 8840: } 8841: } 8842: sb.append (','); 8843: } 8844: if ((w & 0x0080) != 0) { //ベースサプレスあり 8845: sb.append ('z'); 8846: } 8847: sb.append ("pc"); //ベースレジスタ 8848: if ((w & 0x0004) == 0) { //プリインデックス 8849: if ((w & 0x0040) == 0) { //インデックスサプレスなし 8850: sb.append (','); 8851: disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l"); 8852: if ((w & 0x0600) != 0) { //スケールファクタあり 8853: sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3)))); //スケールファクタ 8854: } 8855: } 8856: } 8857: if ((w & 0x0003) != 0) { //メモリ間接あり 8858: sb.append (']'); 8859: } 8860: if ((w & 0x0004) != 0) { //ポストインデックス 8861: if ((w & 0x0040) == 0) { //インデックスサプレスなし 8862: sb.append (','); 8863: disRn (sb, w >> 12).append ((w & 0x0800) == 0 ? ".w" : ".l"); 8864: if ((w & 0x0600) != 0) { //スケールファクタあり 8865: sb.append ('*').append ((char) ('0' + (1 << (w >> 9 & 3)))); //スケールファクタ 8866: } 8867: } 8868: } 8869: if ((w & 0x0002) != 0) { //アウタディスプレースメントあり 8870: sb.append (','); 8871: if ((w & 0x0001) == 0) { //ワードアウタディスプレースメント 8872: disHex4 (sb, MC68060.mmuPeekWordZeroCode ((disPC += 2) - 2, disSupervisor)).append (".w"); 8873: } else { //ロングアウタディスプレースメント 8874: disHex8 (sb, MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)).append (".l"); 8875: } 8876: } 8877: sb.append (')'); 8878: } 8879: return sb; 8880: } //disPX(StringBuilder) 8881: public static StringBuilder disIMb (StringBuilder sb) { 8882: return disHex2 (sb.append ('#'), MC68060.mmuPeekByteSignCode ((disPC += 2) - 1, disSupervisor)); 8883: } //disIMb(StringBuilder) 8884: public static StringBuilder disIMw (StringBuilder sb) { 8885: return disHex4 (sb.append ('#'), MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor)); 8886: } //disIMw(StringBuilder) 8887: public static StringBuilder disIMl (StringBuilder sb) { 8888: return disHex8 (sb.append ('#'), MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor)); 8889: } //disIMl(StringBuilder) 8890: 8891: public static StringBuilder disIMs (StringBuilder sb) { 8892: int i = MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor); 8893: return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setf0 (i).toString ()); 8894: } //disIMs(StringBuilder) 8895: public static StringBuilder disIMd (StringBuilder sb) { 8896: long l = MC68060.mmuPeekQuadCode ((disPC += 8) - 8, disSupervisor); 8897: return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setd01 (l).toString ()); 8898: } //disIMd(StringBuilder) 8899: public static StringBuilder disIMx (StringBuilder sb) { 8900: int i = MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor); 8901: long l = MC68060.mmuPeekQuadCode ((disPC += 8) - 8, disSupervisor); 8902: return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setx012 (i, l).toString ()); 8903: } //disIMx(StringBuilder) 8904: public static StringBuilder disIMp (StringBuilder sb) { 8905: int i = MC68060.mmuPeekLongCode ((disPC += 4) - 4, disSupervisor); 8906: long l = MC68060.mmuPeekQuadCode ((disPC += 8) - 8, disSupervisor); 8907: return sb.append ("#").append (XEiJ.fpuBox.new EFP ().setp012 (i, l).toString ()); 8908: } //disIMp(StringBuilder) 8909: 8910: public static StringBuilder disIM3 (StringBuilder sb, int qqq) { 8911: return disHex2 (sb.append ('#'), ((qqq & 7) - 1 & 7) + 1); 8912: } //disIM3(StringBuilder,int) 8913: public static StringBuilder disIM8 (StringBuilder sb, int data) { 8914: return disHex2 (sb.append ('#'), data); 8915: } //disIM8(StringBuilder,int) 8916: 8917: //レジスタリスト 8918: public static StringBuilder disLst (StringBuilder sb, boolean reverse) { 8919: int invert = reverse ? 0b1111 : 0b0000; 8920: int x = MC68060.mmuPeekWordSignCode ((disPC += 2) - 2, disSupervisor); 8921: int from = -1; //開始レジスタ番号 8922: int to = -1; //終了レジスタ番号 8923: for (int i = 0; i <= 15; i++) { 8924: if ((x & (1 << (i ^ invert))) != 0) { //転送する 8925: if (from < 0) { //ここから 8926: from = i; 8927: } 8928: if ((i & 7) == 7 || (x & (1 << (i + 1 ^ invert))) == 0) { //ここまで 8929: if (to >= 0) { 8930: sb.append ('/'); 8931: } 8932: sb.append (from < 8 ? 'd' : 'a').append ((char) ('0' + (from & 7))); 8933: to = i; 8934: if (from < to) { 8935: sb.append (to < 8 ? "-d" : "-a").append ((char) ('0' + (to & 7))); 8936: } 8937: from = -1; 8938: } 8939: } 8940: } 8941: if (to < 0) { //転送するレジスタがなかった 8942: sb.append ("???"); 8943: } 8944: return sb; 8945: } //disLst(StringBuilder,int) 8946: 8947: public static StringBuilder disFPLst (StringBuilder sb, int l) { 8948: l <<= 24; 8949: if (false) { 8950: for (int i = 0; l != 0; i++, l <<= 1) { 8951: if (l < 0) { 8952: disFPn (sb, i); 8953: if (l << 1 != 0) { 8954: sb.append ('/'); 8955: } 8956: } 8957: } 8958: } else { 8959: int s = -1; 8960: for (int i = 0; l != 0; i++, l <<= 1) { 8961: if (l < 0) { 8962: if (s < 0) { //開始 8963: s = i; 8964: } 8965: if ((l ^ l << 1) < 0) { //終了 8966: disFPn (sb, s); 8967: if (s < i) { 8968: disFPn (sb.append ('-'), i); 8969: } 8970: if (l << 1 != 0) { 8971: sb.append ('/'); 8972: } 8973: s = -1; 8974: } 8975: } 8976: } 8977: } 8978: return sb; 8979: } //disFPLst(StringBuilder,int) 8980: 8981: public static StringBuilder disFPLmn (StringBuilder sb, int l) { 8982: l &= 255; 8983: if (false) { 8984: for (int i = 0; l != 0; i++, l >>>= 1) { 8985: if ((l & 1) != 0) { 8986: disFPn (sb, i); 8987: if (l >>> 1 != 0) { 8988: sb.append ('/'); 8989: } 8990: } 8991: } 8992: } else { 8993: int s = -1; 8994: for (int i = 0; l != 0; i++, l >>>= 1) { 8995: if ((l & 1) != 0) { 8996: if (s < 0) { //開始 8997: s = i; 8998: } 8999: if (((l ^ l >>> 1) & 1) != 0) { //終了 9000: disFPn (sb, s); 9001: if (s < i) { 9002: disFPn (sb.append ('-'), i); 9003: } 9004: if (l >>> 1 != 0) { 9005: sb.append ('/'); 9006: } 9007: s = -1; 9008: } 9009: } 9010: } 9011: } 9012: return sb; 9013: } //disFPLmn(StringBuilder,int) 9014: 9015: //ビットフィールド 9016: public static StringBuilder disBF (StringBuilder sb, int w) { 9017: sb.append ('{'); 9018: if ((w & 0b0000_100_000_000_000) == 0) { 9019: disHex2 (sb, w >> 6 & 31); 9020: } else { 9021: disDR (sb, w >> 6 & 7); 9022: } 9023: sb.append (':'); 9024: if ((w & 0b0000_000_000_100_000) == 0) { 9025: disHex2 (sb, (w - 1 & 31) + 1); 9026: } else { 9027: disDR (sb, w & 7); 9028: } 9029: return sb.append ('}'); 9030: } //disBF(StringBuilder,int) 9031: 9032: // ニモニックと空白 9033: public static StringBuilder disOp1 (StringBuilder sb, String mn) { 9034: return sb.append (mn).append (" ", Math.min (7, mn.length ()), 8); 9035: } //disOp1(StringBuilder,String) 9036: public static StringBuilder disOp2 (StringBuilder sb, String mn, String sz) { 9037: return sb.append (mn).append (sz).append (" ", Math.min (7, mn.length () + sz.length ()), 8); 9038: } //disOp2(StringBuilder,String,String) 9039: public static StringBuilder disOp3 (StringBuilder sb, String mn, String cc, String sz) { 9040: return sb.append (mn).append (cc).append (sz).append (" ", Math.min (7, mn.length () + cc.length () + sz.length ()), 8); 9041: } //disOp3(StringBuilder,String,String,String) 9042: 9043: // '$'と2桁の16進数 9044: public static StringBuilder disHex2 (StringBuilder sb, int d) { 9045: return XEiJ.fmtHex2 (sb.append ('$'), d); 9046: } //disHex2(StringBuilder,int) 9047: 9048: // '$'と4桁の16進数 9049: public static StringBuilder disHex4 (StringBuilder sb, int d) { 9050: return XEiJ.fmtHex4 (sb.append ('$'), d); 9051: } //disHex4(StringBuilder,int) 9052: 9053: // '$'と8桁の16進数 9054: public static StringBuilder disHex8 (StringBuilder sb, int d) { 9055: return XEiJ.fmtHex8 (sb.append ('$'), d); 9056: } //disHex8(StringBuilder,int) 9057: 9058: // 浮動小数点レジスタ 9059: public static StringBuilder disFPn (StringBuilder sb, int n) { 9060: return sb.append ("fp").append (n); 9061: } //disFPn(StringBuilder,int) 9062: 9063: } //class Disassembler 9064: 9065: 9066: