DisasmInternal.h revision 5306c362f7661494004605da6b75b32ed98dad4d
77b1a2d8b5dbe2c0b5200794914239fee3c8ee5dvboxsync/** @file
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync *
77b1a2d8b5dbe2c0b5200794914239fee3c8ee5dvboxsync * VBox disassembler:
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync * Internal header
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync */
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync/*
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync * Copyright (C) 2006-2007 Oracle Corporation
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync *
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync * available from http://www.virtualbox.org. This file is free software;
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * you can redistribute it and/or modify it under the terms of the GNU
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync */
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#ifndef ___DisasmInternal_h___
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define ___DisasmInternal_h___
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#include <VBox/cdefs.h>
662d52947eeb3fc8fca3b23991a5eee47077f896vboxsync#include <VBox/types.h>
da957c069c2a3c582fe265ff88170ce4c42b499dvboxsync#include <VBox/dis.h>
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsync
16a9adc14900ca18e6909679a579f6833425e030vboxsync#define ExceptionMemRead 0x666
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define ExceptionInvalidModRM 0x667
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define ExceptionInvalidParameter 0x668
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseNop 0
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseModRM 1
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_UseModRM 2
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsync#define IDX_ParseImmByte 3
a9f41cb889f53e8407561a6155052c441eb0fc5fvboxsync#define IDX_ParseImmBRel 4
cc15c3fa4bb2d3fb91e4d0cd15a73133963f86b0vboxsync#define IDX_ParseImmUshort 5
cc15c3fa4bb2d3fb91e4d0cd15a73133963f86b0vboxsync#define IDX_ParseImmV 6
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseImmVRel 7
efff36b306e370346025647a158689021df2e1d1vboxsync#define IDX_ParseImmAddr 8
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseFixedReg 9
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync#define IDX_ParseImmUlong 10
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseImmQword 11
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseTwoByteEsc 12
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseImmGrpl 13
590bfe12ce22cd3716448fbb9f4dc51664bfe5e2vboxsync#define IDX_ParseShiftGrp2 14
efff36b306e370346025647a158689021df2e1d1vboxsync#define IDX_ParseGrp3 15
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp4 16
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp5 17
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_Parse3DNow 18
efff36b306e370346025647a158689021df2e1d1vboxsync#define IDX_ParseGrp6 19
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseGrp7 20
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseGrp8 21
efff36b306e370346025647a158689021df2e1d1vboxsync#define IDX_ParseGrp9 22
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync#define IDX_ParseGrp10 23
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp12 24
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp13 25
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp14 26
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp15 27
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseGrp16 28
1bf495e3eec00dd79cecb6b36ef2a97f422c3737vboxsync#define IDX_ParseModFence 29
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseYv 30
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseYb 31
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseXv 32
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseXb 33
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseEscFP 34
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseNopPause 35
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseImmByteSX 36
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseImmZ 37
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseThreeByteEsc4 38
0abd77741a608f6c41c8dfcd4781b8b84adf1044vboxsync#define IDX_ParseThreeByteEsc5 39
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsync#define IDX_ParseImmAddrF 40
9496f2d398b49813176939d7a339ae513d5175efvboxsync#define IDX_ParseMax (IDX_ParseImmAddrF+1)
9496f2d398b49813176939d7a339ae513d5175efvboxsync
9496f2d398b49813176939d7a339ae513d5175efvboxsync#if defined(IN_RING0) || defined(IN_RC)
9496f2d398b49813176939d7a339ae513d5175efvboxsync#define DIS_THROW(a) /* Not available. */
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync#elif __L4ENV__
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync#define DIS_THROW(a) longjmp(*pCpu->pJumpBuffer, a)
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync#else
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync#define DIS_THROW(a) throw(a)
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync#endif
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsyncextern PFNDISPARSE pfnFullDisasm[IDX_ParseMax];
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsyncextern PFNDISPARSE pfnCalcSize[IDX_ParseMax];
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsyncunsigned ParseInstruction(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, PDISCPUSTATE pCpu);
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsyncunsigned ParseIllegal(RTUINTPTR lpszCodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseModRM(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseModRM_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned UseModRM(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmByte(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmByte_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmByteSX(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmByteSX_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmBRel(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmBRel_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmUshort(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmUshort_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmV(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmV_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
7766bf675357fd940d8c49e69a5d72dc6eaa6be4vboxsyncunsigned ParseImmVRel(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
7766bf675357fd940d8c49e69a5d72dc6eaa6be4vboxsyncunsigned ParseImmVRel_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmZ(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmZ_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
bbede9c189def47a9880f0ffb03c0c230c774185vboxsync
bbede9c189def47a9880f0ffb03c0c230c774185vboxsyncunsigned ParseImmAddr(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
bbede9c189def47a9880f0ffb03c0c230c774185vboxsyncunsigned ParseImmAddr_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
bbede9c189def47a9880f0ffb03c0c230c774185vboxsyncunsigned ParseImmAddrF(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
bbede9c189def47a9880f0ffb03c0c230c774185vboxsyncunsigned ParseImmAddrF_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseFixedReg(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
5341459ca931b65de60b5af2a4cba6836b6b45cavboxsyncunsigned ParseImmUlong(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseImmUlong_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseImmQword(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncunsigned ParseImmQword_SizeOnly(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsync
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncunsigned ParseTwoByteEsc(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncunsigned ParseThreeByteEsc4(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncunsigned ParseThreeByteEsc5(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncunsigned ParseImmGrpl(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
ee4d840f54fd2dcea8a73b1b86d5ec0db370b05dvboxsyncunsigned ParseShiftGrp2(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseGrp3(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseGrp4(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseGrp5(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned Parse3DNow(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseGrp6(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseGrp7(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseGrp8(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseGrp9(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseGrp10(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
a0240ff4f7663045c848fdbc192ea3d4d9f70a11vboxsyncunsigned ParseGrp12(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseGrp13(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
21029597fc4b76d0db0c9542daee201447281781vboxsyncunsigned ParseGrp14(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
21029597fc4b76d0db0c9542daee201447281781vboxsyncunsigned ParseGrp15(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsyncunsigned ParseGrp16(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsyncunsigned ParseModFence(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseNopPause(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsync
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseYv(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseYb(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsyncunsigned ParseXv(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsyncunsigned ParseXb(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync
51fe8789a74f6c118894aaa12eb69ec155386dbdvboxsync/* Floating point parsing */
9496f2d398b49813176939d7a339ae513d5175efvboxsyncunsigned ParseEscFP(RTUINTPTR pu8CodeBlock, PCOPCODE pOp, POP_PARAMETER pParam, PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsync
9496f2d398b49813176939d7a339ae513d5175efvboxsyncvoid disValidateLockSequence(PDISCPUSTATE pCpu);
9496f2d398b49813176939d7a339ae513d5175efvboxsync
16a9adc14900ca18e6909679a579f6833425e030vboxsync/* Disassembler printf */
16a9adc14900ca18e6909679a579f6833425e030vboxsyncvoid disasmSprintf(char *pszOutput, RTUINTPTR pu8Instruction, PDISCPUSTATE pCpu, POP_PARAMETER pParam1, POP_PARAMETER pParam2, POP_PARAMETER pParam3 = NULL);
16a9adc14900ca18e6909679a579f6833425e030vboxsyncvoid disasmGetPtrString(PDISCPUSTATE pCpu, PCOPCODE pOp, POP_PARAMETER pParam);
16a9adc14900ca18e6909679a579f6833425e030vboxsyncvoid disasmModRMReg(PDISCPUSTATE pCpu, PCOPCODE pOp, unsigned idx, POP_PARAMETER pParam, int fRegAddr);
9c149a2789022f5011e88fb62f02a1cc8068e88fvboxsyncvoid disasmModRMReg16(PDISCPUSTATE pCpu, PCOPCODE pOp, unsigned idx, POP_PARAMETER pParam);
9c149a2789022f5011e88fb62f02a1cc8068e88fvboxsyncvoid disasmModRMSReg(PDISCPUSTATE pCpu, PCOPCODE pOp, unsigned idx, POP_PARAMETER pParam);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncvoid disasmPrintAbs32(POP_PARAMETER pParam);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncvoid disasmPrintDisp32(POP_PARAMETER pParam);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncvoid disasmPrintDisp64(POP_PARAMETER pParam);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncvoid disasmPrintDisp8(POP_PARAMETER pParam);
9496f2d398b49813176939d7a339ae513d5175efvboxsyncvoid disasmPrintDisp16(POP_PARAMETER pParam);
9496f2d398b49813176939d7a339ae513d5175efvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync
d80c85a1bc7317da7d0cd1254fae6a20db039c8cvboxsync/* Read functions */
16a9adc14900ca18e6909679a579f6833425e030vboxsyncuint8_t DISReadByte(PDISCPUSTATE pCpu, RTUINTPTR pAddress);
16a9adc14900ca18e6909679a579f6833425e030vboxsyncuint16_t DISReadWord(PDISCPUSTATE pCpu, RTUINTPTR pAddress);
16a9adc14900ca18e6909679a579f6833425e030vboxsyncuint32_t DISReadDWord(PDISCPUSTATE pCpu, RTUINTPTR pAddress);
16a9adc14900ca18e6909679a579f6833425e030vboxsyncuint64_t DISReadQWord(PDISCPUSTATE pCpu, RTUINTPTR pAddress);
16a9adc14900ca18e6909679a579f6833425e030vboxsync
16a9adc14900ca18e6909679a579f6833425e030vboxsyncsize_t disFormatBytes(PCDISCPUSTATE pCpu, char *pszDst, size_t cchDst, uint32_t fFlags);
16a9adc14900ca18e6909679a579f6833425e030vboxsync
16a9adc14900ca18e6909679a579f6833425e030vboxsync#endif /* !___DisasmInternal_h___ */
16a9adc14900ca18e6909679a579f6833425e030vboxsync
16a9adc14900ca18e6909679a579f6833425e030vboxsync