In article <e0usk3$11nc$1@nntp.tiki.ne.jp> hyama@mx7.tiki.ne.jp writes:
> はい、この場合 cx に変化はありませんね。
> むしろ、0 との比較とか、符号の検査、パリティの検査、が出来ます。
>見方を変えると、cx の 16bit の内 1bit でも1があるかどうかの検査。
>MSB (http://www.atmarkit.co.jp/icd/root/20/5785820.html) の状態の
>検査が一命令だけで出来ます。
「検査」が目的だったら、andではなくtestを使うのが常道では?
・自分自身でなく他者(他レジスタ・即値・メモリ値)で検査する場合と
 ニーモニックが同一になって、意味を理解しやすくなり、
 ニーモニック誤記によるバグが防げる
・結果をレジスタに書き戻そうとしない分、速くなる可能性がある
 (x86で実際に速くなるかどうか忘れましたが、
  少なくとも遅くなることは無いでしょう)
という利点があります。
もちろん、そもそもtestという命令が無いcpuだと話は別ですが。

                                戸田 孝@滋賀県立琵琶湖博物館
                                 toda@lbm.go.jp