src/emu/cpu/t11/t11dasm.c
| r11553 | r11554 | |
| 18 | 18 | |
| 19 | 19 | #define PARAM_WORD(v) ((v) = rombase[pc - pcbase] | (rombase[pc + 1 - pcbase] << 8), pc += 2) |
| 20 | 20 | |
| 21 | | static unsigned MakeEA (char **ea, int lo, unsigned pc, int width) |
| 21 | static unsigned MakeEA (char *ea, int lo, unsigned pc, int width) |
| 22 | 22 | { |
| 23 | | static char buffer[32]; |
| 24 | 23 | int reg, pm; |
| 25 | 24 | |
| 26 | 25 | assert (width == 2 || width == 4); |
| r11553 | r11554 | |
| 30 | 29 | switch ((lo >> 3) & 7) |
| 31 | 30 | { |
| 32 | 31 | case 0: |
| 33 | | sprintf (buffer, "%s", regs[reg]); |
| 32 | sprintf (ea, "%s", regs[reg]); |
| 34 | 33 | break; |
| 35 | 34 | case 1: |
| 36 | | sprintf (buffer, "(%s)", regs[reg]); |
| 35 | sprintf (ea, "(%s)", regs[reg]); |
| 37 | 36 | break; |
| 38 | 37 | case 2: |
| 39 | 38 | if (reg == 7) |
| 40 | 39 | { |
| 41 | 40 | PARAM_WORD (pm); |
| 42 | | sprintf (buffer, "#$%0*X", width, pm & ((width == 2) ? 0xff : 0xffff)); |
| 41 | sprintf (ea, "#$%0*X", width, pm & ((width == 2) ? 0xff : 0xffff)); |
| 43 | 42 | } |
| 44 | 43 | else |
| 45 | 44 | { |
| 46 | | sprintf (buffer, "(%s)+", regs[reg]); |
| 45 | sprintf (ea, "(%s)+", regs[reg]); |
| 47 | 46 | } |
| 48 | 47 | break; |
| 49 | 48 | case 3: |
| 50 | 49 | if (reg == 7) |
| 51 | 50 | { |
| 52 | 51 | PARAM_WORD (pm); |
| 53 | | sprintf (buffer, "$%04X", pm &= 0xffff); |
| 52 | sprintf (ea, "$%04X", pm &= 0xffff); |
| 54 | 53 | } |
| 55 | 54 | else |
| 56 | 55 | { |
| 57 | | sprintf (buffer, "@(%s)+", regs[reg]); |
| 56 | sprintf (ea, "@(%s)+", regs[reg]); |
| 58 | 57 | } |
| 59 | 58 | break; |
| 60 | 59 | case 4: |
| 61 | | sprintf (buffer, "-(%s)", regs[reg]); |
| 60 | sprintf (ea, "-(%s)", regs[reg]); |
| 62 | 61 | break; |
| 63 | 62 | case 5: |
| 64 | | sprintf (buffer, "@-(%s)", regs[reg]); |
| 63 | sprintf (ea, "@-(%s)", regs[reg]); |
| 65 | 64 | break; |
| 66 | 65 | case 6: |
| 67 | 66 | PARAM_WORD (pm); |
| 68 | | sprintf(buffer, "%s$%X(%s)", |
| 67 | sprintf(ea, "%s$%X(%s)", |
| 69 | 68 | (pm&0x8000)?"-":"", |
| 70 | 69 | (pm&0x8000)?-(signed short)pm:pm, |
| 71 | 70 | regs[reg]); |
| 72 | 71 | break; |
| 73 | 72 | case 7: |
| 74 | 73 | PARAM_WORD (pm); |
| 75 | | sprintf(buffer, "@%s$%X(%s)", |
| 74 | sprintf(ea, "@%s$%X(%s)", |
| 76 | 75 | (pm&0x8000)?"-":"", |
| 77 | 76 | (pm&0x8000)?-(signed short)pm:pm, |
| 78 | 77 | regs[reg]); |
| 79 | 78 | break; |
| 80 | 79 | } |
| 81 | 80 | |
| 82 | | *ea = buffer; |
| 83 | 81 | return pc; |
| 84 | 82 | } |
| 85 | 83 | |
| 86 | 84 | |
| 87 | 85 | CPU_DISASSEMBLE( t11 ) |
| 88 | 86 | { |
| 89 | | char *ea1, *ea2; |
| 87 | char ea1[32], ea2[32]; |
| 90 | 88 | unsigned PC = pc; |
| 91 | 89 | UINT16 op, lo, hi, addr; |
| 92 | 90 | INT16 offset; |
| r11553 | r11554 | |
| 115 | 113 | } |
| 116 | 114 | break; |
| 117 | 115 | case 0x0040: |
| 118 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 116 | pc = MakeEA (ea1, lo, pc, 4); |
| 119 | 117 | sprintf (buffer, "JMP %s", ea1); |
| 120 | 118 | break; |
| 121 | 119 | case 0x0080: |
| r11553 | r11554 | |
| 157 | 155 | } |
| 158 | 156 | break; |
| 159 | 157 | case 0x00c0: |
| 160 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 158 | pc = MakeEA (ea1, lo, pc, 4); |
| 161 | 159 | sprintf (buffer, "SWAB %s", ea1); |
| 162 | 160 | break; |
| 163 | 161 | case 0x0100: case 0x0140: case 0x0180: case 0x01c0: |
| r11553 | r11554 | |
| 190 | 188 | break; |
| 191 | 189 | case 0x0800: case 0x0840: case 0x0880: case 0x08c0: |
| 192 | 190 | case 0x0900: case 0x0940: case 0x0980: case 0x09c0: |
| 193 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 191 | pc = MakeEA (ea1, lo, pc, 4); |
| 194 | 192 | if ( (hi & 7) == 7 ) |
| 195 | 193 | sprintf (buffer, "JSR %s", ea1); |
| 196 | 194 | else |
| r11553 | r11554 | |
| 198 | 196 | flags = DASMFLAG_STEP_OVER; |
| 199 | 197 | break; |
| 200 | 198 | case 0x0a00: |
| 201 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 199 | pc = MakeEA (ea1, lo, pc, 4); |
| 202 | 200 | sprintf (buffer, "CLR %s", ea1); |
| 203 | 201 | break; |
| 204 | 202 | case 0x0a40: |
| 205 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 203 | pc = MakeEA (ea1, lo, pc, 4); |
| 206 | 204 | sprintf (buffer, "COM %s", ea1); |
| 207 | 205 | break; |
| 208 | 206 | case 0x0a80: |
| 209 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 207 | pc = MakeEA (ea1, lo, pc, 4); |
| 210 | 208 | sprintf (buffer, "INC %s", ea1); |
| 211 | 209 | break; |
| 212 | 210 | case 0x0ac0: |
| 213 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 211 | pc = MakeEA (ea1, lo, pc, 4); |
| 214 | 212 | sprintf (buffer, "DEC %s", ea1); |
| 215 | 213 | break; |
| 216 | 214 | case 0x0b00: |
| 217 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 215 | pc = MakeEA (ea1, lo, pc, 4); |
| 218 | 216 | sprintf (buffer, "NEG %s", ea1); |
| 219 | 217 | break; |
| 220 | 218 | case 0x0b40: |
| 221 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 219 | pc = MakeEA (ea1, lo, pc, 4); |
| 222 | 220 | sprintf (buffer, "ADC %s", ea1); |
| 223 | 221 | break; |
| 224 | 222 | case 0x0b80: |
| 225 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 223 | pc = MakeEA (ea1, lo, pc, 4); |
| 226 | 224 | sprintf (buffer, "SBC %s", ea1); |
| 227 | 225 | break; |
| 228 | 226 | case 0x0bc0: |
| 229 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 227 | pc = MakeEA (ea1, lo, pc, 4); |
| 230 | 228 | sprintf (buffer, "TST %s", ea1); |
| 231 | 229 | break; |
| 232 | 230 | case 0x0c00: |
| 233 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 231 | pc = MakeEA (ea1, lo, pc, 4); |
| 234 | 232 | sprintf (buffer, "ROR %s", ea1); |
| 235 | 233 | break; |
| 236 | 234 | case 0x0c40: |
| 237 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 235 | pc = MakeEA (ea1, lo, pc, 4); |
| 238 | 236 | sprintf (buffer, "ROL %s", ea1); |
| 239 | 237 | break; |
| 240 | 238 | case 0x0c80: |
| 241 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 239 | pc = MakeEA (ea1, lo, pc, 4); |
| 242 | 240 | sprintf (buffer, "ASR %s", ea1); |
| 243 | 241 | break; |
| 244 | 242 | case 0x0cc0: |
| 245 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 243 | pc = MakeEA (ea1, lo, pc, 4); |
| 246 | 244 | sprintf (buffer, "ASL %s", ea1); |
| 247 | 245 | break; |
| 248 | 246 | /* case 0x0d00: |
| 249 | 247 | sprintf (buffer, "MARK #$%X", lo); |
| 250 | 248 | break;*/ |
| 251 | 249 | case 0x0dc0: |
| 252 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 250 | pc = MakeEA (ea1, lo, pc, 4); |
| 253 | 251 | sprintf (buffer, "SXT %s", ea1); |
| 254 | 252 | break; |
| 255 | 253 | case 0x1000: case 0x1040: case 0x1080: case 0x10c0: case 0x1100: case 0x1140: case 0x1180: case 0x11c0: |
| r11553 | r11554 | |
| 260 | 258 | case 0x1a00: case 0x1a40: case 0x1a80: case 0x1ac0: case 0x1b00: case 0x1b40: case 0x1b80: case 0x1bc0: |
| 261 | 259 | case 0x1c00: case 0x1c40: case 0x1c80: case 0x1cc0: case 0x1d00: case 0x1d40: case 0x1d80: case 0x1dc0: |
| 262 | 260 | case 0x1e00: case 0x1e40: case 0x1e80: case 0x1ec0: case 0x1f00: case 0x1f40: case 0x1f80: case 0x1fc0: |
| 263 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 264 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 261 | pc = MakeEA (ea1, hi, pc, 4); |
| 262 | pc = MakeEA (ea2, lo, pc, 4); |
| 265 | 263 | if (lo == 046) /* MOV src,-(SP) */ |
| 266 | 264 | sprintf (buffer, "PUSH %s", ea1); |
| 267 | 265 | else |
| r11553 | r11554 | |
| 278 | 276 | case 0x2a00: case 0x2a40: case 0x2a80: case 0x2ac0: case 0x2b00: case 0x2b40: case 0x2b80: case 0x2bc0: |
| 279 | 277 | case 0x2c00: case 0x2c40: case 0x2c80: case 0x2cc0: case 0x2d00: case 0x2d40: case 0x2d80: case 0x2dc0: |
| 280 | 278 | case 0x2e00: case 0x2e40: case 0x2e80: case 0x2ec0: case 0x2f00: case 0x2f40: case 0x2f80: case 0x2fc0: |
| 281 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 282 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 279 | pc = MakeEA (ea1, hi, pc, 4); |
| 280 | pc = MakeEA (ea2, lo, pc, 4); |
| 283 | 281 | sprintf (buffer, "CMP %s,%s", ea1, ea2); |
| 284 | 282 | break; |
| 285 | 283 | case 0x3000: case 0x3040: case 0x3080: case 0x30c0: case 0x3100: case 0x3140: case 0x3180: case 0x31c0: |
| r11553 | r11554 | |
| 290 | 288 | case 0x3a00: case 0x3a40: case 0x3a80: case 0x3ac0: case 0x3b00: case 0x3b40: case 0x3b80: case 0x3bc0: |
| 291 | 289 | case 0x3c00: case 0x3c40: case 0x3c80: case 0x3cc0: case 0x3d00: case 0x3d40: case 0x3d80: case 0x3dc0: |
| 292 | 290 | case 0x3e00: case 0x3e40: case 0x3e80: case 0x3ec0: case 0x3f00: case 0x3f40: case 0x3f80: case 0x3fc0: |
| 293 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 294 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 291 | pc = MakeEA (ea1, hi, pc, 4); |
| 292 | pc = MakeEA (ea2, lo, pc, 4); |
| 295 | 293 | sprintf (buffer, "BIT %s,%s", ea1, ea2); |
| 296 | 294 | break; |
| 297 | 295 | case 0x4000: case 0x4040: case 0x4080: case 0x40c0: case 0x4100: case 0x4140: case 0x4180: case 0x41c0: |
| r11553 | r11554 | |
| 302 | 300 | case 0x4a00: case 0x4a40: case 0x4a80: case 0x4ac0: case 0x4b00: case 0x4b40: case 0x4b80: case 0x4bc0: |
| 303 | 301 | case 0x4c00: case 0x4c40: case 0x4c80: case 0x4cc0: case 0x4d00: case 0x4d40: case 0x4d80: case 0x4dc0: |
| 304 | 302 | case 0x4e00: case 0x4e40: case 0x4e80: case 0x4ec0: case 0x4f00: case 0x4f40: case 0x4f80: case 0x4fc0: |
| 305 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 306 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 303 | pc = MakeEA (ea1, hi, pc, 4); |
| 304 | pc = MakeEA (ea2, lo, pc, 4); |
| 307 | 305 | sprintf (buffer, "BIC %s,%s", ea1, ea2); |
| 308 | 306 | break; |
| 309 | 307 | case 0x5000: case 0x5040: case 0x5080: case 0x50c0: case 0x5100: case 0x5140: case 0x5180: case 0x51c0: |
| r11553 | r11554 | |
| 314 | 312 | case 0x5a00: case 0x5a40: case 0x5a80: case 0x5ac0: case 0x5b00: case 0x5b40: case 0x5b80: case 0x5bc0: |
| 315 | 313 | case 0x5c00: case 0x5c40: case 0x5c80: case 0x5cc0: case 0x5d00: case 0x5d40: case 0x5d80: case 0x5dc0: |
| 316 | 314 | case 0x5e00: case 0x5e40: case 0x5e80: case 0x5ec0: case 0x5f00: case 0x5f40: case 0x5f80: case 0x5fc0: |
| 317 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 318 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 315 | pc = MakeEA (ea1, hi, pc, 4); |
| 316 | pc = MakeEA (ea2, lo, pc, 4); |
| 319 | 317 | sprintf (buffer, "BIS %s,%s", ea1, ea2); |
| 320 | 318 | break; |
| 321 | 319 | case 0x6000: case 0x6040: case 0x6080: case 0x60c0: case 0x6100: case 0x6140: case 0x6180: case 0x61c0: |
| r11553 | r11554 | |
| 326 | 324 | case 0x6a00: case 0x6a40: case 0x6a80: case 0x6ac0: case 0x6b00: case 0x6b40: case 0x6b80: case 0x6bc0: |
| 327 | 325 | case 0x6c00: case 0x6c40: case 0x6c80: case 0x6cc0: case 0x6d00: case 0x6d40: case 0x6d80: case 0x6dc0: |
| 328 | 326 | case 0x6e00: case 0x6e40: case 0x6e80: case 0x6ec0: case 0x6f00: case 0x6f40: case 0x6f80: case 0x6fc0: |
| 329 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 330 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 327 | pc = MakeEA (ea1, hi, pc, 4); |
| 328 | pc = MakeEA (ea2, lo, pc, 4); |
| 331 | 329 | sprintf (buffer, "ADD %s,%s", ea1, ea2); |
| 332 | 330 | break; |
| 333 | 331 | |
| 334 | 332 | case 0x7800: case 0x7840: case 0x7880: case 0x78c0: case 0x7900: case 0x7940: case 0x7980: case 0x79c0: |
| 335 | | pc = MakeEA (&ea1, lo, pc, 4); |
| 333 | pc = MakeEA (ea1, lo, pc, 4); |
| 336 | 334 | sprintf (buffer, "XOR %s,%s", regs[hi & 7], ea1); |
| 337 | 335 | break; |
| 338 | 336 | |
| r11553 | r11554 | |
| 381 | 379 | break; |
| 382 | 380 | |
| 383 | 381 | case 0x8a00: |
| 384 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 382 | pc = MakeEA (ea1, lo, pc, 2); |
| 385 | 383 | sprintf (buffer, "CLRB %s", ea1); |
| 386 | 384 | break; |
| 387 | 385 | case 0x8a40: |
| 388 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 386 | pc = MakeEA (ea1, lo, pc, 2); |
| 389 | 387 | sprintf (buffer, "COMB %s", ea1); |
| 390 | 388 | break; |
| 391 | 389 | case 0x8a80: |
| 392 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 390 | pc = MakeEA (ea1, lo, pc, 2); |
| 393 | 391 | sprintf (buffer, "INCB %s", ea1); |
| 394 | 392 | break; |
| 395 | 393 | case 0x8ac0: |
| 396 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 394 | pc = MakeEA (ea1, lo, pc, 2); |
| 397 | 395 | sprintf (buffer, "DECB %s", ea1); |
| 398 | 396 | break; |
| 399 | 397 | case 0x8b00: |
| 400 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 398 | pc = MakeEA (ea1, lo, pc, 2); |
| 401 | 399 | sprintf (buffer, "NEGB %s", ea1); |
| 402 | 400 | break; |
| 403 | 401 | case 0x8b40: |
| 404 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 402 | pc = MakeEA (ea1, lo, pc, 2); |
| 405 | 403 | sprintf (buffer, "ADCB %s", ea1); |
| 406 | 404 | break; |
| 407 | 405 | case 0x8b80: |
| 408 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 406 | pc = MakeEA (ea1, lo, pc, 2); |
| 409 | 407 | sprintf (buffer, "SBCB %s", ea1); |
| 410 | 408 | break; |
| 411 | 409 | case 0x8bc0: |
| 412 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 410 | pc = MakeEA (ea1, lo, pc, 2); |
| 413 | 411 | sprintf (buffer, "TSTB %s", ea1); |
| 414 | 412 | break; |
| 415 | 413 | case 0x8c00: |
| 416 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 414 | pc = MakeEA (ea1, lo, pc, 2); |
| 417 | 415 | sprintf (buffer, "RORB %s", ea1); |
| 418 | 416 | break; |
| 419 | 417 | case 0x8c40: |
| 420 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 418 | pc = MakeEA (ea1, lo, pc, 2); |
| 421 | 419 | sprintf (buffer, "ROLB %s", ea1); |
| 422 | 420 | break; |
| 423 | 421 | case 0x8c80: |
| 424 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 422 | pc = MakeEA (ea1, lo, pc, 2); |
| 425 | 423 | sprintf (buffer, "ASRB %s", ea1); |
| 426 | 424 | break; |
| 427 | 425 | case 0x8cc0: |
| 428 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 426 | pc = MakeEA (ea1, lo, pc, 2); |
| 429 | 427 | sprintf (buffer, "ASLB %s", ea1); |
| 430 | 428 | break; |
| 431 | 429 | case 0x8d00: |
| 432 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 430 | pc = MakeEA (ea1, lo, pc, 2); |
| 433 | 431 | sprintf (buffer, "MTPS %s", ea1); |
| 434 | 432 | break; |
| 435 | 433 | case 0x8dc0: |
| 436 | | pc = MakeEA (&ea1, lo, pc, 2); |
| 434 | pc = MakeEA (ea1, lo, pc, 2); |
| 437 | 435 | sprintf (buffer, "MFPS %s", ea1); |
| 438 | 436 | break; |
| 439 | 437 | case 0x9000: case 0x9040: case 0x9080: case 0x90c0: case 0x9100: case 0x9140: case 0x9180: case 0x91c0: |
| r11553 | r11554 | |
| 444 | 442 | case 0x9a00: case 0x9a40: case 0x9a80: case 0x9ac0: case 0x9b00: case 0x9b40: case 0x9b80: case 0x9bc0: |
| 445 | 443 | case 0x9c00: case 0x9c40: case 0x9c80: case 0x9cc0: case 0x9d00: case 0x9d40: case 0x9d80: case 0x9dc0: |
| 446 | 444 | case 0x9e00: case 0x9e40: case 0x9e80: case 0x9ec0: case 0x9f00: case 0x9f40: case 0x9f80: case 0x9fc0: |
| 447 | | pc = MakeEA (&ea1, hi, pc, 2); |
| 448 | | pc = MakeEA (&ea2, lo, pc, 2); |
| 445 | pc = MakeEA (ea1, hi, pc, 2); |
| 446 | pc = MakeEA (ea2, lo, pc, 2); |
| 449 | 447 | sprintf (buffer, "MOVB %s,%s", ea1, ea2); |
| 450 | 448 | break; |
| 451 | 449 | case 0xa000: case 0xa040: case 0xa080: case 0xa0c0: case 0xa100: case 0xa140: case 0xa180: case 0xa1c0: |
| r11553 | r11554 | |
| 456 | 454 | case 0xaa00: case 0xaa40: case 0xaa80: case 0xaac0: case 0xab00: case 0xab40: case 0xab80: case 0xabc0: |
| 457 | 455 | case 0xac00: case 0xac40: case 0xac80: case 0xacc0: case 0xad00: case 0xad40: case 0xad80: case 0xadc0: |
| 458 | 456 | case 0xae00: case 0xae40: case 0xae80: case 0xaec0: case 0xaf00: case 0xaf40: case 0xaf80: case 0xafc0: |
| 459 | | pc = MakeEA (&ea1, hi, pc, 2); |
| 460 | | pc = MakeEA (&ea2, lo, pc, 2); |
| 457 | pc = MakeEA (ea1, hi, pc, 2); |
| 458 | pc = MakeEA (ea2, lo, pc, 2); |
| 461 | 459 | sprintf (buffer, "CMPB %s,%s", ea1, ea2); |
| 462 | 460 | break; |
| 463 | 461 | case 0xb000: case 0xb040: case 0xb080: case 0xb0c0: case 0xb100: case 0xb140: case 0xb180: case 0xb1c0: |
| r11553 | r11554 | |
| 468 | 466 | case 0xba00: case 0xba40: case 0xba80: case 0xbac0: case 0xbb00: case 0xbb40: case 0xbb80: case 0xbbc0: |
| 469 | 467 | case 0xbc00: case 0xbc40: case 0xbc80: case 0xbcc0: case 0xbd00: case 0xbd40: case 0xbd80: case 0xbdc0: |
| 470 | 468 | case 0xbe00: case 0xbe40: case 0xbe80: case 0xbec0: case 0xbf00: case 0xbf40: case 0xbf80: case 0xbfc0: |
| 471 | | pc = MakeEA (&ea1, hi, pc, 2); |
| 472 | | pc = MakeEA (&ea2, lo, pc, 2); |
| 469 | pc = MakeEA (ea1, hi, pc, 2); |
| 470 | pc = MakeEA (ea2, lo, pc, 2); |
| 473 | 471 | sprintf (buffer, "BITB %s,%s", ea1, ea2); |
| 474 | 472 | break; |
| 475 | 473 | case 0xc000: case 0xc040: case 0xc080: case 0xc0c0: case 0xc100: case 0xc140: case 0xc180: case 0xc1c0: |
| r11553 | r11554 | |
| 480 | 478 | case 0xca00: case 0xca40: case 0xca80: case 0xcac0: case 0xcb00: case 0xcb40: case 0xcb80: case 0xcbc0: |
| 481 | 479 | case 0xcc00: case 0xcc40: case 0xcc80: case 0xccc0: case 0xcd00: case 0xcd40: case 0xcd80: case 0xcdc0: |
| 482 | 480 | case 0xce00: case 0xce40: case 0xce80: case 0xcec0: case 0xcf00: case 0xcf40: case 0xcf80: case 0xcfc0: |
| 483 | | pc = MakeEA (&ea1, hi, pc, 2); |
| 484 | | pc = MakeEA (&ea2, lo, pc, 2); |
| 481 | pc = MakeEA (ea1, hi, pc, 2); |
| 482 | pc = MakeEA (ea2, lo, pc, 2); |
| 485 | 483 | sprintf (buffer, "BICB %s,%s", ea1, ea2); |
| 486 | 484 | break; |
| 487 | 485 | case 0xd000: case 0xd040: case 0xd080: case 0xd0c0: case 0xd100: case 0xd140: case 0xd180: case 0xd1c0: |
| r11553 | r11554 | |
| 492 | 490 | case 0xda00: case 0xda40: case 0xda80: case 0xdac0: case 0xdb00: case 0xdb40: case 0xdb80: case 0xdbc0: |
| 493 | 491 | case 0xdc00: case 0xdc40: case 0xdc80: case 0xdcc0: case 0xdd00: case 0xdd40: case 0xdd80: case 0xddc0: |
| 494 | 492 | case 0xde00: case 0xde40: case 0xde80: case 0xdec0: case 0xdf00: case 0xdf40: case 0xdf80: case 0xdfc0: |
| 495 | | pc = MakeEA (&ea1, hi, pc, 2); |
| 496 | | pc = MakeEA (&ea2, lo, pc, 2); |
| 493 | pc = MakeEA (ea1, hi, pc, 2); |
| 494 | pc = MakeEA (ea2, lo, pc, 2); |
| 497 | 495 | sprintf (buffer, "BISB %s,%s", ea1, ea2); |
| 498 | 496 | break; |
| 499 | 497 | case 0xe000: case 0xe040: case 0xe080: case 0xe0c0: case 0xe100: case 0xe140: case 0xe180: case 0xe1c0: |
| r11553 | r11554 | |
| 504 | 502 | case 0xea00: case 0xea40: case 0xea80: case 0xeac0: case 0xeb00: case 0xeb40: case 0xeb80: case 0xebc0: |
| 505 | 503 | case 0xec00: case 0xec40: case 0xec80: case 0xecc0: case 0xed00: case 0xed40: case 0xed80: case 0xedc0: |
| 506 | 504 | case 0xee00: case 0xee40: case 0xee80: case 0xeec0: case 0xef00: case 0xef40: case 0xef80: case 0xefc0: |
| 507 | | pc = MakeEA (&ea1, hi, pc, 4); |
| 508 | | pc = MakeEA (&ea2, lo, pc, 4); |
| 505 | pc = MakeEA (ea1, hi, pc, 4); |
| 506 | pc = MakeEA (ea2, lo, pc, 4); |
| 509 | 507 | sprintf (buffer, "SUB %s,%s", ea1, ea2); |
| 510 | 508 | break; |
| 511 | 509 | |