mirror of
https://github.com/ptitSeb/box86.git
synced 2025-02-14 19:37:23 +00:00
Upgrade the python generator (no more config skip)
This commit is contained in:
parent
1e605a9561
commit
26f50ca98c
@ -17,15 +17,15 @@ def splitchar(s):
|
||||
|
||||
def main(root, defines):
|
||||
# Initialize variables: gbl for all values, vals for file-per-file values, redirects for redirections
|
||||
gbl = []
|
||||
gbl = {}
|
||||
vals = {}
|
||||
redirects = {}
|
||||
|
||||
# First read the files inside the headers
|
||||
for filepath in glob.glob(os.path.join(root, "src", "wrapped*_private.h")):
|
||||
filename = filepath.split("/")[-1]
|
||||
locval = []
|
||||
readline = True
|
||||
locval = {}
|
||||
dependants = []
|
||||
with open(filepath, 'r') as file:
|
||||
for line in file:
|
||||
ln = line.strip()
|
||||
@ -40,13 +40,18 @@ def main(root, defines):
|
||||
elif preproc_cmd.startswith("error"):
|
||||
continue #error meh!
|
||||
elif preproc_cmd.startswith("endif"):
|
||||
readline = True
|
||||
if dependants != []:
|
||||
dependants.pop()
|
||||
elif preproc_cmd.startswith("ifdef"):
|
||||
readline = defines[preproc_cmd[5:].strip()]
|
||||
dependants.append("defined(" + preproc_cmd[5:].strip() + ")")
|
||||
elif preproc_cmd.startswith("ifndef"):
|
||||
readline = not defines[preproc_cmd[6:].strip()]
|
||||
dependants.append("!defined(" + preproc_cmd[5:].strip() + ")")
|
||||
elif preproc_cmd.startswith("else"):
|
||||
readline = not readline
|
||||
before = dependants.pop()
|
||||
if before.startswith("!"):
|
||||
dependants.append("defined(" + before[9:-1].strip() + ")")
|
||||
else:
|
||||
dependants.append("!defined(" + before[8:-1].strip() + ")")
|
||||
else:
|
||||
raise NotImplementedError("Unknown preprocessor directive: {0} ({1}:{2})".format(
|
||||
preproc_cmd.split(" ")[0], filename, line[:-1]
|
||||
@ -54,9 +59,9 @@ def main(root, defines):
|
||||
except KeyError as k:
|
||||
raise NotImplementedError("Unknown key: {0} ({1}:{2})".format(
|
||||
k.args[0], filename, line[:-1]
|
||||
))
|
||||
), k)
|
||||
# If the line is a `GO...' line (GO/GOM/GO2/...)...
|
||||
elif ln.startswith("GO") and readline:
|
||||
elif ln.startswith("GO"):
|
||||
# ... then look at the second parameter of the line
|
||||
ln = ln.split(",")[1].split(")")[0].strip()
|
||||
|
||||
@ -74,19 +79,73 @@ def main(root, defines):
|
||||
.replace("o", "p") # stdout -> pointer
|
||||
.replace("0", "p") # 0 -> pointer
|
||||
.replace("1", "i")) # 1 -> integer
|
||||
redirects[old] = ln
|
||||
redirects.setdefault(" && ".join(dependants), {})
|
||||
redirects[" && ".join(dependants)][old] = ln
|
||||
# Simply append the function name if it's not yet existing
|
||||
if ln not in locval:
|
||||
locval.append(ln)
|
||||
if ln not in gbl:
|
||||
gbl.append(ln)
|
||||
locval.setdefault(" && ".join(dependants), [])
|
||||
gbl.setdefault(" && ".join(dependants), [])
|
||||
if ln not in locval[" && ".join(dependants)]:
|
||||
locval[" && ".join(dependants)].append(ln)
|
||||
if ln not in gbl[" && ".join(dependants)]:
|
||||
gbl[" && ".join(dependants)].append(ln)
|
||||
|
||||
# Sort the file local values and add it to the dictionary
|
||||
locval.sort(key=lambda v: splitchar(v))
|
||||
for k in locval:
|
||||
locval[k].sort(key=lambda v: splitchar(v))
|
||||
vals[filename] = locval
|
||||
|
||||
gbl_vals = {}
|
||||
for k in gbl:
|
||||
for v in gbl[k]:
|
||||
if k == "()":
|
||||
gbl_vals[v] = [k]
|
||||
continue
|
||||
if gbl_vals.has_key(v):
|
||||
for other_key in gbl_vals[v]:
|
||||
if other_key == "()":
|
||||
break
|
||||
other_key_vals = other_key.split(" && ")
|
||||
for other_key_val in other_key_vals:
|
||||
if other_key_val not in k:
|
||||
break
|
||||
else:
|
||||
break
|
||||
else:
|
||||
gbl_vals[v].append(k)
|
||||
else:
|
||||
gbl_vals[v] = [k]
|
||||
gbl = {}
|
||||
for k in gbl_vals:
|
||||
key = "(" + (") || (".join(gbl_vals[k])) + ")"
|
||||
gbl[key] = gbl.get(key, []) + [k]
|
||||
|
||||
redirects_vals = {}
|
||||
for k in redirects:
|
||||
for v in redirects[k]:
|
||||
if redirects_vals.has_key(v):
|
||||
for other_key in redirects_vals[v]:
|
||||
if other_key == "()":
|
||||
break
|
||||
other_key_vals = other_key.split(" && ")
|
||||
for other_key_val in other_key_vals:
|
||||
if other_key_val not in k:
|
||||
break
|
||||
else:
|
||||
break
|
||||
else:
|
||||
redirects_vals[(v, redirects[k][v])].append(k)
|
||||
else:
|
||||
redirects_vals[(v, redirects[k][v])] = [k]
|
||||
redirects = {}
|
||||
for k, v in redirects_vals:
|
||||
key = "(" + (") || (".join(redirects_vals[(k, v)])) + ")"
|
||||
val = redirects.get(key, {})
|
||||
val[k] = v
|
||||
redirects[key] = val
|
||||
|
||||
# Sort the table
|
||||
gbl.sort(key=lambda v: splitchar(v))
|
||||
for k in gbl:
|
||||
gbl[k].sort(key=lambda v: splitchar(v))
|
||||
|
||||
def length(s):
|
||||
l = len(s)
|
||||
@ -100,7 +159,7 @@ def main(root, defines):
|
||||
# File headers and guards
|
||||
files_headers = {
|
||||
"wrapper.c": """/*****************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v1.0.0.02)
|
||||
* File automatically generated by rebuild_wrappers.py (v1.1.0.03)
|
||||
*****************************************************************/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -126,7 +185,7 @@ typedef union ui64_s {
|
||||
|
||||
""",
|
||||
"wrapper.h": """/*****************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v1.0.0.02)
|
||||
* File automatically generated by rebuild_wrappers.py (v1.1.0.03)
|
||||
*****************************************************************/
|
||||
#ifndef __WRAPPER_H_
|
||||
#define __WRAPPER_H_
|
||||
@ -158,15 +217,29 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
||||
}
|
||||
|
||||
# Transform strings into arrays
|
||||
gbl = [[c for c in v] for v in gbl]
|
||||
for k in gbl:
|
||||
gbl[k] = [[c for c in v] for v in gbl[k]]
|
||||
|
||||
# Rewrite the wrapper.h file:
|
||||
with open(os.path.join(root, "src", "wrapper.h"), 'w') as file:
|
||||
file.write(files_headers["wrapper.h"])
|
||||
for v in gbl:
|
||||
for v in gbl["()"]:
|
||||
file.write("void " + ''.join(v) + "(x86emu_t *emu, uintptr_t fnc);\n")
|
||||
for v in redirects:
|
||||
for k in gbl:
|
||||
if k != "()":
|
||||
file.write("\n#if " + k + "\n")
|
||||
for v in gbl[k]:
|
||||
file.write("void " + ''.join(v) + "(x86emu_t *emu, uintptr_t fnc);\n")
|
||||
file.write("#endif\n")
|
||||
file.write("\n")
|
||||
for v in redirects["()"]:
|
||||
file.write("void " + ''.join(v) + "(x86emu_t *emu, uintptr_t fnc);\n")
|
||||
for k in redirects:
|
||||
if k != "()":
|
||||
file.write("\n#if " + k + "\n")
|
||||
for v in redirects[k]:
|
||||
file.write("void " + ''.join(v) + "(x86emu_t *emu, uintptr_t fnc);\n")
|
||||
file.write("#endif\n")
|
||||
file.write(files_guards["wrapper.h"])
|
||||
|
||||
# Rewrite the wrapper.c file:
|
||||
@ -174,7 +247,7 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
||||
file.write(files_headers["wrapper.c"])
|
||||
|
||||
# First part: typedefs
|
||||
for v in gbl:
|
||||
for v in gbl["()"]:
|
||||
# E e v c w i I C W u U f d D L p V
|
||||
types = ["x86emu_t*", "x86emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "void*", "void*"]
|
||||
if len(values) != len(types):
|
||||
@ -182,6 +255,18 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
||||
|
||||
file.write("typedef " + types[values.index(v[0])] + " (*" + ''.join(v) + "_t)"
|
||||
+ "(" + ', '.join(types[values.index(t)] for t in v[2:]) + ");\n")
|
||||
for k in gbl:
|
||||
if k != "()":
|
||||
file.write("\n#if " + k + "\n")
|
||||
for v in gbl[k]:
|
||||
# E e v c w i I C W u U f d D L p V
|
||||
types = ["x86emu_t*", "x86emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "void*", "void*"]
|
||||
if len(values) != len(types):
|
||||
raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
|
||||
|
||||
file.write("typedef " + types[values.index(v[0])] + " (*" + ''.join(v) + "_t)"
|
||||
+ "(" + ', '.join(types[values.index(t)] for t in v[2:]) + ");\n")
|
||||
file.write("#endif\n")
|
||||
|
||||
# Next part: function definitions
|
||||
|
||||
@ -238,10 +323,10 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
||||
"R_EAX=(unsigned short)fn({0});", # W
|
||||
"R_EAX=(uint32_t)fn({0});", # u
|
||||
"ui64_t r; r.u=(uint64_t)fn({0}); R_EAX=r.d[0]; R_EDX=r.d[1];", # U
|
||||
"float fl=fn({0}); fpu_do_push(emu); ST0val = fl;", # f
|
||||
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # d
|
||||
"long double ld=fn({0}); fpu_do_push(emu); ST0val = ld;", # D
|
||||
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # L
|
||||
"float fl=fn({0}); fpu_do_push(emu); ST0val = fl;", # f
|
||||
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # d
|
||||
"long double ld=fn({0}); fpu_do_push(emu); ST0val = ld;", # D
|
||||
"double db=fn({0}); fpu_do_push(emu); ST0val = db;", # L
|
||||
"R_EAX=(uintptr_t)fn({0});", # p
|
||||
"\n#error Invalid return type: va_list\n", # V
|
||||
]
|
||||
@ -249,10 +334,23 @@ typedef void (*wrapper_t)(x86emu_t* emu, uintptr_t fnc);
|
||||
raise NotImplementedError("len(values) = {lenval} != len(vals) = {lenvals}".format(lenval=len(values), lenvals=len(vals)))
|
||||
f.write(vals[values.index(rettype)].format(function_args(args)[:-2]) + " }\n")
|
||||
|
||||
for v in gbl:
|
||||
for v in gbl["()"]:
|
||||
function_writer(file, ''.join(v), ''.join(v) + "_t", v[0], v[2:])
|
||||
for v in redirects:
|
||||
function_writer(file, v, redirects[v] + "_t", v[0], v[2:])
|
||||
for k in gbl:
|
||||
if k != "()":
|
||||
file.write("\n#if " + k + "\n")
|
||||
for v in gbl[k]:
|
||||
function_writer(file, ''.join(v), ''.join(v) + "_t", v[0], v[2:])
|
||||
file.write("#endif\n")
|
||||
file.write("\n")
|
||||
for v in redirects["()"]:
|
||||
function_writer(file, v, redirects["()"][v] + "_t", v[0], v[2:])
|
||||
for k in redirects:
|
||||
if k != "()":
|
||||
file.write("\n#if " + k + "\n")
|
||||
for v in redirects[k]:
|
||||
function_writer(file, v, redirects[k][v] + "_t", v[0], v[2:])
|
||||
file.write("#endif\n")
|
||||
|
||||
file.write(files_guards["wrapper.c"])
|
||||
|
||||
|
103
src/wrapper.c
103
src/wrapper.c
@ -1,5 +1,5 @@
|
||||
/*****************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v1.0.0.02)
|
||||
* File automatically generated by rebuild_wrappers.py (v1.1.0.03)
|
||||
*****************************************************************/
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@ -54,7 +54,6 @@ typedef double (*dFv_t)(void);
|
||||
typedef double (*dFi_t)(int32_t);
|
||||
typedef double (*dFd_t)(double);
|
||||
typedef double (*dFp_t)(void*);
|
||||
typedef double (*LFL_t)(double);
|
||||
typedef void* (*pFE_t)(x86emu_t*);
|
||||
typedef void* (*pFv_t)(void);
|
||||
typedef void* (*pFi_t)(int32_t);
|
||||
@ -98,7 +97,6 @@ typedef int32_t (*iFpU_t)(void*, uint64_t);
|
||||
typedef int32_t (*iFpd_t)(void*, double);
|
||||
typedef int32_t (*iFpp_t)(void*, void*);
|
||||
typedef int32_t (*iFpV_t)(void*, void*);
|
||||
typedef int64_t (*IFEp_t)(x86emu_t*, void*);
|
||||
typedef int64_t (*IFpu_t)(void*, uint32_t);
|
||||
typedef uint8_t (*CFui_t)(uint32_t, int32_t);
|
||||
typedef uint8_t (*CFpi_t)(void*, int32_t);
|
||||
@ -118,15 +116,12 @@ typedef float (*fFfi_t)(float, int32_t);
|
||||
typedef float (*fFff_t)(float, float);
|
||||
typedef float (*fFfp_t)(float, void*);
|
||||
typedef float (*fFpp_t)(void*, void*);
|
||||
typedef double (*dFEp_t)(x86emu_t*, void*);
|
||||
typedef double (*dFuu_t)(uint32_t, uint32_t);
|
||||
typedef double (*dFdi_t)(double, int32_t);
|
||||
typedef double (*dFdd_t)(double, double);
|
||||
typedef double (*dFdp_t)(double, void*);
|
||||
typedef double (*dFpp_t)(void*, void*);
|
||||
typedef long double (*DFpp_t)(void*, void*);
|
||||
typedef double (*LFLL_t)(double, double);
|
||||
typedef double (*LFLp_t)(double, void*);
|
||||
typedef void* (*pFEp_t)(x86emu_t*, void*);
|
||||
typedef void* (*pFii_t)(int32_t, int32_t);
|
||||
typedef void* (*pFip_t)(int32_t, void*);
|
||||
@ -184,8 +179,6 @@ typedef void (*vFppu_t)(void*, void*, uint32_t);
|
||||
typedef void (*vFppp_t)(void*, void*, void*);
|
||||
typedef int32_t (*iFEup_t)(x86emu_t*, uint32_t, void*);
|
||||
typedef int32_t (*iFEpi_t)(x86emu_t*, void*, int32_t);
|
||||
typedef int32_t (*iFEpI_t)(x86emu_t*, void*, int64_t);
|
||||
typedef int32_t (*iFEpd_t)(x86emu_t*, void*, double);
|
||||
typedef int32_t (*iFEpp_t)(x86emu_t*, void*, void*);
|
||||
typedef int32_t (*iFiii_t)(int32_t, int32_t, int32_t);
|
||||
typedef int32_t (*iFiiu_t)(int32_t, int32_t, uint32_t);
|
||||
@ -218,7 +211,6 @@ typedef int32_t (*iFppu_t)(void*, void*, uint32_t);
|
||||
typedef int32_t (*iFppd_t)(void*, void*, double);
|
||||
typedef int32_t (*iFppp_t)(void*, void*, void*);
|
||||
typedef int32_t (*iFppV_t)(void*, void*, void*);
|
||||
typedef int64_t (*IFEpi_t)(x86emu_t*, void*, int32_t);
|
||||
typedef int64_t (*IFiIi_t)(int32_t, int64_t, int32_t);
|
||||
typedef int64_t (*IFpIi_t)(void*, int64_t, int32_t);
|
||||
typedef int64_t (*IFppi_t)(void*, void*, int32_t);
|
||||
@ -244,7 +236,6 @@ typedef uint64_t (*UFppi_t)(void*, void*, int32_t);
|
||||
typedef float (*fFuii_t)(uint32_t, int32_t, int32_t);
|
||||
typedef float (*fFppu_t)(void*, void*, uint32_t);
|
||||
typedef float (*fFppp_t)(void*, void*, void*);
|
||||
typedef double (*dFEpi_t)(x86emu_t*, void*, int32_t);
|
||||
typedef double (*dFppu_t)(void*, void*, uint32_t);
|
||||
typedef double (*dFppp_t)(void*, void*, void*);
|
||||
typedef long double (*DFppu_t)(void*, void*, uint32_t);
|
||||
@ -482,13 +473,9 @@ typedef void (*vFppiip_t)(void*, void*, int32_t, int32_t, void*);
|
||||
typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
|
||||
typedef void (*vFppppi_t)(void*, void*, void*, void*, int32_t);
|
||||
typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFEiiip_t)(x86emu_t*, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFEipii_t)(x86emu_t*, int32_t, void*, int32_t, int32_t);
|
||||
typedef int32_t (*iFEippp_t)(x86emu_t*, int32_t, void*, void*, void*);
|
||||
typedef int32_t (*iFEpipp_t)(x86emu_t*, void*, int32_t, void*, void*);
|
||||
typedef int32_t (*iFEpupV_t)(x86emu_t*, void*, uint32_t, void*, void*);
|
||||
typedef int32_t (*iFEppip_t)(x86emu_t*, void*, void*, int32_t, void*);
|
||||
typedef int32_t (*iFEpppi_t)(x86emu_t*, void*, void*, void*, int32_t);
|
||||
typedef int32_t (*iFEpppp_t)(x86emu_t*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFEpppV_t)(x86emu_t*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFEppVV_t)(x86emu_t*, void*, void*, void*, void*);
|
||||
@ -733,7 +720,6 @@ typedef void (*vFppiiipii_t)(void*, void*, int32_t, int32_t, int32_t, void*, int
|
||||
typedef void (*vFppippppi_t)(void*, void*, int32_t, void*, void*, void*, void*, int32_t);
|
||||
typedef void (*vFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, void*, int32_t);
|
||||
typedef int32_t (*iFEpippppp_t)(x86emu_t*, void*, int32_t, void*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFEppiiiip_t)(x86emu_t*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFiiippppp_t)(int32_t, int32_t, int32_t, void*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFiiuuuuuu_t)(int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
||||
@ -769,7 +755,6 @@ typedef void (*vFppiiipiii_t)(void*, void*, int32_t, int32_t, int32_t, void*, in
|
||||
typedef void (*vFppuuiiiii_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int32_t, void*, void*, void*);
|
||||
typedef void (*vFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFEpppipppp_t)(x86emu_t*, void*, void*, void*, int32_t, void*, void*, void*, void*);
|
||||
typedef int32_t (*iFiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFiiiipiiip_t)(int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFdddpppppp_t)(double, double, double, void*, void*, void*, void*, void*, void*);
|
||||
@ -843,6 +828,39 @@ typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_
|
||||
typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float);
|
||||
typedef uint32_t (*uFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
|
||||
typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
|
||||
|
||||
#if (defined(NOALIGN))
|
||||
typedef int64_t (*IFpi_t)(void*, int32_t);
|
||||
typedef double (*dFpi_t)(void*, int32_t);
|
||||
typedef int32_t (*iFppiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFEpppipppp_t)(x86emu_t*, void*, void*, void*, int32_t, void*, void*, void*, void*);
|
||||
#endif
|
||||
|
||||
#if (!defined(NOALIGN))
|
||||
typedef int64_t (*IFEp_t)(x86emu_t*, void*);
|
||||
typedef double (*dFEp_t)(x86emu_t*, void*);
|
||||
typedef int32_t (*iFEpI_t)(x86emu_t*, void*, int64_t);
|
||||
typedef int32_t (*iFEpd_t)(x86emu_t*, void*, double);
|
||||
typedef int64_t (*IFEpi_t)(x86emu_t*, void*, int32_t);
|
||||
typedef double (*dFEpi_t)(x86emu_t*, void*, int32_t);
|
||||
typedef int32_t (*iFEiiip_t)(x86emu_t*, int32_t, int32_t, int32_t, void*);
|
||||
typedef int32_t (*iFEipii_t)(x86emu_t*, int32_t, void*, int32_t, int32_t);
|
||||
typedef int32_t (*iFEppip_t)(x86emu_t*, void*, void*, int32_t, void*);
|
||||
typedef int32_t (*iFEpppi_t)(x86emu_t*, void*, void*, void*, int32_t);
|
||||
typedef int32_t (*iFEppiiiip_t)(x86emu_t*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*);
|
||||
#endif
|
||||
|
||||
#if (defined(HAVE_LD80BITS))
|
||||
typedef long double (*DFD_t)(long double);
|
||||
typedef long double (*DFDD_t)(long double, long double);
|
||||
typedef long double (*DFDp_t)(long double, void*);
|
||||
#endif
|
||||
|
||||
#if (!defined(HAVE_LD80BITS))
|
||||
typedef double (*LFL_t)(double);
|
||||
typedef double (*LFLL_t)(double, double);
|
||||
typedef double (*LFLp_t)(double, void*);
|
||||
#endif
|
||||
void iF(x86emu_t *emu, uintptr_t fcn) { iF_t fn = (iF_t)fcn; R_EAX=fn(); }
|
||||
void vFE(x86emu_t *emu, uintptr_t fcn) { vFE_t fn = (vFE_t)fcn; fn(emu); }
|
||||
void vFv(x86emu_t *emu, uintptr_t fcn) { vFv_t fn = (vFv_t)fcn; fn(); }
|
||||
@ -874,7 +892,6 @@ void dFv(x86emu_t *emu, uintptr_t fcn) { dFv_t fn = (dFv_t)fcn; double db=fn();
|
||||
void dFi(x86emu_t *emu, uintptr_t fcn) { dFi_t fn = (dFi_t)fcn; double db=fn(*(int32_t*)(R_ESP + 4)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFd(x86emu_t *emu, uintptr_t fcn) { dFd_t fn = (dFd_t)fcn; double db=fn(*(double*)(R_ESP + 4)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFp(x86emu_t *emu, uintptr_t fcn) { dFp_t fn = (dFp_t)fcn; double db=fn(*(void**)(R_ESP + 4)); fpu_do_push(emu); ST0val = db; }
|
||||
void LFL(x86emu_t *emu, uintptr_t fcn) { LFL_t fn = (LFL_t)fcn; double db=fn(FromLD((void*)(R_ESP + 4))); fpu_do_push(emu); ST0val = db; }
|
||||
void pFE(x86emu_t *emu, uintptr_t fcn) { pFE_t fn = (pFE_t)fcn; R_EAX=(uintptr_t)fn(emu); }
|
||||
void pFv(x86emu_t *emu, uintptr_t fcn) { pFv_t fn = (pFv_t)fcn; R_EAX=(uintptr_t)fn(); }
|
||||
void pFi(x86emu_t *emu, uintptr_t fcn) { pFi_t fn = (pFi_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4)); }
|
||||
@ -918,7 +935,6 @@ void iFpU(x86emu_t *emu, uintptr_t fcn) { iFpU_t fn = (iFpU_t)fcn; R_EAX=fn(*(vo
|
||||
void iFpd(x86emu_t *emu, uintptr_t fcn) { iFpd_t fn = (iFpd_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(double*)(R_ESP + 8)); }
|
||||
void iFpp(x86emu_t *emu, uintptr_t fcn) { iFpp_t fn = (iFpp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
||||
void iFpV(x86emu_t *emu, uintptr_t fcn) { iFpV_t fn = (iFpV_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), (void*)(R_ESP + 8)); }
|
||||
void IFEp(x86emu_t *emu, uintptr_t fcn) { IFEp_t fn = (IFEp_t)fcn; ui64_t r; r.i=fn(emu, *(void**)(R_ESP + 4)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void IFpu(x86emu_t *emu, uintptr_t fcn) { IFpu_t fn = (IFpu_t)fcn; ui64_t r; r.i=fn(*(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void CFui(x86emu_t *emu, uintptr_t fcn) { CFui_t fn = (CFui_t)fcn; R_EAX=(unsigned char)fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); }
|
||||
void CFpi(x86emu_t *emu, uintptr_t fcn) { CFpi_t fn = (CFpi_t)fcn; R_EAX=(unsigned char)fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); }
|
||||
@ -938,15 +954,12 @@ void fFfi(x86emu_t *emu, uintptr_t fcn) { fFfi_t fn = (fFfi_t)fcn; float fl=fn(*
|
||||
void fFff(x86emu_t *emu, uintptr_t fcn) { fFff_t fn = (fFff_t)fcn; float fl=fn(*(float*)(R_ESP + 4), *(float*)(R_ESP + 8)); fpu_do_push(emu); ST0val = fl; }
|
||||
void fFfp(x86emu_t *emu, uintptr_t fcn) { fFfp_t fn = (fFfp_t)fcn; float fl=fn(*(float*)(R_ESP + 4), *(void**)(R_ESP + 8)); fpu_do_push(emu); ST0val = fl; }
|
||||
void fFpp(x86emu_t *emu, uintptr_t fcn) { fFpp_t fn = (fFpp_t)fcn; float fl=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); fpu_do_push(emu); ST0val = fl; }
|
||||
void dFEp(x86emu_t *emu, uintptr_t fcn) { dFEp_t fn = (dFEp_t)fcn; double db=fn(emu, *(void**)(R_ESP + 4)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFuu(x86emu_t *emu, uintptr_t fcn) { dFuu_t fn = (dFuu_t)fcn; double db=fn(*(uint32_t*)(R_ESP + 4), *(uint32_t*)(R_ESP + 8)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFdi(x86emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; double db=fn(*(double*)(R_ESP + 4), *(int32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFdd(x86emu_t *emu, uintptr_t fcn) { dFdd_t fn = (dFdd_t)fcn; double db=fn(*(double*)(R_ESP + 4), *(double*)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFdp(x86emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; double db=fn(*(double*)(R_ESP + 4), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFpp(x86emu_t *emu, uintptr_t fcn) { dFpp_t fn = (dFpp_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); fpu_do_push(emu); ST0val = db; }
|
||||
void DFpp(x86emu_t *emu, uintptr_t fcn) { DFpp_t fn = (DFpp_t)fcn; long double ld=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); fpu_do_push(emu); ST0val = ld; }
|
||||
void LFLL(x86emu_t *emu, uintptr_t fcn) { LFLL_t fn = (LFLL_t)fcn; double db=fn(FromLD((void*)(R_ESP + 4)), FromLD((void*)(R_ESP + 16))); fpu_do_push(emu); ST0val = db; }
|
||||
void LFLp(x86emu_t *emu, uintptr_t fcn) { LFLp_t fn = (LFLp_t)fcn; double db=fn(FromLD((void*)(R_ESP + 4)), *(void**)(R_ESP + 16)); fpu_do_push(emu); ST0val = db; }
|
||||
void pFEp(x86emu_t *emu, uintptr_t fcn) { pFEp_t fn = (pFEp_t)fcn; R_EAX=(uintptr_t)fn(emu, *(void**)(R_ESP + 4)); }
|
||||
void pFii(x86emu_t *emu, uintptr_t fcn) { pFii_t fn = (pFii_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); }
|
||||
void pFip(x86emu_t *emu, uintptr_t fcn) { pFip_t fn = (pFip_t)fcn; R_EAX=(uintptr_t)fn(*(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
||||
@ -1004,8 +1017,6 @@ void vFppu(x86emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn(*(void*
|
||||
void vFppp(x86emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void iFEup(x86emu_t *emu, uintptr_t fcn) { iFEup_t fn = (iFEup_t)fcn; R_EAX=fn(emu, *(uint32_t*)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
||||
void iFEpi(x86emu_t *emu, uintptr_t fcn) { iFEpi_t fn = (iFEpi_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); }
|
||||
void iFEpI(x86emu_t *emu, uintptr_t fcn) { iFEpI_t fn = (iFEpI_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int64_t*)(R_ESP + 8)); }
|
||||
void iFEpd(x86emu_t *emu, uintptr_t fcn) { iFEpd_t fn = (iFEpd_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(double*)(R_ESP + 8)); }
|
||||
void iFEpp(x86emu_t *emu, uintptr_t fcn) { iFEpp_t fn = (iFEpp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8)); }
|
||||
void iFiii(x86emu_t *emu, uintptr_t fcn) { iFiii_t fn = (iFiii_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); }
|
||||
void iFiiu(x86emu_t *emu, uintptr_t fcn) { iFiiu_t fn = (iFiiu_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); }
|
||||
@ -1038,7 +1049,6 @@ void iFppu(x86emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_EAX=fn(*
|
||||
void iFppd(x86emu_t *emu, uintptr_t fcn) { iFppd_t fn = (iFppd_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(double*)(R_ESP + 12)); }
|
||||
void iFppp(x86emu_t *emu, uintptr_t fcn) { iFppp_t fn = (iFppp_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); }
|
||||
void iFppV(x86emu_t *emu, uintptr_t fcn) { iFppV_t fn = (iFppV_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), (void*)(R_ESP + 12)); }
|
||||
void IFEpi(x86emu_t *emu, uintptr_t fcn) { IFEpi_t fn = (IFEpi_t)fcn; ui64_t r; r.i=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void IFiIi(x86emu_t *emu, uintptr_t fcn) { IFiIi_t fn = (IFiIi_t)fcn; ui64_t r; r.i=fn(*(int32_t*)(R_ESP + 4), *(int64_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 16)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void IFpIi(x86emu_t *emu, uintptr_t fcn) { IFpIi_t fn = (IFpIi_t)fcn; ui64_t r; r.i=fn(*(void**)(R_ESP + 4), *(int64_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 16)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void IFppi(x86emu_t *emu, uintptr_t fcn) { IFppi_t fn = (IFppi_t)fcn; ui64_t r; r.i=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
@ -1064,7 +1074,6 @@ void UFppi(x86emu_t *emu, uintptr_t fcn) { UFppi_t fn = (UFppi_t)fcn; ui64_t r;
|
||||
void fFuii(x86emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; float fl=fn(*(uint32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
|
||||
void fFppu(x86emu_t *emu, uintptr_t fcn) { fFppu_t fn = (fFppu_t)fcn; float fl=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
|
||||
void fFppp(x86emu_t *emu, uintptr_t fcn) { fFppp_t fn = (fFppp_t)fcn; float fl=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
|
||||
void dFEpi(x86emu_t *emu, uintptr_t fcn) { dFEpi_t fn = (dFEpi_t)fcn; double db=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFppu(x86emu_t *emu, uintptr_t fcn) { dFppu_t fn = (dFppu_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||
void dFppp(x86emu_t *emu, uintptr_t fcn) { dFppp_t fn = (dFppp_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
|
||||
void DFppu(x86emu_t *emu, uintptr_t fcn) { DFppu_t fn = (DFppu_t)fcn; long double ld=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12)); fpu_do_push(emu); ST0val = ld; }
|
||||
@ -1302,13 +1311,9 @@ void vFppiip(x86emu_t *emu, uintptr_t fcn) { vFppiip_t fn = (vFppiip_t)fcn; fn(*
|
||||
void vFpppii(x86emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFppppi(x86emu_t *emu, uintptr_t fcn) { vFppppi_t fn = (vFppppi_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20)); }
|
||||
void vFppppp(x86emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFEiiip(x86emu_t *emu, uintptr_t fcn) { iFEiiip_t fn = (iFEiiip_t)fcn; R_EAX=fn(emu, *(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEipii(x86emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R_EAX=fn(emu, *(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void iFEippp(x86emu_t *emu, uintptr_t fcn) { iFEippp_t fn = (iFEippp_t)fcn; R_EAX=fn(emu, *(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpipp(x86emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpupV(x86emu_t *emu, uintptr_t fcn) { iFEpupV_t fn = (iFEpupV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void iFEppip(x86emu_t *emu, uintptr_t fcn) { iFEppip_t fn = (iFEppip_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpppi(x86emu_t *emu, uintptr_t fcn) { iFEpppi_t fn = (iFEpppi_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void iFEpppp(x86emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpppV(x86emu_t *emu, uintptr_t fcn) { iFEpppV_t fn = (iFEpppV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16)); }
|
||||
void iFEppVV(x86emu_t *emu, uintptr_t fcn) { iFEppVV_t fn = (iFEppVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), (void*)(R_ESP + 12), (void*)(R_ESP + 12)); }
|
||||
@ -1553,7 +1558,6 @@ void vFppiiipii(x86emu_t *emu, uintptr_t fcn) { vFppiiipii_t fn = (vFppiiipii_t)
|
||||
void vFppippppi(x86emu_t *emu, uintptr_t fcn) { vFppippppi_t fn = (vFppippppi_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(int32_t*)(R_ESP + 32)); }
|
||||
void vFppppiipi(x86emu_t *emu, uintptr_t fcn) { vFppppiipi_t fn = (vFppppiipi_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28), *(int32_t*)(R_ESP + 32)); }
|
||||
void iFEpippppp(x86emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void iFEppiiiip(x86emu_t *emu, uintptr_t fcn) { iFEppiiiip_t fn = (iFEppiiiip_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void iFiiiiiiip(x86emu_t *emu, uintptr_t fcn) { iFiiiiiiip_t fn = (iFiiiiiiip_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void iFiiippppp(x86emu_t *emu, uintptr_t fcn) { iFiiippppp_t fn = (iFiiippppp_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void iFiiuuuuuu(x86emu_t *emu, uintptr_t fcn) { iFiiuuuuuu_t fn = (iFiiuuuuuu_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(uint32_t*)(R_ESP + 20), *(uint32_t*)(R_ESP + 24), *(uint32_t*)(R_ESP + 28), *(uint32_t*)(R_ESP + 32)); }
|
||||
@ -1589,7 +1593,6 @@ void vFppiiipiii(x86emu_t *emu, uintptr_t fcn) { vFppiiipiii_t fn = (vFppiiipiii
|
||||
void vFppuuiiiii(x86emu_t *emu, uintptr_t fcn) { vFppuuiiiii_t fn = (vFppuuiiiii_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(uint32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32), *(int32_t*)(R_ESP + 36)); }
|
||||
void vFpppppippp(x86emu_t *emu, uintptr_t fcn) { vFpppppippp_t fn = (vFpppppippp_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void vFppppppppp(x86emu_t *emu, uintptr_t fcn) { vFppppppppp_t fn = (vFppppppppp_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void iFEpppipppp(x86emu_t *emu, uintptr_t fcn) { iFEpppipppp_t fn = (iFEpppipppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
void iFiiiiiiiip(x86emu_t *emu, uintptr_t fcn) { iFiiiiiiiip_t fn = (iFiiiiiiiip_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void iFiiiipiiip(x86emu_t *emu, uintptr_t fcn) { iFiiiipiiip_t fn = (iFiiiipiiip_t)fcn; R_EAX=fn(*(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32), *(void**)(R_ESP + 36)); }
|
||||
void iFdddpppppp(x86emu_t *emu, uintptr_t fcn) { iFdddpppppp_t fn = (iFdddpppppp_t)fcn; R_EAX=fn(*(double*)(R_ESP + 4), *(double*)(R_ESP + 12), *(double*)(R_ESP + 20), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32), *(void**)(R_ESP + 36), *(void**)(R_ESP + 40), *(void**)(R_ESP + 44), *(void**)(R_ESP + 48)); }
|
||||
@ -1663,11 +1666,45 @@ void vFuuiiiiuuiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn =
|
||||
void vFfffffffffffffff(x86emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(*(float*)(R_ESP + 4), *(float*)(R_ESP + 8), *(float*)(R_ESP + 12), *(float*)(R_ESP + 16), *(float*)(R_ESP + 20), *(float*)(R_ESP + 24), *(float*)(R_ESP + 28), *(float*)(R_ESP + 32), *(float*)(R_ESP + 36), *(float*)(R_ESP + 40), *(float*)(R_ESP + 44), *(float*)(R_ESP + 48), *(float*)(R_ESP + 52), *(float*)(R_ESP + 56), *(float*)(R_ESP + 60)); }
|
||||
void uFpppppppppppppppp(x86emu_t *emu, uintptr_t fcn) { uFpppppppppppppppp_t fn = (uFpppppppppppppppp_t)fcn; R_EAX=(uint32_t)fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32), *(void**)(R_ESP + 36), *(void**)(R_ESP + 40), *(void**)(R_ESP + 44), *(void**)(R_ESP + 48), *(void**)(R_ESP + 52), *(void**)(R_ESP + 56), *(void**)(R_ESP + 60), *(void**)(R_ESP + 64)); }
|
||||
void vFppuiiiiipuiiiiiiii(x86emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(uint32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(int32_t*)(R_ESP + 28), *(int32_t*)(R_ESP + 32), *(void**)(R_ESP + 36), *(uint32_t*)(R_ESP + 40), *(int32_t*)(R_ESP + 44), *(int32_t*)(R_ESP + 48), *(int32_t*)(R_ESP + 52), *(int32_t*)(R_ESP + 56), *(int32_t*)(R_ESP + 60), *(int32_t*)(R_ESP + 64), *(int32_t*)(R_ESP + 68), *(int32_t*)(R_ESP + 72)); }
|
||||
void iFEp0pVV(x86emu_t *emu, uintptr_t fcn) { iFEpppVV_t fn = (iFEpppVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), (void*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16), (void*)(R_ESP + 16)); }
|
||||
|
||||
#if (defined(NOALIGN))
|
||||
void IFpi(x86emu_t *emu, uintptr_t fcn) { IFpi_t fn = (IFpi_t)fcn; ui64_t r; r.i=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void dFpi(x86emu_t *emu, uintptr_t fcn) { dFpi_t fn = (dFpi_t)fcn; double db=fn(*(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); fpu_do_push(emu); ST0val = db; }
|
||||
void iFppiiiip(x86emu_t *emu, uintptr_t fcn) { iFppiiiip_t fn = (iFppiiiip_t)fcn; R_EAX=fn(*(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
void iFEpppipppp(x86emu_t *emu, uintptr_t fcn) { iFEpppipppp_t fn = (iFEpppipppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(void**)(R_ESP + 20), *(void**)(R_ESP + 24), *(void**)(R_ESP + 28), *(void**)(R_ESP + 32)); }
|
||||
#endif
|
||||
|
||||
#if (!defined(NOALIGN))
|
||||
void IFEp(x86emu_t *emu, uintptr_t fcn) { IFEp_t fn = (IFEp_t)fcn; ui64_t r; r.i=fn(emu, *(void**)(R_ESP + 4)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void dFEp(x86emu_t *emu, uintptr_t fcn) { dFEp_t fn = (dFEp_t)fcn; double db=fn(emu, *(void**)(R_ESP + 4)); fpu_do_push(emu); ST0val = db; }
|
||||
void iFEpI(x86emu_t *emu, uintptr_t fcn) { iFEpI_t fn = (iFEpI_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(int64_t*)(R_ESP + 8)); }
|
||||
void iFEpd(x86emu_t *emu, uintptr_t fcn) { iFEpd_t fn = (iFEpd_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(double*)(R_ESP + 8)); }
|
||||
void IFEpi(x86emu_t *emu, uintptr_t fcn) { IFEpi_t fn = (IFEpi_t)fcn; ui64_t r; r.i=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); R_EAX=r.d[0]; R_EDX=r.d[1]; }
|
||||
void dFEpi(x86emu_t *emu, uintptr_t fcn) { dFEpi_t fn = (dFEpi_t)fcn; double db=fn(emu, *(void**)(R_ESP + 4), *(int32_t*)(R_ESP + 8)); fpu_do_push(emu); ST0val = db; }
|
||||
void iFEiiip(x86emu_t *emu, uintptr_t fcn) { iFEiiip_t fn = (iFEiiip_t)fcn; R_EAX=fn(emu, *(int32_t*)(R_ESP + 4), *(int32_t*)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEipii(x86emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R_EAX=fn(emu, *(int32_t*)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void iFEppip(x86emu_t *emu, uintptr_t fcn) { iFEppip_t fn = (iFEppip_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(void**)(R_ESP + 16)); }
|
||||
void iFEpppi(x86emu_t *emu, uintptr_t fcn) { iFEpppi_t fn = (iFEpppi_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(void**)(R_ESP + 12), *(int32_t*)(R_ESP + 16)); }
|
||||
void iFEppiiiip(x86emu_t *emu, uintptr_t fcn) { iFEppiiiip_t fn = (iFEppiiiip_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 8), *(int32_t*)(R_ESP + 12), *(int32_t*)(R_ESP + 16), *(int32_t*)(R_ESP + 20), *(int32_t*)(R_ESP + 24), *(void**)(R_ESP + 28)); }
|
||||
#endif
|
||||
|
||||
#if (defined(HAVE_LD80BITS))
|
||||
void DFD(x86emu_t *emu, uintptr_t fcn) { DFD_t fn = (DFD_t)fcn; long double ld=fn(*(long double*)(R_ESP + 4)); fpu_do_push(emu); ST0val = ld; }
|
||||
void DFDD(x86emu_t *emu, uintptr_t fcn) { DFDD_t fn = (DFDD_t)fcn; long double ld=fn(*(long double*)(R_ESP + 4), *(long double*)(R_ESP + 16)); fpu_do_push(emu); ST0val = ld; }
|
||||
void DFDp(x86emu_t *emu, uintptr_t fcn) { DFDp_t fn = (DFDp_t)fcn; long double ld=fn(*(long double*)(R_ESP + 4), *(void**)(R_ESP + 16)); fpu_do_push(emu); ST0val = ld; }
|
||||
#endif
|
||||
|
||||
#if (!defined(HAVE_LD80BITS))
|
||||
void LFL(x86emu_t *emu, uintptr_t fcn) { LFL_t fn = (LFL_t)fcn; double db=fn(FromLD((void*)(R_ESP + 4))); fpu_do_push(emu); ST0val = db; }
|
||||
void LFLL(x86emu_t *emu, uintptr_t fcn) { LFLL_t fn = (LFLL_t)fcn; double db=fn(FromLD((void*)(R_ESP + 4)), FromLD((void*)(R_ESP + 16))); fpu_do_push(emu); ST0val = db; }
|
||||
void LFLp(x86emu_t *emu, uintptr_t fcn) { LFLp_t fn = (LFLp_t)fcn; double db=fn(FromLD((void*)(R_ESP + 4)), *(void**)(R_ESP + 16)); fpu_do_push(emu); ST0val = db; }
|
||||
#endif
|
||||
|
||||
void iFEpvvpp(x86emu_t *emu, uintptr_t fcn) { iFEppp_t fn = (iFEppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFEvpVV(x86emu_t *emu, uintptr_t fcn) { iFEpVV_t fn = (iFEpVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 8), (void*)(R_ESP + 12), (void*)(R_ESP + 12)); }
|
||||
void iFEv(x86emu_t *emu, uintptr_t fcn) { iFE_t fn = (iFE_t)fcn; R_EAX=fn(emu); }
|
||||
void pFEv(x86emu_t *emu, uintptr_t fcn) { pFE_t fn = (pFE_t)fcn; R_EAX=(uintptr_t)fn(emu); }
|
||||
void iFEpvvpp(x86emu_t *emu, uintptr_t fcn) { iFEppp_t fn = (iFEppp_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 16), *(void**)(R_ESP + 20)); }
|
||||
void iFEp0pVV(x86emu_t *emu, uintptr_t fcn) { iFEpppVV_t fn = (iFEpppVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), (void*)(R_ESP + 8), *(void**)(R_ESP + 12), (void*)(R_ESP + 16), (void*)(R_ESP + 16)); }
|
||||
void iFEpuvvpVV(x86emu_t *emu, uintptr_t fcn) { iFEpupVV_t fn = (iFEpupVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(uint32_t*)(R_ESP + 8), *(void**)(R_ESP + 20), (void*)(R_ESP + 24), (void*)(R_ESP + 24)); }
|
||||
void iFEpvpVV(x86emu_t *emu, uintptr_t fcn) { iFEppVV_t fn = (iFEppVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 12), (void*)(R_ESP + 16), (void*)(R_ESP + 16)); }
|
||||
void iFEpvvpVV(x86emu_t *emu, uintptr_t fcn) { iFEppVV_t fn = (iFEppVV_t)fcn; R_EAX=fn(emu, *(void**)(R_ESP + 4), *(void**)(R_ESP + 16), (void*)(R_ESP + 20), (void*)(R_ESP + 20)); }
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*****************************************************************
|
||||
* File automatically generated by rebuild_wrappers.py (v1.0.0.02)
|
||||
* File automatically generated by rebuild_wrappers.py (v1.1.0.03)
|
||||
*****************************************************************/
|
||||
#ifndef __WRAPPER_H_
|
||||
#define __WRAPPER_H_
|
||||
@ -53,7 +53,6 @@ void dFv(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFi(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFd(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFp(x86emu_t *emu, uintptr_t fnc);
|
||||
void LFL(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFE(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFv(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFi(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -97,7 +96,6 @@ void iFpU(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpd(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFpV(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFEp(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFpu(x86emu_t *emu, uintptr_t fnc);
|
||||
void CFui(x86emu_t *emu, uintptr_t fnc);
|
||||
void CFpi(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -117,15 +115,12 @@ void fFfi(x86emu_t *emu, uintptr_t fnc);
|
||||
void fFff(x86emu_t *emu, uintptr_t fnc);
|
||||
void fFfp(x86emu_t *emu, uintptr_t fnc);
|
||||
void fFpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFEp(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFuu(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFdi(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFdd(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFdp(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void DFpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void LFLL(x86emu_t *emu, uintptr_t fnc);
|
||||
void LFLp(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFEp(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFii(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFip(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -183,8 +178,6 @@ void vFppu(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEup(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpI(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpd(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiiu(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -217,7 +210,6 @@ void iFppu(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFppd(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFppV(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFEpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFiIi(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFpIi(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFppi(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -243,7 +235,6 @@ void UFppi(x86emu_t *emu, uintptr_t fnc);
|
||||
void fFuii(x86emu_t *emu, uintptr_t fnc);
|
||||
void fFppu(x86emu_t *emu, uintptr_t fnc);
|
||||
void fFppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFEpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFppu(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void DFppu(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -481,13 +472,9 @@ void vFppiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpppii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppppi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEippp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpipp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpupV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEppip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpppi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpppV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEppVV(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -732,7 +719,6 @@ void vFppiiipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppippppi(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppppiipi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpippppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEppiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiiiiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiiippppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiiuuuuuu(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -768,7 +754,6 @@ void vFppiiipiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppuuiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFpppppippp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpppipppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiiiiiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFiiiipiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFdddpppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
@ -842,11 +827,45 @@ void vFuuiiiiuuiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFfffffffffffffff(x86emu_t *emu, uintptr_t fnc);
|
||||
void uFpppppppppppppppp(x86emu_t *emu, uintptr_t fnc);
|
||||
void vFppuiiiiipuiiiiiiii(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEp0pVV(x86emu_t *emu, uintptr_t fnc);
|
||||
|
||||
#if (defined(NOALIGN))
|
||||
void IFpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFppiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpppipppp(x86emu_t *emu, uintptr_t fnc);
|
||||
#endif
|
||||
|
||||
#if (!defined(NOALIGN))
|
||||
void IFEp(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFEp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpI(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpd(x86emu_t *emu, uintptr_t fnc);
|
||||
void IFEpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void dFEpi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEipii(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEppip(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpppi(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEppiiiip(x86emu_t *emu, uintptr_t fnc);
|
||||
#endif
|
||||
|
||||
#if (defined(HAVE_LD80BITS))
|
||||
void DFD(x86emu_t *emu, uintptr_t fnc);
|
||||
void DFDD(x86emu_t *emu, uintptr_t fnc);
|
||||
void DFDp(x86emu_t *emu, uintptr_t fnc);
|
||||
#endif
|
||||
|
||||
#if (!defined(HAVE_LD80BITS))
|
||||
void LFL(x86emu_t *emu, uintptr_t fnc);
|
||||
void LFLL(x86emu_t *emu, uintptr_t fnc);
|
||||
void LFLp(x86emu_t *emu, uintptr_t fnc);
|
||||
#endif
|
||||
|
||||
void iFEpvvpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEvpVV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEv(x86emu_t *emu, uintptr_t fnc);
|
||||
void pFEv(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpvvpp(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEp0pVV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpuvvpVV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpvpVV(x86emu_t *emu, uintptr_t fnc);
|
||||
void iFEpvvpVV(x86emu_t *emu, uintptr_t fnc);
|
||||
|
Loading…
x
Reference in New Issue
Block a user