📄 ppcinst.h
字号:
/*++
Copyright (c) 1993 IBM Corporation
Module Name:
ppcinst.h
Abstract:
PowerPC instruction and floating constant definitions.
Rick Simpson 30 July 1993
Revision History:
Richard Hooker : Updated on 03 April 2000 for use with WindowsCE on PowerPC
--*/
#ifndef _PPCINST_
#define _PPCINST_
//
// POWERPC INSTRUCTION FORMAT STRUCTURES
//
typedef union _PPC_INSTRUCTION {
ULONG Long;
UCHAR Byte[4];
struct {
ULONG bit31 : 1;
ULONG bit30 : 1;
LONG bit6_29 : 24;
ULONG bit0_5 : 6;
} i_f;
#define Primary_Op i_f.bit0_5
#define Iform_LI i_f.bit6_29
#define Iform_AA i_f.bit30
#define Iform_LK i_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit30 : 1;
LONG bit16_29 : 14;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} b_f;
#define Bform_BO b_f.bit6_10
#define Bform_BI b_f.bit11_15
#define Bform_BD b_f.bit16_29
#define Bform_AA b_f.bit30
#define Bform_LK b_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit30 : 1;
ULONG bit6_29 : 24;
ULONG bit0_5 : 6;
} sc_f;
#define SCform_XO sc_f.bit30
struct {
LONG bit16_31 : 16;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} d_f1;
struct {
ULONG bit16_31 : 16;
ULONG bit11_15 : 5;
ULONG bit10 : 1;
ULONG bit9 : 1;
ULONG bit6_8 : 3;
ULONG bit0_5 : 6;
} d_f2;
#define Dform_RT d_f1.bit6_10
#define Dform_RS d_f1.bit6_10
#define Dform_TO d_f1.bit6_10
#define Dform_FRT d_f1.bit6_10
#define Dform_FRS d_f1.bit6_10
#define Dform_BF d_f2.bit6_8
#define Dform_L d_f2.bit10
#define Dform_RA d_f1.bit11_15
#define Dform_D d_f1.bit16_31
#define Dform_SI d_f1.bit16_31
#define Dform_UI d_f2.bit16_31
struct {
ULONG bit30_31 : 2;
LONG bit16_29 : 14;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} ds_f;
#define DSform_RT ds_f.bit6_10
#define DSform_RS ds_f.bit6_10
#define DSform_RA ds_f.bit11_15
#define DSform_DS ds_f.bit16_29
#define DSform_XO ds_f.bit30_31
struct {
ULONG bit31 : 1;
ULONG bit21_30 : 10;
ULONG bit16_20 : 5;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} x_f1;
struct {
ULONG bit20_31 : 12;
ULONG bit16_19 : 4;
ULONG bit14_15 : 2;
ULONG bit11_13 : 3;
ULONG bit10 : 1;
ULONG bit9 : 1;
ULONG bit6_8 : 3;
ULONG bit0_5 : 6;
} x_f2;
struct {
ULONG bit16_31 : 16;
ULONG bit12_15 : 4;
ULONG bit0_11 : 12;
} x_f3;
#define Xform_RT x_f1.bit6_10
#define Xform_RS x_f1.bit6_10
#define Xform_TO x_f1.bit6_10
#define Xform_FRT x_f1.bit6_10
#define Xform_FRS x_f1.bit6_10
#define Xform_BT x_f1.bit6_10
#define Xform_BF x_f2.bit6_8
#define Xform_L x_f2.bit10
#define Xform_RA x_f1.bit11_15
#define Xform_FRA x_f1.bit11_15
#define Xform_BFA x_f2.bit11_13
#define Xform_SR x_f3.bit12_15
#define Xform_RB x_f1.bit16_20
#define Xform_NB x_f1.bit16_20
#define Xform_SH x_f1.bit16_20
#define Xform_FRB x_f1.bit16_20
#define Xform_U x_f2.bit16_19
#define Xform_XO x_f1.bit21_30
#define Xform_RC x_f1.bit31
struct {
ULONG bit31 : 1;
ULONG bit21_30 : 10;
ULONG bit16_20 : 5;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} xl_f1;
struct {
ULONG bit14_31 : 18;
ULONG bit11_13 : 3;
ULONG bit9_10 : 2;
ULONG bit6_8 : 3;
ULONG bit0_5 : 6;
} xl_f2;
#define XLform_LK xl_f1.bit31
#define XLform_XO xl_f1.bit21_30
#define XLform_BB xl_f1.bit16_20
#define XLform_BA xl_f1.bit11_15
#define XLform_BI xl_f1.bit11_15
#define XLform_BFA xl_f2.bit11_13
#define XLform_BT xl_f1.bit6_10
#define XLform_BO xl_f1.bit6_10
#define XLform_BF xl_f2.bit6_8
struct {
ULONG bit31 : 1;
ULONG bit21_30 : 10;
ULONG bit11_20 : 10;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} xfx_f1;
struct {
ULONG bit20_31 : 12;
ULONG bit12_19 : 8;
ULONG bit6_11 : 6;
ULONG bit0_5 : 6;
} xfx_f2;
#define XFXform_RT xfx_f1.bit6_10
#define XFXform_RS xfx_f1.bit6_10
#define XFXform_spr xfx_f1.bit11_20
#define XFXform_tbr xfx_f1.bit11_20
#define XFXform_spr xfx_f1.bit11_20
#define XFXform_FXM xfx_f2.bit12_19
#define XFXform_XO xfx_f1.bit21_30
struct {
ULONG bit31 : 1;
ULONG bit21_30 : 10;
ULONG bit16_20 : 5;
ULONG bit15 : 1;
ULONG bit7_14 : 8;
ULONG bit6 : 1;
ULONG bit0_5 : 6;
} xfl_f;
#define XFLform_FLM xfl_f.bit7_14
#define XFLform_FRB xfl_f.bit16_20
#define XFLform_XO xfl_f.bit21_30
#define XFLform_RC xfl_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit30 : 1;
ULONG bit21_29 : 9;
ULONG bit16_20 : 5;
ULONG bit10_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} xs_f;
#define XSform_RS xs_f.bit6_10
#define XSform_RA xs_f.bit11_15
#define XSform_sh1 xs_f.bit16_20
#define XSform_XO xs_f.bit21_29
#define XSform_sh2 xs_f.bit30
#define XSform_RC xs_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit22_30 : 9;
ULONG bit21 : 1;
ULONG bit16_20 : 5;
ULONG bit10_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} xo_f;
#define XOform_RT xo_f.bit6_10
#define XOform_RA xo_f.bit11_15
#define XOform_RB xo_f.bit16_20
#define XOform_OE xo_f.bit21
#define XOform_XO xo_f.bit22_30
#define XOform_RC xo_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit26_30 : 5;
ULONG bit21_25 : 5;
ULONG bit16_20 : 5;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} a_f;
#define Aform_FRT a_f.bit6_10
#define Aform_FRA a_f.bit11_15
#define Aform_FRB a_f.bit16_20
#define Aform_FRC a_f.bit21_25
#define Aform_XO a_f.bit26_30
#define Aform_RC a_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit26_30 : 5;
ULONG bit21_25 : 5;
ULONG bit16_20 : 5;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} m_f;
#define Mform_RS m_f.bit6_10
#define Mform_RA m_f.bit11_15
#define Mform_RB m_f.bit16_20
#define Mform_SH m_f.bit16_20
#define Mform_MB m_f.bit21_25
#define Mform_ME m_f.bit26_30
#define Mform_RC m_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit30 : 1;
ULONG bit27_29 : 3;
ULONG bit21_26 : 6;
ULONG bit16_20 : 5;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} md_f;
#define MDform_RS md_f.bit6_10
#define MDform_RA md_f.bit11_15
#define MDform_sh1 md_f.bit16_20
#define MDform_mb md_f.bit21_26
#define MDform_me md_f.bit21_26
#define MDform_XO md_f.bit27_29
#define MDform_sh2 md_f.bit30
#define MDform_RC md_f.bit31
struct {
ULONG bit31 : 1;
ULONG bit27_30 : 4;
ULONG bit21_26 : 6;
ULONG bit16_20 : 5;
ULONG bit11_15 : 5;
ULONG bit6_10 : 5;
ULONG bit0_5 : 6;
} mds_f;
#define MDSform_RS mds_f.bit6_10
#define MDSform_RA mds_f.bit11_15
#define MDSform_RB mds_f.bit16_20
#define MDSform_mb mds_f.bit21_26
#define MDSform_me mds_f.bit21_26
#define MDSform_XO mds_f.bit27_30
#define MDSform_RC mds_f.bit31
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -