allow scale == 0 for convenience
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 4b10626..62707c7 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -671,6 +671,7 @@
 		, disp_(0)
 	{
 		if (!r.isREG(i32e) && !r.is(Reg::XMM|Reg::YMM|Reg::ZMM)) throw Error(ERR_BAD_SIZE_OF_REGISTER);
+		if (scale == 0) return;
 		if (scale != 1 && scale != 2 && scale != 4 && scale != 8) throw Error(ERR_BAD_SCALE);
 		if (r.getBit() >= 128 || scale != 1) { // xmm/ymm is always index
 			index_ = r;