©
2005 微芯 技术 公司
初步的
ds41232b-页 27
pic12f635/pic16f636/639
2.4 间接的 寻址, indf 和
fsr 寄存器
这 indf 寄存器 是 不 一个 物理的 寄存器. 寻址
这 indf 寄存器 将 导致 间接的 寻址.
间接的 寻址 是 可能 用 使用 这 indf
寄存器. 任何 操作指南 使用 这 indf 寄存器
的确 accesses 数据 pointed 至 用 这 文件 选择
寄存器 (fsr). 读 indf 它自己 indirectly 将
生产 00h. writing 至 这 indf 寄存器 indirectly
结果 在 一个 非 运作 (虽然 状态 位 将 是
影响). 一个 有效的 9-位 地址 是 得到 用
concatenating 这 8-位 fsr 和 这 irp 位
(状态<7>), 作 显示 在 图示 2-6.
一个 简单的 程序 至 clear 内存 location 20h-2fh 使用
间接的 寻址 是 显示 在 例子 2-1.
例子 2-1: 间接的 寻址
图示 2-6: 直接/间接的 寻址 pic12f635/pic16f636/639
MOVLW 0x20 ;initialize pointer
MOVWF FSR ;至 内存
NEXT CLRF INDF ;clear indf 寄存器
INCF FSR ;inc pointer
BTFSS fsr,4 ;所有 完毕?
GOTO NEXT ;非 clear next
CONTINUE ;yes continue
便条:
为 记忆 编排 detail, 看 图示 2-2.
数据
记忆
间接的 寻址直接 寻址
bank 选择 location 选择
RP1 RP0
6
0
从 opcode
IRP 文件 选择 寄存器
7
0
bank 选择
location 选择
00 01 10 11
180h
1FFh
00h
7Fh
bank 0 bank 1 bank 2 bank 3