bird_egop
|
3fc0ebf1d5
|
Unified ADC accumulator handlers into a single handler
|
2025-04-17 01:34:08 +03:00 |
|
bird_egop
|
fa1a7f582c
|
Added support for far call instructions and PUSH imm16. Fixed invalid test cases in call_tests.csv and or_tests.csv
|
2025-04-16 21:44:02 +03:00 |
|
bird_egop
|
eac8e9ea69
|
Fixed NOT instruction tests with SIB byte encoding. Corrected memory addressing encodings for [eax] and displacement addressing.
|
2025-04-16 21:17:48 +03:00 |
|
bird_egop
|
226ec25549
|
Fixed DIV and IDIV instruction tests with SIB byte encoding. Corrected memory addressing encodings for [eax], [ebp], and displacement addressing.
|
2025-04-16 21:16:31 +03:00 |
|
bird_egop
|
9da33e12c4
|
Fixed IMUL instruction tests with SIB byte encoding. When using SIB byte with Base=101 (EBP) and Mod=00, it requires a 32-bit displacement. Replaced incorrect encodings with proper ones for [eax] addressing.
|
2025-04-16 21:11:47 +03:00 |
|
bird_egop
|
800915b534
|
new handlers and test fixes
|
2025-04-16 20:54:08 +03:00 |
|
bird_egop
|
be2dfc3dc5
|
Fixed MUL instruction tests with SIB byte encoding. When using SIB byte with Base=101 (EBP) and Mod=00, it requires a 32-bit displacement. Replaced incorrect encodings with proper ones for [eax] and direct memory addressing.
|
2025-04-16 20:40:18 +03:00 |
|
bird_egop
|
72ad1c0d90
|
Fixed NEG instruction tests with SIB byte encoding. When using SIB byte with Base=101 (EBP) and Mod=00, it requires a 32-bit displacement. Replaced incorrect encodings with proper ones for [eax] addressing.
|
2025-04-16 20:37:46 +03:00 |
|
bird_egop
|
f702e9da84
|
Fixed special case in MOV tests with EBP addressing. When Mod=00 and R/M=101 (EBP), it indicates a 32-bit displacement-only addressing mode, not [EBP]. Added correct test cases with Mod=01 and zero displacement.
|
2025-04-16 20:27:00 +03:00 |
|
bird_egop
|
41a4e5884d
|
Fixed special case in INC/DEC tests with EBP addressing. When Mod=00 and R/M=101 (EBP), it indicates a 32-bit displacement-only addressing mode, not [EBP]. Added correct test cases with Mod=01 and zero displacement.
|
2025-04-16 20:18:14 +03:00 |
|
bird_egop
|
58b739d922
|
Fixed special case in LEA test with EBP addressing. When Mod=00 and R/M=101 (EBP), it indicates a 32-bit displacement-only addressing mode, not [EBP]. Added correct test case with Mod=01 and zero displacement.
|
2025-04-16 20:16:31 +03:00 |
|
bird_egop
|
a474c4b7e4
|
Fixed invalid test cases in x86 disassembler tests. Added comments explaining special cases in x86 encoding and added valid test cases for LEA with different destination registers.
|
2025-04-16 20:13:07 +03:00 |
|
bird_egop
|
09786b781b
|
Added detailed comments to test files explaining x86 encoding special cases: 1) Mod=00 and R/M=101 (EBP) for displacement-only addressing, 2) Mod=00 and R/M=100 (ESP) for SIB byte requirement, 3) SIB byte with EBP as base register special cases
|
2025-04-16 19:58:34 +03:00 |
|
bird_egop
|
e5b63270b6
|
Added detailed comments explaining x86 ModR/M special cases: 1) Mod=00 and R/M=101 (EBP) for displacement-only addressing, 2) Mod=00 and R/M=100 (ESP) for SIB byte requirement
|
2025-04-16 19:54:15 +03:00 |
|
bird_egop
|
154e811d2d
|
Added JmpRm32Handler for JMP r/m32 instructions (opcode FF /4)
|
2025-04-16 19:50:00 +03:00 |
|
bird_egop
|
db96af74ff
|
Fixed several instruction handling issues: 1) Added proper handling for zero displacements in memory operands, 2) Fixed large unsigned displacement values display, 3) Added CmpEaxImmHandler for CMP EAX, imm32 instruction, 4) Fixed JP and JNP conditional jump instruction types
|
2025-04-16 19:43:03 +03:00 |
|
bird_egop
|
9445fb225f
|
fixes and removed unused code
|
2025-04-16 19:07:32 +03:00 |
|
bird_egop
|
9ddaa02471
|
Fixed ModRM handling for 8-bit operands with SIB byte. Updated test to match implementation.
|
2025-04-16 18:42:15 +03:00 |
|
bird_egop
|
deb98183b1
|
more fixes
|
2025-04-16 18:32:41 +03:00 |
|
bird_egop
|
6719cff2af
|
Test fixes
|
2025-04-16 18:30:17 +03:00 |
|
bird_egop
|
46592d4877
|
fix various tests
|
2025-04-15 23:54:51 +03:00 |
|
bird_egop
|
0dac4481f6
|
fix segment override tests according to ghidra
|
2025-04-15 23:22:14 +03:00 |
|
bird_egop
|
6882f0bd86
|
Update TestDataProvider to use CSV files directly from filesystem instead of embedded resources
|
2025-04-15 23:21:52 +03:00 |
|
bird_egop
|
61e92a50a5
|
Split FPU tests by instruction type for better organization and readability
|
2025-04-15 22:45:46 +03:00 |
|
bird_egop
|
0a2d551cb4
|
Enhanced test coverage for floating-point instructions
|
2025-04-15 22:40:09 +03:00 |
|
bird_egop
|
904f0eed47
|
Enhanced test coverage for DIV, flag control, and FNSTSW instructions
|
2025-04-15 22:35:14 +03:00 |
|
bird_egop
|
6169d68967
|
Enhanced test coverage for CMP, BIT and CALL instructions
|
2025-04-15 22:32:37 +03:00 |
|
bird_egop
|
d6903f2e5b
|
Enhanced test coverage for AND instructions
|
2025-04-15 22:28:54 +03:00 |
|
bird_egop
|
2fde1f2ae3
|
Enhanced test coverage for ADC and ADD instructions
|
2025-04-15 22:27:51 +03:00 |
|
bird_egop
|
2123ed2c5d
|
add tons of tests
|
2025-04-15 22:20:46 +03:00 |
|
bird_egop
|
3ea327064a
|
Fix x86 disassembler issues with direct memory addressing and immediate value formatting
|
2025-04-15 02:29:32 +03:00 |
|
bird_egop
|
d351f41808
|
Fixed x86 disassembler issues: 1) Corrected ModRMDecoder to use RegisterIndex.Sp instead of RegisterIndex.Si for SIB detection 2) Updated floating point instruction handlers to use proper instruction types 3) Enhanced ImmediateOperand.ToString() to show full 32-bit representation for sign-extended values
|
2025-04-15 00:14:28 +03:00 |
|
bird_egop
|
9117830ff1
|
unbreak tests
|
2025-04-14 23:08:52 +03:00 |
|
bird_egop
|
157171fa90
|
remove more special cases. use standardized api
|
2025-04-14 01:52:33 +03:00 |
|
bird_egop
|
99b93523a4
|
more refactoring
|
2025-04-14 01:08:14 +03:00 |
|
bird_egop
|
53696a9f1c
|
Removed special case check for 0x83 in OrRm8R8Handler to avoid introducing special cases in general solutions
|
2025-04-14 00:30:53 +03:00 |
|
bird_egop
|
c9901aa9b8
|
Simplified MovRm32Imm32Handler by improving boundary checking and error handling, and updated test to match expected behavior
|
2025-04-14 00:19:36 +03:00 |
|
bird_egop
|
00547ed273
|
simplify reading logic
|
2025-04-13 23:22:30 +03:00 |
|
bird_egop
|
11a2cfada4
|
nice big refactor
|
2025-04-13 23:06:52 +03:00 |
|
bird_egop
|
89b2b32cd6
|
fix xor AX, 16bit imm
|
2025-04-13 19:55:13 +03:00 |
|
bird_egop
|
b0ade45f1b
|
refactor xors
|
2025-04-13 19:35:28 +03:00 |
|
bird_egop
|
30676b36a1
|
Updated InstructionHandlerFactory to register XOR handlers and updated test project files
|
2025-04-13 19:28:56 +03:00 |
|
bird_egop
|
56c12b552c
|
Fixed XOR instruction handlers for consistent immediate value handling
|
2025-04-13 19:26:08 +03:00 |
|
bird_egop
|
e91a0223f7
|
Refactor SUB handlers
|
2025-04-13 18:22:44 +03:00 |
|
bird_egop
|
8cf26060f2
|
Implemented NOP instruction handlers for multi-byte NOP variants
|
2025-04-13 18:00:26 +03:00 |
|
bird_egop
|
032030169e
|
Added comprehensive test cases for SUB instructions with complex addressing modes
|
2025-04-13 17:55:29 +03:00 |
|
bird_egop
|
b11b39ac4e
|
Implemented 16-bit SUB instruction handlers and fixed test data
|
2025-04-13 17:51:54 +03:00 |
|
bird_egop
|
d1d52af511
|
Added CSV test files for various instruction types and enabled comments in CSV files
|
2025-04-13 17:17:28 +03:00 |
|
bird_egop
|
3f4b9a8547
|
Optimized HexStringToByteArray method using spans for better performance
|
2025-04-13 17:07:09 +03:00 |
|
bird_egop
|
2cdd9f1e83
|
move tests to csv
|
2025-04-13 17:02:46 +03:00 |
|