In article <e0r06u$qu6$1@caraway.media.kyoto-u.ac.jp>,
 Masanori HATA <hata@iname.com> writes:
> 畑です。
> 
> 最近、にわかアセンブリ使いになって気付いたことがあります。
> 
> システム的には x86 ローカルな話の可能性がありますが、
> 例えば、CX レジスタを全部 0 で埋める場合、
> 
> xor cx, cx
> 
> とするのが常套手段のようです。
> 
> mov cx, 0
> 
> でも同じ(同じ結果を得るためのコードとしてはどちらでも間違いではない)と
> 考えていいのでしょうか?

いろんなCPUがありますので、一概にいえませんが、前者の場合間違いなく
zero flagがセットされるはずですが、後者の場合どうなるかはCPUによるでしょ
う。

> 通常(?)前者を使うものらしき理由は、機械語命令処理上の効率の良さか、そ
> れとも、他のレジスタに影響を与えないからなのか、と推測はしています。

効率が最大のメリットです。immediateをfetchさせないというのはそれなりに
大きい。

-- 
   ___     わしは、山吹色のかすてーらが大好きでのぅ
 [[o o]]            ふぉっふぉっふぉ
   'J'     森下 お代官様 MaNMOS 英夫@ステラクラフト
PGP Finger = CD EA D5 A8 AD B2 FE 7D  02 74 87 52 7C B7 39 37