v5.98
diff --git a/readme.md b/readme.md
index 6caaa51..51b39a4 100644
--- a/readme.md
+++ b/readme.md
@@ -1,6 +1,6 @@
 [![Build Status](https://travis-ci.org/herumi/xbyak.png)](https://travis-ci.org/herumi/xbyak)
 
-# Xbyak 5.97 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
+# Xbyak 5.98 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
 
 ## Abstract
 
@@ -438,6 +438,7 @@
 http://opensource.org/licenses/BSD-3-Clause
 
 ## History
+* 2020/Oct/17 ver 5.98 support the form of [scale * reg]
 * 2020/Sep/08 ver 5.97 replace uint32 with uint32_t etc.
 * 2020/Aug/28 ver 5.95 some constructors of register classes support constexpr if C++14 or later
 * 2020/Aug/04 ver 5.941 `CodeGenerator::reset()` calls `ClearError()`.
diff --git a/readme.txt b/readme.txt
index dcbff9e..9126051 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
 

-    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.97

+    C++用x86(IA-32), x64(AMD64, x86-64) JITアセンブラ Xbyak 5.98

 

 -----------------------------------------------------------------------------

 ◎概要

@@ -379,6 +379,7 @@
 -----------------------------------------------------------------------------

 ◎履歴

 

+2020/10/17 ver 5.98 [scale * reg]のサポート

 2020/09/08 ver 5.97 uint32などをuint32_tに置換

 2020/08/28 ver 5.95 レジスタクラスのコンストラクタがconstexprに対応(C++14以降)

 2020/08/04 ver 5.941 `CodeGenerator::reset()`が`ClearError()`を呼ぶように変更

diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index c388492..ea72f2f 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -135,7 +135,7 @@
 
 enum {
 	DEFAULT_MAX_CODE_SIZE = 4096,
-	VERSION = 0x5970 /* 0xABCD = A.BC(D) */
+	VERSION = 0x5980 /* 0xABCD = A.BC(D) */
 };
 
 #ifndef MIE_INTEGER_TYPE_DEFINED
diff --git a/xbyak/xbyak_mnemonic.h b/xbyak/xbyak_mnemonic.h
index 85e8bed..dab7eae 100644
--- a/xbyak/xbyak_mnemonic.h
+++ b/xbyak/xbyak_mnemonic.h
@@ -1,4 +1,4 @@
-const char *getVersionString() const { return "5.97"; }
+const char *getVersionString() const { return "5.98"; }
 void adc(const Operand& op, uint32_t 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); }