新闻  |   论坛  |   博客  |   在线研讨会
原本模式寄存器
zhchxgh | 2009-07-10 16:51:19    阅读:12324   发布文章

原本模式寄存器
3.11 累加器
虽然作为一个16位寄存器出现,但它是16位还是8位取决于状态寄存器的位5(也就是M位,内存/累加器选择)的状态。 

在8位模式(M=1)下可访问的低8位被指定为A,隐藏但是可交换的高8位被指定为B,当处于完全的16位累加器模态(M=0),累加器被指定为C。

3.12 X,Y 变址寄存器
X和Y变址寄存器是8位或16位是可选择的。当状态寄存器的位4(就是位X)被设成1,则选择成8位寄存器;当被设成0,则选择成16位寄存器。 

3.13 直接页面寄存器 (D)
这个寄存器过去被称为零页面。直接页面指针说明了64K直接页面(零页面)中第一个存储段(存储段0)的位置,直接页面可能被搬到存储段0内的任何的位置。存储段字节(位16-23)用虚线显示,表示直接页面总是在存储段0内部。 

3.14 堆栈指针:(S)
像直接(零)页面指针,现在堆栈可以在内存的存储段0(第一个64k)内部完全重新定位。存储段字节用虚线显示,以表示堆栈总是在存储段0的内部。在原本模式下,堆栈没有256字节的长度限制。在模拟模式(e=1)下,堆栈位于第一 页。 

3.15 程序存储寄存器:(PBR)
很像下面提到的DBR,程序存储寄存器用来描述超过6502的64K上限的地址。PBR被称为存储段字节或程序指针的最高的8位。流程控制指令如 JSR和JMP,可能跳转到全部的23位地址。PBR用来描述有效地址的最高的8位。当然,用相对寻址的转移是不会转移出当前的存储段的,转移指令在超过$FFFF后又会回到当前存储段内。同样的,程序段也不可能越过存储段的边界--如果发生这种情况,程序指针会从$FFFF变成$0000。 

3.16 数据存储寄存器:(DBR)
一些寻址方式利用了65816可寻址高达16MB的寻址能力,这些模式直接在16MB内存上访问和保存数据。24位地址用DBR作为有效地址的最高的8位。DBR也被称为数据存储寄存器。使用了存储段这个术语,这样高字节仍然表示为指定位置或寄存器的8-15位。 

当变址寻址方式的转移越过了64K存储段边界的时候,DBR是临时增量。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客