間に違いはありますか
LEA $1000,A0
と
MOVE #$1000,A0
アドレスレジストリにアドレスを登録するには?
この場合、目に見える違いはありません (受け入れられた回答の主張とは異なり、MOVE の例は、CCR を変更しないMOVEA としてアセンブルされます。M68K リファレンス マニュアルのページ 4-116 から 4-120 を参照してください)。
Durandal は正しいです。アドレス レジスタを含む操作は、一般にプロセッサ フラグに影響を与えません。この特定のケースでは、2 つの命令は同じように動作し、まったく同じ CPU 時間 (ショート アドレッシング モードを使用した場合は 8 サイクル、ロング モードを使用した場合は 12 サイクル) かかります。
MOVE xx,an は実際の命令ではなく、アセンブラが許可するものですが、逆アセンブル結果を見ると、実際の命令が MOVEA であることがわかります。
命令は、命令がlea
フラグに影響を与えますが、フラグには影響を与えませんmove
。具体的Z
にC
は、 の後にクリアされますmove #$1000,a0
。