汇编语言 move.l p, -(A3)

标签 assembly 68000

我正在学习汇编语言 (m68000)。

我不明白以下语法

move.l p, -(A3)

这和下面有什么区别?

move.l p, (A3)

最佳答案

它们是地址寄存器间接寻址模式的不同版本,但是,第一个具有预减量。

This addressing mode specifies the operand in memory, the address of which is specified by one of the address registers. Before the operand is used, the value in the address register is decremented according to the size of the operand.

Source

因此,示例中的不同之处在于,存储在 A3 寄存器中的地址将在 之前递减 4(操作数的大小,长字) >p 被复制到其中。

关于汇编语言 move.l p, -(A3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15801424/

相关文章:

assembly - 为什么 x86 寄存器如此命名?

c++ - 将 .asm 文件编译并链接到 C++ 代码

c - 从 C 语言到汇编语言的 If 语句转换(Motorola 68k)

c - 68000,可移植JIT库

assembly - Z80 指令寄存器大小

linux - 汇编和字符串中的段错误

assembly - 无法理解用于基本转换的 OR

c - 全局化 2 个小型阵列如何导致性能显着下降?

assembly - 为什么 dbra 在 Motorola 68k 中对于非常大的循环计数如此之快?

assembly - 通过动态值调用子程序