Releases: bitdefender/bddisasm
v3.0.1
v3.0.0
- Implemented support for minimal decoding: integrators can choose to use the new API which returns a smaller structure (64-bytes); instruction metadata can be retrieved using new API functions
- Improved decoding performance by performing instruction validity checks during decode tree lookup
- Multiple improvements & fixes around APX & REX2 instructions
- Re-worked the ISA generator library
v2.2.0
v2.1.5
v2.1.4
v2.1.3
- Aligned BDDISASM APX instructions syntax with some of the Intel recommendations (using the suffix notation for
NFandZUindications, using finite set notation forDFVoperands). - The
ZUindication is appended as a mnemonic suffix, as per recomandations. However, in case ofSETccinstructions, BDDISASM will append theZUindication AFTER the condition code (similar toCMPccXADDand with initialSETcc.ZUspecification). - The
DFV(default flags value) operand obeys the finite set notation, but it is placed as the last operand of the instruction. - Added
Readaccess for therIPoperand for theSYSCALLinstruction. - Added
SCS,rCX,rDXoperands for theSYSEXITinstruction. - Added
Readaccess for therIPoperand for someCALLinstructions.
v2.1.0
Added support in BDDISASM for multiple new Intel extensions: REX2, APX, USERMSR.
Added support in BDSHEMU for some REX2 and APX instructions.
Added support in BDSHEMU for loop tracking & direct shellcode emulation.
Reduced the size of the INSTRUX structure, and improved decoding performance.
New decoding option allow to skip implicit operands from being decoded.
Re-worked the Python isagenerator scripts.
More info about the changes in this version can be consulted in the CHANGELOG.
v1.37.0
Added support for Intel AMX-COMPLEX instructions.
Added support for AMD RMPQUERY instruction.
Added support for new Intel instructions, per Intel ISA extensions document #319433-046 (September 2022): PREFETCHITI, RAO-INT, CMPCCXADD, WRMSRNS, MSRLIST, AMX-FP16, AVX-IFMA, AVX-NE-CONVERT, AVX-VNNI-INT8.
Switched to a more parsing-friendly format for the instructions database, where individual components are sepparated by a semicolon.
Improved comments & improved vector length specifiers.
v1.34.10
- Switched to internally defined types.
- WRUSSD and WRUSSQ cannot be executed when CPL != 0.
- Fixed High8 handling in NdGetFullAccessMap.
- Improved REG_ID macros - make sure we include block addressing and High8 designator in the reg ID. Alsom, make sure the register size fits in, since the new tile register can be 1K in size, which previously overflowed...
v1.34.7
Support for RDTSC in bdshemu.
Implemented a reverse operand lookup table. It holds pointers to relevant operands inside INSTRUX, for quick lookup.
Moved helper functions in bdhelpers.c.
Added a dedicated BranchInfo field inside INSTRUX, containing the most relevant branch information.