/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│ │vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│ ╞══════════════════════════════════════════════════════════════════════════════╡ │ Copyright 2020 Justine Alexandra Roberts Tunney │ │ │ │ Permission to use, copy, modify, and/or distribute this software for │ │ any purpose with or without fee is hereby granted, provided that the │ │ above copyright notice and this permission notice appear in all copies. │ │ │ │ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │ │ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │ │ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │ │ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │ │ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │ │ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/testlib/testlib.h" #include "test/libc/xed/lib.h" #include "third_party/xed/x86.h" /** * @fileoverview GCC's popular i386+ instruction w/ NexGen32e encoding. */ TEST(x86ild, test_E800000000) { /* ICLASS: CALL_NEAR CATEGORY: CALL EXTENSION: BASE IFORM: CALL_NEAR_RELBRd ISA_SET: I86 SHORT: call 0x5 */ EXPECT_EQ(5, ild(u"Φ    ")); EXPECT_EQ(5, ildlegacy(u"Φ    ")); EXPECT_EQ(3, ildreal(u"Φ  ")); } TEST(x86ild, test_C3) { /* ICLASS: RET_NEAR CATEGORY: RET EXTENSION: BASE IFORM: RET_NEAR ISA_SET: I86 SHORT: ret */ EXPECT_EQ(1, ild(u"├")); } TEST(x86ild, test_5A) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop rdx */ EXPECT_EQ(1, ild(u"Z")); } TEST(x86ild, test_4889DF) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdi, rbx */ EXPECT_EQ(3, ild(u"Hë▀")); } TEST(x86ild, test_BA00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov edx, 0x0 */ EXPECT_EQ(5, ild(u"║    ")); } TEST(x86ild, test_7500) { /* ICLASS: JNZ CATEGORY: COND_BR EXTENSION: BASE IFORM: JNZ_RELBRb ISA_SET: I86 SHORT: jnz 0x2 */ EXPECT_EQ(2, ild(u"u ")); } TEST(x86ild, test_B800000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov eax, 0x0 */ EXPECT_EQ(5, ild(u"╕    ")); } TEST(x86ild, test_7400) { /* ICLASS: JZ CATEGORY: COND_BR EXTENSION: BASE IFORM: JZ_RELBRb ISA_SET: I86 SHORT: jz 0x2 */ EXPECT_EQ(2, ild(u"t ")); } TEST(x86ild, test_BE00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov esi, 0x0 */ EXPECT_EQ(5, ild(u"╛    ")); } TEST(x86ild, test_4889C1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rcx, rax */ EXPECT_EQ(3, ild(u"Hë┴")); } TEST(x86ild, test_EB00) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_RELBRb ISA_SET: I86 SHORT: jmp 0x2 */ EXPECT_EQ(2, ild(u"δ ")); } TEST(x86ild, test_8B34D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov esi, dword ptr [rdx*8] */ EXPECT_EQ(7, ild(u"ï4╒    ")); } TEST(x86ild, test_E900000000) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_RELBRd ISA_SET: I86 SHORT: jmp 0x5 */ EXPECT_EQ(5, ild(u"Θ    ")); } TEST(x86ild, test_8B7300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov esi, dword ptr [rbx] */ EXPECT_EQ(3, ild(u"ïs ")); } TEST(x86ild, test_8B04D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rdx*8] */ EXPECT_EQ(7, ild(u"ï♦╒    ")); } TEST(x86ild, test_89D0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov eax, edx */ EXPECT_EQ(2, ild(u"ë╨")); } TEST(x86ild, test_0F8400000000) { /* ICLASS: JZ CATEGORY: COND_BR EXTENSION: BASE IFORM: JZ_RELBRd ISA_SET: I86 SHORT: jz 0x6 */ EXPECT_EQ(6, ild(u"☼ä    ")); } TEST(x86ild, test_8B14CD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rcx*8] */ EXPECT_EQ(7, ild(u"ï¶═    ")); } TEST(x86ild, test_8B34CD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov esi, dword ptr [rcx*8] */ EXPECT_EQ(7, ild(u"ï4═    ")); } TEST(x86ild, test_8A4300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rbx] */ EXPECT_EQ(3, ild(u"èC ")); } TEST(x86ild, test_8B4700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rdi] */ EXPECT_EQ(3, ild(u"ïG ")); } TEST(x86ild, test_5B) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop rbx */ EXPECT_EQ(1, ild(u"[")); } TEST(x86ild, test_66C705000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov word ptr [rip], 0x0 */ EXPECT_EQ(9, ild(u"f╟♣      ")); } TEST(x86ild, test_8A4700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rdi] */ EXPECT_EQ(3, ild(u"èG ")); } TEST(x86ild, test_FFD0) { /* ICLASS: CALL_NEAR CATEGORY: CALL EXTENSION: BASE IFORM: CALL_NEAR_GPRv ISA_SET: I86 SHORT: call rax */ EXPECT_EQ(2, ild(u"λ╨")); } TEST(x86ild, test_C7050000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov dword ptr [rip], 0x0 */ EXPECT_EQ(10, ild(u"╟♣        ")); } TEST(x86ild, test_53) { /* ICLASS: PUSH CATEGORY: PUSH EXTENSION: BASE IFORM: PUSH_GPRv_50 ISA_SET: I86 SHORT: push rbx */ EXPECT_EQ(1, ild(u"S")); } TEST(x86ild, test_0F8500000000) { /* ICLASS: JNZ CATEGORY: COND_BR EXTENSION: BASE IFORM: JNZ_RELBRd ISA_SET: I86 SHORT: jnz 0x6 */ EXPECT_EQ(6, ild(u"☼à    ")); } TEST(x86ild, test_C6050000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_IMMb ISA_SET: I86 SHORT: mov byte ptr [rip], 0x0 */ EXPECT_EQ(7, ild(u"╞♣     ")); } TEST(x86ild, test_668B7300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov si, word ptr [rbx] */ EXPECT_EQ(4, ild(u"fïs ")); } TEST(x86ild, test_488B4300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rax, qword ptr [rbx] */ EXPECT_EQ(4, ild(u"HïC ")); } TEST(x86ild, test_BF00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov edi, 0x0 */ EXPECT_EQ(5, ild(u"┐    ")); } TEST(x86ild, test_4889FB) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbx, rdi */ EXPECT_EQ(3, ild(u"Hë√")); } TEST(x86ild, test_48B80000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov rax, 0x0 */ EXPECT_EQ(10, ild(u"H╕        ")); } TEST(x86ild, test_48BA0000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov rdx, 0x0 */ EXPECT_EQ(10, ild(u"H║        ")); } TEST(x86ild, test_488B5300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rbx] */ EXPECT_EQ(4, ild(u"HïS ")); } TEST(x86ild, test_66898200000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rdx], ax */ EXPECT_EQ(7, ild(u"fëé    ")); } TEST(x86ild, test_66894700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rdi], ax */ EXPECT_EQ(4, ild(u"fëG ")); } TEST(x86ild, test_7700) { /* ICLASS: JNBE CATEGORY: COND_BR EXTENSION: BASE IFORM: JNBE_RELBRb ISA_SET: I86 SHORT: jnbe 0x2 */ EXPECT_EQ(2, ild(u"w ")); } TEST(x86ild, test_894700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdi], eax */ EXPECT_EQ(3, ild(u"ëG ")); } TEST(x86ild, test_66899000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rax], dx */ EXPECT_EQ(7, ild(u"fëÉ    ")); } TEST(x86ild, test_4889D0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rax, rdx */ EXPECT_EQ(3, ild(u"Hë╨")); } TEST(x86ild, test_668B4700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ax, word ptr [rdi] */ EXPECT_EQ(4, ild(u"fïG ")); } TEST(x86ild, test_89C2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, eax */ EXPECT_EQ(2, ild(u"ë┬")); } TEST(x86ild, test_668B8000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ax, word ptr [rax] */ EXPECT_EQ(7, ild(u"fïÇ    ")); } TEST(x86ild, test_668B9500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rbp] */ EXPECT_EQ(7, ild(u"fïò    ")); } TEST(x86ild, test_5D) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop rbp */ EXPECT_EQ(1, ild(u"]")); } TEST(x86ild, test_55) { /* ICLASS: PUSH CATEGORY: PUSH EXTENSION: BASE IFORM: PUSH_GPRv_50 ISA_SET: I86 SHORT: push rbp */ EXPECT_EQ(1, ild(u"U")); } TEST(x86ild, test_89C8) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov eax, ecx */ EXPECT_EQ(2, ild(u"ë╚")); } TEST(x86ild, test_8B0CD500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ecx, dword ptr [rdx*8] */ EXPECT_EQ(7, ild(u"ï♀╒    ")); } TEST(x86ild, test_8A4F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rdi] */ EXPECT_EQ(3, ild(u"èO ")); } TEST(x86ild, test_8B148500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rax*4] */ EXPECT_EQ(7, ild(u"ï¶à    ")); } TEST(x86ild, test_8A5300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov dl, byte ptr [rbx] */ EXPECT_EQ(3, ild(u"èS ")); } TEST(x86ild, test_884F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rdi], cl */ EXPECT_EQ(3, ild(u"êO ")); } TEST(x86ild, test_8B8000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rax] */ EXPECT_EQ(6, ild(u"ïÇ    ")); } TEST(x86ild, test_8B9500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rbp] */ EXPECT_EQ(6, ild(u"ïò    ")); } TEST(x86ild, test_8A5700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov dl, byte ptr [rdi] */ EXPECT_EQ(3, ild(u"èW ")); } TEST(x86ild, test_884300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rbx], al */ EXPECT_EQ(3, ild(u"êC ")); } TEST(x86ild, test_884700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rdi], al */ EXPECT_EQ(3, ild(u"êG ")); } TEST(x86ild, test_8A4800) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rax] */ EXPECT_EQ(3, ild(u"èH ")); } TEST(x86ild, test_66C780000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov word ptr [rax], 0x0 */ EXPECT_EQ(9, ild(u"f╟Ç      ")); } TEST(x86ild, test_885700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rdi], dl */ EXPECT_EQ(3, ild(u"êW ")); } TEST(x86ild, test_8B5700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rdi] */ EXPECT_EQ(3, ild(u"ïW ")); } TEST(x86ild, test_48C7050000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov qword ptr [rip], 0x0 */ EXPECT_EQ(11, ild(u"H╟♣        ")); } TEST(x86ild, test_8B4300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rbx] */ EXPECT_EQ(3, ild(u"ïC ")); } TEST(x86ild, test_E200) { /* ICLASS: LOOP CATEGORY: COND_BR EXTENSION: BASE IFORM: LOOP_RELBRb ISA_SET: I86 SHORT: loop 0x2 */ EXPECT_EQ(2, ild(u"Γ ")); } TEST(x86ild, test_8B049500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rdx*4] */ EXPECT_EQ(7, ild(u"ï♦ò    ")); } TEST(x86ild, test_89F0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov eax, esi */ EXPECT_EQ(2, ild(u"ë≡")); } TEST(x86ild, test_668B5300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rbx] */ EXPECT_EQ(4, ild(u"fïS ")); } TEST(x86ild, test_8B7700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov esi, dword ptr [rdi] */ EXPECT_EQ(3, ild(u"ïw ")); } TEST(x86ild, test_66897700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rdi], si */ EXPECT_EQ(4, ild(u"fëw ")); } TEST(x86ild, test_66894300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rbx], ax */ EXPECT_EQ(4, ild(u"fëC ")); } TEST(x86ild, test_8902) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdx], eax */ EXPECT_EQ(2, ild(u"ë☻")); } TEST(x86ild, test_408A7000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov sil, byte ptr [rax] */ EXPECT_EQ(4, ild(u"@èp ")); } TEST(x86ild, test_88C2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov dl, al */ EXPECT_EQ(2, ild(u"ê┬")); } TEST(x86ild, test_668B14AD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rbp*4] */ EXPECT_EQ(8, ild(u"fﶡ    ")); } TEST(x86ild, test_668B4300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ax, word ptr [rbx] */ EXPECT_EQ(4, ild(u"fïC ")); } TEST(x86ild, test_4088CE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov sil, cl */ EXPECT_EQ(3, ild(u"@ê╬")); } TEST(x86ild, test_89C1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ecx, eax */ EXPECT_EQ(2, ild(u"ë┴")); } TEST(x86ild, test_8B14D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rdx*8] */ EXPECT_EQ(7, ild(u"ï¶╒    ")); } TEST(x86ild, test_8B149500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rdx*4] */ EXPECT_EQ(7, ild(u"ï¶ò    ")); } TEST(x86ild, test_884B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rbx], cl */ EXPECT_EQ(3, ild(u"êK ")); } TEST(x86ild, test_488B4700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rax, qword ptr [rdi] */ EXPECT_EQ(4, ild(u"HïG ")); } TEST(x86ild, test_8B4F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ecx, dword ptr [rdi] */ EXPECT_EQ(3, ild(u"ïO ")); } TEST(x86ild, test_8A08) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rax] */ EXPECT_EQ(2, ild(u"è◘")); } TEST(x86ild, test_668B5700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rdi] */ EXPECT_EQ(4, ild(u"fïW ")); } TEST(x86ild, test_C6470000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_IMMb ISA_SET: I86 SHORT: mov byte ptr [rdi], 0x0 */ EXPECT_EQ(4, ild(u"╞G  ")); } TEST(x86ild, test_66895700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rdi], dx */ EXPECT_EQ(4, ild(u"fëW ")); } TEST(x86ild, test_FF24D500000000) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_MEMv ISA_SET: I86 SHORT: jmp qword ptr [rdx*8] */ EXPECT_EQ(7, ild(u"λ$╒    ")); } TEST(x86ild, test_8A4B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rbx] */ EXPECT_EQ(3, ild(u"èK ")); } TEST(x86ild, test_7200) { /* ICLASS: JB CATEGORY: COND_BR EXTENSION: BASE IFORM: JB_RELBRb ISA_SET: I86 SHORT: jb 0x2 */ EXPECT_EQ(2, ild(u"r ")); } TEST(x86ild, test_88C1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov cl, al */ EXPECT_EQ(2, ild(u"ê┴")); } TEST(x86ild, test_668B14D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rdx*8] */ EXPECT_EQ(8, ild(u"fï¶╒    ")); } TEST(x86ild, test_8A4000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rax] */ EXPECT_EQ(3, ild(u"è@ ")); } TEST(x86ild, test_C6430000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_IMMb ISA_SET: I86 SHORT: mov byte ptr [rbx], 0x0 */ EXPECT_EQ(4, ild(u"╞C  ")); } TEST(x86ild, test_8B14ED00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rbp*8] */ EXPECT_EQ(7, ild(u"ï¶φ    ")); } TEST(x86ild, test_668B14ED00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rbp*8] */ EXPECT_EQ(8, ild(u"fï¶φ    ")); } TEST(x86ild, test_408A7300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov sil, byte ptr [rbx] */ EXPECT_EQ(4, ild(u"@ès ")); } TEST(x86ild, test_7800) { /* ICLASS: JS CATEGORY: COND_BR EXTENSION: BASE IFORM: JS_RELBRb ISA_SET: I86 SHORT: js 0x2 */ EXPECT_EQ(2, ild(u"x ")); } TEST(x86ild, test_40887300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rbx], sil */ EXPECT_EQ(4, ild(u"@ês ")); } TEST(x86ild, test_48890500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rip], rax */ EXPECT_EQ(7, ild(u"Hë♣    ")); } TEST(x86ild, test_B900000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov ecx, 0x0 */ EXPECT_EQ(5, ild(u"╣    ")); } TEST(x86ild, test_8B742400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov esi, dword ptr [rsp] */ EXPECT_EQ(4, ild(u"ït$ ")); } TEST(x86ild, test_89F2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, esi */ EXPECT_EQ(2, ild(u"ë≥")); } TEST(x86ild, test_4088F7) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov dil, sil */ EXPECT_EQ(3, ild(u"@ê≈")); } TEST(x86ild, test_668B942D00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov dx, word ptr [rbp+rbp*1] */ EXPECT_EQ(8, ild(u"fïö-    ")); } TEST(x86ild, test_408A7700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov sil, byte ptr [rdi] */ EXPECT_EQ(4, ild(u"@èw ")); } TEST(x86ild, test_89742400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rsp], esi */ EXPECT_EQ(4, ild(u"ët$ ")); } TEST(x86ild, test_4889EF) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdi, rbp */ EXPECT_EQ(3, ild(u"Hë∩")); } TEST(x86ild, test_7900) { /* ICLASS: JNS CATEGORY: COND_BR EXTENSION: BASE IFORM: JNS_RELBRb ISA_SET: I86 SHORT: jns 0x2 */ EXPECT_EQ(2, ild(u"y ")); } TEST(x86ild, test_89FF) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edi, edi */ EXPECT_EQ(2, ild(u"ëλ")); } TEST(x86ild, test_89CE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, ecx */ EXPECT_EQ(2, ild(u"ë╬")); } TEST(x86ild, test_7600) { /* ICLASS: JBE CATEGORY: COND_BR EXTENSION: BASE IFORM: JBE_RELBRb ISA_SET: I86 SHORT: jbe 0x2 */ EXPECT_EQ(2, ild(u"v ")); } TEST(x86ild, test_4889C6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rsi, rax */ EXPECT_EQ(3, ild(u"Hë╞")); } TEST(x86ild, test_8B048500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rax*4] */ EXPECT_EQ(7, ild(u"ï♦à    ")); } TEST(x86ild, test_415C) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop r12 */ EXPECT_EQ(2, ild(u"A\\")); } TEST(x86ild, test_488B04C500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rax, qword ptr [rax*8] */ EXPECT_EQ(8, ild(u"Hï♦┼    ")); } TEST(x86ild, test_885300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rbx], dl */ EXPECT_EQ(3, ild(u"êS ")); } TEST(x86ild, test_4889FD) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbp, rdi */ EXPECT_EQ(3, ild(u"Hë²")); } TEST(x86ild, test_4088F0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov al, sil */ EXPECT_EQ(3, ild(u"@ê≡")); } TEST(x86ild, test_89442400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rsp], eax */ EXPECT_EQ(4, ild(u"ëD$ ")); } TEST(x86ild, test_894300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rbx], eax */ EXPECT_EQ(3, ild(u"ëC ")); } TEST(x86ild, test_88D0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov al, dl */ EXPECT_EQ(2, ild(u"ê╨")); } TEST(x86ild, test_4154) { /* ICLASS: PUSH CATEGORY: PUSH EXTENSION: BASE IFORM: PUSH_GPRv_50 ISA_SET: I86 SHORT: push r12 */ EXPECT_EQ(2, ild(u"AT")); } TEST(x86ild, test_7300) { /* ICLASS: JNB CATEGORY: COND_BR EXTENSION: BASE IFORM: JNB_RELBRb ISA_SET: I86 SHORT: jnb 0x2 */ EXPECT_EQ(2, ild(u"s ")); } TEST(x86ild, test_448A4700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov r8b, byte ptr [rdi] */ EXPECT_EQ(4, ild(u"DèG ")); } TEST(x86ild, test_89F7) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edi, esi */ EXPECT_EQ(2, ild(u"ë≈")); } TEST(x86ild, test_89C0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov eax, eax */ EXPECT_EQ(2, ild(u"ë└")); } TEST(x86ild, test_668B4F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov cx, word ptr [rdi] */ EXPECT_EQ(4, ild(u"fïO ")); } TEST(x86ild, test_BB00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov ebx, 0x0 */ EXPECT_EQ(5, ild(u"╗    ")); } TEST(x86ild, test_88C8) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov al, cl */ EXPECT_EQ(2, ild(u"ê╚")); } TEST(x86ild, test_66894F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rdi], cx */ EXPECT_EQ(4, ild(u"fëO ")); } TEST(x86ild, test_415D) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop r13 */ EXPECT_EQ(2, ild(u"A]")); } TEST(x86ild, test_FFE0) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_GPRv ISA_SET: I86 SHORT: jmp rax */ EXPECT_EQ(2, ild(u"λα")); } TEST(x86ild, test_FFD2) { /* ICLASS: CALL_NEAR CATEGORY: CALL EXTENSION: BASE IFORM: CALL_NEAR_GPRv ISA_SET: I86 SHORT: call rdx */ EXPECT_EQ(2, ild(u"λ╥")); } TEST(x86ild, test_FF24C500000000) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_MEMv ISA_SET: I86 SHORT: jmp qword ptr [rax*8] */ EXPECT_EQ(7, ild(u"λ$┼    ")); } TEST(x86ild, test_E000) { /* ICLASS: LOOPNE CATEGORY: COND_BR EXTENSION: BASE IFORM: LOOPNE_RELBRb ISA_SET: I86 SHORT: loopne 0x2 */ EXPECT_EQ(2, ild(u"α ")); } TEST(x86ild, test_8B4000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rax] */ EXPECT_EQ(3, ild(u"ï@ ")); } TEST(x86ild, test_89D1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ecx, edx */ EXPECT_EQ(2, ild(u"ë╤")); } TEST(x86ild, test_8B14AD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rbp*4] */ EXPECT_EQ(7, ild(u"ﶡ    ")); } TEST(x86ild, test_895700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdi], edx */ EXPECT_EQ(3, ild(u"ëW ")); } TEST(x86ild, test_488B5700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rdi] */ EXPECT_EQ(4, ild(u"HïW ")); } TEST(x86ild, test_4155) { /* ICLASS: PUSH CATEGORY: PUSH EXTENSION: BASE IFORM: PUSH_GPRv_50 ISA_SET: I86 SHORT: push r13 */ EXPECT_EQ(2, ild(u"AU")); } TEST(x86ild, test_668B840000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ax, word ptr [rax+rax*1] */ EXPECT_EQ(8, ild(u"fïä     ")); } TEST(x86ild, test_488B8000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rax, qword ptr [rax] */ EXPECT_EQ(7, ild(u"HïÇ    ")); } TEST(x86ild, test_488B4B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rcx, qword ptr [rbx] */ EXPECT_EQ(4, ild(u"HïK ")); } TEST(x86ild, test_0F8700000000) { /* ICLASS: JNBE CATEGORY: COND_BR EXTENSION: BASE IFORM: JNBE_RELBRd ISA_SET: I86 SHORT: jnbe 0x6 */ EXPECT_EQ(6, ild(u"☼ç    ")); } TEST(x86ild, test_8B5300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rbx] */ EXPECT_EQ(3, ild(u"ïS ")); } TEST(x86ild, test_668B048500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ax, word ptr [rax*4] */ EXPECT_EQ(8, ild(u"fï♦à    ")); } TEST(x86ild, test_66898100000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rcx], ax */ EXPECT_EQ(7, ild(u"fëü    ")); } TEST(x86ild, test_488B17) { /* ICLASS: MOV CATEGORY: DATAXFER g EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rdi] */ EXPECT_EQ(3, ild(u"Hï↨")); } TEST(x86ild, test_4889C2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdx, rax */ EXPECT_EQ(3, ild(u"Hë┬")); } TEST(x86ild, test_C7400000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov dword ptr [rax], 0x0 */ EXPECT_EQ(7, ild(u"╟@     ")); } TEST(x86ild, test_4C89E7) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdi, r12 */ EXPECT_EQ(3, ild(u"Lëτ")); } TEST(x86ild, test_488B3B) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdi, qword ptr [rbx] */ EXPECT_EQ(3, ild(u"Hï;")); } TEST(x86ild, test_4889EE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rsi, rbp */ EXPECT_EQ(3, ild(u"Hëε")); } TEST(x86ild, test_4488C0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov al, r8b */ EXPECT_EQ(3, ild(u"Dê└")); } TEST(x86ild, test_415E) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop r14 */ EXPECT_EQ(2, ild(u"A^")); } TEST(x86ild, test_4156) { /* ICLASS: PUSH CATEGORY: PUSH EXTENSION: BASE IFORM: PUSH_GPRv_50 ISA_SET: I86 SHORT: push r14 */ EXPECT_EQ(2, ild(u"AV")); } TEST(x86ild, test_8B542400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rsp] */ EXPECT_EQ(4, ild(u"ïT$ ")); } TEST(x86ild, test_89C7) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edi, eax */ EXPECT_EQ(2, ild(u"ë╟")); } TEST(x86ild, test_488B8700000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rax, qword ptr [rdi] */ EXPECT_EQ(7, ild(u"Hïç    ")); } TEST(x86ild, test_448A4F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov r9b, byte ptr [rdi] */ EXPECT_EQ(4, ild(u"DèO ")); } TEST(x86ild, test_408A30) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov sil, byte ptr [rax] */ EXPECT_EQ(3, ild(u"@è0")); } TEST(x86ild, test_4189C6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov r14d, eax */ EXPECT_EQ(3, ild(u"Aë╞")); } TEST(x86ild, test_897300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rbx], esi */ EXPECT_EQ(3, ild(u"ës ")); } TEST(x86ild, test_894F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdi], ecx */ EXPECT_EQ(3, ild(u"ëO ")); } TEST(x86ild, test_4489E6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, r12d */ EXPECT_EQ(3, ild(u"Dëμ")); } TEST(x86ild, test_4488C8) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov al, r9b */ EXPECT_EQ(3, ild(u"Dê╚")); } TEST(x86ild, test_8A10) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov dl, byte ptr [rax] */ EXPECT_EQ(2, ild(u"è►")); } TEST(x86ild, test_894200) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdx], eax */ EXPECT_EQ(3, ild(u"ëB ")); } TEST(x86ild, test_88D1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov cl, dl */ EXPECT_EQ(2, ild(u"ê╤")); } TEST(x86ild, test_58) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop rax */ EXPECT_EQ(1, ild(u"X")); } TEST(x86ild, test_48B90000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov rcx, 0x0 */ EXPECT_EQ(10, ild(u"H╣        ")); } TEST(x86ild, test_488B14D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rdx*8] */ EXPECT_EQ(8, ild(u"Hï¶╒    ")); } TEST(x86ild, test_4489F2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, r14d */ EXPECT_EQ(3, ild(u"Dë≥")); } TEST(x86ild, test_4489EA) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, r13d */ EXPECT_EQ(3, ild(u"DëΩ")); } TEST(x86ild, test_8B04BD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rdi*4] */ EXPECT_EQ(7, ild(u"ï♦╜    ")); } TEST(x86ild, test_89F1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ecx, esi */ EXPECT_EQ(2, ild(u"ë±")); } TEST(x86ild, test_488B7F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdi, qword ptr [rdi] */ EXPECT_EQ(4, ild(u"Hï⌂ ")); } TEST(x86ild, test_4488C2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov dl, r8b */ EXPECT_EQ(3, ild(u"Dê┬")); } TEST(x86ild, test_4189C4) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov r12d, eax */ EXPECT_EQ(3, ild(u"Aë─")); } TEST(x86ild, test_8A049500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rdx*4] */ EXPECT_EQ(7, ild(u"è♦ò    ")); } TEST(x86ild, test_89F6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, esi */ EXPECT_EQ(2, ild(u"ë÷")); } TEST(x86ild, test_89EE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, ebp */ EXPECT_EQ(2, ild(u"ëε")); } TEST(x86ild, test_89DE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, ebx */ EXPECT_EQ(2, ild(u"ë▐")); } TEST(x86ild, test_89DA) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, ebx */ EXPECT_EQ(2, ild(u"ë┌")); } TEST(x86ild, test_89C3) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ebx, eax */ EXPECT_EQ(2, ild(u"ë├")); } TEST(x86ild, test_7E00) { /* ICLASS: JLE CATEGORY: COND_BR EXTENSION: BASE IFORM: JLE_RELBRb ISA_SET: I86 SHORT: jle 0x2 */ EXPECT_EQ(2, ild(u"~ ")); } TEST(x86ild, test_66897300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov word ptr [rbx], si */ EXPECT_EQ(4, ild(u"fës ")); } TEST(x86ild, test_4889F3) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbx, rsi */ EXPECT_EQ(3, ild(u"Hë≤")); } TEST(x86ild, test_4489C1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ecx, r8d */ EXPECT_EQ(3, ild(u"Dë┴")); } TEST(x86ild, test_40886B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rbx], bpl */ EXPECT_EQ(4, ild(u"@êk ")); } TEST(x86ild, test_C7800000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov dword ptr [rax], 0x0 */ EXPECT_EQ(10, ild(u"╟Ç        ")); } TEST(x86ild, test_C7420000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov dword ptr [rdx], 0x0 */ EXPECT_EQ(7, ild(u"╟B     ")); } TEST(x86ild, test_899000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rax], edx */ EXPECT_EQ(6, ild(u"ëÉ    ")); } TEST(x86ild, test_59) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop rcx */ EXPECT_EQ(1, ild(u"Y")); } TEST(x86ild, test_48D3E2) { /* ICLASS: SHL CATEGORY: SHIFT EXTENSION: BASE IFORM: SHL_GPRv_CL_D3r4 ISA_SET: I86 SHORT: shl rdx, cl */ EXPECT_EQ(3, ild(u"H╙Γ")); } TEST(x86ild, test_48C7470000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov qword ptr [rdi], 0x0 */ EXPECT_EQ(8, ild(u"H╟G     ")); } TEST(x86ild, test_488B4F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rcx, qword ptr [rdi] */ EXPECT_EQ(4, ild(u"HïO ")); } TEST(x86ild, test_4863F6) { /* ICLASS: MOVSXD CATEGORY: DATAXFER EXTENSION: LONGMODE IFORM: MOVSXD_GPRv_GPR32 ISA_SET: LONGMODE SHORT: movsxd rsi, esi */ EXPECT_EQ(3, ild(u"Hc÷")); } TEST(x86ild, test_4489E2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, r12d */ EXPECT_EQ(3, ild(u"DëΓ")); } TEST(x86ild, test_415F) { /* ICLASS: POP CATEGORY: POP EXTENSION: BASE IFORM: POP_GPRv_58 ISA_SET: I86 SHORT: pop r15 */ EXPECT_EQ(2, ild(u"A_")); } TEST(x86ild, test_4157) { /* ICLASS: PUSH CATEGORY: PUSH EXTENSION: BASE IFORM: PUSH_GPRv_50 ISA_SET: I86 SHORT: push r15 */ EXPECT_EQ(2, ild(u"AW")); } TEST(x86ild, test_408A6B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov bpl, byte ptr [rbx] */ EXPECT_EQ(4, ild(u"@èk ")); } TEST(x86ild, test_4088C6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov sil, al */ EXPECT_EQ(3, ild(u"@ê╞")); } TEST(x86ild, test_8A4600) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rsi] */ EXPECT_EQ(3, ild(u"èF ")); } TEST(x86ild, test_8A04D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rdx*8] */ EXPECT_EQ(7, ild(u"è♦╒    ")); } TEST(x86ild, test_89F8) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov eax, edi */ EXPECT_EQ(2, ild(u"ë°")); } TEST(x86ild, test_89C6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, eax */ EXPECT_EQ(2, ild(u"ë╞")); } TEST(x86ild, test_89542400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rsp], edx */ EXPECT_EQ(4, ild(u"ëT$ ")); } TEST(x86ild, test_88CA) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov dl, cl */ EXPECT_EQ(2, ild(u"ê╩")); } TEST(x86ild, test_4C89EF) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdi, r13 */ EXPECT_EQ(3, ild(u"Lë∩")); } TEST(x86ild, test_48C70700000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov qword ptr [rdi], 0x0 */ EXPECT_EQ(7, ild(u"H╟•    ")); } TEST(x86ild, test_48897700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rdi], rsi */ EXPECT_EQ(4, ild(u"Hëw ")); } TEST(x86ild, test_448B6C2400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov r13d, dword ptr [rsp] */ EXPECT_EQ(5, ild(u"Dïl$ ")); } TEST(x86ild, test_FF24CD00000000) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_MEMv ISA_SET: I86 SHORT: jmp qword ptr [rcx*8] */ EXPECT_EQ(7, ild(u"λ$═    ")); } TEST(x86ild, test_F2AE) { /* ICLASS: REPNE_SCASB CATEGORY: STRINGOP EXTENSION: BASE IFORM: REPNE_SCASB ISA_SET: I86 SHORT: repne scasb byte ptr [rdi] */ EXPECT_EQ(2, ild(u"≥«")); } TEST(x86ild, test_E90083E000) { /* ICLASS: JMP CATEGORY: UNCOND_BR EXTENSION: BASE IFORM: JMP_RELBRd ISA_SET: I86 SHORT: jmp 0xe08305 */ EXPECT_EQ(5, ild(u"Θ âα ")); } TEST(x86ild, test_C7040700000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov dword ptr [rdi+rax*1], 0x0 */ EXPECT_EQ(7, ild(u"╟♦•    ")); } TEST(x86ild, test_C644240000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_IMMb ISA_SET: I86 SHORT: mov byte ptr [rsp], 0x0 */ EXPECT_EQ(5, ild(u"╞D$  ")); } TEST(x86ild, test_8B9200000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edx, dword ptr [rdx] */ EXPECT_EQ(6, ild(u"ïÆ    ")); } TEST(x86ild, test_8B7D00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edi, dword ptr [rbp] */ EXPECT_EQ(3, ild(u"ï} ")); } TEST(x86ild, test_8A8000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rax] */ EXPECT_EQ(6, ild(u"èÇ    ")); } TEST(x86ild, test_8A5000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov dl, byte ptr [rax] */ EXPECT_EQ(3, ild(u"èP ")); } TEST(x86ild, test_89F5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ebp, esi */ EXPECT_EQ(2, ild(u"ë⌡")); } TEST(x86ild, test_89EA) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edx, ebp */ EXPECT_EQ(2, ild(u"ëΩ")); } TEST(x86ild, test_89E8) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov eax, ebp */ EXPECT_EQ(2, ild(u"ëΦ")); } TEST(x86ild, test_668B7B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov di, word ptr [rbx] */ EXPECT_EQ(4, ild(u"fï{ ")); } TEST(x86ild, test_4989FC) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov r12, rdi */ EXPECT_EQ(3, ild(u"Iëⁿ")); } TEST(x86ild, test_48D3E0) { /* ICLASS: SHL CATEGORY: SHIFT EXTENSION: BASE IFORM: SHL_GPRv_CL_D3r4 ISA_SET: I86 SHORT: shl rax, cl */ EXPECT_EQ(3, ild(u"H╙α")); } TEST(x86ild, test_48BE0000000000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov rsi, 0x0 */ EXPECT_EQ(10, ild(u"H╛        ")); } TEST(x86ild, test_488B6F00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rbp, qword ptr [rdi] */ EXPECT_EQ(4, ild(u"Hïo ")); } TEST(x86ild, test_488B5500) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rbp] */ EXPECT_EQ(4, ild(u"HïU ")); } TEST(x86ild, test_4889E5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbp, rsp */ EXPECT_EQ(3, ild(u"Hëσ")); } TEST(x86ild, test_4889D5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbp, rdx */ EXPECT_EQ(3, ild(u"Hë╒")); } TEST(x86ild, test_448B442400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov r8d, dword ptr [rsp] */ EXPECT_EQ(5, ild(u"DïD$ ")); } TEST(x86ild, test_4488C6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov sil, r8b */ EXPECT_EQ(3, ild(u"Dê╞")); } TEST(x86ild, test_4189C5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov r13d, eax */ EXPECT_EQ(3, ild(u"Aë┼")); } TEST(x86ild, test_0F8D00000000) { /* ICLASS: JNL CATEGORY: COND_BR EXTENSION: BASE IFORM: JNL_RELBRd ISA_SET: I86 SHORT: jnl 0x6 */ EXPECT_EQ(6, ild(u"☼ì    ")); } TEST(x86ild, test_C6400000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_IMMb ISA_SET: I86 SHORT: mov byte ptr [rax], 0x0 */ EXPECT_EQ(4, ild(u"╞@  ")); } TEST(x86ild, test_B000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_IMMb_B0 ISA_SET: I86 SHORT: mov al, 0x0 */ EXPECT_EQ(2, ild(u"░ ")); } TEST(x86ild, test_8BB900000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov edi, dword ptr [rcx] */ EXPECT_EQ(6, ild(u"ï╣    ")); } TEST(x86ild, test_8BB000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov esi, dword ptr [rax] */ EXPECT_EQ(6, ild(u"ï░    ")); } TEST(x86ild, test_8A00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rax] */ EXPECT_EQ(2, ild(u"è ")); } TEST(x86ild, test_89C5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ebp, eax */ EXPECT_EQ(2, ild(u"ë┼")); } TEST(x86ild, test_896A00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdx], ebp */ EXPECT_EQ(3, ild(u"ëj ")); } TEST(x86ild, test_8802) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rdx], al */ EXPECT_EQ(2, ild(u"ê☻")); } TEST(x86ild, test_7F00) { /* ICLASS: JNLE CATEGORY: COND_BR EXTENSION: BASE IFORM: JNLE_RELBRb ISA_SET: I86 SHORT: jnle 0x2 */ EXPECT_EQ(2, ild(u"⌂ ")); } TEST(x86ild, test_7D00) { /* ICLASS: JNL CATEGORY: COND_BR EXTENSION: BASE IFORM: JNL_RELBRb ISA_SET: I86 SHORT: jnl 0x2 */ EXPECT_EQ(2, ild(u"} ")); } TEST(x86ild, test_668B7700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov si, word ptr [rdi] */ EXPECT_EQ(4, ild(u"fïw ")); } TEST(x86ild, test_48D3EA) { /* ICLASS: SHR CATEGORY: SHIFT EXTENSION: BASE IFORM: SHR_GPRv_CL ISA_SET: I86 SHORT: shr rdx, cl */ EXPECT_EQ(3, ild(u"H╙Ω")); } TEST(x86ild, test_488B3D00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdi, qword ptr [rip] */ EXPECT_EQ(7, ild(u"Hï=    ")); } TEST(x86ild, test_488B14DD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rbx*8] */ EXPECT_EQ(8, ild(u"Hï¶▌    ")); } TEST(x86ild, test_488B0500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rax, qword ptr [rip] */ EXPECT_EQ(7, ild(u"Hï♣    ")); } TEST(x86ild, test_4889FE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rsi, rdi */ EXPECT_EQ(3, ild(u"Hë■")); } TEST(x86ild, test_4889D9) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rcx, rbx */ EXPECT_EQ(3, ild(u"Hë┘")); } TEST(x86ild, test_4889C8) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rax, rcx */ EXPECT_EQ(3, ild(u"Hë╚")); } TEST(x86ild, test_4889C3) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbx, rax */ EXPECT_EQ(3, ild(u"Hë├")); } TEST(x86ild, test_488937) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rdi], rsi */ EXPECT_EQ(3, ild(u"Hë7")); } TEST(x86ild, test_4863C9) { /* ICLASS: MOVSXD CATEGORY: DATAXFER EXTENSION: LONGMODE IFORM: MOVSXD_GPRv_GPR32 ISA_SET: LONGMODE SHORT: movsxd rcx, ecx */ EXPECT_EQ(3, ild(u"Hc╔")); } TEST(x86ild, test_448B7C2400) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov r15d, dword ptr [rsp] */ EXPECT_EQ(5, ild(u"Dï|$ ")); } TEST(x86ild, test_448A5700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov r10b, byte ptr [rdi] */ EXPECT_EQ(4, ild(u"DèW ")); } TEST(x86ild, test_448A4300) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov r8b, byte ptr [rbx] */ EXPECT_EQ(4, ild(u"DèC ")); } TEST(x86ild, test_4488D2) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov dl, r10b */ EXPECT_EQ(3, ild(u"Dê╥")); } TEST(x86ild, test_4488C9) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_GPR8_88 ISA_SET: I86 SHORT: mov cl, r9b */ EXPECT_EQ(3, ild(u"Dê╔")); } TEST(x86ild, test_41BC00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov r12d, 0x0 */ EXPECT_EQ(6, ild(u"A╝    ")); } TEST(x86ild, test_4189F5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov r13d, esi */ EXPECT_EQ(3, ild(u"Aë⌡")); } TEST(x86ild, test_40887700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMb_GPR8 ISA_SET: I86 SHORT: mov byte ptr [rdi], sil */ EXPECT_EQ(4, ild(u"@êw ")); } TEST(x86ild, test_decode) { /* */ EXPECT_EQ(2, ild(u"▐═")); } TEST(x86ild, test_D3E0) { /* ICLASS: SHL CATEGORY: SHIFT EXTENSION: BASE IFORM: SHL_GPRv_CL_D3r4 ISA_SET: I86 SHORT: shl eax, cl */ EXPECT_EQ(2, ild(u"╙α")); } TEST(x86ild, test_BD00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_IMMv ISA_SET: I86 SHORT: mov ebp, 0x0 */ EXPECT_EQ(5, ild(u"╜    ")); } TEST(x86ild, test_8B4B00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov ecx, dword ptr [rbx] */ EXPECT_EQ(3, ild(u"ïK ")); } TEST(x86ild, test_8B07) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov eax, dword ptr [rdi] */ EXPECT_EQ(2, ild(u"ï•")); } TEST(x86ild, test_8A9000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov dl, byte ptr [rax] */ EXPECT_EQ(6, ild(u"èÉ    ")); } TEST(x86ild, test_8A4A00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rdx] */ EXPECT_EQ(3, ild(u"èJ ")); } TEST(x86ild, test_8A4500) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov al, byte ptr [rbp] */ EXPECT_EQ(3, ild(u"èE ")); } TEST(x86ild, test_8A14D500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov dl, byte ptr [rdx*8] */ EXPECT_EQ(7, ild(u"è¶╒    ")); } TEST(x86ild, test_8A0CD500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rdx*8] */ EXPECT_EQ(7, ild(u"è♀╒    ")); } TEST(x86ild, test_8A0C08) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPR8_MEMb ISA_SET: I86 SHORT: mov cl, byte ptr [rax+rcx*1] */ EXPECT_EQ(3, ild(u"è♀◘")); } TEST(x86ild, test_89D6) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov esi, edx */ EXPECT_EQ(2, ild(u"ë╓")); } TEST(x86ild, test_89D5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov ebp, edx */ EXPECT_EQ(2, ild(u"ë╒")); } TEST(x86ild, test_897700) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdi], esi */ EXPECT_EQ(3, ild(u"ëw ")); } TEST(x86ild, test_895A00) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rdx], ebx */ EXPECT_EQ(3, ild(u"ëZ ")); } TEST(x86ild, test_895000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rax], edx */ EXPECT_EQ(3, ild(u"ëP ")); } TEST(x86ild, test_8910) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov dword ptr [rax], edx */ EXPECT_EQ(2, ild(u"ë►")); } TEST(x86ild, test_7C00) { /* ICLASS: JL CATEGORY: COND_BR EXTENSION: BASE IFORM: JL_RELBRb ISA_SET: I86 SHORT: jl 0x2 */ EXPECT_EQ(2, ild(u"| ")); } TEST(x86ild, test_4C89C1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rcx, r8 */ EXPECT_EQ(3, ild(u"Lë┴")); } TEST(x86ild, test_498B5500) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [r13] */ EXPECT_EQ(4, ild(u"IïU ")); } TEST(x86ild, test_4989D5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov r13, rdx */ EXPECT_EQ(3, ild(u"Ië╒")); } TEST(x86ild, test_48D3E8) { /* ICLASS: SHR CATEGORY: SHIFT EXTENSION: BASE IFORM: SHR_GPRv_CL ISA_SET: I86 SHORT: shr rax, cl */ EXPECT_EQ(3, ild(u"H╙Φ")); } TEST(x86ild, test_48C7430000000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_IMMz ISA_SET: I86 SHORT: mov qword ptr [rbx], 0x0 */ EXPECT_EQ(8, ild(u"H╟C     ")); } TEST(x86ild, test_4898) { /* ICLASS: CDQE CATEGORY: CONVERT EXTENSION: LONGMODE IFORM: CDQE ISA_SET: LONGMODE SHORT: cdqe */ EXPECT_EQ(2, ild(u"Hÿ")); } TEST(x86ild, test_488B9600000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rdx, qword ptr [rsi] */ EXPECT_EQ(7, ild(u"Hïû    ")); } TEST(x86ild, test_488B0B) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_MEMv ISA_SET: I86 SHORT: mov rcx, qword ptr [rbx] */ EXPECT_EQ(3, ild(u"Hï♂")); } TEST(x86ild, test_4889F7) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdi, rsi */ EXPECT_EQ(3, ild(u"Hë≈")); } TEST(x86ild, test_4889F5) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rbp, rsi */ EXPECT_EQ(3, ild(u"Hë⌡")); } TEST(x86ild, test_4889F0) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rax, rsi */ EXPECT_EQ(3, ild(u"Hë≡")); } TEST(x86ild, test_4889DE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rsi, rbx */ EXPECT_EQ(3, ild(u"Hë▐")); } TEST(x86ild, test_4889D1) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rcx, rdx */ EXPECT_EQ(3, ild(u"Hë╤")); } TEST(x86ild, test_4889CE) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rsi, rcx */ EXPECT_EQ(3, ild(u"Hë╬")); } TEST(x86ild, test_4889C7) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov rdi, rax */ EXPECT_EQ(3, ild(u"Hë╟")); } TEST(x86ild, test_48893D00000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rip], rdi */ EXPECT_EQ(7, ild(u"Hë=    ")); } TEST(x86ild, test_48893500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rip], rsi */ EXPECT_EQ(7, ild(u"Hë5    ")); } TEST(x86ild, test_48891500000000) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rip], rdx */ EXPECT_EQ(7, ild(u"H맠   ")); } TEST(x86ild, test_488903) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_MEMv_GPRv ISA_SET: I86 SHORT: mov qword ptr [rbx], rax */ EXPECT_EQ(3, ild(u"Hë♥")); } TEST(x86ild, test_4489FF) { /* ICLASS: MOV CATEGORY: DATAXFER EXTENSION: BASE IFORM: MOV_GPRv_GPRv_89 ISA_SET: I86 SHORT: mov edi, r15d */ EXPECT_EQ(3, ild(u"Dëλ")); }