libTriton version 1.0 build 1592
Loading...
Searching...
No Matches
x86Specifications.hpp
Go to the documentation of this file.
1
2/*
3** Copyright (C) - Triton
4**
5** This program is under the terms of the Apache License 2.0.
6*/
7
8#ifndef TRITON_X86SPECIFICATIONS_H
9#define TRITON_X86SPECIFICATIONS_H
10
11#include <unordered_map>
12#include <string>
13
14#include <triton/archEnums.hpp>
16#include <triton/dllexport.hpp>
17#include <triton/register.hpp>
18
19
20
22namespace triton {
29 namespace arch {
37 namespace x86 {
45
47 protected:
49 std::unordered_map<triton::arch::register_e, const triton::arch::Register> id2reg;
50 std::unordered_map<std::string, triton::arch::register_e> name2id;
51
52 public:
55
58
61
64 };
65
68
72
1369
1370 /* Must be the last item */
1373
1375 };
1377 };
1379};
1380
1381#endif /* TRITON_X86SPECIFICATIONS_H */
This class is used to represent an instruction.
The x86Specifications class defines specifications about the x86 and x86_64 CPU.
TRITON_EXPORT triton::arch::register_e capstoneRegisterToTritonRegister(triton::uint32 id) const
Converts a capstone's register id to a triton's register id.
std::unordered_map< triton::arch::register_e, const triton::arch::Register > id2reg
List of registers specification available for this architecture.
TRITON_EXPORT triton::arch::x86::prefix_e capstonePrefixToTritonPrefix(triton::uint32 id) const
Converts a capstone's prefix id to a triton's prefix id.
TRITON_EXPORT triton::uint32 capstoneInstructionToTritonInstruction(triton::uint32 id) const
Converts a capstone's instruction id to a triton's instruction id.
TRITON_EXPORT x86Specifications(triton::arch::architecture_e)
Constructor.
register_e
Types of register.
Definition archEnums.hpp:68
std::uint32_t uint32
unisgned 32-bits
instruction_e
The list of opcodes.
const triton::arch::Instruction nop
x86 NOP instruction
prefix_e
Types of prefix.
@ ID_INS_AESDECLAST
AESDECLAST.
@ ID_INS_VFNMADD231PD
VFNMADD231PD.
@ ID_INS_VGATHERPF1DPD
VGATHERPF1DPD.
@ ID_INS_VCVTPD2UDQ
VCVTPD2UDQ.
@ ID_INS_VRNDSCALEPD
VRNDSCALEPD.
@ ID_INS_VFMSUB231SD
VFMSUB231SD.
@ ID_INS_VFNMADD132SD
VFNMADD132SD.
@ ID_INS_VFNMADD213PD
VFNMADD213PD.
@ ID_INS_VFNMSUB231PS
VFNMSUB231PS.
@ ID_INS_VGATHERPF0QPD
VGATHERPF0QPD.
@ ID_INS_VPHMINPOSUW
VPHMINPOSUW.
@ ID_INS_VFNMADD132SS
VFNMADD132SS.
@ ID_INS_VFMSUBADD231PS
VFMSUBADD231PS.
@ ID_INS_VFNMADD213PS
VFNMADD213PS.
@ ID_INS_VSCATTERDPS
VSCATTERDPS.
@ ID_INS_VPBROADCASTB
VPBROADCASTB.
@ ID_INS_VSCATTERQPD
VSCATTERQPD.
@ ID_INS_VPSCATTERQQ
VPSCATTERQQ.
@ ID_INS_VEXTRACTI32X4
VEXTRACTI32X4.
@ ID_INS_VGATHERQPS
VGATHERQPS.
@ ID_INS_VCVTTPS2UDQ
VCVTTPS2UDQ.
@ ID_INS_VFMSUBADD213PD
VFMSUBADD213PD.
@ ID_INS_VGATHERPF0DPD
VGATHERPF0DPD.
@ ID_INS_VFNMSUB231SS
VFNMSUB231SS.
@ ID_INS_VRNDSCALEPS
VRNDSCALEPS.
@ ID_INS_VPBROADCASTD
VPBROADCASTD.
@ ID_INS_VFNMSUB231PD
VFNMSUB231PD.
@ ID_INS_VFMSUB213PS
VFMSUB213PS.
@ ID_INS_VFMADDSUBPD
VFMADDSUBPD.
@ ID_INS_VFMSUB213PD
VFMSUB213PD.
@ ID_INS_VFMADDSUBPS
VFMADDSUBPS.
@ ID_INS_VPUNPCKHQDQ
VPUNPCKHQDQ.
@ ID_INS_VCVTTPD2DQX
VCVTTPD2DQX.
@ ID_INS_VFNMADD213SD
VFNMADD213SD.
@ ID_INS_VCVTTSD2SI
VCVTTSD2SI.
@ ID_INS_SHA256MSG1
SHA256MSG1.
@ ID_INS_VFMADDSUB213PS
VFMADDSUB213PS.
@ ID_INS_VMASKMOVPS
VMASKMOVPS.
@ ID_INS_VCVTUDQ2PD
VCVTUDQ2PD.
@ ID_INS_VFMADD132SS
VFMADD132SS.
@ ID_INS_VFMSUBADD231PD
VFMSUBADD231PD.
@ ID_INS_VAESKEYGENASSIST
VAESKEYGENASSIST.
@ ID_INS_VINSERTF32X4
VINSERTF32X4.
@ ID_INS_VBROADCASTSS
VBROADCASTSS.
@ ID_INS_VPSCATTERDD
VPSCATTERDD.
@ ID_INS_VFMSUB132PD
VFMSUB132PD.
@ ID_INS_VPCONFLICTD
VPCONFLICTD.
@ ID_INS_VMASKMOVPD
VMASKMOVPD.
@ ID_INS_VSCATTERQPS
VSCATTERQPS.
@ ID_INS_VRNDSCALESS
VRNDSCALESS.
@ ID_INS_VFNMSUB213SS
VFNMSUB213SS.
@ ID_INS_VCVTTSS2SI
VCVTTSS2SI.
@ ID_INS_VFMSUB231SS
VFMSUB231SS.
@ ID_INS_VBROADCASTI128
VBROADCASTI128.
@ ID_INS_VSCATTERPF0QPS
VSCATTERPF0QPS.
@ ID_INS_VGATHERPF1DPS
VGATHERPF1DPS.
@ ID_INS_VPCONFLICTQ
VPCONFLICTQ.
@ ID_INS_VCVTUSI2SD
VCVTUSI2SD.
@ ID_INS_VPBROADCASTMW2D
VPBROADCASTMW2D.
@ ID_INS_VGATHERPF1QPS
VGATHERPF1QPS.
@ ID_INS_VFMSUBADDPD
VFMSUBADDPD.
@ ID_INS_VFMSUB132SS
VFMSUB132SS.
@ ID_INS_VINSERTF128
VINSERTF128.
@ ID_INS_VFMADD213SS
VFMADD213SS.
@ ID_INS_VCVTPD2PSX
VCVTPD2PSX.
@ ID_INS_VFNMSUB132SD
VFNMSUB132SD.
@ ID_INS_PREFETCHT2
PREFETCHT2.
@ ID_INS_VRNDSCALESD
VRNDSCALESD.
@ ID_INS_AESKEYGENASSIST
AESKEYGENASSIST.
@ ID_INS_VGATHERQPD
VGATHERQPD.
@ ID_INS_VGATHERDPD
VGATHERDPD.
@ ID_INS_VFMADDSUB231PD
VFMADDSUB231PD.
@ ID_INS_VPSCATTERQD
VPSCATTERQD.
@ ID_INS_VFNMADD231SD
VFNMADD231SD.
@ ID_INS_VFMADD132PD
VFMADD132PD.
@ ID_INS_VFNMSUB231SD
VFNMSUB231SD.
@ ID_INS_SHA256RNDS2
SHA256RNDS2.
@ ID_INS_VSCATTERPF1DPS
VSCATTERPF1DPS.
@ ID_INS_VFMADD231PS
VFMADD231PS.
@ ID_INS_VFMADDSUB132PS
VFMADDSUB132PS.
@ ID_INS_VCVTTPD2UDQ
VCVTTPD2UDQ.
@ ID_INS_VFMSUB213SS
VFMSUB213SS.
@ ID_INS_VFNMADD132PS
VFNMADD132PS.
@ ID_INS_VFNMSUB132PD
VFNMSUB132PD.
@ ID_INS_VFNMSUB213PD
VFNMSUB213PD.
@ ID_INS_VAESENCLAST
VAESENCLAST.
@ ID_INS_VSCATTERDPD
VSCATTERDPD.
@ ID_INS_PREFETCHNTA
PREFETCHNTA.
@ ID_INS_VPBROADCASTMB2Q
VPBROADCASTMB2Q.
@ ID_INS_VEXTRACTPS
VEXTRACTPS.
@ ID_INS_AESENCLAST
AESENCLAST.
@ ID_INS_PHMINPOSUW
PHMINPOSUW.
@ ID_INS_VFNMADD231SS
VFNMADD231SS.
@ ID_INS_PUNPCKLQDQ
PUNPCKLQDQ.
@ ID_INS_VFNMSUB213SD
VFNMSUB213SD.
@ ID_INS_VCVTUSI2SS
VCVTUSI2SS.
@ ID_INS_VFMSUB231PS
VFMSUB231PS.
@ ID_INS_VBROADCASTI64X4
VBROADCASTI64X4.
@ ID_INS_VFMSUB132SD
VFMSUB132SD.
@ ID_INS_VBROADCASTSD
VBROADCASTSD.
@ ID_INS_VSCATTERPF0DPD
VSCATTERPF0DPD.
@ ID_INS_VFMADD132PS
VFMADD132PS.
@ ID_INS_VBROADCASTF128
VBROADCASTF128.
@ ID_INS_VFMADD213PD
VFMADD213PD.
@ ID_INS_VSCATTERPF1DPD
VSCATTERPF1DPD.
@ ID_INS_VFMSUB132PS
VFMSUB132PS.
@ ID_INS_VMASKMOVDQU
VMASKMOVDQU.
@ ID_INS_PREFETCHT0
PREFETCHT0.
@ ID_INS_VINSERTI128
VINSERTI128.
@ ID_INS_VFMADD231SD
VFMADD231SD.
@ ID_INS_CMPXCHG16B
CMPXCHG16B.
@ ID_INS_VEXTRACTF64X4
VEXTRACTF64X4.
@ ID_INS_VGATHERPF1QPD
VGATHERPF1QPD.
@ ID_INS_VCVTUDQ2PS
VCVTUDQ2PS.
@ ID_INS_VPBROADCASTW
VPBROADCASTW.
@ ID_INS_VINSERTF64X4
VINSERTF64X4.
@ ID_INS_VCVTPS2UDQ
VCVTPS2UDQ.
@ ID_INS_VFNMSUB132PS
VFNMSUB132PS.
@ ID_INS_VBROADCASTI32X4
VBROADCASTI32X4.
@ ID_INS_SHA256MSG2
SHA256MSG2.
@ ID_INS_VCVTSD2USI
VCVTSD2USI.
@ ID_INS_VFMSUBADDPS
VFMSUBADDPS.
@ ID_INS_VPBROADCASTQ
VPBROADCASTQ.
@ ID_INS_VFNMSUB213PS
VFNMSUB213PS.
@ ID_INS_VCVTTPD2DQ
VCVTTPD2DQ.
@ ID_INS_VFMADD213PS
VFMADD213PS.
@ ID_INS_VFNMADD213SS
VFNMADD213SS.
@ ID_INS_VSCATTERPF1QPS
VSCATTERPF1QPS.
@ ID_INS_VCVTTSS2USI
VCVTTSS2USI.
@ ID_INS_VFNMADD132PD
VFNMADD132PD.
@ ID_INS_VSCATTERPF0DPS
VSCATTERPF0DPS.
@ ID_INS_VFMADDSUB231PS
VFMADDSUB231PS.
@ ID_INS_VPSCATTERDQ
VPSCATTERDQ.
@ ID_INS_VFMSUBADD132PD
VFMSUBADD132PD.
@ ID_INS_VCVTPD2DQX
VCVTPD2DQX.
@ ID_INS_VGATHERPF0QPS
VGATHERPF0QPS.
@ ID_INS_VGATHERDPS
VGATHERDPS.
@ ID_INS_VAESDECLAST
VAESDECLAST.
@ ID_INS_VFMADD132SD
VFMADD132SD.
@ ID_INS_VSCATTERPF0QPD
VSCATTERPF0QPD.
@ ID_INS_VEXTRACTF128
VEXTRACTF128.
@ ID_INS_VFMADDSUB213PD
VFMADDSUB213PD.
@ ID_INS_VFNMSUB132SS
VFNMSUB132SS.
@ ID_INS_VFMADDSUB132PD
VFMADDSUB132PD.
@ ID_INS_LAST_ITEM
must be the last item
@ ID_INS_VFNMADD231PS
VFNMADD231PS.
@ ID_INS_MASKMOVDQU
MASKMOVDQU.
@ ID_INS_VFMSUBADD132PS
VFMSUBADD132PS.
@ ID_INS_VFMADD231SS
VFMADD231SS.
@ ID_INS_VINSERTI32X4
VINSERTI32X4.
@ ID_INS_VFMADD213SD
VFMADD213SD.
@ ID_INS_VEXTRACTI128
VEXTRACTI128.
@ ID_INS_VEXTRACTI64X4
VEXTRACTI64X4.
@ ID_INS_VINSERTI64X4
VINSERTI64X4.
@ ID_INS_VCVTSS2USI
VCVTSS2USI.
@ ID_INS_VGATHERPF0DPS
VGATHERPF0DPS.
@ ID_INS_VFMADD231PD
VFMADD231PD.
@ ID_INS_VPUNPCKLQDQ
VPUNPCKLQDQ.
@ ID_INS_PREFETCHT1
PREFETCHT1.
@ ID_INS_VFMSUB231PD
VFMSUB231PD.
@ ID_INS_VEXTRACTF32X4
VEXTRACTF32X4.
@ ID_INS_VCVTTSD2USI
VCVTTSD2USI.
@ ID_INS_VFMSUB213SD
VFMSUB213SD.
@ ID_INS_VFMSUBADD213PS
VFMSUBADD213PS.
@ ID_INS_VSCATTERPF1QPD
VSCATTERPF1QPD.
@ ID_INS_PUNPCKHQDQ
PUNPCKHQDQ.
@ ID_INS_VCVTTPS2DQ
VCVTTPS2DQ.
The Triton namespace.