miasm
Reverse engineering framework
op_semantics.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h>
#include <math.h>
#include "op_semantics.h"
Include dependency graph for op_semantics.c:

Classes

union  float_uint32_t
 
union  double_uint64_t
 

Functions

uint16_t bcdadd_16 (uint16_t a, uint16_t b)
 
uint16_t bcdadd_cf_16 (uint16_t a, uint16_t b)
 
unsigned int mul_lo_op (unsigned int size, unsigned int a, unsigned int b)
 
unsigned int mul_hi_op (unsigned int size, unsigned int a, unsigned int b)
 
unsigned int imul_lo_op_08 (char a, char b)
 
unsigned int imul_lo_op_16 (short a, short b)
 
unsigned int imul_lo_op_32 (int a, int b)
 
int imul_hi_op_08 (char a, char b)
 
int imul_hi_op_16 (short a, short b)
 
int imul_hi_op_32 (int a, int b)
 
unsigned int umul16_lo (unsigned short a, unsigned short b)
 
unsigned int umul16_hi (unsigned short a, unsigned short b)
 
uint64_t rot_left (uint64_t size, uint64_t a, uint64_t b)
 
uint64_t rot_right (uint64_t size, uint64_t a, uint64_t b)
 
uint64_t cntleadzeros (uint64_t size, uint64_t src)
 
unsigned int cnttrailzeros (uint64_t size, uint64_t src)
 
unsigned int my_imul08 (unsigned int a, unsigned int b)
 
unsigned int x86_cpuid (unsigned int a, unsigned int reg_num)
 
void dump_float (void)
 
uint32_t fpu_fadd32 (uint32_t a, uint32_t b)
 
uint64_t fpu_fadd64 (uint64_t a, uint64_t b)
 
uint32_t fpu_fsub32 (uint32_t a, uint32_t b)
 
uint64_t fpu_fsub64 (uint64_t a, uint64_t b)
 
uint32_t fpu_fmul32 (uint32_t a, uint32_t b)
 
uint64_t fpu_fmul64 (uint64_t a, uint64_t b)
 
uint32_t fpu_fdiv32 (uint32_t a, uint32_t b)
 
uint64_t fpu_fdiv64 (uint64_t a, uint64_t b)
 
double fpu_ftan (double a)
 
double fpu_frndint (double a)
 
double fpu_fsin (double a)
 
double fpu_fcos (double a)
 
double fpu_fscale (double a, double b)
 
double fpu_f2xm1 (double a)
 
uint32_t fpu_fsqrt32 (uint32_t a)
 
uint64_t fpu_fsqrt64 (uint64_t a)
 
uint64_t fpu_fabs64 (uint64_t a)
 
uint64_t fpu_fprem64 (uint64_t a, uint64_t b)
 
double fpu_fchs (double a)
 
double fpu_fyl2x (double a, double b)
 
double fpu_fpatan (double a, double b)
 
unsigned int fpu_fcom_c0 (double a, double b)
 
unsigned int fpu_fcom_c1 (double a, double b)
 
unsigned int fpu_fcom_c2 (double a, double b)
 
unsigned int fpu_fcom_c3 (double a, double b)
 
uint64_t sint_to_fp_64 (int64_t a)
 
uint32_t sint_to_fp_32 (int32_t a)
 
int32_t fp32_to_sint32 (uint32_t a)
 
int64_t fp64_to_sint64 (uint64_t a)
 
int32_t fp64_to_sint32 (uint64_t a)
 
uint32_t fp64_to_fp32 (uint64_t a)
 
uint64_t fp32_to_fp64 (uint32_t a)
 
uint32_t fpround_towardszero_fp32 (uint32_t a)
 
uint64_t fpround_towardszero_fp64 (uint64_t a)
 

Variables

const uint8_t parity_table [256]
 

Function Documentation

◆ bcdadd_16()

uint16_t bcdadd_16 ( uint16_t  a,
uint16_t  b 
)
Here is the call graph for this function:

◆ bcdadd_cf_16()

uint16_t bcdadd_cf_16 ( uint16_t  a,
uint16_t  b 
)
Here is the call graph for this function:

◆ cntleadzeros()

uint64_t cntleadzeros ( uint64_t  size,
uint64_t  src 
)

◆ cnttrailzeros()

unsigned int cnttrailzeros ( uint64_t  size,
uint64_t  src 
)

◆ dump_float()

void dump_float ( void  )
Here is the caller graph for this function:

◆ fp32_to_fp64()

uint64_t fp32_to_fp64 ( uint32_t  a)

◆ fp32_to_sint32()

int32_t fp32_to_sint32 ( uint32_t  a)

◆ fp64_to_fp32()

uint32_t fp64_to_fp32 ( uint64_t  a)

◆ fp64_to_sint32()

int32_t fp64_to_sint32 ( uint64_t  a)

◆ fp64_to_sint64()

int64_t fp64_to_sint64 ( uint64_t  a)

◆ fpround_towardszero_fp32()

uint32_t fpround_towardszero_fp32 ( uint32_t  a)

◆ fpround_towardszero_fp64()

uint64_t fpround_towardszero_fp64 ( uint64_t  a)

◆ fpu_f2xm1()

double fpu_f2xm1 ( double  a)
Here is the call graph for this function:

◆ fpu_fabs64()

uint64_t fpu_fabs64 ( uint64_t  a)
Here is the call graph for this function:

◆ fpu_fadd32()

uint32_t fpu_fadd32 ( uint32_t  a,
uint32_t  b 
)
Here is the call graph for this function:

◆ fpu_fadd64()

uint64_t fpu_fadd64 ( uint64_t  a,
uint64_t  b 
)
Here is the call graph for this function:

◆ fpu_fchs()

double fpu_fchs ( double  a)
Here is the call graph for this function:

◆ fpu_fcom_c0()

unsigned int fpu_fcom_c0 ( double  a,
double  b 
)

◆ fpu_fcom_c1()

unsigned int fpu_fcom_c1 ( double  a,
double  b 
)

◆ fpu_fcom_c2()

unsigned int fpu_fcom_c2 ( double  a,
double  b 
)

◆ fpu_fcom_c3()

unsigned int fpu_fcom_c3 ( double  a,
double  b 
)

◆ fpu_fcos()

double fpu_fcos ( double  a)
Here is the call graph for this function:

◆ fpu_fdiv32()

uint32_t fpu_fdiv32 ( uint32_t  a,
uint32_t  b 
)
Here is the call graph for this function:

◆ fpu_fdiv64()

uint64_t fpu_fdiv64 ( uint64_t  a,
uint64_t  b 
)
Here is the call graph for this function:

◆ fpu_fmul32()

uint32_t fpu_fmul32 ( uint32_t  a,
uint32_t  b 
)
Here is the call graph for this function:

◆ fpu_fmul64()

uint64_t fpu_fmul64 ( uint64_t  a,
uint64_t  b 
)
Here is the call graph for this function:

◆ fpu_fpatan()

double fpu_fpatan ( double  a,
double  b 
)
Here is the call graph for this function:

◆ fpu_fprem64()

uint64_t fpu_fprem64 ( uint64_t  a,
uint64_t  b 
)
Here is the call graph for this function:

◆ fpu_frndint()

double fpu_frndint ( double  a)
Here is the call graph for this function:

◆ fpu_fscale()

double fpu_fscale ( double  a,
double  b 
)
Here is the call graph for this function:

◆ fpu_fsin()

double fpu_fsin ( double  a)
Here is the call graph for this function:

◆ fpu_fsqrt32()

uint32_t fpu_fsqrt32 ( uint32_t  a)
Here is the call graph for this function:

◆ fpu_fsqrt64()

uint64_t fpu_fsqrt64 ( uint64_t  a)
Here is the call graph for this function:

◆ fpu_fsub32()

uint32_t fpu_fsub32 ( uint32_t  a,
uint32_t  b 
)
Here is the call graph for this function:

◆ fpu_fsub64()

uint64_t fpu_fsub64 ( uint64_t  a,
uint64_t  b 
)
Here is the call graph for this function:

◆ fpu_ftan()

double fpu_ftan ( double  a)
Here is the call graph for this function:

◆ fpu_fyl2x()

double fpu_fyl2x ( double  a,
double  b 
)
Here is the call graph for this function:

◆ imul_hi_op_08()

int imul_hi_op_08 ( char  a,
char  b 
)

◆ imul_hi_op_16()

int imul_hi_op_16 ( short  a,
short  b 
)

◆ imul_hi_op_32()

int imul_hi_op_32 ( int  a,
int  b 
)

◆ imul_lo_op_08()

unsigned int imul_lo_op_08 ( char  a,
char  b 
)

◆ imul_lo_op_16()

unsigned int imul_lo_op_16 ( short  a,
short  b 
)

◆ imul_lo_op_32()

unsigned int imul_lo_op_32 ( int  a,
int  b 
)

◆ mul_hi_op()

unsigned int mul_hi_op ( unsigned int  size,
unsigned int  a,
unsigned int  b 
)

◆ mul_lo_op()

unsigned int mul_lo_op ( unsigned int  size,
unsigned int  a,
unsigned int  b 
)

◆ my_imul08()

unsigned int my_imul08 ( unsigned int  a,
unsigned int  b 
)

◆ rot_left()

uint64_t rot_left ( uint64_t  size,
uint64_t  a,
uint64_t  b 
)

◆ rot_right()

uint64_t rot_right ( uint64_t  size,
uint64_t  a,
uint64_t  b 
)

◆ sint_to_fp_32()

uint32_t sint_to_fp_32 ( int32_t  a)

◆ sint_to_fp_64()

uint64_t sint_to_fp_64 ( int64_t  a)

◆ umul16_hi()

unsigned int umul16_hi ( unsigned short  a,
unsigned short  b 
)

◆ umul16_lo()

unsigned int umul16_lo ( unsigned short  a,
unsigned short  b 
)

◆ x86_cpuid()

unsigned int x86_cpuid ( unsigned int  a,
unsigned int  reg_num 
)

Variable Documentation

◆ parity_table

const uint8_t parity_table[256]