diff --git a/gen/gen_code.cpp b/gen/gen_code.cpp
index 510bf09..6728a14 100644
--- a/gen/gen_code.cpp
+++ b/gen/gen_code.cpp
@@ -625,6 +625,9 @@
 			{ "cpuid", 0x0F, 0xA2 },
 			{ "cwd", 0x66, 0x99 },
 			{ "cwde", 0x98 },
+			{ "movsb", 0xA4 },
+			{ "movsw", 0x66, 0xA5 },
+			{ "movsd", 0xA5 },
 
 			{ "lahf", 0x9F },
 			{ "lock", 0xF0 },
@@ -1710,6 +1713,7 @@
 	const GenericTbl tbl[] = {
 		{ "cdqe", 0x48, 0x98 },
 		{ "cqo", 0x48, 0x99 },
+		{ "movsq", 0x48, 0xA5 },
 	};
 	putGeneric(tbl, NUM_OF_ARRAY(tbl));
 
diff --git a/gen/update.bat b/gen/update.bat
index 6edaadc..eabbd25 100644
--- a/gen/update.bat
+++ b/gen/update.bat
@@ -3,15 +3,19 @@
 set TARGET=..\\xbyak\\xbyak_mnemonic.h
 set SORT=sortline
 cl gen_code.cpp %OPT%
-gen_code | %SORT% > %TARGET%
+gen_code > tmp.txt
+%SORT% tmp.txt > %TARGET%
 echo #ifdef XBYAK_ENABLE_OMITTED_OPERAND>> %TARGET%
-gen_code omit | %SORT% >> %TARGET%
+gen_code omit > tmp.txt
+%SORT% tmp.txt >> %TARGET%
 echo #endif>>%TARGET%
 gen_code fixed >> %TARGET%
 cl gen_avx512.cpp %OPT%
 echo #ifndef XBYAK_DISABLE_AVX512>> %TARGET%
-gen_avx512 |%SORT% >> %TARGET%
+gen_avx512 > tmp.txt
+%SORT% tmp.txt >> %TARGET%
 echo #ifdef XBYAK64>> %TARGET%
-gen_avx512 64 |%SORT% >> %TARGET%
+gen_avx512 64 > tmp.txt
+%SORT% tmp.txt >> %TARGET%
 echo #endif>> %TARGET%
-echo #endif>> %TARGET%
+echo #endif>> %TARGET%
\ No newline at end of file
diff --git a/readme.md b/readme.md
index 990188f..0cd6605 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,5 @@
 
-Xbyak 5.41 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+Xbyak 5.42 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 =============
 
 Abstract
@@ -332,6 +332,7 @@
 
 History
 -------------
+* 2017/May/13 ver 5.42 add movs{b,w,d,q}
 * 2017/Jan/26 ver 5.41 add prefetchwt1 and support for scale == 0(thanks to rsdubtso)
 * 2016/Dec/14 ver 5.40 add Label::getAddress() method to get the pointer specified by the label
 * 2016/Dec/09 ver 5.34 fix handling of negative offsets when encoding disp8N(thanks to rsdubtso)
diff --git a/readme.txt b/readme.txt
index 1fa124e..b88cf0b 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 
-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.41
+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.42
 
 -----------------------------------------------------------------------------
 ◎概要
@@ -343,6 +343,7 @@
 -----------------------------------------------------------------------------
 ◎履歴
 
+2017/05/13 ver 5.42 movs{b,w,d,q}追加
 2017/01/26 ver 5.41 prefetcwt1追加とscale == 0対応(thanks to rsdubtso)
 2016/12/14 ver 5.40 Labelが示すアドレスを取得するLabel::getAddress()追加
 2016/12/07 ver 5.34 disp8N時の負のオフセット処理の修正(thanks to rsdubtso)
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 37e927a..71bcbab 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -105,7 +105,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x5410 /* 0xABCD = A.BC(D) */
+	VERSION = 0x5420 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 175932f..8e97439 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.41"; }
+const char *getVersionString() const { return "5.42"; }
 void adc(const Operand& op, uint32 imm) { opRM_I(op, imm, 0x10, 2); }
 void adc(const Operand& op1, const Operand& op2) { opRM_RM(op1, op2, 0x10); }
 void adcx(const Reg32e& reg, const Operand& op) { opGen(reg, op, 0xF6, 0x66, isREG32_REG32orMEM, NONE, 0x38); }
@@ -465,12 +465,15 @@
 void movq(const Address& addr, const Mmx& mmx) { if (mmx.isXMM()) db(0x66); opModM(addr, mmx, 0x0F, mmx.isXMM() ? 0xD6 : 0x7F); }
 void movq(const Mmx& mmx, const Operand& op) { if (mmx.isXMM()) db(0xF3); opModRM(mmx, op, (mmx.getKind() == op.getKind()), op.isMEM(), 0x0F, mmx.isXMM() ? 0x7E : 0x6F); }
 void movq2dq(const Xmm& xmm, const Mmx& mmx) { db(0xF3); opModR(xmm, mmx, 0x0F, 0xD6); }
+void movsb() { db(0xA4); }
+void movsd() { db(0xA5); }
 void movsd(const Address& addr, const Xmm& xmm) { db(0xF2); opModM(addr, xmm, 0x0F, 0x11); }
 void movsd(const Xmm& xmm, const Operand& op) { opMMX(xmm, op, 0x10, 0xF2); }
 void movshdup(const Xmm& xmm, const Operand& op) { opGen(xmm, op, 0x16, 0xF3, isXMM_XMMorMEM); }
 void movsldup(const Xmm& xmm, const Operand& op) { opGen(xmm, op, 0x12, 0xF3, isXMM_XMMorMEM); }
 void movss(const Address& addr, const Xmm& xmm) { db(0xF3); opModM(addr, xmm, 0x0F, 0x11); }
 void movss(const Xmm& xmm, const Operand& op) { opMMX(xmm, op, 0x10, 0xF3); }
+void movsw() { db(0x66); db(0xA5); }
 void movsx(const Reg& reg, const Operand& op) { opMovxx(reg, op, 0xBE); }
 void movupd(const Address& addr, const Xmm& xmm) { db(0x66); opModM(addr, xmm, 0x0F, 0x11); }
 void movupd(const Xmm& xmm, const Operand& op) { opMMX(xmm, op, 0x10, 0x66); }
@@ -1518,6 +1521,7 @@
 void jrcxz(const Label& label) { opJmp(label, T_SHORT, 0xe3, 0, 0); }
 void cdqe() { db(0x48); db(0x98); }
 void cqo() { db(0x48); db(0x99); }
+void movsq() { db(0x48); db(0xA5); }
 void cmpxchg16b(const Address& addr) { opModM(addr, Reg64(1), 0x0F, 0xC7); }
 void movq(const Reg64& reg, const Mmx& mmx) { if (mmx.isXMM()) db(0x66); opModR(mmx, reg, 0x0F, 0x7E); }
 void movq(const Mmx& mmx, const Reg64& reg) { if (mmx.isXMM()) db(0x66); opModR(mmx, reg, 0x0F, 0x6E); }
