bird_egop
|
193f9cd2d8
|
refactor modrm decoder more
|
2025-04-16 19:14:11 +03:00 |
|
bird_egop
|
a91d6af8fc
|
Refactored ModRMDecoder class into smaller, more focused components. Created RegisterMapper and SIBDecoder classes to improve maintainability.
|
2025-04-16 19:11:36 +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
|
6719cff2af
|
Test fixes
|
2025-04-16 18:30:17 +03:00 |
|
bird_egop
|
d4eb920e2f
|
Updated instruction handlers to use factory methods instead of directly setting Size property
|
2025-04-16 01:39:23 +03:00 |
|
bird_egop
|
e06ea2beb3
|
Refactored register operands to separate 8-bit registers into dedicated Register8Operand class
|
2025-04-16 01:10:33 +03:00 |
|
bird_egop
|
46592d4877
|
fix various tests
|
2025-04-15 23:54:51 +03:00 |
|
bird_egop
|
4327464b98
|
add new add handlers
|
2025-04-15 23:54:37 +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
|
2123ed2c5d
|
add tons of tests
|
2025-04-15 22:20:46 +03:00 |
|
bird_egop
|
abe4d38d4b
|
more cleanup
|
2025-04-15 02:42:47 +03:00 |
|
bird_egop
|
49f1d7d221
|
cleanup
|
2025-04-15 02:32:14 +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
|
685eeda03d
|
Updated instruction handlers to use Type and StructuredOperands instead of Mnemonic and Operands
|
2025-04-14 22:09:05 +03:00 |
|
bird_egop
|
c516e063e7
|
basic decompiler and fixes
|
2025-04-14 02:07:17 +03:00 |
|
bird_egop
|
157171fa90
|
remove more special cases. use standardized api
|
2025-04-14 01:52:33 +03:00 |
|
bird_egop
|
c9e854a663
|
remove direct position changes from modrmdecoder
|
2025-04-14 01:15:26 +03:00 |
|
bird_egop
|
99b93523a4
|
more refactoring
|
2025-04-14 01:08:14 +03:00 |
|
bird_egop
|
f54dc10596
|
Simplified XorImmWithRm16Handler by improving boundary checking and removing redundant code
|
2025-04-14 01:01:31 +03:00 |
|
bird_egop
|
4567465570
|
Simplified TestRegMemHandler by improving boundary checking and removing redundant code
|
2025-04-14 00:56:57 +03:00 |
|
bird_egop
|
d3d2c4c63f
|
Simplified TestRegMem8Handler by removing unused variables and improving code structure
|
2025-04-14 00:54:16 +03:00 |
|
bird_egop
|
b7c6092b7f
|
Simplified TEST instruction handlers by removing special cases and improving code structure
|
2025-04-14 00:53:16 +03:00 |
|
bird_egop
|
dae52fc3ec
|
Simplified SubImmFromRm32SignExtendedHandler by removing special case for operand type-based formatting
|
2025-04-14 00:41:58 +03:00 |
|
bird_egop
|
5b09d6f9b8
|
Simplified SubImmFromRm16SignExtendedHandler by removing special case for register name conversion
|
2025-04-14 00:39:58 +03:00 |
|
bird_egop
|
689195c6e5
|
Simplified SubImmFromRm16Handler by removing special case for register name conversion and improving boundary checking
|
2025-04-14 00:38:47 +03:00 |
|
bird_egop
|
e134452eda
|
Improved PUSH handlers by moving reg field check to CanHandle and adding proper boundary checking
|
2025-04-14 00:33:39 +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
|
243789892d
|
Further simplified MultiByteNopHandler by using an array of tuples and matching patterns from longest to shortest
|
2025-04-14 00:23:58 +03:00 |
|
bird_egop
|
4b549f4b1b
|
Simplified MultiByteNopHandler by using a dictionary-based approach to replace complex conditional logic
|
2025-04-14 00:21:24 +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
|
2d0f701dd1
|
Simplified TwoByteConditionalJumpHandler and MovRegMemHandler by improving boundary checking and target address calculation
|
2025-04-14 00:17:31 +03:00 |
|
bird_egop
|
996be18172
|
Simplified JmpRel32Handler by improving target address calculation and code organization
|
2025-04-14 00:11:55 +03:00 |
|
bird_egop
|
38770de005
|
Simplified jump instruction handlers by using consistent decoder methods and improving code organization
|
2025-04-14 00:09:44 +03:00 |
|
bird_egop
|
5daab494e1
|
Simplified LoadStoreInt32Handler by replacing if-else logic with a dictionary-based approach
|
2025-04-14 00:00:30 +03:00 |
|
bird_egop
|
fac1339fec
|
Simplified LoadStoreInt16Handler by replacing complex logic with a dictionary-based approach and improving memory operand handling
|
2025-04-13 23:53:27 +03:00 |
|
bird_egop
|
4e837f5c63
|
Simplified LoadStoreFloat64Handler by replacing if-else logic with a dictionary-based approach
|
2025-04-13 23:52:00 +03:00 |
|
bird_egop
|
b531db77d5
|
Simplified LoadStoreControlHandler by replacing complex switch statements with a dictionary-based approach
|
2025-04-13 23:50:23 +03:00 |
|
bird_egop
|
0ff20494e1
|
Simplified Int32OperationHandler by replacing complex if-else logic with a dictionary-based approach
|
2025-04-13 23:48:45 +03:00 |
|
bird_egop
|
46a4696481
|
Simplified Int16OperationHandler by replacing complex if-else logic with a dictionary-based approach
|
2025-04-13 23:47:10 +03:00 |
|
bird_egop
|
7ab388f26d
|
Simplified FnstswHandler by using CanReadByte for boundary checking and improving code readability
|
2025-04-13 23:45:26 +03:00 |
|
bird_egop
|
ec1aa4a124
|
Simplified CmpImmWithRm8Handler by removing unnecessary raw bytes handling and improving operand formatting
|
2025-04-13 23:41:30 +03:00 |
|
bird_egop
|
ec70b31058
|
Simplified CmpImmWithRm32Handler and added AndImmWithRm32Handler
|
2025-04-13 23:39:57 +03:00 |
|
bird_egop
|
8d1522b6cb
|
Added XML documentation comments to buffer reading methods in InstructionDecoder
|
2025-04-13 23:36:53 +03:00 |
|
bird_egop
|
6827cb735e
|
Simplified StringInstructionHandler by combining mnemonic and operands into a single dictionary and removing redundant switch statement
|
2025-04-13 23:24:14 +03:00 |
|
bird_egop
|
00547ed273
|
simplify reading logic
|
2025-04-13 23:22:30 +03:00 |
|
bird_egop
|
0ea3294c61
|
Simplified AndImmToRm32SignExtendedHandler for better maintainability and consistency
|
2025-04-13 23:18:38 +03:00 |
|
bird_egop
|
f19f2254fe
|
Simplified AndImmToRm8Handler for better maintainability and consistency
|
2025-04-13 23:16:34 +03:00 |
|