编辑: bingyan8 | 2018-07-19 |
LCR:循环计数器,实现零开销循环控制;
LOOP 指令专用;
STATUS: 系统状态寄存器,ALU 的执行结果状态,用于程序流程控制;
LGT8PE663A 寄存器空间为分页映射模式,实现两页地址空间的映射,可以通过间接寻址方式访问到 最大
256 字节(0x00~0xFF)的地址范围.包括
64 字节内部数据空闲,定时/计数器
1 以及模拟比较器等等. LGT8PE663A Data sheet V1.0.4 LogicGreen Technologies Co., LTD -
2 - 存储系统 程序存储空间 MIC8S 指令可直接寻址最大 8K 指令字(14b)空间, GOTO/CALL 指令宽度为一个指令字,可直寻址 1K 指 令字空间.LOOP 以及条件跳转指令 BRSZ/BRCZ/BRSC/BRCC 均为双指令字宽度,可寻址 8K 指令空间. MIC8S 支持程序空间中的数据访问,结合 PCH:FSR 寄存器,可以实现全空间的程序数据访问以及灵活的数 据查表功能. MIC8S 系统的复位向量地址为 0x000. MIC8S 支持软件触发的中断(INT 指令)和一个硬件中断入口,软中断向量地址为 0x001,硬件中断向 量地址可配置为 0x004 或0x008. 数据存储空间 MIC8S 支持分页映射模式,MIC8S 最大支持
4 页的分页空间;
每页的低
64 字节被映射到寄存器空间, 高64 字节被映射到 RAM 空间.系统实现可以自由将 IO 空间映射到寄存器页中,也可以将没有实现的地址 自动与第
0 页的空间重叠.在分页模式下,MIC8S 可以支持最大
128 字节的寄存器空间和
128 字节的 RAM 空间. 数据存储空间地址映射图: LGT8PE663A Data sheet V1.0.4 LogicGreen Technologies Co., LTD -
3 - 对于连续映射模式,地址空间 0x00~0x3F 能够被指令直接寻址.MIC8S 大部分指令都可以直接操作 在这个范围内的寄存器或者 RAM.不同的是涉及到 RAM 空间读操作的指令,需要两个指令周期才能完 成.对于 0x40~0xFF 地址范围的访问,需要使用间接寻址模式,FSR 将作为访问他们的间接地址寄存器. MIC8S 提供了 IMOVW/IMOVF/MOVLI 等专用指令,方便对这部分空间的访问. 对于分页模式中的寄存器空间,如果没有实现,默认将会直接映射到第
0 页对应地址. 在分页模式下, 通过 STATUS 寄存器中的 RP0 位选择当前的页面,当前页面下的所有地址都可以通 过指令直接寻址到,地址的低
7 位来自指令代码的最低
7 位.具体请参考文档最后关于指令集定义部分.
5 级深度堆栈寄存器 LGT8PE663A 实现了一个
5 级深度的硬件堆栈单元.堆栈独立于程序以及数据空间.堆栈只能通过堆 栈指针访问;
堆栈指针本身并不能通过指令直接访问.当系统执行 CALL 指令或者发生了有效的中断,当前PC 被压入堆栈.当系统执行了 RETURN/RETLW/RETFIE 指令后,堆栈弹出最后压入的值(到PC 指针).在 压栈和出栈操作过程中,PCHBUF 并不会受到影响. 堆栈的深度为
5 级,当连续执行
5 次压栈操作后,后续的压栈操作将会破坏堆栈中的数据,最早压 栈的数据将会从堆栈中弹出;
同样如果多次执行出栈的操作,堆栈弹出最早的数据后,将会循序返回之前 的数据.这两种情况均会导致系统执行的不确定,因此用户需要在使用时特别注意. 特殊功能寄存器 (第0页) 特殊功能寄存器: PAGE
0 名称 地址 位定义 INDF 0x00 FSR 间接寻址数据 TMR0 0x01 Timer0 计数寄存器 P........