Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.

Instructions missed implicit operands info #7

Open
lyrachord opened this issue Nov 22, 2017 · 4 comments
Open

Instructions missed implicit operands info #7

lyrachord opened this issue Nov 22, 2017 · 4 comments

Comments

@lyrachord
Copy link
Contributor

lyrachord commented Nov 22, 2017

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
Copy link
Contributor Author

lyrachord commented Nov 22, 2017

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
Copy link
Contributor Author

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

@kobalicek
Copy link
Member

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.

@lyrachord
Copy link
Contributor Author

one point, prefix?

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants