Browse code

more disasm tests - coverage @91.5

git-svn: trunk@4148

aCaB authored on 2008/08/28 22:16:26
Showing 3 changed files
... ...
@@ -1,3 +1,7 @@
1
+Thu Aug 28 15:13:07 CEST 2008 (acab)
2
+------------------------------------
3
+  * unit_tests/check_disasm: add the remaining test cases (fpu, prefixes and more)
4
+
1 5
 Thu Aug 28 12:55:19 CEST 2008 (acab)
2 6
 ------------------------------------
3 7
   * unit_tests/check_disasm: test cases for most mrm (and others)
... ...
@@ -66,6 +66,8 @@ START_TEST (test_disasm_basic) {
66 66
     0x28, 0xf4,
67 67
     /* m11/rm101 - sub ebp, edx */
68 68
     0x29, 0xd5,
69
+    /* addrsize, m00/rm110 - mov [1122], ebp */
70
+    0x67, 0x01, 0x2e, 0xab, 0xac,
69 71
     /* add al, 17 */
70 72
     0x04, 0x17,
71 73
     /* pop es */
... ...
@@ -95,7 +97,26 @@ START_TEST (test_disasm_basic) {
95 95
     /* push fs */
96 96
     0x0f, 0xa0,
97 97
     /* mov edx, 12345678 */
98
-    0xba, 0x78, 0x56, 0x34, 0x12
98
+    0xba, 0x78, 0x56, 0x34, 0x12,
99
+    /* jmp $ */
100
+    0xe9, 0xfb, 0xff, 0xff, 0xff,
101
+    /* mov eax, cr2 */
102
+    0x0f, 0x20, 0xd0,
103
+    /* mov cr7, edx */
104
+    0x0f, 0x22, 0xda,
105
+    /* mov ecx, dr0 */
106
+    0x0f, 0x21, 0xc1,
107
+    /* mov dr3, ebx */
108
+    0x0f, 0x23, 0xdb,
109
+    /* mov ax, ss */
110
+    0x66, 0x8c, 0xd0,
111
+    /* mov eax, [deadbeef] */
112
+    0xa1, 0xef, 0xbe, 0xad, 0xde,
113
+    /* ficom dword ptr [esi*8+ebx+7f] */
114
+    0xda, 0x54, 0xf3, 0x7f,
115
+    /* fmulp st(3), st(0) */
116
+    0xde, 0xcb,
117
+    
99 118
   };
100 119
   uint8_t *d;
101 120
   off_t size;
... ...
@@ -116,7 +137,7 @@ START_TEST (test_disasm_basic) {
116 116
   close(ref);
117 117
   fail_unless(!memcmp(d, d+size, size), "disasm data doesn't match the reference"); 
118 118
   free(d);
119
-  unlink(file);
119
+  //  unlink(file);
120 120
 }
121 121
 END_TEST
122 122
 
123 123
Binary files a/unit_tests/disasmref.bin and b/unit_tests/disasmref.bin differ