diff --git a/bindings/python/sample_network_auditing.py b/bindings/python/sample_network_auditing.py index 26998215..127845f3 100755 --- a/bindings/python/sample_network_auditing.py +++ b/bindings/python/sample_network_auditing.py @@ -173,11 +173,11 @@ def hook_intr(uc, intno, user_data): if intno != 0x80: return - eax = uc.reg_read(X86_REG_EAX) - ebx = uc.reg_read(X86_REG_EBX) - ecx = uc.reg_read(X86_REG_ECX) - edx = uc.reg_read(X86_REG_EDX) - eip = uc.reg_read(X86_REG_EIP) + eax = uc.reg_read(UC_X86_REG_EAX) + ebx = uc.reg_read(UC_X86_REG_EBX) + ecx = uc.reg_read(UC_X86_REG_ECX) + edx = uc.reg_read(UC_X86_REG_EDX) + eip = uc.reg_read(UC_X86_REG_EIP) # print(">>> INTERRUPT %d" % eax) @@ -217,7 +217,7 @@ def hook_intr(uc, intno, user_data): filename = uc.mem_read(filename_addr, FILENAME_MAX_LEN) dummy_fd = id_gen.next() - uc.reg_write(X86_REG_EAX, dummy_fd) + uc.reg_write(UC_X86_REG_EAX, dummy_fd) msg = "open file (filename=%s flags=%d mode=%d) with fd(%d)" % (bytearray_to_string(filename), flags, mode, dummy_fd) @@ -234,8 +234,8 @@ def hook_intr(uc, intno, user_data): print(">>> SYS_DUP2 oldfd=%d newfd=%d" % (ebx, ecx)) elif eax == 102: # sys_socketcall # ref: http://www.skyfree.org/linux/kernel_network/socket.html - call = uc.reg_read(X86_REG_EBX) - args = uc.reg_read(X86_REG_ECX) + call = uc.reg_read(UC_X86_REG_EBX) + args = uc.reg_read(UC_X86_REG_ECX) buf = uc.mem_read(args, SOCKETCALL_MAX_ARGS*SIZE_REG) args = struct.unpack("<" + "I"*SOCKETCALL_MAX_ARGS, buf) @@ -249,7 +249,7 @@ def hook_intr(uc, intno, user_data): protocol = args[2] dummy_fd = id_gen.next() - uc.reg_write(X86_REG_EAX, dummy_fd) + uc.reg_write(UC_X86_REG_EAX, dummy_fd) if family == 2: # AF_INET @@ -353,7 +353,7 @@ def test_i386(code): mu.mem_write(ADDRESS, code) # initialize stack - mu.reg_write(X86_REG_ESP, ADDRESS + 0x200000) + mu.reg_write(UC_X86_REG_ESP, ADDRESS + 0x200000) # tracing all instructions with customized callback # mu.hook_add(UC_HOOK_CODE, hook_code) diff --git a/bindings/python/sample_x86.py b/bindings/python/sample_x86.py index 72b6d4d4..8f8f361b 100755 --- a/bindings/python/sample_x86.py +++ b/bindings/python/sample_x86.py @@ -26,7 +26,7 @@ def hook_block(uc, address, size, user_data): # callback for tracing instructions def hook_code(uc, address, size, user_data): print(">>> Tracing instruction at 0x%x, instruction size = %u" %(address, size)) - #eip = uc.reg_read(X86_REG_EIP) + #eip = uc.reg_read(UC_X86_REG_EIP) #print(">>> EIP = 0x%x" %(eip)) @@ -56,7 +56,7 @@ def hook_mem_access(uc, access, address, size, value, user_data): # callback for IN instruction def hook_in(uc, port, size, user_data): - eip = uc.reg_read(X86_REG_EIP) + eip = uc.reg_read(UC_X86_REG_EIP) print("--- reading from port 0x%x, size: %u, address: 0x%x" %(port, size, eip)) if size == 1: # read 1 byte to AL @@ -73,20 +73,20 @@ def hook_in(uc, port, size, user_data): # callback for OUT instruction def hook_out(uc, port, size, value, user_data): - eip = uc.reg_read(X86_REG_EIP) + eip = uc.reg_read(UC_X86_REG_EIP) print("--- writing to port 0x%x, size: %u, value: 0x%x, address: 0x%x" %(port, size, value, eip)) # confirm that value is indeed the value of AL/AX/EAX v = 0 if size == 1: # read 1 byte in AL - v = uc.reg_read(X86_REG_AL) + v = uc.reg_read(UC_X86_REG_AL) if size == 2: # read 2 bytes in AX - v = uc.reg_read(X86_REG_AX) + v = uc.reg_read(UC_X86_REG_AX) if size == 4: # read 4 bytes in EAX - v = uc.reg_read(X86_REG_EAX) + v = uc.reg_read(UC_X86_REG_EAX) print("--- register value = 0x%x" %v) @@ -105,8 +105,8 @@ def test_i386(): mu.mem_write(ADDRESS, X86_CODE32) # initialize machine registers - mu.reg_write(X86_REG_ECX, 0x1234) - mu.reg_write(X86_REG_EDX, 0x7890) + mu.reg_write(UC_X86_REG_ECX, 0x1234) + mu.reg_write(UC_X86_REG_EDX, 0x7890) # tracing all basic blocks with customized callback mu.hook_add(UC_HOOK_BLOCK, hook_block) @@ -120,8 +120,8 @@ def test_i386(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - r_ecx = mu.reg_read(X86_REG_ECX) - r_edx = mu.reg_read(X86_REG_EDX) + r_ecx = mu.reg_read(UC_X86_REG_ECX) + r_edx = mu.reg_read(UC_X86_REG_EDX) print(">>> ECX = 0x%x" %r_ecx) print(">>> EDX = 0x%x" %r_edx) @@ -149,8 +149,8 @@ def test_i386_loop(): mu.mem_write(ADDRESS, X86_CODE32_LOOP) # initialize machine registers - mu.reg_write(X86_REG_ECX, 0x1234) - mu.reg_write(X86_REG_EDX, 0x7890) + mu.reg_write(UC_X86_REG_ECX, 0x1234) + mu.reg_write(UC_X86_REG_EDX, 0x7890) # emulate machine code in infinite time mu.emu_start(ADDRESS, ADDRESS + len(X86_CODE32_LOOP), 2 * UC_SECOND_SCALE) @@ -158,8 +158,8 @@ def test_i386_loop(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - r_ecx = mu.reg_read(X86_REG_ECX) - r_edx = mu.reg_read(X86_REG_EDX) + r_ecx = mu.reg_read(UC_X86_REG_ECX) + r_edx = mu.reg_read(UC_X86_REG_EDX) print(">>> ECX = 0x%x" %r_ecx) print(">>> EDX = 0x%x" %r_edx) @@ -180,8 +180,8 @@ def test_i386_invalid_mem_read(): mu.mem_write(ADDRESS, X86_CODE32_MEM_READ) # initialize machine registers - mu.reg_write(X86_REG_ECX, 0x1234) - mu.reg_write(X86_REG_EDX, 0x7890) + mu.reg_write(UC_X86_REG_ECX, 0x1234) + mu.reg_write(UC_X86_REG_EDX, 0x7890) # tracing all basic blocks with customized callback mu.hook_add(UC_HOOK_BLOCK, hook_block) @@ -198,8 +198,8 @@ def test_i386_invalid_mem_read(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - r_ecx = mu.reg_read(X86_REG_ECX) - r_edx = mu.reg_read(X86_REG_EDX) + r_ecx = mu.reg_read(UC_X86_REG_ECX) + r_edx = mu.reg_read(UC_X86_REG_EDX) print(">>> ECX = 0x%x" %r_ecx) print(">>> EDX = 0x%x" %r_edx) @@ -220,8 +220,8 @@ def test_i386_invalid_mem_write(): mu.mem_write(ADDRESS, X86_CODE32_MEM_WRITE) # initialize machine registers - mu.reg_write(X86_REG_ECX, 0x1234) - mu.reg_write(X86_REG_EDX, 0x7890) + mu.reg_write(UC_X86_REG_ECX, 0x1234) + mu.reg_write(UC_X86_REG_EDX, 0x7890) # tracing all basic blocks with customized callback #mu.hook_add(UC_HOOK_BLOCK, hook_block) @@ -241,8 +241,8 @@ def test_i386_invalid_mem_write(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - r_ecx = mu.reg_read(X86_REG_ECX) - r_edx = mu.reg_read(X86_REG_EDX) + r_ecx = mu.reg_read(UC_X86_REG_ECX) + r_edx = mu.reg_read(UC_X86_REG_EDX) print(">>> ECX = 0x%x" %r_ecx) print(">>> EDX = 0x%x" %r_edx) @@ -280,8 +280,8 @@ def test_i386_inout(): mu.mem_write(ADDRESS, X86_CODE32_INOUT) # initialize machine registers - mu.reg_write(X86_REG_EAX, 0x1234) - mu.reg_write(X86_REG_ECX, 0x6789) + mu.reg_write(UC_X86_REG_EAX, 0x1234) + mu.reg_write(UC_X86_REG_ECX, 0x6789) # tracing all basic blocks with customized callback mu.hook_add(UC_HOOK_BLOCK, hook_block) @@ -290,8 +290,8 @@ def test_i386_inout(): mu.hook_add(UC_HOOK_CODE, hook_code) # handle IN & OUT instruction - mu.hook_add(UC_HOOK_INSN, hook_in, None, X86_INS_IN) - mu.hook_add(UC_HOOK_INSN, hook_out, None, X86_INS_OUT) + mu.hook_add(UC_HOOK_INSN, hook_in, None, UC_X86_INS_IN) + mu.hook_add(UC_HOOK_INSN, hook_out, None, UC_X86_INS_OUT) # emulate machine code in infinite time mu.emu_start(ADDRESS, ADDRESS + len(X86_CODE32_INOUT)) @@ -299,8 +299,8 @@ def test_i386_inout(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - r_ecx = mu.reg_read(X86_REG_ECX) - r_eax = mu.reg_read(X86_REG_EAX) + r_ecx = mu.reg_read(UC_X86_REG_ECX) + r_eax = mu.reg_read(UC_X86_REG_EAX) print(">>> EAX = 0x%x" %r_eax) print(">>> ECX = 0x%x" %r_ecx) except UcError as e: @@ -320,23 +320,23 @@ def test_x86_64(): mu.mem_write(ADDRESS, X86_CODE64) # initialize machine registers - mu.reg_write(X86_REG_RAX, 0x71f3029efd49d41d) - mu.reg_write(X86_REG_RBX, 0xd87b45277f133ddb) - mu.reg_write(X86_REG_RCX, 0xab40d1ffd8afc461) - mu.reg_write(X86_REG_RDX, 0x919317b4a733f01) - mu.reg_write(X86_REG_RSI, 0x4c24e753a17ea358) - mu.reg_write(X86_REG_RDI, 0xe509a57d2571ce96) - mu.reg_write(X86_REG_R8, 0xea5b108cc2b9ab1f) - mu.reg_write(X86_REG_R9, 0x19ec097c8eb618c1) - mu.reg_write(X86_REG_R10, 0xec45774f00c5f682) - mu.reg_write(X86_REG_R11, 0xe17e9dbec8c074aa) - mu.reg_write(X86_REG_R12, 0x80f86a8dc0f6d457) - mu.reg_write(X86_REG_R13, 0x48288ca5671c5492) - mu.reg_write(X86_REG_R14, 0x595f72f6e4017f6e) - mu.reg_write(X86_REG_R15, 0x1efd97aea331cccc) + mu.reg_write(UC_X86_REG_RAX, 0x71f3029efd49d41d) + mu.reg_write(UC_X86_REG_RBX, 0xd87b45277f133ddb) + mu.reg_write(UC_X86_REG_RCX, 0xab40d1ffd8afc461) + mu.reg_write(UC_X86_REG_RDX, 0x919317b4a733f01) + mu.reg_write(UC_X86_REG_RSI, 0x4c24e753a17ea358) + mu.reg_write(UC_X86_REG_RDI, 0xe509a57d2571ce96) + mu.reg_write(UC_X86_REG_R8, 0xea5b108cc2b9ab1f) + mu.reg_write(UC_X86_REG_R9, 0x19ec097c8eb618c1) + mu.reg_write(UC_X86_REG_R10, 0xec45774f00c5f682) + mu.reg_write(UC_X86_REG_R11, 0xe17e9dbec8c074aa) + mu.reg_write(UC_X86_REG_R12, 0x80f86a8dc0f6d457) + mu.reg_write(UC_X86_REG_R13, 0x48288ca5671c5492) + mu.reg_write(UC_X86_REG_R14, 0x595f72f6e4017f6e) + mu.reg_write(UC_X86_REG_R15, 0x1efd97aea331cccc) # setup stack - mu.reg_write(X86_REG_RSP, ADDRESS + 0x200000) + mu.reg_write(UC_X86_REG_RSP, ADDRESS + 0x200000) # tracing all basic blocks with customized callback mu.hook_add(UC_HOOK_BLOCK, hook_block) @@ -359,20 +359,20 @@ def test_x86_64(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - rax = mu.reg_read(X86_REG_RAX) - rbx = mu.reg_read(X86_REG_RBX) - rcx = mu.reg_read(X86_REG_RCX) - rdx = mu.reg_read(X86_REG_RDX) - rsi = mu.reg_read(X86_REG_RSI) - rdi = mu.reg_read(X86_REG_RDI) - r8 = mu.reg_read(X86_REG_R8) - r9 = mu.reg_read(X86_REG_R9) - r10 = mu.reg_read(X86_REG_R10) - r11 = mu.reg_read(X86_REG_R11) - r12 = mu.reg_read(X86_REG_R12) - r13 = mu.reg_read(X86_REG_R13) - r14 = mu.reg_read(X86_REG_R14) - r15 = mu.reg_read(X86_REG_R15) + rax = mu.reg_read(UC_X86_REG_RAX) + rbx = mu.reg_read(UC_X86_REG_RBX) + rcx = mu.reg_read(UC_X86_REG_RCX) + rdx = mu.reg_read(UC_X86_REG_RDX) + rsi = mu.reg_read(UC_X86_REG_RSI) + rdi = mu.reg_read(UC_X86_REG_RDI) + r8 = mu.reg_read(UC_X86_REG_R8) + r9 = mu.reg_read(UC_X86_REG_R9) + r10 = mu.reg_read(UC_X86_REG_R10) + r11 = mu.reg_read(UC_X86_REG_R11) + r12 = mu.reg_read(UC_X86_REG_R12) + r13 = mu.reg_read(UC_X86_REG_R13) + r14 = mu.reg_read(UC_X86_REG_R14) + r15 = mu.reg_read(UC_X86_REG_R15) print(">>> RAX = %x" %rax) print(">>> RBX = %x" %rbx) @@ -409,17 +409,17 @@ def test_x86_64_syscall(): mu.mem_write(ADDRESS, X86_CODE64_SYSCALL) def hook_syscall(mu, user_data): - rax = mu.reg_read(X86_REG_RAX) + rax = mu.reg_read(UC_X86_REG_RAX) if rax == 0x100: - mu.reg_write(X86_REG_RAX, 0x200) + mu.reg_write(UC_X86_REG_RAX, 0x200) else: print('ERROR: was not expecting rax=%d in syscall' % rax) # hook interrupts for syscall - mu.hook_add(UC_HOOK_INSN, hook_syscall, None, X86_INS_SYSCALL) + mu.hook_add(UC_HOOK_INSN, hook_syscall, None, UC_X86_INS_SYSCALL) # syscall handler is expecting rax=0x100 - mu.reg_write(X86_REG_RAX, 0x100) + mu.reg_write(UC_X86_REG_RAX, 0x100) try: # emulate machine code in infinite time @@ -430,7 +430,7 @@ def test_x86_64_syscall(): # now print out some registers print(">>> Emulation done. Below is the CPU context") - rax = mu.reg_read(X86_REG_RAX) + rax = mu.reg_read(UC_X86_REG_RAX) print(">>> RAX = 0x%x" % rax) except UcError as e: diff --git a/bindings/python/shellcode.py b/bindings/python/shellcode.py index aa6e5272..5581a46f 100755 --- a/bindings/python/shellcode.py +++ b/bindings/python/shellcode.py @@ -40,16 +40,16 @@ def hook_intr(uc, intno, user_data): uc.emu_stop() return - eax = uc.reg_read(X86_REG_EAX) - eip = uc.reg_read(X86_REG_EIP) + eax = uc.reg_read(UC_X86_REG_EAX) + eip = uc.reg_read(UC_X86_REG_EIP) if eax == 1: # sys_exit print(">>> 0x%x: interrupt 0x%x, EAX = 0x%x" %(eip, intno, eax)) uc.emu_stop() elif eax == 4: # sys_write # ECX = buffer address - ecx = uc.reg_read(X86_REG_ECX) + ecx = uc.reg_read(UC_X86_REG_ECX) # EDX = buffer size - edx = uc.reg_read(X86_REG_EDX) + edx = uc.reg_read(UC_X86_REG_EDX) try: buf = uc.mem_read(ecx, edx) @@ -79,7 +79,7 @@ def test_i386(mode, code): mu.mem_write(ADDRESS, code) # initialize stack - mu.reg_write(X86_REG_ESP, ADDRESS + 0x200000) + mu.reg_write(UC_X86_REG_ESP, ADDRESS + 0x200000) # tracing all basic blocks with customized callback mu.hook_add(UC_HOOK_BLOCK, hook_block) diff --git a/bindings/python/unicorn/__init__.py b/bindings/python/unicorn/__init__.py index 066df054..7974a652 100644 --- a/bindings/python/unicorn/__init__.py +++ b/bindings/python/unicorn/__init__.py @@ -416,11 +416,11 @@ class Uc(object): cb, ctypes.cast(self._callback_count, ctypes.c_void_p)) elif htype == UC_HOOK_INSN: insn = ctypes.c_int(arg1) - if arg1 == x86_const.X86_INS_IN: # IN instruction + if arg1 == x86_const.UC_X86_INS_IN: # IN instruction cb = ctypes.cast(UC_HOOK_INSN_IN_CB(self._hook_insn_in_cb), UC_HOOK_INSN_IN_CB) - if arg1 == x86_const.X86_INS_OUT: # OUT instruction + if arg1 == x86_const.UC_X86_INS_OUT: # OUT instruction cb = ctypes.cast(UC_HOOK_INSN_OUT_CB(self._hook_insn_out_cb), UC_HOOK_INSN_OUT_CB) - if arg1 in (x86_const.X86_INS_SYSCALL, x86_const.X86_INS_SYSENTER): # SYSCALL/SYSENTER instruction + if arg1 in (x86_const.UC_X86_INS_SYSCALL, x86_const.UC_X86_INS_SYSENTER): # SYSCALL/SYSENTER instruction cb = ctypes.cast(UC_HOOK_INSN_SYSCALL_CB(self._hook_insn_syscall_cb), UC_HOOK_INSN_SYSCALL_CB) status = _uc.uc_hook_add(self._uch, ctypes.byref(_h2), htype, \ cb, ctypes.cast(self._callback_count, ctypes.c_void_p), insn) diff --git a/bindings/python/unicorn/x86_const.py b/bindings/python/unicorn/x86_const.py index 33adf15f..1b78b9d4 100644 --- a/bindings/python/unicorn/x86_const.py +++ b/bindings/python/unicorn/x86_const.py @@ -2,1588 +2,1590 @@ # X86 registers -X86_REG_INVALID = 0 -X86_REG_AH = 1 -X86_REG_AL = 2 -X86_REG_AX = 3 -X86_REG_BH = 4 -X86_REG_BL = 5 -X86_REG_BP = 6 -X86_REG_BPL = 7 -X86_REG_BX = 8 -X86_REG_CH = 9 -X86_REG_CL = 10 -X86_REG_CS = 11 -X86_REG_CX = 12 -X86_REG_DH = 13 -X86_REG_DI = 14 -X86_REG_DIL = 15 -X86_REG_DL = 16 -X86_REG_DS = 17 -X86_REG_DX = 18 -X86_REG_EAX = 19 -X86_REG_EBP = 20 -X86_REG_EBX = 21 -X86_REG_ECX = 22 -X86_REG_EDI = 23 -X86_REG_EDX = 24 -X86_REG_EFLAGS = 25 -X86_REG_EIP = 26 -X86_REG_EIZ = 27 -X86_REG_ES = 28 -X86_REG_ESI = 29 -X86_REG_ESP = 30 -X86_REG_FPSW = 31 -X86_REG_FS = 32 -X86_REG_GS = 33 -X86_REG_IP = 34 -X86_REG_RAX = 35 -X86_REG_RBP = 36 -X86_REG_RBX = 37 -X86_REG_RCX = 38 -X86_REG_RDI = 39 -X86_REG_RDX = 40 -X86_REG_RIP = 41 -X86_REG_RIZ = 42 -X86_REG_RSI = 43 -X86_REG_RSP = 44 -X86_REG_SI = 45 -X86_REG_SIL = 46 -X86_REG_SP = 47 -X86_REG_SPL = 48 -X86_REG_SS = 49 -X86_REG_CR0 = 50 -X86_REG_CR1 = 51 -X86_REG_CR2 = 52 -X86_REG_CR3 = 53 -X86_REG_CR4 = 54 -X86_REG_CR5 = 55 -X86_REG_CR6 = 56 -X86_REG_CR7 = 57 -X86_REG_CR8 = 58 -X86_REG_CR9 = 59 -X86_REG_CR10 = 60 -X86_REG_CR11 = 61 -X86_REG_CR12 = 62 -X86_REG_CR13 = 63 -X86_REG_CR14 = 64 -X86_REG_CR15 = 65 -X86_REG_DR0 = 66 -X86_REG_DR1 = 67 -X86_REG_DR2 = 68 -X86_REG_DR3 = 69 -X86_REG_DR4 = 70 -X86_REG_DR5 = 71 -X86_REG_DR6 = 72 -X86_REG_DR7 = 73 -X86_REG_DR8 = 74 -X86_REG_DR9 = 75 -X86_REG_DR10 = 76 -X86_REG_DR11 = 77 -X86_REG_DR12 = 78 -X86_REG_DR13 = 79 -X86_REG_DR14 = 80 -X86_REG_DR15 = 81 -X86_REG_FP0 = 82 -X86_REG_FP1 = 83 -X86_REG_FP2 = 84 -X86_REG_FP3 = 85 -X86_REG_FP4 = 86 -X86_REG_FP5 = 87 -X86_REG_FP6 = 88 -X86_REG_FP7 = 89 -X86_REG_K0 = 90 -X86_REG_K1 = 91 -X86_REG_K2 = 92 -X86_REG_K3 = 93 -X86_REG_K4 = 94 -X86_REG_K5 = 95 -X86_REG_K6 = 96 -X86_REG_K7 = 97 -X86_REG_MM0 = 98 -X86_REG_MM1 = 99 -X86_REG_MM2 = 100 -X86_REG_MM3 = 101 -X86_REG_MM4 = 102 -X86_REG_MM5 = 103 -X86_REG_MM6 = 104 -X86_REG_MM7 = 105 -X86_REG_R8 = 106 -X86_REG_R9 = 107 -X86_REG_R10 = 108 -X86_REG_R11 = 109 -X86_REG_R12 = 110 -X86_REG_R13 = 111 -X86_REG_R14 = 112 -X86_REG_R15 = 113 -X86_REG_ST0 = 114 -X86_REG_ST1 = 115 -X86_REG_ST2 = 116 -X86_REG_ST3 = 117 -X86_REG_ST4 = 118 -X86_REG_ST5 = 119 -X86_REG_ST6 = 120 -X86_REG_ST7 = 121 -X86_REG_XMM0 = 122 -X86_REG_XMM1 = 123 -X86_REG_XMM2 = 124 -X86_REG_XMM3 = 125 -X86_REG_XMM4 = 126 -X86_REG_XMM5 = 127 -X86_REG_XMM6 = 128 -X86_REG_XMM7 = 129 -X86_REG_XMM8 = 130 -X86_REG_XMM9 = 131 -X86_REG_XMM10 = 132 -X86_REG_XMM11 = 133 -X86_REG_XMM12 = 134 -X86_REG_XMM13 = 135 -X86_REG_XMM14 = 136 -X86_REG_XMM15 = 137 -X86_REG_XMM16 = 138 -X86_REG_XMM17 = 139 -X86_REG_XMM18 = 140 -X86_REG_XMM19 = 141 -X86_REG_XMM20 = 142 -X86_REG_XMM21 = 143 -X86_REG_XMM22 = 144 -X86_REG_XMM23 = 145 -X86_REG_XMM24 = 146 -X86_REG_XMM25 = 147 -X86_REG_XMM26 = 148 -X86_REG_XMM27 = 149 -X86_REG_XMM28 = 150 -X86_REG_XMM29 = 151 -X86_REG_XMM30 = 152 -X86_REG_XMM31 = 153 -X86_REG_YMM0 = 154 -X86_REG_YMM1 = 155 -X86_REG_YMM2 = 156 -X86_REG_YMM3 = 157 -X86_REG_YMM4 = 158 -X86_REG_YMM5 = 159 -X86_REG_YMM6 = 160 -X86_REG_YMM7 = 161 -X86_REG_YMM8 = 162 -X86_REG_YMM9 = 163 -X86_REG_YMM10 = 164 -X86_REG_YMM11 = 165 -X86_REG_YMM12 = 166 -X86_REG_YMM13 = 167 -X86_REG_YMM14 = 168 -X86_REG_YMM15 = 169 -X86_REG_YMM16 = 170 -X86_REG_YMM17 = 171 -X86_REG_YMM18 = 172 -X86_REG_YMM19 = 173 -X86_REG_YMM20 = 174 -X86_REG_YMM21 = 175 -X86_REG_YMM22 = 176 -X86_REG_YMM23 = 177 -X86_REG_YMM24 = 178 -X86_REG_YMM25 = 179 -X86_REG_YMM26 = 180 -X86_REG_YMM27 = 181 -X86_REG_YMM28 = 182 -X86_REG_YMM29 = 183 -X86_REG_YMM30 = 184 -X86_REG_YMM31 = 185 -X86_REG_ZMM0 = 186 -X86_REG_ZMM1 = 187 -X86_REG_ZMM2 = 188 -X86_REG_ZMM3 = 189 -X86_REG_ZMM4 = 190 -X86_REG_ZMM5 = 191 -X86_REG_ZMM6 = 192 -X86_REG_ZMM7 = 193 -X86_REG_ZMM8 = 194 -X86_REG_ZMM9 = 195 -X86_REG_ZMM10 = 196 -X86_REG_ZMM11 = 197 -X86_REG_ZMM12 = 198 -X86_REG_ZMM13 = 199 -X86_REG_ZMM14 = 200 -X86_REG_ZMM15 = 201 -X86_REG_ZMM16 = 202 -X86_REG_ZMM17 = 203 -X86_REG_ZMM18 = 204 -X86_REG_ZMM19 = 205 -X86_REG_ZMM20 = 206 -X86_REG_ZMM21 = 207 -X86_REG_ZMM22 = 208 -X86_REG_ZMM23 = 209 -X86_REG_ZMM24 = 210 -X86_REG_ZMM25 = 211 -X86_REG_ZMM26 = 212 -X86_REG_ZMM27 = 213 -X86_REG_ZMM28 = 214 -X86_REG_ZMM29 = 215 -X86_REG_ZMM30 = 216 -X86_REG_ZMM31 = 217 -X86_REG_R8B = 218 -X86_REG_R9B = 219 -X86_REG_R10B = 220 -X86_REG_R11B = 221 -X86_REG_R12B = 222 -X86_REG_R13B = 223 -X86_REG_R14B = 224 -X86_REG_R15B = 225 -X86_REG_R8D = 226 -X86_REG_R9D = 227 -X86_REG_R10D = 228 -X86_REG_R11D = 229 -X86_REG_R12D = 230 -X86_REG_R13D = 231 -X86_REG_R14D = 232 -X86_REG_R15D = 233 -X86_REG_R8W = 234 -X86_REG_R9W = 235 -X86_REG_R10W = 236 -X86_REG_R11W = 237 -X86_REG_R12W = 238 -X86_REG_R13W = 239 -X86_REG_R14W = 240 -X86_REG_R15W = 241 -X86_REG_ENDING = 242 +UC_X86_REG_INVALID = 0 +UC_X86_REG_AH = 1 +UC_X86_REG_AL = 2 +UC_X86_REG_AX = 3 +UC_X86_REG_BH = 4 +UC_X86_REG_BL = 5 +UC_X86_REG_BP = 6 +UC_X86_REG_BPL = 7 +UC_X86_REG_BX = 8 +UC_X86_REG_CH = 9 +UC_X86_REG_CL = 10 +UC_X86_REG_CS = 11 +UC_X86_REG_CX = 12 +UC_X86_REG_DH = 13 +UC_X86_REG_DI = 14 +UC_X86_REG_DIL = 15 +UC_X86_REG_DL = 16 +UC_X86_REG_DS = 17 +UC_X86_REG_DX = 18 +UC_X86_REG_EAX = 19 +UC_X86_REG_EBP = 20 +UC_X86_REG_EBX = 21 +UC_X86_REG_ECX = 22 +UC_X86_REG_EDI = 23 +UC_X86_REG_EDX = 24 +UC_X86_REG_EFLAGS = 25 +UC_X86_REG_EIP = 26 +UC_X86_REG_EIZ = 27 +UC_X86_REG_ES = 28 +UC_X86_REG_ESI = 29 +UC_X86_REG_ESP = 30 +UC_X86_REG_FPSW = 31 +UC_X86_REG_FPCW = 32 +UC_X86_REG_FPIP = 33 +UC_X86_REG_FS = 34 +UC_X86_REG_GS = 35 +UC_X86_REG_IP = 36 +UC_X86_REG_RAX = 37 +UC_X86_REG_RBP = 38 +UC_X86_REG_RBX = 39 +UC_X86_REG_RCX = 40 +UC_X86_REG_RDI = 41 +UC_X86_REG_RDX = 42 +UC_X86_REG_RIP = 43 +UC_X86_REG_RIZ = 44 +UC_X86_REG_RSI = 45 +UC_X86_REG_RSP = 46 +UC_X86_REG_SI = 47 +UC_X86_REG_SIL = 48 +UC_X86_REG_SP = 49 +UC_X86_REG_SPL = 50 +UC_X86_REG_SS = 51 +UC_X86_REG_CR0 = 52 +UC_X86_REG_CR1 = 53 +UC_X86_REG_CR2 = 54 +UC_X86_REG_CR3 = 55 +UC_X86_REG_CR4 = 56 +UC_X86_REG_CR5 = 57 +UC_X86_REG_CR6 = 58 +UC_X86_REG_CR7 = 59 +UC_X86_REG_CR8 = 60 +UC_X86_REG_CR9 = 61 +UC_X86_REG_CR10 = 62 +UC_X86_REG_CR11 = 63 +UC_X86_REG_CR12 = 64 +UC_X86_REG_CR13 = 65 +UC_X86_REG_CR14 = 66 +UC_X86_REG_CR15 = 67 +UC_X86_REG_DR0 = 68 +UC_X86_REG_DR1 = 69 +UC_X86_REG_DR2 = 70 +UC_X86_REG_DR3 = 71 +UC_X86_REG_DR4 = 72 +UC_X86_REG_DR5 = 73 +UC_X86_REG_DR6 = 74 +UC_X86_REG_DR7 = 75 +UC_X86_REG_DR8 = 76 +UC_X86_REG_DR9 = 77 +UC_X86_REG_DR10 = 78 +UC_X86_REG_DR11 = 79 +UC_X86_REG_DR12 = 80 +UC_X86_REG_DR13 = 81 +UC_X86_REG_DR14 = 82 +UC_X86_REG_DR15 = 83 +UC_X86_REG_FP0 = 84 +UC_X86_REG_FP1 = 85 +UC_X86_REG_FP2 = 86 +UC_X86_REG_FP3 = 87 +UC_X86_REG_FP4 = 88 +UC_X86_REG_FP5 = 89 +UC_X86_REG_FP6 = 90 +UC_X86_REG_FP7 = 91 +UC_X86_REG_K0 = 92 +UC_X86_REG_K1 = 93 +UC_X86_REG_K2 = 94 +UC_X86_REG_K3 = 95 +UC_X86_REG_K4 = 96 +UC_X86_REG_K5 = 97 +UC_X86_REG_K6 = 98 +UC_X86_REG_K7 = 99 +UC_X86_REG_MM0 = 100 +UC_X86_REG_MM1 = 101 +UC_X86_REG_MM2 = 102 +UC_X86_REG_MM3 = 103 +UC_X86_REG_MM4 = 104 +UC_X86_REG_MM5 = 105 +UC_X86_REG_MM6 = 106 +UC_X86_REG_MM7 = 107 +UC_X86_REG_R8 = 108 +UC_X86_REG_R9 = 109 +UC_X86_REG_R10 = 110 +UC_X86_REG_R11 = 111 +UC_X86_REG_R12 = 112 +UC_X86_REG_R13 = 113 +UC_X86_REG_R14 = 114 +UC_X86_REG_R15 = 115 +UC_X86_REG_ST0 = 116 +UC_X86_REG_ST1 = 117 +UC_X86_REG_ST2 = 118 +UC_X86_REG_ST3 = 119 +UC_X86_REG_ST4 = 120 +UC_X86_REG_ST5 = 121 +UC_X86_REG_ST6 = 122 +UC_X86_REG_ST7 = 123 +UC_X86_REG_XMM0 = 124 +UC_X86_REG_XMM1 = 125 +UC_X86_REG_XMM2 = 126 +UC_X86_REG_XMM3 = 127 +UC_X86_REG_XMM4 = 128 +UC_X86_REG_XMM5 = 129 +UC_X86_REG_XMM6 = 130 +UC_X86_REG_XMM7 = 131 +UC_X86_REG_XMM8 = 132 +UC_X86_REG_XMM9 = 133 +UC_X86_REG_XMM10 = 134 +UC_X86_REG_XMM11 = 135 +UC_X86_REG_XMM12 = 136 +UC_X86_REG_XMM13 = 137 +UC_X86_REG_XMM14 = 138 +UC_X86_REG_XMM15 = 139 +UC_X86_REG_XMM16 = 140 +UC_X86_REG_XMM17 = 141 +UC_X86_REG_XMM18 = 142 +UC_X86_REG_XMM19 = 143 +UC_X86_REG_XMM20 = 144 +UC_X86_REG_XMM21 = 145 +UC_X86_REG_XMM22 = 146 +UC_X86_REG_XMM23 = 147 +UC_X86_REG_XMM24 = 148 +UC_X86_REG_XMM25 = 149 +UC_X86_REG_XMM26 = 150 +UC_X86_REG_XMM27 = 151 +UC_X86_REG_XMM28 = 152 +UC_X86_REG_XMM29 = 153 +UC_X86_REG_XMM30 = 154 +UC_X86_REG_XMM31 = 155 +UC_X86_REG_YMM0 = 156 +UC_X86_REG_YMM1 = 157 +UC_X86_REG_YMM2 = 158 +UC_X86_REG_YMM3 = 159 +UC_X86_REG_YMM4 = 160 +UC_X86_REG_YMM5 = 161 +UC_X86_REG_YMM6 = 162 +UC_X86_REG_YMM7 = 163 +UC_X86_REG_YMM8 = 164 +UC_X86_REG_YMM9 = 165 +UC_X86_REG_YMM10 = 166 +UC_X86_REG_YMM11 = 167 +UC_X86_REG_YMM12 = 168 +UC_X86_REG_YMM13 = 169 +UC_X86_REG_YMM14 = 170 +UC_X86_REG_YMM15 = 171 +UC_X86_REG_YMM16 = 172 +UC_X86_REG_YMM17 = 173 +UC_X86_REG_YMM18 = 174 +UC_X86_REG_YMM19 = 175 +UC_X86_REG_YMM20 = 176 +UC_X86_REG_YMM21 = 177 +UC_X86_REG_YMM22 = 178 +UC_X86_REG_YMM23 = 179 +UC_X86_REG_YMM24 = 180 +UC_X86_REG_YMM25 = 181 +UC_X86_REG_YMM26 = 182 +UC_X86_REG_YMM27 = 183 +UC_X86_REG_YMM28 = 184 +UC_X86_REG_YMM29 = 185 +UC_X86_REG_YMM30 = 186 +UC_X86_REG_YMM31 = 187 +UC_X86_REG_ZMM0 = 188 +UC_X86_REG_ZMM1 = 189 +UC_X86_REG_ZMM2 = 190 +UC_X86_REG_ZMM3 = 191 +UC_X86_REG_ZMM4 = 192 +UC_X86_REG_ZMM5 = 193 +UC_X86_REG_ZMM6 = 194 +UC_X86_REG_ZMM7 = 195 +UC_X86_REG_ZMM8 = 196 +UC_X86_REG_ZMM9 = 197 +UC_X86_REG_ZMM10 = 198 +UC_X86_REG_ZMM11 = 199 +UC_X86_REG_ZMM12 = 200 +UC_X86_REG_ZMM13 = 201 +UC_X86_REG_ZMM14 = 202 +UC_X86_REG_ZMM15 = 203 +UC_X86_REG_ZMM16 = 204 +UC_X86_REG_ZMM17 = 205 +UC_X86_REG_ZMM18 = 206 +UC_X86_REG_ZMM19 = 207 +UC_X86_REG_ZMM20 = 208 +UC_X86_REG_ZMM21 = 209 +UC_X86_REG_ZMM22 = 210 +UC_X86_REG_ZMM23 = 211 +UC_X86_REG_ZMM24 = 212 +UC_X86_REG_ZMM25 = 213 +UC_X86_REG_ZMM26 = 214 +UC_X86_REG_ZMM27 = 215 +UC_X86_REG_ZMM28 = 216 +UC_X86_REG_ZMM29 = 217 +UC_X86_REG_ZMM30 = 218 +UC_X86_REG_ZMM31 = 219 +UC_X86_REG_R8B = 220 +UC_X86_REG_R9B = 221 +UC_X86_REG_R10B = 222 +UC_X86_REG_R11B = 223 +UC_X86_REG_R12B = 224 +UC_X86_REG_R13B = 225 +UC_X86_REG_R14B = 226 +UC_X86_REG_R15B = 227 +UC_X86_REG_R8D = 228 +UC_X86_REG_R9D = 229 +UC_X86_REG_R10D = 230 +UC_X86_REG_R11D = 231 +UC_X86_REG_R12D = 232 +UC_X86_REG_R13D = 233 +UC_X86_REG_R14D = 234 +UC_X86_REG_R15D = 235 +UC_X86_REG_R8W = 236 +UC_X86_REG_R9W = 237 +UC_X86_REG_R10W = 238 +UC_X86_REG_R11W = 239 +UC_X86_REG_R12W = 240 +UC_X86_REG_R13W = 241 +UC_X86_REG_R14W = 242 +UC_X86_REG_R15W = 243 +UC_X86_REG_ENDING = 244 # X86 instructions -X86_INS_INVALID = 0 -X86_INS_AAA = 1 -X86_INS_AAD = 2 -X86_INS_AAM = 3 -X86_INS_AAS = 4 -X86_INS_FABS = 5 -X86_INS_ADC = 6 -X86_INS_ADCX = 7 -X86_INS_ADD = 8 -X86_INS_ADDPD = 9 -X86_INS_ADDPS = 10 -X86_INS_ADDSD = 11 -X86_INS_ADDSS = 12 -X86_INS_ADDSUBPD = 13 -X86_INS_ADDSUBPS = 14 -X86_INS_FADD = 15 -X86_INS_FIADD = 16 -X86_INS_FADDP = 17 -X86_INS_ADOX = 18 -X86_INS_AESDECLAST = 19 -X86_INS_AESDEC = 20 -X86_INS_AESENCLAST = 21 -X86_INS_AESENC = 22 -X86_INS_AESIMC = 23 -X86_INS_AESKEYGENASSIST = 24 -X86_INS_AND = 25 -X86_INS_ANDN = 26 -X86_INS_ANDNPD = 27 -X86_INS_ANDNPS = 28 -X86_INS_ANDPD = 29 -X86_INS_ANDPS = 30 -X86_INS_ARPL = 31 -X86_INS_BEXTR = 32 -X86_INS_BLCFILL = 33 -X86_INS_BLCI = 34 -X86_INS_BLCIC = 35 -X86_INS_BLCMSK = 36 -X86_INS_BLCS = 37 -X86_INS_BLENDPD = 38 -X86_INS_BLENDPS = 39 -X86_INS_BLENDVPD = 40 -X86_INS_BLENDVPS = 41 -X86_INS_BLSFILL = 42 -X86_INS_BLSI = 43 -X86_INS_BLSIC = 44 -X86_INS_BLSMSK = 45 -X86_INS_BLSR = 46 -X86_INS_BOUND = 47 -X86_INS_BSF = 48 -X86_INS_BSR = 49 -X86_INS_BSWAP = 50 -X86_INS_BT = 51 -X86_INS_BTC = 52 -X86_INS_BTR = 53 -X86_INS_BTS = 54 -X86_INS_BZHI = 55 -X86_INS_CALL = 56 -X86_INS_CBW = 57 -X86_INS_CDQ = 58 -X86_INS_CDQE = 59 -X86_INS_FCHS = 60 -X86_INS_CLAC = 61 -X86_INS_CLC = 62 -X86_INS_CLD = 63 -X86_INS_CLFLUSH = 64 -X86_INS_CLFLUSHOPT = 65 -X86_INS_CLGI = 66 -X86_INS_CLI = 67 -X86_INS_CLTS = 68 -X86_INS_CLWB = 69 -X86_INS_CMC = 70 -X86_INS_CMOVA = 71 -X86_INS_CMOVAE = 72 -X86_INS_CMOVB = 73 -X86_INS_CMOVBE = 74 -X86_INS_FCMOVBE = 75 -X86_INS_FCMOVB = 76 -X86_INS_CMOVE = 77 -X86_INS_FCMOVE = 78 -X86_INS_CMOVG = 79 -X86_INS_CMOVGE = 80 -X86_INS_CMOVL = 81 -X86_INS_CMOVLE = 82 -X86_INS_FCMOVNBE = 83 -X86_INS_FCMOVNB = 84 -X86_INS_CMOVNE = 85 -X86_INS_FCMOVNE = 86 -X86_INS_CMOVNO = 87 -X86_INS_CMOVNP = 88 -X86_INS_FCMOVNU = 89 -X86_INS_CMOVNS = 90 -X86_INS_CMOVO = 91 -X86_INS_CMOVP = 92 -X86_INS_FCMOVU = 93 -X86_INS_CMOVS = 94 -X86_INS_CMP = 95 -X86_INS_CMPPD = 96 -X86_INS_CMPPS = 97 -X86_INS_CMPSB = 98 -X86_INS_CMPSD = 99 -X86_INS_CMPSQ = 100 -X86_INS_CMPSS = 101 -X86_INS_CMPSW = 102 -X86_INS_CMPXCHG16B = 103 -X86_INS_CMPXCHG = 104 -X86_INS_CMPXCHG8B = 105 -X86_INS_COMISD = 106 -X86_INS_COMISS = 107 -X86_INS_FCOMP = 108 -X86_INS_FCOMPI = 109 -X86_INS_FCOMI = 110 -X86_INS_FCOM = 111 -X86_INS_FCOS = 112 -X86_INS_CPUID = 113 -X86_INS_CQO = 114 -X86_INS_CRC32 = 115 -X86_INS_CVTDQ2PD = 116 -X86_INS_CVTDQ2PS = 117 -X86_INS_CVTPD2DQ = 118 -X86_INS_CVTPD2PS = 119 -X86_INS_CVTPS2DQ = 120 -X86_INS_CVTPS2PD = 121 -X86_INS_CVTSD2SI = 122 -X86_INS_CVTSD2SS = 123 -X86_INS_CVTSI2SD = 124 -X86_INS_CVTSI2SS = 125 -X86_INS_CVTSS2SD = 126 -X86_INS_CVTSS2SI = 127 -X86_INS_CVTTPD2DQ = 128 -X86_INS_CVTTPS2DQ = 129 -X86_INS_CVTTSD2SI = 130 -X86_INS_CVTTSS2SI = 131 -X86_INS_CWD = 132 -X86_INS_CWDE = 133 -X86_INS_DAA = 134 -X86_INS_DAS = 135 -X86_INS_DATA16 = 136 -X86_INS_DEC = 137 -X86_INS_DIV = 138 -X86_INS_DIVPD = 139 -X86_INS_DIVPS = 140 -X86_INS_FDIVR = 141 -X86_INS_FIDIVR = 142 -X86_INS_FDIVRP = 143 -X86_INS_DIVSD = 144 -X86_INS_DIVSS = 145 -X86_INS_FDIV = 146 -X86_INS_FIDIV = 147 -X86_INS_FDIVP = 148 -X86_INS_DPPD = 149 -X86_INS_DPPS = 150 -X86_INS_RET = 151 -X86_INS_ENCLS = 152 -X86_INS_ENCLU = 153 -X86_INS_ENTER = 154 -X86_INS_EXTRACTPS = 155 -X86_INS_EXTRQ = 156 -X86_INS_F2XM1 = 157 -X86_INS_LCALL = 158 -X86_INS_LJMP = 159 -X86_INS_FBLD = 160 -X86_INS_FBSTP = 161 -X86_INS_FCOMPP = 162 -X86_INS_FDECSTP = 163 -X86_INS_FEMMS = 164 -X86_INS_FFREE = 165 -X86_INS_FICOM = 166 -X86_INS_FICOMP = 167 -X86_INS_FINCSTP = 168 -X86_INS_FLDCW = 169 -X86_INS_FLDENV = 170 -X86_INS_FLDL2E = 171 -X86_INS_FLDL2T = 172 -X86_INS_FLDLG2 = 173 -X86_INS_FLDLN2 = 174 -X86_INS_FLDPI = 175 -X86_INS_FNCLEX = 176 -X86_INS_FNINIT = 177 -X86_INS_FNOP = 178 -X86_INS_FNSTCW = 179 -X86_INS_FNSTSW = 180 -X86_INS_FPATAN = 181 -X86_INS_FPREM = 182 -X86_INS_FPREM1 = 183 -X86_INS_FPTAN = 184 -X86_INS_FFREEP = 185 -X86_INS_FRNDINT = 186 -X86_INS_FRSTOR = 187 -X86_INS_FNSAVE = 188 -X86_INS_FSCALE = 189 -X86_INS_FSETPM = 190 -X86_INS_FSINCOS = 191 -X86_INS_FNSTENV = 192 -X86_INS_FXAM = 193 -X86_INS_FXRSTOR = 194 -X86_INS_FXRSTOR64 = 195 -X86_INS_FXSAVE = 196 -X86_INS_FXSAVE64 = 197 -X86_INS_FXTRACT = 198 -X86_INS_FYL2X = 199 -X86_INS_FYL2XP1 = 200 -X86_INS_MOVAPD = 201 -X86_INS_MOVAPS = 202 -X86_INS_ORPD = 203 -X86_INS_ORPS = 204 -X86_INS_VMOVAPD = 205 -X86_INS_VMOVAPS = 206 -X86_INS_XORPD = 207 -X86_INS_XORPS = 208 -X86_INS_GETSEC = 209 -X86_INS_HADDPD = 210 -X86_INS_HADDPS = 211 -X86_INS_HLT = 212 -X86_INS_HSUBPD = 213 -X86_INS_HSUBPS = 214 -X86_INS_IDIV = 215 -X86_INS_FILD = 216 -X86_INS_IMUL = 217 -X86_INS_IN = 218 -X86_INS_INC = 219 -X86_INS_INSB = 220 -X86_INS_INSERTPS = 221 -X86_INS_INSERTQ = 222 -X86_INS_INSD = 223 -X86_INS_INSW = 224 -X86_INS_INT = 225 -X86_INS_INT1 = 226 -X86_INS_INT3 = 227 -X86_INS_INTO = 228 -X86_INS_INVD = 229 -X86_INS_INVEPT = 230 -X86_INS_INVLPG = 231 -X86_INS_INVLPGA = 232 -X86_INS_INVPCID = 233 -X86_INS_INVVPID = 234 -X86_INS_IRET = 235 -X86_INS_IRETD = 236 -X86_INS_IRETQ = 237 -X86_INS_FISTTP = 238 -X86_INS_FIST = 239 -X86_INS_FISTP = 240 -X86_INS_UCOMISD = 241 -X86_INS_UCOMISS = 242 -X86_INS_VCOMISD = 243 -X86_INS_VCOMISS = 244 -X86_INS_VCVTSD2SS = 245 -X86_INS_VCVTSI2SD = 246 -X86_INS_VCVTSI2SS = 247 -X86_INS_VCVTSS2SD = 248 -X86_INS_VCVTTSD2SI = 249 -X86_INS_VCVTTSD2USI = 250 -X86_INS_VCVTTSS2SI = 251 -X86_INS_VCVTTSS2USI = 252 -X86_INS_VCVTUSI2SD = 253 -X86_INS_VCVTUSI2SS = 254 -X86_INS_VUCOMISD = 255 -X86_INS_VUCOMISS = 256 -X86_INS_JAE = 257 -X86_INS_JA = 258 -X86_INS_JBE = 259 -X86_INS_JB = 260 -X86_INS_JCXZ = 261 -X86_INS_JECXZ = 262 -X86_INS_JE = 263 -X86_INS_JGE = 264 -X86_INS_JG = 265 -X86_INS_JLE = 266 -X86_INS_JL = 267 -X86_INS_JMP = 268 -X86_INS_JNE = 269 -X86_INS_JNO = 270 -X86_INS_JNP = 271 -X86_INS_JNS = 272 -X86_INS_JO = 273 -X86_INS_JP = 274 -X86_INS_JRCXZ = 275 -X86_INS_JS = 276 -X86_INS_KANDB = 277 -X86_INS_KANDD = 278 -X86_INS_KANDNB = 279 -X86_INS_KANDND = 280 -X86_INS_KANDNQ = 281 -X86_INS_KANDNW = 282 -X86_INS_KANDQ = 283 -X86_INS_KANDW = 284 -X86_INS_KMOVB = 285 -X86_INS_KMOVD = 286 -X86_INS_KMOVQ = 287 -X86_INS_KMOVW = 288 -X86_INS_KNOTB = 289 -X86_INS_KNOTD = 290 -X86_INS_KNOTQ = 291 -X86_INS_KNOTW = 292 -X86_INS_KORB = 293 -X86_INS_KORD = 294 -X86_INS_KORQ = 295 -X86_INS_KORTESTB = 296 -X86_INS_KORTESTD = 297 -X86_INS_KORTESTQ = 298 -X86_INS_KORTESTW = 299 -X86_INS_KORW = 300 -X86_INS_KSHIFTLB = 301 -X86_INS_KSHIFTLD = 302 -X86_INS_KSHIFTLQ = 303 -X86_INS_KSHIFTLW = 304 -X86_INS_KSHIFTRB = 305 -X86_INS_KSHIFTRD = 306 -X86_INS_KSHIFTRQ = 307 -X86_INS_KSHIFTRW = 308 -X86_INS_KUNPCKBW = 309 -X86_INS_KXNORB = 310 -X86_INS_KXNORD = 311 -X86_INS_KXNORQ = 312 -X86_INS_KXNORW = 313 -X86_INS_KXORB = 314 -X86_INS_KXORD = 315 -X86_INS_KXORQ = 316 -X86_INS_KXORW = 317 -X86_INS_LAHF = 318 -X86_INS_LAR = 319 -X86_INS_LDDQU = 320 -X86_INS_LDMXCSR = 321 -X86_INS_LDS = 322 -X86_INS_FLDZ = 323 -X86_INS_FLD1 = 324 -X86_INS_FLD = 325 -X86_INS_LEA = 326 -X86_INS_LEAVE = 327 -X86_INS_LES = 328 -X86_INS_LFENCE = 329 -X86_INS_LFS = 330 -X86_INS_LGDT = 331 -X86_INS_LGS = 332 -X86_INS_LIDT = 333 -X86_INS_LLDT = 334 -X86_INS_LMSW = 335 -X86_INS_OR = 336 -X86_INS_SUB = 337 -X86_INS_XOR = 338 -X86_INS_LODSB = 339 -X86_INS_LODSD = 340 -X86_INS_LODSQ = 341 -X86_INS_LODSW = 342 -X86_INS_LOOP = 343 -X86_INS_LOOPE = 344 -X86_INS_LOOPNE = 345 -X86_INS_RETF = 346 -X86_INS_RETFQ = 347 -X86_INS_LSL = 348 -X86_INS_LSS = 349 -X86_INS_LTR = 350 -X86_INS_XADD = 351 -X86_INS_LZCNT = 352 -X86_INS_MASKMOVDQU = 353 -X86_INS_MAXPD = 354 -X86_INS_MAXPS = 355 -X86_INS_MAXSD = 356 -X86_INS_MAXSS = 357 -X86_INS_MFENCE = 358 -X86_INS_MINPD = 359 -X86_INS_MINPS = 360 -X86_INS_MINSD = 361 -X86_INS_MINSS = 362 -X86_INS_CVTPD2PI = 363 -X86_INS_CVTPI2PD = 364 -X86_INS_CVTPI2PS = 365 -X86_INS_CVTPS2PI = 366 -X86_INS_CVTTPD2PI = 367 -X86_INS_CVTTPS2PI = 368 -X86_INS_EMMS = 369 -X86_INS_MASKMOVQ = 370 -X86_INS_MOVD = 371 -X86_INS_MOVDQ2Q = 372 -X86_INS_MOVNTQ = 373 -X86_INS_MOVQ2DQ = 374 -X86_INS_MOVQ = 375 -X86_INS_PABSB = 376 -X86_INS_PABSD = 377 -X86_INS_PABSW = 378 -X86_INS_PACKSSDW = 379 -X86_INS_PACKSSWB = 380 -X86_INS_PACKUSWB = 381 -X86_INS_PADDB = 382 -X86_INS_PADDD = 383 -X86_INS_PADDQ = 384 -X86_INS_PADDSB = 385 -X86_INS_PADDSW = 386 -X86_INS_PADDUSB = 387 -X86_INS_PADDUSW = 388 -X86_INS_PADDW = 389 -X86_INS_PALIGNR = 390 -X86_INS_PANDN = 391 -X86_INS_PAND = 392 -X86_INS_PAVGB = 393 -X86_INS_PAVGW = 394 -X86_INS_PCMPEQB = 395 -X86_INS_PCMPEQD = 396 -X86_INS_PCMPEQW = 397 -X86_INS_PCMPGTB = 398 -X86_INS_PCMPGTD = 399 -X86_INS_PCMPGTW = 400 -X86_INS_PEXTRW = 401 -X86_INS_PHADDSW = 402 -X86_INS_PHADDW = 403 -X86_INS_PHADDD = 404 -X86_INS_PHSUBD = 405 -X86_INS_PHSUBSW = 406 -X86_INS_PHSUBW = 407 -X86_INS_PINSRW = 408 -X86_INS_PMADDUBSW = 409 -X86_INS_PMADDWD = 410 -X86_INS_PMAXSW = 411 -X86_INS_PMAXUB = 412 -X86_INS_PMINSW = 413 -X86_INS_PMINUB = 414 -X86_INS_PMOVMSKB = 415 -X86_INS_PMULHRSW = 416 -X86_INS_PMULHUW = 417 -X86_INS_PMULHW = 418 -X86_INS_PMULLW = 419 -X86_INS_PMULUDQ = 420 -X86_INS_POR = 421 -X86_INS_PSADBW = 422 -X86_INS_PSHUFB = 423 -X86_INS_PSHUFW = 424 -X86_INS_PSIGNB = 425 -X86_INS_PSIGND = 426 -X86_INS_PSIGNW = 427 -X86_INS_PSLLD = 428 -X86_INS_PSLLQ = 429 -X86_INS_PSLLW = 430 -X86_INS_PSRAD = 431 -X86_INS_PSRAW = 432 -X86_INS_PSRLD = 433 -X86_INS_PSRLQ = 434 -X86_INS_PSRLW = 435 -X86_INS_PSUBB = 436 -X86_INS_PSUBD = 437 -X86_INS_PSUBQ = 438 -X86_INS_PSUBSB = 439 -X86_INS_PSUBSW = 440 -X86_INS_PSUBUSB = 441 -X86_INS_PSUBUSW = 442 -X86_INS_PSUBW = 443 -X86_INS_PUNPCKHBW = 444 -X86_INS_PUNPCKHDQ = 445 -X86_INS_PUNPCKHWD = 446 -X86_INS_PUNPCKLBW = 447 -X86_INS_PUNPCKLDQ = 448 -X86_INS_PUNPCKLWD = 449 -X86_INS_PXOR = 450 -X86_INS_MONITOR = 451 -X86_INS_MONTMUL = 452 -X86_INS_MOV = 453 -X86_INS_MOVABS = 454 -X86_INS_MOVBE = 455 -X86_INS_MOVDDUP = 456 -X86_INS_MOVDQA = 457 -X86_INS_MOVDQU = 458 -X86_INS_MOVHLPS = 459 -X86_INS_MOVHPD = 460 -X86_INS_MOVHPS = 461 -X86_INS_MOVLHPS = 462 -X86_INS_MOVLPD = 463 -X86_INS_MOVLPS = 464 -X86_INS_MOVMSKPD = 465 -X86_INS_MOVMSKPS = 466 -X86_INS_MOVNTDQA = 467 -X86_INS_MOVNTDQ = 468 -X86_INS_MOVNTI = 469 -X86_INS_MOVNTPD = 470 -X86_INS_MOVNTPS = 471 -X86_INS_MOVNTSD = 472 -X86_INS_MOVNTSS = 473 -X86_INS_MOVSB = 474 -X86_INS_MOVSD = 475 -X86_INS_MOVSHDUP = 476 -X86_INS_MOVSLDUP = 477 -X86_INS_MOVSQ = 478 -X86_INS_MOVSS = 479 -X86_INS_MOVSW = 480 -X86_INS_MOVSX = 481 -X86_INS_MOVSXD = 482 -X86_INS_MOVUPD = 483 -X86_INS_MOVUPS = 484 -X86_INS_MOVZX = 485 -X86_INS_MPSADBW = 486 -X86_INS_MUL = 487 -X86_INS_MULPD = 488 -X86_INS_MULPS = 489 -X86_INS_MULSD = 490 -X86_INS_MULSS = 491 -X86_INS_MULX = 492 -X86_INS_FMUL = 493 -X86_INS_FIMUL = 494 -X86_INS_FMULP = 495 -X86_INS_MWAIT = 496 -X86_INS_NEG = 497 -X86_INS_NOP = 498 -X86_INS_NOT = 499 -X86_INS_OUT = 500 -X86_INS_OUTSB = 501 -X86_INS_OUTSD = 502 -X86_INS_OUTSW = 503 -X86_INS_PACKUSDW = 504 -X86_INS_PAUSE = 505 -X86_INS_PAVGUSB = 506 -X86_INS_PBLENDVB = 507 -X86_INS_PBLENDW = 508 -X86_INS_PCLMULQDQ = 509 -X86_INS_PCMPEQQ = 510 -X86_INS_PCMPESTRI = 511 -X86_INS_PCMPESTRM = 512 -X86_INS_PCMPGTQ = 513 -X86_INS_PCMPISTRI = 514 -X86_INS_PCMPISTRM = 515 -X86_INS_PCOMMIT = 516 -X86_INS_PDEP = 517 -X86_INS_PEXT = 518 -X86_INS_PEXTRB = 519 -X86_INS_PEXTRD = 520 -X86_INS_PEXTRQ = 521 -X86_INS_PF2ID = 522 -X86_INS_PF2IW = 523 -X86_INS_PFACC = 524 -X86_INS_PFADD = 525 -X86_INS_PFCMPEQ = 526 -X86_INS_PFCMPGE = 527 -X86_INS_PFCMPGT = 528 -X86_INS_PFMAX = 529 -X86_INS_PFMIN = 530 -X86_INS_PFMUL = 531 -X86_INS_PFNACC = 532 -X86_INS_PFPNACC = 533 -X86_INS_PFRCPIT1 = 534 -X86_INS_PFRCPIT2 = 535 -X86_INS_PFRCP = 536 -X86_INS_PFRSQIT1 = 537 -X86_INS_PFRSQRT = 538 -X86_INS_PFSUBR = 539 -X86_INS_PFSUB = 540 -X86_INS_PHMINPOSUW = 541 -X86_INS_PI2FD = 542 -X86_INS_PI2FW = 543 -X86_INS_PINSRB = 544 -X86_INS_PINSRD = 545 -X86_INS_PINSRQ = 546 -X86_INS_PMAXSB = 547 -X86_INS_PMAXSD = 548 -X86_INS_PMAXUD = 549 -X86_INS_PMAXUW = 550 -X86_INS_PMINSB = 551 -X86_INS_PMINSD = 552 -X86_INS_PMINUD = 553 -X86_INS_PMINUW = 554 -X86_INS_PMOVSXBD = 555 -X86_INS_PMOVSXBQ = 556 -X86_INS_PMOVSXBW = 557 -X86_INS_PMOVSXDQ = 558 -X86_INS_PMOVSXWD = 559 -X86_INS_PMOVSXWQ = 560 -X86_INS_PMOVZXBD = 561 -X86_INS_PMOVZXBQ = 562 -X86_INS_PMOVZXBW = 563 -X86_INS_PMOVZXDQ = 564 -X86_INS_PMOVZXWD = 565 -X86_INS_PMOVZXWQ = 566 -X86_INS_PMULDQ = 567 -X86_INS_PMULHRW = 568 -X86_INS_PMULLD = 569 -X86_INS_POP = 570 -X86_INS_POPAW = 571 -X86_INS_POPAL = 572 -X86_INS_POPCNT = 573 -X86_INS_POPF = 574 -X86_INS_POPFD = 575 -X86_INS_POPFQ = 576 -X86_INS_PREFETCH = 577 -X86_INS_PREFETCHNTA = 578 -X86_INS_PREFETCHT0 = 579 -X86_INS_PREFETCHT1 = 580 -X86_INS_PREFETCHT2 = 581 -X86_INS_PREFETCHW = 582 -X86_INS_PSHUFD = 583 -X86_INS_PSHUFHW = 584 -X86_INS_PSHUFLW = 585 -X86_INS_PSLLDQ = 586 -X86_INS_PSRLDQ = 587 -X86_INS_PSWAPD = 588 -X86_INS_PTEST = 589 -X86_INS_PUNPCKHQDQ = 590 -X86_INS_PUNPCKLQDQ = 591 -X86_INS_PUSH = 592 -X86_INS_PUSHAW = 593 -X86_INS_PUSHAL = 594 -X86_INS_PUSHF = 595 -X86_INS_PUSHFD = 596 -X86_INS_PUSHFQ = 597 -X86_INS_RCL = 598 -X86_INS_RCPPS = 599 -X86_INS_RCPSS = 600 -X86_INS_RCR = 601 -X86_INS_RDFSBASE = 602 -X86_INS_RDGSBASE = 603 -X86_INS_RDMSR = 604 -X86_INS_RDPMC = 605 -X86_INS_RDRAND = 606 -X86_INS_RDSEED = 607 -X86_INS_RDTSC = 608 -X86_INS_RDTSCP = 609 -X86_INS_ROL = 610 -X86_INS_ROR = 611 -X86_INS_RORX = 612 -X86_INS_ROUNDPD = 613 -X86_INS_ROUNDPS = 614 -X86_INS_ROUNDSD = 615 -X86_INS_ROUNDSS = 616 -X86_INS_RSM = 617 -X86_INS_RSQRTPS = 618 -X86_INS_RSQRTSS = 619 -X86_INS_SAHF = 620 -X86_INS_SAL = 621 -X86_INS_SALC = 622 -X86_INS_SAR = 623 -X86_INS_SARX = 624 -X86_INS_SBB = 625 -X86_INS_SCASB = 626 -X86_INS_SCASD = 627 -X86_INS_SCASQ = 628 -X86_INS_SCASW = 629 -X86_INS_SETAE = 630 -X86_INS_SETA = 631 -X86_INS_SETBE = 632 -X86_INS_SETB = 633 -X86_INS_SETE = 634 -X86_INS_SETGE = 635 -X86_INS_SETG = 636 -X86_INS_SETLE = 637 -X86_INS_SETL = 638 -X86_INS_SETNE = 639 -X86_INS_SETNO = 640 -X86_INS_SETNP = 641 -X86_INS_SETNS = 642 -X86_INS_SETO = 643 -X86_INS_SETP = 644 -X86_INS_SETS = 645 -X86_INS_SFENCE = 646 -X86_INS_SGDT = 647 -X86_INS_SHA1MSG1 = 648 -X86_INS_SHA1MSG2 = 649 -X86_INS_SHA1NEXTE = 650 -X86_INS_SHA1RNDS4 = 651 -X86_INS_SHA256MSG1 = 652 -X86_INS_SHA256MSG2 = 653 -X86_INS_SHA256RNDS2 = 654 -X86_INS_SHL = 655 -X86_INS_SHLD = 656 -X86_INS_SHLX = 657 -X86_INS_SHR = 658 -X86_INS_SHRD = 659 -X86_INS_SHRX = 660 -X86_INS_SHUFPD = 661 -X86_INS_SHUFPS = 662 -X86_INS_SIDT = 663 -X86_INS_FSIN = 664 -X86_INS_SKINIT = 665 -X86_INS_SLDT = 666 -X86_INS_SMSW = 667 -X86_INS_SQRTPD = 668 -X86_INS_SQRTPS = 669 -X86_INS_SQRTSD = 670 -X86_INS_SQRTSS = 671 -X86_INS_FSQRT = 672 -X86_INS_STAC = 673 -X86_INS_STC = 674 -X86_INS_STD = 675 -X86_INS_STGI = 676 -X86_INS_STI = 677 -X86_INS_STMXCSR = 678 -X86_INS_STOSB = 679 -X86_INS_STOSD = 680 -X86_INS_STOSQ = 681 -X86_INS_STOSW = 682 -X86_INS_STR = 683 -X86_INS_FST = 684 -X86_INS_FSTP = 685 -X86_INS_FSTPNCE = 686 -X86_INS_FXCH = 687 -X86_INS_SUBPD = 688 -X86_INS_SUBPS = 689 -X86_INS_FSUBR = 690 -X86_INS_FISUBR = 691 -X86_INS_FSUBRP = 692 -X86_INS_SUBSD = 693 -X86_INS_SUBSS = 694 -X86_INS_FSUB = 695 -X86_INS_FISUB = 696 -X86_INS_FSUBP = 697 -X86_INS_SWAPGS = 698 -X86_INS_SYSCALL = 699 -X86_INS_SYSENTER = 700 -X86_INS_SYSEXIT = 701 -X86_INS_SYSRET = 702 -X86_INS_T1MSKC = 703 -X86_INS_TEST = 704 -X86_INS_UD2 = 705 -X86_INS_FTST = 706 -X86_INS_TZCNT = 707 -X86_INS_TZMSK = 708 -X86_INS_FUCOMPI = 709 -X86_INS_FUCOMI = 710 -X86_INS_FUCOMPP = 711 -X86_INS_FUCOMP = 712 -X86_INS_FUCOM = 713 -X86_INS_UD2B = 714 -X86_INS_UNPCKHPD = 715 -X86_INS_UNPCKHPS = 716 -X86_INS_UNPCKLPD = 717 -X86_INS_UNPCKLPS = 718 -X86_INS_VADDPD = 719 -X86_INS_VADDPS = 720 -X86_INS_VADDSD = 721 -X86_INS_VADDSS = 722 -X86_INS_VADDSUBPD = 723 -X86_INS_VADDSUBPS = 724 -X86_INS_VAESDECLAST = 725 -X86_INS_VAESDEC = 726 -X86_INS_VAESENCLAST = 727 -X86_INS_VAESENC = 728 -X86_INS_VAESIMC = 729 -X86_INS_VAESKEYGENASSIST = 730 -X86_INS_VALIGND = 731 -X86_INS_VALIGNQ = 732 -X86_INS_VANDNPD = 733 -X86_INS_VANDNPS = 734 -X86_INS_VANDPD = 735 -X86_INS_VANDPS = 736 -X86_INS_VBLENDMPD = 737 -X86_INS_VBLENDMPS = 738 -X86_INS_VBLENDPD = 739 -X86_INS_VBLENDPS = 740 -X86_INS_VBLENDVPD = 741 -X86_INS_VBLENDVPS = 742 -X86_INS_VBROADCASTF128 = 743 -X86_INS_VBROADCASTI32X4 = 744 -X86_INS_VBROADCASTI64X4 = 745 -X86_INS_VBROADCASTSD = 746 -X86_INS_VBROADCASTSS = 747 -X86_INS_VCMPPD = 748 -X86_INS_VCMPPS = 749 -X86_INS_VCMPSD = 750 -X86_INS_VCMPSS = 751 -X86_INS_VCOMPRESSPD = 752 -X86_INS_VCOMPRESSPS = 753 -X86_INS_VCVTDQ2PD = 754 -X86_INS_VCVTDQ2PS = 755 -X86_INS_VCVTPD2DQX = 756 -X86_INS_VCVTPD2DQ = 757 -X86_INS_VCVTPD2PSX = 758 -X86_INS_VCVTPD2PS = 759 -X86_INS_VCVTPD2UDQ = 760 -X86_INS_VCVTPH2PS = 761 -X86_INS_VCVTPS2DQ = 762 -X86_INS_VCVTPS2PD = 763 -X86_INS_VCVTPS2PH = 764 -X86_INS_VCVTPS2UDQ = 765 -X86_INS_VCVTSD2SI = 766 -X86_INS_VCVTSD2USI = 767 -X86_INS_VCVTSS2SI = 768 -X86_INS_VCVTSS2USI = 769 -X86_INS_VCVTTPD2DQX = 770 -X86_INS_VCVTTPD2DQ = 771 -X86_INS_VCVTTPD2UDQ = 772 -X86_INS_VCVTTPS2DQ = 773 -X86_INS_VCVTTPS2UDQ = 774 -X86_INS_VCVTUDQ2PD = 775 -X86_INS_VCVTUDQ2PS = 776 -X86_INS_VDIVPD = 777 -X86_INS_VDIVPS = 778 -X86_INS_VDIVSD = 779 -X86_INS_VDIVSS = 780 -X86_INS_VDPPD = 781 -X86_INS_VDPPS = 782 -X86_INS_VERR = 783 -X86_INS_VERW = 784 -X86_INS_VEXP2PD = 785 -X86_INS_VEXP2PS = 786 -X86_INS_VEXPANDPD = 787 -X86_INS_VEXPANDPS = 788 -X86_INS_VEXTRACTF128 = 789 -X86_INS_VEXTRACTF32X4 = 790 -X86_INS_VEXTRACTF64X4 = 791 -X86_INS_VEXTRACTI128 = 792 -X86_INS_VEXTRACTI32X4 = 793 -X86_INS_VEXTRACTI64X4 = 794 -X86_INS_VEXTRACTPS = 795 -X86_INS_VFMADD132PD = 796 -X86_INS_VFMADD132PS = 797 -X86_INS_VFMADDPD = 798 -X86_INS_VFMADD213PD = 799 -X86_INS_VFMADD231PD = 800 -X86_INS_VFMADDPS = 801 -X86_INS_VFMADD213PS = 802 -X86_INS_VFMADD231PS = 803 -X86_INS_VFMADDSD = 804 -X86_INS_VFMADD213SD = 805 -X86_INS_VFMADD132SD = 806 -X86_INS_VFMADD231SD = 807 -X86_INS_VFMADDSS = 808 -X86_INS_VFMADD213SS = 809 -X86_INS_VFMADD132SS = 810 -X86_INS_VFMADD231SS = 811 -X86_INS_VFMADDSUB132PD = 812 -X86_INS_VFMADDSUB132PS = 813 -X86_INS_VFMADDSUBPD = 814 -X86_INS_VFMADDSUB213PD = 815 -X86_INS_VFMADDSUB231PD = 816 -X86_INS_VFMADDSUBPS = 817 -X86_INS_VFMADDSUB213PS = 818 -X86_INS_VFMADDSUB231PS = 819 -X86_INS_VFMSUB132PD = 820 -X86_INS_VFMSUB132PS = 821 -X86_INS_VFMSUBADD132PD = 822 -X86_INS_VFMSUBADD132PS = 823 -X86_INS_VFMSUBADDPD = 824 -X86_INS_VFMSUBADD213PD = 825 -X86_INS_VFMSUBADD231PD = 826 -X86_INS_VFMSUBADDPS = 827 -X86_INS_VFMSUBADD213PS = 828 -X86_INS_VFMSUBADD231PS = 829 -X86_INS_VFMSUBPD = 830 -X86_INS_VFMSUB213PD = 831 -X86_INS_VFMSUB231PD = 832 -X86_INS_VFMSUBPS = 833 -X86_INS_VFMSUB213PS = 834 -X86_INS_VFMSUB231PS = 835 -X86_INS_VFMSUBSD = 836 -X86_INS_VFMSUB213SD = 837 -X86_INS_VFMSUB132SD = 838 -X86_INS_VFMSUB231SD = 839 -X86_INS_VFMSUBSS = 840 -X86_INS_VFMSUB213SS = 841 -X86_INS_VFMSUB132SS = 842 -X86_INS_VFMSUB231SS = 843 -X86_INS_VFNMADD132PD = 844 -X86_INS_VFNMADD132PS = 845 -X86_INS_VFNMADDPD = 846 -X86_INS_VFNMADD213PD = 847 -X86_INS_VFNMADD231PD = 848 -X86_INS_VFNMADDPS = 849 -X86_INS_VFNMADD213PS = 850 -X86_INS_VFNMADD231PS = 851 -X86_INS_VFNMADDSD = 852 -X86_INS_VFNMADD213SD = 853 -X86_INS_VFNMADD132SD = 854 -X86_INS_VFNMADD231SD = 855 -X86_INS_VFNMADDSS = 856 -X86_INS_VFNMADD213SS = 857 -X86_INS_VFNMADD132SS = 858 -X86_INS_VFNMADD231SS = 859 -X86_INS_VFNMSUB132PD = 860 -X86_INS_VFNMSUB132PS = 861 -X86_INS_VFNMSUBPD = 862 -X86_INS_VFNMSUB213PD = 863 -X86_INS_VFNMSUB231PD = 864 -X86_INS_VFNMSUBPS = 865 -X86_INS_VFNMSUB213PS = 866 -X86_INS_VFNMSUB231PS = 867 -X86_INS_VFNMSUBSD = 868 -X86_INS_VFNMSUB213SD = 869 -X86_INS_VFNMSUB132SD = 870 -X86_INS_VFNMSUB231SD = 871 -X86_INS_VFNMSUBSS = 872 -X86_INS_VFNMSUB213SS = 873 -X86_INS_VFNMSUB132SS = 874 -X86_INS_VFNMSUB231SS = 875 -X86_INS_VFRCZPD = 876 -X86_INS_VFRCZPS = 877 -X86_INS_VFRCZSD = 878 -X86_INS_VFRCZSS = 879 -X86_INS_VORPD = 880 -X86_INS_VORPS = 881 -X86_INS_VXORPD = 882 -X86_INS_VXORPS = 883 -X86_INS_VGATHERDPD = 884 -X86_INS_VGATHERDPS = 885 -X86_INS_VGATHERPF0DPD = 886 -X86_INS_VGATHERPF0DPS = 887 -X86_INS_VGATHERPF0QPD = 888 -X86_INS_VGATHERPF0QPS = 889 -X86_INS_VGATHERPF1DPD = 890 -X86_INS_VGATHERPF1DPS = 891 -X86_INS_VGATHERPF1QPD = 892 -X86_INS_VGATHERPF1QPS = 893 -X86_INS_VGATHERQPD = 894 -X86_INS_VGATHERQPS = 895 -X86_INS_VHADDPD = 896 -X86_INS_VHADDPS = 897 -X86_INS_VHSUBPD = 898 -X86_INS_VHSUBPS = 899 -X86_INS_VINSERTF128 = 900 -X86_INS_VINSERTF32X4 = 901 -X86_INS_VINSERTF32X8 = 902 -X86_INS_VINSERTF64X2 = 903 -X86_INS_VINSERTF64X4 = 904 -X86_INS_VINSERTI128 = 905 -X86_INS_VINSERTI32X4 = 906 -X86_INS_VINSERTI32X8 = 907 -X86_INS_VINSERTI64X2 = 908 -X86_INS_VINSERTI64X4 = 909 -X86_INS_VINSERTPS = 910 -X86_INS_VLDDQU = 911 -X86_INS_VLDMXCSR = 912 -X86_INS_VMASKMOVDQU = 913 -X86_INS_VMASKMOVPD = 914 -X86_INS_VMASKMOVPS = 915 -X86_INS_VMAXPD = 916 -X86_INS_VMAXPS = 917 -X86_INS_VMAXSD = 918 -X86_INS_VMAXSS = 919 -X86_INS_VMCALL = 920 -X86_INS_VMCLEAR = 921 -X86_INS_VMFUNC = 922 -X86_INS_VMINPD = 923 -X86_INS_VMINPS = 924 -X86_INS_VMINSD = 925 -X86_INS_VMINSS = 926 -X86_INS_VMLAUNCH = 927 -X86_INS_VMLOAD = 928 -X86_INS_VMMCALL = 929 -X86_INS_VMOVQ = 930 -X86_INS_VMOVDDUP = 931 -X86_INS_VMOVD = 932 -X86_INS_VMOVDQA32 = 933 -X86_INS_VMOVDQA64 = 934 -X86_INS_VMOVDQA = 935 -X86_INS_VMOVDQU16 = 936 -X86_INS_VMOVDQU32 = 937 -X86_INS_VMOVDQU64 = 938 -X86_INS_VMOVDQU8 = 939 -X86_INS_VMOVDQU = 940 -X86_INS_VMOVHLPS = 941 -X86_INS_VMOVHPD = 942 -X86_INS_VMOVHPS = 943 -X86_INS_VMOVLHPS = 944 -X86_INS_VMOVLPD = 945 -X86_INS_VMOVLPS = 946 -X86_INS_VMOVMSKPD = 947 -X86_INS_VMOVMSKPS = 948 -X86_INS_VMOVNTDQA = 949 -X86_INS_VMOVNTDQ = 950 -X86_INS_VMOVNTPD = 951 -X86_INS_VMOVNTPS = 952 -X86_INS_VMOVSD = 953 -X86_INS_VMOVSHDUP = 954 -X86_INS_VMOVSLDUP = 955 -X86_INS_VMOVSS = 956 -X86_INS_VMOVUPD = 957 -X86_INS_VMOVUPS = 958 -X86_INS_VMPSADBW = 959 -X86_INS_VMPTRLD = 960 -X86_INS_VMPTRST = 961 -X86_INS_VMREAD = 962 -X86_INS_VMRESUME = 963 -X86_INS_VMRUN = 964 -X86_INS_VMSAVE = 965 -X86_INS_VMULPD = 966 -X86_INS_VMULPS = 967 -X86_INS_VMULSD = 968 -X86_INS_VMULSS = 969 -X86_INS_VMWRITE = 970 -X86_INS_VMXOFF = 971 -X86_INS_VMXON = 972 -X86_INS_VPABSB = 973 -X86_INS_VPABSD = 974 -X86_INS_VPABSQ = 975 -X86_INS_VPABSW = 976 -X86_INS_VPACKSSDW = 977 -X86_INS_VPACKSSWB = 978 -X86_INS_VPACKUSDW = 979 -X86_INS_VPACKUSWB = 980 -X86_INS_VPADDB = 981 -X86_INS_VPADDD = 982 -X86_INS_VPADDQ = 983 -X86_INS_VPADDSB = 984 -X86_INS_VPADDSW = 985 -X86_INS_VPADDUSB = 986 -X86_INS_VPADDUSW = 987 -X86_INS_VPADDW = 988 -X86_INS_VPALIGNR = 989 -X86_INS_VPANDD = 990 -X86_INS_VPANDND = 991 -X86_INS_VPANDNQ = 992 -X86_INS_VPANDN = 993 -X86_INS_VPANDQ = 994 -X86_INS_VPAND = 995 -X86_INS_VPAVGB = 996 -X86_INS_VPAVGW = 997 -X86_INS_VPBLENDD = 998 -X86_INS_VPBLENDMB = 999 -X86_INS_VPBLENDMD = 1000 -X86_INS_VPBLENDMQ = 1001 -X86_INS_VPBLENDMW = 1002 -X86_INS_VPBLENDVB = 1003 -X86_INS_VPBLENDW = 1004 -X86_INS_VPBROADCASTB = 1005 -X86_INS_VPBROADCASTD = 1006 -X86_INS_VPBROADCASTMB2Q = 1007 -X86_INS_VPBROADCASTMW2D = 1008 -X86_INS_VPBROADCASTQ = 1009 -X86_INS_VPBROADCASTW = 1010 -X86_INS_VPCLMULQDQ = 1011 -X86_INS_VPCMOV = 1012 -X86_INS_VPCMPB = 1013 -X86_INS_VPCMPD = 1014 -X86_INS_VPCMPEQB = 1015 -X86_INS_VPCMPEQD = 1016 -X86_INS_VPCMPEQQ = 1017 -X86_INS_VPCMPEQW = 1018 -X86_INS_VPCMPESTRI = 1019 -X86_INS_VPCMPESTRM = 1020 -X86_INS_VPCMPGTB = 1021 -X86_INS_VPCMPGTD = 1022 -X86_INS_VPCMPGTQ = 1023 -X86_INS_VPCMPGTW = 1024 -X86_INS_VPCMPISTRI = 1025 -X86_INS_VPCMPISTRM = 1026 -X86_INS_VPCMPQ = 1027 -X86_INS_VPCMPUB = 1028 -X86_INS_VPCMPUD = 1029 -X86_INS_VPCMPUQ = 1030 -X86_INS_VPCMPUW = 1031 -X86_INS_VPCMPW = 1032 -X86_INS_VPCOMB = 1033 -X86_INS_VPCOMD = 1034 -X86_INS_VPCOMPRESSD = 1035 -X86_INS_VPCOMPRESSQ = 1036 -X86_INS_VPCOMQ = 1037 -X86_INS_VPCOMUB = 1038 -X86_INS_VPCOMUD = 1039 -X86_INS_VPCOMUQ = 1040 -X86_INS_VPCOMUW = 1041 -X86_INS_VPCOMW = 1042 -X86_INS_VPCONFLICTD = 1043 -X86_INS_VPCONFLICTQ = 1044 -X86_INS_VPERM2F128 = 1045 -X86_INS_VPERM2I128 = 1046 -X86_INS_VPERMD = 1047 -X86_INS_VPERMI2D = 1048 -X86_INS_VPERMI2PD = 1049 -X86_INS_VPERMI2PS = 1050 -X86_INS_VPERMI2Q = 1051 -X86_INS_VPERMIL2PD = 1052 -X86_INS_VPERMIL2PS = 1053 -X86_INS_VPERMILPD = 1054 -X86_INS_VPERMILPS = 1055 -X86_INS_VPERMPD = 1056 -X86_INS_VPERMPS = 1057 -X86_INS_VPERMQ = 1058 -X86_INS_VPERMT2D = 1059 -X86_INS_VPERMT2PD = 1060 -X86_INS_VPERMT2PS = 1061 -X86_INS_VPERMT2Q = 1062 -X86_INS_VPEXPANDD = 1063 -X86_INS_VPEXPANDQ = 1064 -X86_INS_VPEXTRB = 1065 -X86_INS_VPEXTRD = 1066 -X86_INS_VPEXTRQ = 1067 -X86_INS_VPEXTRW = 1068 -X86_INS_VPGATHERDD = 1069 -X86_INS_VPGATHERDQ = 1070 -X86_INS_VPGATHERQD = 1071 -X86_INS_VPGATHERQQ = 1072 -X86_INS_VPHADDBD = 1073 -X86_INS_VPHADDBQ = 1074 -X86_INS_VPHADDBW = 1075 -X86_INS_VPHADDDQ = 1076 -X86_INS_VPHADDD = 1077 -X86_INS_VPHADDSW = 1078 -X86_INS_VPHADDUBD = 1079 -X86_INS_VPHADDUBQ = 1080 -X86_INS_VPHADDUBW = 1081 -X86_INS_VPHADDUDQ = 1082 -X86_INS_VPHADDUWD = 1083 -X86_INS_VPHADDUWQ = 1084 -X86_INS_VPHADDWD = 1085 -X86_INS_VPHADDWQ = 1086 -X86_INS_VPHADDW = 1087 -X86_INS_VPHMINPOSUW = 1088 -X86_INS_VPHSUBBW = 1089 -X86_INS_VPHSUBDQ = 1090 -X86_INS_VPHSUBD = 1091 -X86_INS_VPHSUBSW = 1092 -X86_INS_VPHSUBWD = 1093 -X86_INS_VPHSUBW = 1094 -X86_INS_VPINSRB = 1095 -X86_INS_VPINSRD = 1096 -X86_INS_VPINSRQ = 1097 -X86_INS_VPINSRW = 1098 -X86_INS_VPLZCNTD = 1099 -X86_INS_VPLZCNTQ = 1100 -X86_INS_VPMACSDD = 1101 -X86_INS_VPMACSDQH = 1102 -X86_INS_VPMACSDQL = 1103 -X86_INS_VPMACSSDD = 1104 -X86_INS_VPMACSSDQH = 1105 -X86_INS_VPMACSSDQL = 1106 -X86_INS_VPMACSSWD = 1107 -X86_INS_VPMACSSWW = 1108 -X86_INS_VPMACSWD = 1109 -X86_INS_VPMACSWW = 1110 -X86_INS_VPMADCSSWD = 1111 -X86_INS_VPMADCSWD = 1112 -X86_INS_VPMADDUBSW = 1113 -X86_INS_VPMADDWD = 1114 -X86_INS_VPMASKMOVD = 1115 -X86_INS_VPMASKMOVQ = 1116 -X86_INS_VPMAXSB = 1117 -X86_INS_VPMAXSD = 1118 -X86_INS_VPMAXSQ = 1119 -X86_INS_VPMAXSW = 1120 -X86_INS_VPMAXUB = 1121 -X86_INS_VPMAXUD = 1122 -X86_INS_VPMAXUQ = 1123 -X86_INS_VPMAXUW = 1124 -X86_INS_VPMINSB = 1125 -X86_INS_VPMINSD = 1126 -X86_INS_VPMINSQ = 1127 -X86_INS_VPMINSW = 1128 -X86_INS_VPMINUB = 1129 -X86_INS_VPMINUD = 1130 -X86_INS_VPMINUQ = 1131 -X86_INS_VPMINUW = 1132 -X86_INS_VPMOVDB = 1133 -X86_INS_VPMOVDW = 1134 -X86_INS_VPMOVM2B = 1135 -X86_INS_VPMOVM2D = 1136 -X86_INS_VPMOVM2Q = 1137 -X86_INS_VPMOVM2W = 1138 -X86_INS_VPMOVMSKB = 1139 -X86_INS_VPMOVQB = 1140 -X86_INS_VPMOVQD = 1141 -X86_INS_VPMOVQW = 1142 -X86_INS_VPMOVSDB = 1143 -X86_INS_VPMOVSDW = 1144 -X86_INS_VPMOVSQB = 1145 -X86_INS_VPMOVSQD = 1146 -X86_INS_VPMOVSQW = 1147 -X86_INS_VPMOVSXBD = 1148 -X86_INS_VPMOVSXBQ = 1149 -X86_INS_VPMOVSXBW = 1150 -X86_INS_VPMOVSXDQ = 1151 -X86_INS_VPMOVSXWD = 1152 -X86_INS_VPMOVSXWQ = 1153 -X86_INS_VPMOVUSDB = 1154 -X86_INS_VPMOVUSDW = 1155 -X86_INS_VPMOVUSQB = 1156 -X86_INS_VPMOVUSQD = 1157 -X86_INS_VPMOVUSQW = 1158 -X86_INS_VPMOVZXBD = 1159 -X86_INS_VPMOVZXBQ = 1160 -X86_INS_VPMOVZXBW = 1161 -X86_INS_VPMOVZXDQ = 1162 -X86_INS_VPMOVZXWD = 1163 -X86_INS_VPMOVZXWQ = 1164 -X86_INS_VPMULDQ = 1165 -X86_INS_VPMULHRSW = 1166 -X86_INS_VPMULHUW = 1167 -X86_INS_VPMULHW = 1168 -X86_INS_VPMULLD = 1169 -X86_INS_VPMULLQ = 1170 -X86_INS_VPMULLW = 1171 -X86_INS_VPMULUDQ = 1172 -X86_INS_VPORD = 1173 -X86_INS_VPORQ = 1174 -X86_INS_VPOR = 1175 -X86_INS_VPPERM = 1176 -X86_INS_VPROTB = 1177 -X86_INS_VPROTD = 1178 -X86_INS_VPROTQ = 1179 -X86_INS_VPROTW = 1180 -X86_INS_VPSADBW = 1181 -X86_INS_VPSCATTERDD = 1182 -X86_INS_VPSCATTERDQ = 1183 -X86_INS_VPSCATTERQD = 1184 -X86_INS_VPSCATTERQQ = 1185 -X86_INS_VPSHAB = 1186 -X86_INS_VPSHAD = 1187 -X86_INS_VPSHAQ = 1188 -X86_INS_VPSHAW = 1189 -X86_INS_VPSHLB = 1190 -X86_INS_VPSHLD = 1191 -X86_INS_VPSHLQ = 1192 -X86_INS_VPSHLW = 1193 -X86_INS_VPSHUFB = 1194 -X86_INS_VPSHUFD = 1195 -X86_INS_VPSHUFHW = 1196 -X86_INS_VPSHUFLW = 1197 -X86_INS_VPSIGNB = 1198 -X86_INS_VPSIGND = 1199 -X86_INS_VPSIGNW = 1200 -X86_INS_VPSLLDQ = 1201 -X86_INS_VPSLLD = 1202 -X86_INS_VPSLLQ = 1203 -X86_INS_VPSLLVD = 1204 -X86_INS_VPSLLVQ = 1205 -X86_INS_VPSLLW = 1206 -X86_INS_VPSRAD = 1207 -X86_INS_VPSRAQ = 1208 -X86_INS_VPSRAVD = 1209 -X86_INS_VPSRAVQ = 1210 -X86_INS_VPSRAW = 1211 -X86_INS_VPSRLDQ = 1212 -X86_INS_VPSRLD = 1213 -X86_INS_VPSRLQ = 1214 -X86_INS_VPSRLVD = 1215 -X86_INS_VPSRLVQ = 1216 -X86_INS_VPSRLW = 1217 -X86_INS_VPSUBB = 1218 -X86_INS_VPSUBD = 1219 -X86_INS_VPSUBQ = 1220 -X86_INS_VPSUBSB = 1221 -X86_INS_VPSUBSW = 1222 -X86_INS_VPSUBUSB = 1223 -X86_INS_VPSUBUSW = 1224 -X86_INS_VPSUBW = 1225 -X86_INS_VPTESTMD = 1226 -X86_INS_VPTESTMQ = 1227 -X86_INS_VPTESTNMD = 1228 -X86_INS_VPTESTNMQ = 1229 -X86_INS_VPTEST = 1230 -X86_INS_VPUNPCKHBW = 1231 -X86_INS_VPUNPCKHDQ = 1232 -X86_INS_VPUNPCKHQDQ = 1233 -X86_INS_VPUNPCKHWD = 1234 -X86_INS_VPUNPCKLBW = 1235 -X86_INS_VPUNPCKLDQ = 1236 -X86_INS_VPUNPCKLQDQ = 1237 -X86_INS_VPUNPCKLWD = 1238 -X86_INS_VPXORD = 1239 -X86_INS_VPXORQ = 1240 -X86_INS_VPXOR = 1241 -X86_INS_VRCP14PD = 1242 -X86_INS_VRCP14PS = 1243 -X86_INS_VRCP14SD = 1244 -X86_INS_VRCP14SS = 1245 -X86_INS_VRCP28PD = 1246 -X86_INS_VRCP28PS = 1247 -X86_INS_VRCP28SD = 1248 -X86_INS_VRCP28SS = 1249 -X86_INS_VRCPPS = 1250 -X86_INS_VRCPSS = 1251 -X86_INS_VRNDSCALEPD = 1252 -X86_INS_VRNDSCALEPS = 1253 -X86_INS_VRNDSCALESD = 1254 -X86_INS_VRNDSCALESS = 1255 -X86_INS_VROUNDPD = 1256 -X86_INS_VROUNDPS = 1257 -X86_INS_VROUNDSD = 1258 -X86_INS_VROUNDSS = 1259 -X86_INS_VRSQRT14PD = 1260 -X86_INS_VRSQRT14PS = 1261 -X86_INS_VRSQRT14SD = 1262 -X86_INS_VRSQRT14SS = 1263 -X86_INS_VRSQRT28PD = 1264 -X86_INS_VRSQRT28PS = 1265 -X86_INS_VRSQRT28SD = 1266 -X86_INS_VRSQRT28SS = 1267 -X86_INS_VRSQRTPS = 1268 -X86_INS_VRSQRTSS = 1269 -X86_INS_VSCATTERDPD = 1270 -X86_INS_VSCATTERDPS = 1271 -X86_INS_VSCATTERPF0DPD = 1272 -X86_INS_VSCATTERPF0DPS = 1273 -X86_INS_VSCATTERPF0QPD = 1274 -X86_INS_VSCATTERPF0QPS = 1275 -X86_INS_VSCATTERPF1DPD = 1276 -X86_INS_VSCATTERPF1DPS = 1277 -X86_INS_VSCATTERPF1QPD = 1278 -X86_INS_VSCATTERPF1QPS = 1279 -X86_INS_VSCATTERQPD = 1280 -X86_INS_VSCATTERQPS = 1281 -X86_INS_VSHUFPD = 1282 -X86_INS_VSHUFPS = 1283 -X86_INS_VSQRTPD = 1284 -X86_INS_VSQRTPS = 1285 -X86_INS_VSQRTSD = 1286 -X86_INS_VSQRTSS = 1287 -X86_INS_VSTMXCSR = 1288 -X86_INS_VSUBPD = 1289 -X86_INS_VSUBPS = 1290 -X86_INS_VSUBSD = 1291 -X86_INS_VSUBSS = 1292 -X86_INS_VTESTPD = 1293 -X86_INS_VTESTPS = 1294 -X86_INS_VUNPCKHPD = 1295 -X86_INS_VUNPCKHPS = 1296 -X86_INS_VUNPCKLPD = 1297 -X86_INS_VUNPCKLPS = 1298 -X86_INS_VZEROALL = 1299 -X86_INS_VZEROUPPER = 1300 -X86_INS_WAIT = 1301 -X86_INS_WBINVD = 1302 -X86_INS_WRFSBASE = 1303 -X86_INS_WRGSBASE = 1304 -X86_INS_WRMSR = 1305 -X86_INS_XABORT = 1306 -X86_INS_XACQUIRE = 1307 -X86_INS_XBEGIN = 1308 -X86_INS_XCHG = 1309 -X86_INS_XCRYPTCBC = 1310 -X86_INS_XCRYPTCFB = 1311 -X86_INS_XCRYPTCTR = 1312 -X86_INS_XCRYPTECB = 1313 -X86_INS_XCRYPTOFB = 1314 -X86_INS_XEND = 1315 -X86_INS_XGETBV = 1316 -X86_INS_XLATB = 1317 -X86_INS_XRELEASE = 1318 -X86_INS_XRSTOR = 1319 -X86_INS_XRSTOR64 = 1320 -X86_INS_XRSTORS = 1321 -X86_INS_XRSTORS64 = 1322 -X86_INS_XSAVE = 1323 -X86_INS_XSAVE64 = 1324 -X86_INS_XSAVEC = 1325 -X86_INS_XSAVEC64 = 1326 -X86_INS_XSAVEOPT = 1327 -X86_INS_XSAVEOPT64 = 1328 -X86_INS_XSAVES = 1329 -X86_INS_XSAVES64 = 1330 -X86_INS_XSETBV = 1331 -X86_INS_XSHA1 = 1332 -X86_INS_XSHA256 = 1333 -X86_INS_XSTORE = 1334 -X86_INS_XTEST = 1335 -X86_INS_FDISI8087_NOP = 1336 -X86_INS_FENI8087_NOP = 1337 -X86_INS_ENDING = 1338 +UC_X86_INS_INVALID = 0 +UC_X86_INS_AAA = 1 +UC_X86_INS_AAD = 2 +UC_X86_INS_AAM = 3 +UC_X86_INS_AAS = 4 +UC_X86_INS_FABS = 5 +UC_X86_INS_ADC = 6 +UC_X86_INS_ADCX = 7 +UC_X86_INS_ADD = 8 +UC_X86_INS_ADDPD = 9 +UC_X86_INS_ADDPS = 10 +UC_X86_INS_ADDSD = 11 +UC_X86_INS_ADDSS = 12 +UC_X86_INS_ADDSUBPD = 13 +UC_X86_INS_ADDSUBPS = 14 +UC_X86_INS_FADD = 15 +UC_X86_INS_FIADD = 16 +UC_X86_INS_FADDP = 17 +UC_X86_INS_ADOX = 18 +UC_X86_INS_AESDECLAST = 19 +UC_X86_INS_AESDEC = 20 +UC_X86_INS_AESENCLAST = 21 +UC_X86_INS_AESENC = 22 +UC_X86_INS_AESIMC = 23 +UC_X86_INS_AESKEYGENASSIST = 24 +UC_X86_INS_AND = 25 +UC_X86_INS_ANDN = 26 +UC_X86_INS_ANDNPD = 27 +UC_X86_INS_ANDNPS = 28 +UC_X86_INS_ANDPD = 29 +UC_X86_INS_ANDPS = 30 +UC_X86_INS_ARPL = 31 +UC_X86_INS_BEXTR = 32 +UC_X86_INS_BLCFILL = 33 +UC_X86_INS_BLCI = 34 +UC_X86_INS_BLCIC = 35 +UC_X86_INS_BLCMSK = 36 +UC_X86_INS_BLCS = 37 +UC_X86_INS_BLENDPD = 38 +UC_X86_INS_BLENDPS = 39 +UC_X86_INS_BLENDVPD = 40 +UC_X86_INS_BLENDVPS = 41 +UC_X86_INS_BLSFILL = 42 +UC_X86_INS_BLSI = 43 +UC_X86_INS_BLSIC = 44 +UC_X86_INS_BLSMSK = 45 +UC_X86_INS_BLSR = 46 +UC_X86_INS_BOUND = 47 +UC_X86_INS_BSF = 48 +UC_X86_INS_BSR = 49 +UC_X86_INS_BSWAP = 50 +UC_X86_INS_BT = 51 +UC_X86_INS_BTC = 52 +UC_X86_INS_BTR = 53 +UC_X86_INS_BTS = 54 +UC_X86_INS_BZHI = 55 +UC_X86_INS_CALL = 56 +UC_X86_INS_CBW = 57 +UC_X86_INS_CDQ = 58 +UC_X86_INS_CDQE = 59 +UC_X86_INS_FCHS = 60 +UC_X86_INS_CLAC = 61 +UC_X86_INS_CLC = 62 +UC_X86_INS_CLD = 63 +UC_X86_INS_CLFLUSH = 64 +UC_X86_INS_CLFLUSHOPT = 65 +UC_X86_INS_CLGI = 66 +UC_X86_INS_CLI = 67 +UC_X86_INS_CLTS = 68 +UC_X86_INS_CLWB = 69 +UC_X86_INS_CMC = 70 +UC_X86_INS_CMOVA = 71 +UC_X86_INS_CMOVAE = 72 +UC_X86_INS_CMOVB = 73 +UC_X86_INS_CMOVBE = 74 +UC_X86_INS_FCMOVBE = 75 +UC_X86_INS_FCMOVB = 76 +UC_X86_INS_CMOVE = 77 +UC_X86_INS_FCMOVE = 78 +UC_X86_INS_CMOVG = 79 +UC_X86_INS_CMOVGE = 80 +UC_X86_INS_CMOVL = 81 +UC_X86_INS_CMOVLE = 82 +UC_X86_INS_FCMOVNBE = 83 +UC_X86_INS_FCMOVNB = 84 +UC_X86_INS_CMOVNE = 85 +UC_X86_INS_FCMOVNE = 86 +UC_X86_INS_CMOVNO = 87 +UC_X86_INS_CMOVNP = 88 +UC_X86_INS_FCMOVNU = 89 +UC_X86_INS_CMOVNS = 90 +UC_X86_INS_CMOVO = 91 +UC_X86_INS_CMOVP = 92 +UC_X86_INS_FCMOVU = 93 +UC_X86_INS_CMOVS = 94 +UC_X86_INS_CMP = 95 +UC_X86_INS_CMPPD = 96 +UC_X86_INS_CMPPS = 97 +UC_X86_INS_CMPSB = 98 +UC_X86_INS_CMPSD = 99 +UC_X86_INS_CMPSQ = 100 +UC_X86_INS_CMPSS = 101 +UC_X86_INS_CMPSW = 102 +UC_X86_INS_CMPXCHG16B = 103 +UC_X86_INS_CMPXCHG = 104 +UC_X86_INS_CMPXCHG8B = 105 +UC_X86_INS_COMISD = 106 +UC_X86_INS_COMISS = 107 +UC_X86_INS_FCOMP = 108 +UC_X86_INS_FCOMPI = 109 +UC_X86_INS_FCOMI = 110 +UC_X86_INS_FCOM = 111 +UC_X86_INS_FCOS = 112 +UC_X86_INS_CPUID = 113 +UC_X86_INS_CQO = 114 +UC_X86_INS_CRC32 = 115 +UC_X86_INS_CVTDQ2PD = 116 +UC_X86_INS_CVTDQ2PS = 117 +UC_X86_INS_CVTPD2DQ = 118 +UC_X86_INS_CVTPD2PS = 119 +UC_X86_INS_CVTPS2DQ = 120 +UC_X86_INS_CVTPS2PD = 121 +UC_X86_INS_CVTSD2SI = 122 +UC_X86_INS_CVTSD2SS = 123 +UC_X86_INS_CVTSI2SD = 124 +UC_X86_INS_CVTSI2SS = 125 +UC_X86_INS_CVTSS2SD = 126 +UC_X86_INS_CVTSS2SI = 127 +UC_X86_INS_CVTTPD2DQ = 128 +UC_X86_INS_CVTTPS2DQ = 129 +UC_X86_INS_CVTTSD2SI = 130 +UC_X86_INS_CVTTSS2SI = 131 +UC_X86_INS_CWD = 132 +UC_X86_INS_CWDE = 133 +UC_X86_INS_DAA = 134 +UC_X86_INS_DAS = 135 +UC_X86_INS_DATA16 = 136 +UC_X86_INS_DEC = 137 +UC_X86_INS_DIV = 138 +UC_X86_INS_DIVPD = 139 +UC_X86_INS_DIVPS = 140 +UC_X86_INS_FDIVR = 141 +UC_X86_INS_FIDIVR = 142 +UC_X86_INS_FDIVRP = 143 +UC_X86_INS_DIVSD = 144 +UC_X86_INS_DIVSS = 145 +UC_X86_INS_FDIV = 146 +UC_X86_INS_FIDIV = 147 +UC_X86_INS_FDIVP = 148 +UC_X86_INS_DPPD = 149 +UC_X86_INS_DPPS = 150 +UC_X86_INS_RET = 151 +UC_X86_INS_ENCLS = 152 +UC_X86_INS_ENCLU = 153 +UC_X86_INS_ENTER = 154 +UC_X86_INS_EXTRACTPS = 155 +UC_X86_INS_EXTRQ = 156 +UC_X86_INS_F2XM1 = 157 +UC_X86_INS_LCALL = 158 +UC_X86_INS_LJMP = 159 +UC_X86_INS_FBLD = 160 +UC_X86_INS_FBSTP = 161 +UC_X86_INS_FCOMPP = 162 +UC_X86_INS_FDECSTP = 163 +UC_X86_INS_FEMMS = 164 +UC_X86_INS_FFREE = 165 +UC_X86_INS_FICOM = 166 +UC_X86_INS_FICOMP = 167 +UC_X86_INS_FINCSTP = 168 +UC_X86_INS_FLDCW = 169 +UC_X86_INS_FLDENV = 170 +UC_X86_INS_FLDL2E = 171 +UC_X86_INS_FLDL2T = 172 +UC_X86_INS_FLDLG2 = 173 +UC_X86_INS_FLDLN2 = 174 +UC_X86_INS_FLDPI = 175 +UC_X86_INS_FNCLEX = 176 +UC_X86_INS_FNINIT = 177 +UC_X86_INS_FNOP = 178 +UC_X86_INS_FNSTCW = 179 +UC_X86_INS_FNSTSW = 180 +UC_X86_INS_FPATAN = 181 +UC_X86_INS_FPREM = 182 +UC_X86_INS_FPREM1 = 183 +UC_X86_INS_FPTAN = 184 +UC_X86_INS_FFREEP = 185 +UC_X86_INS_FRNDINT = 186 +UC_X86_INS_FRSTOR = 187 +UC_X86_INS_FNSAVE = 188 +UC_X86_INS_FSCALE = 189 +UC_X86_INS_FSETPM = 190 +UC_X86_INS_FSINCOS = 191 +UC_X86_INS_FNSTENV = 192 +UC_X86_INS_FXAM = 193 +UC_X86_INS_FXRSTOR = 194 +UC_X86_INS_FXRSTOR64 = 195 +UC_X86_INS_FXSAVE = 196 +UC_X86_INS_FXSAVE64 = 197 +UC_X86_INS_FXTRACT = 198 +UC_X86_INS_FYL2X = 199 +UC_X86_INS_FYL2XP1 = 200 +UC_X86_INS_MOVAPD = 201 +UC_X86_INS_MOVAPS = 202 +UC_X86_INS_ORPD = 203 +UC_X86_INS_ORPS = 204 +UC_X86_INS_VMOVAPD = 205 +UC_X86_INS_VMOVAPS = 206 +UC_X86_INS_XORPD = 207 +UC_X86_INS_XORPS = 208 +UC_X86_INS_GETSEC = 209 +UC_X86_INS_HADDPD = 210 +UC_X86_INS_HADDPS = 211 +UC_X86_INS_HLT = 212 +UC_X86_INS_HSUBPD = 213 +UC_X86_INS_HSUBPS = 214 +UC_X86_INS_IDIV = 215 +UC_X86_INS_FILD = 216 +UC_X86_INS_IMUL = 217 +UC_X86_INS_IN = 218 +UC_X86_INS_INC = 219 +UC_X86_INS_INSB = 220 +UC_X86_INS_INSERTPS = 221 +UC_X86_INS_INSERTQ = 222 +UC_X86_INS_INSD = 223 +UC_X86_INS_INSW = 224 +UC_X86_INS_INT = 225 +UC_X86_INS_INT1 = 226 +UC_X86_INS_INT3 = 227 +UC_X86_INS_INTO = 228 +UC_X86_INS_INVD = 229 +UC_X86_INS_INVEPT = 230 +UC_X86_INS_INVLPG = 231 +UC_X86_INS_INVLPGA = 232 +UC_X86_INS_INVPCID = 233 +UC_X86_INS_INVVPID = 234 +UC_X86_INS_IRET = 235 +UC_X86_INS_IRETD = 236 +UC_X86_INS_IRETQ = 237 +UC_X86_INS_FISTTP = 238 +UC_X86_INS_FIST = 239 +UC_X86_INS_FISTP = 240 +UC_X86_INS_UCOMISD = 241 +UC_X86_INS_UCOMISS = 242 +UC_X86_INS_VCOMISD = 243 +UC_X86_INS_VCOMISS = 244 +UC_X86_INS_VCVTSD2SS = 245 +UC_X86_INS_VCVTSI2SD = 246 +UC_X86_INS_VCVTSI2SS = 247 +UC_X86_INS_VCVTSS2SD = 248 +UC_X86_INS_VCVTTSD2SI = 249 +UC_X86_INS_VCVTTSD2USI = 250 +UC_X86_INS_VCVTTSS2SI = 251 +UC_X86_INS_VCVTTSS2USI = 252 +UC_X86_INS_VCVTUSI2SD = 253 +UC_X86_INS_VCVTUSI2SS = 254 +UC_X86_INS_VUCOMISD = 255 +UC_X86_INS_VUCOMISS = 256 +UC_X86_INS_JAE = 257 +UC_X86_INS_JA = 258 +UC_X86_INS_JBE = 259 +UC_X86_INS_JB = 260 +UC_X86_INS_JCXZ = 261 +UC_X86_INS_JECXZ = 262 +UC_X86_INS_JE = 263 +UC_X86_INS_JGE = 264 +UC_X86_INS_JG = 265 +UC_X86_INS_JLE = 266 +UC_X86_INS_JL = 267 +UC_X86_INS_JMP = 268 +UC_X86_INS_JNE = 269 +UC_X86_INS_JNO = 270 +UC_X86_INS_JNP = 271 +UC_X86_INS_JNS = 272 +UC_X86_INS_JO = 273 +UC_X86_INS_JP = 274 +UC_X86_INS_JRCXZ = 275 +UC_X86_INS_JS = 276 +UC_X86_INS_KANDB = 277 +UC_X86_INS_KANDD = 278 +UC_X86_INS_KANDNB = 279 +UC_X86_INS_KANDND = 280 +UC_X86_INS_KANDNQ = 281 +UC_X86_INS_KANDNW = 282 +UC_X86_INS_KANDQ = 283 +UC_X86_INS_KANDW = 284 +UC_X86_INS_KMOVB = 285 +UC_X86_INS_KMOVD = 286 +UC_X86_INS_KMOVQ = 287 +UC_X86_INS_KMOVW = 288 +UC_X86_INS_KNOTB = 289 +UC_X86_INS_KNOTD = 290 +UC_X86_INS_KNOTQ = 291 +UC_X86_INS_KNOTW = 292 +UC_X86_INS_KORB = 293 +UC_X86_INS_KORD = 294 +UC_X86_INS_KORQ = 295 +UC_X86_INS_KORTESTB = 296 +UC_X86_INS_KORTESTD = 297 +UC_X86_INS_KORTESTQ = 298 +UC_X86_INS_KORTESTW = 299 +UC_X86_INS_KORW = 300 +UC_X86_INS_KSHIFTLB = 301 +UC_X86_INS_KSHIFTLD = 302 +UC_X86_INS_KSHIFTLQ = 303 +UC_X86_INS_KSHIFTLW = 304 +UC_X86_INS_KSHIFTRB = 305 +UC_X86_INS_KSHIFTRD = 306 +UC_X86_INS_KSHIFTRQ = 307 +UC_X86_INS_KSHIFTRW = 308 +UC_X86_INS_KUNPCKBW = 309 +UC_X86_INS_KXNORB = 310 +UC_X86_INS_KXNORD = 311 +UC_X86_INS_KXNORQ = 312 +UC_X86_INS_KXNORW = 313 +UC_X86_INS_KXORB = 314 +UC_X86_INS_KXORD = 315 +UC_X86_INS_KXORQ = 316 +UC_X86_INS_KXORW = 317 +UC_X86_INS_LAHF = 318 +UC_X86_INS_LAR = 319 +UC_X86_INS_LDDQU = 320 +UC_X86_INS_LDMXCSR = 321 +UC_X86_INS_LDS = 322 +UC_X86_INS_FLDZ = 323 +UC_X86_INS_FLD1 = 324 +UC_X86_INS_FLD = 325 +UC_X86_INS_LEA = 326 +UC_X86_INS_LEAVE = 327 +UC_X86_INS_LES = 328 +UC_X86_INS_LFENCE = 329 +UC_X86_INS_LFS = 330 +UC_X86_INS_LGDT = 331 +UC_X86_INS_LGS = 332 +UC_X86_INS_LIDT = 333 +UC_X86_INS_LLDT = 334 +UC_X86_INS_LMSW = 335 +UC_X86_INS_OR = 336 +UC_X86_INS_SUB = 337 +UC_X86_INS_XOR = 338 +UC_X86_INS_LODSB = 339 +UC_X86_INS_LODSD = 340 +UC_X86_INS_LODSQ = 341 +UC_X86_INS_LODSW = 342 +UC_X86_INS_LOOP = 343 +UC_X86_INS_LOOPE = 344 +UC_X86_INS_LOOPNE = 345 +UC_X86_INS_RETF = 346 +UC_X86_INS_RETFQ = 347 +UC_X86_INS_LSL = 348 +UC_X86_INS_LSS = 349 +UC_X86_INS_LTR = 350 +UC_X86_INS_XADD = 351 +UC_X86_INS_LZCNT = 352 +UC_X86_INS_MASKMOVDQU = 353 +UC_X86_INS_MAXPD = 354 +UC_X86_INS_MAXPS = 355 +UC_X86_INS_MAXSD = 356 +UC_X86_INS_MAXSS = 357 +UC_X86_INS_MFENCE = 358 +UC_X86_INS_MINPD = 359 +UC_X86_INS_MINPS = 360 +UC_X86_INS_MINSD = 361 +UC_X86_INS_MINSS = 362 +UC_X86_INS_CVTPD2PI = 363 +UC_X86_INS_CVTPI2PD = 364 +UC_X86_INS_CVTPI2PS = 365 +UC_X86_INS_CVTPS2PI = 366 +UC_X86_INS_CVTTPD2PI = 367 +UC_X86_INS_CVTTPS2PI = 368 +UC_X86_INS_EMMS = 369 +UC_X86_INS_MASKMOVQ = 370 +UC_X86_INS_MOVD = 371 +UC_X86_INS_MOVDQ2Q = 372 +UC_X86_INS_MOVNTQ = 373 +UC_X86_INS_MOVQ2DQ = 374 +UC_X86_INS_MOVQ = 375 +UC_X86_INS_PABSB = 376 +UC_X86_INS_PABSD = 377 +UC_X86_INS_PABSW = 378 +UC_X86_INS_PACKSSDW = 379 +UC_X86_INS_PACKSSWB = 380 +UC_X86_INS_PACKUSWB = 381 +UC_X86_INS_PADDB = 382 +UC_X86_INS_PADDD = 383 +UC_X86_INS_PADDQ = 384 +UC_X86_INS_PADDSB = 385 +UC_X86_INS_PADDSW = 386 +UC_X86_INS_PADDUSB = 387 +UC_X86_INS_PADDUSW = 388 +UC_X86_INS_PADDW = 389 +UC_X86_INS_PALIGNR = 390 +UC_X86_INS_PANDN = 391 +UC_X86_INS_PAND = 392 +UC_X86_INS_PAVGB = 393 +UC_X86_INS_PAVGW = 394 +UC_X86_INS_PCMPEQB = 395 +UC_X86_INS_PCMPEQD = 396 +UC_X86_INS_PCMPEQW = 397 +UC_X86_INS_PCMPGTB = 398 +UC_X86_INS_PCMPGTD = 399 +UC_X86_INS_PCMPGTW = 400 +UC_X86_INS_PEXTRW = 401 +UC_X86_INS_PHADDSW = 402 +UC_X86_INS_PHADDW = 403 +UC_X86_INS_PHADDD = 404 +UC_X86_INS_PHSUBD = 405 +UC_X86_INS_PHSUBSW = 406 +UC_X86_INS_PHSUBW = 407 +UC_X86_INS_PINSRW = 408 +UC_X86_INS_PMADDUBSW = 409 +UC_X86_INS_PMADDWD = 410 +UC_X86_INS_PMAXSW = 411 +UC_X86_INS_PMAXUB = 412 +UC_X86_INS_PMINSW = 413 +UC_X86_INS_PMINUB = 414 +UC_X86_INS_PMOVMSKB = 415 +UC_X86_INS_PMULHRSW = 416 +UC_X86_INS_PMULHUW = 417 +UC_X86_INS_PMULHW = 418 +UC_X86_INS_PMULLW = 419 +UC_X86_INS_PMULUDQ = 420 +UC_X86_INS_POR = 421 +UC_X86_INS_PSADBW = 422 +UC_X86_INS_PSHUFB = 423 +UC_X86_INS_PSHUFW = 424 +UC_X86_INS_PSIGNB = 425 +UC_X86_INS_PSIGND = 426 +UC_X86_INS_PSIGNW = 427 +UC_X86_INS_PSLLD = 428 +UC_X86_INS_PSLLQ = 429 +UC_X86_INS_PSLLW = 430 +UC_X86_INS_PSRAD = 431 +UC_X86_INS_PSRAW = 432 +UC_X86_INS_PSRLD = 433 +UC_X86_INS_PSRLQ = 434 +UC_X86_INS_PSRLW = 435 +UC_X86_INS_PSUBB = 436 +UC_X86_INS_PSUBD = 437 +UC_X86_INS_PSUBQ = 438 +UC_X86_INS_PSUBSB = 439 +UC_X86_INS_PSUBSW = 440 +UC_X86_INS_PSUBUSB = 441 +UC_X86_INS_PSUBUSW = 442 +UC_X86_INS_PSUBW = 443 +UC_X86_INS_PUNPCKHBW = 444 +UC_X86_INS_PUNPCKHDQ = 445 +UC_X86_INS_PUNPCKHWD = 446 +UC_X86_INS_PUNPCKLBW = 447 +UC_X86_INS_PUNPCKLDQ = 448 +UC_X86_INS_PUNPCKLWD = 449 +UC_X86_INS_PXOR = 450 +UC_X86_INS_MONITOR = 451 +UC_X86_INS_MONTMUL = 452 +UC_X86_INS_MOV = 453 +UC_X86_INS_MOVABS = 454 +UC_X86_INS_MOVBE = 455 +UC_X86_INS_MOVDDUP = 456 +UC_X86_INS_MOVDQA = 457 +UC_X86_INS_MOVDQU = 458 +UC_X86_INS_MOVHLPS = 459 +UC_X86_INS_MOVHPD = 460 +UC_X86_INS_MOVHPS = 461 +UC_X86_INS_MOVLHPS = 462 +UC_X86_INS_MOVLPD = 463 +UC_X86_INS_MOVLPS = 464 +UC_X86_INS_MOVMSKPD = 465 +UC_X86_INS_MOVMSKPS = 466 +UC_X86_INS_MOVNTDQA = 467 +UC_X86_INS_MOVNTDQ = 468 +UC_X86_INS_MOVNTI = 469 +UC_X86_INS_MOVNTPD = 470 +UC_X86_INS_MOVNTPS = 471 +UC_X86_INS_MOVNTSD = 472 +UC_X86_INS_MOVNTSS = 473 +UC_X86_INS_MOVSB = 474 +UC_X86_INS_MOVSD = 475 +UC_X86_INS_MOVSHDUP = 476 +UC_X86_INS_MOVSLDUP = 477 +UC_X86_INS_MOVSQ = 478 +UC_X86_INS_MOVSS = 479 +UC_X86_INS_MOVSW = 480 +UC_X86_INS_MOVSX = 481 +UC_X86_INS_MOVSXD = 482 +UC_X86_INS_MOVUPD = 483 +UC_X86_INS_MOVUPS = 484 +UC_X86_INS_MOVZX = 485 +UC_X86_INS_MPSADBW = 486 +UC_X86_INS_MUL = 487 +UC_X86_INS_MULPD = 488 +UC_X86_INS_MULPS = 489 +UC_X86_INS_MULSD = 490 +UC_X86_INS_MULSS = 491 +UC_X86_INS_MULX = 492 +UC_X86_INS_FMUL = 493 +UC_X86_INS_FIMUL = 494 +UC_X86_INS_FMULP = 495 +UC_X86_INS_MWAIT = 496 +UC_X86_INS_NEG = 497 +UC_X86_INS_NOP = 498 +UC_X86_INS_NOT = 499 +UC_X86_INS_OUT = 500 +UC_X86_INS_OUTSB = 501 +UC_X86_INS_OUTSD = 502 +UC_X86_INS_OUTSW = 503 +UC_X86_INS_PACKUSDW = 504 +UC_X86_INS_PAUSE = 505 +UC_X86_INS_PAVGUSB = 506 +UC_X86_INS_PBLENDVB = 507 +UC_X86_INS_PBLENDW = 508 +UC_X86_INS_PCLMULQDQ = 509 +UC_X86_INS_PCMPEQQ = 510 +UC_X86_INS_PCMPESTRI = 511 +UC_X86_INS_PCMPESTRM = 512 +UC_X86_INS_PCMPGTQ = 513 +UC_X86_INS_PCMPISTRI = 514 +UC_X86_INS_PCMPISTRM = 515 +UC_X86_INS_PCOMMIT = 516 +UC_X86_INS_PDEP = 517 +UC_X86_INS_PEXT = 518 +UC_X86_INS_PEXTRB = 519 +UC_X86_INS_PEXTRD = 520 +UC_X86_INS_PEXTRQ = 521 +UC_X86_INS_PF2ID = 522 +UC_X86_INS_PF2IW = 523 +UC_X86_INS_PFACC = 524 +UC_X86_INS_PFADD = 525 +UC_X86_INS_PFCMPEQ = 526 +UC_X86_INS_PFCMPGE = 527 +UC_X86_INS_PFCMPGT = 528 +UC_X86_INS_PFMAX = 529 +UC_X86_INS_PFMIN = 530 +UC_X86_INS_PFMUL = 531 +UC_X86_INS_PFNACC = 532 +UC_X86_INS_PFPNACC = 533 +UC_X86_INS_PFRCPIT1 = 534 +UC_X86_INS_PFRCPIT2 = 535 +UC_X86_INS_PFRCP = 536 +UC_X86_INS_PFRSQIT1 = 537 +UC_X86_INS_PFRSQRT = 538 +UC_X86_INS_PFSUBR = 539 +UC_X86_INS_PFSUB = 540 +UC_X86_INS_PHMINPOSUW = 541 +UC_X86_INS_PI2FD = 542 +UC_X86_INS_PI2FW = 543 +UC_X86_INS_PINSRB = 544 +UC_X86_INS_PINSRD = 545 +UC_X86_INS_PINSRQ = 546 +UC_X86_INS_PMAXSB = 547 +UC_X86_INS_PMAXSD = 548 +UC_X86_INS_PMAXUD = 549 +UC_X86_INS_PMAXUW = 550 +UC_X86_INS_PMINSB = 551 +UC_X86_INS_PMINSD = 552 +UC_X86_INS_PMINUD = 553 +UC_X86_INS_PMINUW = 554 +UC_X86_INS_PMOVSXBD = 555 +UC_X86_INS_PMOVSXBQ = 556 +UC_X86_INS_PMOVSXBW = 557 +UC_X86_INS_PMOVSXDQ = 558 +UC_X86_INS_PMOVSXWD = 559 +UC_X86_INS_PMOVSXWQ = 560 +UC_X86_INS_PMOVZXBD = 561 +UC_X86_INS_PMOVZXBQ = 562 +UC_X86_INS_PMOVZXBW = 563 +UC_X86_INS_PMOVZXDQ = 564 +UC_X86_INS_PMOVZXWD = 565 +UC_X86_INS_PMOVZXWQ = 566 +UC_X86_INS_PMULDQ = 567 +UC_X86_INS_PMULHRW = 568 +UC_X86_INS_PMULLD = 569 +UC_X86_INS_POP = 570 +UC_X86_INS_POPAW = 571 +UC_X86_INS_POPAL = 572 +UC_X86_INS_POPCNT = 573 +UC_X86_INS_POPF = 574 +UC_X86_INS_POPFD = 575 +UC_X86_INS_POPFQ = 576 +UC_X86_INS_PREFETCH = 577 +UC_X86_INS_PREFETCHNTA = 578 +UC_X86_INS_PREFETCHT0 = 579 +UC_X86_INS_PREFETCHT1 = 580 +UC_X86_INS_PREFETCHT2 = 581 +UC_X86_INS_PREFETCHW = 582 +UC_X86_INS_PSHUFD = 583 +UC_X86_INS_PSHUFHW = 584 +UC_X86_INS_PSHUFLW = 585 +UC_X86_INS_PSLLDQ = 586 +UC_X86_INS_PSRLDQ = 587 +UC_X86_INS_PSWAPD = 588 +UC_X86_INS_PTEST = 589 +UC_X86_INS_PUNPCKHQDQ = 590 +UC_X86_INS_PUNPCKLQDQ = 591 +UC_X86_INS_PUSH = 592 +UC_X86_INS_PUSHAW = 593 +UC_X86_INS_PUSHAL = 594 +UC_X86_INS_PUSHF = 595 +UC_X86_INS_PUSHFD = 596 +UC_X86_INS_PUSHFQ = 597 +UC_X86_INS_RCL = 598 +UC_X86_INS_RCPPS = 599 +UC_X86_INS_RCPSS = 600 +UC_X86_INS_RCR = 601 +UC_X86_INS_RDFSBASE = 602 +UC_X86_INS_RDGSBASE = 603 +UC_X86_INS_RDMSR = 604 +UC_X86_INS_RDPMC = 605 +UC_X86_INS_RDRAND = 606 +UC_X86_INS_RDSEED = 607 +UC_X86_INS_RDTSC = 608 +UC_X86_INS_RDTSCP = 609 +UC_X86_INS_ROL = 610 +UC_X86_INS_ROR = 611 +UC_X86_INS_RORX = 612 +UC_X86_INS_ROUNDPD = 613 +UC_X86_INS_ROUNDPS = 614 +UC_X86_INS_ROUNDSD = 615 +UC_X86_INS_ROUNDSS = 616 +UC_X86_INS_RSM = 617 +UC_X86_INS_RSQRTPS = 618 +UC_X86_INS_RSQRTSS = 619 +UC_X86_INS_SAHF = 620 +UC_X86_INS_SAL = 621 +UC_X86_INS_SALC = 622 +UC_X86_INS_SAR = 623 +UC_X86_INS_SARX = 624 +UC_X86_INS_SBB = 625 +UC_X86_INS_SCASB = 626 +UC_X86_INS_SCASD = 627 +UC_X86_INS_SCASQ = 628 +UC_X86_INS_SCASW = 629 +UC_X86_INS_SETAE = 630 +UC_X86_INS_SETA = 631 +UC_X86_INS_SETBE = 632 +UC_X86_INS_SETB = 633 +UC_X86_INS_SETE = 634 +UC_X86_INS_SETGE = 635 +UC_X86_INS_SETG = 636 +UC_X86_INS_SETLE = 637 +UC_X86_INS_SETL = 638 +UC_X86_INS_SETNE = 639 +UC_X86_INS_SETNO = 640 +UC_X86_INS_SETNP = 641 +UC_X86_INS_SETNS = 642 +UC_X86_INS_SETO = 643 +UC_X86_INS_SETP = 644 +UC_X86_INS_SETS = 645 +UC_X86_INS_SFENCE = 646 +UC_X86_INS_SGDT = 647 +UC_X86_INS_SHA1MSG1 = 648 +UC_X86_INS_SHA1MSG2 = 649 +UC_X86_INS_SHA1NEXTE = 650 +UC_X86_INS_SHA1RNDS4 = 651 +UC_X86_INS_SHA256MSG1 = 652 +UC_X86_INS_SHA256MSG2 = 653 +UC_X86_INS_SHA256RNDS2 = 654 +UC_X86_INS_SHL = 655 +UC_X86_INS_SHLD = 656 +UC_X86_INS_SHLX = 657 +UC_X86_INS_SHR = 658 +UC_X86_INS_SHRD = 659 +UC_X86_INS_SHRX = 660 +UC_X86_INS_SHUFPD = 661 +UC_X86_INS_SHUFPS = 662 +UC_X86_INS_SIDT = 663 +UC_X86_INS_FSIN = 664 +UC_X86_INS_SKINIT = 665 +UC_X86_INS_SLDT = 666 +UC_X86_INS_SMSW = 667 +UC_X86_INS_SQRTPD = 668 +UC_X86_INS_SQRTPS = 669 +UC_X86_INS_SQRTSD = 670 +UC_X86_INS_SQRTSS = 671 +UC_X86_INS_FSQRT = 672 +UC_X86_INS_STAC = 673 +UC_X86_INS_STC = 674 +UC_X86_INS_STD = 675 +UC_X86_INS_STGI = 676 +UC_X86_INS_STI = 677 +UC_X86_INS_STMXCSR = 678 +UC_X86_INS_STOSB = 679 +UC_X86_INS_STOSD = 680 +UC_X86_INS_STOSQ = 681 +UC_X86_INS_STOSW = 682 +UC_X86_INS_STR = 683 +UC_X86_INS_FST = 684 +UC_X86_INS_FSTP = 685 +UC_X86_INS_FSTPNCE = 686 +UC_X86_INS_FXCH = 687 +UC_X86_INS_SUBPD = 688 +UC_X86_INS_SUBPS = 689 +UC_X86_INS_FSUBR = 690 +UC_X86_INS_FISUBR = 691 +UC_X86_INS_FSUBRP = 692 +UC_X86_INS_SUBSD = 693 +UC_X86_INS_SUBSS = 694 +UC_X86_INS_FSUB = 695 +UC_X86_INS_FISUB = 696 +UC_X86_INS_FSUBP = 697 +UC_X86_INS_SWAPGS = 698 +UC_X86_INS_SYSCALL = 699 +UC_X86_INS_SYSENTER = 700 +UC_X86_INS_SYSEXIT = 701 +UC_X86_INS_SYSRET = 702 +UC_X86_INS_T1MSKC = 703 +UC_X86_INS_TEST = 704 +UC_X86_INS_UD2 = 705 +UC_X86_INS_FTST = 706 +UC_X86_INS_TZCNT = 707 +UC_X86_INS_TZMSK = 708 +UC_X86_INS_FUCOMPI = 709 +UC_X86_INS_FUCOMI = 710 +UC_X86_INS_FUCOMPP = 711 +UC_X86_INS_FUCOMP = 712 +UC_X86_INS_FUCOM = 713 +UC_X86_INS_UD2B = 714 +UC_X86_INS_UNPCKHPD = 715 +UC_X86_INS_UNPCKHPS = 716 +UC_X86_INS_UNPCKLPD = 717 +UC_X86_INS_UNPCKLPS = 718 +UC_X86_INS_VADDPD = 719 +UC_X86_INS_VADDPS = 720 +UC_X86_INS_VADDSD = 721 +UC_X86_INS_VADDSS = 722 +UC_X86_INS_VADDSUBPD = 723 +UC_X86_INS_VADDSUBPS = 724 +UC_X86_INS_VAESDECLAST = 725 +UC_X86_INS_VAESDEC = 726 +UC_X86_INS_VAESENCLAST = 727 +UC_X86_INS_VAESENC = 728 +UC_X86_INS_VAESIMC = 729 +UC_X86_INS_VAESKEYGENASSIST = 730 +UC_X86_INS_VALIGND = 731 +UC_X86_INS_VALIGNQ = 732 +UC_X86_INS_VANDNPD = 733 +UC_X86_INS_VANDNPS = 734 +UC_X86_INS_VANDPD = 735 +UC_X86_INS_VANDPS = 736 +UC_X86_INS_VBLENDMPD = 737 +UC_X86_INS_VBLENDMPS = 738 +UC_X86_INS_VBLENDPD = 739 +UC_X86_INS_VBLENDPS = 740 +UC_X86_INS_VBLENDVPD = 741 +UC_X86_INS_VBLENDVPS = 742 +UC_X86_INS_VBROADCASTF128 = 743 +UC_X86_INS_VBROADCASTI32X4 = 744 +UC_X86_INS_VBROADCASTI64X4 = 745 +UC_X86_INS_VBROADCASTSD = 746 +UC_X86_INS_VBROADCASTSS = 747 +UC_X86_INS_VCMPPD = 748 +UC_X86_INS_VCMPPS = 749 +UC_X86_INS_VCMPSD = 750 +UC_X86_INS_VCMPSS = 751 +UC_X86_INS_VCOMPRESSPD = 752 +UC_X86_INS_VCOMPRESSPS = 753 +UC_X86_INS_VCVTDQ2PD = 754 +UC_X86_INS_VCVTDQ2PS = 755 +UC_X86_INS_VCVTPD2DQX = 756 +UC_X86_INS_VCVTPD2DQ = 757 +UC_X86_INS_VCVTPD2PSX = 758 +UC_X86_INS_VCVTPD2PS = 759 +UC_X86_INS_VCVTPD2UDQ = 760 +UC_X86_INS_VCVTPH2PS = 761 +UC_X86_INS_VCVTPS2DQ = 762 +UC_X86_INS_VCVTPS2PD = 763 +UC_X86_INS_VCVTPS2PH = 764 +UC_X86_INS_VCVTPS2UDQ = 765 +UC_X86_INS_VCVTSD2SI = 766 +UC_X86_INS_VCVTSD2USI = 767 +UC_X86_INS_VCVTSS2SI = 768 +UC_X86_INS_VCVTSS2USI = 769 +UC_X86_INS_VCVTTPD2DQX = 770 +UC_X86_INS_VCVTTPD2DQ = 771 +UC_X86_INS_VCVTTPD2UDQ = 772 +UC_X86_INS_VCVTTPS2DQ = 773 +UC_X86_INS_VCVTTPS2UDQ = 774 +UC_X86_INS_VCVTUDQ2PD = 775 +UC_X86_INS_VCVTUDQ2PS = 776 +UC_X86_INS_VDIVPD = 777 +UC_X86_INS_VDIVPS = 778 +UC_X86_INS_VDIVSD = 779 +UC_X86_INS_VDIVSS = 780 +UC_X86_INS_VDPPD = 781 +UC_X86_INS_VDPPS = 782 +UC_X86_INS_VERR = 783 +UC_X86_INS_VERW = 784 +UC_X86_INS_VEXP2PD = 785 +UC_X86_INS_VEXP2PS = 786 +UC_X86_INS_VEXPANDPD = 787 +UC_X86_INS_VEXPANDPS = 788 +UC_X86_INS_VEXTRACTF128 = 789 +UC_X86_INS_VEXTRACTF32X4 = 790 +UC_X86_INS_VEXTRACTF64X4 = 791 +UC_X86_INS_VEXTRACTI128 = 792 +UC_X86_INS_VEXTRACTI32X4 = 793 +UC_X86_INS_VEXTRACTI64X4 = 794 +UC_X86_INS_VEXTRACTPS = 795 +UC_X86_INS_VFMADD132PD = 796 +UC_X86_INS_VFMADD132PS = 797 +UC_X86_INS_VFMADDPD = 798 +UC_X86_INS_VFMADD213PD = 799 +UC_X86_INS_VFMADD231PD = 800 +UC_X86_INS_VFMADDPS = 801 +UC_X86_INS_VFMADD213PS = 802 +UC_X86_INS_VFMADD231PS = 803 +UC_X86_INS_VFMADDSD = 804 +UC_X86_INS_VFMADD213SD = 805 +UC_X86_INS_VFMADD132SD = 806 +UC_X86_INS_VFMADD231SD = 807 +UC_X86_INS_VFMADDSS = 808 +UC_X86_INS_VFMADD213SS = 809 +UC_X86_INS_VFMADD132SS = 810 +UC_X86_INS_VFMADD231SS = 811 +UC_X86_INS_VFMADDSUB132PD = 812 +UC_X86_INS_VFMADDSUB132PS = 813 +UC_X86_INS_VFMADDSUBPD = 814 +UC_X86_INS_VFMADDSUB213PD = 815 +UC_X86_INS_VFMADDSUB231PD = 816 +UC_X86_INS_VFMADDSUBPS = 817 +UC_X86_INS_VFMADDSUB213PS = 818 +UC_X86_INS_VFMADDSUB231PS = 819 +UC_X86_INS_VFMSUB132PD = 820 +UC_X86_INS_VFMSUB132PS = 821 +UC_X86_INS_VFMSUBADD132PD = 822 +UC_X86_INS_VFMSUBADD132PS = 823 +UC_X86_INS_VFMSUBADDPD = 824 +UC_X86_INS_VFMSUBADD213PD = 825 +UC_X86_INS_VFMSUBADD231PD = 826 +UC_X86_INS_VFMSUBADDPS = 827 +UC_X86_INS_VFMSUBADD213PS = 828 +UC_X86_INS_VFMSUBADD231PS = 829 +UC_X86_INS_VFMSUBPD = 830 +UC_X86_INS_VFMSUB213PD = 831 +UC_X86_INS_VFMSUB231PD = 832 +UC_X86_INS_VFMSUBPS = 833 +UC_X86_INS_VFMSUB213PS = 834 +UC_X86_INS_VFMSUB231PS = 835 +UC_X86_INS_VFMSUBSD = 836 +UC_X86_INS_VFMSUB213SD = 837 +UC_X86_INS_VFMSUB132SD = 838 +UC_X86_INS_VFMSUB231SD = 839 +UC_X86_INS_VFMSUBSS = 840 +UC_X86_INS_VFMSUB213SS = 841 +UC_X86_INS_VFMSUB132SS = 842 +UC_X86_INS_VFMSUB231SS = 843 +UC_X86_INS_VFNMADD132PD = 844 +UC_X86_INS_VFNMADD132PS = 845 +UC_X86_INS_VFNMADDPD = 846 +UC_X86_INS_VFNMADD213PD = 847 +UC_X86_INS_VFNMADD231PD = 848 +UC_X86_INS_VFNMADDPS = 849 +UC_X86_INS_VFNMADD213PS = 850 +UC_X86_INS_VFNMADD231PS = 851 +UC_X86_INS_VFNMADDSD = 852 +UC_X86_INS_VFNMADD213SD = 853 +UC_X86_INS_VFNMADD132SD = 854 +UC_X86_INS_VFNMADD231SD = 855 +UC_X86_INS_VFNMADDSS = 856 +UC_X86_INS_VFNMADD213SS = 857 +UC_X86_INS_VFNMADD132SS = 858 +UC_X86_INS_VFNMADD231SS = 859 +UC_X86_INS_VFNMSUB132PD = 860 +UC_X86_INS_VFNMSUB132PS = 861 +UC_X86_INS_VFNMSUBPD = 862 +UC_X86_INS_VFNMSUB213PD = 863 +UC_X86_INS_VFNMSUB231PD = 864 +UC_X86_INS_VFNMSUBPS = 865 +UC_X86_INS_VFNMSUB213PS = 866 +UC_X86_INS_VFNMSUB231PS = 867 +UC_X86_INS_VFNMSUBSD = 868 +UC_X86_INS_VFNMSUB213SD = 869 +UC_X86_INS_VFNMSUB132SD = 870 +UC_X86_INS_VFNMSUB231SD = 871 +UC_X86_INS_VFNMSUBSS = 872 +UC_X86_INS_VFNMSUB213SS = 873 +UC_X86_INS_VFNMSUB132SS = 874 +UC_X86_INS_VFNMSUB231SS = 875 +UC_X86_INS_VFRCZPD = 876 +UC_X86_INS_VFRCZPS = 877 +UC_X86_INS_VFRCZSD = 878 +UC_X86_INS_VFRCZSS = 879 +UC_X86_INS_VORPD = 880 +UC_X86_INS_VORPS = 881 +UC_X86_INS_VXORPD = 882 +UC_X86_INS_VXORPS = 883 +UC_X86_INS_VGATHERDPD = 884 +UC_X86_INS_VGATHERDPS = 885 +UC_X86_INS_VGATHERPF0DPD = 886 +UC_X86_INS_VGATHERPF0DPS = 887 +UC_X86_INS_VGATHERPF0QPD = 888 +UC_X86_INS_VGATHERPF0QPS = 889 +UC_X86_INS_VGATHERPF1DPD = 890 +UC_X86_INS_VGATHERPF1DPS = 891 +UC_X86_INS_VGATHERPF1QPD = 892 +UC_X86_INS_VGATHERPF1QPS = 893 +UC_X86_INS_VGATHERQPD = 894 +UC_X86_INS_VGATHERQPS = 895 +UC_X86_INS_VHADDPD = 896 +UC_X86_INS_VHADDPS = 897 +UC_X86_INS_VHSUBPD = 898 +UC_X86_INS_VHSUBPS = 899 +UC_X86_INS_VINSERTF128 = 900 +UC_X86_INS_VINSERTF32X4 = 901 +UC_X86_INS_VINSERTF32X8 = 902 +UC_X86_INS_VINSERTF64X2 = 903 +UC_X86_INS_VINSERTF64X4 = 904 +UC_X86_INS_VINSERTI128 = 905 +UC_X86_INS_VINSERTI32X4 = 906 +UC_X86_INS_VINSERTI32X8 = 907 +UC_X86_INS_VINSERTI64X2 = 908 +UC_X86_INS_VINSERTI64X4 = 909 +UC_X86_INS_VINSERTPS = 910 +UC_X86_INS_VLDDQU = 911 +UC_X86_INS_VLDMXCSR = 912 +UC_X86_INS_VMASKMOVDQU = 913 +UC_X86_INS_VMASKMOVPD = 914 +UC_X86_INS_VMASKMOVPS = 915 +UC_X86_INS_VMAXPD = 916 +UC_X86_INS_VMAXPS = 917 +UC_X86_INS_VMAXSD = 918 +UC_X86_INS_VMAXSS = 919 +UC_X86_INS_VMCALL = 920 +UC_X86_INS_VMCLEAR = 921 +UC_X86_INS_VMFUNC = 922 +UC_X86_INS_VMINPD = 923 +UC_X86_INS_VMINPS = 924 +UC_X86_INS_VMINSD = 925 +UC_X86_INS_VMINSS = 926 +UC_X86_INS_VMLAUNCH = 927 +UC_X86_INS_VMLOAD = 928 +UC_X86_INS_VMMCALL = 929 +UC_X86_INS_VMOVQ = 930 +UC_X86_INS_VMOVDDUP = 931 +UC_X86_INS_VMOVD = 932 +UC_X86_INS_VMOVDQA32 = 933 +UC_X86_INS_VMOVDQA64 = 934 +UC_X86_INS_VMOVDQA = 935 +UC_X86_INS_VMOVDQU16 = 936 +UC_X86_INS_VMOVDQU32 = 937 +UC_X86_INS_VMOVDQU64 = 938 +UC_X86_INS_VMOVDQU8 = 939 +UC_X86_INS_VMOVDQU = 940 +UC_X86_INS_VMOVHLPS = 941 +UC_X86_INS_VMOVHPD = 942 +UC_X86_INS_VMOVHPS = 943 +UC_X86_INS_VMOVLHPS = 944 +UC_X86_INS_VMOVLPD = 945 +UC_X86_INS_VMOVLPS = 946 +UC_X86_INS_VMOVMSKPD = 947 +UC_X86_INS_VMOVMSKPS = 948 +UC_X86_INS_VMOVNTDQA = 949 +UC_X86_INS_VMOVNTDQ = 950 +UC_X86_INS_VMOVNTPD = 951 +UC_X86_INS_VMOVNTPS = 952 +UC_X86_INS_VMOVSD = 953 +UC_X86_INS_VMOVSHDUP = 954 +UC_X86_INS_VMOVSLDUP = 955 +UC_X86_INS_VMOVSS = 956 +UC_X86_INS_VMOVUPD = 957 +UC_X86_INS_VMOVUPS = 958 +UC_X86_INS_VMPSADBW = 959 +UC_X86_INS_VMPTRLD = 960 +UC_X86_INS_VMPTRST = 961 +UC_X86_INS_VMREAD = 962 +UC_X86_INS_VMRESUME = 963 +UC_X86_INS_VMRUN = 964 +UC_X86_INS_VMSAVE = 965 +UC_X86_INS_VMULPD = 966 +UC_X86_INS_VMULPS = 967 +UC_X86_INS_VMULSD = 968 +UC_X86_INS_VMULSS = 969 +UC_X86_INS_VMWRITE = 970 +UC_X86_INS_VMXOFF = 971 +UC_X86_INS_VMXON = 972 +UC_X86_INS_VPABSB = 973 +UC_X86_INS_VPABSD = 974 +UC_X86_INS_VPABSQ = 975 +UC_X86_INS_VPABSW = 976 +UC_X86_INS_VPACKSSDW = 977 +UC_X86_INS_VPACKSSWB = 978 +UC_X86_INS_VPACKUSDW = 979 +UC_X86_INS_VPACKUSWB = 980 +UC_X86_INS_VPADDB = 981 +UC_X86_INS_VPADDD = 982 +UC_X86_INS_VPADDQ = 983 +UC_X86_INS_VPADDSB = 984 +UC_X86_INS_VPADDSW = 985 +UC_X86_INS_VPADDUSB = 986 +UC_X86_INS_VPADDUSW = 987 +UC_X86_INS_VPADDW = 988 +UC_X86_INS_VPALIGNR = 989 +UC_X86_INS_VPANDD = 990 +UC_X86_INS_VPANDND = 991 +UC_X86_INS_VPANDNQ = 992 +UC_X86_INS_VPANDN = 993 +UC_X86_INS_VPANDQ = 994 +UC_X86_INS_VPAND = 995 +UC_X86_INS_VPAVGB = 996 +UC_X86_INS_VPAVGW = 997 +UC_X86_INS_VPBLENDD = 998 +UC_X86_INS_VPBLENDMB = 999 +UC_X86_INS_VPBLENDMD = 1000 +UC_X86_INS_VPBLENDMQ = 1001 +UC_X86_INS_VPBLENDMW = 1002 +UC_X86_INS_VPBLENDVB = 1003 +UC_X86_INS_VPBLENDW = 1004 +UC_X86_INS_VPBROADCASTB = 1005 +UC_X86_INS_VPBROADCASTD = 1006 +UC_X86_INS_VPBROADCASTMB2Q = 1007 +UC_X86_INS_VPBROADCASTMW2D = 1008 +UC_X86_INS_VPBROADCASTQ = 1009 +UC_X86_INS_VPBROADCASTW = 1010 +UC_X86_INS_VPCLMULQDQ = 1011 +UC_X86_INS_VPCMOV = 1012 +UC_X86_INS_VPCMPB = 1013 +UC_X86_INS_VPCMPD = 1014 +UC_X86_INS_VPCMPEQB = 1015 +UC_X86_INS_VPCMPEQD = 1016 +UC_X86_INS_VPCMPEQQ = 1017 +UC_X86_INS_VPCMPEQW = 1018 +UC_X86_INS_VPCMPESTRI = 1019 +UC_X86_INS_VPCMPESTRM = 1020 +UC_X86_INS_VPCMPGTB = 1021 +UC_X86_INS_VPCMPGTD = 1022 +UC_X86_INS_VPCMPGTQ = 1023 +UC_X86_INS_VPCMPGTW = 1024 +UC_X86_INS_VPCMPISTRI = 1025 +UC_X86_INS_VPCMPISTRM = 1026 +UC_X86_INS_VPCMPQ = 1027 +UC_X86_INS_VPCMPUB = 1028 +UC_X86_INS_VPCMPUD = 1029 +UC_X86_INS_VPCMPUQ = 1030 +UC_X86_INS_VPCMPUW = 1031 +UC_X86_INS_VPCMPW = 1032 +UC_X86_INS_VPCOMB = 1033 +UC_X86_INS_VPCOMD = 1034 +UC_X86_INS_VPCOMPRESSD = 1035 +UC_X86_INS_VPCOMPRESSQ = 1036 +UC_X86_INS_VPCOMQ = 1037 +UC_X86_INS_VPCOMUB = 1038 +UC_X86_INS_VPCOMUD = 1039 +UC_X86_INS_VPCOMUQ = 1040 +UC_X86_INS_VPCOMUW = 1041 +UC_X86_INS_VPCOMW = 1042 +UC_X86_INS_VPCONFLICTD = 1043 +UC_X86_INS_VPCONFLICTQ = 1044 +UC_X86_INS_VPERM2F128 = 1045 +UC_X86_INS_VPERM2I128 = 1046 +UC_X86_INS_VPERMD = 1047 +UC_X86_INS_VPERMI2D = 1048 +UC_X86_INS_VPERMI2PD = 1049 +UC_X86_INS_VPERMI2PS = 1050 +UC_X86_INS_VPERMI2Q = 1051 +UC_X86_INS_VPERMIL2PD = 1052 +UC_X86_INS_VPERMIL2PS = 1053 +UC_X86_INS_VPERMILPD = 1054 +UC_X86_INS_VPERMILPS = 1055 +UC_X86_INS_VPERMPD = 1056 +UC_X86_INS_VPERMPS = 1057 +UC_X86_INS_VPERMQ = 1058 +UC_X86_INS_VPERMT2D = 1059 +UC_X86_INS_VPERMT2PD = 1060 +UC_X86_INS_VPERMT2PS = 1061 +UC_X86_INS_VPERMT2Q = 1062 +UC_X86_INS_VPEXPANDD = 1063 +UC_X86_INS_VPEXPANDQ = 1064 +UC_X86_INS_VPEXTRB = 1065 +UC_X86_INS_VPEXTRD = 1066 +UC_X86_INS_VPEXTRQ = 1067 +UC_X86_INS_VPEXTRW = 1068 +UC_X86_INS_VPGATHERDD = 1069 +UC_X86_INS_VPGATHERDQ = 1070 +UC_X86_INS_VPGATHERQD = 1071 +UC_X86_INS_VPGATHERQQ = 1072 +UC_X86_INS_VPHADDBD = 1073 +UC_X86_INS_VPHADDBQ = 1074 +UC_X86_INS_VPHADDBW = 1075 +UC_X86_INS_VPHADDDQ = 1076 +UC_X86_INS_VPHADDD = 1077 +UC_X86_INS_VPHADDSW = 1078 +UC_X86_INS_VPHADDUBD = 1079 +UC_X86_INS_VPHADDUBQ = 1080 +UC_X86_INS_VPHADDUBW = 1081 +UC_X86_INS_VPHADDUDQ = 1082 +UC_X86_INS_VPHADDUWD = 1083 +UC_X86_INS_VPHADDUWQ = 1084 +UC_X86_INS_VPHADDWD = 1085 +UC_X86_INS_VPHADDWQ = 1086 +UC_X86_INS_VPHADDW = 1087 +UC_X86_INS_VPHMINPOSUW = 1088 +UC_X86_INS_VPHSUBBW = 1089 +UC_X86_INS_VPHSUBDQ = 1090 +UC_X86_INS_VPHSUBD = 1091 +UC_X86_INS_VPHSUBSW = 1092 +UC_X86_INS_VPHSUBWD = 1093 +UC_X86_INS_VPHSUBW = 1094 +UC_X86_INS_VPINSRB = 1095 +UC_X86_INS_VPINSRD = 1096 +UC_X86_INS_VPINSRQ = 1097 +UC_X86_INS_VPINSRW = 1098 +UC_X86_INS_VPLZCNTD = 1099 +UC_X86_INS_VPLZCNTQ = 1100 +UC_X86_INS_VPMACSDD = 1101 +UC_X86_INS_VPMACSDQH = 1102 +UC_X86_INS_VPMACSDQL = 1103 +UC_X86_INS_VPMACSSDD = 1104 +UC_X86_INS_VPMACSSDQH = 1105 +UC_X86_INS_VPMACSSDQL = 1106 +UC_X86_INS_VPMACSSWD = 1107 +UC_X86_INS_VPMACSSWW = 1108 +UC_X86_INS_VPMACSWD = 1109 +UC_X86_INS_VPMACSWW = 1110 +UC_X86_INS_VPMADCSSWD = 1111 +UC_X86_INS_VPMADCSWD = 1112 +UC_X86_INS_VPMADDUBSW = 1113 +UC_X86_INS_VPMADDWD = 1114 +UC_X86_INS_VPMASKMOVD = 1115 +UC_X86_INS_VPMASKMOVQ = 1116 +UC_X86_INS_VPMAXSB = 1117 +UC_X86_INS_VPMAXSD = 1118 +UC_X86_INS_VPMAXSQ = 1119 +UC_X86_INS_VPMAXSW = 1120 +UC_X86_INS_VPMAXUB = 1121 +UC_X86_INS_VPMAXUD = 1122 +UC_X86_INS_VPMAXUQ = 1123 +UC_X86_INS_VPMAXUW = 1124 +UC_X86_INS_VPMINSB = 1125 +UC_X86_INS_VPMINSD = 1126 +UC_X86_INS_VPMINSQ = 1127 +UC_X86_INS_VPMINSW = 1128 +UC_X86_INS_VPMINUB = 1129 +UC_X86_INS_VPMINUD = 1130 +UC_X86_INS_VPMINUQ = 1131 +UC_X86_INS_VPMINUW = 1132 +UC_X86_INS_VPMOVDB = 1133 +UC_X86_INS_VPMOVDW = 1134 +UC_X86_INS_VPMOVM2B = 1135 +UC_X86_INS_VPMOVM2D = 1136 +UC_X86_INS_VPMOVM2Q = 1137 +UC_X86_INS_VPMOVM2W = 1138 +UC_X86_INS_VPMOVMSKB = 1139 +UC_X86_INS_VPMOVQB = 1140 +UC_X86_INS_VPMOVQD = 1141 +UC_X86_INS_VPMOVQW = 1142 +UC_X86_INS_VPMOVSDB = 1143 +UC_X86_INS_VPMOVSDW = 1144 +UC_X86_INS_VPMOVSQB = 1145 +UC_X86_INS_VPMOVSQD = 1146 +UC_X86_INS_VPMOVSQW = 1147 +UC_X86_INS_VPMOVSXBD = 1148 +UC_X86_INS_VPMOVSXBQ = 1149 +UC_X86_INS_VPMOVSXBW = 1150 +UC_X86_INS_VPMOVSXDQ = 1151 +UC_X86_INS_VPMOVSXWD = 1152 +UC_X86_INS_VPMOVSXWQ = 1153 +UC_X86_INS_VPMOVUSDB = 1154 +UC_X86_INS_VPMOVUSDW = 1155 +UC_X86_INS_VPMOVUSQB = 1156 +UC_X86_INS_VPMOVUSQD = 1157 +UC_X86_INS_VPMOVUSQW = 1158 +UC_X86_INS_VPMOVZXBD = 1159 +UC_X86_INS_VPMOVZXBQ = 1160 +UC_X86_INS_VPMOVZXBW = 1161 +UC_X86_INS_VPMOVZXDQ = 1162 +UC_X86_INS_VPMOVZXWD = 1163 +UC_X86_INS_VPMOVZXWQ = 1164 +UC_X86_INS_VPMULDQ = 1165 +UC_X86_INS_VPMULHRSW = 1166 +UC_X86_INS_VPMULHUW = 1167 +UC_X86_INS_VPMULHW = 1168 +UC_X86_INS_VPMULLD = 1169 +UC_X86_INS_VPMULLQ = 1170 +UC_X86_INS_VPMULLW = 1171 +UC_X86_INS_VPMULUDQ = 1172 +UC_X86_INS_VPORD = 1173 +UC_X86_INS_VPORQ = 1174 +UC_X86_INS_VPOR = 1175 +UC_X86_INS_VPPERM = 1176 +UC_X86_INS_VPROTB = 1177 +UC_X86_INS_VPROTD = 1178 +UC_X86_INS_VPROTQ = 1179 +UC_X86_INS_VPROTW = 1180 +UC_X86_INS_VPSADBW = 1181 +UC_X86_INS_VPSCATTERDD = 1182 +UC_X86_INS_VPSCATTERDQ = 1183 +UC_X86_INS_VPSCATTERQD = 1184 +UC_X86_INS_VPSCATTERQQ = 1185 +UC_X86_INS_VPSHAB = 1186 +UC_X86_INS_VPSHAD = 1187 +UC_X86_INS_VPSHAQ = 1188 +UC_X86_INS_VPSHAW = 1189 +UC_X86_INS_VPSHLB = 1190 +UC_X86_INS_VPSHLD = 1191 +UC_X86_INS_VPSHLQ = 1192 +UC_X86_INS_VPSHLW = 1193 +UC_X86_INS_VPSHUFB = 1194 +UC_X86_INS_VPSHUFD = 1195 +UC_X86_INS_VPSHUFHW = 1196 +UC_X86_INS_VPSHUFLW = 1197 +UC_X86_INS_VPSIGNB = 1198 +UC_X86_INS_VPSIGND = 1199 +UC_X86_INS_VPSIGNW = 1200 +UC_X86_INS_VPSLLDQ = 1201 +UC_X86_INS_VPSLLD = 1202 +UC_X86_INS_VPSLLQ = 1203 +UC_X86_INS_VPSLLVD = 1204 +UC_X86_INS_VPSLLVQ = 1205 +UC_X86_INS_VPSLLW = 1206 +UC_X86_INS_VPSRAD = 1207 +UC_X86_INS_VPSRAQ = 1208 +UC_X86_INS_VPSRAVD = 1209 +UC_X86_INS_VPSRAVQ = 1210 +UC_X86_INS_VPSRAW = 1211 +UC_X86_INS_VPSRLDQ = 1212 +UC_X86_INS_VPSRLD = 1213 +UC_X86_INS_VPSRLQ = 1214 +UC_X86_INS_VPSRLVD = 1215 +UC_X86_INS_VPSRLVQ = 1216 +UC_X86_INS_VPSRLW = 1217 +UC_X86_INS_VPSUBB = 1218 +UC_X86_INS_VPSUBD = 1219 +UC_X86_INS_VPSUBQ = 1220 +UC_X86_INS_VPSUBSB = 1221 +UC_X86_INS_VPSUBSW = 1222 +UC_X86_INS_VPSUBUSB = 1223 +UC_X86_INS_VPSUBUSW = 1224 +UC_X86_INS_VPSUBW = 1225 +UC_X86_INS_VPTESTMD = 1226 +UC_X86_INS_VPTESTMQ = 1227 +UC_X86_INS_VPTESTNMD = 1228 +UC_X86_INS_VPTESTNMQ = 1229 +UC_X86_INS_VPTEST = 1230 +UC_X86_INS_VPUNPCKHBW = 1231 +UC_X86_INS_VPUNPCKHDQ = 1232 +UC_X86_INS_VPUNPCKHQDQ = 1233 +UC_X86_INS_VPUNPCKHWD = 1234 +UC_X86_INS_VPUNPCKLBW = 1235 +UC_X86_INS_VPUNPCKLDQ = 1236 +UC_X86_INS_VPUNPCKLQDQ = 1237 +UC_X86_INS_VPUNPCKLWD = 1238 +UC_X86_INS_VPXORD = 1239 +UC_X86_INS_VPXORQ = 1240 +UC_X86_INS_VPXOR = 1241 +UC_X86_INS_VRCP14PD = 1242 +UC_X86_INS_VRCP14PS = 1243 +UC_X86_INS_VRCP14SD = 1244 +UC_X86_INS_VRCP14SS = 1245 +UC_X86_INS_VRCP28PD = 1246 +UC_X86_INS_VRCP28PS = 1247 +UC_X86_INS_VRCP28SD = 1248 +UC_X86_INS_VRCP28SS = 1249 +UC_X86_INS_VRCPPS = 1250 +UC_X86_INS_VRCPSS = 1251 +UC_X86_INS_VRNDSCALEPD = 1252 +UC_X86_INS_VRNDSCALEPS = 1253 +UC_X86_INS_VRNDSCALESD = 1254 +UC_X86_INS_VRNDSCALESS = 1255 +UC_X86_INS_VROUNDPD = 1256 +UC_X86_INS_VROUNDPS = 1257 +UC_X86_INS_VROUNDSD = 1258 +UC_X86_INS_VROUNDSS = 1259 +UC_X86_INS_VRSQRT14PD = 1260 +UC_X86_INS_VRSQRT14PS = 1261 +UC_X86_INS_VRSQRT14SD = 1262 +UC_X86_INS_VRSQRT14SS = 1263 +UC_X86_INS_VRSQRT28PD = 1264 +UC_X86_INS_VRSQRT28PS = 1265 +UC_X86_INS_VRSQRT28SD = 1266 +UC_X86_INS_VRSQRT28SS = 1267 +UC_X86_INS_VRSQRTPS = 1268 +UC_X86_INS_VRSQRTSS = 1269 +UC_X86_INS_VSCATTERDPD = 1270 +UC_X86_INS_VSCATTERDPS = 1271 +UC_X86_INS_VSCATTERPF0DPD = 1272 +UC_X86_INS_VSCATTERPF0DPS = 1273 +UC_X86_INS_VSCATTERPF0QPD = 1274 +UC_X86_INS_VSCATTERPF0QPS = 1275 +UC_X86_INS_VSCATTERPF1DPD = 1276 +UC_X86_INS_VSCATTERPF1DPS = 1277 +UC_X86_INS_VSCATTERPF1QPD = 1278 +UC_X86_INS_VSCATTERPF1QPS = 1279 +UC_X86_INS_VSCATTERQPD = 1280 +UC_X86_INS_VSCATTERQPS = 1281 +UC_X86_INS_VSHUFPD = 1282 +UC_X86_INS_VSHUFPS = 1283 +UC_X86_INS_VSQRTPD = 1284 +UC_X86_INS_VSQRTPS = 1285 +UC_X86_INS_VSQRTSD = 1286 +UC_X86_INS_VSQRTSS = 1287 +UC_X86_INS_VSTMXCSR = 1288 +UC_X86_INS_VSUBPD = 1289 +UC_X86_INS_VSUBPS = 1290 +UC_X86_INS_VSUBSD = 1291 +UC_X86_INS_VSUBSS = 1292 +UC_X86_INS_VTESTPD = 1293 +UC_X86_INS_VTESTPS = 1294 +UC_X86_INS_VUNPCKHPD = 1295 +UC_X86_INS_VUNPCKHPS = 1296 +UC_X86_INS_VUNPCKLPD = 1297 +UC_X86_INS_VUNPCKLPS = 1298 +UC_X86_INS_VZEROALL = 1299 +UC_X86_INS_VZEROUPPER = 1300 +UC_X86_INS_WAIT = 1301 +UC_X86_INS_WBINVD = 1302 +UC_X86_INS_WRFSBASE = 1303 +UC_X86_INS_WRGSBASE = 1304 +UC_X86_INS_WRMSR = 1305 +UC_X86_INS_XABORT = 1306 +UC_X86_INS_XACQUIRE = 1307 +UC_X86_INS_XBEGIN = 1308 +UC_X86_INS_XCHG = 1309 +UC_X86_INS_XCRYPTCBC = 1310 +UC_X86_INS_XCRYPTCFB = 1311 +UC_X86_INS_XCRYPTCTR = 1312 +UC_X86_INS_XCRYPTECB = 1313 +UC_X86_INS_XCRYPTOFB = 1314 +UC_X86_INS_XEND = 1315 +UC_X86_INS_XGETBV = 1316 +UC_X86_INS_XLATB = 1317 +UC_X86_INS_XRELEASE = 1318 +UC_X86_INS_XRSTOR = 1319 +UC_X86_INS_XRSTOR64 = 1320 +UC_X86_INS_XRSTORS = 1321 +UC_X86_INS_XRSTORS64 = 1322 +UC_X86_INS_XSAVE = 1323 +UC_X86_INS_XSAVE64 = 1324 +UC_X86_INS_XSAVEC = 1325 +UC_X86_INS_XSAVEC64 = 1326 +UC_X86_INS_XSAVEOPT = 1327 +UC_X86_INS_XSAVEOPT64 = 1328 +UC_X86_INS_XSAVES = 1329 +UC_X86_INS_XSAVES64 = 1330 +UC_X86_INS_XSETBV = 1331 +UC_X86_INS_XSHA1 = 1332 +UC_X86_INS_XSHA256 = 1333 +UC_X86_INS_XSTORE = 1334 +UC_X86_INS_XTEST = 1335 +UC_X86_INS_FDISI8087_NOP = 1336 +UC_X86_INS_FENI8087_NOP = 1337 +UC_X86_INS_ENDING = 1338 diff --git a/include/unicorn/arm.h b/include/unicorn/arm.h index 4fc96ec6..783e418f 100644 --- a/include/unicorn/arm.h +++ b/include/unicorn/arm.h @@ -13,131 +13,131 @@ extern "C" { #endif //> ARM registers -typedef enum arm_reg { - ARM_REG_INVALID = 0, - ARM_REG_APSR, - ARM_REG_APSR_NZCV, - ARM_REG_CPSR, - ARM_REG_FPEXC, - ARM_REG_FPINST, - ARM_REG_FPSCR, - ARM_REG_FPSCR_NZCV, - ARM_REG_FPSID, - ARM_REG_ITSTATE, - ARM_REG_LR, - ARM_REG_PC, - ARM_REG_SP, - ARM_REG_SPSR, - ARM_REG_D0, - ARM_REG_D1, - ARM_REG_D2, - ARM_REG_D3, - ARM_REG_D4, - ARM_REG_D5, - ARM_REG_D6, - ARM_REG_D7, - ARM_REG_D8, - ARM_REG_D9, - ARM_REG_D10, - ARM_REG_D11, - ARM_REG_D12, - ARM_REG_D13, - ARM_REG_D14, - ARM_REG_D15, - ARM_REG_D16, - ARM_REG_D17, - ARM_REG_D18, - ARM_REG_D19, - ARM_REG_D20, - ARM_REG_D21, - ARM_REG_D22, - ARM_REG_D23, - ARM_REG_D24, - ARM_REG_D25, - ARM_REG_D26, - ARM_REG_D27, - ARM_REG_D28, - ARM_REG_D29, - ARM_REG_D30, - ARM_REG_D31, - ARM_REG_FPINST2, - ARM_REG_MVFR0, - ARM_REG_MVFR1, - ARM_REG_MVFR2, - ARM_REG_Q0, - ARM_REG_Q1, - ARM_REG_Q2, - ARM_REG_Q3, - ARM_REG_Q4, - ARM_REG_Q5, - ARM_REG_Q6, - ARM_REG_Q7, - ARM_REG_Q8, - ARM_REG_Q9, - ARM_REG_Q10, - ARM_REG_Q11, - ARM_REG_Q12, - ARM_REG_Q13, - ARM_REG_Q14, - ARM_REG_Q15, - ARM_REG_R0, - ARM_REG_R1, - ARM_REG_R2, - ARM_REG_R3, - ARM_REG_R4, - ARM_REG_R5, - ARM_REG_R6, - ARM_REG_R7, - ARM_REG_R8, - ARM_REG_R9, - ARM_REG_R10, - ARM_REG_R11, - ARM_REG_R12, - ARM_REG_S0, - ARM_REG_S1, - ARM_REG_S2, - ARM_REG_S3, - ARM_REG_S4, - ARM_REG_S5, - ARM_REG_S6, - ARM_REG_S7, - ARM_REG_S8, - ARM_REG_S9, - ARM_REG_S10, - ARM_REG_S11, - ARM_REG_S12, - ARM_REG_S13, - ARM_REG_S14, - ARM_REG_S15, - ARM_REG_S16, - ARM_REG_S17, - ARM_REG_S18, - ARM_REG_S19, - ARM_REG_S20, - ARM_REG_S21, - ARM_REG_S22, - ARM_REG_S23, - ARM_REG_S24, - ARM_REG_S25, - ARM_REG_S26, - ARM_REG_S27, - ARM_REG_S28, - ARM_REG_S29, - ARM_REG_S30, - ARM_REG_S31, +typedef enum uc_arm_reg { + UC_ARM_REG_INVALID = 0, + UC_ARM_REG_APSR, + UC_ARM_REG_APSR_NZCV, + UC_ARM_REG_CPSR, + UC_ARM_REG_FPEXC, + UC_ARM_REG_FPINST, + UC_ARM_REG_FPSCR, + UC_ARM_REG_FPSCR_NZCV, + UC_ARM_REG_FPSID, + UC_ARM_REG_ITSTATE, + UC_ARM_REG_LR, + UC_ARM_REG_PC, + UC_ARM_REG_SP, + UC_ARM_REG_SPSR, + UC_ARM_REG_D0, + UC_ARM_REG_D1, + UC_ARM_REG_D2, + UC_ARM_REG_D3, + UC_ARM_REG_D4, + UC_ARM_REG_D5, + UC_ARM_REG_D6, + UC_ARM_REG_D7, + UC_ARM_REG_D8, + UC_ARM_REG_D9, + UC_ARM_REG_D10, + UC_ARM_REG_D11, + UC_ARM_REG_D12, + UC_ARM_REG_D13, + UC_ARM_REG_D14, + UC_ARM_REG_D15, + UC_ARM_REG_D16, + UC_ARM_REG_D17, + UC_ARM_REG_D18, + UC_ARM_REG_D19, + UC_ARM_REG_D20, + UC_ARM_REG_D21, + UC_ARM_REG_D22, + UC_ARM_REG_D23, + UC_ARM_REG_D24, + UC_ARM_REG_D25, + UC_ARM_REG_D26, + UC_ARM_REG_D27, + UC_ARM_REG_D28, + UC_ARM_REG_D29, + UC_ARM_REG_D30, + UC_ARM_REG_D31, + UC_ARM_REG_FPINST2, + UC_ARM_REG_MVFR0, + UC_ARM_REG_MVFR1, + UC_ARM_REG_MVFR2, + UC_ARM_REG_Q0, + UC_ARM_REG_Q1, + UC_ARM_REG_Q2, + UC_ARM_REG_Q3, + UC_ARM_REG_Q4, + UC_ARM_REG_Q5, + UC_ARM_REG_Q6, + UC_ARM_REG_Q7, + UC_ARM_REG_Q8, + UC_ARM_REG_Q9, + UC_ARM_REG_Q10, + UC_ARM_REG_Q11, + UC_ARM_REG_Q12, + UC_ARM_REG_Q13, + UC_ARM_REG_Q14, + UC_ARM_REG_Q15, + UC_ARM_REG_R0, + UC_ARM_REG_R1, + UC_ARM_REG_R2, + UC_ARM_REG_R3, + UC_ARM_REG_R4, + UC_ARM_REG_R5, + UC_ARM_REG_R6, + UC_ARM_REG_R7, + UC_ARM_REG_R8, + UC_ARM_REG_R9, + UC_ARM_REG_R10, + UC_ARM_REG_R11, + UC_ARM_REG_R12, + UC_ARM_REG_S0, + UC_ARM_REG_S1, + UC_ARM_REG_S2, + UC_ARM_REG_S3, + UC_ARM_REG_S4, + UC_ARM_REG_S5, + UC_ARM_REG_S6, + UC_ARM_REG_S7, + UC_ARM_REG_S8, + UC_ARM_REG_S9, + UC_ARM_REG_S10, + UC_ARM_REG_S11, + UC_ARM_REG_S12, + UC_ARM_REG_S13, + UC_ARM_REG_S14, + UC_ARM_REG_S15, + UC_ARM_REG_S16, + UC_ARM_REG_S17, + UC_ARM_REG_S18, + UC_ARM_REG_S19, + UC_ARM_REG_S20, + UC_ARM_REG_S21, + UC_ARM_REG_S22, + UC_ARM_REG_S23, + UC_ARM_REG_S24, + UC_ARM_REG_S25, + UC_ARM_REG_S26, + UC_ARM_REG_S27, + UC_ARM_REG_S28, + UC_ARM_REG_S29, + UC_ARM_REG_S30, + UC_ARM_REG_S31, - ARM_REG_ENDING, // <-- mark the end of the list or registers + UC_ARM_REG_ENDING, // <-- mark the end of the list or registers //> alias registers - ARM_REG_R13 = ARM_REG_SP, - ARM_REG_R14 = ARM_REG_LR, - ARM_REG_R15 = ARM_REG_PC, + UC_ARM_REG_R13 = UC_ARM_REG_SP, + UC_ARM_REG_R14 = UC_ARM_REG_LR, + UC_ARM_REG_R15 = UC_ARM_REG_PC, - ARM_REG_SB = ARM_REG_R9, - ARM_REG_SL = ARM_REG_R10, - ARM_REG_FP = ARM_REG_R11, - ARM_REG_IP = ARM_REG_R12, -} arm_reg; + UC_ARM_REG_SB = UC_ARM_REG_R9, + UC_ARM_REG_SL = UC_ARM_REG_R10, + UC_ARM_REG_FP = UC_ARM_REG_R11, + UC_ARM_REG_IP = UC_ARM_REG_R12, +} uc_arm_reg; #ifdef __cplusplus } diff --git a/include/unicorn/arm64.h b/include/unicorn/arm64.h index 3543c371..6f58c300 100644 --- a/include/unicorn/arm64.h +++ b/include/unicorn/arm64.h @@ -13,282 +13,282 @@ extern "C" { #endif //> ARM64 registers -typedef enum arm64_reg { - ARM64_REG_INVALID = 0, +typedef enum uc_arm64_reg { + UC_ARM64_REG_INVALID = 0, - ARM64_REG_X29, - ARM64_REG_X30, - ARM64_REG_NZCV, - ARM64_REG_SP, - ARM64_REG_WSP, - ARM64_REG_WZR, - ARM64_REG_XZR, - ARM64_REG_B0, - ARM64_REG_B1, - ARM64_REG_B2, - ARM64_REG_B3, - ARM64_REG_B4, - ARM64_REG_B5, - ARM64_REG_B6, - ARM64_REG_B7, - ARM64_REG_B8, - ARM64_REG_B9, - ARM64_REG_B10, - ARM64_REG_B11, - ARM64_REG_B12, - ARM64_REG_B13, - ARM64_REG_B14, - ARM64_REG_B15, - ARM64_REG_B16, - ARM64_REG_B17, - ARM64_REG_B18, - ARM64_REG_B19, - ARM64_REG_B20, - ARM64_REG_B21, - ARM64_REG_B22, - ARM64_REG_B23, - ARM64_REG_B24, - ARM64_REG_B25, - ARM64_REG_B26, - ARM64_REG_B27, - ARM64_REG_B28, - ARM64_REG_B29, - ARM64_REG_B30, - ARM64_REG_B31, - ARM64_REG_D0, - ARM64_REG_D1, - ARM64_REG_D2, - ARM64_REG_D3, - ARM64_REG_D4, - ARM64_REG_D5, - ARM64_REG_D6, - ARM64_REG_D7, - ARM64_REG_D8, - ARM64_REG_D9, - ARM64_REG_D10, - ARM64_REG_D11, - ARM64_REG_D12, - ARM64_REG_D13, - ARM64_REG_D14, - ARM64_REG_D15, - ARM64_REG_D16, - ARM64_REG_D17, - ARM64_REG_D18, - ARM64_REG_D19, - ARM64_REG_D20, - ARM64_REG_D21, - ARM64_REG_D22, - ARM64_REG_D23, - ARM64_REG_D24, - ARM64_REG_D25, - ARM64_REG_D26, - ARM64_REG_D27, - ARM64_REG_D28, - ARM64_REG_D29, - ARM64_REG_D30, - ARM64_REG_D31, - ARM64_REG_H0, - ARM64_REG_H1, - ARM64_REG_H2, - ARM64_REG_H3, - ARM64_REG_H4, - ARM64_REG_H5, - ARM64_REG_H6, - ARM64_REG_H7, - ARM64_REG_H8, - ARM64_REG_H9, - ARM64_REG_H10, - ARM64_REG_H11, - ARM64_REG_H12, - ARM64_REG_H13, - ARM64_REG_H14, - ARM64_REG_H15, - ARM64_REG_H16, - ARM64_REG_H17, - ARM64_REG_H18, - ARM64_REG_H19, - ARM64_REG_H20, - ARM64_REG_H21, - ARM64_REG_H22, - ARM64_REG_H23, - ARM64_REG_H24, - ARM64_REG_H25, - ARM64_REG_H26, - ARM64_REG_H27, - ARM64_REG_H28, - ARM64_REG_H29, - ARM64_REG_H30, - ARM64_REG_H31, - ARM64_REG_Q0, - ARM64_REG_Q1, - ARM64_REG_Q2, - ARM64_REG_Q3, - ARM64_REG_Q4, - ARM64_REG_Q5, - ARM64_REG_Q6, - ARM64_REG_Q7, - ARM64_REG_Q8, - ARM64_REG_Q9, - ARM64_REG_Q10, - ARM64_REG_Q11, - ARM64_REG_Q12, - ARM64_REG_Q13, - ARM64_REG_Q14, - ARM64_REG_Q15, - ARM64_REG_Q16, - ARM64_REG_Q17, - ARM64_REG_Q18, - ARM64_REG_Q19, - ARM64_REG_Q20, - ARM64_REG_Q21, - ARM64_REG_Q22, - ARM64_REG_Q23, - ARM64_REG_Q24, - ARM64_REG_Q25, - ARM64_REG_Q26, - ARM64_REG_Q27, - ARM64_REG_Q28, - ARM64_REG_Q29, - ARM64_REG_Q30, - ARM64_REG_Q31, - ARM64_REG_S0, - ARM64_REG_S1, - ARM64_REG_S2, - ARM64_REG_S3, - ARM64_REG_S4, - ARM64_REG_S5, - ARM64_REG_S6, - ARM64_REG_S7, - ARM64_REG_S8, - ARM64_REG_S9, - ARM64_REG_S10, - ARM64_REG_S11, - ARM64_REG_S12, - ARM64_REG_S13, - ARM64_REG_S14, - ARM64_REG_S15, - ARM64_REG_S16, - ARM64_REG_S17, - ARM64_REG_S18, - ARM64_REG_S19, - ARM64_REG_S20, - ARM64_REG_S21, - ARM64_REG_S22, - ARM64_REG_S23, - ARM64_REG_S24, - ARM64_REG_S25, - ARM64_REG_S26, - ARM64_REG_S27, - ARM64_REG_S28, - ARM64_REG_S29, - ARM64_REG_S30, - ARM64_REG_S31, - ARM64_REG_W0, - ARM64_REG_W1, - ARM64_REG_W2, - ARM64_REG_W3, - ARM64_REG_W4, - ARM64_REG_W5, - ARM64_REG_W6, - ARM64_REG_W7, - ARM64_REG_W8, - ARM64_REG_W9, - ARM64_REG_W10, - ARM64_REG_W11, - ARM64_REG_W12, - ARM64_REG_W13, - ARM64_REG_W14, - ARM64_REG_W15, - ARM64_REG_W16, - ARM64_REG_W17, - ARM64_REG_W18, - ARM64_REG_W19, - ARM64_REG_W20, - ARM64_REG_W21, - ARM64_REG_W22, - ARM64_REG_W23, - ARM64_REG_W24, - ARM64_REG_W25, - ARM64_REG_W26, - ARM64_REG_W27, - ARM64_REG_W28, - ARM64_REG_W29, - ARM64_REG_W30, - ARM64_REG_X0, - ARM64_REG_X1, - ARM64_REG_X2, - ARM64_REG_X3, - ARM64_REG_X4, - ARM64_REG_X5, - ARM64_REG_X6, - ARM64_REG_X7, - ARM64_REG_X8, - ARM64_REG_X9, - ARM64_REG_X10, - ARM64_REG_X11, - ARM64_REG_X12, - ARM64_REG_X13, - ARM64_REG_X14, - ARM64_REG_X15, - ARM64_REG_X16, - ARM64_REG_X17, - ARM64_REG_X18, - ARM64_REG_X19, - ARM64_REG_X20, - ARM64_REG_X21, - ARM64_REG_X22, - ARM64_REG_X23, - ARM64_REG_X24, - ARM64_REG_X25, - ARM64_REG_X26, - ARM64_REG_X27, - ARM64_REG_X28, + UC_ARM64_REG_X29, + UC_ARM64_REG_X30, + UC_ARM64_REG_NZCV, + UC_ARM64_REG_SP, + UC_ARM64_REG_WSP, + UC_ARM64_REG_WZR, + UC_ARM64_REG_XZR, + UC_ARM64_REG_B0, + UC_ARM64_REG_B1, + UC_ARM64_REG_B2, + UC_ARM64_REG_B3, + UC_ARM64_REG_B4, + UC_ARM64_REG_B5, + UC_ARM64_REG_B6, + UC_ARM64_REG_B7, + UC_ARM64_REG_B8, + UC_ARM64_REG_B9, + UC_ARM64_REG_B10, + UC_ARM64_REG_B11, + UC_ARM64_REG_B12, + UC_ARM64_REG_B13, + UC_ARM64_REG_B14, + UC_ARM64_REG_B15, + UC_ARM64_REG_B16, + UC_ARM64_REG_B17, + UC_ARM64_REG_B18, + UC_ARM64_REG_B19, + UC_ARM64_REG_B20, + UC_ARM64_REG_B21, + UC_ARM64_REG_B22, + UC_ARM64_REG_B23, + UC_ARM64_REG_B24, + UC_ARM64_REG_B25, + UC_ARM64_REG_B26, + UC_ARM64_REG_B27, + UC_ARM64_REG_B28, + UC_ARM64_REG_B29, + UC_ARM64_REG_B30, + UC_ARM64_REG_B31, + UC_ARM64_REG_D0, + UC_ARM64_REG_D1, + UC_ARM64_REG_D2, + UC_ARM64_REG_D3, + UC_ARM64_REG_D4, + UC_ARM64_REG_D5, + UC_ARM64_REG_D6, + UC_ARM64_REG_D7, + UC_ARM64_REG_D8, + UC_ARM64_REG_D9, + UC_ARM64_REG_D10, + UC_ARM64_REG_D11, + UC_ARM64_REG_D12, + UC_ARM64_REG_D13, + UC_ARM64_REG_D14, + UC_ARM64_REG_D15, + UC_ARM64_REG_D16, + UC_ARM64_REG_D17, + UC_ARM64_REG_D18, + UC_ARM64_REG_D19, + UC_ARM64_REG_D20, + UC_ARM64_REG_D21, + UC_ARM64_REG_D22, + UC_ARM64_REG_D23, + UC_ARM64_REG_D24, + UC_ARM64_REG_D25, + UC_ARM64_REG_D26, + UC_ARM64_REG_D27, + UC_ARM64_REG_D28, + UC_ARM64_REG_D29, + UC_ARM64_REG_D30, + UC_ARM64_REG_D31, + UC_ARM64_REG_H0, + UC_ARM64_REG_H1, + UC_ARM64_REG_H2, + UC_ARM64_REG_H3, + UC_ARM64_REG_H4, + UC_ARM64_REG_H5, + UC_ARM64_REG_H6, + UC_ARM64_REG_H7, + UC_ARM64_REG_H8, + UC_ARM64_REG_H9, + UC_ARM64_REG_H10, + UC_ARM64_REG_H11, + UC_ARM64_REG_H12, + UC_ARM64_REG_H13, + UC_ARM64_REG_H14, + UC_ARM64_REG_H15, + UC_ARM64_REG_H16, + UC_ARM64_REG_H17, + UC_ARM64_REG_H18, + UC_ARM64_REG_H19, + UC_ARM64_REG_H20, + UC_ARM64_REG_H21, + UC_ARM64_REG_H22, + UC_ARM64_REG_H23, + UC_ARM64_REG_H24, + UC_ARM64_REG_H25, + UC_ARM64_REG_H26, + UC_ARM64_REG_H27, + UC_ARM64_REG_H28, + UC_ARM64_REG_H29, + UC_ARM64_REG_H30, + UC_ARM64_REG_H31, + UC_ARM64_REG_Q0, + UC_ARM64_REG_Q1, + UC_ARM64_REG_Q2, + UC_ARM64_REG_Q3, + UC_ARM64_REG_Q4, + UC_ARM64_REG_Q5, + UC_ARM64_REG_Q6, + UC_ARM64_REG_Q7, + UC_ARM64_REG_Q8, + UC_ARM64_REG_Q9, + UC_ARM64_REG_Q10, + UC_ARM64_REG_Q11, + UC_ARM64_REG_Q12, + UC_ARM64_REG_Q13, + UC_ARM64_REG_Q14, + UC_ARM64_REG_Q15, + UC_ARM64_REG_Q16, + UC_ARM64_REG_Q17, + UC_ARM64_REG_Q18, + UC_ARM64_REG_Q19, + UC_ARM64_REG_Q20, + UC_ARM64_REG_Q21, + UC_ARM64_REG_Q22, + UC_ARM64_REG_Q23, + UC_ARM64_REG_Q24, + UC_ARM64_REG_Q25, + UC_ARM64_REG_Q26, + UC_ARM64_REG_Q27, + UC_ARM64_REG_Q28, + UC_ARM64_REG_Q29, + UC_ARM64_REG_Q30, + UC_ARM64_REG_Q31, + UC_ARM64_REG_S0, + UC_ARM64_REG_S1, + UC_ARM64_REG_S2, + UC_ARM64_REG_S3, + UC_ARM64_REG_S4, + UC_ARM64_REG_S5, + UC_ARM64_REG_S6, + UC_ARM64_REG_S7, + UC_ARM64_REG_S8, + UC_ARM64_REG_S9, + UC_ARM64_REG_S10, + UC_ARM64_REG_S11, + UC_ARM64_REG_S12, + UC_ARM64_REG_S13, + UC_ARM64_REG_S14, + UC_ARM64_REG_S15, + UC_ARM64_REG_S16, + UC_ARM64_REG_S17, + UC_ARM64_REG_S18, + UC_ARM64_REG_S19, + UC_ARM64_REG_S20, + UC_ARM64_REG_S21, + UC_ARM64_REG_S22, + UC_ARM64_REG_S23, + UC_ARM64_REG_S24, + UC_ARM64_REG_S25, + UC_ARM64_REG_S26, + UC_ARM64_REG_S27, + UC_ARM64_REG_S28, + UC_ARM64_REG_S29, + UC_ARM64_REG_S30, + UC_ARM64_REG_S31, + UC_ARM64_REG_W0, + UC_ARM64_REG_W1, + UC_ARM64_REG_W2, + UC_ARM64_REG_W3, + UC_ARM64_REG_W4, + UC_ARM64_REG_W5, + UC_ARM64_REG_W6, + UC_ARM64_REG_W7, + UC_ARM64_REG_W8, + UC_ARM64_REG_W9, + UC_ARM64_REG_W10, + UC_ARM64_REG_W11, + UC_ARM64_REG_W12, + UC_ARM64_REG_W13, + UC_ARM64_REG_W14, + UC_ARM64_REG_W15, + UC_ARM64_REG_W16, + UC_ARM64_REG_W17, + UC_ARM64_REG_W18, + UC_ARM64_REG_W19, + UC_ARM64_REG_W20, + UC_ARM64_REG_W21, + UC_ARM64_REG_W22, + UC_ARM64_REG_W23, + UC_ARM64_REG_W24, + UC_ARM64_REG_W25, + UC_ARM64_REG_W26, + UC_ARM64_REG_W27, + UC_ARM64_REG_W28, + UC_ARM64_REG_W29, + UC_ARM64_REG_W30, + UC_ARM64_REG_X0, + UC_ARM64_REG_X1, + UC_ARM64_REG_X2, + UC_ARM64_REG_X3, + UC_ARM64_REG_X4, + UC_ARM64_REG_X5, + UC_ARM64_REG_X6, + UC_ARM64_REG_X7, + UC_ARM64_REG_X8, + UC_ARM64_REG_X9, + UC_ARM64_REG_X10, + UC_ARM64_REG_X11, + UC_ARM64_REG_X12, + UC_ARM64_REG_X13, + UC_ARM64_REG_X14, + UC_ARM64_REG_X15, + UC_ARM64_REG_X16, + UC_ARM64_REG_X17, + UC_ARM64_REG_X18, + UC_ARM64_REG_X19, + UC_ARM64_REG_X20, + UC_ARM64_REG_X21, + UC_ARM64_REG_X22, + UC_ARM64_REG_X23, + UC_ARM64_REG_X24, + UC_ARM64_REG_X25, + UC_ARM64_REG_X26, + UC_ARM64_REG_X27, + UC_ARM64_REG_X28, - ARM64_REG_V0, - ARM64_REG_V1, - ARM64_REG_V2, - ARM64_REG_V3, - ARM64_REG_V4, - ARM64_REG_V5, - ARM64_REG_V6, - ARM64_REG_V7, - ARM64_REG_V8, - ARM64_REG_V9, - ARM64_REG_V10, - ARM64_REG_V11, - ARM64_REG_V12, - ARM64_REG_V13, - ARM64_REG_V14, - ARM64_REG_V15, - ARM64_REG_V16, - ARM64_REG_V17, - ARM64_REG_V18, - ARM64_REG_V19, - ARM64_REG_V20, - ARM64_REG_V21, - ARM64_REG_V22, - ARM64_REG_V23, - ARM64_REG_V24, - ARM64_REG_V25, - ARM64_REG_V26, - ARM64_REG_V27, - ARM64_REG_V28, - ARM64_REG_V29, - ARM64_REG_V30, - ARM64_REG_V31, + UC_ARM64_REG_V0, + UC_ARM64_REG_V1, + UC_ARM64_REG_V2, + UC_ARM64_REG_V3, + UC_ARM64_REG_V4, + UC_ARM64_REG_V5, + UC_ARM64_REG_V6, + UC_ARM64_REG_V7, + UC_ARM64_REG_V8, + UC_ARM64_REG_V9, + UC_ARM64_REG_V10, + UC_ARM64_REG_V11, + UC_ARM64_REG_V12, + UC_ARM64_REG_V13, + UC_ARM64_REG_V14, + UC_ARM64_REG_V15, + UC_ARM64_REG_V16, + UC_ARM64_REG_V17, + UC_ARM64_REG_V18, + UC_ARM64_REG_V19, + UC_ARM64_REG_V20, + UC_ARM64_REG_V21, + UC_ARM64_REG_V22, + UC_ARM64_REG_V23, + UC_ARM64_REG_V24, + UC_ARM64_REG_V25, + UC_ARM64_REG_V26, + UC_ARM64_REG_V27, + UC_ARM64_REG_V28, + UC_ARM64_REG_V29, + UC_ARM64_REG_V30, + UC_ARM64_REG_V31, //> pseudo registers - ARM64_REG_PC, // program counter register + UC_ARM64_REG_PC, // program counter register - ARM64_REG_ENDING, // <-- mark the end of the list of registers + UC_ARM64_REG_ENDING, // <-- mark the end of the list of registers //> alias registers - ARM64_REG_IP1 = ARM64_REG_X16, - ARM64_REG_IP0 = ARM64_REG_X17, - ARM64_REG_FP = ARM64_REG_X29, - ARM64_REG_LR = ARM64_REG_X30, -} arm64_reg; + UC_ARM64_REG_IP1 = UC_ARM64_REG_X16, + UC_ARM64_REG_IP0 = UC_ARM64_REG_X17, + UC_ARM64_REG_FP = UC_ARM64_REG_X29, + UC_ARM64_REG_LR = UC_ARM64_REG_X30, +} uc_arm64_reg; #ifdef __cplusplus } diff --git a/include/unicorn/mips.h b/include/unicorn/mips.h index 0884fbd0..d7072a95 100644 --- a/include/unicorn/mips.h +++ b/include/unicorn/mips.h @@ -17,207 +17,207 @@ extern "C" { #endif //> MIPS registers -typedef enum mips_reg { - MIPS_REG_INVALID = 0, +typedef enum UC_MIPS_REG { + UC_MIPS_REG_INVALID = 0, //> General purpose registers - MIPS_REG_PC, + UC_MIPS_REG_PC, - MIPS_REG_0, - MIPS_REG_1, - MIPS_REG_2, - MIPS_REG_3, - MIPS_REG_4, - MIPS_REG_5, - MIPS_REG_6, - MIPS_REG_7, - MIPS_REG_8, - MIPS_REG_9, - MIPS_REG_10, - MIPS_REG_11, - MIPS_REG_12, - MIPS_REG_13, - MIPS_REG_14, - MIPS_REG_15, - MIPS_REG_16, - MIPS_REG_17, - MIPS_REG_18, - MIPS_REG_19, - MIPS_REG_20, - MIPS_REG_21, - MIPS_REG_22, - MIPS_REG_23, - MIPS_REG_24, - MIPS_REG_25, - MIPS_REG_26, - MIPS_REG_27, - MIPS_REG_28, - MIPS_REG_29, - MIPS_REG_30, - MIPS_REG_31, + UC_MIPS_REG_0, + UC_MIPS_REG_1, + UC_MIPS_REG_2, + UC_MIPS_REG_3, + UC_MIPS_REG_4, + UC_MIPS_REG_5, + UC_MIPS_REG_6, + UC_MIPS_REG_7, + UC_MIPS_REG_8, + UC_MIPS_REG_9, + UC_MIPS_REG_10, + UC_MIPS_REG_11, + UC_MIPS_REG_12, + UC_MIPS_REG_13, + UC_MIPS_REG_14, + UC_MIPS_REG_15, + UC_MIPS_REG_16, + UC_MIPS_REG_17, + UC_MIPS_REG_18, + UC_MIPS_REG_19, + UC_MIPS_REG_20, + UC_MIPS_REG_21, + UC_MIPS_REG_22, + UC_MIPS_REG_23, + UC_MIPS_REG_24, + UC_MIPS_REG_25, + UC_MIPS_REG_26, + UC_MIPS_REG_27, + UC_MIPS_REG_28, + UC_MIPS_REG_29, + UC_MIPS_REG_30, + UC_MIPS_REG_31, //> DSP registers - MIPS_REG_DSPCCOND, - MIPS_REG_DSPCARRY, - MIPS_REG_DSPEFI, - MIPS_REG_DSPOUTFLAG, - MIPS_REG_DSPOUTFLAG16_19, - MIPS_REG_DSPOUTFLAG20, - MIPS_REG_DSPOUTFLAG21, - MIPS_REG_DSPOUTFLAG22, - MIPS_REG_DSPOUTFLAG23, - MIPS_REG_DSPPOS, - MIPS_REG_DSPSCOUNT, + UC_MIPS_REG_DSPCCOND, + UC_MIPS_REG_DSPCARRY, + UC_MIPS_REG_DSPEFI, + UC_MIPS_REG_DSPOUTFLAG, + UC_MIPS_REG_DSPOUTFLAG16_19, + UC_MIPS_REG_DSPOUTFLAG20, + UC_MIPS_REG_DSPOUTFLAG21, + UC_MIPS_REG_DSPOUTFLAG22, + UC_MIPS_REG_DSPOUTFLAG23, + UC_MIPS_REG_DSPPOS, + UC_MIPS_REG_DSPSCOUNT, //> ACC registers - MIPS_REG_AC0, - MIPS_REG_AC1, - MIPS_REG_AC2, - MIPS_REG_AC3, + UC_MIPS_REG_AC0, + UC_MIPS_REG_AC1, + UC_MIPS_REG_AC2, + UC_MIPS_REG_AC3, //> COP registers - MIPS_REG_CC0, - MIPS_REG_CC1, - MIPS_REG_CC2, - MIPS_REG_CC3, - MIPS_REG_CC4, - MIPS_REG_CC5, - MIPS_REG_CC6, - MIPS_REG_CC7, + UC_MIPS_REG_CC0, + UC_MIPS_REG_CC1, + UC_MIPS_REG_CC2, + UC_MIPS_REG_CC3, + UC_MIPS_REG_CC4, + UC_MIPS_REG_CC5, + UC_MIPS_REG_CC6, + UC_MIPS_REG_CC7, //> FPU registers - MIPS_REG_F0, - MIPS_REG_F1, - MIPS_REG_F2, - MIPS_REG_F3, - MIPS_REG_F4, - MIPS_REG_F5, - MIPS_REG_F6, - MIPS_REG_F7, - MIPS_REG_F8, - MIPS_REG_F9, - MIPS_REG_F10, - MIPS_REG_F11, - MIPS_REG_F12, - MIPS_REG_F13, - MIPS_REG_F14, - MIPS_REG_F15, - MIPS_REG_F16, - MIPS_REG_F17, - MIPS_REG_F18, - MIPS_REG_F19, - MIPS_REG_F20, - MIPS_REG_F21, - MIPS_REG_F22, - MIPS_REG_F23, - MIPS_REG_F24, - MIPS_REG_F25, - MIPS_REG_F26, - MIPS_REG_F27, - MIPS_REG_F28, - MIPS_REG_F29, - MIPS_REG_F30, - MIPS_REG_F31, + UC_MIPS_REG_F0, + UC_MIPS_REG_F1, + UC_MIPS_REG_F2, + UC_MIPS_REG_F3, + UC_MIPS_REG_F4, + UC_MIPS_REG_F5, + UC_MIPS_REG_F6, + UC_MIPS_REG_F7, + UC_MIPS_REG_F8, + UC_MIPS_REG_F9, + UC_MIPS_REG_F10, + UC_MIPS_REG_F11, + UC_MIPS_REG_F12, + UC_MIPS_REG_F13, + UC_MIPS_REG_F14, + UC_MIPS_REG_F15, + UC_MIPS_REG_F16, + UC_MIPS_REG_F17, + UC_MIPS_REG_F18, + UC_MIPS_REG_F19, + UC_MIPS_REG_F20, + UC_MIPS_REG_F21, + UC_MIPS_REG_F22, + UC_MIPS_REG_F23, + UC_MIPS_REG_F24, + UC_MIPS_REG_F25, + UC_MIPS_REG_F26, + UC_MIPS_REG_F27, + UC_MIPS_REG_F28, + UC_MIPS_REG_F29, + UC_MIPS_REG_F30, + UC_MIPS_REG_F31, - MIPS_REG_FCC0, - MIPS_REG_FCC1, - MIPS_REG_FCC2, - MIPS_REG_FCC3, - MIPS_REG_FCC4, - MIPS_REG_FCC5, - MIPS_REG_FCC6, - MIPS_REG_FCC7, + UC_MIPS_REG_FCC0, + UC_MIPS_REG_FCC1, + UC_MIPS_REG_FCC2, + UC_MIPS_REG_FCC3, + UC_MIPS_REG_FCC4, + UC_MIPS_REG_FCC5, + UC_MIPS_REG_FCC6, + UC_MIPS_REG_FCC7, //> AFPR128 - MIPS_REG_W0, - MIPS_REG_W1, - MIPS_REG_W2, - MIPS_REG_W3, - MIPS_REG_W4, - MIPS_REG_W5, - MIPS_REG_W6, - MIPS_REG_W7, - MIPS_REG_W8, - MIPS_REG_W9, - MIPS_REG_W10, - MIPS_REG_W11, - MIPS_REG_W12, - MIPS_REG_W13, - MIPS_REG_W14, - MIPS_REG_W15, - MIPS_REG_W16, - MIPS_REG_W17, - MIPS_REG_W18, - MIPS_REG_W19, - MIPS_REG_W20, - MIPS_REG_W21, - MIPS_REG_W22, - MIPS_REG_W23, - MIPS_REG_W24, - MIPS_REG_W25, - MIPS_REG_W26, - MIPS_REG_W27, - MIPS_REG_W28, - MIPS_REG_W29, - MIPS_REG_W30, - MIPS_REG_W31, + UC_MIPS_REG_W0, + UC_MIPS_REG_W1, + UC_MIPS_REG_W2, + UC_MIPS_REG_W3, + UC_MIPS_REG_W4, + UC_MIPS_REG_W5, + UC_MIPS_REG_W6, + UC_MIPS_REG_W7, + UC_MIPS_REG_W8, + UC_MIPS_REG_W9, + UC_MIPS_REG_W10, + UC_MIPS_REG_W11, + UC_MIPS_REG_W12, + UC_MIPS_REG_W13, + UC_MIPS_REG_W14, + UC_MIPS_REG_W15, + UC_MIPS_REG_W16, + UC_MIPS_REG_W17, + UC_MIPS_REG_W18, + UC_MIPS_REG_W19, + UC_MIPS_REG_W20, + UC_MIPS_REG_W21, + UC_MIPS_REG_W22, + UC_MIPS_REG_W23, + UC_MIPS_REG_W24, + UC_MIPS_REG_W25, + UC_MIPS_REG_W26, + UC_MIPS_REG_W27, + UC_MIPS_REG_W28, + UC_MIPS_REG_W29, + UC_MIPS_REG_W30, + UC_MIPS_REG_W31, - MIPS_REG_HI, - MIPS_REG_LO, + UC_MIPS_REG_HI, + UC_MIPS_REG_LO, - MIPS_REG_P0, - MIPS_REG_P1, - MIPS_REG_P2, + UC_MIPS_REG_P0, + UC_MIPS_REG_P1, + UC_MIPS_REG_P2, - MIPS_REG_MPL0, - MIPS_REG_MPL1, - MIPS_REG_MPL2, + UC_MIPS_REG_MPL0, + UC_MIPS_REG_MPL1, + UC_MIPS_REG_MPL2, - MIPS_REG_ENDING, // <-- mark the end of the list or registers + UC_MIPS_REG_ENDING, // <-- mark the end of the list or registers // alias registers - MIPS_REG_ZERO = MIPS_REG_0, - MIPS_REG_AT = MIPS_REG_1, - MIPS_REG_V0 = MIPS_REG_2, - MIPS_REG_V1 = MIPS_REG_3, - MIPS_REG_A0 = MIPS_REG_4, - MIPS_REG_A1 = MIPS_REG_5, - MIPS_REG_A2 = MIPS_REG_6, - MIPS_REG_A3 = MIPS_REG_7, - MIPS_REG_T0 = MIPS_REG_8, - MIPS_REG_T1 = MIPS_REG_9, - MIPS_REG_T2 = MIPS_REG_10, - MIPS_REG_T3 = MIPS_REG_11, - MIPS_REG_T4 = MIPS_REG_12, - MIPS_REG_T5 = MIPS_REG_13, - MIPS_REG_T6 = MIPS_REG_14, - MIPS_REG_T7 = MIPS_REG_15, - MIPS_REG_S0 = MIPS_REG_16, - MIPS_REG_S1 = MIPS_REG_17, - MIPS_REG_S2 = MIPS_REG_18, - MIPS_REG_S3 = MIPS_REG_19, - MIPS_REG_S4 = MIPS_REG_20, - MIPS_REG_S5 = MIPS_REG_21, - MIPS_REG_S6 = MIPS_REG_22, - MIPS_REG_S7 = MIPS_REG_23, - MIPS_REG_T8 = MIPS_REG_24, - MIPS_REG_T9 = MIPS_REG_25, - MIPS_REG_K0 = MIPS_REG_26, - MIPS_REG_K1 = MIPS_REG_27, - MIPS_REG_GP = MIPS_REG_28, - MIPS_REG_SP = MIPS_REG_29, - MIPS_REG_FP = MIPS_REG_30, MIPS_REG_S8 = MIPS_REG_30, - MIPS_REG_RA = MIPS_REG_31, + UC_MIPS_REG_ZERO = UC_MIPS_REG_0, + UC_MIPS_REG_AT = UC_MIPS_REG_1, + UC_MIPS_REG_V0 = UC_MIPS_REG_2, + UC_MIPS_REG_V1 = UC_MIPS_REG_3, + UC_MIPS_REG_A0 = UC_MIPS_REG_4, + UC_MIPS_REG_A1 = UC_MIPS_REG_5, + UC_MIPS_REG_A2 = UC_MIPS_REG_6, + UC_MIPS_REG_A3 = UC_MIPS_REG_7, + UC_MIPS_REG_T0 = UC_MIPS_REG_8, + UC_MIPS_REG_T1 = UC_MIPS_REG_9, + UC_MIPS_REG_T2 = UC_MIPS_REG_10, + UC_MIPS_REG_T3 = UC_MIPS_REG_11, + UC_MIPS_REG_T4 = UC_MIPS_REG_12, + UC_MIPS_REG_T5 = UC_MIPS_REG_13, + UC_MIPS_REG_T6 = UC_MIPS_REG_14, + UC_MIPS_REG_T7 = UC_MIPS_REG_15, + UC_MIPS_REG_S0 = UC_MIPS_REG_16, + UC_MIPS_REG_S1 = UC_MIPS_REG_17, + UC_MIPS_REG_S2 = UC_MIPS_REG_18, + UC_MIPS_REG_S3 = UC_MIPS_REG_19, + UC_MIPS_REG_S4 = UC_MIPS_REG_20, + UC_MIPS_REG_S5 = UC_MIPS_REG_21, + UC_MIPS_REG_S6 = UC_MIPS_REG_22, + UC_MIPS_REG_S7 = UC_MIPS_REG_23, + UC_MIPS_REG_T8 = UC_MIPS_REG_24, + UC_MIPS_REG_T9 = UC_MIPS_REG_25, + UC_MIPS_REG_K0 = UC_MIPS_REG_26, + UC_MIPS_REG_K1 = UC_MIPS_REG_27, + UC_MIPS_REG_GP = UC_MIPS_REG_28, + UC_MIPS_REG_SP = UC_MIPS_REG_29, + UC_MIPS_REG_FP = UC_MIPS_REG_30, UC_MIPS_REG_S8 = UC_MIPS_REG_30, + UC_MIPS_REG_RA = UC_MIPS_REG_31, - MIPS_REG_HI0 = MIPS_REG_AC0, - MIPS_REG_HI1 = MIPS_REG_AC1, - MIPS_REG_HI2 = MIPS_REG_AC2, - MIPS_REG_HI3 = MIPS_REG_AC3, + UC_MIPS_REG_HI0 = UC_MIPS_REG_AC0, + UC_MIPS_REG_HI1 = UC_MIPS_REG_AC1, + UC_MIPS_REG_HI2 = UC_MIPS_REG_AC2, + UC_MIPS_REG_HI3 = UC_MIPS_REG_AC3, - MIPS_REG_LO0 = MIPS_REG_HI0, - MIPS_REG_LO1 = MIPS_REG_HI1, - MIPS_REG_LO2 = MIPS_REG_HI2, - MIPS_REG_LO3 = MIPS_REG_HI3, -} mips_reg; + UC_MIPS_REG_LO0 = UC_MIPS_REG_HI0, + UC_MIPS_REG_LO1 = UC_MIPS_REG_HI1, + UC_MIPS_REG_LO2 = UC_MIPS_REG_HI2, + UC_MIPS_REG_LO3 = UC_MIPS_REG_HI3, +} UC_MIPS_REG; #ifdef __cplusplus } diff --git a/include/unicorn/sparc.h b/include/unicorn/sparc.h index 830347d5..25a1140b 100644 --- a/include/unicorn/sparc.h +++ b/include/unicorn/sparc.h @@ -20,108 +20,108 @@ extern "C" { #endif //> SPARC registers -typedef enum sparc_reg { - SPARC_REG_INVALID = 0, +typedef enum uc_sparc_reg { + UC_SPARC_REG_INVALID = 0, - SPARC_REG_F0, - SPARC_REG_F1, - SPARC_REG_F2, - SPARC_REG_F3, - SPARC_REG_F4, - SPARC_REG_F5, - SPARC_REG_F6, - SPARC_REG_F7, - SPARC_REG_F8, - SPARC_REG_F9, - SPARC_REG_F10, - SPARC_REG_F11, - SPARC_REG_F12, - SPARC_REG_F13, - SPARC_REG_F14, - SPARC_REG_F15, - SPARC_REG_F16, - SPARC_REG_F17, - SPARC_REG_F18, - SPARC_REG_F19, - SPARC_REG_F20, - SPARC_REG_F21, - SPARC_REG_F22, - SPARC_REG_F23, - SPARC_REG_F24, - SPARC_REG_F25, - SPARC_REG_F26, - SPARC_REG_F27, - SPARC_REG_F28, - SPARC_REG_F29, - SPARC_REG_F30, - SPARC_REG_F31, - SPARC_REG_F32, - SPARC_REG_F34, - SPARC_REG_F36, - SPARC_REG_F38, - SPARC_REG_F40, - SPARC_REG_F42, - SPARC_REG_F44, - SPARC_REG_F46, - SPARC_REG_F48, - SPARC_REG_F50, - SPARC_REG_F52, - SPARC_REG_F54, - SPARC_REG_F56, - SPARC_REG_F58, - SPARC_REG_F60, - SPARC_REG_F62, - SPARC_REG_FCC0, // Floating condition codes - SPARC_REG_FCC1, - SPARC_REG_FCC2, - SPARC_REG_FCC3, - SPARC_REG_FP, - SPARC_REG_G0, - SPARC_REG_G1, - SPARC_REG_G2, - SPARC_REG_G3, - SPARC_REG_G4, - SPARC_REG_G5, - SPARC_REG_G6, - SPARC_REG_G7, - SPARC_REG_I0, - SPARC_REG_I1, - SPARC_REG_I2, - SPARC_REG_I3, - SPARC_REG_I4, - SPARC_REG_I5, - SPARC_REG_I7, - SPARC_REG_ICC, // Integer condition codes - SPARC_REG_L0, - SPARC_REG_L1, - SPARC_REG_L2, - SPARC_REG_L3, - SPARC_REG_L4, - SPARC_REG_L5, - SPARC_REG_L6, - SPARC_REG_L7, - SPARC_REG_O0, - SPARC_REG_O1, - SPARC_REG_O2, - SPARC_REG_O3, - SPARC_REG_O4, - SPARC_REG_O5, - SPARC_REG_O7, - SPARC_REG_SP, - SPARC_REG_Y, + UC_SPARC_REG_F0, + UC_SPARC_REG_F1, + UC_SPARC_REG_F2, + UC_SPARC_REG_F3, + UC_SPARC_REG_F4, + UC_SPARC_REG_F5, + UC_SPARC_REG_F6, + UC_SPARC_REG_F7, + UC_SPARC_REG_F8, + UC_SPARC_REG_F9, + UC_SPARC_REG_F10, + UC_SPARC_REG_F11, + UC_SPARC_REG_F12, + UC_SPARC_REG_F13, + UC_SPARC_REG_F14, + UC_SPARC_REG_F15, + UC_SPARC_REG_F16, + UC_SPARC_REG_F17, + UC_SPARC_REG_F18, + UC_SPARC_REG_F19, + UC_SPARC_REG_F20, + UC_SPARC_REG_F21, + UC_SPARC_REG_F22, + UC_SPARC_REG_F23, + UC_SPARC_REG_F24, + UC_SPARC_REG_F25, + UC_SPARC_REG_F26, + UC_SPARC_REG_F27, + UC_SPARC_REG_F28, + UC_SPARC_REG_F29, + UC_SPARC_REG_F30, + UC_SPARC_REG_F31, + UC_SPARC_REG_F32, + UC_SPARC_REG_F34, + UC_SPARC_REG_F36, + UC_SPARC_REG_F38, + UC_SPARC_REG_F40, + UC_SPARC_REG_F42, + UC_SPARC_REG_F44, + UC_SPARC_REG_F46, + UC_SPARC_REG_F48, + UC_SPARC_REG_F50, + UC_SPARC_REG_F52, + UC_SPARC_REG_F54, + UC_SPARC_REG_F56, + UC_SPARC_REG_F58, + UC_SPARC_REG_F60, + UC_SPARC_REG_F62, + UC_SPARC_REG_FCC0, // Floating condition codes + UC_SPARC_REG_FCC1, + UC_SPARC_REG_FCC2, + UC_SPARC_REG_FCC3, + UC_SPARC_REG_FP, + UC_SPARC_REG_G0, + UC_SPARC_REG_G1, + UC_SPARC_REG_G2, + UC_SPARC_REG_G3, + UC_SPARC_REG_G4, + UC_SPARC_REG_G5, + UC_SPARC_REG_G6, + UC_SPARC_REG_G7, + UC_SPARC_REG_I0, + UC_SPARC_REG_I1, + UC_SPARC_REG_I2, + UC_SPARC_REG_I3, + UC_SPARC_REG_I4, + UC_SPARC_REG_I5, + UC_SPARC_REG_I7, + UC_SPARC_REG_ICC, // Integer condition codes + UC_SPARC_REG_L0, + UC_SPARC_REG_L1, + UC_SPARC_REG_L2, + UC_SPARC_REG_L3, + UC_SPARC_REG_L4, + UC_SPARC_REG_L5, + UC_SPARC_REG_L6, + UC_SPARC_REG_L7, + UC_SPARC_REG_O0, + UC_SPARC_REG_O1, + UC_SPARC_REG_O2, + UC_SPARC_REG_O3, + UC_SPARC_REG_O4, + UC_SPARC_REG_O5, + UC_SPARC_REG_O7, + UC_SPARC_REG_SP, + UC_SPARC_REG_Y, // special register - SPARC_REG_XCC, + UC_SPARC_REG_XCC, // pseudo register - SPARC_REG_PC, // program counter register + UC_SPARC_REG_PC, // program counter register - SPARC_REG_ENDING, // <-- mark the end of the list of registers + UC_SPARC_REG_ENDING, // <-- mark the end of the list of registers // extras - SPARC_REG_O6 = SPARC_REG_SP, - SPARC_REG_I6 = SPARC_REG_FP, -} sparc_reg; + UC_SPARC_REG_O6 = UC_SPARC_REG_SP, + UC_SPARC_REG_I6 = UC_SPARC_REG_FP, +} uc_sparc_reg; #ifdef __cplusplus } diff --git a/include/unicorn/x86.h b/include/unicorn/x86.h index 7ca1bcfa..ba6456fb 100644 --- a/include/unicorn/x86.h +++ b/include/unicorn/x86.h @@ -13,1405 +13,1405 @@ extern "C" { typedef void (*uc_cb_insn_syscall_t)(uch handle, void *user_data); //> X86 registers -typedef enum x86_reg { - X86_REG_INVALID = 0, - X86_REG_AH, X86_REG_AL, X86_REG_AX, X86_REG_BH, X86_REG_BL, - X86_REG_BP, X86_REG_BPL, X86_REG_BX, X86_REG_CH, X86_REG_CL, - X86_REG_CS, X86_REG_CX, X86_REG_DH, X86_REG_DI, X86_REG_DIL, - X86_REG_DL, X86_REG_DS, X86_REG_DX, X86_REG_EAX, X86_REG_EBP, - X86_REG_EBX, X86_REG_ECX, X86_REG_EDI, X86_REG_EDX, X86_REG_EFLAGS, - X86_REG_EIP, X86_REG_EIZ, X86_REG_ES, X86_REG_ESI, X86_REG_ESP, - X86_REG_FPSW, X86_REG_FS, X86_REG_GS, X86_REG_IP, X86_REG_RAX, - X86_REG_RBP, X86_REG_RBX, X86_REG_RCX, X86_REG_RDI, X86_REG_RDX, - X86_REG_RIP, X86_REG_RIZ, X86_REG_RSI, X86_REG_RSP, X86_REG_SI, - X86_REG_SIL, X86_REG_SP, X86_REG_SPL, X86_REG_SS, X86_REG_CR0, - X86_REG_CR1, X86_REG_CR2, X86_REG_CR3, X86_REG_CR4, X86_REG_CR5, - X86_REG_CR6, X86_REG_CR7, X86_REG_CR8, X86_REG_CR9, X86_REG_CR10, - X86_REG_CR11, X86_REG_CR12, X86_REG_CR13, X86_REG_CR14, X86_REG_CR15, - X86_REG_DR0, X86_REG_DR1, X86_REG_DR2, X86_REG_DR3, X86_REG_DR4, - X86_REG_DR5, X86_REG_DR6, X86_REG_DR7, X86_REG_DR8, X86_REG_DR9, - X86_REG_DR10, X86_REG_DR11, X86_REG_DR12, X86_REG_DR13, X86_REG_DR14, - X86_REG_DR15, X86_REG_FP0, X86_REG_FP1, X86_REG_FP2, X86_REG_FP3, - X86_REG_FP4, X86_REG_FP5, X86_REG_FP6, X86_REG_FP7, - X86_REG_K0, X86_REG_K1, X86_REG_K2, X86_REG_K3, X86_REG_K4, - X86_REG_K5, X86_REG_K6, X86_REG_K7, X86_REG_MM0, X86_REG_MM1, - X86_REG_MM2, X86_REG_MM3, X86_REG_MM4, X86_REG_MM5, X86_REG_MM6, - X86_REG_MM7, X86_REG_R8, X86_REG_R9, X86_REG_R10, X86_REG_R11, - X86_REG_R12, X86_REG_R13, X86_REG_R14, X86_REG_R15, - X86_REG_ST0, X86_REG_ST1, X86_REG_ST2, X86_REG_ST3, - X86_REG_ST4, X86_REG_ST5, X86_REG_ST6, X86_REG_ST7, - X86_REG_XMM0, X86_REG_XMM1, X86_REG_XMM2, X86_REG_XMM3, X86_REG_XMM4, - X86_REG_XMM5, X86_REG_XMM6, X86_REG_XMM7, X86_REG_XMM8, X86_REG_XMM9, - X86_REG_XMM10, X86_REG_XMM11, X86_REG_XMM12, X86_REG_XMM13, X86_REG_XMM14, - X86_REG_XMM15, X86_REG_XMM16, X86_REG_XMM17, X86_REG_XMM18, X86_REG_XMM19, - X86_REG_XMM20, X86_REG_XMM21, X86_REG_XMM22, X86_REG_XMM23, X86_REG_XMM24, - X86_REG_XMM25, X86_REG_XMM26, X86_REG_XMM27, X86_REG_XMM28, X86_REG_XMM29, - X86_REG_XMM30, X86_REG_XMM31, X86_REG_YMM0, X86_REG_YMM1, X86_REG_YMM2, - X86_REG_YMM3, X86_REG_YMM4, X86_REG_YMM5, X86_REG_YMM6, X86_REG_YMM7, - X86_REG_YMM8, X86_REG_YMM9, X86_REG_YMM10, X86_REG_YMM11, X86_REG_YMM12, - X86_REG_YMM13, X86_REG_YMM14, X86_REG_YMM15, X86_REG_YMM16, X86_REG_YMM17, - X86_REG_YMM18, X86_REG_YMM19, X86_REG_YMM20, X86_REG_YMM21, X86_REG_YMM22, - X86_REG_YMM23, X86_REG_YMM24, X86_REG_YMM25, X86_REG_YMM26, X86_REG_YMM27, - X86_REG_YMM28, X86_REG_YMM29, X86_REG_YMM30, X86_REG_YMM31, X86_REG_ZMM0, - X86_REG_ZMM1, X86_REG_ZMM2, X86_REG_ZMM3, X86_REG_ZMM4, X86_REG_ZMM5, - X86_REG_ZMM6, X86_REG_ZMM7, X86_REG_ZMM8, X86_REG_ZMM9, X86_REG_ZMM10, - X86_REG_ZMM11, X86_REG_ZMM12, X86_REG_ZMM13, X86_REG_ZMM14, X86_REG_ZMM15, - X86_REG_ZMM16, X86_REG_ZMM17, X86_REG_ZMM18, X86_REG_ZMM19, X86_REG_ZMM20, - X86_REG_ZMM21, X86_REG_ZMM22, X86_REG_ZMM23, X86_REG_ZMM24, X86_REG_ZMM25, - X86_REG_ZMM26, X86_REG_ZMM27, X86_REG_ZMM28, X86_REG_ZMM29, X86_REG_ZMM30, - X86_REG_ZMM31, X86_REG_R8B, X86_REG_R9B, X86_REG_R10B, X86_REG_R11B, - X86_REG_R12B, X86_REG_R13B, X86_REG_R14B, X86_REG_R15B, X86_REG_R8D, - X86_REG_R9D, X86_REG_R10D, X86_REG_R11D, X86_REG_R12D, X86_REG_R13D, - X86_REG_R14D, X86_REG_R15D, X86_REG_R8W, X86_REG_R9W, X86_REG_R10W, - X86_REG_R11W, X86_REG_R12W, X86_REG_R13W, X86_REG_R14W, X86_REG_R15W, +typedef enum uc_x86_reg { + UC_X86_REG_INVALID = 0, + UC_X86_REG_AH, UC_X86_REG_AL, UC_X86_REG_AX, UC_X86_REG_BH, UC_X86_REG_BL, + UC_X86_REG_BP, UC_X86_REG_BPL, UC_X86_REG_BX, UC_X86_REG_CH, UC_X86_REG_CL, + UC_X86_REG_CS, UC_X86_REG_CX, UC_X86_REG_DH, UC_X86_REG_DI, UC_X86_REG_DIL, + UC_X86_REG_DL, UC_X86_REG_DS, UC_X86_REG_DX, UC_X86_REG_EAX, UC_X86_REG_EBP, + UC_X86_REG_EBX, UC_X86_REG_ECX, UC_X86_REG_EDI, UC_X86_REG_EDX, UC_X86_REG_EFLAGS, + UC_X86_REG_EIP, UC_X86_REG_EIZ, UC_X86_REG_ES, UC_X86_REG_ESI, UC_X86_REG_ESP, + UC_X86_REG_FPSW, UC_X86_REG_FPCW, UC_X86_REG_FPIP, UC_X86_REG_FS, UC_X86_REG_GS, UC_X86_REG_IP, UC_X86_REG_RAX, + UC_X86_REG_RBP, UC_X86_REG_RBX, UC_X86_REG_RCX, UC_X86_REG_RDI, UC_X86_REG_RDX, + UC_X86_REG_RIP, UC_X86_REG_RIZ, UC_X86_REG_RSI, UC_X86_REG_RSP, UC_X86_REG_SI, + UC_X86_REG_SIL, UC_X86_REG_SP, UC_X86_REG_SPL, UC_X86_REG_SS, UC_X86_REG_CR0, + UC_X86_REG_CR1, UC_X86_REG_CR2, UC_X86_REG_CR3, UC_X86_REG_CR4, UC_X86_REG_CR5, + UC_X86_REG_CR6, UC_X86_REG_CR7, UC_X86_REG_CR8, UC_X86_REG_CR9, UC_X86_REG_CR10, + UC_X86_REG_CR11, UC_X86_REG_CR12, UC_X86_REG_CR13, UC_X86_REG_CR14, UC_X86_REG_CR15, + UC_X86_REG_DR0, UC_X86_REG_DR1, UC_X86_REG_DR2, UC_X86_REG_DR3, UC_X86_REG_DR4, + UC_X86_REG_DR5, UC_X86_REG_DR6, UC_X86_REG_DR7, UC_X86_REG_DR8, UC_X86_REG_DR9, + UC_X86_REG_DR10, UC_X86_REG_DR11, UC_X86_REG_DR12, UC_X86_REG_DR13, UC_X86_REG_DR14, + UC_X86_REG_DR15, UC_X86_REG_FP0, UC_X86_REG_FP1, UC_X86_REG_FP2, UC_X86_REG_FP3, + UC_X86_REG_FP4, UC_X86_REG_FP5, UC_X86_REG_FP6, UC_X86_REG_FP7, + UC_X86_REG_K0, UC_X86_REG_K1, UC_X86_REG_K2, UC_X86_REG_K3, UC_X86_REG_K4, + UC_X86_REG_K5, UC_X86_REG_K6, UC_X86_REG_K7, UC_X86_REG_MM0, UC_X86_REG_MM1, + UC_X86_REG_MM2, UC_X86_REG_MM3, UC_X86_REG_MM4, UC_X86_REG_MM5, UC_X86_REG_MM6, + UC_X86_REG_MM7, UC_X86_REG_R8, UC_X86_REG_R9, UC_X86_REG_R10, UC_X86_REG_R11, + UC_X86_REG_R12, UC_X86_REG_R13, UC_X86_REG_R14, UC_X86_REG_R15, + UC_X86_REG_ST0, UC_X86_REG_ST1, UC_X86_REG_ST2, UC_X86_REG_ST3, + UC_X86_REG_ST4, UC_X86_REG_ST5, UC_X86_REG_ST6, UC_X86_REG_ST7, + UC_X86_REG_XMM0, UC_X86_REG_XMM1, UC_X86_REG_XMM2, UC_X86_REG_XMM3, UC_X86_REG_XMM4, + UC_X86_REG_XMM5, UC_X86_REG_XMM6, UC_X86_REG_XMM7, UC_X86_REG_XMM8, UC_X86_REG_XMM9, + UC_X86_REG_XMM10, UC_X86_REG_XMM11, UC_X86_REG_XMM12, UC_X86_REG_XMM13, UC_X86_REG_XMM14, + UC_X86_REG_XMM15, UC_X86_REG_XMM16, UC_X86_REG_XMM17, UC_X86_REG_XMM18, UC_X86_REG_XMM19, + UC_X86_REG_XMM20, UC_X86_REG_XMM21, UC_X86_REG_XMM22, UC_X86_REG_XMM23, UC_X86_REG_XMM24, + UC_X86_REG_XMM25, UC_X86_REG_XMM26, UC_X86_REG_XMM27, UC_X86_REG_XMM28, UC_X86_REG_XMM29, + UC_X86_REG_XMM30, UC_X86_REG_XMM31, UC_X86_REG_YMM0, UC_X86_REG_YMM1, UC_X86_REG_YMM2, + UC_X86_REG_YMM3, UC_X86_REG_YMM4, UC_X86_REG_YMM5, UC_X86_REG_YMM6, UC_X86_REG_YMM7, + UC_X86_REG_YMM8, UC_X86_REG_YMM9, UC_X86_REG_YMM10, UC_X86_REG_YMM11, UC_X86_REG_YMM12, + UC_X86_REG_YMM13, UC_X86_REG_YMM14, UC_X86_REG_YMM15, UC_X86_REG_YMM16, UC_X86_REG_YMM17, + UC_X86_REG_YMM18, UC_X86_REG_YMM19, UC_X86_REG_YMM20, UC_X86_REG_YMM21, UC_X86_REG_YMM22, + UC_X86_REG_YMM23, UC_X86_REG_YMM24, UC_X86_REG_YMM25, UC_X86_REG_YMM26, UC_X86_REG_YMM27, + UC_X86_REG_YMM28, UC_X86_REG_YMM29, UC_X86_REG_YMM30, UC_X86_REG_YMM31, UC_X86_REG_ZMM0, + UC_X86_REG_ZMM1, UC_X86_REG_ZMM2, UC_X86_REG_ZMM3, UC_X86_REG_ZMM4, UC_X86_REG_ZMM5, + UC_X86_REG_ZMM6, UC_X86_REG_ZMM7, UC_X86_REG_ZMM8, UC_X86_REG_ZMM9, UC_X86_REG_ZMM10, + UC_X86_REG_ZMM11, UC_X86_REG_ZMM12, UC_X86_REG_ZMM13, UC_X86_REG_ZMM14, UC_X86_REG_ZMM15, + UC_X86_REG_ZMM16, UC_X86_REG_ZMM17, UC_X86_REG_ZMM18, UC_X86_REG_ZMM19, UC_X86_REG_ZMM20, + UC_X86_REG_ZMM21, UC_X86_REG_ZMM22, UC_X86_REG_ZMM23, UC_X86_REG_ZMM24, UC_X86_REG_ZMM25, + UC_X86_REG_ZMM26, UC_X86_REG_ZMM27, UC_X86_REG_ZMM28, UC_X86_REG_ZMM29, UC_X86_REG_ZMM30, + UC_X86_REG_ZMM31, UC_X86_REG_R8B, UC_X86_REG_R9B, UC_X86_REG_R10B, UC_X86_REG_R11B, + UC_X86_REG_R12B, UC_X86_REG_R13B, UC_X86_REG_R14B, UC_X86_REG_R15B, UC_X86_REG_R8D, + UC_X86_REG_R9D, UC_X86_REG_R10D, UC_X86_REG_R11D, UC_X86_REG_R12D, UC_X86_REG_R13D, + UC_X86_REG_R14D, UC_X86_REG_R15D, UC_X86_REG_R8W, UC_X86_REG_R9W, UC_X86_REG_R10W, + UC_X86_REG_R11W, UC_X86_REG_R12W, UC_X86_REG_R13W, UC_X86_REG_R14W, UC_X86_REG_R15W, - X86_REG_ENDING // <-- mark the end of the list of registers -} x86_reg; + UC_X86_REG_ENDING // <-- mark the end of the list of registers +} uc_x86_reg; //> X86 instructions -typedef enum x86_insn { - X86_INS_INVALID = 0, +typedef enum uc_x86_insn { + UC_X86_INS_INVALID = 0, - X86_INS_AAA, - X86_INS_AAD, - X86_INS_AAM, - X86_INS_AAS, - X86_INS_FABS, - X86_INS_ADC, - X86_INS_ADCX, - X86_INS_ADD, - X86_INS_ADDPD, - X86_INS_ADDPS, - X86_INS_ADDSD, - X86_INS_ADDSS, - X86_INS_ADDSUBPD, - X86_INS_ADDSUBPS, - X86_INS_FADD, - X86_INS_FIADD, - X86_INS_FADDP, - X86_INS_ADOX, - X86_INS_AESDECLAST, - X86_INS_AESDEC, - X86_INS_AESENCLAST, - X86_INS_AESENC, - X86_INS_AESIMC, - X86_INS_AESKEYGENASSIST, - X86_INS_AND, - X86_INS_ANDN, - X86_INS_ANDNPD, - X86_INS_ANDNPS, - X86_INS_ANDPD, - X86_INS_ANDPS, - X86_INS_ARPL, - X86_INS_BEXTR, - X86_INS_BLCFILL, - X86_INS_BLCI, - X86_INS_BLCIC, - X86_INS_BLCMSK, - X86_INS_BLCS, - X86_INS_BLENDPD, - X86_INS_BLENDPS, - X86_INS_BLENDVPD, - X86_INS_BLENDVPS, - X86_INS_BLSFILL, - X86_INS_BLSI, - X86_INS_BLSIC, - X86_INS_BLSMSK, - X86_INS_BLSR, - X86_INS_BOUND, - X86_INS_BSF, - X86_INS_BSR, - X86_INS_BSWAP, - X86_INS_BT, - X86_INS_BTC, - X86_INS_BTR, - X86_INS_BTS, - X86_INS_BZHI, - X86_INS_CALL, - X86_INS_CBW, - X86_INS_CDQ, - X86_INS_CDQE, - X86_INS_FCHS, - X86_INS_CLAC, - X86_INS_CLC, - X86_INS_CLD, - X86_INS_CLFLUSH, - X86_INS_CLFLUSHOPT, - X86_INS_CLGI, - X86_INS_CLI, - X86_INS_CLTS, - X86_INS_CLWB, - X86_INS_CMC, - X86_INS_CMOVA, - X86_INS_CMOVAE, - X86_INS_CMOVB, - X86_INS_CMOVBE, - X86_INS_FCMOVBE, - X86_INS_FCMOVB, - X86_INS_CMOVE, - X86_INS_FCMOVE, - X86_INS_CMOVG, - X86_INS_CMOVGE, - X86_INS_CMOVL, - X86_INS_CMOVLE, - X86_INS_FCMOVNBE, - X86_INS_FCMOVNB, - X86_INS_CMOVNE, - X86_INS_FCMOVNE, - X86_INS_CMOVNO, - X86_INS_CMOVNP, - X86_INS_FCMOVNU, - X86_INS_CMOVNS, - X86_INS_CMOVO, - X86_INS_CMOVP, - X86_INS_FCMOVU, - X86_INS_CMOVS, - X86_INS_CMP, - X86_INS_CMPPD, - X86_INS_CMPPS, - X86_INS_CMPSB, - X86_INS_CMPSD, - X86_INS_CMPSQ, - X86_INS_CMPSS, - X86_INS_CMPSW, - X86_INS_CMPXCHG16B, - X86_INS_CMPXCHG, - X86_INS_CMPXCHG8B, - X86_INS_COMISD, - X86_INS_COMISS, - X86_INS_FCOMP, - X86_INS_FCOMPI, - X86_INS_FCOMI, - X86_INS_FCOM, - X86_INS_FCOS, - X86_INS_CPUID, - X86_INS_CQO, - X86_INS_CRC32, - X86_INS_CVTDQ2PD, - X86_INS_CVTDQ2PS, - X86_INS_CVTPD2DQ, - X86_INS_CVTPD2PS, - X86_INS_CVTPS2DQ, - X86_INS_CVTPS2PD, - X86_INS_CVTSD2SI, - X86_INS_CVTSD2SS, - X86_INS_CVTSI2SD, - X86_INS_CVTSI2SS, - X86_INS_CVTSS2SD, - X86_INS_CVTSS2SI, - X86_INS_CVTTPD2DQ, - X86_INS_CVTTPS2DQ, - X86_INS_CVTTSD2SI, - X86_INS_CVTTSS2SI, - X86_INS_CWD, - X86_INS_CWDE, - X86_INS_DAA, - X86_INS_DAS, - X86_INS_DATA16, - X86_INS_DEC, - X86_INS_DIV, - X86_INS_DIVPD, - X86_INS_DIVPS, - X86_INS_FDIVR, - X86_INS_FIDIVR, - X86_INS_FDIVRP, - X86_INS_DIVSD, - X86_INS_DIVSS, - X86_INS_FDIV, - X86_INS_FIDIV, - X86_INS_FDIVP, - X86_INS_DPPD, - X86_INS_DPPS, - X86_INS_RET, - X86_INS_ENCLS, - X86_INS_ENCLU, - X86_INS_ENTER, - X86_INS_EXTRACTPS, - X86_INS_EXTRQ, - X86_INS_F2XM1, - X86_INS_LCALL, - X86_INS_LJMP, - X86_INS_FBLD, - X86_INS_FBSTP, - X86_INS_FCOMPP, - X86_INS_FDECSTP, - X86_INS_FEMMS, - X86_INS_FFREE, - X86_INS_FICOM, - X86_INS_FICOMP, - X86_INS_FINCSTP, - X86_INS_FLDCW, - X86_INS_FLDENV, - X86_INS_FLDL2E, - X86_INS_FLDL2T, - X86_INS_FLDLG2, - X86_INS_FLDLN2, - X86_INS_FLDPI, - X86_INS_FNCLEX, - X86_INS_FNINIT, - X86_INS_FNOP, - X86_INS_FNSTCW, - X86_INS_FNSTSW, - X86_INS_FPATAN, - X86_INS_FPREM, - X86_INS_FPREM1, - X86_INS_FPTAN, - X86_INS_FFREEP, - X86_INS_FRNDINT, - X86_INS_FRSTOR, - X86_INS_FNSAVE, - X86_INS_FSCALE, - X86_INS_FSETPM, - X86_INS_FSINCOS, - X86_INS_FNSTENV, - X86_INS_FXAM, - X86_INS_FXRSTOR, - X86_INS_FXRSTOR64, - X86_INS_FXSAVE, - X86_INS_FXSAVE64, - X86_INS_FXTRACT, - X86_INS_FYL2X, - X86_INS_FYL2XP1, - X86_INS_MOVAPD, - X86_INS_MOVAPS, - X86_INS_ORPD, - X86_INS_ORPS, - X86_INS_VMOVAPD, - X86_INS_VMOVAPS, - X86_INS_XORPD, - X86_INS_XORPS, - X86_INS_GETSEC, - X86_INS_HADDPD, - X86_INS_HADDPS, - X86_INS_HLT, - X86_INS_HSUBPD, - X86_INS_HSUBPS, - X86_INS_IDIV, - X86_INS_FILD, - X86_INS_IMUL, - X86_INS_IN, - X86_INS_INC, - X86_INS_INSB, - X86_INS_INSERTPS, - X86_INS_INSERTQ, - X86_INS_INSD, - X86_INS_INSW, - X86_INS_INT, - X86_INS_INT1, - X86_INS_INT3, - X86_INS_INTO, - X86_INS_INVD, - X86_INS_INVEPT, - X86_INS_INVLPG, - X86_INS_INVLPGA, - X86_INS_INVPCID, - X86_INS_INVVPID, - X86_INS_IRET, - X86_INS_IRETD, - X86_INS_IRETQ, - X86_INS_FISTTP, - X86_INS_FIST, - X86_INS_FISTP, - X86_INS_UCOMISD, - X86_INS_UCOMISS, - X86_INS_VCOMISD, - X86_INS_VCOMISS, - X86_INS_VCVTSD2SS, - X86_INS_VCVTSI2SD, - X86_INS_VCVTSI2SS, - X86_INS_VCVTSS2SD, - X86_INS_VCVTTSD2SI, - X86_INS_VCVTTSD2USI, - X86_INS_VCVTTSS2SI, - X86_INS_VCVTTSS2USI, - X86_INS_VCVTUSI2SD, - X86_INS_VCVTUSI2SS, - X86_INS_VUCOMISD, - X86_INS_VUCOMISS, - X86_INS_JAE, - X86_INS_JA, - X86_INS_JBE, - X86_INS_JB, - X86_INS_JCXZ, - X86_INS_JECXZ, - X86_INS_JE, - X86_INS_JGE, - X86_INS_JG, - X86_INS_JLE, - X86_INS_JL, - X86_INS_JMP, - X86_INS_JNE, - X86_INS_JNO, - X86_INS_JNP, - X86_INS_JNS, - X86_INS_JO, - X86_INS_JP, - X86_INS_JRCXZ, - X86_INS_JS, - X86_INS_KANDB, - X86_INS_KANDD, - X86_INS_KANDNB, - X86_INS_KANDND, - X86_INS_KANDNQ, - X86_INS_KANDNW, - X86_INS_KANDQ, - X86_INS_KANDW, - X86_INS_KMOVB, - X86_INS_KMOVD, - X86_INS_KMOVQ, - X86_INS_KMOVW, - X86_INS_KNOTB, - X86_INS_KNOTD, - X86_INS_KNOTQ, - X86_INS_KNOTW, - X86_INS_KORB, - X86_INS_KORD, - X86_INS_KORQ, - X86_INS_KORTESTB, - X86_INS_KORTESTD, - X86_INS_KORTESTQ, - X86_INS_KORTESTW, - X86_INS_KORW, - X86_INS_KSHIFTLB, - X86_INS_KSHIFTLD, - X86_INS_KSHIFTLQ, - X86_INS_KSHIFTLW, - X86_INS_KSHIFTRB, - X86_INS_KSHIFTRD, - X86_INS_KSHIFTRQ, - X86_INS_KSHIFTRW, - X86_INS_KUNPCKBW, - X86_INS_KXNORB, - X86_INS_KXNORD, - X86_INS_KXNORQ, - X86_INS_KXNORW, - X86_INS_KXORB, - X86_INS_KXORD, - X86_INS_KXORQ, - X86_INS_KXORW, - X86_INS_LAHF, - X86_INS_LAR, - X86_INS_LDDQU, - X86_INS_LDMXCSR, - X86_INS_LDS, - X86_INS_FLDZ, - X86_INS_FLD1, - X86_INS_FLD, - X86_INS_LEA, - X86_INS_LEAVE, - X86_INS_LES, - X86_INS_LFENCE, - X86_INS_LFS, - X86_INS_LGDT, - X86_INS_LGS, - X86_INS_LIDT, - X86_INS_LLDT, - X86_INS_LMSW, - X86_INS_OR, - X86_INS_SUB, - X86_INS_XOR, - X86_INS_LODSB, - X86_INS_LODSD, - X86_INS_LODSQ, - X86_INS_LODSW, - X86_INS_LOOP, - X86_INS_LOOPE, - X86_INS_LOOPNE, - X86_INS_RETF, - X86_INS_RETFQ, - X86_INS_LSL, - X86_INS_LSS, - X86_INS_LTR, - X86_INS_XADD, - X86_INS_LZCNT, - X86_INS_MASKMOVDQU, - X86_INS_MAXPD, - X86_INS_MAXPS, - X86_INS_MAXSD, - X86_INS_MAXSS, - X86_INS_MFENCE, - X86_INS_MINPD, - X86_INS_MINPS, - X86_INS_MINSD, - X86_INS_MINSS, - X86_INS_CVTPD2PI, - X86_INS_CVTPI2PD, - X86_INS_CVTPI2PS, - X86_INS_CVTPS2PI, - X86_INS_CVTTPD2PI, - X86_INS_CVTTPS2PI, - X86_INS_EMMS, - X86_INS_MASKMOVQ, - X86_INS_MOVD, - X86_INS_MOVDQ2Q, - X86_INS_MOVNTQ, - X86_INS_MOVQ2DQ, - X86_INS_MOVQ, - X86_INS_PABSB, - X86_INS_PABSD, - X86_INS_PABSW, - X86_INS_PACKSSDW, - X86_INS_PACKSSWB, - X86_INS_PACKUSWB, - X86_INS_PADDB, - X86_INS_PADDD, - X86_INS_PADDQ, - X86_INS_PADDSB, - X86_INS_PADDSW, - X86_INS_PADDUSB, - X86_INS_PADDUSW, - X86_INS_PADDW, - X86_INS_PALIGNR, - X86_INS_PANDN, - X86_INS_PAND, - X86_INS_PAVGB, - X86_INS_PAVGW, - X86_INS_PCMPEQB, - X86_INS_PCMPEQD, - X86_INS_PCMPEQW, - X86_INS_PCMPGTB, - X86_INS_PCMPGTD, - X86_INS_PCMPGTW, - X86_INS_PEXTRW, - X86_INS_PHADDSW, - X86_INS_PHADDW, - X86_INS_PHADDD, - X86_INS_PHSUBD, - X86_INS_PHSUBSW, - X86_INS_PHSUBW, - X86_INS_PINSRW, - X86_INS_PMADDUBSW, - X86_INS_PMADDWD, - X86_INS_PMAXSW, - X86_INS_PMAXUB, - X86_INS_PMINSW, - X86_INS_PMINUB, - X86_INS_PMOVMSKB, - X86_INS_PMULHRSW, - X86_INS_PMULHUW, - X86_INS_PMULHW, - X86_INS_PMULLW, - X86_INS_PMULUDQ, - X86_INS_POR, - X86_INS_PSADBW, - X86_INS_PSHUFB, - X86_INS_PSHUFW, - X86_INS_PSIGNB, - X86_INS_PSIGND, - X86_INS_PSIGNW, - X86_INS_PSLLD, - X86_INS_PSLLQ, - X86_INS_PSLLW, - X86_INS_PSRAD, - X86_INS_PSRAW, - X86_INS_PSRLD, - X86_INS_PSRLQ, - X86_INS_PSRLW, - X86_INS_PSUBB, - X86_INS_PSUBD, - X86_INS_PSUBQ, - X86_INS_PSUBSB, - X86_INS_PSUBSW, - X86_INS_PSUBUSB, - X86_INS_PSUBUSW, - X86_INS_PSUBW, - X86_INS_PUNPCKHBW, - X86_INS_PUNPCKHDQ, - X86_INS_PUNPCKHWD, - X86_INS_PUNPCKLBW, - X86_INS_PUNPCKLDQ, - X86_INS_PUNPCKLWD, - X86_INS_PXOR, - X86_INS_MONITOR, - X86_INS_MONTMUL, - X86_INS_MOV, - X86_INS_MOVABS, - X86_INS_MOVBE, - X86_INS_MOVDDUP, - X86_INS_MOVDQA, - X86_INS_MOVDQU, - X86_INS_MOVHLPS, - X86_INS_MOVHPD, - X86_INS_MOVHPS, - X86_INS_MOVLHPS, - X86_INS_MOVLPD, - X86_INS_MOVLPS, - X86_INS_MOVMSKPD, - X86_INS_MOVMSKPS, - X86_INS_MOVNTDQA, - X86_INS_MOVNTDQ, - X86_INS_MOVNTI, - X86_INS_MOVNTPD, - X86_INS_MOVNTPS, - X86_INS_MOVNTSD, - X86_INS_MOVNTSS, - X86_INS_MOVSB, - X86_INS_MOVSD, - X86_INS_MOVSHDUP, - X86_INS_MOVSLDUP, - X86_INS_MOVSQ, - X86_INS_MOVSS, - X86_INS_MOVSW, - X86_INS_MOVSX, - X86_INS_MOVSXD, - X86_INS_MOVUPD, - X86_INS_MOVUPS, - X86_INS_MOVZX, - X86_INS_MPSADBW, - X86_INS_MUL, - X86_INS_MULPD, - X86_INS_MULPS, - X86_INS_MULSD, - X86_INS_MULSS, - X86_INS_MULX, - X86_INS_FMUL, - X86_INS_FIMUL, - X86_INS_FMULP, - X86_INS_MWAIT, - X86_INS_NEG, - X86_INS_NOP, - X86_INS_NOT, - X86_INS_OUT, - X86_INS_OUTSB, - X86_INS_OUTSD, - X86_INS_OUTSW, - X86_INS_PACKUSDW, - X86_INS_PAUSE, - X86_INS_PAVGUSB, - X86_INS_PBLENDVB, - X86_INS_PBLENDW, - X86_INS_PCLMULQDQ, - X86_INS_PCMPEQQ, - X86_INS_PCMPESTRI, - X86_INS_PCMPESTRM, - X86_INS_PCMPGTQ, - X86_INS_PCMPISTRI, - X86_INS_PCMPISTRM, - X86_INS_PCOMMIT, - X86_INS_PDEP, - X86_INS_PEXT, - X86_INS_PEXTRB, - X86_INS_PEXTRD, - X86_INS_PEXTRQ, - X86_INS_PF2ID, - X86_INS_PF2IW, - X86_INS_PFACC, - X86_INS_PFADD, - X86_INS_PFCMPEQ, - X86_INS_PFCMPGE, - X86_INS_PFCMPGT, - X86_INS_PFMAX, - X86_INS_PFMIN, - X86_INS_PFMUL, - X86_INS_PFNACC, - X86_INS_PFPNACC, - X86_INS_PFRCPIT1, - X86_INS_PFRCPIT2, - X86_INS_PFRCP, - X86_INS_PFRSQIT1, - X86_INS_PFRSQRT, - X86_INS_PFSUBR, - X86_INS_PFSUB, - X86_INS_PHMINPOSUW, - X86_INS_PI2FD, - X86_INS_PI2FW, - X86_INS_PINSRB, - X86_INS_PINSRD, - X86_INS_PINSRQ, - X86_INS_PMAXSB, - X86_INS_PMAXSD, - X86_INS_PMAXUD, - X86_INS_PMAXUW, - X86_INS_PMINSB, - X86_INS_PMINSD, - X86_INS_PMINUD, - X86_INS_PMINUW, - X86_INS_PMOVSXBD, - X86_INS_PMOVSXBQ, - X86_INS_PMOVSXBW, - X86_INS_PMOVSXDQ, - X86_INS_PMOVSXWD, - X86_INS_PMOVSXWQ, - X86_INS_PMOVZXBD, - X86_INS_PMOVZXBQ, - X86_INS_PMOVZXBW, - X86_INS_PMOVZXDQ, - X86_INS_PMOVZXWD, - X86_INS_PMOVZXWQ, - X86_INS_PMULDQ, - X86_INS_PMULHRW, - X86_INS_PMULLD, - X86_INS_POP, - X86_INS_POPAW, - X86_INS_POPAL, - X86_INS_POPCNT, - X86_INS_POPF, - X86_INS_POPFD, - X86_INS_POPFQ, - X86_INS_PREFETCH, - X86_INS_PREFETCHNTA, - X86_INS_PREFETCHT0, - X86_INS_PREFETCHT1, - X86_INS_PREFETCHT2, - X86_INS_PREFETCHW, - X86_INS_PSHUFD, - X86_INS_PSHUFHW, - X86_INS_PSHUFLW, - X86_INS_PSLLDQ, - X86_INS_PSRLDQ, - X86_INS_PSWAPD, - X86_INS_PTEST, - X86_INS_PUNPCKHQDQ, - X86_INS_PUNPCKLQDQ, - X86_INS_PUSH, - X86_INS_PUSHAW, - X86_INS_PUSHAL, - X86_INS_PUSHF, - X86_INS_PUSHFD, - X86_INS_PUSHFQ, - X86_INS_RCL, - X86_INS_RCPPS, - X86_INS_RCPSS, - X86_INS_RCR, - X86_INS_RDFSBASE, - X86_INS_RDGSBASE, - X86_INS_RDMSR, - X86_INS_RDPMC, - X86_INS_RDRAND, - X86_INS_RDSEED, - X86_INS_RDTSC, - X86_INS_RDTSCP, - X86_INS_ROL, - X86_INS_ROR, - X86_INS_RORX, - X86_INS_ROUNDPD, - X86_INS_ROUNDPS, - X86_INS_ROUNDSD, - X86_INS_ROUNDSS, - X86_INS_RSM, - X86_INS_RSQRTPS, - X86_INS_RSQRTSS, - X86_INS_SAHF, - X86_INS_SAL, - X86_INS_SALC, - X86_INS_SAR, - X86_INS_SARX, - X86_INS_SBB, - X86_INS_SCASB, - X86_INS_SCASD, - X86_INS_SCASQ, - X86_INS_SCASW, - X86_INS_SETAE, - X86_INS_SETA, - X86_INS_SETBE, - X86_INS_SETB, - X86_INS_SETE, - X86_INS_SETGE, - X86_INS_SETG, - X86_INS_SETLE, - X86_INS_SETL, - X86_INS_SETNE, - X86_INS_SETNO, - X86_INS_SETNP, - X86_INS_SETNS, - X86_INS_SETO, - X86_INS_SETP, - X86_INS_SETS, - X86_INS_SFENCE, - X86_INS_SGDT, - X86_INS_SHA1MSG1, - X86_INS_SHA1MSG2, - X86_INS_SHA1NEXTE, - X86_INS_SHA1RNDS4, - X86_INS_SHA256MSG1, - X86_INS_SHA256MSG2, - X86_INS_SHA256RNDS2, - X86_INS_SHL, - X86_INS_SHLD, - X86_INS_SHLX, - X86_INS_SHR, - X86_INS_SHRD, - X86_INS_SHRX, - X86_INS_SHUFPD, - X86_INS_SHUFPS, - X86_INS_SIDT, - X86_INS_FSIN, - X86_INS_SKINIT, - X86_INS_SLDT, - X86_INS_SMSW, - X86_INS_SQRTPD, - X86_INS_SQRTPS, - X86_INS_SQRTSD, - X86_INS_SQRTSS, - X86_INS_FSQRT, - X86_INS_STAC, - X86_INS_STC, - X86_INS_STD, - X86_INS_STGI, - X86_INS_STI, - X86_INS_STMXCSR, - X86_INS_STOSB, - X86_INS_STOSD, - X86_INS_STOSQ, - X86_INS_STOSW, - X86_INS_STR, - X86_INS_FST, - X86_INS_FSTP, - X86_INS_FSTPNCE, - X86_INS_FXCH, - X86_INS_SUBPD, - X86_INS_SUBPS, - X86_INS_FSUBR, - X86_INS_FISUBR, - X86_INS_FSUBRP, - X86_INS_SUBSD, - X86_INS_SUBSS, - X86_INS_FSUB, - X86_INS_FISUB, - X86_INS_FSUBP, - X86_INS_SWAPGS, - X86_INS_SYSCALL, - X86_INS_SYSENTER, - X86_INS_SYSEXIT, - X86_INS_SYSRET, - X86_INS_T1MSKC, - X86_INS_TEST, - X86_INS_UD2, - X86_INS_FTST, - X86_INS_TZCNT, - X86_INS_TZMSK, - X86_INS_FUCOMPI, - X86_INS_FUCOMI, - X86_INS_FUCOMPP, - X86_INS_FUCOMP, - X86_INS_FUCOM, - X86_INS_UD2B, - X86_INS_UNPCKHPD, - X86_INS_UNPCKHPS, - X86_INS_UNPCKLPD, - X86_INS_UNPCKLPS, - X86_INS_VADDPD, - X86_INS_VADDPS, - X86_INS_VADDSD, - X86_INS_VADDSS, - X86_INS_VADDSUBPD, - X86_INS_VADDSUBPS, - X86_INS_VAESDECLAST, - X86_INS_VAESDEC, - X86_INS_VAESENCLAST, - X86_INS_VAESENC, - X86_INS_VAESIMC, - X86_INS_VAESKEYGENASSIST, - X86_INS_VALIGND, - X86_INS_VALIGNQ, - X86_INS_VANDNPD, - X86_INS_VANDNPS, - X86_INS_VANDPD, - X86_INS_VANDPS, - X86_INS_VBLENDMPD, - X86_INS_VBLENDMPS, - X86_INS_VBLENDPD, - X86_INS_VBLENDPS, - X86_INS_VBLENDVPD, - X86_INS_VBLENDVPS, - X86_INS_VBROADCASTF128, - X86_INS_VBROADCASTI32X4, - X86_INS_VBROADCASTI64X4, - X86_INS_VBROADCASTSD, - X86_INS_VBROADCASTSS, - X86_INS_VCMPPD, - X86_INS_VCMPPS, - X86_INS_VCMPSD, - X86_INS_VCMPSS, - X86_INS_VCOMPRESSPD, - X86_INS_VCOMPRESSPS, - X86_INS_VCVTDQ2PD, - X86_INS_VCVTDQ2PS, - X86_INS_VCVTPD2DQX, - X86_INS_VCVTPD2DQ, - X86_INS_VCVTPD2PSX, - X86_INS_VCVTPD2PS, - X86_INS_VCVTPD2UDQ, - X86_INS_VCVTPH2PS, - X86_INS_VCVTPS2DQ, - X86_INS_VCVTPS2PD, - X86_INS_VCVTPS2PH, - X86_INS_VCVTPS2UDQ, - X86_INS_VCVTSD2SI, - X86_INS_VCVTSD2USI, - X86_INS_VCVTSS2SI, - X86_INS_VCVTSS2USI, - X86_INS_VCVTTPD2DQX, - X86_INS_VCVTTPD2DQ, - X86_INS_VCVTTPD2UDQ, - X86_INS_VCVTTPS2DQ, - X86_INS_VCVTTPS2UDQ, - X86_INS_VCVTUDQ2PD, - X86_INS_VCVTUDQ2PS, - X86_INS_VDIVPD, - X86_INS_VDIVPS, - X86_INS_VDIVSD, - X86_INS_VDIVSS, - X86_INS_VDPPD, - X86_INS_VDPPS, - X86_INS_VERR, - X86_INS_VERW, - X86_INS_VEXP2PD, - X86_INS_VEXP2PS, - X86_INS_VEXPANDPD, - X86_INS_VEXPANDPS, - X86_INS_VEXTRACTF128, - X86_INS_VEXTRACTF32X4, - X86_INS_VEXTRACTF64X4, - X86_INS_VEXTRACTI128, - X86_INS_VEXTRACTI32X4, - X86_INS_VEXTRACTI64X4, - X86_INS_VEXTRACTPS, - X86_INS_VFMADD132PD, - X86_INS_VFMADD132PS, - X86_INS_VFMADDPD, - X86_INS_VFMADD213PD, - X86_INS_VFMADD231PD, - X86_INS_VFMADDPS, - X86_INS_VFMADD213PS, - X86_INS_VFMADD231PS, - X86_INS_VFMADDSD, - X86_INS_VFMADD213SD, - X86_INS_VFMADD132SD, - X86_INS_VFMADD231SD, - X86_INS_VFMADDSS, - X86_INS_VFMADD213SS, - X86_INS_VFMADD132SS, - X86_INS_VFMADD231SS, - X86_INS_VFMADDSUB132PD, - X86_INS_VFMADDSUB132PS, - X86_INS_VFMADDSUBPD, - X86_INS_VFMADDSUB213PD, - X86_INS_VFMADDSUB231PD, - X86_INS_VFMADDSUBPS, - X86_INS_VFMADDSUB213PS, - X86_INS_VFMADDSUB231PS, - X86_INS_VFMSUB132PD, - X86_INS_VFMSUB132PS, - X86_INS_VFMSUBADD132PD, - X86_INS_VFMSUBADD132PS, - X86_INS_VFMSUBADDPD, - X86_INS_VFMSUBADD213PD, - X86_INS_VFMSUBADD231PD, - X86_INS_VFMSUBADDPS, - X86_INS_VFMSUBADD213PS, - X86_INS_VFMSUBADD231PS, - X86_INS_VFMSUBPD, - X86_INS_VFMSUB213PD, - X86_INS_VFMSUB231PD, - X86_INS_VFMSUBPS, - X86_INS_VFMSUB213PS, - X86_INS_VFMSUB231PS, - X86_INS_VFMSUBSD, - X86_INS_VFMSUB213SD, - X86_INS_VFMSUB132SD, - X86_INS_VFMSUB231SD, - X86_INS_VFMSUBSS, - X86_INS_VFMSUB213SS, - X86_INS_VFMSUB132SS, - X86_INS_VFMSUB231SS, - X86_INS_VFNMADD132PD, - X86_INS_VFNMADD132PS, - X86_INS_VFNMADDPD, - X86_INS_VFNMADD213PD, - X86_INS_VFNMADD231PD, - X86_INS_VFNMADDPS, - X86_INS_VFNMADD213PS, - X86_INS_VFNMADD231PS, - X86_INS_VFNMADDSD, - X86_INS_VFNMADD213SD, - X86_INS_VFNMADD132SD, - X86_INS_VFNMADD231SD, - X86_INS_VFNMADDSS, - X86_INS_VFNMADD213SS, - X86_INS_VFNMADD132SS, - X86_INS_VFNMADD231SS, - X86_INS_VFNMSUB132PD, - X86_INS_VFNMSUB132PS, - X86_INS_VFNMSUBPD, - X86_INS_VFNMSUB213PD, - X86_INS_VFNMSUB231PD, - X86_INS_VFNMSUBPS, - X86_INS_VFNMSUB213PS, - X86_INS_VFNMSUB231PS, - X86_INS_VFNMSUBSD, - X86_INS_VFNMSUB213SD, - X86_INS_VFNMSUB132SD, - X86_INS_VFNMSUB231SD, - X86_INS_VFNMSUBSS, - X86_INS_VFNMSUB213SS, - X86_INS_VFNMSUB132SS, - X86_INS_VFNMSUB231SS, - X86_INS_VFRCZPD, - X86_INS_VFRCZPS, - X86_INS_VFRCZSD, - X86_INS_VFRCZSS, - X86_INS_VORPD, - X86_INS_VORPS, - X86_INS_VXORPD, - X86_INS_VXORPS, - X86_INS_VGATHERDPD, - X86_INS_VGATHERDPS, - X86_INS_VGATHERPF0DPD, - X86_INS_VGATHERPF0DPS, - X86_INS_VGATHERPF0QPD, - X86_INS_VGATHERPF0QPS, - X86_INS_VGATHERPF1DPD, - X86_INS_VGATHERPF1DPS, - X86_INS_VGATHERPF1QPD, - X86_INS_VGATHERPF1QPS, - X86_INS_VGATHERQPD, - X86_INS_VGATHERQPS, - X86_INS_VHADDPD, - X86_INS_VHADDPS, - X86_INS_VHSUBPD, - X86_INS_VHSUBPS, - X86_INS_VINSERTF128, - X86_INS_VINSERTF32X4, - X86_INS_VINSERTF32X8, - X86_INS_VINSERTF64X2, - X86_INS_VINSERTF64X4, - X86_INS_VINSERTI128, - X86_INS_VINSERTI32X4, - X86_INS_VINSERTI32X8, - X86_INS_VINSERTI64X2, - X86_INS_VINSERTI64X4, - X86_INS_VINSERTPS, - X86_INS_VLDDQU, - X86_INS_VLDMXCSR, - X86_INS_VMASKMOVDQU, - X86_INS_VMASKMOVPD, - X86_INS_VMASKMOVPS, - X86_INS_VMAXPD, - X86_INS_VMAXPS, - X86_INS_VMAXSD, - X86_INS_VMAXSS, - X86_INS_VMCALL, - X86_INS_VMCLEAR, - X86_INS_VMFUNC, - X86_INS_VMINPD, - X86_INS_VMINPS, - X86_INS_VMINSD, - X86_INS_VMINSS, - X86_INS_VMLAUNCH, - X86_INS_VMLOAD, - X86_INS_VMMCALL, - X86_INS_VMOVQ, - X86_INS_VMOVDDUP, - X86_INS_VMOVD, - X86_INS_VMOVDQA32, - X86_INS_VMOVDQA64, - X86_INS_VMOVDQA, - X86_INS_VMOVDQU16, - X86_INS_VMOVDQU32, - X86_INS_VMOVDQU64, - X86_INS_VMOVDQU8, - X86_INS_VMOVDQU, - X86_INS_VMOVHLPS, - X86_INS_VMOVHPD, - X86_INS_VMOVHPS, - X86_INS_VMOVLHPS, - X86_INS_VMOVLPD, - X86_INS_VMOVLPS, - X86_INS_VMOVMSKPD, - X86_INS_VMOVMSKPS, - X86_INS_VMOVNTDQA, - X86_INS_VMOVNTDQ, - X86_INS_VMOVNTPD, - X86_INS_VMOVNTPS, - X86_INS_VMOVSD, - X86_INS_VMOVSHDUP, - X86_INS_VMOVSLDUP, - X86_INS_VMOVSS, - X86_INS_VMOVUPD, - X86_INS_VMOVUPS, - X86_INS_VMPSADBW, - X86_INS_VMPTRLD, - X86_INS_VMPTRST, - X86_INS_VMREAD, - X86_INS_VMRESUME, - X86_INS_VMRUN, - X86_INS_VMSAVE, - X86_INS_VMULPD, - X86_INS_VMULPS, - X86_INS_VMULSD, - X86_INS_VMULSS, - X86_INS_VMWRITE, - X86_INS_VMXOFF, - X86_INS_VMXON, - X86_INS_VPABSB, - X86_INS_VPABSD, - X86_INS_VPABSQ, - X86_INS_VPABSW, - X86_INS_VPACKSSDW, - X86_INS_VPACKSSWB, - X86_INS_VPACKUSDW, - X86_INS_VPACKUSWB, - X86_INS_VPADDB, - X86_INS_VPADDD, - X86_INS_VPADDQ, - X86_INS_VPADDSB, - X86_INS_VPADDSW, - X86_INS_VPADDUSB, - X86_INS_VPADDUSW, - X86_INS_VPADDW, - X86_INS_VPALIGNR, - X86_INS_VPANDD, - X86_INS_VPANDND, - X86_INS_VPANDNQ, - X86_INS_VPANDN, - X86_INS_VPANDQ, - X86_INS_VPAND, - X86_INS_VPAVGB, - X86_INS_VPAVGW, - X86_INS_VPBLENDD, - X86_INS_VPBLENDMB, - X86_INS_VPBLENDMD, - X86_INS_VPBLENDMQ, - X86_INS_VPBLENDMW, - X86_INS_VPBLENDVB, - X86_INS_VPBLENDW, - X86_INS_VPBROADCASTB, - X86_INS_VPBROADCASTD, - X86_INS_VPBROADCASTMB2Q, - X86_INS_VPBROADCASTMW2D, - X86_INS_VPBROADCASTQ, - X86_INS_VPBROADCASTW, - X86_INS_VPCLMULQDQ, - X86_INS_VPCMOV, - X86_INS_VPCMPB, - X86_INS_VPCMPD, - X86_INS_VPCMPEQB, - X86_INS_VPCMPEQD, - X86_INS_VPCMPEQQ, - X86_INS_VPCMPEQW, - X86_INS_VPCMPESTRI, - X86_INS_VPCMPESTRM, - X86_INS_VPCMPGTB, - X86_INS_VPCMPGTD, - X86_INS_VPCMPGTQ, - X86_INS_VPCMPGTW, - X86_INS_VPCMPISTRI, - X86_INS_VPCMPISTRM, - X86_INS_VPCMPQ, - X86_INS_VPCMPUB, - X86_INS_VPCMPUD, - X86_INS_VPCMPUQ, - X86_INS_VPCMPUW, - X86_INS_VPCMPW, - X86_INS_VPCOMB, - X86_INS_VPCOMD, - X86_INS_VPCOMPRESSD, - X86_INS_VPCOMPRESSQ, - X86_INS_VPCOMQ, - X86_INS_VPCOMUB, - X86_INS_VPCOMUD, - X86_INS_VPCOMUQ, - X86_INS_VPCOMUW, - X86_INS_VPCOMW, - X86_INS_VPCONFLICTD, - X86_INS_VPCONFLICTQ, - X86_INS_VPERM2F128, - X86_INS_VPERM2I128, - X86_INS_VPERMD, - X86_INS_VPERMI2D, - X86_INS_VPERMI2PD, - X86_INS_VPERMI2PS, - X86_INS_VPERMI2Q, - X86_INS_VPERMIL2PD, - X86_INS_VPERMIL2PS, - X86_INS_VPERMILPD, - X86_INS_VPERMILPS, - X86_INS_VPERMPD, - X86_INS_VPERMPS, - X86_INS_VPERMQ, - X86_INS_VPERMT2D, - X86_INS_VPERMT2PD, - X86_INS_VPERMT2PS, - X86_INS_VPERMT2Q, - X86_INS_VPEXPANDD, - X86_INS_VPEXPANDQ, - X86_INS_VPEXTRB, - X86_INS_VPEXTRD, - X86_INS_VPEXTRQ, - X86_INS_VPEXTRW, - X86_INS_VPGATHERDD, - X86_INS_VPGATHERDQ, - X86_INS_VPGATHERQD, - X86_INS_VPGATHERQQ, - X86_INS_VPHADDBD, - X86_INS_VPHADDBQ, - X86_INS_VPHADDBW, - X86_INS_VPHADDDQ, - X86_INS_VPHADDD, - X86_INS_VPHADDSW, - X86_INS_VPHADDUBD, - X86_INS_VPHADDUBQ, - X86_INS_VPHADDUBW, - X86_INS_VPHADDUDQ, - X86_INS_VPHADDUWD, - X86_INS_VPHADDUWQ, - X86_INS_VPHADDWD, - X86_INS_VPHADDWQ, - X86_INS_VPHADDW, - X86_INS_VPHMINPOSUW, - X86_INS_VPHSUBBW, - X86_INS_VPHSUBDQ, - X86_INS_VPHSUBD, - X86_INS_VPHSUBSW, - X86_INS_VPHSUBWD, - X86_INS_VPHSUBW, - X86_INS_VPINSRB, - X86_INS_VPINSRD, - X86_INS_VPINSRQ, - X86_INS_VPINSRW, - X86_INS_VPLZCNTD, - X86_INS_VPLZCNTQ, - X86_INS_VPMACSDD, - X86_INS_VPMACSDQH, - X86_INS_VPMACSDQL, - X86_INS_VPMACSSDD, - X86_INS_VPMACSSDQH, - X86_INS_VPMACSSDQL, - X86_INS_VPMACSSWD, - X86_INS_VPMACSSWW, - X86_INS_VPMACSWD, - X86_INS_VPMACSWW, - X86_INS_VPMADCSSWD, - X86_INS_VPMADCSWD, - X86_INS_VPMADDUBSW, - X86_INS_VPMADDWD, - X86_INS_VPMASKMOVD, - X86_INS_VPMASKMOVQ, - X86_INS_VPMAXSB, - X86_INS_VPMAXSD, - X86_INS_VPMAXSQ, - X86_INS_VPMAXSW, - X86_INS_VPMAXUB, - X86_INS_VPMAXUD, - X86_INS_VPMAXUQ, - X86_INS_VPMAXUW, - X86_INS_VPMINSB, - X86_INS_VPMINSD, - X86_INS_VPMINSQ, - X86_INS_VPMINSW, - X86_INS_VPMINUB, - X86_INS_VPMINUD, - X86_INS_VPMINUQ, - X86_INS_VPMINUW, - X86_INS_VPMOVDB, - X86_INS_VPMOVDW, - X86_INS_VPMOVM2B, - X86_INS_VPMOVM2D, - X86_INS_VPMOVM2Q, - X86_INS_VPMOVM2W, - X86_INS_VPMOVMSKB, - X86_INS_VPMOVQB, - X86_INS_VPMOVQD, - X86_INS_VPMOVQW, - X86_INS_VPMOVSDB, - X86_INS_VPMOVSDW, - X86_INS_VPMOVSQB, - X86_INS_VPMOVSQD, - X86_INS_VPMOVSQW, - X86_INS_VPMOVSXBD, - X86_INS_VPMOVSXBQ, - X86_INS_VPMOVSXBW, - X86_INS_VPMOVSXDQ, - X86_INS_VPMOVSXWD, - X86_INS_VPMOVSXWQ, - X86_INS_VPMOVUSDB, - X86_INS_VPMOVUSDW, - X86_INS_VPMOVUSQB, - X86_INS_VPMOVUSQD, - X86_INS_VPMOVUSQW, - X86_INS_VPMOVZXBD, - X86_INS_VPMOVZXBQ, - X86_INS_VPMOVZXBW, - X86_INS_VPMOVZXDQ, - X86_INS_VPMOVZXWD, - X86_INS_VPMOVZXWQ, - X86_INS_VPMULDQ, - X86_INS_VPMULHRSW, - X86_INS_VPMULHUW, - X86_INS_VPMULHW, - X86_INS_VPMULLD, - X86_INS_VPMULLQ, - X86_INS_VPMULLW, - X86_INS_VPMULUDQ, - X86_INS_VPORD, - X86_INS_VPORQ, - X86_INS_VPOR, - X86_INS_VPPERM, - X86_INS_VPROTB, - X86_INS_VPROTD, - X86_INS_VPROTQ, - X86_INS_VPROTW, - X86_INS_VPSADBW, - X86_INS_VPSCATTERDD, - X86_INS_VPSCATTERDQ, - X86_INS_VPSCATTERQD, - X86_INS_VPSCATTERQQ, - X86_INS_VPSHAB, - X86_INS_VPSHAD, - X86_INS_VPSHAQ, - X86_INS_VPSHAW, - X86_INS_VPSHLB, - X86_INS_VPSHLD, - X86_INS_VPSHLQ, - X86_INS_VPSHLW, - X86_INS_VPSHUFB, - X86_INS_VPSHUFD, - X86_INS_VPSHUFHW, - X86_INS_VPSHUFLW, - X86_INS_VPSIGNB, - X86_INS_VPSIGND, - X86_INS_VPSIGNW, - X86_INS_VPSLLDQ, - X86_INS_VPSLLD, - X86_INS_VPSLLQ, - X86_INS_VPSLLVD, - X86_INS_VPSLLVQ, - X86_INS_VPSLLW, - X86_INS_VPSRAD, - X86_INS_VPSRAQ, - X86_INS_VPSRAVD, - X86_INS_VPSRAVQ, - X86_INS_VPSRAW, - X86_INS_VPSRLDQ, - X86_INS_VPSRLD, - X86_INS_VPSRLQ, - X86_INS_VPSRLVD, - X86_INS_VPSRLVQ, - X86_INS_VPSRLW, - X86_INS_VPSUBB, - X86_INS_VPSUBD, - X86_INS_VPSUBQ, - X86_INS_VPSUBSB, - X86_INS_VPSUBSW, - X86_INS_VPSUBUSB, - X86_INS_VPSUBUSW, - X86_INS_VPSUBW, - X86_INS_VPTESTMD, - X86_INS_VPTESTMQ, - X86_INS_VPTESTNMD, - X86_INS_VPTESTNMQ, - X86_INS_VPTEST, - X86_INS_VPUNPCKHBW, - X86_INS_VPUNPCKHDQ, - X86_INS_VPUNPCKHQDQ, - X86_INS_VPUNPCKHWD, - X86_INS_VPUNPCKLBW, - X86_INS_VPUNPCKLDQ, - X86_INS_VPUNPCKLQDQ, - X86_INS_VPUNPCKLWD, - X86_INS_VPXORD, - X86_INS_VPXORQ, - X86_INS_VPXOR, - X86_INS_VRCP14PD, - X86_INS_VRCP14PS, - X86_INS_VRCP14SD, - X86_INS_VRCP14SS, - X86_INS_VRCP28PD, - X86_INS_VRCP28PS, - X86_INS_VRCP28SD, - X86_INS_VRCP28SS, - X86_INS_VRCPPS, - X86_INS_VRCPSS, - X86_INS_VRNDSCALEPD, - X86_INS_VRNDSCALEPS, - X86_INS_VRNDSCALESD, - X86_INS_VRNDSCALESS, - X86_INS_VROUNDPD, - X86_INS_VROUNDPS, - X86_INS_VROUNDSD, - X86_INS_VROUNDSS, - X86_INS_VRSQRT14PD, - X86_INS_VRSQRT14PS, - X86_INS_VRSQRT14SD, - X86_INS_VRSQRT14SS, - X86_INS_VRSQRT28PD, - X86_INS_VRSQRT28PS, - X86_INS_VRSQRT28SD, - X86_INS_VRSQRT28SS, - X86_INS_VRSQRTPS, - X86_INS_VRSQRTSS, - X86_INS_VSCATTERDPD, - X86_INS_VSCATTERDPS, - X86_INS_VSCATTERPF0DPD, - X86_INS_VSCATTERPF0DPS, - X86_INS_VSCATTERPF0QPD, - X86_INS_VSCATTERPF0QPS, - X86_INS_VSCATTERPF1DPD, - X86_INS_VSCATTERPF1DPS, - X86_INS_VSCATTERPF1QPD, - X86_INS_VSCATTERPF1QPS, - X86_INS_VSCATTERQPD, - X86_INS_VSCATTERQPS, - X86_INS_VSHUFPD, - X86_INS_VSHUFPS, - X86_INS_VSQRTPD, - X86_INS_VSQRTPS, - X86_INS_VSQRTSD, - X86_INS_VSQRTSS, - X86_INS_VSTMXCSR, - X86_INS_VSUBPD, - X86_INS_VSUBPS, - X86_INS_VSUBSD, - X86_INS_VSUBSS, - X86_INS_VTESTPD, - X86_INS_VTESTPS, - X86_INS_VUNPCKHPD, - X86_INS_VUNPCKHPS, - X86_INS_VUNPCKLPD, - X86_INS_VUNPCKLPS, - X86_INS_VZEROALL, - X86_INS_VZEROUPPER, - X86_INS_WAIT, - X86_INS_WBINVD, - X86_INS_WRFSBASE, - X86_INS_WRGSBASE, - X86_INS_WRMSR, - X86_INS_XABORT, - X86_INS_XACQUIRE, - X86_INS_XBEGIN, - X86_INS_XCHG, - X86_INS_XCRYPTCBC, - X86_INS_XCRYPTCFB, - X86_INS_XCRYPTCTR, - X86_INS_XCRYPTECB, - X86_INS_XCRYPTOFB, - X86_INS_XEND, - X86_INS_XGETBV, - X86_INS_XLATB, - X86_INS_XRELEASE, - X86_INS_XRSTOR, - X86_INS_XRSTOR64, - X86_INS_XRSTORS, - X86_INS_XRSTORS64, - X86_INS_XSAVE, - X86_INS_XSAVE64, - X86_INS_XSAVEC, - X86_INS_XSAVEC64, - X86_INS_XSAVEOPT, - X86_INS_XSAVEOPT64, - X86_INS_XSAVES, - X86_INS_XSAVES64, - X86_INS_XSETBV, - X86_INS_XSHA1, - X86_INS_XSHA256, - X86_INS_XSTORE, - X86_INS_XTEST, - X86_INS_FDISI8087_NOP, - X86_INS_FENI8087_NOP, + UC_X86_INS_AAA, + UC_X86_INS_AAD, + UC_X86_INS_AAM, + UC_X86_INS_AAS, + UC_X86_INS_FABS, + UC_X86_INS_ADC, + UC_X86_INS_ADCX, + UC_X86_INS_ADD, + UC_X86_INS_ADDPD, + UC_X86_INS_ADDPS, + UC_X86_INS_ADDSD, + UC_X86_INS_ADDSS, + UC_X86_INS_ADDSUBPD, + UC_X86_INS_ADDSUBPS, + UC_X86_INS_FADD, + UC_X86_INS_FIADD, + UC_X86_INS_FADDP, + UC_X86_INS_ADOX, + UC_X86_INS_AESDECLAST, + UC_X86_INS_AESDEC, + UC_X86_INS_AESENCLAST, + UC_X86_INS_AESENC, + UC_X86_INS_AESIMC, + UC_X86_INS_AESKEYGENASSIST, + UC_X86_INS_AND, + UC_X86_INS_ANDN, + UC_X86_INS_ANDNPD, + UC_X86_INS_ANDNPS, + UC_X86_INS_ANDPD, + UC_X86_INS_ANDPS, + UC_X86_INS_ARPL, + UC_X86_INS_BEXTR, + UC_X86_INS_BLCFILL, + UC_X86_INS_BLCI, + UC_X86_INS_BLCIC, + UC_X86_INS_BLCMSK, + UC_X86_INS_BLCS, + UC_X86_INS_BLENDPD, + UC_X86_INS_BLENDPS, + UC_X86_INS_BLENDVPD, + UC_X86_INS_BLENDVPS, + UC_X86_INS_BLSFILL, + UC_X86_INS_BLSI, + UC_X86_INS_BLSIC, + UC_X86_INS_BLSMSK, + UC_X86_INS_BLSR, + UC_X86_INS_BOUND, + UC_X86_INS_BSF, + UC_X86_INS_BSR, + UC_X86_INS_BSWAP, + UC_X86_INS_BT, + UC_X86_INS_BTC, + UC_X86_INS_BTR, + UC_X86_INS_BTS, + UC_X86_INS_BZHI, + UC_X86_INS_CALL, + UC_X86_INS_CBW, + UC_X86_INS_CDQ, + UC_X86_INS_CDQE, + UC_X86_INS_FCHS, + UC_X86_INS_CLAC, + UC_X86_INS_CLC, + UC_X86_INS_CLD, + UC_X86_INS_CLFLUSH, + UC_X86_INS_CLFLUSHOPT, + UC_X86_INS_CLGI, + UC_X86_INS_CLI, + UC_X86_INS_CLTS, + UC_X86_INS_CLWB, + UC_X86_INS_CMC, + UC_X86_INS_CMOVA, + UC_X86_INS_CMOVAE, + UC_X86_INS_CMOVB, + UC_X86_INS_CMOVBE, + UC_X86_INS_FCMOVBE, + UC_X86_INS_FCMOVB, + UC_X86_INS_CMOVE, + UC_X86_INS_FCMOVE, + UC_X86_INS_CMOVG, + UC_X86_INS_CMOVGE, + UC_X86_INS_CMOVL, + UC_X86_INS_CMOVLE, + UC_X86_INS_FCMOVNBE, + UC_X86_INS_FCMOVNB, + UC_X86_INS_CMOVNE, + UC_X86_INS_FCMOVNE, + UC_X86_INS_CMOVNO, + UC_X86_INS_CMOVNP, + UC_X86_INS_FCMOVNU, + UC_X86_INS_CMOVNS, + UC_X86_INS_CMOVO, + UC_X86_INS_CMOVP, + UC_X86_INS_FCMOVU, + UC_X86_INS_CMOVS, + UC_X86_INS_CMP, + UC_X86_INS_CMPPD, + UC_X86_INS_CMPPS, + UC_X86_INS_CMPSB, + UC_X86_INS_CMPSD, + UC_X86_INS_CMPSQ, + UC_X86_INS_CMPSS, + UC_X86_INS_CMPSW, + UC_X86_INS_CMPXCHG16B, + UC_X86_INS_CMPXCHG, + UC_X86_INS_CMPXCHG8B, + UC_X86_INS_COMISD, + UC_X86_INS_COMISS, + UC_X86_INS_FCOMP, + UC_X86_INS_FCOMPI, + UC_X86_INS_FCOMI, + UC_X86_INS_FCOM, + UC_X86_INS_FCOS, + UC_X86_INS_CPUID, + UC_X86_INS_CQO, + UC_X86_INS_CRC32, + UC_X86_INS_CVTDQ2PD, + UC_X86_INS_CVTDQ2PS, + UC_X86_INS_CVTPD2DQ, + UC_X86_INS_CVTPD2PS, + UC_X86_INS_CVTPS2DQ, + UC_X86_INS_CVTPS2PD, + UC_X86_INS_CVTSD2SI, + UC_X86_INS_CVTSD2SS, + UC_X86_INS_CVTSI2SD, + UC_X86_INS_CVTSI2SS, + UC_X86_INS_CVTSS2SD, + UC_X86_INS_CVTSS2SI, + UC_X86_INS_CVTTPD2DQ, + UC_X86_INS_CVTTPS2DQ, + UC_X86_INS_CVTTSD2SI, + UC_X86_INS_CVTTSS2SI, + UC_X86_INS_CWD, + UC_X86_INS_CWDE, + UC_X86_INS_DAA, + UC_X86_INS_DAS, + UC_X86_INS_DATA16, + UC_X86_INS_DEC, + UC_X86_INS_DIV, + UC_X86_INS_DIVPD, + UC_X86_INS_DIVPS, + UC_X86_INS_FDIVR, + UC_X86_INS_FIDIVR, + UC_X86_INS_FDIVRP, + UC_X86_INS_DIVSD, + UC_X86_INS_DIVSS, + UC_X86_INS_FDIV, + UC_X86_INS_FIDIV, + UC_X86_INS_FDIVP, + UC_X86_INS_DPPD, + UC_X86_INS_DPPS, + UC_X86_INS_RET, + UC_X86_INS_ENCLS, + UC_X86_INS_ENCLU, + UC_X86_INS_ENTER, + UC_X86_INS_EXTRACTPS, + UC_X86_INS_EXTRQ, + UC_X86_INS_F2XM1, + UC_X86_INS_LCALL, + UC_X86_INS_LJMP, + UC_X86_INS_FBLD, + UC_X86_INS_FBSTP, + UC_X86_INS_FCOMPP, + UC_X86_INS_FDECSTP, + UC_X86_INS_FEMMS, + UC_X86_INS_FFREE, + UC_X86_INS_FICOM, + UC_X86_INS_FICOMP, + UC_X86_INS_FINCSTP, + UC_X86_INS_FLDCW, + UC_X86_INS_FLDENV, + UC_X86_INS_FLDL2E, + UC_X86_INS_FLDL2T, + UC_X86_INS_FLDLG2, + UC_X86_INS_FLDLN2, + UC_X86_INS_FLDPI, + UC_X86_INS_FNCLEX, + UC_X86_INS_FNINIT, + UC_X86_INS_FNOP, + UC_X86_INS_FNSTCW, + UC_X86_INS_FNSTSW, + UC_X86_INS_FPATAN, + UC_X86_INS_FPREM, + UC_X86_INS_FPREM1, + UC_X86_INS_FPTAN, + UC_X86_INS_FFREEP, + UC_X86_INS_FRNDINT, + UC_X86_INS_FRSTOR, + UC_X86_INS_FNSAVE, + UC_X86_INS_FSCALE, + UC_X86_INS_FSETPM, + UC_X86_INS_FSINCOS, + UC_X86_INS_FNSTENV, + UC_X86_INS_FXAM, + UC_X86_INS_FXRSTOR, + UC_X86_INS_FXRSTOR64, + UC_X86_INS_FXSAVE, + UC_X86_INS_FXSAVE64, + UC_X86_INS_FXTRACT, + UC_X86_INS_FYL2X, + UC_X86_INS_FYL2XP1, + UC_X86_INS_MOVAPD, + UC_X86_INS_MOVAPS, + UC_X86_INS_ORPD, + UC_X86_INS_ORPS, + UC_X86_INS_VMOVAPD, + UC_X86_INS_VMOVAPS, + UC_X86_INS_XORPD, + UC_X86_INS_XORPS, + UC_X86_INS_GETSEC, + UC_X86_INS_HADDPD, + UC_X86_INS_HADDPS, + UC_X86_INS_HLT, + UC_X86_INS_HSUBPD, + UC_X86_INS_HSUBPS, + UC_X86_INS_IDIV, + UC_X86_INS_FILD, + UC_X86_INS_IMUL, + UC_X86_INS_IN, + UC_X86_INS_INC, + UC_X86_INS_INSB, + UC_X86_INS_INSERTPS, + UC_X86_INS_INSERTQ, + UC_X86_INS_INSD, + UC_X86_INS_INSW, + UC_X86_INS_INT, + UC_X86_INS_INT1, + UC_X86_INS_INT3, + UC_X86_INS_INTO, + UC_X86_INS_INVD, + UC_X86_INS_INVEPT, + UC_X86_INS_INVLPG, + UC_X86_INS_INVLPGA, + UC_X86_INS_INVPCID, + UC_X86_INS_INVVPID, + UC_X86_INS_IRET, + UC_X86_INS_IRETD, + UC_X86_INS_IRETQ, + UC_X86_INS_FISTTP, + UC_X86_INS_FIST, + UC_X86_INS_FISTP, + UC_X86_INS_UCOMISD, + UC_X86_INS_UCOMISS, + UC_X86_INS_VCOMISD, + UC_X86_INS_VCOMISS, + UC_X86_INS_VCVTSD2SS, + UC_X86_INS_VCVTSI2SD, + UC_X86_INS_VCVTSI2SS, + UC_X86_INS_VCVTSS2SD, + UC_X86_INS_VCVTTSD2SI, + UC_X86_INS_VCVTTSD2USI, + UC_X86_INS_VCVTTSS2SI, + UC_X86_INS_VCVTTSS2USI, + UC_X86_INS_VCVTUSI2SD, + UC_X86_INS_VCVTUSI2SS, + UC_X86_INS_VUCOMISD, + UC_X86_INS_VUCOMISS, + UC_X86_INS_JAE, + UC_X86_INS_JA, + UC_X86_INS_JBE, + UC_X86_INS_JB, + UC_X86_INS_JCXZ, + UC_X86_INS_JECXZ, + UC_X86_INS_JE, + UC_X86_INS_JGE, + UC_X86_INS_JG, + UC_X86_INS_JLE, + UC_X86_INS_JL, + UC_X86_INS_JMP, + UC_X86_INS_JNE, + UC_X86_INS_JNO, + UC_X86_INS_JNP, + UC_X86_INS_JNS, + UC_X86_INS_JO, + UC_X86_INS_JP, + UC_X86_INS_JRCXZ, + UC_X86_INS_JS, + UC_X86_INS_KANDB, + UC_X86_INS_KANDD, + UC_X86_INS_KANDNB, + UC_X86_INS_KANDND, + UC_X86_INS_KANDNQ, + UC_X86_INS_KANDNW, + UC_X86_INS_KANDQ, + UC_X86_INS_KANDW, + UC_X86_INS_KMOVB, + UC_X86_INS_KMOVD, + UC_X86_INS_KMOVQ, + UC_X86_INS_KMOVW, + UC_X86_INS_KNOTB, + UC_X86_INS_KNOTD, + UC_X86_INS_KNOTQ, + UC_X86_INS_KNOTW, + UC_X86_INS_KORB, + UC_X86_INS_KORD, + UC_X86_INS_KORQ, + UC_X86_INS_KORTESTB, + UC_X86_INS_KORTESTD, + UC_X86_INS_KORTESTQ, + UC_X86_INS_KORTESTW, + UC_X86_INS_KORW, + UC_X86_INS_KSHIFTLB, + UC_X86_INS_KSHIFTLD, + UC_X86_INS_KSHIFTLQ, + UC_X86_INS_KSHIFTLW, + UC_X86_INS_KSHIFTRB, + UC_X86_INS_KSHIFTRD, + UC_X86_INS_KSHIFTRQ, + UC_X86_INS_KSHIFTRW, + UC_X86_INS_KUNPCKBW, + UC_X86_INS_KXNORB, + UC_X86_INS_KXNORD, + UC_X86_INS_KXNORQ, + UC_X86_INS_KXNORW, + UC_X86_INS_KXORB, + UC_X86_INS_KXORD, + UC_X86_INS_KXORQ, + UC_X86_INS_KXORW, + UC_X86_INS_LAHF, + UC_X86_INS_LAR, + UC_X86_INS_LDDQU, + UC_X86_INS_LDMXCSR, + UC_X86_INS_LDS, + UC_X86_INS_FLDZ, + UC_X86_INS_FLD1, + UC_X86_INS_FLD, + UC_X86_INS_LEA, + UC_X86_INS_LEAVE, + UC_X86_INS_LES, + UC_X86_INS_LFENCE, + UC_X86_INS_LFS, + UC_X86_INS_LGDT, + UC_X86_INS_LGS, + UC_X86_INS_LIDT, + UC_X86_INS_LLDT, + UC_X86_INS_LMSW, + UC_X86_INS_OR, + UC_X86_INS_SUB, + UC_X86_INS_XOR, + UC_X86_INS_LODSB, + UC_X86_INS_LODSD, + UC_X86_INS_LODSQ, + UC_X86_INS_LODSW, + UC_X86_INS_LOOP, + UC_X86_INS_LOOPE, + UC_X86_INS_LOOPNE, + UC_X86_INS_RETF, + UC_X86_INS_RETFQ, + UC_X86_INS_LSL, + UC_X86_INS_LSS, + UC_X86_INS_LTR, + UC_X86_INS_XADD, + UC_X86_INS_LZCNT, + UC_X86_INS_MASKMOVDQU, + UC_X86_INS_MAXPD, + UC_X86_INS_MAXPS, + UC_X86_INS_MAXSD, + UC_X86_INS_MAXSS, + UC_X86_INS_MFENCE, + UC_X86_INS_MINPD, + UC_X86_INS_MINPS, + UC_X86_INS_MINSD, + UC_X86_INS_MINSS, + UC_X86_INS_CVTPD2PI, + UC_X86_INS_CVTPI2PD, + UC_X86_INS_CVTPI2PS, + UC_X86_INS_CVTPS2PI, + UC_X86_INS_CVTTPD2PI, + UC_X86_INS_CVTTPS2PI, + UC_X86_INS_EMMS, + UC_X86_INS_MASKMOVQ, + UC_X86_INS_MOVD, + UC_X86_INS_MOVDQ2Q, + UC_X86_INS_MOVNTQ, + UC_X86_INS_MOVQ2DQ, + UC_X86_INS_MOVQ, + UC_X86_INS_PABSB, + UC_X86_INS_PABSD, + UC_X86_INS_PABSW, + UC_X86_INS_PACKSSDW, + UC_X86_INS_PACKSSWB, + UC_X86_INS_PACKUSWB, + UC_X86_INS_PADDB, + UC_X86_INS_PADDD, + UC_X86_INS_PADDQ, + UC_X86_INS_PADDSB, + UC_X86_INS_PADDSW, + UC_X86_INS_PADDUSB, + UC_X86_INS_PADDUSW, + UC_X86_INS_PADDW, + UC_X86_INS_PALIGNR, + UC_X86_INS_PANDN, + UC_X86_INS_PAND, + UC_X86_INS_PAVGB, + UC_X86_INS_PAVGW, + UC_X86_INS_PCMPEQB, + UC_X86_INS_PCMPEQD, + UC_X86_INS_PCMPEQW, + UC_X86_INS_PCMPGTB, + UC_X86_INS_PCMPGTD, + UC_X86_INS_PCMPGTW, + UC_X86_INS_PEXTRW, + UC_X86_INS_PHADDSW, + UC_X86_INS_PHADDW, + UC_X86_INS_PHADDD, + UC_X86_INS_PHSUBD, + UC_X86_INS_PHSUBSW, + UC_X86_INS_PHSUBW, + UC_X86_INS_PINSRW, + UC_X86_INS_PMADDUBSW, + UC_X86_INS_PMADDWD, + UC_X86_INS_PMAXSW, + UC_X86_INS_PMAXUB, + UC_X86_INS_PMINSW, + UC_X86_INS_PMINUB, + UC_X86_INS_PMOVMSKB, + UC_X86_INS_PMULHRSW, + UC_X86_INS_PMULHUW, + UC_X86_INS_PMULHW, + UC_X86_INS_PMULLW, + UC_X86_INS_PMULUDQ, + UC_X86_INS_POR, + UC_X86_INS_PSADBW, + UC_X86_INS_PSHUFB, + UC_X86_INS_PSHUFW, + UC_X86_INS_PSIGNB, + UC_X86_INS_PSIGND, + UC_X86_INS_PSIGNW, + UC_X86_INS_PSLLD, + UC_X86_INS_PSLLQ, + UC_X86_INS_PSLLW, + UC_X86_INS_PSRAD, + UC_X86_INS_PSRAW, + UC_X86_INS_PSRLD, + UC_X86_INS_PSRLQ, + UC_X86_INS_PSRLW, + UC_X86_INS_PSUBB, + UC_X86_INS_PSUBD, + UC_X86_INS_PSUBQ, + UC_X86_INS_PSUBSB, + UC_X86_INS_PSUBSW, + UC_X86_INS_PSUBUSB, + UC_X86_INS_PSUBUSW, + UC_X86_INS_PSUBW, + UC_X86_INS_PUNPCKHBW, + UC_X86_INS_PUNPCKHDQ, + UC_X86_INS_PUNPCKHWD, + UC_X86_INS_PUNPCKLBW, + UC_X86_INS_PUNPCKLDQ, + UC_X86_INS_PUNPCKLWD, + UC_X86_INS_PXOR, + UC_X86_INS_MONITOR, + UC_X86_INS_MONTMUL, + UC_X86_INS_MOV, + UC_X86_INS_MOVABS, + UC_X86_INS_MOVBE, + UC_X86_INS_MOVDDUP, + UC_X86_INS_MOVDQA, + UC_X86_INS_MOVDQU, + UC_X86_INS_MOVHLPS, + UC_X86_INS_MOVHPD, + UC_X86_INS_MOVHPS, + UC_X86_INS_MOVLHPS, + UC_X86_INS_MOVLPD, + UC_X86_INS_MOVLPS, + UC_X86_INS_MOVMSKPD, + UC_X86_INS_MOVMSKPS, + UC_X86_INS_MOVNTDQA, + UC_X86_INS_MOVNTDQ, + UC_X86_INS_MOVNTI, + UC_X86_INS_MOVNTPD, + UC_X86_INS_MOVNTPS, + UC_X86_INS_MOVNTSD, + UC_X86_INS_MOVNTSS, + UC_X86_INS_MOVSB, + UC_X86_INS_MOVSD, + UC_X86_INS_MOVSHDUP, + UC_X86_INS_MOVSLDUP, + UC_X86_INS_MOVSQ, + UC_X86_INS_MOVSS, + UC_X86_INS_MOVSW, + UC_X86_INS_MOVSX, + UC_X86_INS_MOVSXD, + UC_X86_INS_MOVUPD, + UC_X86_INS_MOVUPS, + UC_X86_INS_MOVZX, + UC_X86_INS_MPSADBW, + UC_X86_INS_MUL, + UC_X86_INS_MULPD, + UC_X86_INS_MULPS, + UC_X86_INS_MULSD, + UC_X86_INS_MULSS, + UC_X86_INS_MULX, + UC_X86_INS_FMUL, + UC_X86_INS_FIMUL, + UC_X86_INS_FMULP, + UC_X86_INS_MWAIT, + UC_X86_INS_NEG, + UC_X86_INS_NOP, + UC_X86_INS_NOT, + UC_X86_INS_OUT, + UC_X86_INS_OUTSB, + UC_X86_INS_OUTSD, + UC_X86_INS_OUTSW, + UC_X86_INS_PACKUSDW, + UC_X86_INS_PAUSE, + UC_X86_INS_PAVGUSB, + UC_X86_INS_PBLENDVB, + UC_X86_INS_PBLENDW, + UC_X86_INS_PCLMULQDQ, + UC_X86_INS_PCMPEQQ, + UC_X86_INS_PCMPESTRI, + UC_X86_INS_PCMPESTRM, + UC_X86_INS_PCMPGTQ, + UC_X86_INS_PCMPISTRI, + UC_X86_INS_PCMPISTRM, + UC_X86_INS_PCOMMIT, + UC_X86_INS_PDEP, + UC_X86_INS_PEXT, + UC_X86_INS_PEXTRB, + UC_X86_INS_PEXTRD, + UC_X86_INS_PEXTRQ, + UC_X86_INS_PF2ID, + UC_X86_INS_PF2IW, + UC_X86_INS_PFACC, + UC_X86_INS_PFADD, + UC_X86_INS_PFCMPEQ, + UC_X86_INS_PFCMPGE, + UC_X86_INS_PFCMPGT, + UC_X86_INS_PFMAX, + UC_X86_INS_PFMIN, + UC_X86_INS_PFMUL, + UC_X86_INS_PFNACC, + UC_X86_INS_PFPNACC, + UC_X86_INS_PFRCPIT1, + UC_X86_INS_PFRCPIT2, + UC_X86_INS_PFRCP, + UC_X86_INS_PFRSQIT1, + UC_X86_INS_PFRSQRT, + UC_X86_INS_PFSUBR, + UC_X86_INS_PFSUB, + UC_X86_INS_PHMINPOSUW, + UC_X86_INS_PI2FD, + UC_X86_INS_PI2FW, + UC_X86_INS_PINSRB, + UC_X86_INS_PINSRD, + UC_X86_INS_PINSRQ, + UC_X86_INS_PMAXSB, + UC_X86_INS_PMAXSD, + UC_X86_INS_PMAXUD, + UC_X86_INS_PMAXUW, + UC_X86_INS_PMINSB, + UC_X86_INS_PMINSD, + UC_X86_INS_PMINUD, + UC_X86_INS_PMINUW, + UC_X86_INS_PMOVSXBD, + UC_X86_INS_PMOVSXBQ, + UC_X86_INS_PMOVSXBW, + UC_X86_INS_PMOVSXDQ, + UC_X86_INS_PMOVSXWD, + UC_X86_INS_PMOVSXWQ, + UC_X86_INS_PMOVZXBD, + UC_X86_INS_PMOVZXBQ, + UC_X86_INS_PMOVZXBW, + UC_X86_INS_PMOVZXDQ, + UC_X86_INS_PMOVZXWD, + UC_X86_INS_PMOVZXWQ, + UC_X86_INS_PMULDQ, + UC_X86_INS_PMULHRW, + UC_X86_INS_PMULLD, + UC_X86_INS_POP, + UC_X86_INS_POPAW, + UC_X86_INS_POPAL, + UC_X86_INS_POPCNT, + UC_X86_INS_POPF, + UC_X86_INS_POPFD, + UC_X86_INS_POPFQ, + UC_X86_INS_PREFETCH, + UC_X86_INS_PREFETCHNTA, + UC_X86_INS_PREFETCHT0, + UC_X86_INS_PREFETCHT1, + UC_X86_INS_PREFETCHT2, + UC_X86_INS_PREFETCHW, + UC_X86_INS_PSHUFD, + UC_X86_INS_PSHUFHW, + UC_X86_INS_PSHUFLW, + UC_X86_INS_PSLLDQ, + UC_X86_INS_PSRLDQ, + UC_X86_INS_PSWAPD, + UC_X86_INS_PTEST, + UC_X86_INS_PUNPCKHQDQ, + UC_X86_INS_PUNPCKLQDQ, + UC_X86_INS_PUSH, + UC_X86_INS_PUSHAW, + UC_X86_INS_PUSHAL, + UC_X86_INS_PUSHF, + UC_X86_INS_PUSHFD, + UC_X86_INS_PUSHFQ, + UC_X86_INS_RCL, + UC_X86_INS_RCPPS, + UC_X86_INS_RCPSS, + UC_X86_INS_RCR, + UC_X86_INS_RDFSBASE, + UC_X86_INS_RDGSBASE, + UC_X86_INS_RDMSR, + UC_X86_INS_RDPMC, + UC_X86_INS_RDRAND, + UC_X86_INS_RDSEED, + UC_X86_INS_RDTSC, + UC_X86_INS_RDTSCP, + UC_X86_INS_ROL, + UC_X86_INS_ROR, + UC_X86_INS_RORX, + UC_X86_INS_ROUNDPD, + UC_X86_INS_ROUNDPS, + UC_X86_INS_ROUNDSD, + UC_X86_INS_ROUNDSS, + UC_X86_INS_RSM, + UC_X86_INS_RSQRTPS, + UC_X86_INS_RSQRTSS, + UC_X86_INS_SAHF, + UC_X86_INS_SAL, + UC_X86_INS_SALC, + UC_X86_INS_SAR, + UC_X86_INS_SARX, + UC_X86_INS_SBB, + UC_X86_INS_SCASB, + UC_X86_INS_SCASD, + UC_X86_INS_SCASQ, + UC_X86_INS_SCASW, + UC_X86_INS_SETAE, + UC_X86_INS_SETA, + UC_X86_INS_SETBE, + UC_X86_INS_SETB, + UC_X86_INS_SETE, + UC_X86_INS_SETGE, + UC_X86_INS_SETG, + UC_X86_INS_SETLE, + UC_X86_INS_SETL, + UC_X86_INS_SETNE, + UC_X86_INS_SETNO, + UC_X86_INS_SETNP, + UC_X86_INS_SETNS, + UC_X86_INS_SETO, + UC_X86_INS_SETP, + UC_X86_INS_SETS, + UC_X86_INS_SFENCE, + UC_X86_INS_SGDT, + UC_X86_INS_SHA1MSG1, + UC_X86_INS_SHA1MSG2, + UC_X86_INS_SHA1NEXTE, + UC_X86_INS_SHA1RNDS4, + UC_X86_INS_SHA256MSG1, + UC_X86_INS_SHA256MSG2, + UC_X86_INS_SHA256RNDS2, + UC_X86_INS_SHL, + UC_X86_INS_SHLD, + UC_X86_INS_SHLX, + UC_X86_INS_SHR, + UC_X86_INS_SHRD, + UC_X86_INS_SHRX, + UC_X86_INS_SHUFPD, + UC_X86_INS_SHUFPS, + UC_X86_INS_SIDT, + UC_X86_INS_FSIN, + UC_X86_INS_SKINIT, + UC_X86_INS_SLDT, + UC_X86_INS_SMSW, + UC_X86_INS_SQRTPD, + UC_X86_INS_SQRTPS, + UC_X86_INS_SQRTSD, + UC_X86_INS_SQRTSS, + UC_X86_INS_FSQRT, + UC_X86_INS_STAC, + UC_X86_INS_STC, + UC_X86_INS_STD, + UC_X86_INS_STGI, + UC_X86_INS_STI, + UC_X86_INS_STMXCSR, + UC_X86_INS_STOSB, + UC_X86_INS_STOSD, + UC_X86_INS_STOSQ, + UC_X86_INS_STOSW, + UC_X86_INS_STR, + UC_X86_INS_FST, + UC_X86_INS_FSTP, + UC_X86_INS_FSTPNCE, + UC_X86_INS_FXCH, + UC_X86_INS_SUBPD, + UC_X86_INS_SUBPS, + UC_X86_INS_FSUBR, + UC_X86_INS_FISUBR, + UC_X86_INS_FSUBRP, + UC_X86_INS_SUBSD, + UC_X86_INS_SUBSS, + UC_X86_INS_FSUB, + UC_X86_INS_FISUB, + UC_X86_INS_FSUBP, + UC_X86_INS_SWAPGS, + UC_X86_INS_SYSCALL, + UC_X86_INS_SYSENTER, + UC_X86_INS_SYSEXIT, + UC_X86_INS_SYSRET, + UC_X86_INS_T1MSKC, + UC_X86_INS_TEST, + UC_X86_INS_UD2, + UC_X86_INS_FTST, + UC_X86_INS_TZCNT, + UC_X86_INS_TZMSK, + UC_X86_INS_FUCOMPI, + UC_X86_INS_FUCOMI, + UC_X86_INS_FUCOMPP, + UC_X86_INS_FUCOMP, + UC_X86_INS_FUCOM, + UC_X86_INS_UD2B, + UC_X86_INS_UNPCKHPD, + UC_X86_INS_UNPCKHPS, + UC_X86_INS_UNPCKLPD, + UC_X86_INS_UNPCKLPS, + UC_X86_INS_VADDPD, + UC_X86_INS_VADDPS, + UC_X86_INS_VADDSD, + UC_X86_INS_VADDSS, + UC_X86_INS_VADDSUBPD, + UC_X86_INS_VADDSUBPS, + UC_X86_INS_VAESDECLAST, + UC_X86_INS_VAESDEC, + UC_X86_INS_VAESENCLAST, + UC_X86_INS_VAESENC, + UC_X86_INS_VAESIMC, + UC_X86_INS_VAESKEYGENASSIST, + UC_X86_INS_VALIGND, + UC_X86_INS_VALIGNQ, + UC_X86_INS_VANDNPD, + UC_X86_INS_VANDNPS, + UC_X86_INS_VANDPD, + UC_X86_INS_VANDPS, + UC_X86_INS_VBLENDMPD, + UC_X86_INS_VBLENDMPS, + UC_X86_INS_VBLENDPD, + UC_X86_INS_VBLENDPS, + UC_X86_INS_VBLENDVPD, + UC_X86_INS_VBLENDVPS, + UC_X86_INS_VBROADCASTF128, + UC_X86_INS_VBROADCASTI32X4, + UC_X86_INS_VBROADCASTI64X4, + UC_X86_INS_VBROADCASTSD, + UC_X86_INS_VBROADCASTSS, + UC_X86_INS_VCMPPD, + UC_X86_INS_VCMPPS, + UC_X86_INS_VCMPSD, + UC_X86_INS_VCMPSS, + UC_X86_INS_VCOMPRESSPD, + UC_X86_INS_VCOMPRESSPS, + UC_X86_INS_VCVTDQ2PD, + UC_X86_INS_VCVTDQ2PS, + UC_X86_INS_VCVTPD2DQX, + UC_X86_INS_VCVTPD2DQ, + UC_X86_INS_VCVTPD2PSX, + UC_X86_INS_VCVTPD2PS, + UC_X86_INS_VCVTPD2UDQ, + UC_X86_INS_VCVTPH2PS, + UC_X86_INS_VCVTPS2DQ, + UC_X86_INS_VCVTPS2PD, + UC_X86_INS_VCVTPS2PH, + UC_X86_INS_VCVTPS2UDQ, + UC_X86_INS_VCVTSD2SI, + UC_X86_INS_VCVTSD2USI, + UC_X86_INS_VCVTSS2SI, + UC_X86_INS_VCVTSS2USI, + UC_X86_INS_VCVTTPD2DQX, + UC_X86_INS_VCVTTPD2DQ, + UC_X86_INS_VCVTTPD2UDQ, + UC_X86_INS_VCVTTPS2DQ, + UC_X86_INS_VCVTTPS2UDQ, + UC_X86_INS_VCVTUDQ2PD, + UC_X86_INS_VCVTUDQ2PS, + UC_X86_INS_VDIVPD, + UC_X86_INS_VDIVPS, + UC_X86_INS_VDIVSD, + UC_X86_INS_VDIVSS, + UC_X86_INS_VDPPD, + UC_X86_INS_VDPPS, + UC_X86_INS_VERR, + UC_X86_INS_VERW, + UC_X86_INS_VEXP2PD, + UC_X86_INS_VEXP2PS, + UC_X86_INS_VEXPANDPD, + UC_X86_INS_VEXPANDPS, + UC_X86_INS_VEXTRACTF128, + UC_X86_INS_VEXTRACTF32X4, + UC_X86_INS_VEXTRACTF64X4, + UC_X86_INS_VEXTRACTI128, + UC_X86_INS_VEXTRACTI32X4, + UC_X86_INS_VEXTRACTI64X4, + UC_X86_INS_VEXTRACTPS, + UC_X86_INS_VFMADD132PD, + UC_X86_INS_VFMADD132PS, + UC_X86_INS_VFMADDPD, + UC_X86_INS_VFMADD213PD, + UC_X86_INS_VFMADD231PD, + UC_X86_INS_VFMADDPS, + UC_X86_INS_VFMADD213PS, + UC_X86_INS_VFMADD231PS, + UC_X86_INS_VFMADDSD, + UC_X86_INS_VFMADD213SD, + UC_X86_INS_VFMADD132SD, + UC_X86_INS_VFMADD231SD, + UC_X86_INS_VFMADDSS, + UC_X86_INS_VFMADD213SS, + UC_X86_INS_VFMADD132SS, + UC_X86_INS_VFMADD231SS, + UC_X86_INS_VFMADDSUB132PD, + UC_X86_INS_VFMADDSUB132PS, + UC_X86_INS_VFMADDSUBPD, + UC_X86_INS_VFMADDSUB213PD, + UC_X86_INS_VFMADDSUB231PD, + UC_X86_INS_VFMADDSUBPS, + UC_X86_INS_VFMADDSUB213PS, + UC_X86_INS_VFMADDSUB231PS, + UC_X86_INS_VFMSUB132PD, + UC_X86_INS_VFMSUB132PS, + UC_X86_INS_VFMSUBADD132PD, + UC_X86_INS_VFMSUBADD132PS, + UC_X86_INS_VFMSUBADDPD, + UC_X86_INS_VFMSUBADD213PD, + UC_X86_INS_VFMSUBADD231PD, + UC_X86_INS_VFMSUBADDPS, + UC_X86_INS_VFMSUBADD213PS, + UC_X86_INS_VFMSUBADD231PS, + UC_X86_INS_VFMSUBPD, + UC_X86_INS_VFMSUB213PD, + UC_X86_INS_VFMSUB231PD, + UC_X86_INS_VFMSUBPS, + UC_X86_INS_VFMSUB213PS, + UC_X86_INS_VFMSUB231PS, + UC_X86_INS_VFMSUBSD, + UC_X86_INS_VFMSUB213SD, + UC_X86_INS_VFMSUB132SD, + UC_X86_INS_VFMSUB231SD, + UC_X86_INS_VFMSUBSS, + UC_X86_INS_VFMSUB213SS, + UC_X86_INS_VFMSUB132SS, + UC_X86_INS_VFMSUB231SS, + UC_X86_INS_VFNMADD132PD, + UC_X86_INS_VFNMADD132PS, + UC_X86_INS_VFNMADDPD, + UC_X86_INS_VFNMADD213PD, + UC_X86_INS_VFNMADD231PD, + UC_X86_INS_VFNMADDPS, + UC_X86_INS_VFNMADD213PS, + UC_X86_INS_VFNMADD231PS, + UC_X86_INS_VFNMADDSD, + UC_X86_INS_VFNMADD213SD, + UC_X86_INS_VFNMADD132SD, + UC_X86_INS_VFNMADD231SD, + UC_X86_INS_VFNMADDSS, + UC_X86_INS_VFNMADD213SS, + UC_X86_INS_VFNMADD132SS, + UC_X86_INS_VFNMADD231SS, + UC_X86_INS_VFNMSUB132PD, + UC_X86_INS_VFNMSUB132PS, + UC_X86_INS_VFNMSUBPD, + UC_X86_INS_VFNMSUB213PD, + UC_X86_INS_VFNMSUB231PD, + UC_X86_INS_VFNMSUBPS, + UC_X86_INS_VFNMSUB213PS, + UC_X86_INS_VFNMSUB231PS, + UC_X86_INS_VFNMSUBSD, + UC_X86_INS_VFNMSUB213SD, + UC_X86_INS_VFNMSUB132SD, + UC_X86_INS_VFNMSUB231SD, + UC_X86_INS_VFNMSUBSS, + UC_X86_INS_VFNMSUB213SS, + UC_X86_INS_VFNMSUB132SS, + UC_X86_INS_VFNMSUB231SS, + UC_X86_INS_VFRCZPD, + UC_X86_INS_VFRCZPS, + UC_X86_INS_VFRCZSD, + UC_X86_INS_VFRCZSS, + UC_X86_INS_VORPD, + UC_X86_INS_VORPS, + UC_X86_INS_VXORPD, + UC_X86_INS_VXORPS, + UC_X86_INS_VGATHERDPD, + UC_X86_INS_VGATHERDPS, + UC_X86_INS_VGATHERPF0DPD, + UC_X86_INS_VGATHERPF0DPS, + UC_X86_INS_VGATHERPF0QPD, + UC_X86_INS_VGATHERPF0QPS, + UC_X86_INS_VGATHERPF1DPD, + UC_X86_INS_VGATHERPF1DPS, + UC_X86_INS_VGATHERPF1QPD, + UC_X86_INS_VGATHERPF1QPS, + UC_X86_INS_VGATHERQPD, + UC_X86_INS_VGATHERQPS, + UC_X86_INS_VHADDPD, + UC_X86_INS_VHADDPS, + UC_X86_INS_VHSUBPD, + UC_X86_INS_VHSUBPS, + UC_X86_INS_VINSERTF128, + UC_X86_INS_VINSERTF32X4, + UC_X86_INS_VINSERTF32X8, + UC_X86_INS_VINSERTF64X2, + UC_X86_INS_VINSERTF64X4, + UC_X86_INS_VINSERTI128, + UC_X86_INS_VINSERTI32X4, + UC_X86_INS_VINSERTI32X8, + UC_X86_INS_VINSERTI64X2, + UC_X86_INS_VINSERTI64X4, + UC_X86_INS_VINSERTPS, + UC_X86_INS_VLDDQU, + UC_X86_INS_VLDMXCSR, + UC_X86_INS_VMASKMOVDQU, + UC_X86_INS_VMASKMOVPD, + UC_X86_INS_VMASKMOVPS, + UC_X86_INS_VMAXPD, + UC_X86_INS_VMAXPS, + UC_X86_INS_VMAXSD, + UC_X86_INS_VMAXSS, + UC_X86_INS_VMCALL, + UC_X86_INS_VMCLEAR, + UC_X86_INS_VMFUNC, + UC_X86_INS_VMINPD, + UC_X86_INS_VMINPS, + UC_X86_INS_VMINSD, + UC_X86_INS_VMINSS, + UC_X86_INS_VMLAUNCH, + UC_X86_INS_VMLOAD, + UC_X86_INS_VMMCALL, + UC_X86_INS_VMOVQ, + UC_X86_INS_VMOVDDUP, + UC_X86_INS_VMOVD, + UC_X86_INS_VMOVDQA32, + UC_X86_INS_VMOVDQA64, + UC_X86_INS_VMOVDQA, + UC_X86_INS_VMOVDQU16, + UC_X86_INS_VMOVDQU32, + UC_X86_INS_VMOVDQU64, + UC_X86_INS_VMOVDQU8, + UC_X86_INS_VMOVDQU, + UC_X86_INS_VMOVHLPS, + UC_X86_INS_VMOVHPD, + UC_X86_INS_VMOVHPS, + UC_X86_INS_VMOVLHPS, + UC_X86_INS_VMOVLPD, + UC_X86_INS_VMOVLPS, + UC_X86_INS_VMOVMSKPD, + UC_X86_INS_VMOVMSKPS, + UC_X86_INS_VMOVNTDQA, + UC_X86_INS_VMOVNTDQ, + UC_X86_INS_VMOVNTPD, + UC_X86_INS_VMOVNTPS, + UC_X86_INS_VMOVSD, + UC_X86_INS_VMOVSHDUP, + UC_X86_INS_VMOVSLDUP, + UC_X86_INS_VMOVSS, + UC_X86_INS_VMOVUPD, + UC_X86_INS_VMOVUPS, + UC_X86_INS_VMPSADBW, + UC_X86_INS_VMPTRLD, + UC_X86_INS_VMPTRST, + UC_X86_INS_VMREAD, + UC_X86_INS_VMRESUME, + UC_X86_INS_VMRUN, + UC_X86_INS_VMSAVE, + UC_X86_INS_VMULPD, + UC_X86_INS_VMULPS, + UC_X86_INS_VMULSD, + UC_X86_INS_VMULSS, + UC_X86_INS_VMWRITE, + UC_X86_INS_VMXOFF, + UC_X86_INS_VMXON, + UC_X86_INS_VPABSB, + UC_X86_INS_VPABSD, + UC_X86_INS_VPABSQ, + UC_X86_INS_VPABSW, + UC_X86_INS_VPACKSSDW, + UC_X86_INS_VPACKSSWB, + UC_X86_INS_VPACKUSDW, + UC_X86_INS_VPACKUSWB, + UC_X86_INS_VPADDB, + UC_X86_INS_VPADDD, + UC_X86_INS_VPADDQ, + UC_X86_INS_VPADDSB, + UC_X86_INS_VPADDSW, + UC_X86_INS_VPADDUSB, + UC_X86_INS_VPADDUSW, + UC_X86_INS_VPADDW, + UC_X86_INS_VPALIGNR, + UC_X86_INS_VPANDD, + UC_X86_INS_VPANDND, + UC_X86_INS_VPANDNQ, + UC_X86_INS_VPANDN, + UC_X86_INS_VPANDQ, + UC_X86_INS_VPAND, + UC_X86_INS_VPAVGB, + UC_X86_INS_VPAVGW, + UC_X86_INS_VPBLENDD, + UC_X86_INS_VPBLENDMB, + UC_X86_INS_VPBLENDMD, + UC_X86_INS_VPBLENDMQ, + UC_X86_INS_VPBLENDMW, + UC_X86_INS_VPBLENDVB, + UC_X86_INS_VPBLENDW, + UC_X86_INS_VPBROADCASTB, + UC_X86_INS_VPBROADCASTD, + UC_X86_INS_VPBROADCASTMB2Q, + UC_X86_INS_VPBROADCASTMW2D, + UC_X86_INS_VPBROADCASTQ, + UC_X86_INS_VPBROADCASTW, + UC_X86_INS_VPCLMULQDQ, + UC_X86_INS_VPCMOV, + UC_X86_INS_VPCMPB, + UC_X86_INS_VPCMPD, + UC_X86_INS_VPCMPEQB, + UC_X86_INS_VPCMPEQD, + UC_X86_INS_VPCMPEQQ, + UC_X86_INS_VPCMPEQW, + UC_X86_INS_VPCMPESTRI, + UC_X86_INS_VPCMPESTRM, + UC_X86_INS_VPCMPGTB, + UC_X86_INS_VPCMPGTD, + UC_X86_INS_VPCMPGTQ, + UC_X86_INS_VPCMPGTW, + UC_X86_INS_VPCMPISTRI, + UC_X86_INS_VPCMPISTRM, + UC_X86_INS_VPCMPQ, + UC_X86_INS_VPCMPUB, + UC_X86_INS_VPCMPUD, + UC_X86_INS_VPCMPUQ, + UC_X86_INS_VPCMPUW, + UC_X86_INS_VPCMPW, + UC_X86_INS_VPCOMB, + UC_X86_INS_VPCOMD, + UC_X86_INS_VPCOMPRESSD, + UC_X86_INS_VPCOMPRESSQ, + UC_X86_INS_VPCOMQ, + UC_X86_INS_VPCOMUB, + UC_X86_INS_VPCOMUD, + UC_X86_INS_VPCOMUQ, + UC_X86_INS_VPCOMUW, + UC_X86_INS_VPCOMW, + UC_X86_INS_VPCONFLICTD, + UC_X86_INS_VPCONFLICTQ, + UC_X86_INS_VPERM2F128, + UC_X86_INS_VPERM2I128, + UC_X86_INS_VPERMD, + UC_X86_INS_VPERMI2D, + UC_X86_INS_VPERMI2PD, + UC_X86_INS_VPERMI2PS, + UC_X86_INS_VPERMI2Q, + UC_X86_INS_VPERMIL2PD, + UC_X86_INS_VPERMIL2PS, + UC_X86_INS_VPERMILPD, + UC_X86_INS_VPERMILPS, + UC_X86_INS_VPERMPD, + UC_X86_INS_VPERMPS, + UC_X86_INS_VPERMQ, + UC_X86_INS_VPERMT2D, + UC_X86_INS_VPERMT2PD, + UC_X86_INS_VPERMT2PS, + UC_X86_INS_VPERMT2Q, + UC_X86_INS_VPEXPANDD, + UC_X86_INS_VPEXPANDQ, + UC_X86_INS_VPEXTRB, + UC_X86_INS_VPEXTRD, + UC_X86_INS_VPEXTRQ, + UC_X86_INS_VPEXTRW, + UC_X86_INS_VPGATHERDD, + UC_X86_INS_VPGATHERDQ, + UC_X86_INS_VPGATHERQD, + UC_X86_INS_VPGATHERQQ, + UC_X86_INS_VPHADDBD, + UC_X86_INS_VPHADDBQ, + UC_X86_INS_VPHADDBW, + UC_X86_INS_VPHADDDQ, + UC_X86_INS_VPHADDD, + UC_X86_INS_VPHADDSW, + UC_X86_INS_VPHADDUBD, + UC_X86_INS_VPHADDUBQ, + UC_X86_INS_VPHADDUBW, + UC_X86_INS_VPHADDUDQ, + UC_X86_INS_VPHADDUWD, + UC_X86_INS_VPHADDUWQ, + UC_X86_INS_VPHADDWD, + UC_X86_INS_VPHADDWQ, + UC_X86_INS_VPHADDW, + UC_X86_INS_VPHMINPOSUW, + UC_X86_INS_VPHSUBBW, + UC_X86_INS_VPHSUBDQ, + UC_X86_INS_VPHSUBD, + UC_X86_INS_VPHSUBSW, + UC_X86_INS_VPHSUBWD, + UC_X86_INS_VPHSUBW, + UC_X86_INS_VPINSRB, + UC_X86_INS_VPINSRD, + UC_X86_INS_VPINSRQ, + UC_X86_INS_VPINSRW, + UC_X86_INS_VPLZCNTD, + UC_X86_INS_VPLZCNTQ, + UC_X86_INS_VPMACSDD, + UC_X86_INS_VPMACSDQH, + UC_X86_INS_VPMACSDQL, + UC_X86_INS_VPMACSSDD, + UC_X86_INS_VPMACSSDQH, + UC_X86_INS_VPMACSSDQL, + UC_X86_INS_VPMACSSWD, + UC_X86_INS_VPMACSSWW, + UC_X86_INS_VPMACSWD, + UC_X86_INS_VPMACSWW, + UC_X86_INS_VPMADCSSWD, + UC_X86_INS_VPMADCSWD, + UC_X86_INS_VPMADDUBSW, + UC_X86_INS_VPMADDWD, + UC_X86_INS_VPMASKMOVD, + UC_X86_INS_VPMASKMOVQ, + UC_X86_INS_VPMAXSB, + UC_X86_INS_VPMAXSD, + UC_X86_INS_VPMAXSQ, + UC_X86_INS_VPMAXSW, + UC_X86_INS_VPMAXUB, + UC_X86_INS_VPMAXUD, + UC_X86_INS_VPMAXUQ, + UC_X86_INS_VPMAXUW, + UC_X86_INS_VPMINSB, + UC_X86_INS_VPMINSD, + UC_X86_INS_VPMINSQ, + UC_X86_INS_VPMINSW, + UC_X86_INS_VPMINUB, + UC_X86_INS_VPMINUD, + UC_X86_INS_VPMINUQ, + UC_X86_INS_VPMINUW, + UC_X86_INS_VPMOVDB, + UC_X86_INS_VPMOVDW, + UC_X86_INS_VPMOVM2B, + UC_X86_INS_VPMOVM2D, + UC_X86_INS_VPMOVM2Q, + UC_X86_INS_VPMOVM2W, + UC_X86_INS_VPMOVMSKB, + UC_X86_INS_VPMOVQB, + UC_X86_INS_VPMOVQD, + UC_X86_INS_VPMOVQW, + UC_X86_INS_VPMOVSDB, + UC_X86_INS_VPMOVSDW, + UC_X86_INS_VPMOVSQB, + UC_X86_INS_VPMOVSQD, + UC_X86_INS_VPMOVSQW, + UC_X86_INS_VPMOVSXBD, + UC_X86_INS_VPMOVSXBQ, + UC_X86_INS_VPMOVSXBW, + UC_X86_INS_VPMOVSXDQ, + UC_X86_INS_VPMOVSXWD, + UC_X86_INS_VPMOVSXWQ, + UC_X86_INS_VPMOVUSDB, + UC_X86_INS_VPMOVUSDW, + UC_X86_INS_VPMOVUSQB, + UC_X86_INS_VPMOVUSQD, + UC_X86_INS_VPMOVUSQW, + UC_X86_INS_VPMOVZXBD, + UC_X86_INS_VPMOVZXBQ, + UC_X86_INS_VPMOVZXBW, + UC_X86_INS_VPMOVZXDQ, + UC_X86_INS_VPMOVZXWD, + UC_X86_INS_VPMOVZXWQ, + UC_X86_INS_VPMULDQ, + UC_X86_INS_VPMULHRSW, + UC_X86_INS_VPMULHUW, + UC_X86_INS_VPMULHW, + UC_X86_INS_VPMULLD, + UC_X86_INS_VPMULLQ, + UC_X86_INS_VPMULLW, + UC_X86_INS_VPMULUDQ, + UC_X86_INS_VPORD, + UC_X86_INS_VPORQ, + UC_X86_INS_VPOR, + UC_X86_INS_VPPERM, + UC_X86_INS_VPROTB, + UC_X86_INS_VPROTD, + UC_X86_INS_VPROTQ, + UC_X86_INS_VPROTW, + UC_X86_INS_VPSADBW, + UC_X86_INS_VPSCATTERDD, + UC_X86_INS_VPSCATTERDQ, + UC_X86_INS_VPSCATTERQD, + UC_X86_INS_VPSCATTERQQ, + UC_X86_INS_VPSHAB, + UC_X86_INS_VPSHAD, + UC_X86_INS_VPSHAQ, + UC_X86_INS_VPSHAW, + UC_X86_INS_VPSHLB, + UC_X86_INS_VPSHLD, + UC_X86_INS_VPSHLQ, + UC_X86_INS_VPSHLW, + UC_X86_INS_VPSHUFB, + UC_X86_INS_VPSHUFD, + UC_X86_INS_VPSHUFHW, + UC_X86_INS_VPSHUFLW, + UC_X86_INS_VPSIGNB, + UC_X86_INS_VPSIGND, + UC_X86_INS_VPSIGNW, + UC_X86_INS_VPSLLDQ, + UC_X86_INS_VPSLLD, + UC_X86_INS_VPSLLQ, + UC_X86_INS_VPSLLVD, + UC_X86_INS_VPSLLVQ, + UC_X86_INS_VPSLLW, + UC_X86_INS_VPSRAD, + UC_X86_INS_VPSRAQ, + UC_X86_INS_VPSRAVD, + UC_X86_INS_VPSRAVQ, + UC_X86_INS_VPSRAW, + UC_X86_INS_VPSRLDQ, + UC_X86_INS_VPSRLD, + UC_X86_INS_VPSRLQ, + UC_X86_INS_VPSRLVD, + UC_X86_INS_VPSRLVQ, + UC_X86_INS_VPSRLW, + UC_X86_INS_VPSUBB, + UC_X86_INS_VPSUBD, + UC_X86_INS_VPSUBQ, + UC_X86_INS_VPSUBSB, + UC_X86_INS_VPSUBSW, + UC_X86_INS_VPSUBUSB, + UC_X86_INS_VPSUBUSW, + UC_X86_INS_VPSUBW, + UC_X86_INS_VPTESTMD, + UC_X86_INS_VPTESTMQ, + UC_X86_INS_VPTESTNMD, + UC_X86_INS_VPTESTNMQ, + UC_X86_INS_VPTEST, + UC_X86_INS_VPUNPCKHBW, + UC_X86_INS_VPUNPCKHDQ, + UC_X86_INS_VPUNPCKHQDQ, + UC_X86_INS_VPUNPCKHWD, + UC_X86_INS_VPUNPCKLBW, + UC_X86_INS_VPUNPCKLDQ, + UC_X86_INS_VPUNPCKLQDQ, + UC_X86_INS_VPUNPCKLWD, + UC_X86_INS_VPXORD, + UC_X86_INS_VPXORQ, + UC_X86_INS_VPXOR, + UC_X86_INS_VRCP14PD, + UC_X86_INS_VRCP14PS, + UC_X86_INS_VRCP14SD, + UC_X86_INS_VRCP14SS, + UC_X86_INS_VRCP28PD, + UC_X86_INS_VRCP28PS, + UC_X86_INS_VRCP28SD, + UC_X86_INS_VRCP28SS, + UC_X86_INS_VRCPPS, + UC_X86_INS_VRCPSS, + UC_X86_INS_VRNDSCALEPD, + UC_X86_INS_VRNDSCALEPS, + UC_X86_INS_VRNDSCALESD, + UC_X86_INS_VRNDSCALESS, + UC_X86_INS_VROUNDPD, + UC_X86_INS_VROUNDPS, + UC_X86_INS_VROUNDSD, + UC_X86_INS_VROUNDSS, + UC_X86_INS_VRSQRT14PD, + UC_X86_INS_VRSQRT14PS, + UC_X86_INS_VRSQRT14SD, + UC_X86_INS_VRSQRT14SS, + UC_X86_INS_VRSQRT28PD, + UC_X86_INS_VRSQRT28PS, + UC_X86_INS_VRSQRT28SD, + UC_X86_INS_VRSQRT28SS, + UC_X86_INS_VRSQRTPS, + UC_X86_INS_VRSQRTSS, + UC_X86_INS_VSCATTERDPD, + UC_X86_INS_VSCATTERDPS, + UC_X86_INS_VSCATTERPF0DPD, + UC_X86_INS_VSCATTERPF0DPS, + UC_X86_INS_VSCATTERPF0QPD, + UC_X86_INS_VSCATTERPF0QPS, + UC_X86_INS_VSCATTERPF1DPD, + UC_X86_INS_VSCATTERPF1DPS, + UC_X86_INS_VSCATTERPF1QPD, + UC_X86_INS_VSCATTERPF1QPS, + UC_X86_INS_VSCATTERQPD, + UC_X86_INS_VSCATTERQPS, + UC_X86_INS_VSHUFPD, + UC_X86_INS_VSHUFPS, + UC_X86_INS_VSQRTPD, + UC_X86_INS_VSQRTPS, + UC_X86_INS_VSQRTSD, + UC_X86_INS_VSQRTSS, + UC_X86_INS_VSTMXCSR, + UC_X86_INS_VSUBPD, + UC_X86_INS_VSUBPS, + UC_X86_INS_VSUBSD, + UC_X86_INS_VSUBSS, + UC_X86_INS_VTESTPD, + UC_X86_INS_VTESTPS, + UC_X86_INS_VUNPCKHPD, + UC_X86_INS_VUNPCKHPS, + UC_X86_INS_VUNPCKLPD, + UC_X86_INS_VUNPCKLPS, + UC_X86_INS_VZEROALL, + UC_X86_INS_VZEROUPPER, + UC_X86_INS_WAIT, + UC_X86_INS_WBINVD, + UC_X86_INS_WRFSBASE, + UC_X86_INS_WRGSBASE, + UC_X86_INS_WRMSR, + UC_X86_INS_XABORT, + UC_X86_INS_XACQUIRE, + UC_X86_INS_XBEGIN, + UC_X86_INS_XCHG, + UC_X86_INS_XCRYPTCBC, + UC_X86_INS_XCRYPTCFB, + UC_X86_INS_XCRYPTCTR, + UC_X86_INS_XCRYPTECB, + UC_X86_INS_XCRYPTOFB, + UC_X86_INS_XEND, + UC_X86_INS_XGETBV, + UC_X86_INS_XLATB, + UC_X86_INS_XRELEASE, + UC_X86_INS_XRSTOR, + UC_X86_INS_XRSTOR64, + UC_X86_INS_XRSTORS, + UC_X86_INS_XRSTORS64, + UC_X86_INS_XSAVE, + UC_X86_INS_XSAVE64, + UC_X86_INS_XSAVEC, + UC_X86_INS_XSAVEC64, + UC_X86_INS_XSAVEOPT, + UC_X86_INS_XSAVEOPT64, + UC_X86_INS_XSAVES, + UC_X86_INS_XSAVES64, + UC_X86_INS_XSETBV, + UC_X86_INS_XSHA1, + UC_X86_INS_XSHA256, + UC_X86_INS_XSTORE, + UC_X86_INS_XTEST, + UC_X86_INS_FDISI8087_NOP, + UC_X86_INS_FENI8087_NOP, - X86_INS_ENDING, // mark the end of the list of insn -} x86_insn; + UC_X86_INS_ENDING, // mark the end of the list of insn +} uc_x86_insn; #ifdef __cplusplus } diff --git a/qemu/target-arm/unicorn_aarch64.c b/qemu/target-arm/unicorn_aarch64.c index b4324d15..4521d39e 100644 --- a/qemu/target-arm/unicorn_aarch64.c +++ b/qemu/target-arm/unicorn_aarch64.c @@ -43,18 +43,18 @@ int arm64_reg_read(uch handle, unsigned int regid, void *value) mycpu = first_cpu; - if (regid >= ARM64_REG_X0 && regid <= ARM64_REG_X28) - *(int64_t *)value = ARM_CPU(uc, mycpu)->env.xregs[regid - ARM64_REG_X0]; + if (regid >= UC_ARM64_REG_X0 && regid <= UC_ARM64_REG_X28) + *(int64_t *)value = ARM_CPU(uc, mycpu)->env.xregs[regid - UC_ARM64_REG_X0]; else { switch(regid) { default: break; - case ARM64_REG_X29: + case UC_ARM64_REG_X29: *(int64_t *)value = ARM_CPU(uc, mycpu)->env.xregs[29]; break; - case ARM64_REG_X30: + case UC_ARM64_REG_X30: *(int64_t *)value = ARM_CPU(uc, mycpu)->env.xregs[30]; break; - case ARM64_REG_PC: + case UC_ARM64_REG_PC: *(uint64_t *)value = ARM_CPU(uc, mycpu)->env.pc; break; } @@ -75,18 +75,18 @@ int arm64_reg_write(uch handle, unsigned int regid, void *value) mycpu = first_cpu; - if (regid >= ARM64_REG_X0 && regid <= ARM64_REG_X28) - ARM_CPU(uc, mycpu)->env.xregs[regid - ARM64_REG_X0] = *(int64_t *)value; + if (regid >= UC_ARM64_REG_X0 && regid <= UC_ARM64_REG_X28) + ARM_CPU(uc, mycpu)->env.xregs[regid - UC_ARM64_REG_X0] = *(int64_t *)value; else { switch(regid) { default: break; - case ARM64_REG_X29: + case UC_ARM64_REG_X29: ARM_CPU(uc, mycpu)->env.xregs[29] = *(int64_t *)value; break; - case ARM64_REG_X30: + case UC_ARM64_REG_X30: ARM_CPU(uc, mycpu)->env.xregs[30] = *(int64_t *)value; break; - case ARM64_REG_PC: + case UC_ARM64_REG_PC: ARM_CPU(uc, mycpu)->env.pc = *(uint64_t *)value; break; } diff --git a/qemu/target-arm/unicorn_arm.c b/qemu/target-arm/unicorn_arm.c index 5a2a3316..301233ef 100644 --- a/qemu/target-arm/unicorn_arm.c +++ b/qemu/target-arm/unicorn_arm.c @@ -48,20 +48,20 @@ int arm_reg_read(uch handle, unsigned int regid, void *value) break; case UC_MODE_ARM: case UC_MODE_THUMB: - if (regid >= ARM_REG_R0 && regid <= ARM_REG_R12) - *(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[regid - ARM_REG_R0]; + if (regid >= UC_ARM_REG_R0 && regid <= UC_ARM_REG_R12) + *(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[regid - UC_ARM_REG_R0]; else { switch(regid) { - //case ARM_REG_SP: - case ARM_REG_R13: + //case UC_ARM_REG_SP: + case UC_ARM_REG_R13: *(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[13]; break; - //case ARM_REG_LR: - case ARM_REG_R14: + //case UC_ARM_REG_LR: + case UC_ARM_REG_R14: *(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[14]; break; - //case ARM_REG_PC: - case ARM_REG_R15: + //case UC_ARM_REG_PC: + case UC_ARM_REG_R15: *(int32_t *)value = ARM_CPU(uc, mycpu)->env.regs[15]; break; } @@ -91,20 +91,20 @@ int arm_reg_write(uch handle, unsigned int regid, void *value) case UC_MODE_ARM: case UC_MODE_THUMB: - if (regid >= ARM_REG_R0 && regid <= ARM_REG_R12) - ARM_CPU(uc, mycpu)->env.regs[regid - ARM_REG_R0] = *(int32_t *)value; + if (regid >= UC_ARM_REG_R0 && regid <= UC_ARM_REG_R12) + ARM_CPU(uc, mycpu)->env.regs[regid - UC_ARM_REG_R0] = *(int32_t *)value; else { switch(regid) { - //case ARM_REG_SP: - case ARM_REG_R13: + //case UC_ARM_REG_SP: + case UC_ARM_REG_R13: ARM_CPU(uc, mycpu)->env.regs[13] = *(int32_t *)value; break; - //case ARM_REG_LR: - case ARM_REG_R14: + //case UC_ARM_REG_LR: + case UC_ARM_REG_R14: ARM_CPU(uc, mycpu)->env.regs[14] = *(int32_t *)value; break; - //case ARM_REG_PC: - case ARM_REG_R15: + //case UC_ARM_REG_PC: + case UC_ARM_REG_R15: ARM_CPU(uc, mycpu)->env.regs[15] = *(int32_t *)value; break; } diff --git a/qemu/target-i386/unicorn.c b/qemu/target-i386/unicorn.c index 7fdb5055..b3111cb0 100644 --- a/qemu/target-i386/unicorn.c +++ b/qemu/target-i386/unicorn.c @@ -147,19 +147,19 @@ int x86_reg_read(uch handle, unsigned int regid, void *value) case UC_MODE_16: switch(regid) { default: break; - case X86_REG_ES: + case UC_X86_REG_ES: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_ES].selector; return 0; - case X86_REG_SS: + case UC_X86_REG_SS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_SS].selector; return 0; - case X86_REG_DS: + case UC_X86_REG_DS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_DS].selector; return 0; - case X86_REG_FS: + case UC_X86_REG_FS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_FS].selector; return 0; - case X86_REG_GS: + case UC_X86_REG_GS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_GS].selector; return 0; } @@ -168,109 +168,109 @@ int x86_reg_read(uch handle, unsigned int regid, void *value) switch(regid) { default: break; - case X86_REG_CR0 ... X86_REG_CR4: - *(int32_t *)value = X86_CPU(uc, mycpu)->env.cr[regid - X86_REG_CR0]; + case UC_X86_REG_CR0 ... UC_X86_REG_CR4: + *(int32_t *)value = X86_CPU(uc, mycpu)->env.cr[regid - UC_X86_REG_CR0]; break; - case X86_REG_DR0 ... X86_REG_DR7: - *(int32_t *)value = X86_CPU(uc, mycpu)->env.dr[regid - X86_REG_DR0]; + case UC_X86_REG_DR0 ... UC_X86_REG_DR7: + *(int32_t *)value = X86_CPU(uc, mycpu)->env.dr[regid - UC_X86_REG_DR0]; break; - case X86_REG_EFLAGS: + case UC_X86_REG_EFLAGS: *(int32_t *)value = X86_CPU(uc, mycpu)->env.eflags; break; - case X86_REG_EAX: + case UC_X86_REG_EAX: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EAX]; break; - case X86_REG_AX: + case UC_X86_REG_AX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_AH: + case UC_X86_REG_AH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_AL: + case UC_X86_REG_AL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_EBX: + case UC_X86_REG_EBX: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EBX]; break; - case X86_REG_BX: + case UC_X86_REG_BX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_BH: + case UC_X86_REG_BH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_BL: + case UC_X86_REG_BL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_ECX: + case UC_X86_REG_ECX: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_ECX]; break; - case X86_REG_CX: + case UC_X86_REG_CX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_CH: + case UC_X86_REG_CH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_CL: + case UC_X86_REG_CL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_EDX: + case UC_X86_REG_EDX: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EDX]; break; - case X86_REG_DX: + case UC_X86_REG_DX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_DH: + case UC_X86_REG_DH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_DL: + case UC_X86_REG_DL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_ESP: + case UC_X86_REG_ESP: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_ESP]; break; - case X86_REG_SP: + case UC_X86_REG_SP: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESP]); break; - case X86_REG_EBP: + case UC_X86_REG_EBP: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EBP]; break; - case X86_REG_BP: + case UC_X86_REG_BP: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBP]); break; - case X86_REG_ESI: + case UC_X86_REG_ESI: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_ESI]; break; - case X86_REG_SI: + case UC_X86_REG_SI: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESI]); break; - case X86_REG_EDI: + case UC_X86_REG_EDI: *(int32_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EDI]; break; - case X86_REG_DI: + case UC_X86_REG_DI: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDI]); break; - case X86_REG_EIP: + case UC_X86_REG_EIP: *(int32_t *)value = X86_CPU(uc, mycpu)->env.eip; break; - case X86_REG_IP: + case UC_X86_REG_IP: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.eip); break; - case X86_REG_CS: + case UC_X86_REG_CS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_CS].base; break; - case X86_REG_DS: + case UC_X86_REG_DS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_DS].base; break; - case X86_REG_SS: + case UC_X86_REG_SS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_SS].base; break; - case X86_REG_ES: + case UC_X86_REG_ES: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_ES].base; break; - case X86_REG_FS: + case UC_X86_REG_FS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_FS].base; break; - case X86_REG_GS: + case UC_X86_REG_GS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_GS].base; break; } @@ -281,244 +281,244 @@ int x86_reg_read(uch handle, unsigned int regid, void *value) switch(regid) { default: break; - case X86_REG_CR0 ... X86_REG_CR4: - *(int64_t *)value = X86_CPU(uc, mycpu)->env.cr[regid - X86_REG_CR0]; + case UC_X86_REG_CR0 ... UC_X86_REG_CR4: + *(int64_t *)value = X86_CPU(uc, mycpu)->env.cr[regid - UC_X86_REG_CR0]; break; - case X86_REG_DR0 ... X86_REG_DR7: - *(int64_t *)value = X86_CPU(uc, mycpu)->env.dr[regid - X86_REG_DR0]; + case UC_X86_REG_DR0 ... UC_X86_REG_DR7: + *(int64_t *)value = X86_CPU(uc, mycpu)->env.dr[regid - UC_X86_REG_DR0]; break; - case X86_REG_EFLAGS: + case UC_X86_REG_EFLAGS: *(int64_t *)value = X86_CPU(uc, mycpu)->env.eflags; break; - case X86_REG_RAX: + case UC_X86_REG_RAX: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EAX]; break; - case X86_REG_EAX: + case UC_X86_REG_EAX: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_AX: + case UC_X86_REG_AX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_AH: + case UC_X86_REG_AH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_AL: + case UC_X86_REG_AL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EAX]); break; - case X86_REG_RBX: + case UC_X86_REG_RBX: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EBX]; break; - case X86_REG_EBX: + case UC_X86_REG_EBX: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_BX: + case UC_X86_REG_BX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_BH: + case UC_X86_REG_BH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_BL: + case UC_X86_REG_BL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EBX]); break; - case X86_REG_RCX: + case UC_X86_REG_RCX: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_ECX]; break; - case X86_REG_ECX: + case UC_X86_REG_ECX: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_CX: + case UC_X86_REG_CX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_CH: + case UC_X86_REG_CH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_CL: + case UC_X86_REG_CL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ECX]); break; - case X86_REG_RDX: + case UC_X86_REG_RDX: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EDX]; break; - case X86_REG_EDX: + case UC_X86_REG_EDX: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_DX: + case UC_X86_REG_DX: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_DH: + case UC_X86_REG_DH: *(int8_t *)value = READ_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_DL: + case UC_X86_REG_DL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EDX]); break; - case X86_REG_RSP: + case UC_X86_REG_RSP: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_ESP]; break; - case X86_REG_ESP: + case UC_X86_REG_ESP: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_ESP]); break; - case X86_REG_SP: + case UC_X86_REG_SP: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESP]); break; - case X86_REG_SPL: + case UC_X86_REG_SPL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ESP]); break; - case X86_REG_RBP: + case UC_X86_REG_RBP: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EBP]; break; - case X86_REG_EBP: + case UC_X86_REG_EBP: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EBP]); break; - case X86_REG_BP: + case UC_X86_REG_BP: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBP]); break; - case X86_REG_BPL: + case UC_X86_REG_BPL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EBP]); break; - case X86_REG_RSI: + case UC_X86_REG_RSI: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_ESI]; break; - case X86_REG_ESI: + case UC_X86_REG_ESI: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_ESI]); break; - case X86_REG_SI: + case UC_X86_REG_SI: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESI]); break; - case X86_REG_SIL: + case UC_X86_REG_SIL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ESI]); break; - case X86_REG_RDI: + case UC_X86_REG_RDI: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.regs[R_EDI]; break; - case X86_REG_EDI: + case UC_X86_REG_EDI: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EDI]); break; - case X86_REG_DI: + case UC_X86_REG_DI: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDI]); break; - case X86_REG_DIL: + case UC_X86_REG_DIL: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EDI]); break; - case X86_REG_RIP: + case UC_X86_REG_RIP: *(uint64_t *)value = X86_CPU(uc, mycpu)->env.eip; break; - case X86_REG_EIP: + case UC_X86_REG_EIP: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.eip); break; - case X86_REG_IP: + case UC_X86_REG_IP: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.eip); break; - case X86_REG_CS: + case UC_X86_REG_CS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_CS].base; break; - case X86_REG_DS: + case UC_X86_REG_DS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_DS].base; break; - case X86_REG_SS: + case UC_X86_REG_SS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_SS].base; break; - case X86_REG_ES: + case UC_X86_REG_ES: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_ES].base; break; - case X86_REG_FS: + case UC_X86_REG_FS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_FS].base; break; - case X86_REG_GS: + case UC_X86_REG_GS: *(int16_t *)value = X86_CPU(uc, mycpu)->env.segs[R_GS].base; break; - case X86_REG_R8: + case UC_X86_REG_R8: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[8]); break; - case X86_REG_R8D: + case UC_X86_REG_R8D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[8]); break; - case X86_REG_R8W: + case UC_X86_REG_R8W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[8]); break; - case X86_REG_R8B: + case UC_X86_REG_R8B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[8]); break; - case X86_REG_R9: + case UC_X86_REG_R9: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[9]); break; - case X86_REG_R9D: + case UC_X86_REG_R9D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[9]); break; - case X86_REG_R9W: + case UC_X86_REG_R9W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[9]); break; - case X86_REG_R9B: + case UC_X86_REG_R9B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[9]); break; - case X86_REG_R10: + case UC_X86_REG_R10: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[10]); break; - case X86_REG_R10D: + case UC_X86_REG_R10D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[10]); break; - case X86_REG_R10W: + case UC_X86_REG_R10W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[10]); break; - case X86_REG_R10B: + case UC_X86_REG_R10B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[10]); break; - case X86_REG_R11: + case UC_X86_REG_R11: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[11]); break; - case X86_REG_R11D: + case UC_X86_REG_R11D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[11]); break; - case X86_REG_R11W: + case UC_X86_REG_R11W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[11]); break; - case X86_REG_R11B: + case UC_X86_REG_R11B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[11]); break; - case X86_REG_R12: + case UC_X86_REG_R12: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[12]); break; - case X86_REG_R12D: + case UC_X86_REG_R12D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[12]); break; - case X86_REG_R12W: + case UC_X86_REG_R12W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[12]); break; - case X86_REG_R12B: + case UC_X86_REG_R12B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[12]); break; - case X86_REG_R13: + case UC_X86_REG_R13: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[13]); break; - case X86_REG_R13D: + case UC_X86_REG_R13D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[13]); break; - case X86_REG_R13W: + case UC_X86_REG_R13W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[13]); break; - case X86_REG_R13B: + case UC_X86_REG_R13B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[13]); break; - case X86_REG_R14: + case UC_X86_REG_R14: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[14]); break; - case X86_REG_R14D: + case UC_X86_REG_R14D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[14]); break; - case X86_REG_R14W: + case UC_X86_REG_R14W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[14]); break; - case X86_REG_R14B: + case UC_X86_REG_R14B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[14]); break; - case X86_REG_R15: + case UC_X86_REG_R15: *(int64_t *)value = READ_QWORD(X86_CPU(uc, mycpu)->env.regs[15]); break; - case X86_REG_R15D: + case UC_X86_REG_R15D: *(int32_t *)value = READ_DWORD(X86_CPU(uc, mycpu)->env.regs[15]); break; - case X86_REG_R15W: + case UC_X86_REG_R15W: *(int16_t *)value = READ_WORD(X86_CPU(uc, mycpu)->env.regs[15]); break; - case X86_REG_R15B: + case UC_X86_REG_R15B: *(int8_t *)value = READ_BYTE_L(X86_CPU(uc, mycpu)->env.regs[15]); break; } @@ -550,19 +550,19 @@ int x86_reg_write(uch handle, unsigned int regid, void *value) case UC_MODE_16: switch(regid) { default: break; - case X86_REG_ES: + case UC_X86_REG_ES: X86_CPU(uc, mycpu)->env.segs[R_ES].selector = *(int16_t *)value; return 0; - case X86_REG_SS: + case UC_X86_REG_SS: X86_CPU(uc, mycpu)->env.segs[R_SS].selector = *(int16_t *)value; return 0; - case X86_REG_DS: + case UC_X86_REG_DS: X86_CPU(uc, mycpu)->env.segs[R_DS].selector = *(int16_t *)value; return 0; - case X86_REG_FS: + case UC_X86_REG_FS: X86_CPU(uc, mycpu)->env.segs[R_FS].selector = *(int16_t *)value; return 0; - case X86_REG_GS: + case UC_X86_REG_GS: X86_CPU(uc, mycpu)->env.segs[R_GS].selector = *(int16_t *)value; return 0; } @@ -571,109 +571,109 @@ int x86_reg_write(uch handle, unsigned int regid, void *value) switch(regid) { default: break; - case X86_REG_CR0 ... X86_REG_CR4: - X86_CPU(uc, mycpu)->env.cr[regid - X86_REG_CR0] = *(int32_t *)value; + case UC_X86_REG_CR0 ... UC_X86_REG_CR4: + X86_CPU(uc, mycpu)->env.cr[regid - UC_X86_REG_CR0] = *(int32_t *)value; break; - case X86_REG_DR0 ... X86_REG_DR7: - X86_CPU(uc, mycpu)->env.dr[regid - X86_REG_DR0] = *(int32_t *)value; + case UC_X86_REG_DR0 ... UC_X86_REG_DR7: + X86_CPU(uc, mycpu)->env.dr[regid - UC_X86_REG_DR0] = *(int32_t *)value; break; - case X86_REG_EFLAGS: + case UC_X86_REG_EFLAGS: X86_CPU(uc, mycpu)->env.eflags = *(int32_t *)value; break; - case X86_REG_EAX: + case UC_X86_REG_EAX: X86_CPU(uc, mycpu)->env.regs[R_EAX] = *(int32_t *)value; break; - case X86_REG_AX: + case UC_X86_REG_AX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int16_t *)value); break; - case X86_REG_AH: + case UC_X86_REG_AH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int8_t *)value); break; - case X86_REG_AL: + case UC_X86_REG_AL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int8_t *)value); break; - case X86_REG_EBX: + case UC_X86_REG_EBX: X86_CPU(uc, mycpu)->env.regs[R_EBX] = *(int32_t *)value; break; - case X86_REG_BX: + case UC_X86_REG_BX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int16_t *)value); break; - case X86_REG_BH: + case UC_X86_REG_BH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int8_t *)value); break; - case X86_REG_BL: + case UC_X86_REG_BL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int8_t *)value); break; - case X86_REG_ECX: + case UC_X86_REG_ECX: X86_CPU(uc, mycpu)->env.regs[R_ECX] = *(int32_t *)value; break; - case X86_REG_CX: + case UC_X86_REG_CX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int16_t *)value); break; - case X86_REG_CH: + case UC_X86_REG_CH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int8_t *)value); break; - case X86_REG_CL: + case UC_X86_REG_CL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int8_t *)value); break; - case X86_REG_EDX: + case UC_X86_REG_EDX: X86_CPU(uc, mycpu)->env.regs[R_EDX] = *(int32_t *)value; break; - case X86_REG_DX: + case UC_X86_REG_DX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int16_t *)value); break; - case X86_REG_DH: + case UC_X86_REG_DH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int8_t *)value); break; - case X86_REG_DL: + case UC_X86_REG_DL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int8_t *)value); break; - case X86_REG_ESP: + case UC_X86_REG_ESP: X86_CPU(uc, mycpu)->env.regs[R_ESP] = *(int32_t *)value; break; - case X86_REG_SP: + case UC_X86_REG_SP: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESP], *(int16_t *)value); break; - case X86_REG_EBP: + case UC_X86_REG_EBP: X86_CPU(uc, mycpu)->env.regs[R_EBP] = *(int32_t *)value; break; - case X86_REG_BP: + case UC_X86_REG_BP: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBP], *(int16_t *)value); break; - case X86_REG_ESI: + case UC_X86_REG_ESI: X86_CPU(uc, mycpu)->env.regs[R_ESI] = *(int32_t *)value; break; - case X86_REG_SI: + case UC_X86_REG_SI: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESI], *(int16_t *)value); break; - case X86_REG_EDI: + case UC_X86_REG_EDI: X86_CPU(uc, mycpu)->env.regs[R_EDI] = *(int32_t *)value; break; - case X86_REG_DI: + case UC_X86_REG_DI: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDI], *(int16_t *)value); break; - case X86_REG_EIP: + case UC_X86_REG_EIP: X86_CPU(uc, mycpu)->env.eip = *(int32_t *)value; break; - case X86_REG_IP: + case UC_X86_REG_IP: WRITE_WORD(X86_CPU(uc, mycpu)->env.eip, *(int16_t *)value); break; - case X86_REG_CS: + case UC_X86_REG_CS: X86_CPU(uc, mycpu)->env.segs[R_CS].base = *(int16_t *)value; break; - case X86_REG_DS: + case UC_X86_REG_DS: X86_CPU(uc, mycpu)->env.segs[R_DS].base = *(int16_t *)value; break; - case X86_REG_SS: + case UC_X86_REG_SS: X86_CPU(uc, mycpu)->env.segs[R_SS].base = *(int16_t *)value; break; - case X86_REG_ES: + case UC_X86_REG_ES: X86_CPU(uc, mycpu)->env.segs[R_ES].base = *(int16_t *)value; break; - case X86_REG_FS: + case UC_X86_REG_FS: X86_CPU(uc, mycpu)->env.segs[R_FS].base = *(int16_t *)value; break; - case X86_REG_GS: + case UC_X86_REG_GS: X86_CPU(uc, mycpu)->env.segs[R_GS].base = *(int16_t *)value; break; } @@ -684,244 +684,244 @@ int x86_reg_write(uch handle, unsigned int regid, void *value) switch(regid) { default: break; - case X86_REG_CR0 ... X86_REG_CR4: - X86_CPU(uc, mycpu)->env.cr[regid - X86_REG_CR0] = *(int64_t *)value; + case UC_X86_REG_CR0 ... UC_X86_REG_CR4: + X86_CPU(uc, mycpu)->env.cr[regid - UC_X86_REG_CR0] = *(int64_t *)value; break; - case X86_REG_DR0 ... X86_REG_DR7: - X86_CPU(uc, mycpu)->env.dr[regid - X86_REG_DR0] = *(int64_t *)value; + case UC_X86_REG_DR0 ... UC_X86_REG_DR7: + X86_CPU(uc, mycpu)->env.dr[regid - UC_X86_REG_DR0] = *(int64_t *)value; break; - case X86_REG_EFLAGS: + case UC_X86_REG_EFLAGS: X86_CPU(uc, mycpu)->env.eflags = *(int64_t *)value; break; - case X86_REG_RAX: + case UC_X86_REG_RAX: X86_CPU(uc, mycpu)->env.regs[R_EAX] = *(int64_t *)value; break; - case X86_REG_EAX: + case UC_X86_REG_EAX: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int32_t *)value); break; - case X86_REG_AX: + case UC_X86_REG_AX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int16_t *)value); break; - case X86_REG_AH: + case UC_X86_REG_AH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int8_t *)value); break; - case X86_REG_AL: + case UC_X86_REG_AL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EAX], *(int8_t *)value); break; - case X86_REG_RBX: + case UC_X86_REG_RBX: X86_CPU(uc, mycpu)->env.regs[R_EBX] = *(int64_t *)value; break; - case X86_REG_EBX: + case UC_X86_REG_EBX: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int32_t *)value); break; - case X86_REG_BX: + case UC_X86_REG_BX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int16_t *)value); break; - case X86_REG_BH: + case UC_X86_REG_BH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int8_t *)value); break; - case X86_REG_BL: + case UC_X86_REG_BL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EBX], *(int8_t *)value); break; - case X86_REG_RCX: + case UC_X86_REG_RCX: X86_CPU(uc, mycpu)->env.regs[R_ECX] = *(int64_t *)value; break; - case X86_REG_ECX: + case UC_X86_REG_ECX: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int32_t *)value); break; - case X86_REG_CX: + case UC_X86_REG_CX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int16_t *)value); break; - case X86_REG_CH: + case UC_X86_REG_CH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int8_t *)value); break; - case X86_REG_CL: + case UC_X86_REG_CL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ECX], *(int8_t *)value); break; - case X86_REG_RDX: + case UC_X86_REG_RDX: X86_CPU(uc, mycpu)->env.regs[R_EDX] = *(int64_t *)value; break; - case X86_REG_EDX: + case UC_X86_REG_EDX: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int32_t *)value); break; - case X86_REG_DX: + case UC_X86_REG_DX: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int16_t *)value); break; - case X86_REG_DH: + case UC_X86_REG_DH: WRITE_BYTE_H(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int8_t *)value); break; - case X86_REG_DL: + case UC_X86_REG_DL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EDX], *(int8_t *)value); break; - case X86_REG_RSP: + case UC_X86_REG_RSP: X86_CPU(uc, mycpu)->env.regs[R_ESP] = *(int64_t *)value; break; - case X86_REG_ESP: + case UC_X86_REG_ESP: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_ESP], *(int32_t *)value); break; - case X86_REG_SP: + case UC_X86_REG_SP: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESP], *(int16_t *)value); break; - case X86_REG_SPL: + case UC_X86_REG_SPL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ESP], *(int8_t *)value); break; - case X86_REG_RBP: + case UC_X86_REG_RBP: X86_CPU(uc, mycpu)->env.regs[R_EBP] = *(int64_t *)value; break; - case X86_REG_EBP: + case UC_X86_REG_EBP: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EBP], *(int32_t *)value); break; - case X86_REG_BP: + case UC_X86_REG_BP: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EBP], *(int16_t *)value); break; - case X86_REG_BPL: + case UC_X86_REG_BPL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EBP], *(int8_t *)value); break; - case X86_REG_RSI: + case UC_X86_REG_RSI: X86_CPU(uc, mycpu)->env.regs[R_ESI] = *(int64_t *)value; break; - case X86_REG_ESI: + case UC_X86_REG_ESI: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_ESI], *(int32_t *)value); break; - case X86_REG_SI: + case UC_X86_REG_SI: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_ESI], *(int16_t *)value); break; - case X86_REG_SIL: + case UC_X86_REG_SIL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_ESI], *(int8_t *)value); break; - case X86_REG_RDI: + case UC_X86_REG_RDI: X86_CPU(uc, mycpu)->env.regs[R_EDI] = *(int64_t *)value; break; - case X86_REG_EDI: + case UC_X86_REG_EDI: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[R_EDI], *(int32_t *)value); break; - case X86_REG_DI: + case UC_X86_REG_DI: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[R_EDI], *(int16_t *)value); break; - case X86_REG_DIL: + case UC_X86_REG_DIL: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[R_EDI], *(int8_t *)value); break; - case X86_REG_RIP: + case UC_X86_REG_RIP: X86_CPU(uc, mycpu)->env.eip = *(int64_t *)value; break; - case X86_REG_EIP: + case UC_X86_REG_EIP: WRITE_DWORD(X86_CPU(uc, mycpu)->env.eip, *(int32_t *)value); break; - case X86_REG_IP: + case UC_X86_REG_IP: WRITE_WORD(X86_CPU(uc, mycpu)->env.eip, *(int16_t *)value); break; - case X86_REG_CS: + case UC_X86_REG_CS: X86_CPU(uc, mycpu)->env.segs[R_CS].base = *(int16_t *)value; break; - case X86_REG_DS: + case UC_X86_REG_DS: X86_CPU(uc, mycpu)->env.segs[R_DS].base = *(int16_t *)value; break; - case X86_REG_SS: + case UC_X86_REG_SS: X86_CPU(uc, mycpu)->env.segs[R_SS].base = *(int16_t *)value; break; - case X86_REG_ES: + case UC_X86_REG_ES: X86_CPU(uc, mycpu)->env.segs[R_ES].base = *(int16_t *)value; break; - case X86_REG_FS: + case UC_X86_REG_FS: X86_CPU(uc, mycpu)->env.segs[R_FS].base = *(int16_t *)value; break; - case X86_REG_GS: + case UC_X86_REG_GS: X86_CPU(uc, mycpu)->env.segs[R_GS].base = *(int16_t *)value; break; - case X86_REG_R8: + case UC_X86_REG_R8: X86_CPU(uc, mycpu)->env.regs[8] = *(int64_t *)value; break; - case X86_REG_R8D: + case UC_X86_REG_R8D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[8], *(int32_t *)value); break; - case X86_REG_R8W: + case UC_X86_REG_R8W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[8], *(int16_t *)value); break; - case X86_REG_R8B: + case UC_X86_REG_R8B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[8], *(int8_t *)value); break; - case X86_REG_R9: + case UC_X86_REG_R9: X86_CPU(uc, mycpu)->env.regs[9] = *(int64_t *)value; break; - case X86_REG_R9D: + case UC_X86_REG_R9D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[9], *(int32_t *)value); break; - case X86_REG_R9W: + case UC_X86_REG_R9W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[9], *(int16_t *)value); break; - case X86_REG_R9B: + case UC_X86_REG_R9B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[9], *(int8_t *)value); break; - case X86_REG_R10: + case UC_X86_REG_R10: X86_CPU(uc, mycpu)->env.regs[10] = *(int64_t *)value; break; - case X86_REG_R10D: + case UC_X86_REG_R10D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[10], *(int32_t *)value); break; - case X86_REG_R10W: + case UC_X86_REG_R10W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[10], *(int16_t *)value); break; - case X86_REG_R10B: + case UC_X86_REG_R10B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[10], *(int8_t *)value); break; - case X86_REG_R11: + case UC_X86_REG_R11: X86_CPU(uc, mycpu)->env.regs[11] = *(int64_t *)value; break; - case X86_REG_R11D: + case UC_X86_REG_R11D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[11], *(int32_t *)value); break; - case X86_REG_R11W: + case UC_X86_REG_R11W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[11], *(int16_t *)value); break; - case X86_REG_R11B: + case UC_X86_REG_R11B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[11], *(int8_t *)value); break; - case X86_REG_R12: + case UC_X86_REG_R12: X86_CPU(uc, mycpu)->env.regs[12] = *(int64_t *)value; break; - case X86_REG_R12D: + case UC_X86_REG_R12D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[12], *(int32_t *)value); break; - case X86_REG_R12W: + case UC_X86_REG_R12W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[12], *(int16_t *)value); break; - case X86_REG_R12B: + case UC_X86_REG_R12B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[12], *(int8_t *)value); break; - case X86_REG_R13: + case UC_X86_REG_R13: X86_CPU(uc, mycpu)->env.regs[13] = *(int64_t *)value; break; - case X86_REG_R13D: + case UC_X86_REG_R13D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[13], *(int32_t *)value); break; - case X86_REG_R13W: + case UC_X86_REG_R13W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[13], *(int16_t *)value); break; - case X86_REG_R13B: + case UC_X86_REG_R13B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[13], *(int8_t *)value); break; - case X86_REG_R14: + case UC_X86_REG_R14: X86_CPU(uc, mycpu)->env.regs[14] = *(int64_t *)value; break; - case X86_REG_R14D: + case UC_X86_REG_R14D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[14], *(int32_t *)value); break; - case X86_REG_R14W: + case UC_X86_REG_R14W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[14], *(int16_t *)value); break; - case X86_REG_R14B: + case UC_X86_REG_R14B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[14], *(int8_t *)value); break; - case X86_REG_R15: + case UC_X86_REG_R15: X86_CPU(uc, mycpu)->env.regs[15] = *(int64_t *)value; break; - case X86_REG_R15D: + case UC_X86_REG_R15D: WRITE_DWORD(X86_CPU(uc, mycpu)->env.regs[15], *(int32_t *)value); break; - case X86_REG_R15W: + case UC_X86_REG_R15W: WRITE_WORD(X86_CPU(uc, mycpu)->env.regs[15], *(int16_t *)value); break; - case X86_REG_R15B: + case UC_X86_REG_R15B: WRITE_BYTE_L(X86_CPU(uc, mycpu)->env.regs[15], *(int8_t *)value); break; } diff --git a/qemu/target-mips/unicorn.c b/qemu/target-mips/unicorn.c index d6a6437e..65f0bd75 100644 --- a/qemu/target-mips/unicorn.c +++ b/qemu/target-mips/unicorn.c @@ -37,12 +37,12 @@ int mips_reg_read(uch handle, unsigned int regid, void *value) struct uc_struct *uc = (struct uc_struct *) handle; CPUState *mycpu = first_cpu; - if (regid >= MIPS_REG_0 && regid <= MIPS_REG_31) - *(int32_t *)value = MIPS_CPU(uc, mycpu)->env.active_tc.gpr[regid - MIPS_REG_0]; + if (regid >= UC_MIPS_REG_0 && regid <= UC_MIPS_REG_31) + *(int32_t *)value = MIPS_CPU(uc, mycpu)->env.active_tc.gpr[regid - UC_MIPS_REG_0]; else { switch(regid) { default: break; - case MIPS_REG_PC: + case UC_MIPS_REG_PC: *(int32_t *)value = MIPS_CPU(uc, mycpu)->env.active_tc.PC; break; } @@ -62,12 +62,12 @@ int mips_reg_write(uch handle, unsigned int regid, void *value) struct uc_struct *uc = (struct uc_struct *) handle; CPUState *mycpu = first_cpu; - if (regid >= MIPS_REG_0 && regid <= MIPS_REG_31) - MIPS_CPU(uc, mycpu)->env.active_tc.gpr[regid - MIPS_REG_0] = *(int32_t *)value; + if (regid >= UC_MIPS_REG_0 && regid <= UC_MIPS_REG_31) + MIPS_CPU(uc, mycpu)->env.active_tc.gpr[regid - UC_MIPS_REG_0] = *(int32_t *)value; else { switch(regid) { default: break; - case MIPS_REG_PC: + case UC_MIPS_REG_PC: MIPS_CPU(uc, mycpu)->env.active_tc.PC = *(int32_t *)value; break; } diff --git a/qemu/target-sparc/unicorn.c b/qemu/target-sparc/unicorn.c index 77e70cf0..e91b2ecf 100644 --- a/qemu/target-sparc/unicorn.c +++ b/qemu/target-sparc/unicorn.c @@ -51,12 +51,12 @@ int sparc_reg_read(uch handle, unsigned int regid, void *value) struct uc_struct *uc = (struct uc_struct *) handle; CPUState *mycpu = first_cpu; - if (regid >= SPARC_REG_G0 && regid <= SPARC_REG_G7) - *(int32_t *)value = SPARC_CPU(uc, mycpu)->env.gregs[regid - SPARC_REG_G0]; + if (regid >= UC_SPARC_REG_G0 && regid <= UC_SPARC_REG_G7) + *(int32_t *)value = SPARC_CPU(uc, mycpu)->env.gregs[regid - UC_SPARC_REG_G0]; else { switch(regid) { default: break; - case SPARC_REG_PC: + case UC_SPARC_REG_PC: *(int32_t *)value = SPARC_CPU(uc, mycpu)->env.pc; break; } @@ -76,12 +76,12 @@ int sparc_reg_write(uch handle, unsigned int regid, void *value) struct uc_struct *uc = (struct uc_struct *) handle; CPUState *mycpu = first_cpu; - if (regid >= SPARC_REG_G0 && regid <= SPARC_REG_G7) - SPARC_CPU(uc, mycpu)->env.gregs[regid - SPARC_REG_G0] = *(int32_t *)value; + if (regid >= UC_SPARC_REG_G0 && regid <= UC_SPARC_REG_G7) + SPARC_CPU(uc, mycpu)->env.gregs[regid - UC_SPARC_REG_G0] = *(int32_t *)value; else { switch(regid) { default: break; - case SPARC_REG_PC: + case UC_SPARC_REG_PC: SPARC_CPU(uc, mycpu)->env.pc = *(uint32_t *)value; SPARC_CPU(uc, mycpu)->env.npc = *(uint32_t *)value + 4; break; diff --git a/qemu/target-sparc/unicorn64.c b/qemu/target-sparc/unicorn64.c index 203ac159..1c2eb8df 100644 --- a/qemu/target-sparc/unicorn64.c +++ b/qemu/target-sparc/unicorn64.c @@ -34,12 +34,12 @@ int sparc_reg_read(uch handle, unsigned int regid, void *value) struct uc_struct *uc = (struct uc_struct *) handle; CPUState *mycpu = first_cpu; - if (regid >= SPARC_REG_G0 && regid <= SPARC_REG_G7) - *(int32_t *)value = SPARC_CPU(uc, mycpu)->env.gregs[regid - SPARC_REG_G0]; + if (regid >= UC_SPARC_REG_G0 && regid <= UC_SPARC_REG_G7) + *(int32_t *)value = SPARC_CPU(uc, mycpu)->env.gregs[regid - UC_SPARC_REG_G0]; else { switch(regid) { default: break; - case SPARC_REG_PC: + case UC_SPARC_REG_PC: *(int32_t *)value = SPARC_CPU(uc, mycpu)->env.pc; break; } @@ -59,12 +59,12 @@ int sparc_reg_write(uch handle, unsigned int regid, void *value) struct uc_struct *uc = (struct uc_struct *) handle; CPUState *mycpu = first_cpu; - if (regid >= SPARC_REG_G0 && regid <= SPARC_REG_G7) - SPARC_CPU(uc, mycpu)->env.gregs[regid - SPARC_REG_G0] = *(int32_t *)value; + if (regid >= UC_SPARC_REG_G0 && regid <= UC_SPARC_REG_G7) + SPARC_CPU(uc, mycpu)->env.gregs[regid - UC_SPARC_REG_G0] = *(int32_t *)value; else { switch(regid) { default: break; - case SPARC_REG_PC: + case UC_SPARC_REG_PC: SPARC_CPU(uc, mycpu)->env.pc = *(uint32_t *)value; SPARC_CPU(uc, mycpu)->env.npc = *(uint32_t *)value + 4; break; diff --git a/regress/crash_tb.py b/regress/crash_tb.py index b1b3a16b..d4f99723 100755 --- a/regress/crash_tb.py +++ b/regress/crash_tb.py @@ -20,7 +20,7 @@ mu.mem_write(CODE_ADDR, binary1) # emu for maximum 1 sec. mu.emu_start(CODE_ADDR, len(binary1), UC_SECOND_SCALE) -print("RAX = %x" %mu.reg_read(X86_REG_RAX)) +print("RAX = %x" %mu.reg_read(UC_X86_REG_RAX)) # write machine code to be emulated to memory mu.mem_write(CODE_ADDR, binary2) @@ -28,5 +28,5 @@ mu.mem_write(CODE_ADDR, binary2) # emu for maximum 1 sec. mu.emu_start(CODE_ADDR, len(binary2), UC_SECOND_SCALE) -print("RAX = %x" %mu.reg_read(X86_REG_RAX)) +print("RAX = %x" %mu.reg_read(UC_X86_REG_RAX)) diff --git a/regress/hang.py b/regress/hang.py index 3bd16dda..50edaf2c 100755 --- a/regress/hang.py +++ b/regress/hang.py @@ -17,13 +17,13 @@ def hook_code(uc, address, size, user_data): # callback for tracing Linux interrupt def hook_intr(uc, intno, user_data): # only handle Linux syscall - rip = uc.reg_read(X86_REG_RIP) + rip = uc.reg_read(UC_X86_REG_RIP) if intno != 0x80: print("=== 0x%x: got interrupt %x, quit" %(rip, intno)); uc.emu_stop() return - eax = uc.reg_read(X86_REG_EAX) + eax = uc.reg_read(UC_X86_REG_EAX) print(">>> 0x%x: interrupt 0x%x, EAX = 0x%x" %(rip, intno, eax)) @@ -40,7 +40,7 @@ mu.hook_add(UC_HOOK_CODE, hook_code) mu.hook_add(UC_HOOK_INTR, hook_intr) # setup stack -mu.reg_write(X86_REG_RSP, 1024 * 1024) +mu.reg_write(UC_X86_REG_RSP, 1024 * 1024) # fill in memory with 0xCC (software breakpoint int 3) for i in xrange(1 * 1024): diff --git a/regress/wrong_rip.py b/regress/wrong_rip.py index 06088252..8c0b4c1f 100755 --- a/regress/wrong_rip.py +++ b/regress/wrong_rip.py @@ -16,17 +16,17 @@ mu.mem_write(0, binary1 + binary2) # emu for maximum 1 instruction. mu.emu_start(0, 5, 0, 1) -print("RAX = %u" %mu.reg_read(X86_REG_RAX)) +print("RAX = %u" %mu.reg_read(UC_X86_REG_RAX)) -pos = mu.reg_read(X86_REG_RIP) +pos = mu.reg_read(UC_X86_REG_RIP) print("RIP = %x" %pos) mu.emu_start(5, 10, 0, 1) -pos = mu.reg_read(X86_REG_RIP) +pos = mu.reg_read(UC_X86_REG_RIP) print("RIP = %x" %pos) -print("RAX = %u" %mu.reg_read(X86_REG_RAX)) +print("RAX = %u" %mu.reg_read(UC_X86_REG_RAX)) diff --git a/regress/wrong_rip2.py b/regress/wrong_rip2.py index 452f6c72..24d028ce 100755 --- a/regress/wrong_rip2.py +++ b/regress/wrong_rip2.py @@ -16,17 +16,17 @@ mu.mem_write(0, binary1 + binary2) # emu for maximum 1 instruction. mu.emu_start(0, 10, 0, 1) -print("RAX = %u" %mu.reg_read(X86_REG_RAX)) +print("RAX = %u" %mu.reg_read(UC_X86_REG_RAX)) -pos = mu.reg_read(X86_REG_RIP) +pos = mu.reg_read(UC_X86_REG_RIP) print("RIP = %x" %pos) mu.emu_start(5, 10, 0, 1) -pos = mu.reg_read(X86_REG_RIP) +pos = mu.reg_read(UC_X86_REG_RIP) print("RIP = %x" %pos) -print("RAX = %u" %mu.reg_read(X86_REG_RAX)) +print("RAX = %u" %mu.reg_read(UC_X86_REG_RAX)) diff --git a/regress/wrong_rip3.py b/regress/wrong_rip3.py index 604385ef..77c90eef 100755 --- a/regress/wrong_rip3.py +++ b/regress/wrong_rip3.py @@ -15,9 +15,9 @@ mu.mem_write(0, binary1) # emu for maximum 1 instruction. mu.emu_start(0, 10, 0, 1) -print("EAX = %u" %mu.reg_read(X86_REG_EAX)) +print("EAX = %u" %mu.reg_read(UC_X86_REG_EAX)) -pos = mu.reg_read(X86_REG_EIP) +pos = mu.reg_read(UC_X86_REG_EIP) print("EIP = %x" %pos) diff --git a/regress/wrong_rip4.py b/regress/wrong_rip4.py index f66838ee..9937483b 100755 --- a/regress/wrong_rip4.py +++ b/regress/wrong_rip4.py @@ -16,17 +16,17 @@ pos = 0 # emu for maximum 1 instruction. mu.emu_start(pos, len(binary1), 0, 1) -print("EAX = %u" %mu.reg_read(X86_REG_EAX)) +print("EAX = %u" %mu.reg_read(UC_X86_REG_EAX)) -pos = mu.reg_read(X86_REG_EIP) +pos = mu.reg_read(UC_X86_REG_EIP) print("EIP = %x" %pos) # emu to the end mu.emu_start(pos, len(binary1)) -print("EAX = %u" %mu.reg_read(X86_REG_EAX)) +print("EAX = %u" %mu.reg_read(UC_X86_REG_EAX)) -pos = mu.reg_read(X86_REG_EIP) +pos = mu.reg_read(UC_X86_REG_EIP) print("EIP = %x" %pos) diff --git a/samples/sample_arm.c b/samples/sample_arm.c index d55598b0..cb5cc6b3 100644 --- a/samples/sample_arm.c +++ b/samples/sample_arm.c @@ -53,9 +53,9 @@ static void test_arm(void) uc_mem_write(handle, ADDRESS, (uint8_t *)ARM_CODE, sizeof(ARM_CODE) - 1); // initialize machine registers - uc_reg_write(handle, ARM_REG_R0, &r0); - uc_reg_write(handle, ARM_REG_R2, &r2); - uc_reg_write(handle, ARM_REG_R3, &r3); + uc_reg_write(handle, UC_ARM_REG_R0, &r0); + uc_reg_write(handle, UC_ARM_REG_R2, &r2); + uc_reg_write(handle, UC_ARM_REG_R3, &r3); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -73,8 +73,8 @@ static void test_arm(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, ARM_REG_R0, &r0); - uc_reg_read(handle, ARM_REG_R1, &r1); + uc_reg_read(handle, UC_ARM_REG_R0, &r0); + uc_reg_read(handle, UC_ARM_REG_R1, &r1); printf(">>> R0 = 0x%x\n", r0); printf(">>> R1 = 0x%x\n", r1); @@ -106,7 +106,7 @@ static void test_thumb(void) uc_mem_write(handle, ADDRESS, (uint8_t *)THUMB_CODE, sizeof(THUMB_CODE) - 1); // initialize machine registers - uc_reg_write(handle, ARM_REG_SP, &sp); + uc_reg_write(handle, UC_ARM_REG_SP, &sp); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -124,7 +124,7 @@ static void test_thumb(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, ARM_REG_SP, &sp); + uc_reg_read(handle, UC_ARM_REG_SP, &sp); printf(">>> SP = 0x%x\n", sp); uc_close(&handle); diff --git a/samples/sample_arm64.c b/samples/sample_arm64.c index e33e6e80..f1c5ffbc 100644 --- a/samples/sample_arm64.c +++ b/samples/sample_arm64.c @@ -51,9 +51,9 @@ static void test_arm64(void) uc_mem_write(handle, ADDRESS, (uint8_t *)ARM_CODE, sizeof(ARM_CODE) - 1); // initialize machine registers - uc_reg_write(handle, ARM64_REG_X11, &x11); - uc_reg_write(handle, ARM64_REG_X13, &x13); - uc_reg_write(handle, ARM64_REG_X15, &x15); + uc_reg_write(handle, UC_ARM64_REG_X11, &x11); + uc_reg_write(handle, UC_ARM64_REG_X13, &x13); + uc_reg_write(handle, UC_ARM64_REG_X15, &x15); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -71,7 +71,7 @@ static void test_arm64(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, ARM64_REG_X11, &x11); + uc_reg_read(handle, UC_ARM64_REG_X11, &x11); printf(">>> X11 = 0x%" PRIx64 "\n", x11); uc_close(&handle); diff --git a/samples/sample_mips.c b/samples/sample_mips.c index 00fc7381..43d0682e 100644 --- a/samples/sample_mips.c +++ b/samples/sample_mips.c @@ -50,7 +50,7 @@ static void test_mips_eb(void) uc_mem_write(handle, ADDRESS, (uint8_t *)MIPS_CODE_EB, sizeof(MIPS_CODE_EB) - 1); // initialize machine registers - uc_reg_write(handle, MIPS_REG_1, &r1); + uc_reg_write(handle, UC_MIPS_REG_1, &r1); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -68,7 +68,7 @@ static void test_mips_eb(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, MIPS_REG_1, &r1); + uc_reg_read(handle, UC_MIPS_REG_1, &r1); printf(">>> R1 = 0x%x\n", r1); uc_close(&handle); @@ -100,7 +100,7 @@ static void test_mips_el(void) uc_mem_write(handle, ADDRESS, (uint8_t *)MIPS_CODE_EL, sizeof(MIPS_CODE_EL) - 1); // initialize machine registers - uc_reg_write(handle, MIPS_REG_1, &r1); + uc_reg_write(handle, UC_MIPS_REG_1, &r1); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -118,7 +118,7 @@ static void test_mips_el(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, MIPS_REG_1, &r1); + uc_reg_read(handle, UC_MIPS_REG_1, &r1); printf(">>> R1 = 0x%x\n", r1); uc_close(&handle); diff --git a/samples/sample_sparc.c b/samples/sample_sparc.c index 28983f68..52bb373d 100644 --- a/samples/sample_sparc.c +++ b/samples/sample_sparc.c @@ -52,9 +52,9 @@ static void test_sparc(void) uc_mem_write(handle, ADDRESS, (uint8_t *)SPARC_CODE, sizeof(SPARC_CODE) - 1); // initialize machine registers - uc_reg_write(handle, SPARC_REG_G1, &g1); - uc_reg_write(handle, SPARC_REG_G2, &g2); - uc_reg_write(handle, SPARC_REG_G3, &g3); + uc_reg_write(handle, UC_SPARC_REG_G1, &g1); + uc_reg_write(handle, UC_SPARC_REG_G2, &g2); + uc_reg_write(handle, UC_SPARC_REG_G3, &g3); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -73,7 +73,7 @@ static void test_sparc(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, SPARC_REG_G3, &g3); + uc_reg_read(handle, UC_SPARC_REG_G3, &g3); printf(">>> G3 = 0x%x\n", g3); uc_close(&handle); diff --git a/samples/sample_x86.c b/samples/sample_x86.c index 5b9981a9..b62e829e 100644 --- a/samples/sample_x86.c +++ b/samples/sample_x86.c @@ -41,7 +41,7 @@ static void hook_code(uch handle, uint64_t address, uint32_t size, void *user_da int eflags; printf(">>> Tracing instruction at 0x%"PRIx64 ", instruction size = 0x%x\n", address, size); - uc_reg_read(handle, X86_REG_EFLAGS, &eflags); + uc_reg_read(handle, UC_X86_REG_EFLAGS, &eflags); printf(">>> --- EFLAGS is 0x%x\n", eflags); // Uncomment below code to stop the emulation using uc_emu_stop() @@ -54,7 +54,7 @@ static void hook_code64(uch handle, uint64_t address, uint32_t size, void *user_ { uint64_t rip; - uc_reg_read(handle, X86_REG_RIP, &rip); + uc_reg_read(handle, UC_X86_REG_RIP, &rip); printf(">>> Tracing instruction at 0x%"PRIx64 ", instruction size = 0x%x\n", address, size); printf(">>> RIP is 0x%"PRIx64 "\n", rip); @@ -103,7 +103,7 @@ static uint32_t hook_in(uch handle, uint32_t port, int size, void *user_data) { uint32_t eip; - uc_reg_read(handle, X86_REG_EIP, &eip); + uc_reg_read(handle, UC_X86_REG_EIP, &eip); printf("--- reading from port 0x%x, size: %u, address: 0x%x\n", port, size, eip); @@ -129,7 +129,7 @@ static void hook_out(uch handle, uint32_t port, int size, uint32_t value, void * uint32_t tmp; uint32_t eip; - uc_reg_read(handle, X86_REG_EIP, &eip); + uc_reg_read(handle, UC_X86_REG_EIP, &eip); printf("--- writing to port 0x%x, size: %u, value: 0x%x, address: 0x%x\n", port, size, value, eip); @@ -138,13 +138,13 @@ static void hook_out(uch handle, uint32_t port, int size, uint32_t value, void * default: return; // should never reach this case 1: - uc_reg_read(handle, X86_REG_AL, &tmp); + uc_reg_read(handle, UC_X86_REG_AL, &tmp); break; case 2: - uc_reg_read(handle, X86_REG_AX, &tmp); + uc_reg_read(handle, UC_X86_REG_AX, &tmp); break; case 4: - uc_reg_read(handle, X86_REG_EAX, &tmp); + uc_reg_read(handle, UC_X86_REG_EAX, &tmp); break; } @@ -180,8 +180,8 @@ static void test_i386(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_ECX, &r_ecx); - uc_reg_write(handle, X86_REG_EDX, &r_edx); + uc_reg_write(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_write(handle, UC_X86_REG_EDX, &r_edx); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -199,8 +199,8 @@ static void test_i386(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_ECX, &r_ecx); - uc_reg_read(handle, X86_REG_EDX, &r_edx); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_EDX, &r_edx); printf(">>> ECX = 0x%x\n", r_ecx); printf(">>> EDX = 0x%x\n", r_edx); @@ -286,8 +286,8 @@ static void test_i386_loop(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_ECX, &r_ecx); - uc_reg_write(handle, X86_REG_EDX, &r_edx); + uc_reg_write(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_write(handle, UC_X86_REG_EDX, &r_edx); // emulate machine code in 2 seconds, so we can quit even // if the code loops @@ -300,8 +300,8 @@ static void test_i386_loop(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_ECX, &r_ecx); - uc_reg_read(handle, X86_REG_EDX, &r_edx); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_EDX, &r_edx); printf(">>> ECX = 0x%x\n", r_ecx); printf(">>> EDX = 0x%x\n", r_edx); @@ -338,8 +338,8 @@ static void test_i386_invalid_mem_read(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_ECX, &r_ecx); - uc_reg_write(handle, X86_REG_EDX, &r_edx); + uc_reg_write(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_write(handle, UC_X86_REG_EDX, &r_edx); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -357,8 +357,8 @@ static void test_i386_invalid_mem_read(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_ECX, &r_ecx); - uc_reg_read(handle, X86_REG_EDX, &r_edx); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_EDX, &r_edx); printf(">>> ECX = 0x%x\n", r_ecx); printf(">>> EDX = 0x%x\n", r_edx); @@ -396,8 +396,8 @@ static void test_i386_invalid_mem_write(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_ECX, &r_ecx); - uc_reg_write(handle, X86_REG_EDX, &r_edx); + uc_reg_write(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_write(handle, UC_X86_REG_EDX, &r_edx); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -418,8 +418,8 @@ static void test_i386_invalid_mem_write(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_ECX, &r_ecx); - uc_reg_read(handle, X86_REG_EDX, &r_edx); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_EDX, &r_edx); printf(">>> ECX = 0x%x\n", r_ecx); printf(">>> EDX = 0x%x\n", r_edx); @@ -467,8 +467,8 @@ static void test_i386_jump_invalid(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_ECX, &r_ecx); - uc_reg_write(handle, X86_REG_EDX, &r_edx); + uc_reg_write(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_write(handle, UC_X86_REG_EDX, &r_edx); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -486,8 +486,8 @@ static void test_i386_jump_invalid(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_ECX, &r_ecx); - uc_reg_read(handle, X86_REG_EDX, &r_edx); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_EDX, &r_edx); printf(">>> ECX = 0x%x\n", r_ecx); printf(">>> EDX = 0x%x\n", r_edx); @@ -524,8 +524,8 @@ static void test_i386_inout(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_EAX, &r_eax); - uc_reg_write(handle, X86_REG_ECX, &r_ecx); + uc_reg_write(handle, UC_X86_REG_EAX, &r_eax); + uc_reg_write(handle, UC_X86_REG_ECX, &r_ecx); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -534,9 +534,9 @@ static void test_i386_inout(void) uc_hook_add(handle, &trace2, UC_HOOK_CODE, hook_code, NULL, (uint64_t)1, (uint64_t)0); // handle IN instruction - uc_hook_add(handle, &trace3, UC_HOOK_INSN, hook_in, NULL, X86_INS_IN); + uc_hook_add(handle, &trace3, UC_HOOK_INSN, hook_in, NULL, UC_X86_INS_IN); // handle OUT instruction - uc_hook_add(handle, &trace4, UC_HOOK_INSN, hook_out, NULL, X86_INS_OUT); + uc_hook_add(handle, &trace4, UC_HOOK_INSN, hook_out, NULL, UC_X86_INS_OUT); // emulate machine code in infinite time err = uc_emu_start(handle, ADDRESS, ADDRESS + sizeof(X86_CODE32_INOUT) - 1, 0, 0); @@ -548,8 +548,8 @@ static void test_i386_inout(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_EAX, &r_eax); - uc_reg_read(handle, X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_EAX, &r_eax); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); printf(">>> EAX = 0x%x\n", r_eax); printf(">>> ECX = 0x%x\n", r_ecx); @@ -599,22 +599,22 @@ static void test_x86_64(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_RSP, &rsp); + uc_reg_write(handle, UC_X86_REG_RSP, &rsp); - uc_reg_write(handle, X86_REG_RAX, &rax); - uc_reg_write(handle, X86_REG_RBX, &rbx); - uc_reg_write(handle, X86_REG_RCX, &rcx); - uc_reg_write(handle, X86_REG_RDX, &rdx); - uc_reg_write(handle, X86_REG_RSI, &rsi); - uc_reg_write(handle, X86_REG_RDI, &rdi); - uc_reg_write(handle, X86_REG_R8, &r8); - uc_reg_write(handle, X86_REG_R9, &r9); - uc_reg_write(handle, X86_REG_R10, &r10); - uc_reg_write(handle, X86_REG_R11, &r11); - uc_reg_write(handle, X86_REG_R12, &r12); - uc_reg_write(handle, X86_REG_R13, &r13); - uc_reg_write(handle, X86_REG_R14, &r14); - uc_reg_write(handle, X86_REG_R15, &r15); + uc_reg_write(handle, UC_X86_REG_RAX, &rax); + uc_reg_write(handle, UC_X86_REG_RBX, &rbx); + uc_reg_write(handle, UC_X86_REG_RCX, &rcx); + uc_reg_write(handle, UC_X86_REG_RDX, &rdx); + uc_reg_write(handle, UC_X86_REG_RSI, &rsi); + uc_reg_write(handle, UC_X86_REG_RDI, &rdi); + uc_reg_write(handle, UC_X86_REG_R8, &r8); + uc_reg_write(handle, UC_X86_REG_R9, &r9); + uc_reg_write(handle, UC_X86_REG_R10, &r10); + uc_reg_write(handle, UC_X86_REG_R11, &r11); + uc_reg_write(handle, UC_X86_REG_R12, &r12); + uc_reg_write(handle, UC_X86_REG_R13, &r13); + uc_reg_write(handle, UC_X86_REG_R14, &r14); + uc_reg_write(handle, UC_X86_REG_R15, &r15); // tracing all basic blocks with customized callback uc_hook_add(handle, &trace1, UC_HOOK_BLOCK, hook_block, NULL, (uint64_t)1, (uint64_t)0); @@ -639,20 +639,20 @@ static void test_x86_64(void) // now print out some registers printf(">>> Emulation done. Below is the CPU context\n"); - uc_reg_read(handle, X86_REG_RAX, &rax); - uc_reg_read(handle, X86_REG_RBX, &rbx); - uc_reg_read(handle, X86_REG_RCX, &rcx); - uc_reg_read(handle, X86_REG_RDX, &rdx); - uc_reg_read(handle, X86_REG_RSI, &rsi); - uc_reg_read(handle, X86_REG_RDI, &rdi); - uc_reg_read(handle, X86_REG_R8, &r8); - uc_reg_read(handle, X86_REG_R9, &r9); - uc_reg_read(handle, X86_REG_R10, &r10); - uc_reg_read(handle, X86_REG_R11, &r11); - uc_reg_read(handle, X86_REG_R12, &r12); - uc_reg_read(handle, X86_REG_R13, &r13); - uc_reg_read(handle, X86_REG_R14, &r14); - uc_reg_read(handle, X86_REG_R15, &r15); + uc_reg_read(handle, UC_X86_REG_RAX, &rax); + uc_reg_read(handle, UC_X86_REG_RBX, &rbx); + uc_reg_read(handle, UC_X86_REG_RCX, &rcx); + uc_reg_read(handle, UC_X86_REG_RDX, &rdx); + uc_reg_read(handle, UC_X86_REG_RSI, &rsi); + uc_reg_read(handle, UC_X86_REG_RDI, &rdi); + uc_reg_read(handle, UC_X86_REG_R8, &r8); + uc_reg_read(handle, UC_X86_REG_R9, &r9); + uc_reg_read(handle, UC_X86_REG_R10, &r10); + uc_reg_read(handle, UC_X86_REG_R11, &r11); + uc_reg_read(handle, UC_X86_REG_R12, &r12); + uc_reg_read(handle, UC_X86_REG_R13, &r13); + uc_reg_read(handle, UC_X86_REG_R14, &r14); + uc_reg_read(handle, UC_X86_REG_R15, &r15); printf(">>> RAX = 0x%" PRIx64 "\n", rax); printf(">>> RBX = 0x%" PRIx64 "\n", rbx); diff --git a/samples/shellcode.c b/samples/shellcode.c index 8b497b74..51dfb481 100644 --- a/samples/shellcode.c +++ b/samples/shellcode.c @@ -27,7 +27,7 @@ static void hook_code(uch handle, uint64_t address, uint32_t size, void *user_da printf("Tracing instruction at 0x%"PRIx64 ", instruction size = 0x%x\n", address, size); - uc_reg_read(handle, X86_REG_EIP, &r_eip); + uc_reg_read(handle, UC_X86_REG_EIP, &r_eip); printf("*** EIP = %x ***: ", r_eip); size = MIN(sizeof(tmp), size); @@ -53,8 +53,8 @@ static void hook_intr(uch handle, uint32_t intno, void *user_data) if (intno != 0x80) return; - uc_reg_read(handle, X86_REG_EAX, &r_eax); - uc_reg_read(handle, X86_REG_EIP, &r_eip); + uc_reg_read(handle, UC_X86_REG_EAX, &r_eax); + uc_reg_read(handle, UC_X86_REG_EIP, &r_eip); switch(r_eax) { default: @@ -66,10 +66,10 @@ static void hook_intr(uch handle, uint32_t intno, void *user_data) break; case 4: // sys_write // ECX = buffer address - uc_reg_read(handle, X86_REG_ECX, &r_ecx); + uc_reg_read(handle, UC_X86_REG_ECX, &r_ecx); // EDX = buffer size - uc_reg_read(handle, X86_REG_EDX, &r_edx); + uc_reg_read(handle, UC_X86_REG_EDX, &r_edx); // read the buffer in size = MIN(sizeof(buffer)-1, r_edx); @@ -113,7 +113,7 @@ static void test_i386(void) } // initialize machine registers - uc_reg_write(handle, X86_REG_ESP, &r_esp); + uc_reg_write(handle, UC_X86_REG_ESP, &r_esp); // tracing all instructions by having @begin > @end uc_hook_add(handle, &trace1, UC_HOOK_CODE, hook_code, NULL, 1, 0); diff --git a/uc.c b/uc.c index 9cfbeb32..f45c2457 100644 --- a/uc.c +++ b/uc.c @@ -435,13 +435,13 @@ uc_err uc_emu_start(uch handle, uint64_t begin, uint64_t until, uint64_t timeout default: break; case UC_MODE_16: - uc_reg_write(handle, X86_REG_IP, &begin); + uc_reg_write(handle, UC_X86_REG_IP, &begin); break; case UC_MODE_32: - uc_reg_write(handle, X86_REG_EIP, &begin); + uc_reg_write(handle, UC_X86_REG_EIP, &begin); break; case UC_MODE_64: - uc_reg_write(handle, X86_REG_RIP, &begin); + uc_reg_write(handle, UC_X86_REG_RIP, &begin); break; } break; @@ -452,23 +452,23 @@ uc_err uc_emu_start(uch handle, uint64_t begin, uint64_t until, uint64_t timeout break; case UC_MODE_THUMB: case UC_MODE_ARM: - uc_reg_write(handle, ARM_REG_R15, &begin); + uc_reg_write(handle, UC_ARM_REG_R15, &begin); break; } break; case UC_ARCH_ARM64: - uc_reg_write(handle, ARM64_REG_PC, &begin); + uc_reg_write(handle, UC_ARM64_REG_PC, &begin); break; case UC_ARCH_MIPS: // TODO: MIPS32/MIPS64/BIGENDIAN etc - uc_reg_write(handle, MIPS_REG_PC, &begin); + uc_reg_write(handle, UC_MIPS_REG_PC, &begin); break; case UC_ARCH_SPARC: // TODO: Sparc/Sparc64 - uc_reg_write(handle, SPARC_REG_PC, &begin); + uc_reg_write(handle, UC_SPARC_REG_PC, &begin); break; } @@ -623,7 +623,7 @@ static uc_err _hook_insn(struct uc_struct *uc, unsigned int insn_id, void *callb case UC_ARCH_X86: switch(insn_id) { default: break; - case X86_INS_OUT: + case UC_X86_INS_OUT: // FIXME: only one event handler at the same time i = hook_find_new(uc); if (i) { @@ -634,7 +634,7 @@ static uc_err _hook_insn(struct uc_struct *uc, unsigned int insn_id, void *callb return UC_ERR_OK; } else return UC_ERR_OOM; - case X86_INS_IN: + case UC_X86_INS_IN: // FIXME: only one event handler at the same time i = hook_find_new(uc); if (i) { @@ -645,8 +645,8 @@ static uc_err _hook_insn(struct uc_struct *uc, unsigned int insn_id, void *callb return UC_ERR_OK; } else return UC_ERR_OOM; - case X86_INS_SYSCALL: - case X86_INS_SYSENTER: + case UC_X86_INS_SYSCALL: + case UC_X86_INS_SYSENTER: // FIXME: only one event handler at the same time i = hook_find_new(uc); if (i) {