xref: /aosp_15_r20/external/google-breakpad/src/third_party/libdisasm/TODO (revision 9712c20fc9bbfbac4935993a2ca0b3958c5adad2)
1*9712c20fSFrederick Maylex86_format.c
2*9712c20fSFrederick Mayle------------
3*9712c20fSFrederick Mayleintel: jmpf -> jmp, callf -> call
4*9712c20fSFrederick Mayleatt: jmpf -> ljmp, callf -> lcall
5*9712c20fSFrederick Mayle
6*9712c20fSFrederick Mayleopcode table
7*9712c20fSFrederick Mayle------------
8*9712c20fSFrederick Maylefinish typing instructions
9*9712c20fSFrederick Maylefix flag clear/set/toggle types
10*9712c20fSFrederick Mayle
11*9712c20fSFrederick Mayleix64 stuff
12*9712c20fSFrederick Mayle----------
13*9712c20fSFrederick Mayledocument output file formats in web page
14*9712c20fSFrederick Maylefeatures doc: register aliases, implicit operands, stack mods,
15*9712c20fSFrederick Maylering0 flags, eflags, cpu model/isa
16*9712c20fSFrederick Mayle
17*9712c20fSFrederick Mayleia32_handle_* implementation
18*9712c20fSFrederick Mayle
19*9712c20fSFrederick Maylefix operand 0F C2
20*9712c20fSFrederick MayleCMPPS
21*9712c20fSFrederick Mayle
22*9712c20fSFrederick Mayle* sysenter, sysexit as CALL types -- preceded by MSR writes
23*9712c20fSFrederick Mayle* SYSENTER/SYSEXIT stack : overwrites SS, ESP
24*9712c20fSFrederick Mayle* stos, cmps, scas, movs, ins, outs, lods -> OP_PTR
25*9712c20fSFrederick Mayle* OP_SIZE in implicit operands
26*9712c20fSFrederick Mayle* use OP_SIZE to choose reg sizes!
27*9712c20fSFrederick Mayle
28*9712c20fSFrederick MayleDONE?? :
29*9712c20fSFrederick Mayleimplicit operands: provide action ?
30*9712c20fSFrederick Maylee.g. add/inc for stach, write, etc
31*9712c20fSFrederick Maylereplace table numbers in opcodes.dat with
32*9712c20fSFrederick Mayle#defines for table names
33*9712c20fSFrederick Mayle
34*9712c20fSFrederick Maylereplace 0  with INSN_INVALID   [or maybe FF for imnvalid and 00 for Not Applicable */
35*9712c20fSFrederick Mayleno wait that is only for prefix tables -- n/p
36*9712c20fSFrederick Mayle
37*9712c20fSFrederick Mayleif ( prefx) only use if insn != invalid
38*9712c20fSFrederick Mayle
39*9712c20fSFrederick Maylethese should cover all the wacky disasm exceptions
40*9712c20fSFrederick Mayle
41*9712c20fSFrederick Maylefor the rep one we can chet, match only a 0x90
42*9712c20fSFrederick Mayle
43*9712c20fSFrederick Mayletodo: privilege | ring
44