Capstone produces the right set of register reads/writes for push instructions where rsp is an implicit operand.
Whereas, for a fadd instruction with an implicit register st(0),
fadd st(1) (the semantics is ST(0) <- ST(0) + ST(1)), capstone produces the following:
Capstone produces the right set of register reads/writes for push instructions where
rsp
is an implicit operand.Whereas, for a
fadd
instruction with an implicit registerst(0)
,fadd st(1)
(the semantics is ST(0) <- ST(0) + ST(1)), capstone produces the following:It does not include st(0) as a register read, and no register write.
Update: I think the problem is that capstone does not have X86_INS_FADDP. So, I'm not sure how to distinguish
fadd st(1)
fromfaddp st(1)
.