retdec
Macros
ImageLoader.cpp File Reference

Implementation of image. More...

#include <iostream>
#include <fstream>
#include "retdec/pelib/ImageLoader.h"

Macros

#define EMARCH_ENC_I17_IMM7B_INST_WORD_X   3
 
#define EMARCH_ENC_I17_IMM7B_SIZE_X   7
 
#define EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X   4
 
#define EMARCH_ENC_I17_IMM7B_VAL_POS_X   0
 
#define EMARCH_ENC_I17_IMM9D_INST_WORD_X   3
 
#define EMARCH_ENC_I17_IMM9D_SIZE_X   9
 
#define EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X   18
 
#define EMARCH_ENC_I17_IMM9D_VAL_POS_X   7
 
#define EMARCH_ENC_I17_IMM5C_INST_WORD_X   3
 
#define EMARCH_ENC_I17_IMM5C_SIZE_X   5
 
#define EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X   13
 
#define EMARCH_ENC_I17_IMM5C_VAL_POS_X   16
 
#define EMARCH_ENC_I17_IC_INST_WORD_X   3
 
#define EMARCH_ENC_I17_IC_SIZE_X   1
 
#define EMARCH_ENC_I17_IC_INST_WORD_POS_X   12
 
#define EMARCH_ENC_I17_IC_VAL_POS_X   21
 
#define EMARCH_ENC_I17_IMM41a_INST_WORD_X   1
 
#define EMARCH_ENC_I17_IMM41a_SIZE_X   10
 
#define EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X   14
 
#define EMARCH_ENC_I17_IMM41a_VAL_POS_X   22
 
#define EMARCH_ENC_I17_IMM41b_INST_WORD_X   1
 
#define EMARCH_ENC_I17_IMM41b_SIZE_X   8
 
#define EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X   24
 
#define EMARCH_ENC_I17_IMM41b_VAL_POS_X   32
 
#define EMARCH_ENC_I17_IMM41c_INST_WORD_X   2
 
#define EMARCH_ENC_I17_IMM41c_SIZE_X   23
 
#define EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X   0
 
#define EMARCH_ENC_I17_IMM41c_VAL_POS_X   40
 
#define EMARCH_ENC_I17_SIGN_INST_WORD_X   3
 
#define EMARCH_ENC_I17_SIGN_SIZE_X   1
 
#define EMARCH_ENC_I17_SIGN_INST_WORD_POS_X   27
 
#define EMARCH_ENC_I17_SIGN_VAL_POS_X   63
 
#define EXT_IMM64(Value, SourceValue32, Size, InstPos, ValPos)    Value |= (((uint64_t)((SourceValue32 >> InstPos) & (((uint64_t)1 << Size) - 1))) << ValPos)
 
#define INS_IMM64(Value, TargetValue32, Size, InstPos, ValPos)
 
#define MUST_HAVE_FLAGS   (PELIB_IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE | PELIB_IMAGE_DLLCHARACTERISTICS_NX_COMPAT)
 

Detailed Description

Implementation of image.

Macro Definition Documentation

◆ EMARCH_ENC_I17_IC_INST_WORD_POS_X

#define EMARCH_ENC_I17_IC_INST_WORD_POS_X   12

◆ EMARCH_ENC_I17_IC_INST_WORD_X

#define EMARCH_ENC_I17_IC_INST_WORD_X   3

◆ EMARCH_ENC_I17_IC_SIZE_X

#define EMARCH_ENC_I17_IC_SIZE_X   1

◆ EMARCH_ENC_I17_IC_VAL_POS_X

#define EMARCH_ENC_I17_IC_VAL_POS_X   21

◆ EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X

#define EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X   14

◆ EMARCH_ENC_I17_IMM41a_INST_WORD_X

#define EMARCH_ENC_I17_IMM41a_INST_WORD_X   1

◆ EMARCH_ENC_I17_IMM41a_SIZE_X

#define EMARCH_ENC_I17_IMM41a_SIZE_X   10

◆ EMARCH_ENC_I17_IMM41a_VAL_POS_X

#define EMARCH_ENC_I17_IMM41a_VAL_POS_X   22

◆ EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X

#define EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X   24

◆ EMARCH_ENC_I17_IMM41b_INST_WORD_X

#define EMARCH_ENC_I17_IMM41b_INST_WORD_X   1

◆ EMARCH_ENC_I17_IMM41b_SIZE_X

#define EMARCH_ENC_I17_IMM41b_SIZE_X   8

◆ EMARCH_ENC_I17_IMM41b_VAL_POS_X

#define EMARCH_ENC_I17_IMM41b_VAL_POS_X   32

◆ EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X

#define EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X   0

◆ EMARCH_ENC_I17_IMM41c_INST_WORD_X

#define EMARCH_ENC_I17_IMM41c_INST_WORD_X   2

◆ EMARCH_ENC_I17_IMM41c_SIZE_X

#define EMARCH_ENC_I17_IMM41c_SIZE_X   23

◆ EMARCH_ENC_I17_IMM41c_VAL_POS_X

#define EMARCH_ENC_I17_IMM41c_VAL_POS_X   40

◆ EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X

#define EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X   13

◆ EMARCH_ENC_I17_IMM5C_INST_WORD_X

#define EMARCH_ENC_I17_IMM5C_INST_WORD_X   3

◆ EMARCH_ENC_I17_IMM5C_SIZE_X

#define EMARCH_ENC_I17_IMM5C_SIZE_X   5

◆ EMARCH_ENC_I17_IMM5C_VAL_POS_X

#define EMARCH_ENC_I17_IMM5C_VAL_POS_X   16

◆ EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X

#define EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X   4

◆ EMARCH_ENC_I17_IMM7B_INST_WORD_X

#define EMARCH_ENC_I17_IMM7B_INST_WORD_X   3

◆ EMARCH_ENC_I17_IMM7B_SIZE_X

#define EMARCH_ENC_I17_IMM7B_SIZE_X   7

◆ EMARCH_ENC_I17_IMM7B_VAL_POS_X

#define EMARCH_ENC_I17_IMM7B_VAL_POS_X   0

◆ EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X

#define EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X   18

◆ EMARCH_ENC_I17_IMM9D_INST_WORD_X

#define EMARCH_ENC_I17_IMM9D_INST_WORD_X   3

◆ EMARCH_ENC_I17_IMM9D_SIZE_X

#define EMARCH_ENC_I17_IMM9D_SIZE_X   9

◆ EMARCH_ENC_I17_IMM9D_VAL_POS_X

#define EMARCH_ENC_I17_IMM9D_VAL_POS_X   7

◆ EMARCH_ENC_I17_SIGN_INST_WORD_POS_X

#define EMARCH_ENC_I17_SIGN_INST_WORD_POS_X   27

◆ EMARCH_ENC_I17_SIGN_INST_WORD_X

#define EMARCH_ENC_I17_SIGN_INST_WORD_X   3

◆ EMARCH_ENC_I17_SIGN_SIZE_X

#define EMARCH_ENC_I17_SIGN_SIZE_X   1

◆ EMARCH_ENC_I17_SIGN_VAL_POS_X

#define EMARCH_ENC_I17_SIGN_VAL_POS_X   63

◆ EXT_IMM64

#define EXT_IMM64 (   Value,
  SourceValue32,
  Size,
  InstPos,
  ValPos 
)     Value |= (((uint64_t)((SourceValue32 >> InstPos) & (((uint64_t)1 << Size) - 1))) << ValPos)

◆ INS_IMM64

#define INS_IMM64 (   Value,
  TargetValue32,
  Size,
  InstPos,
  ValPos 
)
Value:
TargetValue32 = (TargetValue32 & ~(((1 << Size) - 1) << InstPos)) | \
((uint32_t)((((uint64_t)Value >> ValPos) & (((uint64_t)1 << Size) - 1))) << InstPos)

◆ MUST_HAVE_FLAGS

#define MUST_HAVE_FLAGS   (PELIB_IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE | PELIB_IMAGE_DLLCHARACTERISTICS_NX_COMPAT)