6502 地址的汇编和表示

use*_*584 1 indexing assembly 6502 addressing

我试图理解汇编 6502 中的这种寻址模式。

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

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

sta ($80),y 
Run Code Online (Sandbox Code Playgroud)

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

Jes*_*ter 5

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