[Android] Add more opcode definitions

This commit is contained in:
zilmar 2016-09-29 21:54:12 +10:00
parent a130434e56
commit bae7494a6f
3 changed files with 153 additions and 11 deletions

View File

@ -47,13 +47,6 @@ union ArmThumbOpcode
unsigned opcode : 7;
} Reg;
struct
{
unsigned imm8 : 8;
unsigned rdn : 3;
unsigned opcode : 5;
} Imm8;
struct
{
unsigned rd : 3;
@ -70,6 +63,13 @@ union ArmThumbOpcode
unsigned opcode : 5;
} Imm5;
struct
{
unsigned imm8 : 8;
unsigned rdn : 3;
unsigned opcode : 5;
} Imm8;
struct
{
unsigned rn : 3;
@ -122,6 +122,61 @@ union Arm32Opcode
unsigned reserved : 1;
} RnRdImm12;
struct
{
unsigned Rn : 4;
unsigned op3 : 2;
unsigned D : 1;
unsigned U : 1;
unsigned op2 : 8;
unsigned imm8 : 8;
unsigned op1 : 4;
unsigned vd : 4;
} RnVdImm8;
struct
{
unsigned vn : 4;
unsigned op1 : 2;
unsigned d : 1;
unsigned op2 : 9;
unsigned vm : 4;
unsigned op3 : 1;
unsigned m : 1;
unsigned op4 : 1;
unsigned n : 1;
unsigned sz : 1;
unsigned op5 : 3;
unsigned vd : 4;
} VnVmVd;
struct
{
unsigned rn : 4;
unsigned opcode : 12;
unsigned rm : 4;
unsigned imm : 2;
unsigned Opcode2 : 6;
unsigned rt : 4;
} imm2;
struct
{
unsigned rn : 4;
unsigned s : 1;
unsigned opcode : 11;
unsigned rm : 4;
unsigned type : 2;
unsigned imm2 : 2;
unsigned rd : 4;
unsigned imm3 : 3;
unsigned opcode2 : 1;
} imm5;
struct
{
unsigned rn : 4;
@ -130,6 +185,20 @@ union Arm32Opcode
unsigned rt : 4;
} imm12;
struct
{
unsigned rn : 4;
unsigned s : 1;
unsigned opcode : 5;
unsigned i : 1;
unsigned opcode2 : 5;
unsigned imm8 : 8;
unsigned rd : 4;
unsigned imm3 : 3;
unsigned opcode3 : 1;
} imm8_3_1;
struct
{
unsigned imm4 : 4;
@ -164,6 +233,77 @@ union Arm32Opcode
unsigned rn : 4;
unsigned opcode : 12;
} uint32;
struct
{
unsigned rm : 4;
unsigned opcode3 : 8;
unsigned rt : 4;
unsigned rn : 4;
unsigned opcode2 : 1;
unsigned w : 1;
unsigned opcode1 : 1;
unsigned u : 1;
unsigned p : 1;
unsigned opcode : 3;
unsigned cond : 4;
} reg_cond;
struct
{
unsigned rm : 4;
unsigned opcode3 : 1;
unsigned type : 2;
unsigned imm5 : 5;
unsigned rt : 4;
unsigned rn : 4;
unsigned opcode2 : 1;
unsigned w : 1;
unsigned opcode1 : 1;
unsigned u : 1;
unsigned p : 1;
unsigned opcode : 3;
unsigned cond : 4;
} reg_cond_imm5;
struct
{
unsigned imm12 : 12;
unsigned rt : 4;
unsigned rn : 4;
unsigned opcode2 : 1;
unsigned w : 1;
unsigned opcode1 : 1;
unsigned u : 1;
unsigned p : 1;
unsigned opcode : 3;
unsigned cond : 4;
} reg_cond_imm12;
struct
{
unsigned opcode : 16;
unsigned opcode2 : 12;
unsigned rt : 4;
} fpscr;
struct
{
unsigned opcode : 16;
unsigned rm : 4;
unsigned rotate : 2;
unsigned opcode2 : 2;
unsigned rd : 4;
unsigned opcode3 : 4;
} rotate;
struct
{
unsigned opcode : 16;
unsigned register_list : 16;
} PushPop;
};
#pragma warning(pop)

View File

@ -180,7 +180,6 @@
<ClInclude Include="N64System\Recompiler\RegInfo.h" />
<ClInclude Include="N64System\Recompiler\SectionInfo.h" />
<ClInclude Include="N64System\Recompiler\x64-86\x64RegInfo.h" />
<ClInclude Include="N64System\Recompiler\X86ops.h" />
<ClInclude Include="N64System\Recompiler\x86\x86ops.h" />
<ClInclude Include="N64System\Recompiler\x86\x86RecompilerOps.h" />
<ClInclude Include="N64System\Recompiler\x86\x86RegInfo.h" />

View File

@ -539,9 +539,6 @@
<ClInclude Include="N64System\Recompiler\SectionInfo.h">
<Filter>Header Files\N64 System\Recompiler</Filter>
</ClInclude>
<ClInclude Include="N64System\Recompiler\X86ops.h">
<Filter>Header Files\N64 System\Recompiler</Filter>
</ClInclude>
<ClInclude Include="N64System\Mips\Audio.h">
<Filter>Header Files\N64 System\Mips</Filter>
</ClInclude>
@ -650,5 +647,11 @@
<ClInclude Include="N64System\Recompiler\Arm\ArmRegInfo.h">
<Filter>Header Files\N64 System\Recompiler\Arm</Filter>
</ClInclude>
<ClInclude Include="N64System\Recompiler\RegBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="N64System\Recompiler\x64-86\x64RegInfo.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>