1

我试图理解程序集 6502 中的这种寻址模式。

例如我们在程序中有这样的指令:

我们知道''text''标签低于$ 2000-高字节是20,低字节是00在累加器中我们有数字30。现在第一个问题是:当我输入时发生了什么STA $80. 是否意味着我们存储的整个地址累加器是0080?现在假设我们将低于 80 00 美元的数字和低于 81 美元的数字 20。Y 为零。现在为什么当我使用它时:

sta ($80),y 

我得到地址2000?这是怎么回事?在 0080 下,我们只有 00(字节)而不是整个地址(2 字节)2000。我知道(80 美元)意味着我们转到 80 美元指向的地址。但是我们只存储了 00 而不是整个地址 2000。我将不胜感激。

4

1 回答 1

3

在 6502 上,地址是 16 位的。该STA $80示例使用零页寻址,这自动意味着前 8 位为零,因此完整地址为$0080. 间接寻址从下一个存储单元获取前 8 位,因为每个单元是 1 个字节,而地址需要 2 个字节。

于 2015-01-02T23:39:52.873 回答