アラインテストの上のコード、転送以外のコードのオーバーヘッドが
気になったので、BYTE転送、WORD転送、DWORD転送にわけて
アライメントは呼び出し時にそれぞれ dst+1, dst+2, dst と
1MBの転送時間を計測するように書き直してテストしてみた。
cmps?, movs?はsrcとdstを256バイトずらして破壊的にならないようにした。

結果。
Pentium III (x86 Family 6 Model 8 Stepping 6, GenuineIntel)では
読み込み系(lods?, scas?, cmps?) などはアライメントにほぼ影響なし。

DWORD境界DWORD転送を 1.00 とすると BYTE境界DWORD転送で1.10
DWORD境界WORD転送で 1.23、BYTE境界WORD転送で1.36
DWORD境界BYTE転送で 1.75、BYTE境界BYTE転送で1.74

つまり
読み込み時のアライメントの影響はあまりないが
WORD読み込みは DWORD読み込みより 30%前後遅く
BYTE読み込みは DWORD読み込みより 75%前後遅かった。

書き込み系(stos?, movs?) は全テストにおいてほぼ同一値。
転送単位、アライメントに関係ない結果に。。。