-
andrew_miranti authoredandrew_miranti authored
decoder-configuration.k 7.39 KiB
requires "x86-mint-wrapper.k"
requires "registers.k"
requires "categories.k"
requires "inum-extractor-configuration.k"
module DECODER-INTERFACE
imports DOMAINS
imports MINT-WRAPPER-SYNTAX
syntax Instruction ::= "$FakeInstruction"
syntax K ::= Decode(Int, Ints)
syntax DecoderError
//Len, DisassemblyString, x86-Semantics Instruction Inum
syntax DecoderResult ::= DecodedInstruction(Int, String, Instruction, Int) | DecoderError
endmodule
module DECODER-CONFIGURATION
imports DOMAINS
imports REGISTERS-SYNTAX
imports DECODER-INTERFACE
imports CATEGORIES-SYNTAX
imports INUM-EXTRACTOR-CONFIG
syntax Modes ::= "mode64" | "mode32" | "mode16"
syntax K ::= "ResetDecoder"
syntax IClass ::= "INVALID_ICLASS"
configuration <decoder>
<inumExtractor/>
<decmode> mode64 </decmode>
<smode> mode64 </smode>
<instructionpointer> 0 </instructionpointer>
<decoderInternal>
<decoderBuffer> .Ints </decoderBuffer>
<ilen> 0 </ilen>
<dynamicDecoderBuffer> .Ints </dynamicDecoderBuffer>
<decoderOriginalBuffer> .Ints </decoderOriginalBuffer>
<prefixes> .Set </prefixes>
<suffix> "" </suffix>
<disassemblerOut> "" </disassemblerOut>
<decodedInstruction> $FakeInstruction </decodedInstruction>
<ATTRIBUTES> .List </ATTRIBUTES>
<OPERANDS> .List </OPERANDS>
<CATEGORY> "CATEGORY_NO_CATEGORY" </CATEGORY>
<INUM> 0 </INUM>
<INAME> "" </INAME>
<SEGOVD> 0 </SEGOVD>
<HINT> 0 </HINT>
<LOCK> 0 </LOCK>
<NEEDMEMDISP> 0 </NEEDMEMDISP>
<DISP> 0 </DISP>
<DISPWIDTH> 0 </DISPWIDTH>
<BRDISPWIDTH> 0 </BRDISPWIDTH>
<DF32> 0 </DF32>
<DF64> 0 </DF64>
<NOREX> 0 </NOREX>
<NEEDREX> 0 </NEEDREX>
<SKIPOSZ> 0 </SKIPOSZ>
<REX> 0 </REX>
<REXW> 0 </REXW>
<REXR> 0 </REXR>
<REXX> 0 </REXX>
<REXB> 0 </REXB>
<REP> 0 </REP>
<OSZ> 0 </OSZ>
<PREFIX66> 0 </PREFIX66>
<ASZ> 0 </ASZ>
<EOSZ> 0 </EOSZ>
<EASZ> 0 </EASZ>
<MOD> 0 </MOD>
<REG> 0 </REG>
<SRM> 0 </SRM>
<RM> 0 </RM>
<REALMODE> 0 </REALMODE>
<MODE> 0 </MODE>
<SMODE> 0 </SMODE>
<MODEP5> 0 </MODEP5>
<MODEP55C> 0 </MODEP55C>
<P4> 0 </P4>
<LZCNT> 1 </LZCNT>
<TZCNT> 1 </TZCNT>
<MODEFIRSTPREFIX> 0 </MODEFIRSTPREFIX>
<IMM0> 0 </IMM0>
<IMM1> 0 </IMM1>
<IMM0SIGNED> 0 </IMM0SIGNED>
<UIMM0> 0 </UIMM0>
<UIMM1> 0 </UIMM1>
<IMMWIDTH> 0 </IMMWIDTH>
<HASIMM1> 0 </HASIMM1>
<USINGDEFAULTSEGMENT0> 0 </USINGDEFAULTSEGMENT0>
<USINGDEFAULTSEGMENT1> 0 </USINGDEFAULTSEGMENT1>
<DEFAULTSEG> 0 </DEFAULTSEG>
<SEG0> REG_INVALID </SEG0>
<BASE0> REG_INVALID </BASE0>
<INDEX> REG_INVALID </INDEX>
<SCALE> 0 </SCALE>
<SIB> 0 </SIB>
<SIBSCALE> 0 </SIBSCALE>
<SIBBASE> 0 </SIBBASE>
<SIBINDEX> 0 </SIBINDEX>
<SEG1> REG_INVALID </SEG1>
<BASE1> REG_INVALID </BASE1>
<MEM0> 0 </MEM0>
<MEM1> 0 </MEM1>
<MEMWIDTH> 0 </MEMWIDTH>
<AGEN> 0 </AGEN>
<RELBR> 0 </RELBR>
<PTR> 0 </PTR>
<REG0> REG_INVALID </REG0>
<REG1> REG_INVALID </REG1>
<REG2> REG_INVALID </REG2>
<REG3> REG_INVALID </REG3>
<REG4> REG_INVALID </REG4>
<REG5> REG_INVALID </REG5>
<REG6> REG_INVALID </REG6>
<REG7> REG_INVALID </REG7>
<REG8> REG_INVALID </REG8>
<OUTREG> REG_INVALID </OUTREG>
<ENCODERPREFERRED> 0 </ENCODERPREFERRED>
<ICLASS> INVALID_ICLASS </ICLASS>
<NELEM> 0 </NELEM>
<ELEMENTSIZE> 0 </ELEMENTSIZE>
<MAP> 0 </MAP>
<AMD3DNOW> 0 </AMD3DNOW>
<FIRSTF2F3> 0 </FIRSTF2F3>
<LASTF2F3> 0 </LASTF2F3>
<ILDF2> 0 </ILDF2>
<ILDF3> 0 </ILDF3>
<MAXBYTES> 0 </MAXBYTES>
<ILDSEG> 0 </ILDSEG>
<NSEGPREFIXES> 0 </NSEGPREFIXES>
<NREXES> 0 </NREXES>
<NPREFIXES> 0 </NPREFIXES>
<NOMINALOPCODE> 0 </NOMINALOPCODE>
<POSNOMINALOPCODE> 0 </POSNOMINALOPCODE>
<HASMODRM> 0 </HASMODRM>
<HASSIB> 0 </HASSIB>
<POSMODRM> 0 </POSMODRM>
<POSSIB> 0 </POSSIB>
<POSDISP> 0 </POSDISP>
<POSIMM> 0 </POSIMM>
<POSIMM1> 0 </POSIMM1>
<IMM1BYTES> 0 </IMM1BYTES>
<MODRMBYTE> 0 </MODRMBYTE>
<ESRC> 0 </ESRC>
<VEXVALID> 0 </VEXVALID>
<DUMMY> 0 </DUMMY>
<MPXMODE> 0 </MPXMODE>
<CET> 0 </CET>
<CLDEMOTE> 0 </CLDEMOTE>
<VEXDEST3> 0 </VEXDEST3>
<VEXDEST210> 0 </VEXDEST210>
<VL> 0 </VL>
<VEXPREFIX> 0 </VEXPREFIX>
<VEXC4> 0 </VEXC4>
<BCAST> 0 </BCAST>
<ZEROING> 0 </ZEROING>
<LLRC> 0 </LLRC>
<BCRC> 0 </BCRC>
<REXRR> 0 </REXRR>
<VEXDEST4> 0 </VEXDEST4>
<MASK> 0 </MASK>
<ROUNDC> 0 </ROUNDC>
<SAE> 0 </SAE>
<NOSCALEDISP8> 0 </NOSCALEDISP8>
<UBIT> 0 </UBIT>
<WBNOINVD> 0 </WBNOINVD>
</decoderInternal>
</decoder>
endmodule