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。如果有任何帮助,我将不胜感激。
6502 地址是 16 位。该STA $80
示例使用零页寻址,这自动意味着前 8 位为零,因此完整地址为$0080
。间接寻址从下一个存储单元获取前 8 位,因为每个单元是 1 个字节,而地址需要 2 个字节。
归档时间: |
|
查看次数: |
287 次 |
最近记录: |