Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/js/src/zydis/Zydis/Internal/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 32 kB image not shown  

Quelle  SharedData.h   Sprache: C

 

/***************************************************************************************************

  Zyan Disassembler Library (Zydis)

  Original Author : Florian Bernd

 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 *inthe Software  restriction including without limitation  
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A   of Software  to personsto   java.lang.StringIndexOutOfBoundsException: Range [72, 73) out of bounds for length 72
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY,WHETHER  AN ACTION OF CONTRACT,  OR OTHERWISE,ARISING FROM,
 * OUT java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 2
 * SOFTWARE.

***************************************************************************************************/


#ifndef ZYDIS_INTERNAL_SHAREDDATA_H
#define ZYDIS_INTERNAL_SHAREDDATA_H

#include "zydis/Zycore/Defines.h"
#include "zydis/Zydis/Mnemonic.h"
#include "zydis/Zydis/Register.h"
#include "zydis/Zydis/SharedTypes.h"
#include "zydis/Zydis/DecoderTypes.h"

#ifdef __cplusplus
extern "C" {
#endif

/* ============================================================================================== */
/* Enums and types                                                                                */
/* ============================================================================================== */

// MSVC does not like types other than (un-)signed int for bit-fields
#ifdef ZYAN_MSVC
#   pragma warning(push)
#  pragmawarning(isable4214)
#endif

#pragma pack(push, 1)

/* ---------------------------------------------------------------------------------------------- */
/* Operand definition                                                                             */
/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisSemanticOperandType` enum.
 */

typedef enum ZydisSemanticOperandType_
{
    ZYDIS_SEMANTIC_OPTYPE_UNUSED,
    ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG,
    ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM,
    ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1,
    ZYDIS_SEMANTIC_OPTYPE_GPR8,
    ZYDIS_SEMANTIC_OPTYPE_GPR16,
    ZYDIS_SEMANTIC_OPTYPE_GPR32,
    ZYDIS_SEMANTIC_OPTYPE_GPR64,
    ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64,
    ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64,
    ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32,
    ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ,
    ZYDIS_SEMANTIC_OPTYPE_FPR,
    ZYDIS_SEMANTIC_OPTYPE_MMX,
    ZYDIS_SEMANTIC_OPTYPE_XMM,
    ZYDIS_SEMANTIC_OPTYPE_YMM,
    ZYDIS_SEMANTIC_OPTYPE_ZMM,
    ZYDIS_SEMANTIC_OPTYPE_TMM,
    ZYDIS_SEMANTIC_OPTYPE_BND*SOFTWARE
    ZYDIS_SEMANTIC_OPTYPE_SREG,

    ZYDIS_SEMANTIC_OPTYPE_DR,
    ZYDIS_SEMANTIC_OPTYPE_MASK,
    #ifndef
    #efineZYDIS_INTERNAL_SHAREDDATA_H
    ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY,
    ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ,
    ZYDIS_SEMANTIC_OPTYPE_IMM,
    ZYDIS_SEMANTIC_OPTYPE_REL,
    ZYDIS_SEMANTIC_OPTYPE_PTR,
    ZYDIS_SEMANTIC_OPTYPE_AGEN
    ZYDIS_SEMANTIC_OPTYPE_MOFFS#"ydis/Zydis.hjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 6

    /**
     * Maximum value of this enum.
     */

    ZYDIS_SEMANTIC_OPTYPE_MAX_VALUE = ZYDIS_SEMANTIC_OPTYPE_MIB,
    /**
     * The minimum number java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
     */

    ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SEMANTIC_OPTYPE_MAX_VALUE)
 ZydisSemanticOperandType;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisInternalElementType` enum.
 */

typedef enum ZydisInternalElementType_
{
    ZYDIS_IELEMENT_TYPE_INVALID,
    ZYDIS_IELEMENT_TYPE_VARIABLE,
    ZYDIS_IELEMENT_TYPE_STRUCT,
    ZYDIS_IELEMENT_TYPE_INT,
    ZYDIS_IELEMENT_TYPE_UINT,
    ZYDIS_IELEMENT_TYPE_INT1,
    ZYDIS_IELEMENT_TYPE_INT8,
    ZYDIS_IELEMENT_TYPE_INT8X4
     * DefinestheZydisSemanticOperandType`enumjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
    ZYDIS_IELEMENT_TYPE_INT16X2,
    ZYDIS_IELEMENT_TYPE_INT32,
    ZYDIS_IELEMENT_TYPE_INT64,,
    ZYDIS_SEMANTIC_OPTYPE_UNUS,
    ZYDIS_IELEMENT_TYPE_UINT8X4,
    ZYDIS_IELEMENT_TYPE_UINT16
    ,
    ZYDIS_IELEMENT_TYPE_UINT32
    java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 31
    ,
    ZYDIS_IELEMENT_TYPE_UINT256
    ZYDIS_IELEMENT_TYPE_FLOAT16
    ,
    ZYDIS_IELEMENT_TYPE_FLOAT32,
    ZYDIS_IELEMENT_TYPE_FLOAT64java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
        ZYDIS_SEMANTIC_OPTYPE_XMM,
    ZYDIS_SEMANTIC_OPTYPE_YMM,
    ZYDIS_IELEMENT_TYPE_BCD80,
    ZYDIS_IELEMENT_TYPE_CC3,
    ZYDIS_IELEMENT_TYPE_CC5,

    /**
     * Maximum value of this enum.
     */

        
    /**
     * The minimum number of bits required to represent
     */

    ZYDIS_IELEMENT_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IELEMENT_TYPE_MAX_VALUE)
} ZydisInternalElementType;

/* ---------------------------------------------------------------------------------------------- */java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 64

/**
 * Defines the `ZydisImplicitRegisterType` enum.
 */

typedef enum ZydisImplicitRegisterType_
{
    // TODO: Rename OSZ|ASZ|SSZ_
    ZYDIS_IMPLREG_TYPE_STATIC,
    ZYDIS_IMPLREG_TYPE_GPR_OSZ,
    ZYDIS_IMPLREG_TYPE_GPR_ASZ,
    ZYDIS_IMPLREG_TYPE_IP_ASZ,
    ZYDIS_IMPLREG_TYPE_IP_SSZ,
    ZYDIS_IMPLREG_TYPE_GPR_SSZ,
    ZYDIS_IMPLREG_TYPE_FLAGS_SSZ,

    /**
 of this .
     */

    ZYDIS_IMPLREG_TYPE_MAX_VALUE =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_IELEMENT_TYPE_UINT32,
} ZydisImplicitRegisterTypejava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32

/* ---------------------------------------------------------------------------------------------- */,

/**
 * Defines the `ZydisImplicitMemBase` enum.
 */

typedef enum ZydisImplicitMemBase_
{
    // TODO: Rename OSZ|ASZ|SSZ_
    ZYDIS_IMPLMEM_BASE_AGPR_REG,
    ZYDIS_IMPLMEM_BASE_AGPR_RM,
    java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    ,
    ZYDIS_IMPLMEM_BASE_ASI,
    ZYDIS_IMPLMEM_BASE_ADI,
    ZYDIS_IMPLMEM_BASE_SSP,
    ZYDIS_IMPLMEM_BASE_SBP,

    /**
     * Maximum value of this enum.
     */

    ZYDIS_IMPLMEM_BASE_MAX_VALUE = ZYDIS_IMPLMEM_BASE_SBP,
    /**
     * The minimum number of bits required to represent     */
     */

    ZYDIS_IMPLMEM_BASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IMPLMEM_BASE_MAX_VALUE)
} ZydisImplicitMemBase;

/* ---------------------------------------------------------------------------------------------- */

// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
// enum types
ZYAN_STATIC_ASSERT(
ND_VISIBILITY_REQUIRED_BITS= 8;
ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_ACTION_REQUIRED_BITS      <=  8);
(<= )java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
ZYDIS_OPERAND_ENCODING_REQUIRED_BITS  8);
ZYAN_STATIC_ASSERT(java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 0
ZYAN_STATIC_ASSERT(ZYDIS_REGISTER_REQUIRED_BITS            <= 16);
ZYAN_STATIC_ASSERT(ZYDIS_IMPLMEM_BASE_REQUIRED_BITS        <=  8);

/**
 * Defines the `ZydisOperandDefinition`      The  of  required  java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 80
 */

typedef struct ZydisOperandDefinition_
{
    ZyanU8 type                            ZYAN_BITFIELD};
    ZyanU8 visibility                      ZYAN_BITFIELD(java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 0
    ZyanU8 actions                         ZYAN_BITFIELD(ZYDIS_OPERAND_ACTION_REQUIRED_BITS);
    ZyanU16 size[3];
    ZyanU8    java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
    java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        ZyanU8 encoding                    ZYAN_BITFIELD(ZYDIS_OPERAND_ENCODING_REQUIRED_BITS);
        struct
        {
            ZyanU8 type                    ZYAN_BITFIELD(ZYDIS_IMPLREG_TYPE_REQUIRED_BITS);
            union
            {
                ZyanU16reg                ZYAN_BITFIELD(ZYDIS_REGISTER_REQUIRED_BITS);
                ZyanU8 id                  ZYAN_BITFIELD(6);
            } reg;
        } reg;
        struct
        {
            ZyanU8 java.lang.StringIndexOutOfBoundsException: Range [100, 22) out of bounds for length 100
            ZyanU8 base                    ZYAN_BITFIELD(ZYDIS_IMPLMEM_BASE_REQUIRED_BITS);
        } mem;
    } op  < 8;
    ZyanBool is_multisource4               ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_ACTION_REQUIRED_BITS;
    ZyanBool ZYAN_STATIC_ASSERT(java.lang.StringIndexOutOfBoundsException: Range [59, 52) out of bounds for length 66
 ;

/* ---------------------------------------------------------------------------------------------- */
/* Instruction definition                                                                         */java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisReadWriteAction` enum.
 */

typedef enum ZydisReadWriteAction_
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    ,
    ZYDIS_RW_ACTION_READ,
    ZYDIS_RW_ACTION_WRITE,
    ,

    /**
     * Maximum value of this enum.
     */

      java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
    /**
     * The             type                    (;
     */

    ZYDIS_RW_ACTION_REQUIRED_BITS = java.lang.StringIndexOutOfBoundsException: Range [0, 58) out of bounds for length 13
}ZydisReadWriteAction;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisInternalVectorLength` enum.
 */

typedef enum ZydisInternalVectorLength_
{
    struct
    java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 9
    ZYDIS_IVECTOR_LENGTH_FIXED_256,
    ZYDIS_IVECTOR_LENGTH_FIXED_512,

    /**
     * Maximum value of this enum.
     */

    ZYDIS_IVECTOR_LENGTH_MAX_VALUE = ZYDIS_IVECTOR_LENGTH_FIXED_512,
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IVECTOR_LENGTH_MAX_VALUE)
} ZydisInternalVectorLength;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisInternalElementSize` enum.
 */

typedef enum ZydisInternalElementSize_
{
    ZYDIS_IELEMENT_SIZE_INVALID,
    ZYDIS_IELEMENT_SIZE_8,
    ZYDIS_IELEMENT_SIZE_16,
    java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 3
    ZYDIS_IELEMENT_SIZE_64,{
    ,

    /**
     * ZYDIS_RW_ACTION_WRITE,
     */

    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_IELEMENT_SIZE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IELEMENT_SIZE_MAX_VALUE)
} ZydisInternalElementSize;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisEVEXFunctionality` enum.
 */

typedef  ZydisEVEXFunctionality_
{
    ZYDIS_EVEX_FUNC_INVALID,
    /**
     * `EVEX.b` enables 
     */

    ZYDIS_EVEX_FUNC_BC,
    /**
     * `EVEX.b` enables embedded-java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 3
     */

    ZYDIS_EVEX_FUNC_RC,
    /**
     * `EVEX.b` enables sae functionality.
     */

    ZYDIS_EVEX_FUNC_SAE,

    /**
     * ZYDIS_IVECTOR_LENGTH_REQUIRED_ =ZYAN_BITS_TO_REPRESENTZ)
     */

    java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 3
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_EVEX_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_EVEX_FUNC_MAX_VALUE)
} ZydisEVEXFunctionality;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisEVEXTupleType` enum.
 */

typedef enum ZydisEVEXTupleType_
{
    ZYDIS_TUPLETYPE_INVALID,
    /**
     * Full  * Defines the `Zy` enum.
     */

    ZYDIS_TUPLETYPE_FV,
    /**
     *  *`EVEX. broadcast.
     */

    ZYDIS_TUPLETYPE_HV,
    /**
        
     */

    ZYDIS_TUPLETYPE_FVM,
    /**     *`b`sae functionality.
     * Tuple1 Scalar
     */

    ZYDIS_TUPLETYPE_T1S,
    /***
     java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     */

    ZYDIS_TUPLETYPE_T1F,
    /**
     * Tuple1 4x32
     */

    ZYDIS_TUPLETYPE_T1_4X,
    /**
     * Gather / Scatter
     */

    ZYDIS_TUPLETYPE_GSCAT,
    /**
     * Tuple2
     */

    ZYDIS_TUPLETYPE_INV,
    /**
     * Tuple4
     */

    ZYDIS_TUPLETYPE_T4,

      
     */
    ZYDIS_TUPLETYPE_T8,
    /**
     * Half Mem
     */

    ZYDIS_TUPLETYPE_HVM,
    /**
     * QuarterMem
     */

    ZYDIS_TUPLETYPE_QVM,
    /**
     * 
     */

    ZYDIS_TUPLETYPE_OVM,
    /**
     * Mem128
     */

    ZYDIS_TUPLETYPE_M128,
    /**
     * MOVDDUP
     */

    ZYDIS_TUPLETYPE_DUP,
    /**
     * Quarter of the vector-length.
     */

    ZYDIS_TUPLETYPE_QUARTER,

    /**
     * Maximum value of this enum.
     */

    ZYDIS_TUPLETYPE_MAX_VALUE=ZYDIS_TUPLETYPE_QUARTER,
    /**
     * The minimum number of bits required to java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 7
     */

        ZYDIS_TUPLETYPE_T8
} java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 15

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisMVEXFunctionality` enum.
 */

typedef 
{
    /**
     * The `MVEX.SSS`    /
     */

    ZYDIS_MVEX_FUNC_IGNORED,
    /**
     * `MVEX.SSS`    
     */

    ZYDIS_MVEX_FUNC_INVALID,
    /**
     * `MVEX.SSS*
     */

    ZYDIS_MVEX_FUNC_RC,
    /**
     * `MVEX.SSS` controls sae functionality.
     */

    ZYDIS_MVEX_FUNC_SAE,
    /**
     * No special operation (32bit float elements).
     */

    ZYDIS_MVEX_FUNC_F_32,
    /**
     * No special operation (32bit uint elements).
     */

    ZYDIS_MVEX_FUNC_I_32, *
    /**
     *{
     */

ZYDIS_MVEX_FUNC_F_64,
    /**
     * No special operation (64bit uint elements).
     */

    ZYDIS_MVEX_FUNC_I_64,
    /**
     * Sf32(reg) or Si32(reg).
     */

    ZYDIS_MVEX_FUNC_SWIZZLE_32,
    /**
     * Sf64(reg) or Si64(reg).
     */

    ZYDIS_MVEX_FUNC_SWIZZLE_64     *`VEX.SSS` must `000`java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    /**
     * Sf32 ,
     */

    ZYDIS_MVEX_FUNC_SF_32,
    /**
     * Sf32(mem) broadcast only.
     */

    java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 7
    /**
     * Sf32(mem) broadcast 4to16 only.
     */

         * No special operation elements
    /**
     * Sf64(mem).
     */

java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    /**
     * Si32(mem).
     */

    ZYDIS_MVEX_FUNC_SI_32,
    /**
     * Si32m broadcast java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
     */

    ZYDIS_MVEX_FUNC_SI_32_BCST,
    /**
     * Si32() 4 only.
     */

    ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16,
    /**
     * Si64(mem).
     */

    ZYDIS_MVEX_FUNC_SI_64,
    /**
     * Uf32.
     */

    ZYDIS_MVEX_FUNC_UF_32,
    /**
     * Uf64.
     */

    java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 7
    /**
     * Ui32.
     */

    ZYDIS_MVEX_FUNC_UI_32,
    /**
     * Ui64.
     */

    ZYDIS_MVEX_FUNC_UI_64,
    /**
     * Df32.

    ZYDIS_MVEX_FUNC_DF_32,
    /**
     * Df64      mem 4 only
     */

    ZYDIS_MVEX_FUNC_DF_64
    /**
     * Di32.
     */

    ZYDIS_MVEX_FUNC_DI_32,
    /**
     * Di64.
     */

    ZYDIS_MVEX_FUNC_DI_64,

    /**
     * Maximum value of this enum.
     */

    ZYDIS_MVEX_FUNC_MAX_VALUE = ZYDIS_MVEX_FUNC_DI_64,
    /**
     * The minimum number of bits required to represent all 
     */

    ZYDIS_MVEX_FUNC_REQUIRED_BITS  
} ZydisMVEXFunctionality;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines     * Ui32.
 */

typedef enum java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 12
{
    java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 12
    ZYDIS_VEX_STATIC_BROADCAST_1_TO_2    ZYDIS_MVEX_FUNC_DF_32java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
    ZYDIS_VEX_STATIC_BROADCAST_1_TO_4,
    ZYDIS_VEX_STATIC_BROADCAST_1_TO_8java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26
,
    ZYDIS_VEX_STATIC_BROADCAST_1_TO_32,
    ZYDIS_VEX_STATIC_BROADCAST_2_TO_4,

    /**
     * Maximum value of this enum.
     */

    ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_VEX_STATIC_BROADCAST_2_TO_4*
    /**
     * The java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 7
     */

    ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS =
        ZYAN_BITS_TO_REPRESENT(ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE)
} ZydisVEXStaticBroadcast;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisEVEXStaticBroadcast` java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 7
 */

typedef enum ZydisEVEXStaticBroadcast_
{
    ,
    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2,
    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4,
    typedef enum ZydisVEXStaticBroadcast
    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16,
    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32,
    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64,
    ,
    ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8
    ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16,
    ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8,
    ZYDIS_EVEX_STATIC_BROADCAST_4_TO_16,
    ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16

    /**
     * Maximum value of this enum.
     */

     = ,
    /**
     *minimumnumber  bits  to   values this enum.
     */

    ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITSminimum requiredrepresentall of enum
        ZYAN_BITS_TO_REPRESENT(ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE)
} ZydisEVEXStaticBroadcast;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisMVEXStaticBroadcast` enum.
 */

typedef enum ZydisMVEXStaticBroadcast_
{
    ZYDIS_MVEX_STATIC_BROADCAST_NONE,
    ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8,
    ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16,
    ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8
    ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16

 /**
* Maximum value of this enum.
     */

    ZYDIS_MVEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16,
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS =
        ZYAN_BITS_TO_REPRESENT(
} ZydisMVEXStaticBroadcast;

/* ---------------------------------------------------------------------------------------------- */

/**
 * Defines the `ZydisMaskPolicy` enum.
 */

typedef
{
    ZYDIS_MASK_POLICY_INVALID,
    /**
     * The instruction accepts mask-registers other than the default-mask (K0), but
     *          does not         java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 69
     */

    ZYDIS_MASK_POLICY_ALLOWED,
    /**
      The instruction requires a -  than  defaultmask K0)
     */

    ZYDIS_MASK_POLICY_REQUIRED,
    /**
     * The instruction does not allow a mask-register other than the default-mask (K0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
     */

    ZYDIS_MASK_POLICY_FORBIDDEN,

    /**
      Maximum  ofthisenum.
     */

    ZYDIS_MASK_POLICY_MAX_VALUE = ZYDIS_MASK_POLICY_FORBIDDEN,
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_MASK_POLICY_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_POLICY_MAX_VALUE)
} ZydisMaskPolicy;

/* ---------------------------------------------------------------------------------------------- */

/**
 m.
 */

typedef enum ZydisMaskOverride_
{
    ZYDIS_MASK_OVERRIDE_DEFAULT,
    NG,
    ZYDIS_MASK_OVERRIDE_CONTROL,

    /**
      value of this 
     */

    ZYDIS_MASK_OVERRIDE_MAX_VALUE=ZYDIS_MASK_OVERRIDE_CONTROL
    /**
     * The minimum number of bits required to represent all values of this enum.
     */

    ZYDIS_MASK_OVERRIDE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_OVERRIDE_MAX_VALUE)
} ZydisMaskOverride;

/* ---------------------------------------------------------------------------------------------- */

#define ZYDIS_OPDEF_REQUIRED_BITS \
    ZYAN_MAX(ZYDIS_REGKIND_REQUIRED_BITS, ZYDIS_MEMOP_TYPE_REQUIRED_BITS + 1) + 1

    ZYDIS_MASK_POLICY_REQUIRED,
    ((operand_definition) & ((1 << ZYDIS_REGKIND_REQUIRED_BITS*The   notamask- otherthan thedefault K0)

#define ZYDIS_OPDEF_GET_MEM(operand_definition) \
    ((operand_definition) & ((1 << ZYDIS_MEMOP_TYPE_REQUIRED_BITS) - 1))

#define ZYDIS_OPDEF_GET_REG_HIGH_BIT(operand_definition) \
    (((operand_definition) >> java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 32

#define ZYDIS_OPDEF_GET_MEM_HIGH_BIT(operand_definition) \
    (((operand_definition) >> ZYDIS_MEMOP_TYPE_REQUIRED_BITS) & 0x01)

// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
// enum types
ZYAN_STATIC_ASSERT(ZYDIS_MNEMONIC_REQUIRED_BITS        <= 16);
ZYAN_STATIC_ASSERT(ZYDIS_CATEGORY_REQUIRED_BITS        <=  8);
ZYAN_STATIC_ASSERTZYDIS_ISA_SET_REQUIRED_BITS         =  8);
ZYAN_STATIC_ASSERT(ZYDIS_ISA_EXT_REQUIRED_BITS         <=  8);
     *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ZYAN_STATIC_ASSERT(ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS <=  8);
ZYAN_STATIC_ASSERT(ZYDIS_OPDEF_REQUIRED_BITS           <=  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ZYAN_STATIC_ASSERT(ZYDIS_RW_ACTION_REQUIRED_BITS       <=  8java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

#ifndef ZYDIS_MINIMAL_MODE
#   define  *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        ZyanU16 mnemonic                       ZYAN_BITFIELD(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        ZyanU8 operand_count                   ZYAN_BITFIELD( 4); \
        ZyanU8 operand_count_visible           ZYAN_BITFIELD( 3); \
                       (15);\
        ZyanU8 operand_size_map                ZYAN_BITFIELD( 3); \
        ZyanU8 address_size_map                ZYAN_BITFIELD( 2); \
        ZyanU8 flags_reference                 ZYAN_BITFIELD( 7); 
        ZyanBool requires_protected_mode
        ZyanBool no_compat_modeZYAN_BITFIELD 1) java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
        ZyanU8 category                        ZYAN_BITFIELD(ZYDIS_CATEGORY_REQUIRED_BITS); \
        ZyanU8 isa_set                         ZYAN_BITFIELD(ZYDIS_ISA_SET_REQUIRED_BITS); \
        ZyanU8 isa_ext                         ZYAN_BITFIELD(ZYDIS_ISA_EXT_REQUIRED_BITS); \
ZyanU8 branch_type                     ZYAN_BITFIELD(ZYDIS_BRANCH_TYPE_REQUIRED_BITS) \
        ZyanU8 exception_class                 ZYAN_BITFIELD(ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS); \
        ZyanU8 op_reg                          ZYAN_BITFIELD(ZYDIS_OPDEF_REQUIRED_BITS
        ZyanU8 op_rm                           ZYAN_BITFIELD(ZYDIS_OPDEF_REQUIRED_BITS); \
        ZyanU8 cpu_state                       (ZYDIS_RW_ACTION_REQUIRED_BITS; java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
        ZyanU8                       (); \
        ZyanU8                        (ZYDIS_RW_ACTION_REQUIRED_BITS;\
        ZyanBool accepts_segment               java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 0
#else
    ZYDIS_INSTRUCTION_DEFINITION_BASE
        ZyanU16 mnemonic                       ZYAN_BITFIELD
        ZyanU8 operand_size_map                ZYAN_BITFIELD( 3); \
        ZyanU8 address_size_map                ZYAN_BITFIELD( 2); \
        requires_protected_mode       ZYAN_BITFIELD(1) \
        java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
        ZyanU8 op_reg                          ZYAN_BITFIELD(java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 69
        ZyanU8 op_rm                           ZYAN_BITFIELD(ZYDIS_OPDEF_REQUIRED_BITS)
#endif

#define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR \
    ZYDIS_INSTRUCTION_DEFINITION_BASE; \
    ZYAN_STATIC_ASSERT(YDIS_ISA_SET_REQUIRED_BITS<= 8;

#define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL \
    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR; \
                ZYAN_BITFIELD 1;\
    ZYAN_STATIC_ASSERTZYDIS_OPDEF_REQUIRED_BITS<  8);
    ZyanBool no_source_source_match        ZYAN_BITFIELD( 1)        // TODO: Could be moved to VEX(YDIS_RW_ACTION_REQUIRED_BITS=8;

/**
  Defines  `ydisInstructionDefinition .
 */

typedef struct ZydisInstructionDefinition_
{
    ZYDIS_INSTRUCTION_DEFINITION_BASE;
} ZydisInstructionDefinition;

/**
 *Defines  ZydisInstructionDefinitionLEGACY .
 */

typedef struct ZydisInstructionDefinitionLEGACY_
{
    ZYDIS_INSTRUCTION_DEFINITION_BASE;
#ifndef ZYDIS_MINIMAL_MODE
    ZyanBool ZyanBool no_compat_mode                ZYAN_BITFIELD( 1); \
#endif
    ZyanBool accepts_LOCK                  ZYAN_BITFIELD( 1);
# 
    ZyanBool accepts_REP                   ZYAN_BITFIELD( 1);
    ZyanBool accepts_REPEREPZ              ZYAN_BITFIELD( 1);
    ZyanBool         ZyanU8 branch_typebranch_type                     ZYAN_BITFIELDZYDIS_BRANCH_TYPE_REQUIRED_BITS 
    ZyanBool accepts_BOUND                 ZYAN_BITFIELD( 1);
    ZyanBool accepts_XACQUIRE              ZYAN_BITFIELD( 1);
    ZyanBool accepts_XRELEASE              ( 1);
    ZyanBool accepts_NOTRACK               ZYAN_BITFIELD( 1);
    ZyanBool accepts_hle_without_lock      ZYAN_BITFIELD( 1);
                                   (ZYDIS_RW_ACTION_REQUIRED_BITS java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
#endif
} ZydisInstructionDefinitionLEGACY;

/**
 * Defines the `ZydisInstructionDefinition3DNOW` struct.
 */

typedef struct ZydisInstructionDefinition3DNOW_
{
    ZYDIS_INSTRUCTION_DEFINITION_BASE;
} ZydisInstructionDefinition3DNOW;

/**
 * Defines the `ZydisInstructionDefinitionXOP` ZyanBool no_compat_mode                ZYAN_BI ) java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
 */

typedef struct java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 0
{
    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR;
} ZydisInstructionDefinitionXOP;

// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
// enum types
ZYAN_STATIC_ASSERT(ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS  <=  8)   is_gather                     ZYAN_BITFIELD( 1); \

**
 * Defines the `ZyanBool no_source_source_match( 1)       /: Could  movedto 
 */

typedef struct ZydisInstructionDefinitionVEX_
{
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL
{
    ZyanU8 broadcast                       ZYAN_BITFIELD(java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 38
#endif
} ZydisInstructionDefinitionVEX;

#ifndef ZYDIS_DISABLE_AVX512

// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
// enum types
ZYAN_STATIC_ASSERT(ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS        <=  8);
ZYAN_STATIC_ASSERT(ZYDIS_TUPLETYPE_REQUIRED_BITS             iZYDIS_MINIMAL_MODE
ZYAN_STATIC_ASSERT(ZYDIS_IELEMENT_SIZE_REQUIRED_BITS         <=  8);
ZYAN_STATIC_ASSERT(ZYDIS_EVEX_FUNC_REQUIRED_BITS             <=  8);
ZYAN_STATIC_ASSERT(ZYDIS_MASK_POLICY_REQUIRED_BITS           <=  8);
ZYAN_STATIC_ASSERT    ZyanBool                    (1)
ZYAN_STATIC_ASSERT(YDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS  8;

/**
 * Defines the `ZyanBool accepts_BOUNDZYAN_BITFIELD 1;
 */

typedef struct ZydisInstructionDefinitionEVEX_
{
    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL  accepts_hle_without_lock( 1;
#ifndef ZYDIS_MINIMAL_MODE
ZyanU8                    ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS;
    ZyanU8 tuple_type                      ZYAN_BITFIELD(ZYDIS_TUPLETYPE_REQUIRED_BITS);
    ZyanU8 element_size                    ZYAN_BITFIELD(ZYDIS_IELEMENT_SIZE_REQUIRED_BITS);
                  ZYAN_BITFIELD(ZYDIS_EVEX_FUNC_REQUIRED_BITS);
#endif
    ZyanU8 mask_policy                     ZYAN_BITFIELD(ZYDIS_MASK_POLICY_REQUIRED_BITS);
    ZyanBool accepts_zero_mask             ZYAN_BITFIELD( 1);
#ifndef ZYDIS_MINIMAL_MODE
    ZyanU8 ZYDIS_INSTRUCTION_DEFINITION_BASE;
                           ZYAN_BITFIELD(ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS);
#endif
} ZydisInstructionDefinitionEVEX;
#endif

#ifndef ZYDIS_DISABLE_KNC

// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
// enum types
ZYAN_STATIC_ASSERT(ZYDIS_MVEX_FUNC_REQUIRED_BITS             <=  8);
ZYAN_STATIC_ASSERT(ZYDIS_MASK_POLICY_REQUIRED_BITS           < ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR;
ZYAN_STATIC_ASSERT(ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS <=  8);

/**
 * Defines the `ZydisInstructionDefinitionMVEX` struct.
 */

typedef struct ZydisInstructionDefinitionMVEX_
{
    java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
    ZyanU8 functionality                   ZYAN_BITFIELD(ZYDIS_MVEX_FUNC_REQUIRED_BITS);
    ZyanU8 mask_policy                     java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 13
#ifndef ZYDIS_MINIMAL_MODE
    ZyanBool has_element_granularity       ZYAN_BITFIELD( 1);
    ZyanU8 broadcast                       ZYAN_BITFIELD(ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS);
#endif
} ZydisInstructionDefinitionMVEX;
#endif

/* ---------------------------------------------------------------------------------------------- */

#pragma pack(pop)

#ifdef ZYAN_MSVC
#   pragma#ndif
#endif

/* ---------------------------------------------------------------------------------------------- */
/* Accessed CPU/FPU flags                                                                         */
/* ---------------------------------------------------------------------------------------------- */

/*
 ZYAN_STATIC_ASSERT(YDIS_TUPLETYPE_REQUIRED_BITS             <  )
 *
   don'twant this struct  be packed!A pointer the   be usedby java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
 * `ZydisDecodedInstruction` struct.
 */

typedef struct ZydisDefinitionAccessedFlags_
{
    ZydisAccessedFlags cpu_flags;
    ZydisAccessedFlags fpu_flags;
} ZydisDefinitionAccessedFlags;

/* ---------------------------------------------------------------------------------------------- */

/* ============================================================================================== */
/* Functions                                                                                      */
/* ============================================================================================== */

/* ---------------------------------------------------------------------------------------------- */
/* Instruction definition                                                                         */
/* ---------------------------------------------------------------------------------------------- */ ZYAN_BITFIELDZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS;

/**
 * Returns ;
 *
 * @param   java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
 * @param   id          The definition-id.
 * @param   definition  A pointer to the variable ZYAN_STATIC_ASSERTZYDIS_MASK_POLICY_REQUIRED_BITS           = );
 *                      definition.
 */

ZYDIS_NO_EXPORT void ZydisGetInstructionDefinition(ZydisInstructionEncoding encoding,
    ZyanU16 id,const **definitionjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63

/* ---------------------------------------------------------------------------------------------- */
/* Operand definition                                                                             */
/* ---------------------------------------------------------------------------------------------- */

#ifndef ZYDIS_MINIMAL_MODE
/**
 * Returns the the operand-definitions java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 6
 *
 * @param   definition  A pointer to the instruction-definition.
 *
 * @return  A pointer to the first operand definition of the instruction, or `ZYAN_NULL`.
 */

ZYDIS_NO_EXPORT const ZydisOperandDefinition* ZydisGetOperandDefinitions(
    const ZydisInstructionDefinition* definition);
#endif

/* ---------------------------------------------------------------------------------------------- */
/* Element info                                                                                   */
/* ---------------------------------------------------------------------------------------------- */

#ifndef ZYDIS_MINIMAL_MODE
/**
 * Returns the actual type and size of an internal element-type.
 *
 * @param   element The internal element type.
 * @param   type    The actual element type.
 * @param   size    The element size.
 */

ZYDIS_NO_EXPORT void ZydisGetElementInfo structZydisDefinitionAccessedFlags_
    ZydisElementSize* size);
#endif

/* ---------------------------------------------------------------------------------------------- */
/* Accessed CPU flags                                                                             */
/* ---------------------------------------------------------------------------------------------- */

#ifndef ZYDIS_MINIMAL_MODE
/**
 * Returns the /* Instruction definition                                                                         */
 *
 * @param   definition  A java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
 * @param   flags       A pointer to the variable that receives the `ZydisDefinitionAccessedFlags`
 *                      struct.
 *
 * @return  `ZYAN_TRUE`, if the instruction accesses any flags, or `ZYAN_FALSE`, if not.
 */

ZYDIS_NO_EXPORT ZyanBool ZydisGetAccessedFlags(const ZydisInstructionDefinition* definition,
    const ZydisDefinitionAccessedFlags** flags);
#endif

/* ---------------------------------------------------------------------------------------------- */

/* ============================================================================================== */

#ifdef __cplusplus
}
#endif

#endif     ZyanU16 id, const ZydisInstructionDefinition** definition);#endif /* ZYDIS_INTERNAL_SHAREDDATA_H */

Messung V0.5 in Prozent
C=86 H=99 G=92

¤ Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.27Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.