diff --git a/vstore.h b/vstore.h index d6c6d328..3100651a 100644 --- a/vstore.h +++ b/vstore.h @@ -664,6 +664,7 @@ int i; /* Loop counter */ BYTE obyte; /* Operand byte */ #ifdef OPTION_FAST_MOVECHAR BYTE slow = 0; +BYTE *a1, *a2; #endif /* Translate addresses of leftmost operand bytes */ @@ -717,8 +718,14 @@ BYTE slow = 0; #ifdef OPTION_FAST_MOVECHAR if (!slow) { - for (i = 0; i < len + 1; i++) + /* Gabor Hoffer (performance option) */ + a1 = sysblk.mainstor+abs1; + a2 = sysblk.mainstor+abs2; + for (i = 0; i < len + 1; i++) a1 [i] = a2 [i]; +/* + for (i = 0; i < len + 1; i++) sysblk.mainstor[abs1++] = sysblk.mainstor[abs2++]; +*/ return; } #endif