mirror of
https://github.com/odin-lang/Odin.git
synced 2026-09-15 23:54:52 -04:00
Add missing x86 instructions
This commit is contained in:
1 parent
e0d8300399
commit
6e17e7a2de
13 files changed
+1252
-478
No files matched your search
@@ -1307,4 +1307,82 @@ Mnemonic :: enum u16 {
|
||||
MOVBE,
|
||||
RDRAND,
|
||||
RDSEED,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.28 Additional System / GPR Instructions
|
||||
// -------------------------------------------------------------------------
|
||||
SWAPGS,
|
||||
MONITOR,
|
||||
MWAIT,
|
||||
CLAC,
|
||||
STAC,
|
||||
RDFSBASE,
|
||||
RDGSBASE,
|
||||
WRFSBASE,
|
||||
WRGSBASE,
|
||||
PTWRITE,
|
||||
RDPID,
|
||||
WBNOINVD,
|
||||
SERIALIZE,
|
||||
PREFETCH,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.29 WAITPKG Instructions
|
||||
// -------------------------------------------------------------------------
|
||||
TPAUSE,
|
||||
UMONITOR,
|
||||
UMWAIT,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.30 Direct Store / Enqueue Store Instructions
|
||||
// -------------------------------------------------------------------------
|
||||
MOVDIRI,
|
||||
MOVDIR64B,
|
||||
ENQCMD,
|
||||
ENQCMDS,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.31 Remote Atomic Operations (RAO-INT)
|
||||
// -------------------------------------------------------------------------
|
||||
AADD,
|
||||
AAND,
|
||||
AOR,
|
||||
AXOR,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.32 Restricted Transactional Memory (RTM)
|
||||
// -------------------------------------------------------------------------
|
||||
XEND,
|
||||
XTEST,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.33 AMD SVM (Secure Virtual Machine) Instructions
|
||||
// -------------------------------------------------------------------------
|
||||
VMRUN,
|
||||
VMMCALL,
|
||||
VMLOAD,
|
||||
VMSAVE,
|
||||
STGI,
|
||||
CLGI,
|
||||
SKINIT,
|
||||
INVLPGA,
|
||||
INVLPGB,
|
||||
TLBSYNC,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.34 AMD SEV-SNP Instructions
|
||||
// -------------------------------------------------------------------------
|
||||
PVALIDATE,
|
||||
RMPADJUST,
|
||||
RMPUPDATE,
|
||||
PSMASH,
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 4.35 AMD Miscellaneous Instructions
|
||||
// -------------------------------------------------------------------------
|
||||
CLZERO,
|
||||
MONITORX,
|
||||
MWAITX,
|
||||
RDPRU,
|
||||
MCOMMIT,
|
||||
}
|
||||
@@ -4870,4 +4870,167 @@ CLOBBER_TABLE := [Mnemonic][]x86.Clobber{
|
||||
{written={0}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}},
|
||||
{written={0}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}},
|
||||
},
|
||||
// 8.23 Additional System / GPR Encodings
|
||||
.SWAPGS = { // privileged; swaps GS.base with IA32_KERNEL_GS_BASE
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.MONITOR = { // arms address monitor for [rAX]; ECX=extensions, EDX=hints
|
||||
{implicit_rd={.RAX, .RCX, .RDX}, reads_mem=true},
|
||||
},
|
||||
.MWAIT = { // EAX=hints, ECX=extensions; enters optimized wait
|
||||
{implicit_rd={.RAX, .RCX}, side_effects={.HALT}},
|
||||
},
|
||||
.CLAC = { // clears EFLAGS.AC (not modeled in Clobber_Flags); CPL0
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.STAC = { // sets EFLAGS.AC (not modeled in Clobber_Flags); CPL0
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.RDFSBASE = {
|
||||
{written={0}},
|
||||
{written={0}},
|
||||
},
|
||||
.RDGSBASE = {
|
||||
{written={0}},
|
||||
{written={0}},
|
||||
},
|
||||
.WRFSBASE = {
|
||||
{read={0}},
|
||||
{read={0}},
|
||||
},
|
||||
.WRGSBASE = {
|
||||
{read={0}},
|
||||
{read={0}},
|
||||
},
|
||||
.PTWRITE = { // writes source to a PT trace packet; no flags
|
||||
{read={0}, reads_mem=true},
|
||||
{read={0}, reads_mem=true},
|
||||
},
|
||||
.RDPID = { // dest <- IA32_TSC_AUX
|
||||
{written={0}},
|
||||
},
|
||||
.WBNOINVD = { // privileged; writes back caches without invalidation
|
||||
{side_effects={.SERIALIZING, .PRIVILEGED}},
|
||||
},
|
||||
.SERIALIZE = { // serializes execution; no register/flag clobber
|
||||
{side_effects={.SERIALIZING}},
|
||||
},
|
||||
.PREFETCH = { // cache hint; no register or flag clobber
|
||||
{read={0}, reads_mem=true, side_effects={.HINT}},
|
||||
},
|
||||
|
||||
// 8.24 WAITPKG Encodings
|
||||
.TPAUSE = { // reads control r32 + EDX:EAX deadline; CF <- result
|
||||
{read={0}, implicit_rd={.RAX, .RDX}, flags_wr={.CF}, side_effects={.HINT}},
|
||||
},
|
||||
.UMONITOR = { // arms address monitor for [reg]
|
||||
{read={0}, reads_mem=true},
|
||||
},
|
||||
.UMWAIT = { // reads control r32 + EDX:EAX deadline; CF <- result
|
||||
{read={0}, implicit_rd={.RAX, .RDX}, flags_wr={.CF}, side_effects={.HINT}},
|
||||
},
|
||||
|
||||
// 8.25 Direct Store / Enqueue Store Encodings
|
||||
.MOVDIRI = { // direct store of source register to memory
|
||||
{read={0, 1}, writes_mem=true},
|
||||
{read={0, 1}, writes_mem=true},
|
||||
},
|
||||
.MOVDIR64B = { // 64-byte direct store: reads m512, writes [reg]
|
||||
{read={0}, implicit_rd={.RAX}, reads_mem=true, writes_mem=true},
|
||||
},
|
||||
.ENQCMD = { // enqueue store: reads m512, writes to device [reg]; ZF <- status
|
||||
{read={0}, reads_mem=true, writes_mem=true, flags_wr={.ZF}},
|
||||
},
|
||||
.ENQCMDS = { // supervisor enqueue store; ZF <- status
|
||||
{read={0}, reads_mem=true, writes_mem=true, flags_wr={.ZF}},
|
||||
},
|
||||
|
||||
// 8.26 Remote Atomic Operation (RAO-INT) Encodings
|
||||
.AADD = { // atomic [mem] += reg; no flags, no result loaded
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
},
|
||||
.AAND = { // atomic [mem] &= reg
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
},
|
||||
.AOR = { // atomic [mem] |= reg
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
},
|
||||
.AXOR = { // atomic [mem] ^= reg
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
},
|
||||
|
||||
// 8.27 Restricted Transactional Memory (RTM) Encodings
|
||||
.XEND = { // commits transaction; may transfer control on abort
|
||||
{side_effects={.CONTROL}},
|
||||
},
|
||||
.XTEST = { // ZF <- (not in transactional region)
|
||||
{flags_wr={.ZF}},
|
||||
},
|
||||
|
||||
// 8.28 AMD SVM Encodings
|
||||
.VMRUN = { // privileged; runs guest from VMCB at [rAX]
|
||||
{implicit_rd={.RAX}, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.VMMCALL = { // guest-to-hypervisor call
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.VMLOAD = { // privileged; loads guest state from VMCB at [rAX]
|
||||
{implicit_rd={.RAX}, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.VMSAVE = { // privileged; saves guest state to VMCB at [rAX]
|
||||
{implicit_rd={.RAX}, writes_mem=true, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.STGI = { // privileged; sets global interrupt flag
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.CLGI = { // privileged; clears global interrupt flag
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.SKINIT = { // privileged; secure init from SLB at EAX
|
||||
{implicit_rd={.RAX}, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.INVLPGA = { // privileged; invalidates TLB entry [rAX] for ASID ECX
|
||||
{implicit_rd={.RAX, .RCX}, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.INVLPGB = { // privileged; rAX=va, ECX=count, EDX=flags
|
||||
{implicit_rd={.RAX, .RCX, .RDX}, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.TLBSYNC = { // privileged; synchronizes broadcast TLB invalidations
|
||||
{side_effects={.PRIVILEGED}},
|
||||
},
|
||||
|
||||
// 8.29 AMD SEV-SNP Encodings
|
||||
.PVALIDATE = { // rAX=addr, ECX=size, EDX=validate; EAX<-rc, flags set
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX, .RCX, .RDX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, reads_mem=true},
|
||||
},
|
||||
.RMPADJUST = { // privileged; rAX=addr, RCX=attrs, RDX=level; EAX<-rc
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX, .RCX, .RDX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.RMPUPDATE = { // privileged; rAX=addr, RCX=ptr to RMP state; EAX<-rc
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX, .RCX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, reads_mem=true, writes_mem=true, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
.PSMASH = { // privileged; rAX=addr; EAX<-rc; splits 2M RMP entry
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, writes_mem=true, side_effects={.PRIVILEGED}},
|
||||
},
|
||||
|
||||
// 8.30 AMD Miscellaneous Encodings
|
||||
.CLZERO = { // zeroes the cache line at [rAX]
|
||||
{implicit_rd={.RAX}, writes_mem=true, side_effects={.CACHE}},
|
||||
},
|
||||
.MONITORX = { // arms address monitor for [rAX] with timer (EBX)
|
||||
{implicit_rd={.RAX, .RCX, .RDX}, reads_mem=true},
|
||||
},
|
||||
.MWAITX = { // EAX=hints, ECX=extensions, EBX=timer; enters wait
|
||||
{implicit_rd={.RAX, .RCX, .RBX}, side_effects={.HALT}},
|
||||
},
|
||||
.RDPRU = { // ECX selects register; EDX:EAX <- value
|
||||
{implicit_wr={.RAX, .RDX}, implicit_rd={.RCX}},
|
||||
},
|
||||
.MCOMMIT = { // commits pending stores; CF <- error status
|
||||
{flags_wr={.CF}, side_effects={.FENCE}},
|
||||
},
|
||||
}
|
||||
@@ -4917,4 +4917,183 @@ ENCODING_TABLE := [Mnemonic][]Encoding{
|
||||
{.RDSEED, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, modrm_reg_ext=true}},
|
||||
{.RDSEED, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, modrm_reg_ext=true, force_rex_w=true}},
|
||||
},
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.23 Additional System / GPR Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.SWAPGS = { // 0F 01 F8
|
||||
{.SWAPGS, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xF8, {esc=._0F}},
|
||||
},
|
||||
.MONITOR = { // 0F 01 C8
|
||||
{.MONITOR, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xC8, {esc=._0F}},
|
||||
},
|
||||
.MWAIT = { // 0F 01 C9
|
||||
{.MWAIT, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xC9, {esc=._0F}},
|
||||
},
|
||||
.CLAC = { // 0F 01 CA
|
||||
{.CLAC, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xCA, {esc=._0F}},
|
||||
},
|
||||
.STAC = { // 0F 01 CB
|
||||
{.STAC, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xCB, {esc=._0F}},
|
||||
},
|
||||
.RDFSBASE = { // F3 0F AE /0
|
||||
{.RDFSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 0, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
{.RDFSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 0, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3, force_rex_w=true}},
|
||||
},
|
||||
.RDGSBASE = { // F3 0F AE /1
|
||||
{.RDGSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 1, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
{.RDGSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 1, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3, force_rex_w=true}},
|
||||
},
|
||||
.WRFSBASE = { // F3 0F AE /2
|
||||
{.WRFSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 2, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
{.WRFSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 2, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3, force_rex_w=true}},
|
||||
},
|
||||
.WRGSBASE = { // F3 0F AE /3
|
||||
{.WRGSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 3, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
{.WRGSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 3, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3, force_rex_w=true}},
|
||||
},
|
||||
.PTWRITE = { // F3 0F AE /4
|
||||
{.PTWRITE, {.RM32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 4, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
{.PTWRITE, {.RM64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 4, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3, force_rex_w=true}},
|
||||
},
|
||||
.RDPID = { // F3 0F C7 /7 (r64 in 64-bit mode, no REX.W)
|
||||
{.RDPID, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
},
|
||||
.WBNOINVD = { // F3 0F 09
|
||||
{.WBNOINVD, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x09, 0, {esc=._0F, prefix=PREFIX_F3}},
|
||||
},
|
||||
.SERIALIZE = { // NP 0F 01 E8
|
||||
{.SERIALIZE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xE8, {esc=._0F}},
|
||||
},
|
||||
.PREFETCH = { // 0F 0D /0
|
||||
{.PREFETCH, {.M8, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0x0D, 0, {esc=._0F, modrm_reg_ext=true}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.24 WAITPKG Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.TPAUSE = { // 66 0F AE /6
|
||||
{.TPAUSE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 6, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_66}},
|
||||
},
|
||||
.UMONITOR = { // F3 0F AE /6
|
||||
{.UMONITOR, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 6, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F3}},
|
||||
},
|
||||
.UMWAIT = { // F2 0F AE /6
|
||||
{.UMWAIT, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 6, {esc=._0F, modrm_reg_ext=true, prefix=PREFIX_F2}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.25 Direct Store / Enqueue Store Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.MOVDIRI = { // NP 0F 38 F9 /r (store r -> m)
|
||||
{.MOVDIRI, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xF9, 0, {esc=._0F38}},
|
||||
{.MOVDIRI, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xF9, 0, {esc=._0F38, force_rex_w=true}},
|
||||
},
|
||||
.MOVDIR64B = { // 66 0F 38 F8 /r (r=dest addr, m512=src)
|
||||
{.MOVDIR64B, {.R64, .M512, .NONE, .NONE}, {.REG, .MR, .NONE, .NONE}, 0xF8, 0, {esc=._0F38, prefix=PREFIX_66}},
|
||||
},
|
||||
.ENQCMD = { // F2 0F 38 F8 /r
|
||||
{.ENQCMD, {.R64, .M512, .NONE, .NONE}, {.REG, .MR, .NONE, .NONE}, 0xF8, 0, {esc=._0F38, prefix=PREFIX_F2}},
|
||||
},
|
||||
.ENQCMDS = { // F3 0F 38 F8 /r
|
||||
{.ENQCMDS, {.R64, .M512, .NONE, .NONE}, {.REG, .MR, .NONE, .NONE}, 0xF8, 0, {esc=._0F38, prefix=PREFIX_F3}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.26 Remote Atomic Operation (RAO-INT) Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.AADD = { // NP 0F 38 FC /r
|
||||
{.AADD, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38}},
|
||||
{.AADD, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, force_rex_w=true}},
|
||||
},
|
||||
.AAND = { // 66 0F 38 FC /r
|
||||
{.AAND, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=PREFIX_66}},
|
||||
{.AAND, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=PREFIX_66, force_rex_w=true}},
|
||||
},
|
||||
.AOR = { // F2 0F 38 FC /r
|
||||
{.AOR, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=PREFIX_F2}},
|
||||
{.AOR, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=PREFIX_F2, force_rex_w=true}},
|
||||
},
|
||||
.AXOR = { // F3 0F 38 FC /r
|
||||
{.AXOR, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=PREFIX_F3}},
|
||||
{.AXOR, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=PREFIX_F3, force_rex_w=true}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.27 Restricted Transactional Memory (RTM) Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.XEND = { // NP 0F 01 D5
|
||||
{.XEND, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xD5, {esc=._0F}},
|
||||
},
|
||||
.XTEST = { // NP 0F 01 D6
|
||||
{.XTEST, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xD6, {esc=._0F}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.28 AMD SVM Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.VMRUN = { // 0F 01 D8
|
||||
{.VMRUN, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xD8, {esc=._0F}},
|
||||
},
|
||||
.VMMCALL = { // 0F 01 D9
|
||||
{.VMMCALL, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xD9, {esc=._0F}},
|
||||
},
|
||||
.VMLOAD = { // 0F 01 DA
|
||||
{.VMLOAD, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xDA, {esc=._0F}},
|
||||
},
|
||||
.VMSAVE = { // 0F 01 DB
|
||||
{.VMSAVE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xDB, {esc=._0F}},
|
||||
},
|
||||
.STGI = { // 0F 01 DC
|
||||
{.STGI, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xDC, {esc=._0F}},
|
||||
},
|
||||
.CLGI = { // 0F 01 DD
|
||||
{.CLGI, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xDD, {esc=._0F}},
|
||||
},
|
||||
.SKINIT = { // 0F 01 DE
|
||||
{.SKINIT, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xDE, {esc=._0F}},
|
||||
},
|
||||
.INVLPGA = { // 0F 01 DF
|
||||
{.INVLPGA, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xDF, {esc=._0F}},
|
||||
},
|
||||
.INVLPGB = { // NP 0F 01 FE
|
||||
{.INVLPGB, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFE, {esc=._0F}},
|
||||
},
|
||||
.TLBSYNC = { // NP 0F 01 FF
|
||||
{.TLBSYNC, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFF, {esc=._0F}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.29 AMD SEV-SNP Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.PVALIDATE = { // F2 0F 01 FF
|
||||
{.PVALIDATE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFF, {esc=._0F, prefix=PREFIX_F2}},
|
||||
},
|
||||
.RMPADJUST = { // F3 0F 01 FE
|
||||
{.RMPADJUST, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFE, {esc=._0F, prefix=PREFIX_F3}},
|
||||
},
|
||||
.RMPUPDATE = { // F2 0F 01 FE
|
||||
{.RMPUPDATE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFE, {esc=._0F, prefix=PREFIX_F2}},
|
||||
},
|
||||
.PSMASH = { // F3 0F 01 FF
|
||||
{.PSMASH, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFF, {esc=._0F, prefix=PREFIX_F3}},
|
||||
},
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// SECTION: 8.30 AMD Miscellaneous Encodings
|
||||
// -------------------------------------------------------------------------
|
||||
.CLZERO = { // 0F 01 FC
|
||||
{.CLZERO, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFC, {esc=._0F}},
|
||||
},
|
||||
.MONITORX = { // NP 0F 01 FA
|
||||
{.MONITORX, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFA, {esc=._0F}},
|
||||
},
|
||||
.MWAITX = { // NP 0F 01 FB
|
||||
{.MWAITX, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFB, {esc=._0F}},
|
||||
},
|
||||
.RDPRU = { // 0F 01 FD
|
||||
{.RDPRU, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFD, {esc=._0F}},
|
||||
},
|
||||
.MCOMMIT = { // F3 0F 01 FA
|
||||
{.MCOMMIT, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 0xFA, {esc=._0F, prefix=PREFIX_F3}},
|
||||
},
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -8,7 +8,7 @@ package rexcode_x86_generated
|
||||
import lib "../.."
|
||||
|
||||
@(rodata)
|
||||
ENCODE_FORMS := [2395]lib.Encoding{
|
||||
ENCODE_FORMS := [2451]lib.Encoding{
|
||||
// .MOV
|
||||
{.MOV, {.RM8, .R8, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0x88, 0, {explicit_count=2}},
|
||||
{.MOV, {.RM16, .R16, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0x89, 0, {explicit_count=2}},
|
||||
@@ -3595,10 +3595,112 @@ ENCODE_FORMS := [2395]lib.Encoding{
|
||||
{.RDSEED, {.R16, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.RDSEED, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.RDSEED, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, force_rex_w=true, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .SWAPGS
|
||||
{.SWAPGS, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 248, {esc=._0F}},
|
||||
// .MONITOR
|
||||
{.MONITOR, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 200, {esc=._0F}},
|
||||
// .MWAIT
|
||||
{.MWAIT, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 201, {esc=._0F}},
|
||||
// .CLAC
|
||||
{.CLAC, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 202, {esc=._0F}},
|
||||
// .STAC
|
||||
{.STAC, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 203, {esc=._0F}},
|
||||
// .RDFSBASE
|
||||
{.RDFSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 0, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.RDFSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 0, {esc=._0F, prefix=2, force_rex_w=true, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .RDGSBASE
|
||||
{.RDGSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 1, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.RDGSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 1, {esc=._0F, prefix=2, force_rex_w=true, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .WRFSBASE
|
||||
{.WRFSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 2, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.WRFSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 2, {esc=._0F, prefix=2, force_rex_w=true, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .WRGSBASE
|
||||
{.WRGSBASE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 3, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.WRGSBASE, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 3, {esc=._0F, prefix=2, force_rex_w=true, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .PTWRITE
|
||||
{.PTWRITE, {.RM32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 4, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
{.PTWRITE, {.RM64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 4, {esc=._0F, prefix=2, force_rex_w=true, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .RDPID
|
||||
{.RDPID, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xC7, 7, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .WBNOINVD
|
||||
{.WBNOINVD, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x09, 0, {esc=._0F, prefix=2}},
|
||||
// .SERIALIZE
|
||||
{.SERIALIZE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 232, {esc=._0F}},
|
||||
// .PREFETCH
|
||||
{.PREFETCH, {.M8, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0x0D, 0, {esc=._0F, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .TPAUSE
|
||||
{.TPAUSE, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 6, {esc=._0F, prefix=1, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .UMONITOR
|
||||
{.UMONITOR, {.R64, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 6, {esc=._0F, prefix=2, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .UMWAIT
|
||||
{.UMWAIT, {.R32, .NONE, .NONE, .NONE}, {.MR, .NONE, .NONE, .NONE}, 0xAE, 6, {esc=._0F, prefix=3, modrm_reg_ext=true, explicit_count=1}},
|
||||
// .MOVDIRI
|
||||
{.MOVDIRI, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xF9, 0, {esc=._0F38, explicit_count=2}},
|
||||
{.MOVDIRI, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xF9, 0, {esc=._0F38, force_rex_w=true, explicit_count=2}},
|
||||
// .MOVDIR64B
|
||||
{.MOVDIR64B, {.R64, .M512, .NONE, .NONE}, {.REG, .MR, .NONE, .NONE}, 0xF8, 0, {esc=._0F38, prefix=1, explicit_count=2}},
|
||||
// .ENQCMD
|
||||
{.ENQCMD, {.R64, .M512, .NONE, .NONE}, {.REG, .MR, .NONE, .NONE}, 0xF8, 0, {esc=._0F38, prefix=3, explicit_count=2}},
|
||||
// .ENQCMDS
|
||||
{.ENQCMDS, {.R64, .M512, .NONE, .NONE}, {.REG, .MR, .NONE, .NONE}, 0xF8, 0, {esc=._0F38, prefix=2, explicit_count=2}},
|
||||
// .AADD
|
||||
{.AADD, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, explicit_count=2}},
|
||||
{.AADD, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, force_rex_w=true, explicit_count=2}},
|
||||
// .AAND
|
||||
{.AAND, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=1, explicit_count=2}},
|
||||
{.AAND, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=1, force_rex_w=true, explicit_count=2}},
|
||||
// .AOR
|
||||
{.AOR, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=3, explicit_count=2}},
|
||||
{.AOR, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=3, force_rex_w=true, explicit_count=2}},
|
||||
// .AXOR
|
||||
{.AXOR, {.M32, .R32, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=2, explicit_count=2}},
|
||||
{.AXOR, {.M64, .R64, .NONE, .NONE}, {.MR, .REG, .NONE, .NONE}, 0xFC, 0, {esc=._0F38, prefix=2, force_rex_w=true, explicit_count=2}},
|
||||
// .XEND
|
||||
{.XEND, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 213, {esc=._0F}},
|
||||
// .XTEST
|
||||
{.XTEST, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 214, {esc=._0F}},
|
||||
// .VMRUN
|
||||
{.VMRUN, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 216, {esc=._0F}},
|
||||
// .VMMCALL
|
||||
{.VMMCALL, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 217, {esc=._0F}},
|
||||
// .VMLOAD
|
||||
{.VMLOAD, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 218, {esc=._0F}},
|
||||
// .VMSAVE
|
||||
{.VMSAVE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 219, {esc=._0F}},
|
||||
// .STGI
|
||||
{.STGI, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 220, {esc=._0F}},
|
||||
// .CLGI
|
||||
{.CLGI, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 221, {esc=._0F}},
|
||||
// .SKINIT
|
||||
{.SKINIT, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 222, {esc=._0F}},
|
||||
// .INVLPGA
|
||||
{.INVLPGA, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 223, {esc=._0F}},
|
||||
// .INVLPGB
|
||||
{.INVLPGB, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 254, {esc=._0F}},
|
||||
// .TLBSYNC
|
||||
{.TLBSYNC, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 255, {esc=._0F}},
|
||||
// .PVALIDATE
|
||||
{.PVALIDATE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 255, {esc=._0F, prefix=3}},
|
||||
// .RMPADJUST
|
||||
{.RMPADJUST, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 254, {esc=._0F, prefix=2}},
|
||||
// .RMPUPDATE
|
||||
{.RMPUPDATE, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 254, {esc=._0F, prefix=3}},
|
||||
// .PSMASH
|
||||
{.PSMASH, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 255, {esc=._0F, prefix=2}},
|
||||
// .CLZERO
|
||||
{.CLZERO, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 252, {esc=._0F}},
|
||||
// .MONITORX
|
||||
{.MONITORX, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 250, {esc=._0F}},
|
||||
// .MWAITX
|
||||
{.MWAITX, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 251, {esc=._0F}},
|
||||
// .RDPRU
|
||||
{.RDPRU, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 253, {esc=._0F}},
|
||||
// .MCOMMIT
|
||||
{.MCOMMIT, {.NONE, .NONE, .NONE, .NONE}, {.NONE, .NONE, .NONE, .NONE}, 0x01, 250, {esc=._0F, prefix=2}},
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
CLOBBER_FORMS := [2395]lib.Clobber{
|
||||
CLOBBER_FORMS := [2451]lib.Clobber{
|
||||
// .MOV
|
||||
{written={0}, read={1}, writes_mem=true, reads_mem=true},
|
||||
{written={0}, read={1}, writes_mem=true, reads_mem=true},
|
||||
@@ -7185,6 +7287,108 @@ CLOBBER_FORMS := [2395]lib.Clobber{
|
||||
{written={0}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}},
|
||||
{written={0}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}},
|
||||
{written={0}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}},
|
||||
// .SWAPGS
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .MONITOR
|
||||
{implicit_rd={.RAX, .RCX, .RDX}, reads_mem=true},
|
||||
// .MWAIT
|
||||
{implicit_rd={.RAX, .RCX}, side_effects={.HALT}},
|
||||
// .CLAC
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .STAC
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .RDFSBASE
|
||||
{written={0}},
|
||||
{written={0}},
|
||||
// .RDGSBASE
|
||||
{written={0}},
|
||||
{written={0}},
|
||||
// .WRFSBASE
|
||||
{read={0}},
|
||||
{read={0}},
|
||||
// .WRGSBASE
|
||||
{read={0}},
|
||||
{read={0}},
|
||||
// .PTWRITE
|
||||
{read={0}, reads_mem=true},
|
||||
{read={0}, reads_mem=true},
|
||||
// .RDPID
|
||||
{written={0}},
|
||||
// .WBNOINVD
|
||||
{side_effects={.SERIALIZING, .PRIVILEGED}},
|
||||
// .SERIALIZE
|
||||
{side_effects={.SERIALIZING}},
|
||||
// .PREFETCH
|
||||
{read={0}, reads_mem=true, side_effects={.HINT}},
|
||||
// .TPAUSE
|
||||
{read={0}, implicit_rd={.RAX, .RDX}, flags_wr={.CF}, side_effects={.HINT}},
|
||||
// .UMONITOR
|
||||
{read={0}, reads_mem=true},
|
||||
// .UMWAIT
|
||||
{read={0}, implicit_rd={.RAX, .RDX}, flags_wr={.CF}, side_effects={.HINT}},
|
||||
// .MOVDIRI
|
||||
{read={0, 1}, writes_mem=true},
|
||||
{read={0, 1}, writes_mem=true},
|
||||
// .MOVDIR64B
|
||||
{read={0}, implicit_rd={.RAX}, writes_mem=true, reads_mem=true},
|
||||
// .ENQCMD
|
||||
{read={0}, flags_wr={.ZF}, writes_mem=true, reads_mem=true},
|
||||
// .ENQCMDS
|
||||
{read={0}, flags_wr={.ZF}, writes_mem=true, reads_mem=true},
|
||||
// .AADD
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
// .AAND
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
// .AOR
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
// .AXOR
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
{read={0, 1}, writes_mem=true, reads_mem=true},
|
||||
// .XEND
|
||||
{side_effects={.CONTROL}},
|
||||
// .XTEST
|
||||
{flags_wr={.ZF}},
|
||||
// .VMRUN
|
||||
{implicit_rd={.RAX}, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
// .VMMCALL
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .VMLOAD
|
||||
{implicit_rd={.RAX}, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
// .VMSAVE
|
||||
{implicit_rd={.RAX}, writes_mem=true, side_effects={.PRIVILEGED}},
|
||||
// .STGI
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .CLGI
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .SKINIT
|
||||
{implicit_rd={.RAX}, side_effects={.PRIVILEGED}},
|
||||
// .INVLPGA
|
||||
{implicit_rd={.RAX, .RCX}, side_effects={.PRIVILEGED}},
|
||||
// .INVLPGB
|
||||
{implicit_rd={.RAX, .RCX, .RDX}, side_effects={.PRIVILEGED}},
|
||||
// .TLBSYNC
|
||||
{side_effects={.PRIVILEGED}},
|
||||
// .PVALIDATE
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX, .RCX, .RDX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, reads_mem=true},
|
||||
// .RMPADJUST
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX, .RCX, .RDX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
// .RMPUPDATE
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX, .RCX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, writes_mem=true, reads_mem=true, side_effects={.PRIVILEGED}},
|
||||
// .PSMASH
|
||||
{implicit_wr={.RAX}, implicit_rd={.RAX}, flags_wr={.CF, .PF, .AF, .ZF, .SF, .OF}, writes_mem=true, side_effects={.PRIVILEGED}},
|
||||
// .CLZERO
|
||||
{implicit_rd={.RAX}, writes_mem=true, side_effects={.CACHE}},
|
||||
// .MONITORX
|
||||
{implicit_rd={.RAX, .RCX, .RDX}, reads_mem=true},
|
||||
// .MWAITX
|
||||
{implicit_rd={.RAX, .RBX, .RCX}, side_effects={.HALT}},
|
||||
// .RDPRU
|
||||
{implicit_wr={.RAX, .RDX}, implicit_rd={.RCX}},
|
||||
// .MCOMMIT
|
||||
{flags_wr={.CF}, side_effects={.FENCE}},
|
||||
}
|
||||
|
||||
@(rodata)
|
||||
@@ -8381,10 +8585,56 @@ ENCODE_RUNS := [lib.Mnemonic]lib.Encode_Run{
|
||||
.MOVBE = { 2383, 6},
|
||||
.RDRAND = { 2389, 3},
|
||||
.RDSEED = { 2392, 3},
|
||||
.SWAPGS = { 2395, 1},
|
||||
.MONITOR = { 2396, 1},
|
||||
.MWAIT = { 2397, 1},
|
||||
.CLAC = { 2398, 1},
|
||||
.STAC = { 2399, 1},
|
||||
.RDFSBASE = { 2400, 2},
|
||||
.RDGSBASE = { 2402, 2},
|
||||
.WRFSBASE = { 2404, 2},
|
||||
.WRGSBASE = { 2406, 2},
|
||||
.PTWRITE = { 2408, 2},
|
||||
.RDPID = { 2410, 1},
|
||||
.WBNOINVD = { 2411, 1},
|
||||
.SERIALIZE = { 2412, 1},
|
||||
.PREFETCH = { 2413, 1},
|
||||
.TPAUSE = { 2414, 1},
|
||||
.UMONITOR = { 2415, 1},
|
||||
.UMWAIT = { 2416, 1},
|
||||
.MOVDIRI = { 2417, 2},
|
||||
.MOVDIR64B = { 2419, 1},
|
||||
.ENQCMD = { 2420, 1},
|
||||
.ENQCMDS = { 2421, 1},
|
||||
.AADD = { 2422, 2},
|
||||
.AAND = { 2424, 2},
|
||||
.AOR = { 2426, 2},
|
||||
.AXOR = { 2428, 2},
|
||||
.XEND = { 2430, 1},
|
||||
.XTEST = { 2431, 1},
|
||||
.VMRUN = { 2432, 1},
|
||||
.VMMCALL = { 2433, 1},
|
||||
.VMLOAD = { 2434, 1},
|
||||
.VMSAVE = { 2435, 1},
|
||||
.STGI = { 2436, 1},
|
||||
.CLGI = { 2437, 1},
|
||||
.SKINIT = { 2438, 1},
|
||||
.INVLPGA = { 2439, 1},
|
||||
.INVLPGB = { 2440, 1},
|
||||
.TLBSYNC = { 2441, 1},
|
||||
.PVALIDATE = { 2442, 1},
|
||||
.RMPADJUST = { 2443, 1},
|
||||
.RMPUPDATE = { 2444, 1},
|
||||
.PSMASH = { 2445, 1},
|
||||
.CLZERO = { 2446, 1},
|
||||
.MONITORX = { 2447, 1},
|
||||
.MWAITX = { 2448, 1},
|
||||
.RDPRU = { 2449, 1},
|
||||
.MCOMMIT = { 2450, 1},
|
||||
}
|
||||
|
||||
// Emit descriptor per form (derived from ENCODE_FORMS via lib.form_to_recipe).
|
||||
ENCODE_RECIPES: [2395]lib.Form_Recipe
|
||||
ENCODE_RECIPES: [2451]lib.Form_Recipe
|
||||
@(init) _fill_recipes :: proc "contextless" () {
|
||||
for i in 0 ..< len(ENCODE_FORMS) {
|
||||
ENCODE_RECIPES[i] = lib.form_to_recipe(&ENCODE_FORMS[i])
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+48
-11
@@ -85,7 +85,10 @@ struct Asm_amd64 {
|
||||
M_VMWRITE, M_VMFUNC, M_INVEPT, M_INVVPID, M_ENCLS, M_ENCLU, M_ENCLV, M_RDPKRU, M_WRPKRU, M_INCSSPD, M_INCSSPQ, M_RDSSPD, M_RDSSPQ, M_SAVEPREVSSP, M_RSTORSSP, M_WRSSD,
|
||||
M_WRSSQ, M_WRUSSD, M_WRUSSQ, M_SETSSBSY, M_CLRSSBSY, M_ENDBR64, M_ENDBR32, M_XSAVE, M_XSAVE64, M_XRSTOR, M_XRSTOR64, M_XSAVEOPT, M_XSAVEOPT64, M_XSAVEC, M_XSAVEC64, M_XSAVES,
|
||||
M_XSAVES64, M_XRSTORS, M_XRSTORS64, M_PREFETCHT0, M_PREFETCHT1, M_PREFETCHT2, M_PREFETCHNTA, M_PREFETCHW, M_CLFLUSHOPT, M_CLWB, M_CLDEMOTE, M_BSWAP, M_CMPXCHG, M_CMPXCHG8B, M_CMPXCHG16B, M_XADD,
|
||||
M_BOUND, M_ENTER, M_LEAVE, M_XLAT, M_XLATB, M_MOVBE, M_RDRAND, M_RDSEED,
|
||||
M_BOUND, M_ENTER, M_LEAVE, M_XLAT, M_XLATB, M_MOVBE, M_RDRAND, M_RDSEED, M_SWAPGS, M_MONITOR, M_MWAIT, M_CLAC, M_STAC, M_RDFSBASE, M_RDGSBASE, M_WRFSBASE,
|
||||
M_WRGSBASE, M_PTWRITE, M_RDPID, M_WBNOINVD, M_SERIALIZE, M_PREFETCH, M_TPAUSE, M_UMONITOR, M_UMWAIT, M_MOVDIRI, M_MOVDIR64B, M_ENQCMD, M_ENQCMDS, M_AADD, M_AAND, M_AOR,
|
||||
M_AXOR, M_XEND, M_XTEST, M_VMRUN, M_VMMCALL, M_VMLOAD, M_VMSAVE, M_STGI, M_CLGI, M_SKINIT, M_INVLPGA, M_INVLPGB, M_TLBSYNC, M_PVALIDATE, M_RMPADJUST, M_RMPUPDATE,
|
||||
M_PSMASH, M_CLZERO, M_MONITORX, M_MWAITX, M_RDPRU, M_MCOMMIT,
|
||||
|
||||
MNEMONIC_COUNT
|
||||
};
|
||||
@@ -407,9 +410,9 @@ struct Asm_amd64 {
|
||||
};
|
||||
|
||||
|
||||
static EncodeRun const raw_encode_runs [1192];
|
||||
static u8 const raw_encode_forms [38320];
|
||||
static u8 const raw_clobber_forms[38320];
|
||||
static EncodeRun const raw_encode_runs [1238];
|
||||
static u8 const raw_encode_forms [39216];
|
||||
static u8 const raw_clobber_forms[39216];
|
||||
|
||||
StringMap<Mnemonic> mnemonic_map;
|
||||
StringMap<Prefix> prefix_map;
|
||||
@@ -733,7 +736,10 @@ String const Asm_amd64::mnemonic_strings[Asm_amd64::MNEMONIC_COUNT] {
|
||||
str_lit("vmwrite"), str_lit("vmfunc"), str_lit("invept"), str_lit("invvpid"), str_lit("encls"), str_lit("enclu"), str_lit("enclv"), str_lit("rdpkru"), str_lit("wrpkru"), str_lit("incsspd"), str_lit("incsspq"), str_lit("rdsspd"), str_lit("rdsspq"), str_lit("saveprevssp"), str_lit("rstorssp"), str_lit("wrssd"),
|
||||
str_lit("wrssq"), str_lit("wrussd"), str_lit("wrussq"), str_lit("setssbsy"), str_lit("clrssbsy"), str_lit("endbr64"), str_lit("endbr32"), str_lit("xsave"), str_lit("xsave64"), str_lit("xrstor"), str_lit("xrstor64"), str_lit("xsaveopt"), str_lit("xsaveopt64"), str_lit("xsavec"), str_lit("xsavec64"), str_lit("xsaves"),
|
||||
str_lit("xsaves64"), str_lit("xrstors"), str_lit("xrstors64"), str_lit("prefetcht0"), str_lit("prefetcht1"), str_lit("prefetcht2"), str_lit("prefetchnta"), str_lit("prefetchw"), str_lit("clflushopt"), str_lit("clwb"), str_lit("cldemote"), str_lit("bswap"), str_lit("cmpxchg"), str_lit("cmpxchg8b"), str_lit("cmpxchg16b"), str_lit("xadd"),
|
||||
str_lit("bound"), str_lit("enter"), str_lit("leave"), str_lit("xlat"), str_lit("xlatb"), str_lit("movbe"), str_lit("rdrand"), str_lit("rdseed"),
|
||||
str_lit("bound"), str_lit("enter"), str_lit("leave"), str_lit("xlat"), str_lit("xlatb"), str_lit("movbe"), str_lit("rdrand"), str_lit("rdseed"), str_lit("swapgs"), str_lit("monitor"), str_lit("mwait"), str_lit("clac"), str_lit("stac"), str_lit("rdfsbase"), str_lit("rdgsbase"), str_lit("wrfsbase"),
|
||||
str_lit("wrgsbase"), str_lit("ptwrite"), str_lit("rdpid"), str_lit("wbnoinvd"), str_lit("serialize"), str_lit("prefetch"), str_lit("tpause"), str_lit("umonitor"), str_lit("umwait"), str_lit("movdiri"), str_lit("movdir64b"), str_lit("enqcmd"), str_lit("enqcmds"), str_lit("aadd"), str_lit("aand"), str_lit("aor"),
|
||||
str_lit("axor"), str_lit("xend"), str_lit("xtest"), str_lit("vmrun"), str_lit("vmmcall"), str_lit("vmload"), str_lit("vmsave"), str_lit("stgi"), str_lit("clgi"), str_lit("skinit"), str_lit("invlpga"), str_lit("invlpgb"), str_lit("tlbsync"), str_lit("pvalidate"), str_lit("rmpadjust"), str_lit("rmpupdate"),
|
||||
str_lit("psmash"), str_lit("clzero"), str_lit("monitorx"), str_lit("mwaitx"), str_lit("rdpru"), str_lit("mcommit"),
|
||||
};
|
||||
String const Asm_amd64::prefix_strings[Asm_amd64::PREFIX_COUNT] {
|
||||
str_lit(""), str_lit("es"), str_lit("cs"), str_lit("ss"), str_lit("ds"), str_lit("rex"), str_lit("evex"), str_lit("fs"), str_lit("gs"), str_lit("vex"), str_lit("lock"), str_lit("repne"), str_lit("rep"),
|
||||
@@ -770,7 +776,7 @@ String const Asm_amd64::register_strings[Asm_amd64::REG_COUNT] {
|
||||
str_lit("bnd2"), str_lit("bnd3"), str_lit("mm0"), str_lit("mm1"), str_lit("mm2"), str_lit("mm3"), str_lit("mm4"), str_lit("mm5"), str_lit("mm6"), str_lit("mm7"), str_lit("st0"), str_lit("st1"), str_lit("st2"), str_lit("st3"), str_lit("st4"), str_lit("st5"),
|
||||
str_lit("st6"), str_lit("st7"), str_lit("rip"),
|
||||
};
|
||||
Asm_amd64::EncodeRun const Asm_amd64::raw_encode_runs[1192] = {
|
||||
Asm_amd64::EncodeRun const Asm_amd64::raw_encode_runs[1238] = {
|
||||
{ 0, 0}, { 0, 32}, { 32, 9}, { 41, 5}, { 46, 5}, { 51, 1}, { 52, 7}, { 59, 9}, { 68, 6}, { 74, 3}, { 77, 19}, { 96, 19}, { 115, 19}, { 134, 19}, { 153, 4}, { 157, 13},
|
||||
{ 170, 4}, { 174, 4}, { 178, 6}, { 184, 6}, { 190, 4}, { 194, 19}, { 213, 19}, { 232, 19}, { 251, 19}, { 270, 4}, { 274, 12}, { 286, 12}, { 298, 12}, { 310, 12}, { 322, 12}, { 334, 12},
|
||||
{ 346, 12}, { 358, 12}, { 370, 6}, { 376, 6}, { 382, 6}, { 388, 6}, { 394, 6}, { 400, 6}, { 406, 3}, { 409, 3}, { 412, 3}, { 415, 3}, { 418, 3}, { 421, 6}, { 427, 2}, { 429, 2},
|
||||
@@ -845,9 +851,12 @@ Asm_amd64::EncodeRun const Asm_amd64::raw_encode_runs[1192] = {
|
||||
{2322, 1}, {2323, 1}, {2324, 1}, {2325, 1}, {2326, 1}, {2327, 1}, {2328, 1}, {2329, 1}, {2330, 1}, {2331, 1}, {2332, 1}, {2333, 1}, {2334, 1}, {2335, 1}, {2336, 1}, {2337, 1},
|
||||
{2338, 1}, {2339, 1}, {2340, 1}, {2341, 1}, {2342, 1}, {2343, 1}, {2344, 1}, {2345, 1}, {2346, 1}, {2347, 1}, {2348, 1}, {2349, 1}, {2350, 1}, {2351, 1}, {2352, 1}, {2353, 1},
|
||||
{2354, 1}, {2355, 1}, {2356, 1}, {2357, 1}, {2358, 1}, {2359, 1}, {2360, 1}, {2361, 1}, {2362, 1}, {2363, 1}, {2364, 1}, {2365, 2}, {2367, 4}, {2371, 1}, {2372, 1}, {2373, 4},
|
||||
{2377, 2}, {2379, 1}, {2380, 1}, {2381, 1}, {2382, 1}, {2383, 6}, {2389, 3}, {2392, 3},
|
||||
{2377, 2}, {2379, 1}, {2380, 1}, {2381, 1}, {2382, 1}, {2383, 6}, {2389, 3}, {2392, 3}, {2395, 1}, {2396, 1}, {2397, 1}, {2398, 1}, {2399, 1}, {2400, 2}, {2402, 2}, {2404, 2},
|
||||
{2406, 2}, {2408, 2}, {2410, 1}, {2411, 1}, {2412, 1}, {2413, 1}, {2414, 1}, {2415, 1}, {2416, 1}, {2417, 2}, {2419, 1}, {2420, 1}, {2421, 1}, {2422, 2}, {2424, 2}, {2426, 2},
|
||||
{2428, 2}, {2430, 1}, {2431, 1}, {2432, 1}, {2433, 1}, {2434, 1}, {2435, 1}, {2436, 1}, {2437, 1}, {2438, 1}, {2439, 1}, {2440, 1}, {2441, 1}, {2442, 1}, {2443, 1}, {2444, 1},
|
||||
{2445, 1}, {2446, 1}, {2447, 1}, {2448, 1}, {2449, 1}, {2450, 1},
|
||||
};
|
||||
u8 const Asm_amd64::raw_encode_forms[38320] = {
|
||||
u8 const Asm_amd64::raw_encode_forms[39216] = {
|
||||
0x01, 0x00, 0x05, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x06, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x07, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x89, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x89, 0x00, 0x00, 0x08, 0x08, 0x00,
|
||||
0x01, 0x00, 0x01, 0x05, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x02, 0x06, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x03, 0x07, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x08, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x8b, 0x00, 0x00, 0x08, 0x08, 0x00,
|
||||
0x01, 0x00, 0x01, 0x12, 0x00, 0x00, 0x04, 0x05, 0x00, 0x00, 0xb0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x02, 0x13, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x03, 0x14, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04, 0x15, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0xb8, 0x00, 0x00, 0x08, 0x08, 0x00,
|
||||
@@ -1446,9 +1455,23 @@ u8 const Asm_amd64::raw_encode_forms[38320] = {
|
||||
0xa2, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc9, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa5, 0x04, 0x02, 0x0b, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x08, 0x00,
|
||||
0xa5, 0x04, 0x03, 0x0c, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x02, 0x00, 0x08, 0x00, 0xa5, 0x04, 0x04, 0x0d, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x02, 0x08, 0x08, 0x00, 0xa5, 0x04, 0x0b, 0x02, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xf1, 0x00, 0x02, 0x00, 0x08, 0x00, 0xa5, 0x04, 0x0c, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xf1, 0x00, 0x02, 0x00, 0x08, 0x00,
|
||||
0xa5, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xf1, 0x00, 0x02, 0x08, 0x08, 0x00, 0xa6, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x06, 0x01, 0x00, 0x05, 0x00, 0xa6, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x06, 0x01, 0x00, 0x05, 0x00, 0xa6, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x06, 0x01, 0x08, 0x05, 0x00,
|
||||
0xa7, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x01, 0x00, 0x05, 0x00, 0xa7, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x01, 0x00, 0x05, 0x00, 0xa7, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x01, 0x08, 0x05, 0x00,
|
||||
0xa7, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x01, 0x00, 0x05, 0x00, 0xa7, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x01, 0x00, 0x05, 0x00, 0xa7, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x01, 0x08, 0x05, 0x00, 0xa8, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x01, 0x00, 0x00, 0x00,
|
||||
0xa9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc8, 0x01, 0x00, 0x00, 0x00, 0xaa, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xc9, 0x01, 0x00, 0x00, 0x00, 0xab, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xca, 0x01, 0x00, 0x00, 0x00, 0xac, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xcb, 0x01, 0x00, 0x00, 0x00,
|
||||
0xad, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x00, 0x09, 0x00, 0x05, 0x00, 0xad, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x00, 0x09, 0x08, 0x05, 0x00, 0xae, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x01, 0x09, 0x00, 0x05, 0x00, 0xae, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x01, 0x09, 0x08, 0x05, 0x00,
|
||||
0xaf, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x02, 0x09, 0x00, 0x05, 0x00, 0xaf, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x02, 0x09, 0x08, 0x05, 0x00, 0xb0, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x03, 0x09, 0x00, 0x05, 0x00, 0xb0, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x03, 0x09, 0x08, 0x05, 0x00,
|
||||
0xb1, 0x04, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x04, 0x09, 0x00, 0x05, 0x00, 0xb1, 0x04, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x04, 0x09, 0x08, 0x05, 0x00, 0xb2, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xc7, 0x07, 0x09, 0x00, 0x05, 0x00, 0xb3, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0xb4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe8, 0x01, 0x00, 0x00, 0x00, 0xb5, 0x04, 0x0a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x01, 0x00, 0x05, 0x00, 0xb6, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x06, 0x05, 0x00, 0x05, 0x00, 0xb7, 0x04, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x06, 0x09, 0x00, 0x05, 0x00,
|
||||
0xb8, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xae, 0x06, 0x0d, 0x00, 0x05, 0x00, 0xb9, 0x04, 0x0c, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x00, 0x08, 0x00, 0xb9, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xf9, 0x00, 0x02, 0x08, 0x08, 0x00, 0xba, 0x04, 0x04, 0x11, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x06, 0x00, 0x08, 0x00,
|
||||
0xbb, 0x04, 0x04, 0x11, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x0e, 0x00, 0x08, 0x00, 0xbc, 0x04, 0x04, 0x11, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xf8, 0x00, 0x0a, 0x00, 0x08, 0x00, 0xbd, 0x04, 0x0c, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x02, 0x00, 0x08, 0x00, 0xbd, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x02, 0x08, 0x08, 0x00,
|
||||
0xbe, 0x04, 0x0c, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x06, 0x00, 0x08, 0x00, 0xbe, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x06, 0x08, 0x08, 0x00, 0xbf, 0x04, 0x0c, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x0e, 0x00, 0x08, 0x00, 0xbf, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x0e, 0x08, 0x08, 0x00,
|
||||
0xc0, 0x04, 0x0c, 0x03, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x0a, 0x00, 0x08, 0x00, 0xc0, 0x04, 0x0d, 0x04, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0xfc, 0x00, 0x0a, 0x08, 0x08, 0x00, 0xc1, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xd5, 0x01, 0x00, 0x00, 0x00, 0xc2, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xd6, 0x01, 0x00, 0x00, 0x00,
|
||||
0xc3, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xd8, 0x01, 0x00, 0x00, 0x00, 0xc4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xd9, 0x01, 0x00, 0x00, 0x00, 0xc5, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xda, 0x01, 0x00, 0x00, 0x00, 0xc6, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdb, 0x01, 0x00, 0x00, 0x00,
|
||||
0xc7, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdc, 0x01, 0x00, 0x00, 0x00, 0xc8, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdd, 0x01, 0x00, 0x00, 0x00, 0xc9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xde, 0x01, 0x00, 0x00, 0x00, 0xca, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xdf, 0x01, 0x00, 0x00, 0x00,
|
||||
0xcb, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x01, 0x00, 0x00, 0x00, 0xcc, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x01, 0x00, 0x00, 0x00, 0xcd, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x0d, 0x00, 0x00, 0x00, 0xce, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x09, 0x00, 0x00, 0x00,
|
||||
0xcf, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfe, 0x0d, 0x00, 0x00, 0x00, 0xd0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xff, 0x09, 0x00, 0x00, 0x00, 0xd1, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfc, 0x01, 0x00, 0x00, 0x00, 0xd2, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfa, 0x01, 0x00, 0x00, 0x00,
|
||||
0xd3, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfb, 0x01, 0x00, 0x00, 0x00, 0xd4, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfd, 0x01, 0x00, 0x00, 0x00, 0xd5, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xfa, 0x09, 0x00, 0x00, 0x00,
|
||||
};
|
||||
u8 const Asm_amd64::raw_clobber_forms[38320] = {
|
||||
u8 const Asm_amd64::raw_clobber_forms[39216] = {
|
||||
0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
@@ -2047,5 +2070,19 @@ u8 const Asm_amd64::raw_clobber_forms[38320] = {
|
||||
0x00, 0x00, 0xc0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0d, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x05, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x80, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x09, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
};
|
||||
Reference in new issue
Block a user