65(C)02 索引零页寻址是否会跨页边界?
65(C)02 Will indexed zero page addressing cross page boundary?
我正在为 6502 和 65C02 构建一个仿真器,但我还没有实际的芯片。
我试着在数据表中查找,但没有说明发生这种情况时会发生什么:
LDA #$FF ; 0xFF -> A
LDX # ; 0x20 -> X
STA #$F4, X
; A -> M[0x00F4 + X]
; A -> M[0x00F4 + 0x20]
; A -> M[0x0114] ?
; OR
; A -> M[(0x00F4 + X) & 0x00FF]
; A -> M[(0x00F4 + 0x20) & 0x00FF]
; A -> M[0x0114 & 0x00FF]
; A -> M[0x0014] ?
具有单字节地址的STA将结果存储在零页中。但是如果偏移量越过页面边界,它会被写入下一页(堆栈)还是会留在零页并环绕?
6502 NMOS 和 65C02 CMOS 的行为是否相同?
零页的页边界交叉是否会像使用索引的绝对寻址模式一样增加额外的时钟周期?
没有。加索引时的进位不会用到
我正在为 6502 和 65C02 构建一个仿真器,但我还没有实际的芯片。
我试着在数据表中查找,但没有说明发生这种情况时会发生什么:
LDA #$FF ; 0xFF -> A
LDX # ; 0x20 -> X
STA #$F4, X
; A -> M[0x00F4 + X]
; A -> M[0x00F4 + 0x20]
; A -> M[0x0114] ?
; OR
; A -> M[(0x00F4 + X) & 0x00FF]
; A -> M[(0x00F4 + 0x20) & 0x00FF]
; A -> M[0x0114 & 0x00FF]
; A -> M[0x0014] ?
具有单字节地址的STA将结果存储在零页中。但是如果偏移量越过页面边界,它会被写入下一页(堆栈)还是会留在零页并环绕?
6502 NMOS 和 65C02 CMOS 的行为是否相同?
零页的页边界交叉是否会像使用索引的绝对寻址模式一样增加额外的时钟周期?
没有。加索引时的进位不会用到