asmdb icon indicating copy to clipboard operation
asmdb copied to clipboard

Instructions missed implicit operands info

Open lyrachord opened this issue 7 years ago • 4 comments
trafficstars

popa, popad pop 8 generals pusha, pushad push 8 generals

Maybe need a new registers flag string? seems "all" not an option, because call instruction and others maybe redefine the semantics of "all" xx/yx/zx like series for cases?

And vzeroall vzeroupper need a "all" kind of symbol to flag it.

lyrachord avatar Nov 22 '17 06:11 lyrachord

There are many ins like the following in X64 which operand modifier is dx:zsi and like

    ["movsd"            , "X:<es:zdi>, X:<ds:zsi>"                      , "NONE"    , "A5"                               , "ANY REP REPNE    DF=R"],
    ["movsq"            , "X:<es:zdi>, X:<ds:zsi>"                      , "NONE"    , "REX.W A5"                         , "X64 REP REPNE    DF=R"],

I guess, since REX.W limits the instruction, so the register flag z- prefix is not necessary, it's fine that to just use r- prefix. And ecds-segment ignored in bits64 mode, it should be ignored.

["movsq"            , "X:<rdi>, X:<rsi>"                      , "NONE"    , "REX.W A5"                         , "X64 REP REPNE    DF=R"],

?

lyrachord avatar Nov 22 '17 07:11 lyrachord

["syscall"          , "w:<rcx>,w:<r11>"                                            , "NONE"    , "0F 05"                            , "X64              Volatile"],

lyrachord avatar Nov 22 '17 07:11 lyrachord

Hey good ideas, however, I think asmdb needs the concept of "hidden" registers, that's how it's called in other tools - hidden is everything that is not mentioned in operands and is accessed by the instruction. The only question is how to add it to the database.

Maybe something like to the metadata? HIDDEN=W:rcx,W:r11 or HIDDEN=W:zmm0..15[63:32]

Undecided, thinking about it, but yeah I think this is necessary for tooling.

kobalicek avatar Nov 22 '17 11:11 kobalicek

one point, prefix?

[RWwXx-~:]operand
- for implicit, instead of <>
~ for commutative instead of ↔

lyrachord avatar Nov 22 '17 12:11 lyrachord