⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m16inst.h

📁 wince下的源代码集合打包
💻 H
字号:
/*++ BUILD Version: 0001    // Increment this if a change has global effectsCopyright (c) 1993-2000 Microsoft Corporation.  All rights reserved.Module Name:    m16inst.hAbstract:    MIPS-16 instruction and floating constant definitions.--*/#ifndef _MP16INST_#define _MP16INST_//// Define MIPS-16 instruction format structures.//typedef union _MIPS16_INSTRUCTION {    USHORT Short;    UCHAR Byte[2];    struct    {        USHORT Immediate : 11;        USHORT Opcode : 5;    } i_format;    struct    {        SHORT Simmediate : 11;        USHORT Opcode : 5;    } b_format;    struct    {        USHORT Immediate : 8;        USHORT Rx : 3;        USHORT Opcode : 5;    } ri_format;          struct    {        SHORT Simmediate : 8;        USHORT Rx : 3;        USHORT Opcode : 5;    } rsi_format;          struct    {        USHORT Function : 5;        USHORT Ry : 3;        USHORT Rx : 3;        USHORT Opcode : 5;    } rr_format;    struct    {        USHORT Immediate : 5;        USHORT Ry : 3;        USHORT Rx : 3;        USHORT Opcode : 5;    } rri_format;    struct    {        USHORT Function : 2;        USHORT Rz : 3;        USHORT Ry : 3;        USHORT Rx : 3;        USHORT Opcode : 5;    } rrr_format;    struct    {        USHORT Immediate : 4;        USHORT Function : 1;        USHORT Ry : 3;        USHORT Rx : 3;        USHORT Opcode : 5;    } rria_format;    struct    {        USHORT Function : 2;        USHORT Shift : 3;        USHORT Ry : 3;        USHORT Rx : 3;        USHORT Opcode : 5;    } shift_format;    struct    {        USHORT Immediate : 8;        USHORT Function : 3;        USHORT Opcode : 5;    } i8_format;    struct    {        USHORT R32 : 5;        USHORT Ry : 3;        USHORT Function : 3;        USHORT Opcode : 5;    } movr32_format;          struct    {        USHORT Rz : 3;        USHORT R32 : 5;            // mangled        USHORT Function : 3;        USHORT Opcode : 5;    } mov32r_format;    struct    {        USHORT Immediate : 8;        USHORT Function : 3;        USHORT Opcode : 5;    } i64_format;    struct    {        USHORT Immediate : 5;        USHORT Ry : 3;        USHORT Function : 3;        USHORT Opcode : 5;    } ri64_format;    struct    {        USHORT Target21 : 5;        USHORT Target16 : 5;        USHORT Ext : 1;        USHORT Opcode : 5;    } j_format;    struct    {        USHORT Function : 5;        USHORT Ry : 3;        USHORT Shift : 3;        USHORT Opcode : 5;    } shift64_format;    struct    {        USHORT Zero1 : 5;        USHORT Function : 3;        USHORT Rx : 3;        USHORT Opcode : 5;    } jr_format;    struct    {        USHORT Break : 5;        USHORT Code : 6;        USHORT Opcode : 5;    } break_format;// EXTEND formats    struct    {        SHORT Simmediate11 : 5;        USHORT Immediate5 : 6;        USHORT Opcode : 5;    } ei_format;    struct    {        USHORT Immediate11 : 4;        USHORT Immediate4 : 7;        USHORT Opcode : 5;    } erria_format;    struct    {        USHORT Zero : 5;        USHORT Shift5 : 1;        USHORT Shift0 : 5;        USHORT Opcode : 5;    } eshift_format;} MIPS16_INSTRUCTION, *PMIPS16_INSTRUCTION;//// Define MIPS-16 instruction major opcode values.//#define I8_OP16             0x0c         // I8-type - use minor opcode in bits [10:8]#define RRR_OP16            0x1c         // RRR-type - use minor opcode in bits [1:0]#define RR_OP16             0x1d         // RR-type - use minor opcode in bits [4:0]#define B_OP16              0x02         // unconditional branch#define JALX_OP16           0x03         // JAL & JALX#define ADDIU8_OP16         0x09         // add 8-bit immediate#define LI_OP16             0x0d         // load 8-bit unsigned immediate #define LWPC_OP16           0x16         // load word base pc#define SWSP_OP16           0x1a         // store word base sp#define SW_OP16             0x1b         // store word base integer register#define EXTEND_OP16         0x1e         // extend immediate of next instruction//// Define I8-type minor opcode values (bits [10:8]).//#define SWRASP_OP16         0x02         // store word in ra, base sp#define ADJSP_OP16          0x03         // add immediate unsigned integer to sp#define MOV32R_OP16         0x05         // move general register to any of 32 registers#define MOVR32_OP16         0x07         // move any of 32 registers to general register//// Define RRR-type minor opcode values (bits [1:0]).//#define ADDU_OP16           0x01         // add unsigned integer#define SUBU_OP16           0x03         // subtract unsigned integer//// Define RR-type minor opcode values (bits [4:0]).//#define JR_OP16             0x00         // JR and JALR#define BREAK_OP16          0x05         // BREAK#endif // MP16INST

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -