| 1 | /* This file has been modified by Data General Corporation, November 1989. */ |
| 2 | |
| 3 | |
| 4 | /* |
| 5 | * Disassembler Instruction Table |
| 6 | * |
| 7 | * The first field of the table is the opcode field. If an opcode |
| 8 | * is specified which has any non-opcode bits on, a system error |
| 9 | * will occur when the system attempts the install it into the |
| 10 | * instruction table. The second parameter is a pointer to the |
| 11 | * instruction mnemonic. Each operand is specified by offset, width, |
| 12 | * and type. The offset is the bit number of the least significant |
| 13 | * bit of the operand with bit 0 being the least significant bit of |
| 14 | * the instruction. The width is the number of bits used to specify |
| 15 | * the operand. The type specifies the output format to be used for |
| 16 | * the operand. The valid formats are: register, register indirect, |
| 17 | * hex constant, and bit field specification. The last field is a |
| 18 | * pointer to the next instruction in the linked list. These pointers |
| 19 | * are initialized by init_disasm(). |
| 20 | * |
| 21 | * Structure Format |
| 22 | * |
| 23 | * struct INSTAB { |
| 24 | * UPINT opcode; |
| 25 | * char *mnemonic; |
| 26 | * struct OPSPEC op1,op2,op3; |
| 27 | * struct SIM_FLAGS flgs; |
| 28 | * struct INSTAB *next; |
| 29 | * } |
| 30 | * |
| 31 | * struct OPSPEC { |
| 32 | * UPINT offset:5; |
| 33 | * UPINT width:6; |
| 34 | * UPINT type:5; |
| 35 | * } |
| 36 | * |
| 37 | * Revision History |
| 38 | * |
| 39 | * Revision 1.0 11/08/85 Creation date |
| 40 | * 1.1 02/05/86 Updated instruction mnemonic table MD |
| 41 | * 1.2 06/16/86 Updated SIM_FLAGS for floating point |
| 42 | * 1.3 09/20/86 Updated for new encoding |
| 43 | * 05/11/89 R. Trawick adapted from Motorola disassembler |
| 44 | */ |
| 45 | |
| 46 | #include <stdio.h> |
| 47 | |
| 48 | |
| 49 | /* |
| 50 | * This file contains the structures and constants needed to build the M88000 |
| 51 | * simulator. It is the main include file, containing all the |
| 52 | * structures, macros and definitions except for the floating point |
| 53 | * instruction set. |
| 54 | */ |
| 55 | |
| 56 | /* |
| 57 | * The following flag informs the Simulator as to what type of byte ordering |
| 58 | * will be used. For instance, a BOFLAG = 1 indicates a DEC VAX and IBM type |
| 59 | * of ordering shall be used. |
| 60 | */ |
| 61 | |
| 62 | /* # define BOFLAG 1 /* BYTE ORDERING FLAG */ |
| 63 | |
| 64 | /* define the number of bits in the primary opcode field of the instruction, |
| 65 | * the destination field, the source 1 and source 2 fields. |
| 66 | */ |
| 67 | # define OP 8 /* size of opcode field */ |
| 68 | # define DEST 6 /* size of destination */ |
| 69 | # define SOURCE1 6 /* size of source1 */ |
| 70 | # define SOURCE2 6 /* size of source2 */ |
| 71 | |
| 72 | # define REGs 32 /* number of registers */ |
| 73 | |
| 74 | # define WORD long |
| 75 | # define FLAG unsigned |
| 76 | # define STATE short |
| 77 | |
| 78 | # define TRUE 1 |
| 79 | # define FALSE 0 |
| 80 | |
| 81 | # define READ 0 |
| 82 | # define WRITE 1 |
| 83 | |
| 84 | /* The next four equates define the priorities that the various classes |
| 85 | * of instructions have regarding writing results back into registers and |
| 86 | * signalling exceptions. |
| 87 | */ |
| 88 | |
| 89 | # define PINT 0 /* Integer Priority */ |
| 90 | # define PFLT 1 /* Floating Point Priority */ |
| 91 | # define PMEM 2 /* Memory Priority */ |
| 92 | # define NA 3 /* Not Applicable, instruction doesnt write to regs */ |
| 93 | # define HIPRI 3 /* highest of these priorities */ |
| 94 | |
| 95 | /* The instruction registers are an artificial mechanism to speed up |
| 96 | * simulator execution. In the real processor, an instruction register |
| 97 | * is 32 bits wide. In the simulator, the 32 bit instruction is kept in |
| 98 | * a structure field called rawop, and the instruction is partially decoded, |
| 99 | * and split into various fields and flags which make up the other fields |
| 100 | * of the structure. |
| 101 | * The partial decode is done when the instructions are initially loaded |
| 102 | * into simulator memory. The simulator code memory is not an array of |
| 103 | * 32 bit words, but is an array of instruction register structures. |
| 104 | * Yes this wastes memory, but it executes much quicker. |
| 105 | */ |
| 106 | |
| 107 | struct IR_FIELDS { |
| 108 | unsigned long op:OP, |
| 109 | dest: DEST, |
| 110 | src1: SOURCE1, |
| 111 | src2: SOURCE2; |
| 112 | int ltncy, |
| 113 | extime, |
| 114 | wb_pri; /* writeback priority */ |
| 115 | unsigned short imm_flags:2,/* immediate size */ |
| 116 | rs1_used:1, /* register source 1 used */ |
| 117 | rs2_used:1, /* register source 2 used */ |
| 118 | rsd_used:1, /* register source/dest. used */ |
| 119 | c_flag:1, /* complement */ |
| 120 | u_flag:1, /* upper half word */ |
| 121 | n_flag:1, /* execute next */ |
| 122 | wb_flag:1, /* uses writeback slot */ |
| 123 | dest_64:1, /* dest size */ |
| 124 | s1_64:1, /* source 1 size */ |
| 125 | s2_64:1, /* source 2 size */ |
| 126 | scale_flag:1, /* scaled register */ |
| 127 | brk_flg:1; |
| 128 | }; |
| 129 | |
| 130 | struct mem_segs { |
| 131 | struct mem_wrd *seg; /* pointer (returned by calloc) to segment */ |
| 132 | unsigned long baseaddr; /* base load address from file headers */ |
| 133 | unsigned long endaddr; /* Ending address of segment */ |
| 134 | int flags; /* segment control flags (none defined 12/5/86) */ |
| 135 | }; |
| 136 | |
| 137 | #define MAXSEGS (10) /* max number of segment allowed */ |
| 138 | #define MEMSEGSIZE (sizeof(struct mem_segs))/* size of mem_segs structure */ |
| 139 | |
| 140 | |
| 141 | #define BRK_RD (0x01) /* break on memory read */ |
| 142 | #define BRK_WR (0x02) /* break on memory write */ |
| 143 | #define BRK_EXEC (0x04) /* break on execution */ |
| 144 | #define BRK_CNT (0x08) /* break on terminal count */ |
| 145 | |
| 146 | |
| 147 | struct mem_wrd { |
| 148 | struct IR_FIELDS opcode; /* simulator instruction break down */ |
| 149 | union { |
| 150 | unsigned long l; /* memory element break down */ |
| 151 | unsigned short s[2]; |
| 152 | unsigned char c[4]; |
| 153 | } mem; |
| 154 | }; |
| 155 | |
| 156 | #define MEMWRDSIZE (sizeof(struct mem_wrd)) /* size of each 32 bit memory model */ |
| 157 | |
| 158 | /* External declarations */ |
| 159 | |
| 160 | extern struct mem_segs memory[]; |
| 161 | extern struct PROCESSOR m78000; |
| 162 | |
| 163 | struct PROCESSOR { |
| 164 | unsigned WORD |
| 165 | ip, /* execute instruction pointer */ |
| 166 | vbr, /* vector base register */ |
| 167 | psr; /* processor status register */ |
| 168 | |
| 169 | WORD S1bus, /* source 1 */ |
| 170 | S2bus, /* source 2 */ |
| 171 | Dbus, /* destination */ |
| 172 | DAbus, /* data address bus */ |
| 173 | ALU, |
| 174 | Regs[REGs], /* data registers */ |
| 175 | time_left[REGs], /* max clocks before reg is available */ |
| 176 | wb_pri[REGs], /* writeback priority of reg */ |
| 177 | SFU0_regs[REGs], /* integer unit control regs */ |
| 178 | SFU1_regs[REGs], /* floating point control regs */ |
| 179 | Scoreboard[REGs], |
| 180 | Vbr; |
| 181 | unsigned WORD scoreboard, |
| 182 | Psw, |
| 183 | Tpsw; |
| 184 | FLAG jump_pending:1; /* waiting for a jump instr. */ |
| 185 | }; |
| 186 | |
| 187 | # define i26bit 1 /* size of immediate field */ |
| 188 | # define i16bit 2 |
| 189 | # define i10bit 3 |
| 190 | |
| 191 | /* Definitions for fields in psr */ |
| 192 | |
| 193 | # define mode 31 |
| 194 | # define rbo 30 |
| 195 | # define ser 29 |
| 196 | # define carry 28 |
| 197 | # define sf7m 11 |
| 198 | # define sf6m 10 |
| 199 | # define sf5m 9 |
| 200 | # define sf4m 8 |
| 201 | # define sf3m 7 |
| 202 | # define sf2m 6 |
| 203 | # define sf1m 5 |
| 204 | # define mam 4 |
| 205 | # define inm 3 |
| 206 | # define exm 2 |
| 207 | # define trm 1 |
| 208 | # define ovfm 0 |
| 209 | |
| 210 | #define MODEMASK (1<<(mode-1)) |
| 211 | # define SILENT 0 /* simulate without output to crt */ |
| 212 | # define VERBOSE 1 /* simulate in verbose mode */ |
| 213 | # define PR_INSTR 2 /* only print instructions */ |
| 214 | |
| 215 | # define RESET 16 /* reset phase */ |
| 216 | |
| 217 | # define PHASE1 0 /* data path phases */ |
| 218 | # define PHASE2 1 |
| 219 | |
| 220 | /* the 1 clock operations */ |
| 221 | |
| 222 | # define ADDU 1 |
| 223 | # define ADDC 2 |
| 224 | # define ADDUC 3 |
| 225 | # define ADD 4 |
| 226 | |
| 227 | # define SUBU ADD+1 |
| 228 | # define SUBB ADD+2 |
| 229 | # define SUBUB ADD+3 |
| 230 | # define SUB ADD+4 |
| 231 | |
| 232 | # define AND ADD+5 |
| 233 | # define OR ADD+6 |
| 234 | # define XOR ADD+7 |
| 235 | # define CMP ADD+8 |
| 236 | |
| 237 | /* the LOADS */ |
| 238 | |
| 239 | # define LDAB CMP+1 |
| 240 | # define LDAH CMP+2 |
| 241 | # define LDA CMP+3 |
| 242 | # define LDAD CMP+4 |
| 243 | |
| 244 | # define LDB LDAD+1 |
| 245 | # define LDH LDAD+2 |
| 246 | # define LD LDAD+3 |
| 247 | # define LDD LDAD+4 |
| 248 | # define LDBU LDAD+5 |
| 249 | # define LDHU LDAD+6 |
| 250 | |
| 251 | /* the STORES */ |
| 252 | |
| 253 | # define STB LDHU+1 |
| 254 | # define STH LDHU+2 |
| 255 | # define ST LDHU+3 |
| 256 | # define STD LDHU+4 |
| 257 | |
| 258 | /* the exchange */ |
| 259 | |
| 260 | # define XMEMBU LDHU+5 |
| 261 | # define XMEM LDHU+6 |
| 262 | |
| 263 | /* the branches */ |
| 264 | # define JSR STD+1 |
| 265 | # define BSR STD+2 |
| 266 | # define BR STD+3 |
| 267 | # define JMP STD+4 |
| 268 | # define BB1 STD+5 |
| 269 | # define BB0 STD+6 |
| 270 | # define RTN STD+7 |
| 271 | # define BCND STD+8 |
| 272 | |
| 273 | /* the TRAPS */ |
| 274 | # define TB1 BCND+1 |
| 275 | # define TB0 BCND+2 |
| 276 | # define TCND BCND+3 |
| 277 | # define RTE BCND+4 |
| 278 | # define TBND BCND+5 |
| 279 | |
| 280 | /* the MISC instructions */ |
| 281 | # define MUL TBND + 1 |
| 282 | # define DIV MUL +2 |
| 283 | # define DIVU MUL +3 |
| 284 | # define MASK MUL +4 |
| 285 | # define FF0 MUL +5 |
| 286 | # define FF1 MUL +6 |
| 287 | # define CLR MUL +7 |
| 288 | # define SET MUL +8 |
| 289 | # define EXT MUL +9 |
| 290 | # define EXTU MUL +10 |
| 291 | # define MAK MUL +11 |
| 292 | # define ROT MUL +12 |
| 293 | |
| 294 | /* control register manipulations */ |
| 295 | |
| 296 | # define LDCR ROT +1 |
| 297 | # define STCR ROT +2 |
| 298 | # define XCR ROT +3 |
| 299 | |
| 300 | # define FLDCR ROT +4 |
| 301 | # define FSTCR ROT +5 |
| 302 | # define FXCR ROT +6 |
| 303 | |
| 304 | |
| 305 | # define NOP XCR +1 |
| 306 | |
| 307 | /* floating point instructions */ |
| 308 | |
| 309 | # define FADD NOP +1 |
| 310 | # define FSUB NOP +2 |
| 311 | # define FMUL NOP +3 |
| 312 | # define FDIV NOP +4 |
| 313 | # define FSQRT NOP +5 |
| 314 | # define FCMP NOP +6 |
| 315 | # define FIP NOP +7 |
| 316 | # define FLT NOP +8 |
| 317 | # define INT NOP +9 |
| 318 | # define NINT NOP +10 |
| 319 | # define TRNC NOP +11 |
| 320 | # define FLDC NOP +12 |
| 321 | # define FSTC NOP +13 |
| 322 | # define FXC NOP +14 |
| 323 | |
| 324 | # define UEXT(src,off,wid) ((((unsigned int)(src))>>(off)) & ((1<<(wid)) - 1)) |
| 325 | # define SEXT(src,off,wid) (((((int)(src))<<(32-((off)+(wid)))) >>(32-(wid))) ) |
| 326 | # define MAKE(src,off,wid) \ |
| 327 | ((((unsigned int)(src)) & ((1<<(wid)) - 1)) << (off)) |
| 328 | |
| 329 | # define opword(n) (unsigned long) (memaddr->mem.l) |
| 330 | |
| 331 | /* Constants and Masks */ |
| 332 | |
| 333 | #define SFU0 0x80000000 |
| 334 | #define SFU1 0x84000000 |
| 335 | #define SFU7 0x9c000000 |
| 336 | #define RRI10 0xf0000000 |
| 337 | #define RRR 0xf4000000 |
| 338 | #define SFUMASK 0xfc00ffe0 |
| 339 | #define RRRMASK 0xfc00ffe0 |
| 340 | #define RRI10MASK 0xfc00fc00 |
| 341 | #define DEFMASK 0xfc000000 |
| 342 | #define CTRL 0x0000f000 |
| 343 | #define CTRLMASK 0xfc00f800 |
| 344 | |
| 345 | /* Operands types */ |
| 346 | |
| 347 | #define HEX 1 |
| 348 | #define REG 2 |
| 349 | #define IND 3 |
| 350 | #define CONT 3 |
| 351 | #define IND 3 |
| 352 | #define BF 4 |
| 353 | #define REGSC 5 /* scaled register */ |
| 354 | #define CRREG 6 /* control register */ |
| 355 | #define FCRREG 7 /* floating point control register */ |
| 356 | #define PCREL 8 |
| 357 | #define CONDMASK 9 |
| 358 | |
| 359 | /* Hashing Specification */ |
| 360 | |
| 361 | #define HASHVAL 79 |
| 362 | |
| 363 | /* Type definitions */ |
| 364 | |
| 365 | typedef unsigned int UINT; |
| 366 | |
| 367 | /* Structure templates */ |
| 368 | |
| 369 | typedef struct { |
| 370 | unsigned int offset:5; |
| 371 | unsigned int width:6; |
| 372 | unsigned int type:5; |
| 373 | } OPSPEC; |
| 374 | |
| 375 | struct SIM_FLAGS { |
| 376 | int ltncy, /* latency (max number of clocks needed to execute) */ |
| 377 | extime, /* execution time (min number of clocks needed to execute) */ |
| 378 | wb_pri; /* writeback slot priority */ |
| 379 | unsigned long op:OP, /* simulator version of opcode */ |
| 380 | imm_flags:2, /* 10,16 or 26 bit immediate flags */ |
| 381 | rs1_used:1, /* register source 1 used */ |
| 382 | rs2_used:1, /* register source 2 used */ |
| 383 | rsd_used:1, /* register source/dest used */ |
| 384 | c_flag:1, /* complement */ |
| 385 | u_flag:1, /* upper half word */ |
| 386 | n_flag:1, /* execute next */ |
| 387 | wb_flag:1, /* uses writeback slot */ |
| 388 | dest_64:1, /* double precision dest */ |
| 389 | s1_64:1, /* double precision source 1 */ |
| 390 | s2_64:1, /* double precision source 2 */ |
| 391 | scale_flag:1; /* register is scaled */ |
| 392 | }; |
| 393 | |
| 394 | typedef struct INSTRUCTAB { |
| 395 | unsigned int opcode; |
| 396 | char *mnemonic; |
| 397 | OPSPEC op1,op2,op3; |
| 398 | struct SIM_FLAGS flgs; |
| 399 | struct INSTRUCTAB *next; |
| 400 | } INSTAB; |
| 401 | \f |
| 402 | |
| 403 | /* Opcode Mnemonic Op 1 Spec Op 2 Spec Op 3 Spec Simflags Next */ |
| 404 | |
| 405 | static INSTAB instructions[] = |
| 406 | {0xf400c800,"jsr ",{0,5,REG} ,{0,0,0} ,{0,0,0} , {2,2,NA,JSR , 0,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 407 | 0xf400cc00,"jsr.n ",{0,5,REG} ,{0,0,0} ,{0,0,0} , {1,1,NA,JSR , 0,0,1,0,0,0,1,1,0,0,0,0}, NULL, |
| 408 | 0xf400c000,"jmp ",{0,5,REG} ,{0,0,0} ,{0,0,0} , {2,2,NA,JMP , 0,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 409 | 0xf400c400,"jmp.n ",{0,5,REG} ,{0,0,0} ,{0,0,0} , {1,1,NA,JMP , 0,0,1,0,0,0,1,1,0,0,0,0}, NULL, |
| 410 | 0xc8000000,"bsr ",{0,26,PCREL},{0,0,0} ,{0,0,0} , {2,2,NA,BSR , i26bit,0,0,0,0,0,0,1,0,0,0,0}, NULL, |
| 411 | 0xcc000000,"bsr.n ",{0,26,PCREL},{0,0,0} ,{0,0,0} , {1,1,NA,BSR , i26bit,0,0,0,0,0,1,1,0,0,0,0}, NULL, |
| 412 | 0xc0000000,"br ",{0,26,PCREL},{0,0,0} ,{0,0,0} , {2,2,NA,BR , i26bit,0,0,0,0,0,0,1,0,0,0,0}, NULL, |
| 413 | 0xc4000000,"br.n ",{0,26,PCREL},{0,0,0} ,{0,0,0} , {1,1,NA,BR , i26bit,0,0,0,0,0,1,1,0,0,0,0}, NULL, |
| 414 | 0xd0000000,"bb0 ",{21,5,HEX} ,{16,5,REG} ,{0,16,PCREL},{2,2,NA,BB0, i16bit,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 415 | 0xd4000000,"bb0.n ",{21,5,HEX} ,{16,5,REG} ,{0,16,PCREL},{1,1,NA,BB0, i16bit,0,1,0,0,0,1,1,0,0,0,0}, NULL, |
| 416 | 0xd8000000,"bb1 ",{21,5,HEX},{16,5,REG} ,{0,16,PCREL},{2,2,NA,BB1, i16bit,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 417 | 0xdc000000,"bb1.n ",{21,5,HEX},{16,5,REG} ,{0,16,PCREL},{1,1,NA,BB1, i16bit,0,1,0,0,0,1,1,0,0,0,0}, NULL, |
| 418 | 0xf000d000,"tb0 ",{21,5,HEX} ,{16,5,REG} ,{0,10,HEX}, {2,2,NA,TB0 , i10bit,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 419 | 0xf000d800,"tb1 ",{21,5,HEX} ,{16,5,REG} ,{0,10,HEX}, {2,2,NA,TB1 , i10bit,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 420 | 0xe8000000,"bcnd ",{21,5,CONDMASK},{16,5,REG},{0,16,PCREL},{2,2,NA,BCND, i16bit,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 421 | 0xec000000,"bcnd.n ",{21,5,CONDMASK},{16,5,REG},{0,16,PCREL},{1,1,NA,BCND, i16bit,0,1,0,0,0,1,1,0,0,0,0}, NULL, |
| 422 | 0xf000e800,"tcnd ",{21,5,CONDMASK},{16,5,REG},{0,10,HEX}, {2,2,NA,TCND, i10bit,0,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 423 | 0xf8000000,"tbnd ",{16,5,REG} ,{0,16,HEX} ,{0,0,0} , {2,2,NA,TBND, i10bit,1,0,0,0,0,0,1,0,0,0,0}, NULL, |
| 424 | 0xf400f800,"tbnd ",{16,5,REG} ,{0,5,REG} ,{0,0,0} , {2,2,NA,TBND, 0,1,1,0,0,0,0,1,0,0,0,0}, NULL, |
| 425 | 0xf400fc00,"rte ",{0,0,0} ,{0,0,0} ,{0,0,0} , {2,2,NA,RTE , 0,0,0,0,0,0,0,1,0,0,0,0}, NULL, |
| 426 | 0x1c000000,"ld.b ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDB ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 427 | 0xf4001c00,"ld.b ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDB , 0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 428 | 0x0c000000,"ld.bu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDBU, i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 429 | 0xf4000c00,"ld.bu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDBU ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 430 | 0x18000000,"ld.h ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDH ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 431 | 0xf4001800,"ld.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDH ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 432 | 0xf4001a00,"ld.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LDH ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL, |
| 433 | 0x08000000,"ld.hu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDHU, i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 434 | 0xf4000800,"ld.hu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDHU ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 435 | 0xf4000a00,"ld.hu ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LDHU ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL, |
| 436 | 0x14000000,"ld ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LD ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 437 | 0xf4001400,"ld ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 438 | 0xf4001600,"ld ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL, |
| 439 | 0x10000000,"ld.d ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,LDD ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 440 | 0xf4001000,"ld.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LDD ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 441 | 0xf4001200,"ld.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LDD ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL, |
| 442 | 0xf4001500,"ld.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 443 | 0xf4001700,"ld.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,LD ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL, |
| 444 | 0x2c000000,"st.b ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,STB ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 445 | 0xf4002c00,"st.b ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,STB ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 446 | 0x28000000,"st.h ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,STH ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 447 | 0xf4002800,"st.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,STH ,0,1,1,1,0,0,0,1,0,0,0,0}, NULL, |
| 448 | 0xf4002a00,"st.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,STH ,0,1,1,1,0,0,0,1,0,0,0,1}, NULL, |
| 449 | 0x24000000,"st ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,ST ,i16bit,1,0,1,0,0,0,1,0,0,0,0}, NULL, |
| 450 | 0xf4002400,"st ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 451 | 0xf4002600,"st ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL, |
| 452 | 0x20000000,"st.d ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,NA,STD ,i16bit,0,1,0,0,0,0,1,0,0,0,0} ,NULL, |
| 453 | 0xf4002000,"st.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,STD ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 454 | 0xf4002200,"st.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,STD ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL, |
| 455 | 0xf4002500,"st.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 456 | 0xf4002700,"st.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,NA,ST ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL, |
| 457 | 0x00000000,"xmem.bu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,XMEMBU ,i16bit,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 458 | 0xf4000000,"xmem.bu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 459 | 0x04000000,"xmem ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {3,1,PMEM,XMEM ,i16bit,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 460 | 0xf4000400,"xmem ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 461 | 0xf4000600,"xmem ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL, |
| 462 | 0xf4000500,"xmem.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 463 | 0xf4000700,"xmem.usr ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{3,1,PMEM,XMEM ,0,1,1,1,0,0,0,1,0,0,0,1} ,NULL, |
| 464 | 0xf4003e00,"lda.b ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAH, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL, |
| 465 | 0xf4003a00,"lda.h ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAH, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL, |
| 466 | 0xf4003600,"lda ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDA , 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL, |
| 467 | 0xf4003200,"lda.d ",{21,5,REG} ,{16,5,REG} ,{0,5,REGSC},{1,1,PINT,LDAD, 0,1,1,1,0,0,0,0,0,0,0,1} ,NULL, |
| 468 | |
| 469 | 0x80004000,"ldcr ",{21,5,REG} ,{5,6,CRREG} ,{0,0,0} ,{1,1,PINT,LDCR, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 470 | 0x80008000,"stcr ",{16,5,REG} ,{5,6,CRREG} ,{0,0,0} ,{1,1,PINT,STCR, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 471 | 0x8000c000,"xcr ",{21,5,REG} ,{16,5,REG} ,{5,6,CRREG},{1,1,PINT,XCR, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 472 | |
| 473 | 0xf4006000,"addu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 474 | 0xf4006200,"addu.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 475 | 0xf4006100,"addu.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 476 | 0xf4006300,"addu.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADDU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 477 | 0xf4006400,"subu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 478 | 0xf4006600,"subu.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 479 | 0xf4006500,"subu.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 480 | 0xf4006700,"subu.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUBU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 481 | 0xf4006900,"divu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {32,32,PINT,DIVU, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 482 | 0xf4006d00,"mul ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,4,PINT,MUL, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 483 | 0xf4007000,"add ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 484 | 0xf4007200,"add.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 485 | 0xf4007100,"add.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 486 | 0xf4007300,"add.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ADD , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 487 | 0xf4007400,"sub ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 488 | 0xf4007600,"sub.ci ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 489 | 0xf4007500,"sub.co ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 490 | 0xf4007700,"sub.cio ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SUB , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 491 | 0xf4007900,"div ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {32,32,PINT,DIV , 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 492 | 0xf4007d00,"cmp ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,CMP, 0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 493 | |
| 494 | 0x60000000,"addu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,ADDU, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 495 | 0x64000000,"subu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,SUBU, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 496 | |
| 497 | 0x68000000,"divu ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {32,32,PINT,DIVU, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 498 | 0x6c000000,"mul ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {4,1,PINT,MUL, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 499 | 0x70000000,"add ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,ADD, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 500 | 0x74000000,"sub ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,SUB, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 501 | 0x78000000,"div ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {32,32,PINT,DIV, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 502 | 0x7c000000,"cmp ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,CMP, i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 503 | |
| 504 | 0xf4004000,"and ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,AND ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 505 | 0xf4004400,"and.c ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,AND ,0,1,1,1,1,0,0,0,0,0,0,0} ,NULL, |
| 506 | 0xf4005800,"or ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,OR ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 507 | 0xf4005c00,"or.c ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,OR ,0,1,1,1,1,0,0,0,0,0,0,0} ,NULL, |
| 508 | 0xf4005000,"xor ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,XOR ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 509 | 0xf4005400,"xor.c ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,XOR ,0,1,1,1,1,0,0,0,0,0,0,0} ,NULL, |
| 510 | 0x40000000,"and ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,AND ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 511 | 0x44000000,"and.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,AND ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL, |
| 512 | 0x58000000,"or ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,OR ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 513 | 0x5c000000,"or.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,OR ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL, |
| 514 | 0x50000000,"xor ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,XOR ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 515 | 0x54000000,"xor.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,XOR ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL, |
| 516 | 0x48000000,"mask ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,MASK ,i16bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 517 | 0x4c000000,"mask.u ",{21,5,REG} ,{16,5,REG} ,{0,16,HEX}, {1,1,PINT,MASK ,i16bit,1,0,1,0,1,0,0,0,0,0,0} ,NULL, |
| 518 | 0xf400ec00,"ff0 ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {1,1,PINT,FF0 ,0,0,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 519 | 0xf400e800,"ff1 ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {1,1,PINT,FF1 ,0,0,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 520 | 0xf0008000,"clr ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,CLR ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 521 | 0xf0008800,"set ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,SET ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 522 | 0xf0009000,"ext ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,EXT ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 523 | 0xf0009800,"extu ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,EXTU ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 524 | 0xf000a000,"mak ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,MAK ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 525 | 0xf000a800,"rot ",{21,5,REG} ,{16,5,REG} ,{0,10,BF} , {1,1,PINT,ROT ,i10bit,1,0,1,0,0,0,0,0,0,0,0} ,NULL, |
| 526 | 0xf4008000,"clr ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,CLR ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 527 | 0xf4008800,"set ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,SET ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 528 | 0xf4009000,"ext ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,EXT ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 529 | 0xf4009800,"extu ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,EXTU ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 530 | 0xf400a000,"mak ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,MAK ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 531 | 0xf400a800,"rot ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {1,1,PINT,ROT ,0,1,1,1,0,0,0,0,0,0,0,0} ,NULL, |
| 532 | |
| 533 | 0x84002800,"fadd.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {5,1,PFLT,FADD ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 534 | 0x84002880,"fadd.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL, |
| 535 | 0x84002a00,"fadd.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL, |
| 536 | 0x84002a80,"fadd.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL, |
| 537 | 0x84002820,"fadd.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 538 | 0x840028a0,"fadd.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL, |
| 539 | 0x84002a20,"fadd.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL, |
| 540 | 0x84002aa0,"fadd.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FADD ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL, |
| 541 | 0x84003000,"fsub.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {5,1,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 542 | 0x84003080,"fsub.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL, |
| 543 | 0x84003200,"fsub.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL, |
| 544 | 0x84003280,"fsub.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL, |
| 545 | 0x84003020,"fsub.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 546 | 0x840030a0,"fsub.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL, |
| 547 | 0x84003220,"fsub.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL, |
| 548 | 0x840032a0,"fsub.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,2,PFLT,FSUB ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL, |
| 549 | 0x84000000,"fmul.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 550 | 0x84000080,"fmul.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL, |
| 551 | 0x84000200,"fmul.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL, |
| 552 | 0x84000280,"fmul.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL, |
| 553 | 0x84000020,"fmul.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 554 | 0x840000a0,"fmul.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL, |
| 555 | 0x84000220,"fmul.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL, |
| 556 | 0x840002a0,"fmul.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {9,2,PFLT,FMUL ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL, |
| 557 | 0x84007000,"fdiv.sss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {30,30,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 558 | 0x84007080,"fdiv.ssd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,0,1,0} ,NULL, |
| 559 | 0x84007200,"fdiv.sds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL, |
| 560 | 0x84007280,"fdiv.sdd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,0,1,1,0} ,NULL, |
| 561 | 0x84007020,"fdiv.dss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 562 | 0x840070a0,"fdiv.dsd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,0,1,0} ,NULL, |
| 563 | 0x84007220,"fdiv.dds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL, |
| 564 | 0x840072a0,"fdiv.ddd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {60,60,PFLT,FDIV ,0,1,1,1,0,0,0,1,1,1,1,0} ,NULL, |
| 565 | 0x84007800,"fsqrt.ss ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 566 | 0x84007880,"fsqrt.sd ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 567 | 0x84007820,"fsqrt.ds ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 568 | 0x840078a0,"fsqrt.dd ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {6,1,PFLT,FLT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 569 | 0x84003800,"fcmp.ss ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {5,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 570 | 0x84003880,"fcmp.sd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,0,1,0,0} ,NULL, |
| 571 | 0x84003a00,"fcmp.ds ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 572 | 0x84003a80,"fcmp.dd ",{21,5,REG} ,{16,5,REG} ,{0,5,REG} , {6,1,PFLT,FCMP ,0,1,1,1,0,0,0,1,1,1,0,0} ,NULL, |
| 573 | 0x84002000,"flt.s ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,FLT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 574 | 0x84002020,"flt.d ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {6,1,PFLT,FLT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 575 | 0x84004800,"int.s ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,INT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 576 | 0x84004880,"int.d ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {6,1,PFLT,INT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 577 | 0x84005000,"nint.s ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,INT ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 578 | 0x84005080,"nint.d ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {6,1,PFLT,INT ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 579 | 0x84005800,"trnc.s ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {5,1,PFLT,TRNC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 580 | 0x84005880,"trnc.d ",{21,5,REG} ,{0,5,REG} ,{0,0,0} , {6,1,PFLT,TRNC ,0,0,1,1,0,0,0,1,1,0,0,0} ,NULL, |
| 581 | |
| 582 | 0x80004800,"fldcr ",{21,5,REG} ,{5,6,FCRREG} ,{0,0,0} , {1,1,PFLT,FLDC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 583 | 0x80008800,"fstcr ",{16,5,REG} ,{5,6,FCRREG} ,{0,0,0} , {1,1,PFLT,FSTC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL, |
| 584 | 0x8000c800,"fxcr ",{21,5,REG} ,{16,5,REG} ,{5,6,FCRREG} , {1,1,PFLT,FXC ,0,0,1,1,0,0,0,1,0,0,0,0} ,NULL}; |
| 585 | |