git-svn: trunk@4148
aCaB authored on 2008/08/28 22:16:26... | ... |
@@ -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 |
|