Go to the documentation of this file. 60 #ifndef ALPHA_INSTRUCTIONS_H 61 #define ALPHA_INSTRUCTIONS_H 121 #define OP(x) (uint32_t)(((x) & 0x3F) << 26) 122 #define OP_MASK 0xFC000000 127 #define MEM(oo) OP(oo) 128 #define MEM_MASK OP_MASK 131 #define MFC(oo,ffff) (OP(oo) | ((ffff) & 0xFFFF)) 132 #define MFC_MASK (OP_MASK | 0xFFFF) 135 #define MBR(oo,h) (OP(oo) | (((h) & 0x3) << 14)) 136 #define MBR_MASK (OP_MASK | 0xC000) 141 #define BRA(oo) OP(oo) 142 #define BRA_MASK OP_MASK 148 #define OPR(oo,ff) (OP(oo) | (((ff) & 0x7F) << 5)) 149 #define OPRL(oo,ff) (OPR((oo),(ff)) | 0x1000) 150 #define OPR_MASK (OP_MASK | 0x1FE0) 156 #define FP(oo,fff) (OP(oo) | (((fff) & 0x7FF) << 5)) 157 #define FP_MASK (OP_MASK | 0xFFE0) 162 #define PCD(oo) OP(oo) 163 #define PCD_MASK OP_MASK 166 #define SPCD(oo,ffff) (OP(oo) | ((ffff) & 0x3FFFFFF)) 167 #define SPCD_MASK 0xFFFFFFFF 176 #define OpIntArith OP(0x10) 177 #define OpIntLogic OP(0x11) 178 #define OpIntShift OP(0x12) 179 #define OpIntMult OP(0x13) 182 #define OpIntToFlt OP(0x14) 183 #define OpFltVAX OP(0x15) 184 #define OpFltIEEE OP(0x16) 185 #define OpFltOp OP(0x17) 188 #define OpMisc OP(0x18) 191 #define OpFltToInt OP(0x1C) 194 #define OpJump OP(0x1A) 203 #define LDA MEM(0x08) 204 #define LDAH MEM(0x09) 205 #define LDBU MEM(0x0A) 206 #define UNOP MEM(0x0B) 207 #define LDQ_U MEM(0x0B) 208 #define LDWU MEM(0x0C) 209 #define STW MEM(0x0D) 210 #define STB MEM(0x0E) 211 #define STQ_U MEM(0x0F) 213 #define LDF MEM(0x20) 214 #define LDG MEM(0x21) 215 #define LDS MEM(0x22) 216 #define LDT MEM(0x23) 217 #define STF MEM(0x24) 218 #define STG MEM(0x25) 219 #define STS MEM(0x26) 220 #define STT MEM(0x27) 222 #define LDL MEM(0x28) 223 #define LDQ MEM(0x29) 224 #define LDL_L MEM(0x2A) 225 #define LDQ_L MEM(0x2B) 226 #define STL MEM(0x2C) 227 #define STQ MEM(0x2D) 228 #define STL_C MEM(0x2E) 229 #define STQ_C MEM(0x2F) 239 #define TRAPB MFC(0x18,0x0000) 240 #define DRAINT MFC(0x18,0x0000) 241 #define EXCB MFC(0x18,0x0400) 242 #define MB MFC(0x18,0x4000) 243 #define WMB MFC(0x18,0x4400) 244 #define FETCH MFC(0x18,0x8000) 245 #define FETCH_M MFC(0x18,0xA000) 246 #define RPCC MFC(0x18,0xC000) 247 #define RC MFC(0x18,0xE000) 248 #define ECB MFC(0x18,0xE800) 249 #define RS MFC(0x18,0xF000) 250 #define WH64 MFC(0x18,0xF800) 259 #define JMP MBR(0x1A,0) 260 #define JSR MBR(0x1A,1) 261 #define RET MBR(0x1A,2) 262 #define JCR MBR(0x1A,3) 263 #define JSR_COROUTINE MBR(0x1A,3) 268 #define FBEQ BRA(0x31) 269 #define FBLT BRA(0x32) 270 #define FBLE BRA(0x33) 271 #define BSR BRA(0x34) 272 #define FBNE BRA(0x35) 273 #define FBGE BRA(0x36) 274 #define FBGT BRA(0x37) 275 #define BLBC BRA(0x38) 276 #define BEQ BRA(0x39) 277 #define BLT BRA(0x3A) 278 #define BLE BRA(0x3B) 279 #define BLBS BRA(0x3C) 280 #define BNE BRA(0x3D) 281 #define BGE BRA(0x3E) 282 #define BGT BRA(0x3F) 295 #define SEXTL OPR(0x10,0x00) 296 #define ADDL OPR(0x10,0x00) 297 #define S4ADDL OPR(0x10,0x02) 298 #define NEGL OPR(0x10,0x09) 299 #define SUBL OPR(0x10,0x09) 300 #define S4SUBL OPR(0x10,0x0B) 301 #define CMPBGE OPR(0x10,0x0F) 302 #define S8ADDL OPR(0x10,0x12) 303 #define S8SUBL OPR(0x10,0x1B) 304 #define CMPULT OPR(0x10,0x1D) 305 #define ADDQ OPR(0x10,0x20) 306 #define S4ADDQ OPR(0x10,0x22) 307 #define NEGQ OPR(0x10,0x29) 308 #define SUBQ OPR(0x10,0x29) 309 #define S4SUBQ OPR(0x10,0x2B) 310 #define CMPEQ OPR(0x10,0x2D) 311 #define S8ADDQ OPR(0x10,0x32) 312 #define S8SUBQ OPR(0x10,0x3B) 313 #define CMPULE OPR(0x10,0x3D) 314 #define ADDL_V OPR(0x10,0x40) 315 #define NEGL_V OPR(0x10,0x49) 316 #define SUBL_V OPR(0x10,0x49) 317 #define CMPLT OPR(0x10,0x4D) 318 #define ADDQ_V OPR(0x10,0x60) 319 #define NEGQ_V OPR(0x10,0x69) 320 #define SUBQ_V OPR(0x10,0x69) 321 #define CMPLE OPR(0x10,0x6D) 325 #define AND OPR(0x11,0x00) 326 #define ANDNOT OPR(0x11,0x08) 327 #define BIC OPR(0x11,0x08) 328 #define CMOVLBS OPR(0x11,0x14) 329 #define CMOVLBC OPR(0x11,0x16) 330 #define NOP OPR(0x11,0x20) 331 #define CLR OPR(0x11,0x20) 332 #define MOV OPR(0x11,0x20) 333 #define OR OPR(0x11,0x20) 334 #define BIS OPR(0x11,0x20) 335 #define CMOVEQ OPR(0x11,0x24) 336 #define CMOVNE OPR(0x11,0x26) 338 #define NOT OPR(0x11,0x28) 339 #define ORNOT OPR(0x11,0x28) 340 #define XOR OPR(0x11,0x40) 341 #define CMOVLT OPR(0x11,0x44) 342 #define CMOVGE OPR(0x11,0x46) 343 #define EQV OPR(0x11,0x48) 344 #define XORNOT OPR(0x11,0x48) 345 #define AMASK OPR(0x11,0x61) 346 #define CMOVLE OPR(0x11,0x64) 347 #define CMOVGT OPR(0x11,0x66) 348 #define IMPLVER OPRL(0x11,0x6C)|(31<<21)|(1<<13) 351 #define MSKBL OPR(0x12,0x02) 352 #define EXTBL OPR(0x12,0x06) 353 #define INSBL OPR(0x12,0x0B) 354 #define MSKWL OPR(0x12,0x12) 355 #define EXTWL OPR(0x12,0x16) 356 #define INSWL OPR(0x12,0x1B) 357 #define MSKLL OPR(0x12,0x22) 358 #define EXTLL OPR(0x12,0x26) 359 #define INSLL OPR(0x12,0x2B) 360 #define ZAP OPR(0x12,0x30) 361 #define ZAPNOT OPR(0x12,0x31) 362 #define MSKQL OPR(0x12,0x32) 363 #define SRL OPR(0x12,0x34) 364 #define EXTQL OPR(0x12,0x36) 365 #define SLL OPR(0x12,0x39) 366 #define INSQL OPR(0x12,0x3B) 367 #define SRA OPR(0x12,0x3C) 368 #define MSKWH OPR(0x12,0x52) 369 #define INSWH OPR(0x12,0x57) 370 #define EXTWH OPR(0x12,0x5A) 371 #define MSKLH OPR(0x12,0x62) 372 #define INSLH OPR(0x12,0x67) 373 #define EXTLH OPR(0x12,0x6A) 374 #define MSKQH OPR(0x12,0x72) 375 #define INSQH OPR(0x12,0x77) 376 #define EXTQH OPR(0x12,0x7A) 378 #define MULL OPR(0x13,0x00) 379 #define MULQ OPR(0x13,0x20) 380 #define UMULH OPR(0x13,0x30) 381 #define MULL_V OPR(0x13,0x40) 382 #define MULQ_V OPR(0x13,0x60) 384 #define SEXTB OPR(0x1C, 0x00) 385 #define SEXTW OPR(0x1C, 0x01) 386 #define CTPOP OPR(0x1C, 0x30) 387 #define CTLZ OPR(0x1C, 0x32) 388 #define CTTZ OPR(0x1C, 0x33) 396 #define ITOFS FP(0x14,0x004) 397 #define SQRTF_C FP(0x14,0x00A) 398 #define SQRTS_C FP(0x14,0x00B) 399 #define ITOFF FP(0x14,0x014) 400 #define ITOFT FP(0x14,0x024) 401 #define SQRTG_C FP(0x14,0x02A) 402 #define SQRTT_C FP(0x14,0x02B) 403 #define SQRTS_M FP(0x14,0x04B) 404 #define SQRTT_M FP(0x14,0x06B) 405 #define SQRTF FP(0x14,0x08A) 406 #define SQRTS FP(0x14,0x08B) 407 #define SQRTG FP(0x14,0x0AA) 408 #define SQRTT FP(0x14,0x0AB) 409 #define SQRTS_D FP(0x14,0x0CB) 410 #define SQRTT_D FP(0x14,0x0EB) 411 #define SQRTF_UC FP(0x14,0x10A) 412 #define SQRTS_UC FP(0x14,0x10B) 413 #define SQRTG_UC FP(0x14,0x12A) 414 #define SQRTT_UC FP(0x14,0x12B) 415 #define SQRTS_UM FP(0x14,0x14B) 416 #define SQRTT_UM FP(0x14,0x16B) 417 #define SQRTF_U FP(0x14,0x18A) 418 #define SQRTS_U FP(0x14,0x18B) 419 #define SQRTG_U FP(0x14,0x1AA) 420 #define SQRTT_U FP(0x14,0x1AB) 421 #define SQRTS_UD FP(0x14,0x1CB) 422 #define SQRTT_UD FP(0x14,0x1EB) 423 #define SQRTF_SC FP(0x14,0x40A) 424 #define SQRTG_SC FP(0x14,0x42A) 425 #define SQRTF_S FP(0x14,0x48A) 426 #define SQRTG_S FP(0x14,0x4AA) 427 #define SQRTF_SUC FP(0x14,0x50A) 428 #define SQRTS_SUC FP(0x14,0x50B) 429 #define SQRTG_SUC FP(0x14,0x52A) 430 #define SQRTT_SUC FP(0x14,0x52B) 431 #define SQRTS_SUM FP(0x14,0x54B) 432 #define SQRTT_SUM FP(0x14,0x56B) 433 #define SQRTF_SU FP(0x14,0x58A) 434 #define SQRTS_SU FP(0x14,0x58B) 435 #define SQRTG_SU FP(0x14,0x5AA) 436 #define SQRTT_SU FP(0x14,0x5AB) 437 #define SQRTS_SUD FP(0x14,0x5CB) 438 #define SQRTT_SUD FP(0x14,0x5EB) 439 #define SQRTS_SUIC FP(0x14,0x70B) 440 #define SQRTT_SUIC FP(0x14,0x72B) 441 #define SQRTS_SUIM FP(0x14,0x74B) 442 #define SQRTT_SUIM FP(0x14,0x76B) 443 #define SQRTS_SUI FP(0x14,0x78B) 444 #define SQRTT_SUI FP(0x14,0x7AB) 445 #define SQRTS_SUID FP(0x14,0x7CB) 446 #define SQRTT_SUID FP(0x14,0x7EB) 448 #define ADDF_C FP(0x15,0x000) 449 #define SUBF_C FP(0x15,0x001) 450 #define MULF_C FP(0x15,0x002) 451 #define DIVF_C FP(0x15,0x003) 452 #define CVTDG_C FP(0x15,0x01E) 453 #define ADDG_C FP(0x15,0x020) 454 #define SUBG_C FP(0x15,0x021) 455 #define MULG_C FP(0x15,0x022) 456 #define DIVG_C FP(0x15,0x023) 457 #define CVTGF_C FP(0x15,0x02C) 458 #define CVTGD_C FP(0x15,0x02D) 459 #define CVTGQ_C FP(0x15,0x02F) 460 #define CVTQF_C FP(0x15,0x03C) 461 #define CVTQG_C FP(0x15,0x03E) 462 #define ADDF FP(0x15,0x080) 463 #define NEGF FP(0x15,0x081) 464 #define SUBF FP(0x15,0x081) 465 #define MULF FP(0x15,0x082) 466 #define DIVF FP(0x15,0x083) 467 #define CVTDG FP(0x15,0x09E) 468 #define ADDG FP(0x15,0x0A0) 469 #define NEGG FP(0x15,0x0A1) 470 #define SUBG FP(0x15,0x0A1) 471 #define MULG FP(0x15,0x0A2) 472 #define DIVG FP(0x15,0x0A3) 473 #define CMPGEQ FP(0x15,0x0A5) 474 #define CMPGLT FP(0x15,0x0A6) 475 #define CMPGLE FP(0x15,0x0A7) 476 #define CVTGF FP(0x15,0x0AC) 477 #define CVTGD FP(0x15,0x0AD) 478 #define CVTGQ FP(0x15,0x0AF) 479 #define CVTQF FP(0x15,0x0BC) 480 #define CVTQG FP(0x15,0x0BE) 481 #define ADDF_UC FP(0x15,0x100) 482 #define SUBF_UC FP(0x15,0x101) 483 #define MULF_UC FP(0x15,0x102) 484 #define DIVF_UC FP(0x15,0x103) 485 #define CVTDG_UC FP(0x15,0x11E) 486 #define ADDG_UC FP(0x15,0x120) 487 #define SUBG_UC FP(0x15,0x121) 488 #define MULG_UC FP(0x15,0x122) 489 #define DIVG_UC FP(0x15,0x123) 490 #define CVTGF_UC FP(0x15,0x12C) 491 #define CVTGD_UC FP(0x15,0x12D) 492 #define CVTGQ_VC FP(0x15,0x12F) 493 #define ADDF_U FP(0x15,0x180) 494 #define SUBF_U FP(0x15,0x181) 495 #define MULF_U FP(0x15,0x182) 496 #define DIVF_U FP(0x15,0x183) 497 #define CVTDG_U FP(0x15,0x19E) 498 #define ADDG_U FP(0x15,0x1A0) 499 #define SUBG_U FP(0x15,0x1A1) 500 #define MULG_U FP(0x15,0x1A2) 501 #define DIVG_U FP(0x15,0x1A3) 502 #define CVTGF_U FP(0x15,0x1AC) 503 #define CVTGD_U FP(0x15,0x1AD) 504 #define CVTGQ_V FP(0x15,0x1AF) 505 #define ADDF_SC FP(0x15,0x400) 506 #define SUBF_SC FP(0x15,0x401) 507 #define MULF_SC FP(0x15,0x402) 508 #define DIVF_SC FP(0x15,0x403) 509 #define CVTDG_SC FP(0x15,0x41E) 510 #define ADDG_SC FP(0x15,0x420) 511 #define SUBG_SC FP(0x15,0x421) 512 #define MULG_SC FP(0x15,0x422) 513 #define DIVG_SC FP(0x15,0x423) 514 #define CVTGF_SC FP(0x15,0x42C) 515 #define CVTGD_SC FP(0x15,0x42D) 516 #define CVTGQ_SC FP(0x15,0x42F) 517 #define ADDF_S FP(0x15,0x480) 518 #define NEGF_S FP(0x15,0x481) 519 #define SUBF_S FP(0x15,0x481) 520 #define MULF_S FP(0x15,0x482) 521 #define DIVF_S FP(0x15,0x483) 522 #define CVTDG_S FP(0x15,0x49E) 523 #define ADDG_S FP(0x15,0x4A0) 524 #define NEGG_S FP(0x15,0x4A1) 525 #define SUBG_S FP(0x15,0x4A1) 526 #define MULG_S FP(0x15,0x4A2) 527 #define DIVG_S FP(0x15,0x4A3) 528 #define CMPGEQ_S FP(0x15,0x4A5) 529 #define CMPGLT_S FP(0x15,0x4A6) 530 #define CMPGLE_S FP(0x15,0x4A7) 531 #define CVTGF_S FP(0x15,0x4AC) 532 #define CVTGD_S FP(0x15,0x4AD) 533 #define CVTGQ_S FP(0x15,0x4AF) 534 #define ADDF_SUC FP(0x15,0x500) 535 #define SUBF_SUC FP(0x15,0x501) 536 #define MULF_SUC FP(0x15,0x502) 537 #define DIVF_SUC FP(0x15,0x503) 538 #define CVTDG_SUC FP(0x15,0x51E) 539 #define ADDG_SUC FP(0x15,0x520) 540 #define SUBG_SUC FP(0x15,0x521) 541 #define MULG_SUC FP(0x15,0x522) 542 #define DIVG_SUC FP(0x15,0x523) 543 #define CVTGF_SUC FP(0x15,0x52C) 544 #define CVTGD_SUC FP(0x15,0x52D) 545 #define CVTGQ_SVC FP(0x15,0x52F) 546 #define ADDF_SU FP(0x15,0x580) 547 #define SUBF_SU FP(0x15,0x581) 548 #define MULF_SU FP(0x15,0x582) 549 #define DIVF_SU FP(0x15,0x583) 550 #define CVTDG_SU FP(0x15,0x59E) 551 #define ADDG_SU FP(0x15,0x5A0) 552 #define SUBG_SU FP(0x15,0x5A1) 553 #define MULG_SU FP(0x15,0x5A2) 554 #define DIVG_SU FP(0x15,0x5A3) 555 #define CVTGF_SU FP(0x15,0x5AC) 556 #define CVTGD_SU FP(0x15,0x5AD) 557 #define CVTGQ_SV FP(0x15,0x5AF) 559 #define ADDS_C FP(0x16,0x000) 560 #define SUBS_C FP(0x16,0x001) 561 #define MULS_C FP(0x16,0x002) 562 #define DIVS_C FP(0x16,0x003) 563 #define ADDT_C FP(0x16,0x020) 564 #define SUBT_C FP(0x16,0x021) 565 #define MULT_C FP(0x16,0x022) 566 #define DIVT_C FP(0x16,0x023) 567 #define CVTTS_C FP(0x16,0x02C) 568 #define CVTTQ_C FP(0x16,0x02F) 569 #define CVTQS_C FP(0x16,0x03C) 570 #define CVTQT_C FP(0x16,0x03E) 571 #define ADDS_M FP(0x16,0x040) 572 #define SUBS_M FP(0x16,0x041) 573 #define MULS_M FP(0x16,0x042) 574 #define DIVS_M FP(0x16,0x043) 575 #define ADDT_M FP(0x16,0x060) 576 #define SUBT_M FP(0x16,0x061) 577 #define MULT_M FP(0x16,0x062) 578 #define DIVT_M FP(0x16,0x063) 579 #define CVTTS_M FP(0x16,0x06C) 580 #define CVTTQ_M FP(0x16,0x06F) 581 #define CVTQS_M FP(0x16,0x07C) 582 #define CVTQT_M FP(0x16,0x07E) 583 #define ADDS FP(0x16,0x080) 584 #define NEGS FP(0x16,0x081) 585 #define SUBS FP(0x16,0x081) 586 #define MULS FP(0x16,0x082) 587 #define DIVS FP(0x16,0x083) 588 #define ADDT FP(0x16,0x0A0) 589 #define NEGT FP(0x16,0x0A1) 590 #define SUBT FP(0x16,0x0A1) 591 #define MULT FP(0x16,0x0A2) 592 #define DIVT FP(0x16,0x0A3) 593 #define CMPTUN FP(0x16,0x0A4) 594 #define CMPTEQ FP(0x16,0x0A5) 595 #define CMPTLT FP(0x16,0x0A6) 596 #define CMPTLE FP(0x16,0x0A7) 597 #define CVTTS FP(0x16,0x0AC) 598 #define CVTTQ FP(0x16,0x0AF) 599 #define CVTQS FP(0x16,0x0BC) 600 #define CVTQT FP(0x16,0x0BE) 601 #define ADDS_D FP(0x16,0x0C0) 602 #define SUBS_D FP(0x16,0x0C1) 603 #define MULS_D FP(0x16,0x0C2) 604 #define DIVS_D FP(0x16,0x0C3) 605 #define ADDT_D FP(0x16,0x0E0) 606 #define SUBT_D FP(0x16,0x0E1) 607 #define MULT_D FP(0x16,0x0E2) 608 #define DIVT_D FP(0x16,0x0E3) 609 #define CVTTS_D FP(0x16,0x0EC) 610 #define CVTTQ_D FP(0x16,0x0EF) 611 #define CVTQS_D FP(0x16,0x0FC) 612 #define CVTQT_D FP(0x16,0x0FE) 613 #define ADDS_UC FP(0x16,0x100) 614 #define SUBS_UC FP(0x16,0x101) 615 #define MULS_UC FP(0x16,0x102) 616 #define DIVS_UC FP(0x16,0x103) 617 #define ADDT_UC FP(0x16,0x120) 618 #define SUBT_UC FP(0x16,0x121) 619 #define MULT_UC FP(0x16,0x122) 620 #define DIVT_UC FP(0x16,0x123) 621 #define CVTTS_UC FP(0x16,0x12C) 622 #define CVTTQ_VC FP(0x16,0x12F) 623 #define ADDS_UM FP(0x16,0x140) 624 #define SUBS_UM FP(0x16,0x141) 625 #define MULS_UM FP(0x16,0x142) 626 #define DIVS_UM FP(0x16,0x143) 627 #define ADDT_UM FP(0x16,0x160) 628 #define SUBT_UM FP(0x16,0x161) 629 #define MULT_UM FP(0x16,0x162) 630 #define DIVT_UM FP(0x16,0x163) 631 #define CVTTS_UM FP(0x16,0x16C) 632 #define CVTTQ_VM FP(0x16,0x16F) 633 #define ADDS_U FP(0x16,0x180) 634 #define SUBS_U FP(0x16,0x181) 635 #define MULS_U FP(0x16,0x182) 636 #define DIVS_U FP(0x16,0x183) 637 #define ADDT_U FP(0x16,0x1A0) 638 #define SUBT_U FP(0x16,0x1A1) 639 #define MULT_U FP(0x16,0x1A2) 640 #define DIVT_U FP(0x16,0x1A3) 641 #define CVTTS_U FP(0x16,0x1AC) 642 #define CVTTQ_V FP(0x16,0x1AF) 643 #define ADDS_UD FP(0x16,0x1C0) 644 #define SUBS_UD FP(0x16,0x1C1) 645 #define MULS_UD FP(0x16,0x1C2) 646 #define DIVS_UD FP(0x16,0x1C3) 647 #define ADDT_UD FP(0x16,0x1E0) 648 #define SUBT_UD FP(0x16,0x1E1) 649 #define MULT_UD FP(0x16,0x1E2) 650 #define DIVT_UD FP(0x16,0x1E3) 651 #define CVTTS_UD FP(0x16,0x1EC) 652 #define CVTTQ_VD FP(0x16,0x1EF) 653 #define CVTST FP(0x16,0x2AC) 654 #define ADDS_SUC FP(0x16,0x500) 655 #define SUBS_SUC FP(0x16,0x501) 656 #define MULS_SUC FP(0x16,0x502) 657 #define DIVS_SUC FP(0x16,0x503) 658 #define ADDT_SUC FP(0x16,0x520) 659 #define SUBT_SUC FP(0x16,0x521) 660 #define MULT_SUC FP(0x16,0x522) 661 #define DIVT_SUC FP(0x16,0x523) 662 #define CVTTS_SUC FP(0x16,0x52C) 663 #define CVTTQ_SVC FP(0x16,0x52F) 664 #define ADDS_SUM FP(0x16,0x540) 665 #define SUBS_SUM FP(0x16,0x541) 666 #define MULS_SUM FP(0x16,0x542) 667 #define DIVS_SUM FP(0x16,0x543) 668 #define ADDT_SUM FP(0x16,0x560) 669 #define SUBT_SUM FP(0x16,0x561) 670 #define MULT_SUM FP(0x16,0x562) 671 #define DIVT_SUM FP(0x16,0x563) 672 #define CVTTS_SUM FP(0x16,0x56C) 673 #define CVTTQ_SVM FP(0x16,0x56F) 674 #define ADDS_SU FP(0x16,0x580) 675 #define NEGS_SU FP(0x16,0x581) 676 #define SUBS_SU FP(0x16,0x581) 677 #define MULS_SU FP(0x16,0x582) 678 #define DIVS_SU FP(0x16,0x583) 679 #define ADDT_SU FP(0x16,0x5A0) 680 #define NEGT_SU FP(0x16,0x5A1) 681 #define SUBT_SU FP(0x16,0x5A1) 682 #define MULT_SU FP(0x16,0x5A2) 683 #define DIVT_SU FP(0x16,0x5A3) 684 #define CMPTUN_SU FP(0x16,0x5A4) 685 #define CMPTEQ_SU FP(0x16,0x5A5) 686 #define CMPTLT_SU FP(0x16,0x5A6) 687 #define CMPTLE_SU FP(0x16,0x5A7) 688 #define CVTTS_SU FP(0x16,0x5AC) 689 #define CVTTQ_SV FP(0x16,0x5AF) 690 #define ADDS_SUD FP(0x16,0x5C0) 691 #define SUBS_SUD FP(0x16,0x5C1) 692 #define MULS_SUD FP(0x16,0x5C2) 693 #define DIVS_SUD FP(0x16,0x5C3) 694 #define ADDT_SUD FP(0x16,0x5E0) 695 #define SUBT_SUD FP(0x16,0x5E1) 696 #define MULT_SUD FP(0x16,0x5E2) 697 #define DIVT_SUD FP(0x16,0x5E3) 698 #define CVTTS_SUD FP(0x16,0x5EC) 699 #define CVTTQ_SVD FP(0x16,0x5EF) 700 #define CVTST_S FP(0x16,0x6AC) 701 #define ADDS_SUIC FP(0x16,0x700) 702 #define SUBS_SUIC FP(0x16,0x701) 703 #define MULS_SUIC FP(0x16,0x702) 704 #define DIVS_SUIC FP(0x16,0x703) 705 #define ADDT_SUIC FP(0x16,0x720) 706 #define SUBT_SUIC FP(0x16,0x721) 707 #define MULT_SUIC FP(0x16,0x722) 708 #define DIVT_SUIC FP(0x16,0x723) 709 #define CVTTS_SUIC FP(0x16,0x72C) 710 #define CVTTQ_SVIC FP(0x16,0x72F) 711 #define CVTQS_SUIC FP(0x16,0x73C) 712 #define CVTQT_SUIC FP(0x16,0x73E) 713 #define ADDS_SUIM FP(0x16,0x740) 714 #define SUBS_SUIM FP(0x16,0x741) 715 #define MULS_SUIM FP(0x16,0x742) 716 #define DIVS_SUIM FP(0x16,0x743) 717 #define ADDT_SUIM FP(0x16,0x760) 718 #define SUBT_SUIM FP(0x16,0x761) 719 #define MULT_SUIM FP(0x16,0x762) 720 #define DIVT_SUIM FP(0x16,0x763) 721 #define CVTTS_SUIM FP(0x16,0x76C) 722 #define CVTTQ_SVIM FP(0x16,0x76F) 723 #define CVTQS_SUIM FP(0x16,0x77C) 724 #define CVTQT_SUIM FP(0x16,0x77E) 725 #define ADDS_SUI FP(0x16,0x780) 726 #define NEGS_SUI FP(0x16,0x781) 727 #define SUBS_SUI FP(0x16,0x781) 728 #define MULS_SUI FP(0x16,0x782) 729 #define DIVS_SUI FP(0x16,0x783) 730 #define ADDT_SUI FP(0x16,0x7A0) 731 #define NEGT_SUI FP(0x16,0x7A1) 732 #define SUBT_SUI FP(0x16,0x7A1) 733 #define MULT_SUI FP(0x16,0x7A2) 734 #define DIVT_SUI FP(0x16,0x7A3) 735 #define CVTTS_SUI FP(0x16,0x7AC) 736 #define CVTTQ_SVI FP(0x16,0x7AF) 737 #define CVTQS_SUI FP(0x16,0x7BC) 738 #define CVTQT_SUI FP(0x16,0x7BE) 739 #define ADDS_SUID FP(0x16,0x7C0) 740 #define SUBS_SUID FP(0x16,0x7C1) 741 #define MULS_SUID FP(0x16,0x7C2) 742 #define DIVS_SUID FP(0x16,0x7C3) 743 #define ADDT_SUID FP(0x16,0x7E0) 744 #define SUBT_SUID FP(0x16,0x7E1) 745 #define MULT_SUID FP(0x16,0x7E2) 746 #define DIVT_SUID FP(0x16,0x7E3) 747 #define CVTTS_SUID FP(0x16,0x7EC) 748 #define CVTTQ_SVID FP(0x16,0x7EF) 749 #define CVTQS_SUID FP(0x16,0x7FC) 750 #define CVTQT_SUID FP(0x16,0x7FE) 752 #define CVTLQ FP(0x17,0x010) 753 #define FNOP FP(0x17,0x020) 754 #define FCLR FP(0x17,0x020) 755 #define FABS FP(0x17,0x020) 756 #define FMOV FP(0x17,0x020) 757 #define CPYS FP(0x17,0x020) 758 #define FNEG FP(0x17,0x021) 759 #define CPYSN FP(0x17,0x021) 760 #define CPYSE FP(0x17,0x022) 761 #define MT_FPCR FP(0x17,0x024) 762 #define MF_FPCR FP(0x17,0x025) 763 #define FCMOVEQ FP(0x17,0x02A) 764 #define FCMOVNE FP(0x17,0x02B) 765 #define FCMOVLT FP(0x17,0x02C) 766 #define FCMOVGE FP(0x17,0x02D) 767 #define FCMOVLE FP(0x17,0x02E) 768 #define FCMOVGT FP(0x17,0x02F) 769 #define CVTQL FP(0x17,0x030) 770 #define CVTQL_V FP(0x17,0x130) 771 #define CVTQL_SV FP(0x17,0x530) 773 #define FTOIT FP(0x1C, 0x70) 774 #define FTOIS FP(0x1C, 0x78) 780 #define PERR OPR(0x1C, 0x31) 781 #define UNPKBW OPR(0x1C, 0x34) 782 #define UNPKBL OPR(0x1C, 0x35) 783 #define PKWB OPR(0x1C, 0x36) 784 #define PKLB OPR(0x1C, 0x37) 785 #define MINSB8 OPR(0x1C, 0x38) 786 #define MINSW4 OPR(0x1C, 0x39) 787 #define MINUB8 OPR(0x1C, 0x3A) 788 #define MINUW4 OPR(0x1C, 0x3B) 789 #define MAXUB8 OPR(0x1C, 0x3C) 790 #define MAXUW4 OPR(0x1C, 0x3D) 791 #define MAXSB8 OPR(0x1C, 0x3E) 792 #define MAXSW4 OPR(0x1C, 0x3F) 800 #define HALT SPCD(0x00,0x0000) 801 #define DRAINA SPCD(0x00,0x0002) 802 #define BPT SPCD(0x00,0x0080) 803 #define CALLSYS SPCD(0x00,0x0083) 804 #define CHMK SPCD(0x00,0x0083) 805 #define IMB SPCD(0x00,0x0086) 806 #define CALL_PAL PCD(0x00) 807 #define PAL PCD(0x00) 808 #define PAL19 PCD(0x19) 809 #define PAL1B PCD(0x1B) 810 #define PAL1D PCD(0x1D) 811 #define PAL1E PCD(0x1E) 812 #define PAL1F PCD(0x1F) 818 #define HW_MFPR PCD(0x19) 819 #define HW_LD PCD(0x1B) 820 #define HW_MTPR PCD(0x1D) 821 #define HW_REI PCD(0x1E) 822 #define HW_ST PCD(0x1F) 828 #define REG_A_MASK 0x03e00000 829 #define REG_A_SHIFT 21 830 #define REG_A(INSN) (((INSN) & REG_A_MASK) >> REG_A_SHIFT) 832 #define REG_B_MASK 0x001f0000 833 #define REG_B_SHIFT 16 834 #define REG_B(INSN) (((INSN) & REG_B_MASK) >> REG_B_SHIFT) 836 #define REG_C_MASK 0x0000001f 837 #define REG_C_SHIFT 0 838 #define REG_C(INSN) (((INSN) & REG_C_MASK) >> REG_C_SHIFT) 847 #define IMM_MASK 0x001fe000 848 #define IMM_SIGN 0x00000000 850 #define IMM(INSN) (((INSN) & IMM_MASK) >> IMM_SHIFT) 854 #define MEM_DISP_MASK 0x0000ffff 855 #define MEM_DISP_SIGN 0x00008000 856 #define MEM_DISP_SHIFT 0 857 #define MEM_DISP(INSN) (((INSN) & MEM_DISP_MASK) >> MEM_DISP_SHIFT) 866 #define BR_DISP_MASK 0x001fffff 867 #define BR_DISP_SIGN 0x00100000 868 #define BR_DISP_SHIFT 0 869 #define BR_DISP(INSN) (((INSN) & BR_DISP_MASK) >> BR_DISP_SHIFT)