📄 ppcinst.h
字号:
} PPC_INSTRUCTION, *PPPC_INSTRUCTION;
//
// POWERPC PRIMARY AND SECONDARY (EXTENDED) OPCODES
//
#define TDI_OP 2
#define TWI_OP 3
#define MULLI_OP 7
#define SUBFIC_OP 8
#define CMPLI_OP 10
#define CMPI_OP 11
#define ADDIC_OP 12
#define ADDIC_RC_OP 13
#define ADDI_OP 14
#define ADDIS_OP 15
#define BC_OP 16
#define SC_OP 17
#define B_OP 18
#define X19_OP 19 // Extended ops for primary code 19:
#define MCRF_OP 0
#define BCLR_OP 16
#define CRNOR_OP 33
#define RFI_OP 50
#define CRANDC_OP 129
#define ISYNC_OP 150
#define CRXOR_OP 193
#define CRNAND_OP 225
#define CRAND_OP 257
#define CREQV_OP 289
#define CRORC_OP 417
#define CROR_OP 449
#define BCCTR_OP 528
#define RLWIMI_OP 20
#define RLWINM_OP 21
#define RLWNM_OP 23
#define ORI_OP 24
#define ORIS_OP 25
#define XORI_OP 26
#define XORIS_OP 27
#define ANDI_RC_OP 28
#define ANDIS_RC_OP 29
#define X30_OP 30 // Extended ops for primary code 30:
#define RLDICL_OP 0
#define RLDICR_OP 1
#define RLDIC_OP 2
#define RLDIMI_OP 3
#define RLDCL_OP 8
#define RLDCR_OP 9
#define X31_OP 31 // Extended ops for primary code 31:
#define CMP_OP 0
#define TW_OP 4
#define SUBFC_OP 8
#define MULHDU_OP 9
#define ADDC_OP 10
#define MULHWU_OP 11
#define MFCR_OP 19
#define LWARX_OP 20
#define LDX_OP 21
#define LWZX_OP 23
#define SLW_OP 24
#define CNTLZW_OP 26
#define SLD_OP 27
#define AND_OP 28
#define CMPL_OP 32
#define SUBF_OP 40
#define LDUX_OP 53
#define DCBST_OP 54
#define LWZUX_OP 55
#define CNTLZD_OP 58
#define ANDC_OP 60
#define TD_OP 68
#define MULHD_OP 73
#define MULHW_OP 75
#define MFMSR_OP 83
#define LDARX_OP 84
#define DCBF_OP 86
#define LBZX_OP 87
#define NEG_OP 104
#define LBZUX_OP 119
#define NOR_OP 124
#define SUBFE_OP 136
#define ADDE_OP 138
#define MTCRF_OP 144
#define MTMSR_OP 146
#define STDX_OP 149
#define STWCX_RC_OP 150
#define STWX_OP 151
#define STDUX_OP 181
#define STWUX_OP 183
#define SUBFZE_OP 200
#define ADDZE_OP 202
#define MTSR_OP 210
#define STDCX_RC_OP 214
#define STBX_OP 215
#define SUBFME_OP 232
#define MULLD_OP 233
#define ADDME_OP 234
#define MULLW_OP 235
#define MTSRIN_OP 242
#define DCBTST_OP 246
#define STBUX_OP 247
#define ADD_OP 266
#define DCBT_OP 278
#define LHZX_OP 279
#define EQV_OP 284
#define TLBIE_OP 306
#define ECIWX_OP 310
#define LHZUX_OP 311
#define XOR_OP 316
#define MFSPR_OP 339
#define LWAX_OP 341
#define LHAX_OP 343
#define TLBIA_OP 370
#define MFTB_OP 371
#define LWAUX_OP 373
#define LHAUX_OP 375
#define STHX_OP 407
#define ORC_OP 412
#define SRADI_OP 413
#define SLBIE_OP 434
#define ECOWX_OP 438
#define STHUX_OP 439
#define OR_OP 444
#define DIVDU_OP 457
#define DIVWU_OP 459
#define MTSPR_OP 467
#define DCBI_OP 470
#define NAND_OP 476
#define DIVD_OP 489
#define DIVW_OP 491
#define SLBIA_OP 498
#define MCRXR_OP 512
#define LSWX_OP 533
#define LWBRX_OP 534
#define LFSX_OP 535
#define SRW_OP 536
#define SRD_OP 539
#define TLBSYNC_OP 566
#define LFSUX_OP 567
#define MFSR_OP 595
#define LSWI_OP 597
#define SYNC_OP 598
#define LFDX_OP 599
#define LFDUX_OP 631
#define MFSRIN_OP 659
#define STSWX_OP 661
#define STWBRX_OP 662
#define STFSX_OP 663
#define STFSUX_OP 695
#define STSWI_OP 725
#define STFDX_OP 727
#define STFDUX_OP 759
#define LHBRX_OP 790
#define SRAW_OP 792
#define SRAD_OP 794
#define SRAWI_OP 824
#define EIEIO_OP 854
#define STHBRX_OP 918
#define EXTSH_OP 922
#define EXTSB_OP 954
#define ICBI_OP 982
#define STFIWX_OP 983
#define EXTSW_OP 986
#define DCBZ_OP 1014
#define LWZ_OP 32
#define LWZU_OP 33
#define LBZ_OP 34
#define LBZU_OP 35
#define STW_OP 36
#define STWU_OP 37
#define STB_OP 38
#define STBU_OP 39
#define LHZ_OP 40
#define LHZU_OP 41
#define LHA_OP 42
#define LHAU_OP 43
#define STH_OP 44
#define STHU_OP 45
#define LFS_OP 48
#define LFSU_OP 49
#define LFD_OP 50
#define LFDU_OP 51
#define STFS_OP 52
#define STFSU_OP 53
#define STFD_OP 54
#define STFDU_OP 55
#define X58_OP 58 // Extended ops for primary code 58:
#define LD_OP 0
#define LDU_OP 1
#define LWA_OP 2
#define X59_OP 59 // Extended ops for primary code 59:
#define FDIVS_OP 18
#define FSUBS_OP 20
#define FADDS_OP 21
#define FSQRTS_OP 22
#define FRES_OP 24
#define FMULS_OP 25
#define FMSUBS_OP 28
#define FMADDS_OP 29
#define FNMSUBS_OP 30
#define FNMADDS_OP 31
#define X62_OP 62 // Extended ops for primary code 62:
#define STD_OP 0
#define STDU_OP 1
#define X63_OP 63 // Extended ops for primary code 63:
#define FCMPU_OP 0
#define FRSP_OP 12
#define FCTIW_OP 14
#define FCTIWZ_OP 15
#define FDIV_OP 18
#define FSUB_OP 20
#define FADD_OP 21
#define FSQRT_OP 22
#define FSEL_OP 23
#define FMUL_OP 25
#define FSQRTE_OP 26
#define FMSUB_OP 28
#define FMADD_OP 29
#define FNMSUB_OP 30
#define FNMADD_OP 31
#define FCMPO_OP 32
#define MTFSB1_OP 38
#define FNEG_OP 40
#define MCRFS_OP 64
#define MTFSB0_OP 70
#define FMR_OP 72
#define MTFSFI_OP 134
#define FNABS_OP 136
#define FABS_OP 264
#define MFFS_OP 583
#define MTFSF_OP 711
#define FCTID_OP 814
#define FCTIDZ_OP 815
#define FCFID_OP 846
//
// Define certain specific instructions
//
#define SYSTEM_CALL_INSTR 0x44000002L // sc
#define RETURN_INSTR 0x4E800020L // blr
#define BREAK_INSTR 0x0FE00000L // break <number>
#define TRAP_INSTR 0x0C000000L // trap word immediate
#define NO_OP_INSTR 0x60000000L // ori r.0, r.0, 0
#define INVALID_INSTR 0x00000000L // all 0's => invalid
//
// Define specific values for the TO field of the TRAP_INSTR
//
#define TO_BREAKPOINT 0x03E00000L // Unconditional breakpoint
#define TO_DIVIDE_BY_ZERO 0x00C00000L // Integer divide by zero
#define TO_UNCONDITIONAL_DIVIDE_BY_ZERO 0x00E00000L // Unconditional divide
// by zero
//
// IEEE FLOATING POINT VALUE REPRESENTATION
//
//
// Define maximum and minimum single and double exponent values.
//
#define DOUBLE_MAXIMUM_EXPONENT 2047
#define DOUBLE_MINIMUM_EXPONENT 0
#define SINGLE_MAXIMUM_EXPONENT 255
#define SINGLE_MINIMUM_EXPONENT 0
//
// Define single and double exponent bias values.
//
#define SINGLE_EXPONENT_BIAS 127
#define DOUBLE_EXPONENT_BIAS 1023
//
// Define the largest single and double values;
//
#define DOUBLE_MAXIMUM_VALUE_LOW 0xffffffff
#define DOUBLE_MAXIMUM_VALUE_HIGH 0x7fefffff
#define SINGLE_MAXIMUM_VALUE 0x7f7fffff
//
// Define single and double quite and signaling Nan values.
//
#define DOUBLE_NAN_LOW 0xffffffff
#define DOUBLE_QUIET_NAN 0x7ff7ffff
#define DOUBLE_SIGNAL_NAN 0x7fffffff
#define SINGLE_QUIET_NAN 0x7fbfffff
#define SINGLE_SIGNAL_NAN 0x7fffffff
//
// Define positive single and double infinity values.
//
#define DOUBLE_INFINITY_VALUE_LOW 0x0
#define DOUBLE_INFINITY_VALUE_HIGH 0x7ff00000
#define SINGLE_INFINITY_VALUE 0x7f800000
//
// Define rounding modes.
//
#define ROUND_TO_NEAREST 0
#define ROUND_TO_ZERO 1
#define ROUND_TO_PLUS_INFINITY 2
#define ROUND_TO_MINUS_INFINITY 3
#endif // _PPCINST_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -