DIS: #6249: Complex instructions support (like gather) and some fixes. VSIB fix.
DIS: 6251: Added AVX/VEX 3-byte instructions support.
DIS: #6251: AVX / VEX instructions support (two byte instructions only) and some fixes to the other tables.
DIS: Fixed VMREAD/VMWRITE disassembling, added support for MOVBE, POPCNT, TZCNT, LZCNT, ADCX, ADOX and CRC32 (only CRC32 Gd, Eb & CRC32 Gd, Ey forms).
DIS: Formatting TODO.
Fixed incorrect 64-bit register handling in ParseFixedReg, affecting mov rXX,imm8/V.
More symbols in disassembly, for PATM esp.
Regenerated the PCBIOS.
DisasmFormatYasm.cpp: Fixed formatting of PUSH Ib with a operand size override. Extended DISFormatYasmIsOddEncoding a little bit more.
Some more DISSTATE adjustments.
DISCPUSTATE -> DISSTATE (slow change).
DIS: pCpu -> pDis.
CPUM/cpumR3DisasInstrRead: Read max size when possible.
illegal opcode
DISOPPARAM: s/base.reg_*/Base.idx*Reg/ + docs
DISOPPARAM: s/index.reg_gen/Index.idxGenReg/ + doc
DISOPPARAM: s/scale/uScale/ + doc
DISOPPARAM: s/parval/uValue/ + doc
DISOPPARAM: s/param/fParam/ to match the related DISOPCODE members.
DISCPUSTATE: s/param/Param/
DISOPCODE: s/optype/fOpType/ s/param/fParam/ docs
DISOPCODE: s/opcode/uOpcode/
DISCPUMODE: s/mode/uCpuMode/ - found and removed a bunch of uncessary cpu mode setting before calilng the API.
DISCPUCORE: s/addrmode/uAddrMode/ s/opmode/uOpMode/
DISCPUSTATE: s/prefix/fPrefix/ and a couple of forgotten opcode uses.
DISCPUSTATE: s/prefix_rex/fRexPrefix/ s/lastprefix/bLastPrefix/ s/opcode/bOpcode/
DISCPUSTATE::opsize -> cbInstr.
DIS: Some nits.
DIS: register macro name adjustments.
optimization?
Fixed register formatting bugs.
DIS: Reducing the DISCPUMODE even more (200 bytes now) and making it have the same layout in all contexts. This is useful since it's used several places in the VM structure. Also a bunch of other cleanups.
DIS: More cleanups.
OP_PARAMETER::flags -> fUse.
DIS: More scoping work.
DIS: The start of the scoping exercise... Fixed PREFIX_ADDRSIZE that I just busted in the previous commit.
DIS,DIS-users: Drop the operand/parameter formatting during instruction parsing. The desired formatter can do this afterwards if desired. Should save time + size. (DISCPUSTATE is now 256 bytes here on 64-bit linux, was ~406 yesterday.)
Fixed bug found by Parfait.
DIS,CSAM: Combine the displacement members of OP_PARAMETER into a union to save a little bit of space.
DIS,VMM,REM,IPRT: Disassembler API adjustments.
DISFormatYasmIsOddEncoding: OP_MOV reg,reg variants.
DISFormatYasmIsOddEncoding: From tstDisasm-2.
DisasmFormatYasm.cpp: strict fix.
Automated rebranding to Oracle copyright/license strings via filemuncher
Disasm: -Wshadow.
fixed assertion
Deal with sign extending bytes to uint64_t.
warnings
Yasm formatter: Fixes for sil, dil, spl, bpl and r8b-r15b.
It's spl, bpl, sil and dil (not *b).
Wrong string format specifier for 64 bits values.
64 bits disassembly changes (32 bits displacement sign extended to 64 bits)
And again
Bugfix
General cleanup of SELMToFlat.
Corrected the array index.
Only negate the displacement if it's an offset. A full address is encoded as a 32 bits displacment.
todos.
Fixed symbol lookup - pCpu was missing.
Implemented symbol lookup, strict / relaxed assembly, and relative (+/-off) branch formatting.
DISFormatYasm(Ex).