今、MMXを使って半透明合成を行う関数を書いています。
元画像1と元画像2を半透明合成して描画先に転送するという単純な仕様なのですが、
メモリアクセスがネックとなり、目標とする速度に達しませんでした。
そこで色々と実験してみたところ、うちのK6-2で、

 元画像1 + 元画像2 → 描画先

と処理するより、

 元画像2 → 描画先
 元画像1 + 描画先 → 描画先

としたほうが速くなることが分かりました。
単純に考えると、後者のほうがメモリアクセスも命令数も多く、遅くなるはずなので、
キャッシュが実行速度に大きく影響しているのだと思われます。

とは言うものの、私はアセンブリにはあまり詳しくなく、
どうすればキャッシュを効率よく利用できるのか分かりません。
特に、持っていないが動作環境に載っている底辺CPUでは実験もできず、
どんな方法でうまくキャッシュされるのか見当もつきません。

そこで質問なのですが、下記のソース
 http://sakuratan.ddo.jp/uploader/source/date36979.txt
のAB_START1におけるメモリアクセスを改善して、高速化することは可能でしょうか。
うまくキャッシュに乗れば、当然前者のほうが速いと思うのですが……。