diff --git a/html/subx/011direct_addressing.cc.html b/html/subx/011direct_addressing.cc.html
index 67117464..b8d9a853 100644
--- a/html/subx/011direct_addressing.cc.html
+++ b/html/subx/011direct_addressing.cc.html
@@ -214,7 +214,7 @@ if ('onhashchange' in window) {
149 break;
150 }
151
-152
+152
153
154 :(scenario compare_r32_with_r32_greater)
155 % Reg[0].i = 0x0a0b0c0d;
@@ -258,6 +258,27 @@ if ('onhashchange' in window) {
193 +run: compare reg 3 with effective address
194 +run: effective address is reg 0
195 +run: SF=0; ZF=1; OF=0
+196
+197
+198
+199 :(scenario copy_r32_to_r32)
+200 % Reg[3].i = 0xaf;
+201
+202 89 d8
+203 +run: copy reg 3 to effective address
+204 +run: effective address is reg 0
+205 +run: storing 0x000000af
+206
+207 :(before "End Single-Byte Opcodes")
+208 case 0x89: {
+209 uint8_t modrm = next();
+210 uint8_t reg2 = (modrm>>3)&0x7;
+211 trace(2, "run") << "copy reg " << NUM(reg2) << " to effective address" << end();
+212 int32_t* arg1 = effective_address(modrm);
+213 *arg1 = Reg[reg2].i;
+214 trace(2, "run") << "storing 0x" << HEXWORD << *arg1 << end();
+215 break;
+216 }