|
From: John v. S. <jc...@cs...> - 2007-03-12 11:06:37
|
Julian Seward wrote: > x86 or amd64 ? The register names you mention (rcx,rsi,rflags) are > amd64 ones, not x86 ones. > Sorry, AMD64. I'm still used to call it x86_64. > The offsets in PUT/GET are offsets into the struct VexGuestAMD64State. > Have a look at the comments on its definition. > I was ashamed to find them within 30 minutes after posting my question, but then you already replied. For the record, they can be found in VEX/pub/libvex_guest_amd64.h > There is no simulated %rflags register directly. Instead, when > the flags get set, vex records the operation setting the flags > (guest_CC_OP) and the operands (guest_CC_DEP1/DEP2/NDEP), so that > the flags can be computed later if needed. Usually they are not > needed and so this is much cheaper than computing them every > time they are set. > > See VEX/priv/guest-amd64/gdefs.h, comment starting "%RFLAGS thunk > descriptors" for more details. > > J > Thanks for this information! This directly clarified the questions that the definitions raised :) Regards, John |