def METHOD_NAME(self, op):
    tsize = op.opers[0].tsize
    if tsize == 8:
        val = self.twoRegCompound(REG_RDX, REG_RAX, 8)
        val = e_bits.signed(val, 16)
        d = self.getOperValue(op, 0)
        d = e_bits.signed(d, 8)
        if d == 0:
            raise envi.DivideByZero(self)
        sign = (val < 0 and d > 0) or (val > 0 and d < 0)
        q = (abs(val) // abs(d))
        r = (abs(val) % abs(d))
        if sign:
            q = -q
            r = -r
        self.setRegister(REG_RAX, q)
        self.setRegister(REG_RDX, r)
    else:
        e_i386.IntelEmulator.METHOD_NAME(self, op)