gpt4 book ai didi

assembly - 68k ASM 寻址模式

转载 作者:行者123 更新时间:2023-12-01 21:58:02 25 4
gpt4 key购买 nike

我在大学学习了一些 68k/Coldfire,并且很难理解更复杂的寻址模式(解引用括号附近的数字)。

我认为这里的例子是最好的:

A) lea:
A1) lea $5(a1,a2.l), a0
A2) lea -1(a1,a2), a0

B) move:
B1) move.b 1(a1),d0
B2) move.b -2(a1),d0

谁能用简单的语言向我解释每条指令中发生了什么?

如果需要,请详细说明(前/后增量等)。

谢谢!! ;)

最佳答案

广告说明:

  • A1) A0 将设置为 A1+A2+5
  • A2) A0 将下注设置为 A1+A2-1

正如 lea 指令的名称所暗示的那样,它用于将地址加载到地址寄存器中。它不会从间接寻址中移动数据。我还没有检查这些说明是否有效,而且我的 68k 技能现在已经很生疏了,所以我认为它们是有效的。不指定 A2 中的索引寄存器宽度会引入歧义。从我的头顶我不记得 .W 或 .L 是这里的默认寄存器宽度,所以指定它可能是个好主意。

广告移动说明:

  • B1) D0 将设置为紧跟在 A1 中存储的地址之后的字节。例如。如果 A1 设置为 $1000,则将读取的字节是地址 $1001 处的字节。
  • B2) 与 B1 一样,但内容将从 A1 地址前 2 个字节开始读取。再次假设 A1 将预加载 $1000,将读取的字节是位置 $FFE 的字节。

为了完整起见,寻址模式是:

  • A1) 用索引和位移间接注册
  • A2) 同上
  • B1) 用位移间接注册
  • B2) 同上

关于assembly - 68k ASM 寻址模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55330277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com