Re: xor cx, cx
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
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735