diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp index 6728a14..8642090 100644 --- a/gen/gen_code.cpp +++ b/gen/gen_code.cpp @@ -628,6 +628,7 @@ void put() { "movsb", 0xA4 }, { "movsw", 0x66, 0xA5 }, { "movsd", 0xA5 }, + { "rep", 0xF3 }, { "lahf", 0x9F }, { "lock", 0xF0 }, diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h index 8e97439..2cf91f6 100644 --- a/xbyak/xbyak_mnemonic.h +++ b/xbyak/xbyak_mnemonic.h @@ -650,6 +650,7 @@ void rdrand(const Reg& r) { if (r.isBit(8)) throw Error(ERR_BAD_SIZE_OF_REGISTER void rdseed(const Reg& r) { if (r.isBit(8)) throw Error(ERR_BAD_SIZE_OF_REGISTER); opModR(Reg(7, Operand::REG, r.getBit()), r, 0x0F, 0xC7); } void rdtsc() { db(0x0F); db(0x31); } void rdtscp() { db(0x0F); db(0x01); db(0xF9); } +void rep() { db(0xF3); } void ret(int imm = 0) { if (imm) { db(0xC2); dw(imm); } else { db(0xC3); } } void rol(const Operand& op, const Reg8& _cl) { opShift(op, _cl, 0); } void rol(const Operand& op, int imm) { opShift(op, imm, 0); }