1998 微芯 技术 公司
初步的
ds30453b-页 15
PIC16C5X
4.0 记忆 organization
pic16c5x 记忆 是 有组织的 在 程序 记忆
和 数据 记忆. 为 设备 和 更多 比 512
字节 的 程序 记忆, 一个 paging scheme 是 使用.
程序 记忆 页 是 accessed 使用 一个 或者
二 状态 寄存器 位. 为 设备 和 一个 数据
记忆 寄存器 file 的 更多 比 32 寄存器, 一个
banking scheme 是 使用. 数据 记忆 banks 是
accessed 使用 这 文件 选择 寄存器 (fsr).
4.1 程序 记忆 organization
这 pic16c52 有 一个 9-位 程序 计数器 (pc)
有能力 的 寻址 一个 384 x 12 程序 记忆
空间 (图示 4-1). 这 pic16c54s, pic16cr54s 和
pic16c55s 有 一个 9-位 程序 计数器 (pc)
有能力 的 寻址 一个 512 x 12 程序 记忆
空间 (图示 4-2). 这 pic16c56s 和 pic16cr56s
有 一个 10-位 程序 计数器 (pc) 有能力 的
寻址 一个 1k x 12 程序 记忆 空间
(图示 4-3). 这 pic16cr57s, pic16c58s 和
pic16cr58s 有 一个 11-位 程序 计数器 有能力
的 寻址 一个 2k x 12 程序 记忆 空间
(图示 4-4). accessing 一个 location 在之上 这 physically
执行 地址 将 导致 一个 wraparound.
这 重置 vector 为 这 pic16c52 是 在 17fh. 一个 nop
在 这 重置 vector location 将 导致 一个 重新开始 在
location 000h. 这 重置 vector 为 这 pic16c54s,
pic16cr54s 和 pic16c55s 是 在 1ffh. 这 重置
vector 为 这 pic16c56s 和 pic16cr56s 是 在
3ffh. 这 重置 vector 为 这 pic16c57s,
pic16cr57s, pic16c58s, 和 pic16cr58s 是 在
7ffh.
图示 4-1: pic16c52 程序
记忆 编排 和 堆栈
pc<8:0>
堆栈 水平的 1
堆栈 水平的 2
用户 记忆
空间
9
000h
重置 vector
在-碎片 程序
记忆
17Fh
call, retlw
图示 4-2: pic16c54s/cr54s/c55s
程序 记忆 编排
和 堆栈
图示 4-3: pic16c56s/cr56s
程序 记忆 编排
和 堆栈
pc<8:0>
堆栈 水平的 1
堆栈 水平的 2
用户 记忆
空间
call, retlw
9
000h
1FFh
重置 vector
0FFh
100h
在-碎片
程序
记忆
pc<9:0>
堆栈 水平的 1
堆栈 水平的 2
用户 记忆
空间
10
000h
1FFh
重置 vector
0FFh
100h
在-碎片 程序
记忆 (页 0)
在-碎片 程序
记忆 (页 1)
200h
2FFh
300h
3FFh
call, retlw