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
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
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
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
bird_egop
cf1e1acf71
Simplified instruction handlers for better maintainability and consistency. Fixed operand size handling in XOR handlers with 16-bit registers. Added support for 6-byte NOP variant. Fixed formatting of immediate values to maintain consistent output.
2025-04-13 23:15:11 +03:00
bird_egop
11a2cfada4
nice big refactor
2025-04-13 23:06:52 +03:00
bird_egop
59df064ca4
broken tests
2025-04-13 20:20:51 +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
a04a16af7d
Updated NOP instruction handlers to match Ghidra's output format
2025-04-13 18:09:13 +03:00
bird_egop
8cf26060f2
Implemented NOP instruction handlers for multi-byte NOP variants
2025-04-13 18:00:26 +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
565158d9bd
Fixed immediate value formatting in Group1 instruction handlers
2025-04-13 16:00:46 +03:00
bird_egop
2c85192d13
Fixed byte order handling in SUB instruction handlers and updated tests
...
Implemented SUB r32, r/m32 instruction handlers and tests
Added comprehensive tests for Push/Pop, Xchg, Sub instructions and enhanced segment override tests
2025-04-13 14:36:49 +03:00
bird_egop
44c73321ea
move handlers to respective folders
2025-04-13 04:13:44 +03:00
bird_egop
e8a16e7ecd
Moved AND instruction handlers from ArithmeticImmediate to dedicated And namespace for better organization
2025-04-13 04:11:06 +03:00
bird_egop
af94b88868
Added comprehensive test coverage for arithmetic and logical instructions. Implemented AND instruction handlers and added tests for ADC, SBB, and arithmetic unary operations.
2025-04-13 04:07:37 +03:00