<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="X86Random.html">
<link rel="next" href="ASMUtil.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="IDA" rel="Chapter" href="IDA.html">
<link title="IDAColor" rel="Chapter" href="IDAColor.html">
<link title="IDAGUI" rel="Chapter" href="IDAGUI.html">
<link title="IDAGraph" rel="Chapter" href="IDAGraph.html">
<link title="IDAHotKey" rel="Chapter" href="IDAHotKey.html">
<link title="IDATopLoop" rel="Chapter" href="IDATopLoop.html">
<link title="JITRegion" rel="Chapter" href="JITRegion.html">
<link title="Z3" rel="Chapter" href="Z3.html">
<link title="IR" rel="Chapter" href="IR.html">
<link title="IRLocalOpt" rel="Chapter" href="IRLocalOpt.html">
<link title="IRTypeCheck" rel="Chapter" href="IRTypeCheck.html">
<link title="PpIR" rel="Chapter" href="PpIR.html">
<link title="X86" rel="Chapter" href="X86.html">
<link title="X86CFG" rel="Chapter" href="X86CFG.html">
<link title="X86CFGAssembler" rel="Chapter" href="X86CFGAssembler.html">
<link title="X86Constraints" rel="Chapter" href="X86Constraints.html">
<link title="X86Decode" rel="Chapter" href="X86Decode.html">
<link title="X86Disasm" rel="Chapter" href="X86Disasm.html">
<link title="X86Encode" rel="Chapter" href="X86Encode.html">
<link title="X86InternalOperand" rel="Chapter" href="X86InternalOperand.html">
<link title="X86LocalOpt" rel="Chapter" href="X86LocalOpt.html">
<link title="X86TextualAssembler" rel="Chapter" href="X86TextualAssembler.html">
<link title="X86TypeCheck" rel="Chapter" href="X86TypeCheck.html">
<link title="X86Util" rel="Chapter" href="X86Util.html">
<link title="X86Random" rel="Chapter" href="X86Random.html">
<link title="X86ToIR" rel="Chapter" href="X86ToIR.html">
<link title="ASMUtil" rel="Chapter" href="ASMUtil.html">
<link title="LowLevel-old" rel="Chapter" href="LowLevel-old.html">
<link title="StringUtil" rel="Chapter" href="StringUtil.html">
<link title="Util" rel="Chapter" href="Util.html"><link title="IR translator functions" rel="Section" href="#6_IRtranslatorfunctions">
<title>X86ToIR</title>
</head>
<body>
<div class="navbar"><a href="X86Random.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="ASMUtil.html">Next</a>
</div>
<center><h1>Module <a href="type_X86ToIR.html">X86ToIR</a></h1></center>
<br>
<pre><span class="keyword">module</span> X86ToIR: <code class="code">sig</code> <a href="X86ToIR.html">..</a> <code class="code">end</code></pre>Functions responsible for translating x86 instructions into <a href="IR.html#TYPEinstr"><code class="code">IR.instr</code></a> types.

    There exist two functions.  Both take as their first parameter the address at 

    which the instruction is situated.  This is used to generate labels within the

    IR.  One function also takes an x86 instruction as input; the other one uses

    <a href="X86Decode.html#VALdecode"><code class="code">X86Decode.decode</code></a> to generate the <a href="X86.html#TYPEx86instr"><code class="code">X86.x86instr</code></a> instructions on the fly.<br>
<hr width="100%">
<br>
<span id="6_IRtranslatorfunctions"><h6>IR translator functions</h6></span><br>
<pre><span id="VALtranslate_instr"><span class="keyword">val</span> translate_instr</span> : <code class="type">int32 -> <a href="X86.html#TYPEx86instrpref">X86.x86instrpref</a> -> <a href="IR.html#TYPEinstr">IR.instr</a> list</code></pre><div class="info">
Produce IR translation, given an address and an <a href="X86.html#TYPEx86instrpref"><code class="code">X86.x86instrpref</code></a>.<br>
</div>
<pre><span id="VALtranslate"><span class="keyword">val</span> translate</span> : <code class="type">int32 -> <a href="IR.html#TYPEinstr">IR.instr</a> list</code></pre><div class="info">
Produce IR translation.  Use <a href="X86Decode.html#VALdecode"><code class="code">X86Decode.decode</code></a> to produce the instruction 

    from the given address.<br>
</div>
</body></html>