assembly - 为什么地址寄存器后递增是(A0)+

标签 assembly 68000

基本上在 68000 的汇编语言中,要后递增地址寄存器,您必须执行以下操作:

(A0)+

示例

MOVE (A0)+,D0

这会将 A0 地址所指向的值移入 D0,并且还将 A0 加 1。

考虑到 (A0)A0 指向的值,如果后增量语法是:

(A0+)

?或者我错过了什么?

最佳答案

MOVE.L (A1)+,D0 ; increments A1 by 4, because it is long operation
                ; and 4 is size of long

我认为当前的后增量语法指向这个功能,而 (A1+) more 表明 A1 始终递增 1。

查看:Indirect addressing with postincrement

关于assembly - 为什么地址寄存器后递增是(A0)+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766855/

相关文章:

assembly - %assign 和 %define 的区别

c - 内联 asm 代码组织

winapi - x86 程序集 - 如何使用 Windows API _WriteConsole@4 - masm32 语法

assembly - 如何编辑可执行文件

compiler-construction - 68040 If Else 走错分支

java.lang.VerifyError : (class: Main, 方法:主签名:([Ljava/lang/String;)V) 堆栈大小太大

palm-os - 如何分段我的 Palm OS 68K 应用程序?

simulator - 68K 微处理器的最佳图形模拟器是什么?

assembly - 在堆栈上传递参数