Re: xor cx, cx
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
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