English 中文(简体)
LEA和MOVE.L的差别?
原标题:Difference between LEA and MOVE.L?

两种或两种或两种或两种或两种或两种或两种或两种或两种或两种或两种或两种或

LEA $1000,A0

MOVE #$1000,A0

要在地址登记簿上填上地址吗?

最佳回答

在这种情况下,将不存在可观察到的差异(与公认的回答要求不同,MOVE的例子将归为MOVEA,它确实 non 改变CCR,见M68K参考手册第4-116至4-120页)。

问题回答

lea 指令不影响国旗, 即 move 指令所在的旗帜。 具体来说, C 将在 move# 1000, a0 之后清除。

Durandal是正确的,涉及地址登记册的业务通常不会对处理器旗帜产生影响,在此特定情况下,两项指示将同样行事,并使用完全相同的程序费时间(8个周期使用简短地址模式,12个周期使用长路模式)。

MOVExx,an不是一个真正的教学, 它是一个装配者允许的东西, 但如果你看拆散的结果 你会看到实际的教学是MOVEA。

使用LEA而不是仅使用MOVE的动机是,LEA根据不同的地址模式提供地址计算结果。

MOVE# 1000,A0 指令将即时1000移动到 A0 登记册,因为 mnemonic 使用即时指示“#”。 LEA 1000,A0 指令指向存储地址1000,并将这个地址装入 A0 登记册。在此简单的例子中,结果是一样的,它看起来只是一个简单的语法问题,缺少即时指示“#”。

当看到以下差异时, LEA 的实际做法可能更容易理解:

LEA (A0),A1

并且:

MOVE (A0),A1

LEA (A0,A1 , A1 登记簿上装有 A0 值,如 A1:=A0 ,其中 MOVE(A0,A1 A0 > 登记簿的内存位置装载单词(默认大小)值,签名将值延伸至长(地址登记簿的整个登记簿),并在 A1 登记簿中保存值。

所以 LEA 提供地址计算结果, 地址在实际存取内存访问之前使用。 这也是为什么没有 任何 LEA\ lt; data> 格式( 地址模式), 因为 lt; data> 的地址将会在程序空间( PC 相对) 中, 因为直接数据是指令的一部分 。

当使用较复杂的地址模式时, LEA 中的实际强度是显而易见的,因为如果使用这些模式,将需要重要的代码才能另外计算地址。

因此,在原问题中, LEA MOVE 的实际差异,最好用地址登记目的地(数据登记目的地可能使用的)的 < 坚固 > 非法 代码来说明:

LEA ($1000),A0

并且:

MOVE #$1000,A0

这更清楚地表明, LEA 提供了间接地址,但没有实际进行内存访问。

当我学习如何用组装语言(68k)编程时,在处理地址注册时,在 LEA MOVE.L 这两个例子方面,发现存在差异。 在使用标签方面,肯定存在重大差异。

说您有一个标签 Foo 用于某些 DC. /code> 。

LEA Foo, A0       ;Loads Foo into Address Register A0

MOVE.L #Foo, A0   ;Loads Foo into Address Register A0

教训是,在正常情况下,上述两个指示实际上也会实现同样的目标。 然而,由于现实生活中的“可移动性 ”, 底部可能引发问题。

使用 < code> LEA < /code > 方法最为安全。 在使用 < code> 1000 < /code > - 我不确定是否可能存在问题。 但是, 在处理地址注册时, 要谈论此 < code> LEA < /code > 和 < code> MOVE.L 之间的区别, 这绝对是必须考虑的问题 。





相关问题
List of suspected Malicious patterns

I am doing an anti-virus project by disassembling its code and analyzing it. So I want a list of the Suspected Malicious pattern codes, so I can observe which is suspected and which is not? So I want ...

Prefetch for Intel Core 2 Duo

Has anyone had experience using prefetch instructions for the Core 2 Duo processor? I ve been using the (standard?) prefetch set (prefetchnta, prefetcht1, etc) with success for a series of P4 ...

How are mutex and lock structures implemented?

I understand the concept of locks, mutex and other synchronization structures, but how are they implemented? Are they provided by the OS, or are these structures dependent on special CPU instructions ...

Installing GNU Assembler in OSX

No matter how hard I google, I can t seem to find a (relatively) easy-to-follow instruction on how to install the GNU Assembler on a mac. I know I can use gcc -c (Apple Clang on a Mac) to assemble .s ...

8086 assembler,INT 16,2

I got stuck at this thing,I want to see if right shift button has been pressed,so I have this assambler code: mov ah,2 int 16h ;calling INT 16,2 - Read Keyboard Flags interrupt mov ah,...

Translate a FOR to assembler

I need to translate what is commented within the method, to assembler. I have a roughly idea, but can t. Anyone can help me please? Is for an Intel x32 architecture: int secuencia ( int n, ...

热门标签