<!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="X86Util.html">
<link rel="next" href="X86ToIR.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="Functions" rel="Section" href="#6_Functions">
<title>X86Random</title>
</head>
<body>
<div class="navbar"><a href="X86Util.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="X86ToIR.html">Next</a>
</div>
<center><h1>Module <a href="type_X86Random.html">X86Random</a></h1></center>
<br>
<pre><span class="keyword">module</span> X86Random: <code class="code">sig</code> <a href="X86Random.html">..</a> <code class="code">end</code></pre>Random generation of X86 instructions, used for testing the assembler and 

    disassembler.  Generate random instruction, assemble it, disassemble it, and

    compare whether the OCaml objects match.  Also used briefly in the random

    testing of the IR translation.<br>
<hr width="100%">
<br>
<span id="6_Functions"><h6>Functions</h6></span><br>
<pre><span id="VALgenerate_random_instruction"><span class="keyword">val</span> generate_random_instruction</span> : <code class="type">(<a href="X86.html#TYPEx86mnem">X86.x86mnem</a> -> bool) -> <a href="X86.html#TYPEx86instr">X86.x86instr</a></code></pre><div class="info">
First argument is a function which tells which mnemonics to exclude (it 

    returns true if we should exclude the mnemonic).  Return value is a 

    complete <a href="X86.html#TYPEx86instr"><code class="code">X86.x86instr</code></a> object.<br>
</div>
<pre><span id="VALrnd_seg"><span class="keyword">val</span> rnd_seg</span> : <code class="type">unit -> <a href="X86.html#TYPEx86_segreg">X86.x86_segreg</a></code></pre><div class="info">
Generates a segment randomly.  Used during IR testing.<br>
</div>
</body></html>