|
|
@ -32,16 +32,16 @@ namespace vm
|
|
|
|
lconstbsxdw;
|
|
|
|
lconstbsxdw;
|
|
|
|
|
|
|
|
|
|
|
|
static lifter_callback_t addq, adddw, addw, addb;
|
|
|
|
static lifter_callback_t addq, adddw, addw, addb;
|
|
|
|
static lifter_callback_t sregq, sregdw, sregb;
|
|
|
|
static lifter_callback_t sregq, sregdw, sregw, sregb;
|
|
|
|
static lifter_callback_t lregq, lregdw;
|
|
|
|
static lifter_callback_t lregq, lregdw;
|
|
|
|
static lifter_callback_t imulq, imuldw;
|
|
|
|
static lifter_callback_t imulq, imuldw;
|
|
|
|
static lifter_callback_t pushvsp;
|
|
|
|
static lifter_callback_t pushvsp;
|
|
|
|
static lifter_callback_t popvsp;
|
|
|
|
static lifter_callback_t popvsp;
|
|
|
|
static lifter_callback_t writeq, writedw, writeb;
|
|
|
|
static lifter_callback_t writeq, writedw, writew, writeb;
|
|
|
|
static lifter_callback_t readq, readdw, readw, readb;
|
|
|
|
static lifter_callback_t readq, readdw, readw, readb;
|
|
|
|
static lifter_callback_t nandq, nanddw, nandw, nandb;
|
|
|
|
static lifter_callback_t nandq, nanddw, nandw, nandb;
|
|
|
|
static lifter_callback_t shrq, shrdw;
|
|
|
|
static lifter_callback_t shrq, shrdw;
|
|
|
|
static lifter_callback_t shlq;
|
|
|
|
static lifter_callback_t shlq, shldw;
|
|
|
|
static lifter_callback_t jmp;
|
|
|
|
static lifter_callback_t jmp;
|
|
|
|
static lifter_callback_t lflagsq;
|
|
|
|
static lifter_callback_t lflagsq;
|
|
|
|
static lifter_callback_t vmexit;
|
|
|
|
static lifter_callback_t vmexit;
|
|
|
@ -63,12 +63,14 @@ namespace vm
|
|
|
|
{ vm::handler::SHRQ, &shrq },
|
|
|
|
{ vm::handler::SHRQ, &shrq },
|
|
|
|
{ vm::handler::SHRDW, &shrdw },
|
|
|
|
{ vm::handler::SHRDW, &shrdw },
|
|
|
|
{ vm::handler::SHLQ, &shlq },
|
|
|
|
{ vm::handler::SHLQ, &shlq },
|
|
|
|
|
|
|
|
{ vm::handler::SHLDW, &shldw },
|
|
|
|
{ vm::handler::IMULQ, &imulq },
|
|
|
|
{ vm::handler::IMULQ, &imulq },
|
|
|
|
{ vm::handler::IMULDW, &imuldw },
|
|
|
|
{ vm::handler::IMULDW, &imuldw },
|
|
|
|
{ vm::handler::PUSHVSPQ, &pushvsp },
|
|
|
|
{ vm::handler::PUSHVSPQ, &pushvsp },
|
|
|
|
{ vm::handler::POPVSPQ, &popvsp },
|
|
|
|
{ vm::handler::POPVSPQ, &popvsp },
|
|
|
|
{ vm::handler::SREGQ, &sregq },
|
|
|
|
{ vm::handler::SREGQ, &sregq },
|
|
|
|
{ vm::handler::SREGDW, &sregdw },
|
|
|
|
{ vm::handler::SREGDW, &sregdw },
|
|
|
|
|
|
|
|
{ vm::handler::SREGW, &sregw },
|
|
|
|
{ vm::handler::SREGB, &sregb },
|
|
|
|
{ vm::handler::SREGB, &sregb },
|
|
|
|
{ vm::handler::LREGQ, &lregq },
|
|
|
|
{ vm::handler::LREGQ, &lregq },
|
|
|
|
{ vm::handler::LREGDW, &lregdw },
|
|
|
|
{ vm::handler::LREGDW, &lregdw },
|
|
|
@ -78,6 +80,7 @@ namespace vm
|
|
|
|
{ vm::handler::READB, &readb },
|
|
|
|
{ vm::handler::READB, &readb },
|
|
|
|
{ vm::handler::WRITEQ, &writeq },
|
|
|
|
{ vm::handler::WRITEQ, &writeq },
|
|
|
|
{ vm::handler::WRITEDW, &writedw },
|
|
|
|
{ vm::handler::WRITEDW, &writedw },
|
|
|
|
|
|
|
|
{ vm::handler::WRITEW, &writew },
|
|
|
|
{ vm::handler::WRITEB, &writeb },
|
|
|
|
{ vm::handler::WRITEB, &writeb },
|
|
|
|
{ vm::handler::NANDQ, &nandq },
|
|
|
|
{ vm::handler::NANDQ, &nandq },
|
|
|
|
{ vm::handler::NANDDW, &nanddw },
|
|
|
|
{ vm::handler::NANDDW, &nanddw },
|
|
|
|