6502 地址的组装和表示
6502 assembly and representation of addresses
我正在尝试了解汇编6502中的这种寻址方式。
例如我们在程序中有这样的指令:
我们知道''text''标签在$2000以下-高字节为20,低字节为00
在累加器中,我们有 30 号。
现在第一个问题是:当我输入 STA .
时发生了什么
是不是说我们存放累加器的地址全是0080?
现在假设我们将 80 美元以下的数字设为 00,将 81 美元以下的数字设为 20。Y 为零。
现在为什么我用这个:
sta (),y
我正在获取地址 2000?这是怎么回事?在 0080 下我们只有 00(字节)而不是整个地址(2 字节)2000。我知道($80)意味着我们转到 $80 指向的地址。但是我们只存储了 00 而不是整个地址 2000。如果有任何帮助,我将不胜感激。
6502地址是16位的。 STA
示例使用零页寻址,这自动暗示前 8 位为零,因此完整地址为 [=11=]80
。间接寻址从下一个存储单元获取前 8 位,因为每个单元都是 1 个字节,您需要 2 个字节作为地址。
我正在尝试了解汇编6502中的这种寻址方式。
例如我们在程序中有这样的指令:
我们知道''text''标签在$2000以下-高字节为20,低字节为00
在累加器中,我们有 30 号。
现在第一个问题是:当我输入 STA .
时发生了什么
是不是说我们存放累加器的地址全是0080?
现在假设我们将 80 美元以下的数字设为 00,将 81 美元以下的数字设为 20。Y 为零。
现在为什么我用这个:
sta (),y
我正在获取地址 2000?这是怎么回事?在 0080 下我们只有 00(字节)而不是整个地址(2 字节)2000。我知道($80)意味着我们转到 $80 指向的地址。但是我们只存储了 00 而不是整个地址 2000。如果有任何帮助,我将不胜感激。
6502地址是16位的。 STA
示例使用零页寻址,这自动暗示前 8 位为零,因此完整地址为 [=11=]80
。间接寻址从下一个存储单元获取前 8 位,因为每个单元都是 1 个字节,您需要 2 个字节作为地址。