Minor refactorings and bugfixes

This commit is contained in:
flobernd 2016-11-24 10:57:23 +01:00
parent 659ead2280
commit 7f1c0bd8f1
15 changed files with 2592 additions and 2298 deletions

View File

@ -3,8 +3,8 @@ object frmEditorCPUIDFeatureFlags: TfrmEditorCPUIDFeatureFlags
Top = 0
BorderStyle = bsDialog
Caption = 'frmEditorCPUIDFeatureFlags'
ClientHeight = 321
ClientWidth = 494
ClientHeight = 371
ClientWidth = 544
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -19,17 +19,19 @@ object frmEditorCPUIDFeatureFlags: TfrmEditorCPUIDFeatureFlags
object GroupBox: TGroupBox
AlignWithMargins = True
Left = 3
Top = 279
Width = 488
Top = 329
Width = 538
Height = 39
Margins.Top = 0
Align = alBottom
TabOrder = 1
ExplicitTop = 279
ExplicitWidth = 488
DesignSize = (
488
538
39)
object btnCancel: TButton
Left = 368
Left = 418
Top = 7
Width = 112
Height = 25
@ -41,9 +43,10 @@ object frmEditorCPUIDFeatureFlags: TfrmEditorCPUIDFeatureFlags
Images = imgIcons16
TabOrder = 1
OnClick = btnCancelClick
ExplicitLeft = 368
end
object btnApply: TButton
Left = 250
Left = 300
Top = 7
Width = 112
Height = 25
@ -55,14 +58,15 @@ object frmEditorCPUIDFeatureFlags: TfrmEditorCPUIDFeatureFlags
Images = imgIcons16
TabOrder = 0
OnClick = btnApplyClick
ExplicitLeft = 250
end
end
object VirtualTreeView: TVirtualStringTree
AlignWithMargins = True
Left = 3
Top = 3
Width = 488
Height = 273
Width = 538
Height = 323
Align = alClient
Header.AutoSizeIndex = -1
Header.Font.Charset = DEFAULT_CHARSET
@ -81,6 +85,8 @@ object frmEditorCPUIDFeatureFlags: TfrmEditorCPUIDFeatureFlags
OnFreeNode = VirtualTreeViewFreeNode
OnGetText = VirtualTreeViewGetText
OnGetImageIndex = VirtualTreeViewGetImageIndex
ExplicitWidth = 488
ExplicitHeight = 273
Columns = <>
end
object imgIcons16: TcxImageList

View File

@ -3,8 +3,8 @@ object frmEditorX86Registers: TfrmEditorX86Registers
Top = 0
BorderStyle = bsDialog
Caption = 'frmEditorX86Registers'
ClientHeight = 421
ClientWidth = 594
ClientHeight = 471
ClientWidth = 694
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -19,17 +19,19 @@ object frmEditorX86Registers: TfrmEditorX86Registers
object GroupBox: TGroupBox
AlignWithMargins = True
Left = 3
Top = 379
Width = 588
Top = 429
Width = 688
Height = 39
Margins.Top = 0
Align = alBottom
TabOrder = 1
ExplicitTop = 379
ExplicitWidth = 588
DesignSize = (
588
688
39)
object btnCancel: TButton
Left = 468
Left = 568
Top = 7
Width = 112
Height = 25
@ -41,9 +43,10 @@ object frmEditorX86Registers: TfrmEditorX86Registers
Images = imgIcons16
TabOrder = 1
OnClick = btnCancelClick
ExplicitLeft = 468
end
object btnApply: TButton
Left = 350
Left = 450
Top = 7
Width = 112
Height = 25
@ -55,14 +58,15 @@ object frmEditorX86Registers: TfrmEditorX86Registers
Images = imgIcons16
TabOrder = 0
OnClick = btnApplyClick
ExplicitLeft = 350
end
end
object VirtualTreeView: TVirtualStringTree
AlignWithMargins = True
Left = 3
Top = 3
Width = 588
Height = 373
Width = 688
Height = 423
Align = alClient
Header.AutoSizeIndex = -1
Header.Font.Charset = DEFAULT_CHARSET
@ -81,6 +85,8 @@ object frmEditorX86Registers: TfrmEditorX86Registers
OnFreeNode = VirtualTreeViewFreeNode
OnGetText = VirtualTreeViewGetText
OnGetImageIndex = VirtualTreeViewGetImageIndex
ExplicitWidth = 588
ExplicitHeight = 373
Columns = <>
end
object imgIcons16: TcxImageList

View File

@ -30,6 +30,10 @@ type
TOperandList = TArray<TInstructionOperands>;
TOperandMapping = array[1..5] of TOperandList;
TRegisterList = TArray<TX86Registers>;
TFlagsList = TArray<TX86Flags>;
TCPUIDList = TArray<TCPUIDFeatureFlags>;
TCodeGeneratorStatistics = record
public
MnemonicCount: Integer;
@ -76,14 +80,24 @@ type
const DefinitionList: TIndexedInstructionDefinitionList;
var FilterList: TIndexedInstructionFilterList; var InstructionFilterCount: Integer;
var InstructionFilterSize: Cardinal);
procedure CreateRegisterList(const DefinitionList: TIndexedInstructionDefinitionList;
var RegisterList: TRegisterList);
procedure CreateFlagsList(const DefinitionList: TIndexedInstructionDefinitionList;
var FlagsList: TFlagsList);
procedure CreateCPUIDList(const DefinitionList: TIndexedInstructionDefinitionList;
var CPUIDList: TCPUIDList);
procedure CreateSnapshot(Editor: TInstructionEditor; var Statistics: TCodeGeneratorStatistics;
var MnemonicList: TMnemonicList;
var DefinitionList: TIndexedInstructionDefinitionList; var OperandMapping: TOperandMapping;
var FilterList: TIndexedInstructionFilterList);
var FilterList: TIndexedInstructionFilterList;
var RegisterList: TRegisterList; var FlagsList: TFlagsList; var CPUIDList: TCPUIDList);
strict private
procedure GenerateInternalStructs(const OutputDirectory: String;
const MnemonicList: TMnemonicList; const DefinitionList: TIndexedInstructionDefinitionList;
const OperandMapping: TOperandMapping; const FilterList: TIndexedInstructionFilterList);
const OperandMapping: TOperandMapping; const FilterList: TIndexedInstructionFilterList;
const RegisterList: TRegisterList; const FlagsList: TFlagsList; const CPUIDList: TCPUIDList);
procedure GenerateMnemonicIncludes(const OutputDirectory: String;
const MnemonicList: TMnemonicList);
procedure GenerateInstructionDefinitions(const OutputDirectory: String;
@ -168,6 +182,74 @@ begin
end;
procedure TCodeGenerator.CreateCPUIDList(const DefinitionList: TIndexedInstructionDefinitionList;
var CPUIDList: TCPUIDList);
var
List: TList<TCPUIDFeatureFlags>;
I, J: Integer;
B: Boolean;
begin
WorkStart('Creating CPUID list', 0, Length(DefinitionList));
List := TList<TCPUIDFeatureFlags>.Create;
try
for I := Low(DefinitionList) to High(DefinitionList) do
begin
B := false;
for J := 0 to List.Count - 1 do
begin
if (DefinitionList[I].Definition.CPUID.Equals(List.List[J])) then
begin
B := true;
Break;
end;
end;
if (not B) then
begin
List.Add(DefinitionList[I].Definition.CPUID);
end;
Work(I + 1);
end;
CPUIDList := List.ToArray;
finally
List.Free;
end;
WorkEnd;
end;
procedure TCodeGenerator.CreateFlagsList(const DefinitionList: TIndexedInstructionDefinitionList;
var FlagsList: TFlagsList);
var
List: TList<TX86Flags>;
I, J: Integer;
B: Boolean;
begin
WorkStart('Creating flags list', 0, Length(DefinitionList));
List := TList<TX86Flags>.Create;
try
for I := Low(DefinitionList) to High(DefinitionList) do
begin
B := false;
for J := 0 to List.Count - 1 do
begin
if (DefinitionList[I].Definition.X86Flags.Equals(List.List[J])) then
begin
B := true;
Break;
end;
end;
if (not B) then
begin
List.Add(DefinitionList[I].Definition.X86Flags);
end;
Work(I + 1);
end;
FlagsList := List.ToArray;
finally
List.Free;
end;
WorkEnd;
end;
procedure TCodeGenerator.CreateInstructionDefinitionList(Editor: TInstructionEditor;
var DefinitionList: TIndexedInstructionDefinitionList; var InstructionDefinitionCount: Integer;
var InstructionDefinitionSize: Cardinal);
@ -463,6 +545,55 @@ begin
end;
end;
procedure TCodeGenerator.CreateRegisterList(const DefinitionList: TIndexedInstructionDefinitionList;
var RegisterList: TRegisterList);
var
List: TList<TX86Registers>;
I, J: Integer;
B: Boolean;
begin
WorkStart('Creating register list', 0, Length(DefinitionList));
List := TList<TX86Registers>.Create;
try
for I := Low(DefinitionList) to High(DefinitionList) do
begin
// ImplicitRead
B := false;
for J := 0 to List.Count - 1 do
begin
if (DefinitionList[I].Definition.ImplicitRead.Equals(List.List[J])) then
begin
B := true;
Break;
end;
end;
if (not B) then
begin
List.Add(DefinitionList[I].Definition.ImplicitRead);
end;
// ImplicitWrite
B := false;
for J := 0 to List.Count - 1 do
begin
if (DefinitionList[I].Definition.ImplicitWrite.Equals(List.List[J])) then
begin
B := true;
Break;
end;
end;
if (not B) then
begin
List.Add(DefinitionList[I].Definition.ImplicitWrite);
end;
Work(I + 1);
end;
RegisterList := List.ToArray;
finally
List.Free;
end;
WorkEnd;
end;
class constructor TCodeGenerator.Create;
begin
FLanguageBindings := TList<TLanguageBindingClass>.Create;
@ -471,7 +602,8 @@ end;
procedure TCodeGenerator.CreateSnapshot(Editor: TInstructionEditor;
var Statistics: TCodeGeneratorStatistics; var MnemonicList: TMnemonicList;
var DefinitionList: TIndexedInstructionDefinitionList; var OperandMapping: TOperandMapping;
var FilterList: TIndexedInstructionFilterList);
var FilterList: TIndexedInstructionFilterList;
var RegisterList: TRegisterList; var FlagsList: TFlagsList; var CPUIDList: TCPUIDList);
begin
// Create sorted mnemonic list with all aliases
CreateMnemonicList(Editor, MnemonicList, Statistics.MnemonicCount, Statistics.MnemonicSize);
@ -488,6 +620,13 @@ begin
CreateInstructionFilterList(Editor, DefinitionList, FilterList, Statistics.InstructionFilterCount,
Statistics.InstructionFilterSize);
// Create implicitly-used registers list
CreateRegisterList(DefinitionList, RegisterList); // TODO: Add statistics
// Create FLAGS/EFLAGS/RFLAGS list
CreateFlagsList(DefinitionList, FlagsList); // TODO: Add statistics
// Create CPUID list
CreateCPUIDList(DefinitionList, CPUIDList); // TODO: Add statistics
Statistics.TotalSize := Statistics.MnemonicSize + Statistics.InstructionDefinitionSize +
Statistics.OperandDefinitionSize + Statistics.InstructionFilterSize;
end;
@ -504,6 +643,9 @@ var
DefinitionList: TIndexedInstructionDefinitionList;
OperandMapping: TOperandMapping;
MnemonicList: TMnemonicList;
RegisterList: TRegisterList;
FlagsList: TFlagsList;
CPUIDList: TCPUIDList;
Directory: String;
begin
// Check error cases
@ -519,7 +661,8 @@ begin
FCurrentOperationNumber := 0;
FillChar(Statistics, SizeOf(Statistics), #0);
CreateSnapshot(Editor, Statistics, MnemonicList, DefinitionList, OperandMapping, FilterList);
CreateSnapshot(Editor, Statistics, MnemonicList, DefinitionList, OperandMapping, FilterList,
RegisterList, FlagsList, CPUIDList);
Directory := IncludeTrailingPathDelimiter(OutputDirectory) + DIRECTORY_INCLUDE_INTERNAL;
ForceDirectories(Directory);
@ -527,7 +670,8 @@ begin
GenerateInstructionDefinitions(Directory, DefinitionList, OperandMapping);
GenerateOperandDefinitions(Directory, OperandMapping);
GenerateInstructionFilters(Directory, FilterList);
GenerateInternalStructs(Directory, MnemonicList, DefinitionList, OperandMapping, FilterList);
GenerateInternalStructs(Directory, MnemonicList, DefinitionList, OperandMapping, FilterList,
RegisterList, FlagsList, CPUIDList);
end;
procedure TCodeGenerator.GenerateInstructionDefinitions(const OutputDirectory: String;
@ -752,12 +896,16 @@ end;
procedure TCodeGenerator.GenerateInternalStructs(const OutputDirectory: String;
const MnemonicList: TMnemonicList; const DefinitionList: TIndexedInstructionDefinitionList;
const OperandMapping: TOperandMapping; const FilterList: TIndexedInstructionFilterList);
var
const OperandMapping: TOperandMapping; const FilterList: TIndexedInstructionFilterList;
const RegisterList: TRegisterList; const FlagsList: TFlagsList; const CPUIDList: TCPUIDList);
{var
HighestMnemonicId,
HighestInstructionDefinitionId,
HighestOperandDefinitionId,
HighestInstructionFilterId: Integer;
HighestInstructionFilterId,
HighestRegistersId,
HighestFlagsId,
HighestCPUIDId: Integer;
I: Integer;
begin
HighestMnemonicId := High(MnemonicList);
@ -778,6 +926,10 @@ begin
HighestInstructionFilterId := High(FilterList[I].Value);
end;
end;
HighestRegistersId := High(RegisterList);
HighestFlagsId := High(FlagsList);
HighestCPUIDId := High(CPUIDList);}
begin
// TODO:
end;
@ -915,6 +1067,7 @@ begin
optFixedAX : OperandType := 'AX';
optFixedDX : OperandType := 'DX';
optFixedEAX : OperandType := 'EAX';
optFixedECX : OperandType := 'ECX';
optFixedRAX : OperandType := 'RAX';
optFixedES : OperandType := 'ES';
optFixedCS : OperandType := 'CS';

View File

@ -463,6 +463,7 @@ type
optFixedAX,
optFixedDX,
optFixedEAX,
optFixedECX,
optFixedRAX,
optFixedST0,
optFixedES,
@ -1189,6 +1190,7 @@ const
'ax',
'dx',
'eax',
'ecx',
'rax',
'st0',
'es',
@ -1271,27 +1273,37 @@ const
{$REGION 'Class: TJSONEnumHelper'}
type
TJSONEnumHelper = record
TJSONEnumHelper<TEnum> = record
strict private
class function ReadString(JSON: PJSONVariantData; const Name, Default: String;
const LowerCase: Boolean = true): String; static; inline;
public
class function ReadEnumValueFromString(JSON: PJSONVariantData; const Name: String;
const Values: array of String): Integer; static;
class function ReadValue(JSON: PJSONVariantData; const Name: String;
const ElementStrings: array of String): TEnum; static;
end;
class function TJSONEnumHelper.ReadEnumValueFromString(JSON: PJSONVariantData; const Name: String;
const Values: array of String): Integer;
class function TJSONEnumHelper<TEnum>.ReadValue(JSON: PJSONVariantData; const Name: String;
const ElementStrings: array of String): TEnum;
var
V: Integer;
begin
Result := TStringHelper.IndexStr(ReadString(JSON, Name, Values[0]), Values);
if (Result < 0) then
{$IFDEF DEBUG}
if (PTypeInfo(TypeInfo(TEnum))^.Kind <> tkEnumeration) then
begin
raise Exception.Create('Invalid generic type.');
end;
{$ENDIF}
V := TStringHelper.IndexStr(ReadString(JSON, Name, ElementStrings[0]), ElementStrings);
if (V < 0) then
begin
// TODO: Maybe make this a warning instead of an exception
raise Exception.CreateFmt('The "%s" field contains an invalid enum value.', [Name]);
end;
Result := TEnum(Pointer(@V)^);
end;
class function TJSONEnumHelper.ReadString(JSON: PJSONVariantData; const Name, Default: String;
const LowerCase: Boolean): String;
class function TJSONEnumHelper<TEnum>.ReadString(JSON: PJSONVariantData;
const Name, Default: String; const LowerCase: Boolean): String;
var
V: Variant;
begin
@ -1382,6 +1394,7 @@ begin
Break;
end;
end;
// TODO: Show exception (or warning), if an invalid element was found
end;
end;
end;
@ -1461,7 +1474,6 @@ end;
procedure TOpcodeExtensions.LoadFromJSON(JSON: PJSONVariantData; const FieldName: String);
var
V: PJSONVariantData;
I: Integer;
begin
V := JSON.Data(FieldName);
if (Assigned(V)) then
@ -1470,21 +1482,22 @@ begin
begin
raise Exception.CreateFmt('The "%s" field is not a valid JSON object.', [FieldName]);
end;
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'mode', SExtInstructionMode);
SetMode(TExtInstructionMode(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'prefix', SExtMandatoryPrefix);
SetPrefix(TExtMandatoryPrefix(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'modrm_mod', SExtModrmMod);
SetModrmMod(TExtModrmMod(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'modrm_reg', SExtModrmReg);
SetModrmReg(TExtModrmReg(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'modrm_rm', SExtModrmRm);
SetModrmRm(TExtModrmRm(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'opsize', SExtOperandSize);
SetOperandSize(TExtOperandSize(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'adsize', SExtAddressSize);
SetAddressSize(TExtAddressSize(I));
SetBitFilters(TJSONSetHelper<TExtBitFilters>.ReadValue(V, 'bitfilters', SExtBitFilter));
SetMode(TJSONEnumHelper<TExtInstructionMode>.ReadValue(
V, 'mode', SExtInstructionMode));
SetPrefix(TJSONEnumHelper<TExtMandatoryPrefix>.ReadValue(
V, 'prefix', SExtMandatoryPrefix));
SetModrmMod(TJSONEnumHelper<TExtModrmMod>.ReadValue(
V, 'modrm_mod', SExtModrmMod));
SetModrmReg(TJSONEnumHelper<TExtModrmReg>.ReadValue(
V, 'modrm_reg', SExtModrmReg));
SetModrmRm(TJSONEnumHelper<TExtModrmRm>.ReadValue(
V, 'modrm_rm', SExtModrmRm));
SetOperandSize(TJSONEnumHelper<TExtOperandSize>.ReadValue(
V, 'opsize', SExtOperandSize));
SetAddressSize(TJSONEnumHelper<TExtAddressSize>.ReadValue(
V, 'adsize', SExtAddressSize));
SetBitFilters(TJSONSetHelper<TExtBitFilters>.ReadValue(
V, 'bitfilters', SExtBitFilter));
end;
end;
@ -1796,7 +1809,7 @@ var
C: PJSONVariantData;
F: array[0..14] of ^TX86FlagValue;
N: array[0..14] of String;
I, J: Integer;
I: Integer;
begin
C := JSON.Data(FieldName);
if (Assigned(C)) then
@ -1813,8 +1826,7 @@ begin
N[10] := 'vm'; N[11] := 'ac'; N[12] := 'vif'; N[13] := 'vip'; N[14] := 'id';
for I := Low(N) to High(N) do
begin
J := TJSONEnumHelper.ReadEnumValueFromString(C, N[I], SX86FlagValue);
F[I]^ := TX86FlagValue(J);
F[I]^ := TJSONEnumHelper<TX86FlagValue>.ReadValue(C, N[I], SX86FlagValue);
end;
Changed;
end;
@ -2215,6 +2227,7 @@ begin
optFixedAX : Result := 'AX';
optFixedDX : Result := 'DX';
optFixedEAX : Result := 'EAX';
optFixedECX : Result := 'ECX';
optFixedRAX : Result := 'RAX';
optFixedES : Result := 'ES';
optFixedCS : Result := 'CS';
@ -2238,7 +2251,6 @@ end;
procedure TInstructionOperand.LoadFromJSON(JSON: PJSONVariantData; const FieldName: String);
var
V: PJSONVariantData;
I: Integer;
begin
V := JSON^.Data(FieldName);
if Assigned(V) then
@ -2247,12 +2259,12 @@ begin
begin
raise Exception.CreateFmt('The "%s" field is not a valid JSON object.', [FieldName]);
end;
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'type', SOperandType);
SetType(TOperandType(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'encoding', SOperandEncoding);
SetEncoding(TOperandEncoding(I));
I := TJSONEnumHelper.ReadEnumValueFromString(V, 'accessmode', SOperandAccessMode);
SetAccessMode(TOperandAccessMode(I));
SetType(TJSONEnumHelper<TOperandType>.ReadValue(
V, 'type', SOperandType));
SetEncoding(TJSONEnumHelper<TOperandEncoding>.ReadValue(
V, 'encoding', SOperandEncoding));
SetAccessMode(TJSONEnumHelper<TOperandAccessMode>.ReadValue(
V, 'accessmode', SOperandAccessMode));
end;
end;
@ -2367,6 +2379,7 @@ begin
optFixedAX: ;
optFixedDX: ;
optFixedEAX: ;
optFixedECX: ;
optFixedRAX: ;
optFixedST0: ;
optFixedES: ;
@ -2801,10 +2814,10 @@ begin
raise Exception.Create('The "mnemonic" field can not be empty.');
end;
SetMnemonic(JSON^.Value['mnemonic']);
I := TJSONEnumHelper.ReadEnumValueFromString(JSON, 'encoding', SInstructionEncoding);
SetEncoding(TInstructionEncoding(I));
I := TJSONEnumHelper.ReadEnumValueFromString(JSON, 'map', SOpcodeMap);
SetOpcodeMap(TOpcodeMap(I));
SetEncoding(TJSONEnumHelper<TInstructionEncoding>.ReadValue(
JSON, 'encoding', SInstructionEncoding));
SetOpcodeMap(TJSONEnumHelper<TOpcodeMap>.ReadValue(
JSON, 'map', SOpcodeMap));
if (VarIsClear(JSON^.Value['opcode']) or
(not TryStrToInt('$' + JSON^.Value['opcode'], I))) or (I < 0) or (I >= 256) then
begin
@ -2821,7 +2834,8 @@ begin
FImplicitWrite.LoadFromJSON(JSON, 'implicit_write');
SetFlags(TJSONSetHelper<TInstructionDefinitionFlags>.ReadValue(
JSON, 'flags', SInstructionDefinitionFlag));
SetPrefixFlags(TJSONSetHelper<TPrefixFlags>.ReadValue(JSON, 'prefix_flags', SPrefixFlag));
SetPrefixFlags(TJSONSetHelper<TPrefixFlags>.ReadValue(
JSON, 'prefix_flags', SPrefixFlag));
FX86Flags.LoadFromJSON(JSON, 'x86flags');
FComment := JSON^.Value['comment'];
finally

View File

@ -32,7 +32,7 @@ type
TListHelper<T> = record
public
class procedure BubbleSort(var List: TList<T>; Comparer: IComparer<T>); static;
class procedure BubbleSort(var List: TList<T>; const Comparer: IComparer<T>); static;
end;
TJSONHelper = record
@ -45,17 +45,16 @@ type
FBuffer: array of Char;
FPosition: Integer;
FCapacity: Integer;
FChunkSize: Integer;
FChunkSize: Cardinal;
strict private
function GetValue: String; inline;
public
procedure Append(const S: String);
procedure AppendLn(const S: String);
public
constructor Create;
constructor Create(ChunkSize: Cardinal = 1024 * 16);
public
property Value: String read GetValue;
property ChunkSize: Integer read FChunkSize write FChunkSize;
end;
implementation
@ -138,10 +137,9 @@ end;
{ TListHelper<T> }
class procedure TListHelper<T>.BubbleSort(var List: TList<T>; Comparer: IComparer<T>);
class procedure TListHelper<T>.BubbleSort(var List: TList<T>; const Comparer: IComparer<T>);
var
I: Integer;
Temp: T;
Done: Boolean;
begin
repeat
@ -150,9 +148,7 @@ begin
begin
if (Comparer.Compare(List[I], List[I + 1]) > 0) then
begin
Temp := List[I];
List[I] := List[I + 1];
List[I + 1] := Temp;
List.Exchange(I, I + 1);
Done := false;
end;
end;
@ -289,10 +285,10 @@ begin
Append(sLineBreak);
end;
constructor TStringBuffer.Create;
constructor TStringBuffer.Create(ChunkSize: Cardinal);
begin
inherited Create;
FChunkSize := 1024 * 16;
FChunkSize := ChunkSize;
FCapacity := FChunkSize;
SetLength(FBuffer, FChunkSize);
end;

View File

@ -84,7 +84,7 @@ typedef uint32_t ZydisDecoderFlags;
* @brief Includes information about bits of the FLAGS/EFLAGS/RFLAGS register that are
* affected by the instruction.
*/
#define ZYDIS_DECODER_FLAG_AFFECTED_REGISTERS 0x00000010
#define ZYDIS_DECODER_FLAG_AFFECTED_FLAGS 0x00000010
/**
* @brief Includes information about the CPUID feature flags of the the instruction.
*/

View File

@ -134,149 +134,170 @@ typedef uint32_t ZydisInstructionFlags;
/**
* @brief Defines the @c ZydisPrefixFlags datatype.
*/
typedef uint32_t ZydisPrefixFlags;
typedef uint64_t ZydisPrefixFlags;
/**
* @brief The instruction has the rex-prefix (0x40 - 0x4F).
*/
#define ZYDIS_PREFIXFLAG_HAS_REX 0x00000001
#define ZYDIS_PREFIXFLAG_HAS_REX 0x0000000000000001
/**
* @brief The instruction has the xop-prefix (0x8F).
*/
#define ZYDIS_PREFIXFLAG_HAS_XOP 0x00000002
#define ZYDIS_PREFIXFLAG_HAS_XOP 0x0000000000000002
/**
* @brief The instruction has the vex-prefix (0xC4 or 0xC5).
*/
#define ZYDIS_PREFIXFLAG_HAS_VEX 0x00000004
#define ZYDIS_PREFIXFLAG_HAS_VEX 0x0000000000000004
/**
* @brief The instruction has the evex-prefix (0x62).
*/
#define ZYDIS_PREFIXFLAG_HAS_EVEX 0x00000008
/**
* @brief The instruction has the lock-prefix (0x0F)
*/
#define ZYDIS_PREFIXFLAG_HAS_LOCK 0x00000010
/**
* @brief The instruction has the rep/repe/repz-prefix (0xF3)
*/
#define ZYDIS_PREFIXFLAG_HAS_REP 0x00000020
/**
* @brief The instruction has the rep/repe/repz-prefix (0xF3)
*/
#define ZYDIS_PREFIXFLAG_HAS_REPE 0x00000020
/**
* @brief The instruction has the rep/repe/repz-prefix (0xF3)
*/
#define ZYDIS_PREFIXFLAGG_HAS_REPZ 0x00000020
/**
* @brief The instruction has the repne/repnz-prefix (0xF2)
*/
#define ZYDIS_PREFIXFLAG_HAS_REPNE 0x00000040
/**
* @brief The instruction has the repne/repnz-prefix (0xF2)
*/
#define ZYDIS_PREFIXFLAG_HAS_REPNZ 0x00000040
#define ZYDIS_PREFIXFLAG_HAS_EVEX 0x0000000000000008
/**
* @brief The instruction has a segment-override prefix.
*/
#define ZYDIS_PREFIXFLAG_SEGMENT_MASK 0x00001F80
#define ZYDIS_PREFIXFLAG_SEGMENT_MASK 0x00000000000003F0
/**
* @brief The instruction has the cs segment-override prefix (0x2E).
*/
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_CS 0x00000080
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_CS 0x0000000000000010
/**
* @brief The instruction has the ss segment-override prefix (0x36).
*/
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_SS 0x00000100
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_SS 0x0000000000000020
/**
* @brief The instruction has the ds segment-override prefix (0x3E).
*/
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_DS 0x00000200
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_DS 0x0000000000000040
/**
* @brief The instruction has the es segment-override prefix (0x26).
*/
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_ES 0x00000400
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_ES 0x0000000000000080
/**
* @brief The instruction has the fs segment-override prefix (0x64).
*/
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_FS 0x00000800
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_FS 0x0000000000000100
/**
* @brief The instruction has the gs segment-override prefix (0x65).
*/
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_GS 0x00001000
#define ZYDIS_PREFIXFLAG_HAS_SEGMENT_GS 0x0000000000000200
/**
* @brief The instruction has the lock-prefix (0x0F)
*/
#define ZYDIS_PREFIXFLAG_HAS_LOCK 0x0000000000000400
/**
* @brief The instruction has the rep/repe/repz-prefix (0xF3)
*/
#define ZYDIS_PREFIXFLAG_HAS_REP 0x0000000000000800
/**
* @brief The instruction has the rep/repe/repz-prefix (0xF3)
*/
#define ZYDIS_PREFIXFLAG_HAS_REPE 0x0000000000000800
/**
* @brief The instruction has the rep/repe/repz-prefix (0xF3)
*/
#define ZYDIS_PREFIXFLAGG_HAS_REPZ 0x0000000000000800
/**
* @brief The instruction has the repne/repnz-prefix (0xF2)
*/
#define ZYDIS_PREFIXFLAG_HAS_REPNE 0x0000000000001000
/**
* @brief The instruction has the repne/repnz-prefix (0xF2)
*/
#define ZYDIS_PREFIXFLAG_HAS_REPNZ 0x0000000000001000
/**
* @brief The instruction has the operand-size-override prefix (0x66).
*/
#define ZYDIS_PREFIXFLAG_HAS_OPERANDSIZE 0x00002000
#define ZYDIS_PREFIXFLAG_HAS_OPERANDSIZE 0x0000000000002000
/**
* @brief The instruction has the address-size-override prefix (0x67).
*/
#define ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE 0x00004000
#define ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE 0x0000000000004000
/**
* @brief The instruction has the xacquire prefix (0xF2).
*/
#define ZYDIS_PREFIXFLAG_HAS_XACQUIRE 0x00008000
#define ZYDIS_PREFIXFLAG_HAS_XACQUIRE 0x0000000000008000
/**
* @brief The instruction has the xrelease prefix (0xF3).
*/
#define ZYDIS_PREFIXFLAG_HAS_XRELEASE 0x00010000
#define ZYDIS_PREFIXFLAG_HAS_XRELEASE 0x0000000000010000
/**
* @brief The instruction has the branch-not-taken hint (0x2E).
*/
#define ZYDIS_PREFIXFLAG_HAS_BRANCH_NOT_TAKEN 0x00020000
#define ZYDIS_PREFIXFLAG_HAS_BRANCH_NOT_TAKEN 0x0000000000020000
/**
* @brief The instruction has the branch-taken hint (0x3E).
*/
#define ZYDIS_PREFIXFLAG_HAS_BRANCH_TAKEN 0x00040000
/**
* @brief The instruction accepts the operand-size override prefix (0x66)
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_OPERANDSIZE 0x00080000
/**
* @brief The instruction accepts the adress-size override prefix (0x67)
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_ADDRESSSIZE 0x00100000
#define ZYDIS_PREFIXFLAG_HAS_BRANCH_TAKEN 0x0000000000040000
/**
* @brief The instruction accepts the lock-prefix.
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_LOCK 0x00200000
#define ZYDIS_PREFIXFLAG_ACCEPTS_LOCK 0x0000000000080000
/**
* @brief The instruction accepts the string prefixes (rep/repe/repz/repne/repnz).
* @brief The instruction accepts the rep-prefix (0xF3).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_REP 0x00400000
#define ZYDIS_PREFIXFLAG_ACCEPTS_REP 0x0000000000100000
/**
* @brief The instruction accepts the string prefixes (rep/repe/repz/repne/repnz).
* @brief The instruction accepts the repe/repz prefix (0xF3).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPE 0x00800000
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPE 0x0000000000200000
/**
* @brief The instruction accepts the string prefixes (rep/repe/repz/repne/repnz).
* @brief The instruction accepts the repe/repz prefix (0xF3).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPZ 0x00800000
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPZ 0x0000000000200000
/**
* @brief The instruction accepts the string prefixes (rep/repe/repz/repne/repnz).
* @brief The instruction accepts the repne/repnz prefix (0xF2).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPNE 0x01000000
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPNE 0x0000000000400000
/**
* @brief The instruction accepts the string prefixes (rep/repe/repz/repne/repnz).
* @brief The instruction accepts the repne/repnz prefix (0xF2).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPNZ 0x01000000
#define ZYDIS_PREFIXFLAG_ACCEPTS_REPNZ 0x0000000000400000
/**
* @brief The instruction accepts the operand-size override prefix (0x66)
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_OPERANDSIZE 0x0000000000800000
/**
* @brief The instruction accepts the adress-size override prefix (0x67)
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_ADDRESSSIZE 0x0000000001000000
/**
* @brief The instruction accepts the xacquire prefix (0xF2).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_XACQUIRE 0x0000000002000000
/**
* @brief The instruction accepts the xrelease prefix (0xF3).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_XRELEASE 0x0000000004000000
/**
* @brief The instruction accepts the xqcquire/xrelease prefixes (0xF2, 0xF3) without the
* lock-prefix (0x0F).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_HLE_WITHOUT_LOCK 0x0000000008000000
/**
* @brief The instruction accepts branch hints (0x2E, 0x3E).
*/
#define ZYDIS_PREFIXFLAG_ACCEPTS_BRANCH_HINTS 0x0000000010000000
/**
* @brief The instruction has multiple prefixes of the first prefix-group (0x0F, 0xF3, 0xF2).
*/
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP1 0x02000000
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP1 0x0000000020000000
/**
* @brief The instruction has multiple prefixes of the second prefix-group (0x2E, 0x36,
* 0x3E, 0x26, 0x64, 0x65).
*/
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP2 0x04000000
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP2 0x0000000040000000
/**
* @brief The instruction has multiple prefixes of the third prefix-group (0x66).
*/
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP3 0x08000000
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP3 0x0000000080000000
/**
* @brief The instruction has multiple prefixes of the fourth prefix-group (0x67).
*/
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP4 0x10000000
#define ZYDIS_PREFIXFLAG_MULTIPLE_GRP4 0x0000000100000000
/* ---------------------------------------------------------------------------------------------- */
/* Instruction encoding */
@ -373,22 +394,73 @@ typedef uint8_t ZydisOperandEncoding;
enum ZydisOperandEncodings
{
ZYDIS_OPERAND_ENCODING_NONE,
/**
* @brief The operand is encoded in the modrm.reg field.
*/
ZYDIS_OPERAND_ENCODING_REG,
/**
* @brief The operand is encoded in the modrm.rm field.
*/
ZYDIS_OPERAND_ENCODING_RM,
/**
* @brief The operand is encoded in the modrm.rm field and uses the compressed-disp8 form.
*/
ZYDIS_OPERAND_ENCODING_RM_CD2,
/**
* @brief The operand is encoded in the modrm.rm field and uses the compressed-disp8 form.
*/
ZYDIS_OPERAND_ENCODING_RM_CD4,
/**
* @brief The operand is encoded in the modrm.rm field and uses the compressed-disp8 form.
*/
ZYDIS_OPERAND_ENCODING_RM_CD8,
/**
* @brief The operand is encoded in the modrm.rm field and uses the compressed-disp8 form.
*/
ZYDIS_OPERAND_ENCODING_RM_CD16,
/**
* @brief The operand is encoded in the modrm.rm field and uses the compressed-disp8 form.
*/
ZYDIS_OPERAND_ENCODING_RM_CD32,
/**
* @brief The operand is encoded in the modrm.rm field and uses the compressed-disp8 form.
*/
ZYDIS_OPERAND_ENCODING_RM_CD64,
/**
* @brief The operand is encoded in the lower 4 bits of the opcode (register only).
*/
ZYDIS_OPERAND_ENCODING_OPCODE,
/**
* @brief The operand is encoded in the vex/evex.vvvv field.
*/
ZYDIS_OPERAND_ENCODING_VVVV,
/**
* @brief The operand is encoded in the evex.aaa field.
*/
ZYDIS_OPERAND_ENCODING_AAA,
/**
* @brief The operand is encoded in the low-part of an 8-bit immediate value.
*/
ZYDIS_OPERAND_ENCODING_IMM8_LO,
/**
* @brief The operand is encoded in the high-part of an 8-bit immediate value.
*/
ZYDIS_OPERAND_ENCODING_IMM8_HI,
/**
* @brief The operand is encoded as an 8-bit immediate value.
*/
ZYDIS_OPERAND_ENCODING_IMM8,
/**
* @brief The operand is encoded as an 16-bit immediate value.
*/
ZYDIS_OPERAND_ENCODING_IMM16,
/**
* @brief The operand is encoded as an 32-bit immediate value.
*/
ZYDIS_OPERAND_ENCODING_IMM32,
/**
* @brief The operand is encoded as an 64-bit immediate value.
*/
ZYDIS_OPERAND_ENCODING_IMM64
};
@ -658,10 +730,6 @@ typedef struct ZydisInstructionInfo_
* @brief Instruction specific info- and error-flags.
*/
ZydisInstructionFlags instrFlags;
/**
* @brief Prefix flags.
*/
ZydisPrefixFlags prefixFlags;
/**
* @brief The instruction-mnemonic.
*/
@ -694,6 +762,22 @@ typedef struct ZydisInstructionInfo_
* @brief Detailed info for all instruction operands.
*/
ZydisOperandInfo operand[5];
/**
* @brief Prefix flags.
*/
ZydisPrefixFlags prefixFlags;
/**
* @brief The instruction address points at the current instruction (relative to the
* initial instruction pointer).
*/
uint64_t instrAddress;
/**
* @brief The instruction pointer points at the address of the next instruction (relative
* to the initial instruction pointer).
*
* This field is used to properly format relative instructions.
*/
uint64_t instrPointer;
/**
* @brief Extended info for avx-related instructions.
*/
@ -720,18 +804,6 @@ typedef struct ZydisInstructionInfo_
*/
bool sae;
} avx;
/**
* @brief The instruction address points at the current instruction (relative to the
* initial instruction pointer).
*/
uint64_t instrAddress;
/**
* @brief The instruction pointer points at the address of the next instruction (relative
* to the initial instruction pointer).
*
* This field is used to properly format relative instructions.
*/
uint64_t instrPointer;
/**
* @brief Extended info about different instruction-parts like modrm, sib or
* encoding-prefixes.
@ -910,6 +982,7 @@ typedef struct ZydisInstructionInfo_
*/
struct
{
const void* definition;
uint8_t w;
uint8_t r;
uint8_t x;

View File

@ -12,4 +12,13 @@ typedef struct ZydisInstructionDefinition_
uint32_t acceptsXRELEASE : 1;
uint32_t acceptsHLEWithoutLock : 1;
uint32_t acceptsBranchHints : 1;
#ifdef ZYDIS_ENABLE_FEATURE_IMPLICITLY_USED_REGISTERS
uint8_t implicitRegistersId : 8;
#endif
#ifdef ZYDIS_ENABLE_FEATURE_AFFECTED_FLAGS
uint8_t affectedFlagsId : 8;
#endif;
#ifdef ZYDIS_ENABLE_FEATURE_CPUID
uint8_t cpuidId : 8;
#endif
} ZydisInstructionDefinition;

File diff suppressed because it is too large Load Diff

View File

@ -6563,8 +6563,8 @@ const ZydisInstructionTableNode filterMode[][2] =
/*0002*/ ZYDIS_DEFINITION_1OP(0x1170)
},
{
/*0001*/ ZYDIS_DEFINITION_1OP(0x0333),
/*0002*/ ZYDIS_DEFINITION_1OP(0x0332)
/*0001*/ ZYDIS_DEFINITION_2OP(0x0333),
/*0002*/ ZYDIS_DEFINITION_2OP(0x0332)
},
{
/*0001*/ ZYDIS_DEFINITION_0OP(0x08F8),

View File

@ -274,6 +274,7 @@ enum ZydisSemanticOperandTypes
ZYDIS_SEM_OPERAND_TYPE_AX,
ZYDIS_SEM_OPERAND_TYPE_DX,
ZYDIS_SEM_OPERAND_TYPE_EAX,
ZYDIS_SEM_OPERAND_TYPE_ECX,
ZYDIS_SEM_OPERAND_TYPE_RAX,
ZYDIS_SEM_OPERAND_TYPE_ES,
ZYDIS_SEM_OPERAND_TYPE_CS,

View File

@ -33,46 +33,46 @@ const ZydisOperandDefinition operandDefinitions1[][1] =
/*001E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM80, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*001F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM224, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0020*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM112, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0021*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0022*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0021*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0022*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0023*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0024*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0025*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0026*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0027*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0028*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL64, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0029*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*002A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL16, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*002B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL32, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*002C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0030*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0031*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0032*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0033*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0034*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0035*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_ES, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0036*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0037*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0038*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0039*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*003A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*003B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*003C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*003D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READ) },
/*003E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*003F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*0040*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*0041*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READ) },
/*0042*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READ) },
/*0043*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0044*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1632, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0045*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1664, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0046*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0047*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0048*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE) }
/*0026*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL64, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0027*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0028*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL16, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0029*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_REL32, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*002A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*002E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*002F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0030*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0031*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0032*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0033*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_ES, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0034*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0035*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0036*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0037*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0038*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0039*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*003A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*003B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READ) },
/*003C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CS, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*003D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*003E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*003F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READ) },
/*0040*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READ) },
/*0041*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0042*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1632, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0043*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1664, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0044*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0045*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0046*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0047*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0048*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) }
};
const ZydisOperandDefinition operandDefinitions2[][2] =
@ -226,299 +226,301 @@ const ZydisOperandDefinition operandDefinitions2[][2] =
/*0092*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0093*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0094*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0095*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0096*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0097*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0098*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0099*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*009B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*009F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00A1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1632, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1616, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00AA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1664, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00AB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00AC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00AD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00AE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00AF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00B0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*00B2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00B5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*00B6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM64, ZYDIS_OPERAND_ACCESS_READ) },
/*00B7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*00B8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00C0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00C1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00C4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00C5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_TR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00C6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_TR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00CA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*00CB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00CC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*00CD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00CE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00CF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00D1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*00D2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00D3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00D5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00DA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00DB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00DC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00DD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00DE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00DF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00E5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00E6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00E7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00E8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00E9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00EA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00EB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00EC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00ED*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00EE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00EF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00F3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00F4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00F9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00FA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00FF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0100*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0101*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0102*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0103*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0104*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0105*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0106*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0107*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0108*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0109*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0110*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0111*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0112*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0113*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0114*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0115*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0116*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0117*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0118*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0119*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0120*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0121*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0122*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0123*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0124*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0125*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0126*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0127*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0128*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0129*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*012C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*012D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*012E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0130*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0131*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0132*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0133*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0134*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0135*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0136*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0137*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0138*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0139*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*013A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*013B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*013C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*013D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*013E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_READ) },
/*013F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_READ) },
/*0140*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_READ) },
/*0141*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0142*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0143*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0144*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0145*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0146*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0147*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0148*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0149*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*014A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*014B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*014C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*014D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*014E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*014F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0150*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0151*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0152*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0153*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0154*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST2, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0155*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0156*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0157*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST16, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0158*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0159*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*015A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*015B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD64, ZYDIS_OPERAND_ACCESS_READ) },
/*015C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_READ) },
/*015D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_READ) },
/*015E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*015F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0160*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST2, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0161*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0162*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0163*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0164*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD64, ZYDIS_OPERAND_ACCESS_READ) },
/*0165*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_READ) },
/*0166*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0167*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0168*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0169*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*016B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*016C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*016F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0170*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0171*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0172*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0173*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0174*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0175*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0176*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0177*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0178*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0179*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*017E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*017F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0180*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0181*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0182*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0183*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0184*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD64, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0185*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0186*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0187*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0188*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0189*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*018C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0190*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0095*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_ECX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0096*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_ECX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0097*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0098*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0099*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*009A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*009D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*009F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00A1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00A3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1632, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1616, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00A9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00AA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00AB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00AC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_M1664, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00AD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00AE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00AF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00B2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*00B4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00B6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00B7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*00B8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM64, ZYDIS_OPERAND_ACCESS_READ) },
/*00B9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*00BA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00BF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00C0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00C1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00C2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00C3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00C6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00C7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_TR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00C8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_TR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00C9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00CA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00CB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00CC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*00CD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00CE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*00CF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00D0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM32, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00D1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM64, ZYDIS_OPERAND_ENCODING_IMM32, ZYDIS_OPERAND_ACCESS_READ) },
/*00D3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM16, ZYDIS_OPERAND_ENCODING_IMM16, ZYDIS_OPERAND_ACCESS_READ) },
/*00D4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00D5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00D7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00D9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00DA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00DB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00DC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00DD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00DE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00DF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00E6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00E7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00E8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00E9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00EA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00EB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MOFFS16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00EC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00ED*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SREG, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00EE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00EF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00F5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00F6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00F9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*00FA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00FB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*00FC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*00FF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0100*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0101*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0102*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0103*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0104*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0105*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0106*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0107*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0108*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0109*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*010F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0110*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0111*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_SRCIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0112*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0113*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0114*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE) },
/*0115*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0116*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0117*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0118*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0119*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*011A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*011B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*011F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0120*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0121*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0122*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0123*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0124*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0125*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0126*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_CL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0127*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0128*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0129*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*012D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*012E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*012F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0130*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0131*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_IMM8U, ZYDIS_OPERAND_ENCODING_IMM8, ZYDIS_OPERAND_ACCESS_READ) },
/*0132*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_FIXED1, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0133*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0134*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0135*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0136*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0137*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX16, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0138*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX32, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*0139*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX8, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AL, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*013A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_DSTIDX64, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READ) },
/*013B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*013C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*013D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*013E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*013F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0140*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_READ) },
/*0141*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_READ) },
/*0142*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_READ) },
/*0143*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0144*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0145*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0146*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0147*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0148*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0149*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*014A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*014B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*014C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*014D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*014E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*014F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0150*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0151*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0152*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0153*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0154*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0155*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0156*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST2, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0157*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0158*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0159*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST16, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*015A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*015B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*015C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*015D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD64, ZYDIS_OPERAND_ACCESS_READ) },
/*015E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_READ) },
/*015F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_READ) },
/*0160*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0161*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0162*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST2, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0163*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0164*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0165*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0166*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD64, ZYDIS_OPERAND_ACCESS_READ) },
/*0167*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_READ) },
/*0168*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST8, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0169*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_BCST4, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*016D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*016E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*016F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0170*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0171*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0172*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0173*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0174*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0175*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*0176*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0177*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0178*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0179*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*017A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*017B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*017F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0180*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0181*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_READ) },
/*0182*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0183*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0184*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0185*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0186*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM512, ZYDIS_OPERAND_ENCODING_RM_CD64, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0187*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0188*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*0189*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*018A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*018B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*018E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*018F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0190*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0191*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0192*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0193*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0194*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0195*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0196*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0197*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0198*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_READ) },
/*0199*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*019A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_READ) },
/*019B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_READ) },
/*019C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*019D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*019E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*019F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*01A0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*01B7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READWRITE) },
/*01B8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READWRITE) },
/*01B9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READWRITE) }
/*0193*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0194*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM8, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0195*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0196*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0197*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0198*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*0199*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*019A*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_READ) },
/*019B*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*019C*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_READ) },
/*019D*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_READ) },
/*019E*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_READ) },
/*019F*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*01A0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*01A1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MSKR, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*01A2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM128, ZYDIS_OPERAND_ENCODING_RM_CD16, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM256, ZYDIS_OPERAND_ENCODING_RM_CD32, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01A9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM16, ZYDIS_OPERAND_ENCODING_RM_CD2, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AC*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AD*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AE*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01AF*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B0*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B1*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM32_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B2*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B3*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B4*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD4, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B5*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBZ, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR512, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B6*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBY, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B7*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_MEM64_VSIBX, ZYDIS_OPERAND_ENCODING_RM_CD8, ZYDIS_OPERAND_ACCESS_WRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR128, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ) },
/*01B8*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_REG, ZYDIS_OPERAND_ACCESS_READ), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_VR256, ZYDIS_OPERAND_ENCODING_RM, ZYDIS_OPERAND_ACCESS_READ) },
/*01B9*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_RAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR64, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READWRITE) },
/*01BA*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_EAX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR32, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READWRITE) },
/*01BB*/ { ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_AX, ZYDIS_OPERAND_ENCODING_NONE, ZYDIS_OPERAND_ACCESS_READWRITE), ZYDIS_OPERAND_DEFINITION(ZYDIS_SEM_OPERAND_TYPE_GPR16, ZYDIS_OPERAND_ENCODING_OPCODE, ZYDIS_OPERAND_ACCESS_READWRITE) }
};
const ZydisOperandDefinition operandDefinitions3[][3] =

View File

@ -72,7 +72,11 @@ enum ZydisStatusCode
/**
* @brief A buffer passed to a function was too small to complete the requested operation.
*/
ZYDIS_STATUS_INSUFFICIENT_BUFFER_SIZE = 0x00000008,
ZYDIS_STATUS_INSUFFICIENT_BUFFER_SIZE = 0x00000005,
/**
* @brief The base value for user-defined status codes.
*/
ZYDIS_STATUS_USER = 0x10000000
};
/* ============================================================================================== */

View File

@ -43,8 +43,8 @@ extern "C" {
/**
* @brief Calculates the absolute target-address of an relative instruction operand.
*
* @param info A pointer to the instruction-info struct.
* @param operand A pointer to the operand-info struct.
* @param info A pointer to the @c ZydisInstructionInfo struct.
* @param operand A pointer to the @c ZydisOperandInfo struct.
* @param address A pointer to the memory that receives the absolute target-address.
*
* @return A zydis status code

View File

@ -930,6 +930,11 @@ static ZydisDecoderStatus ZydisDecodeOperand(ZydisInstructionDecoder* decoder,
operand->type = ZYDIS_OPERAND_TYPE_REGISTER;
operand->reg = ZYDIS_REGISTER_DX;
return ZYDIS_STATUS_DECODER_SUCCESS;
case ZYDIS_SEM_OPERAND_TYPE_ECX:
operand->size = 32;
operand->type = ZYDIS_OPERAND_TYPE_REGISTER;
operand->reg = ZYDIS_REGISTER_ECX;
return ZYDIS_STATUS_DECODER_SUCCESS;
case ZYDIS_SEM_OPERAND_TYPE_EAX:
operand->size = 32;
operand->type = ZYDIS_OPERAND_TYPE_REGISTER;
@ -1473,13 +1478,16 @@ static ZydisDecoderStatus ZydisDecodeOperand(ZydisInstructionDecoder* decoder,
switch (decoder->disassemblerMode)
{
case ZYDIS_DISASSEMBLER_MODE_16BIT:
operand->mem.addressSize = (info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE) ? 32 : 16;
operand->mem.addressSize =
(info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE) ? 32 : 16;
break;
case ZYDIS_DISASSEMBLER_MODE_32BIT:
operand->mem.addressSize = (info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE) ? 16 : 32;
operand->mem.addressSize =
(info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE) ? 16 : 32;
break;
case ZYDIS_DISASSEMBLER_MODE_64BIT:
operand->mem.addressSize = (info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE) ? 32 : 64;
operand->mem.addressSize =
(info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_ADDRESSSIZE) ? 32 : 64;
break;
default:
ZYDIS_UNREACHABLE;
@ -1540,7 +1548,7 @@ static ZydisDecoderStatus ZydisDecodeOperands(ZydisInstructionDecoder* decoder,
ZYDIS_ASSERT(decoder);
ZYDIS_ASSERT(info);
ZYDIS_ASSERT(operands);
ZYDIS_ASSERT(operandCount < 6);
ZYDIS_ASSERT((operandCount > 0) && (operandCount < 6));
info->operandCount = operandCount;
for (int i = 0; i < operandCount; ++i)
@ -1612,13 +1620,14 @@ static ZydisDecoderStatus ZydisDecodeOperands(ZydisInstructionDecoder* decoder,
* @brief Finalizes the @c ZydisInstructionInfo struct by adding additional information.
*
* @param info A pointer to the @c ZydisInstructionInfo struct.
* @param definition A pointer to the @c ZydisInstructionDefinition struct.
*/
static void ZydisFinalizeInstructionInfo(ZydisInstructionInfo* info,
const ZydisInstructionDefinition* definition)
static void ZydisFinalizeInstructionInfo(ZydisInstructionInfo* info)
{
ZYDIS_ASSERT(info);
ZYDIS_ASSERT(definition);
ZYDIS_ASSERT(info->details.internal.definition);
const ZydisInstructionDefinition* definition =
(ZydisInstructionDefinition*)info->details.internal.definition;
// Set prefix-flags
if (definition->acceptsLock)
@ -1632,6 +1641,18 @@ static void ZydisFinalizeInstructionInfo(ZydisInstructionInfo* info,
{
info->prefixFlags |= ZYDIS_PREFIXFLAG_ACCEPTS_REPE | ZYDIS_PREFIXFLAG_ACCEPTS_REPNE;
}
if (definition->acceptsXACQUIRE)
{
info->prefixFlags |= ZYDIS_PREFIXFLAG_ACCEPTS_XACQUIRE;
}
if (definition->acceptsXRELEASE)
{
info->prefixFlags |= ZYDIS_PREFIXFLAG_ACCEPTS_XRELEASE;
}
if (definition->acceptsHLEWithoutLock)
{
info->prefixFlags |= ZYDIS_PREFIXFLAG_ACCEPTS_HLE_WITHOUT_LOCK;
}
if ((info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_LOCK) || (definition->acceptsHLEWithoutLock))
{
if (definition->acceptsXACQUIRE && (info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_REPE))
@ -1647,6 +1668,7 @@ static void ZydisFinalizeInstructionInfo(ZydisInstructionInfo* info,
}
if (definition->acceptsBranchHints)
{
info->prefixFlags |= ZYDIS_PREFIXFLAG_ACCEPTS_BRANCH_HINTS;
if (info->prefixFlags & ZYDIS_PREFIXFLAG_HAS_SEGMENT_CS)
{
info->prefixFlags |= ZYDIS_PREFIXFLAG_HAS_BRANCH_NOT_TAKEN;
@ -1698,8 +1720,8 @@ static void ZydisFinalizeInstructionInfo(ZydisInstructionInfo* info,
(info->operand[1].reg == ZYDIS_REGISTER_AX)))
{
info->mnemonic = ZYDIS_MNEMONIC_NOP;
info->operand[0].type = ZYDIS_OPERAND_TYPE_UNUSED;
info->operand[1].type = ZYDIS_OPERAND_TYPE_UNUSED;
info->operandCount = 0;
memset(&info->operand[0], 0, sizeof(ZydisOperandInfo) * 2);
}
}
}
@ -2184,15 +2206,17 @@ static ZydisDecoderStatus ZydisDecodeOpcode(ZydisInstructionDecoder* decoder,
ZydisInstructionTableGetDefinition(node, &definition, &operands, &operandCount);
ZYDIS_ASSERT(definition);
ZYDIS_ASSERT(operands);
ZYDIS_ASSERT(operands || (operandCount == 0));
info->mnemonic = (ZydisInstructionMnemonic)definition->mnemonic;
info->details.internal.definition = (void*)definition;
if (info->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW)
{
// Save input-buffer state and decode dummy operands
uint8_t bufferPosRead = decoder->buffer.posRead;
uint8_t length = info->length;
ZYDIS_ASSERT(operandCount == 2);
ZYDIS_CHECK(ZydisDecodeOperands(decoder, info, operands, operandCount));
// Read actual 3dnow opcode
ZYDIS_CHECK(ZydisInputNext(decoder, info, &info->opcode));
@ -2221,15 +2245,19 @@ static ZydisDecoderStatus ZydisDecodeOpcode(ZydisInstructionDecoder* decoder,
// Decode actual operands and fix the instruction-info
ZydisInstructionTableGetDefinition(node, &definition, &operands, &operandCount);
ZYDIS_ASSERT(definition);
ZYDIS_ASSERT(operands);
ZYDIS_ASSERT(operands && (operandCount == 2));
ZYDIS_CHECK(ZydisDecodeOperands(decoder, info, operands, operandCount));
info->mnemonic = (ZydisInstructionMnemonic)definition->mnemonic;
ZydisFinalizeInstructionInfo(info, definition);
info->details.internal.definition = (void*)definition;
ZydisFinalizeInstructionInfo(info);
return ZydisInputNext(decoder, info, &info->opcode);
}
if (operandCount != 0)
{
ZYDIS_CHECK(ZydisDecodeOperands(decoder, info, operands, operandCount));
ZydisFinalizeInstructionInfo(info, definition);
}
ZydisFinalizeInstructionInfo(info);
return ZYDIS_STATUS_DECODER_SUCCESS;
}
@ -2336,7 +2364,9 @@ ZydisStatus ZydisDecoderSetDisassemblerMode(ZydisInstructionDecoder* decoder,
ZydisDisassemblerMode disassemblerMode)
{
if (!decoder ||
((disassemblerMode != 16) && (disassemblerMode != 32) && (disassemblerMode != 64)))
((disassemblerMode != ZYDIS_DISASSEMBLER_MODE_16BIT) &&
(disassemblerMode != ZYDIS_DISASSEMBLER_MODE_32BIT) &&
(disassemblerMode != ZYDIS_DISASSEMBLER_MODE_64BIT)))
{
return ZYDIS_STATUS_INVALID_PARAMETER;
}