| 数据搜索系统,热门电子元器件搜索 |
|
CF745 数据表(PDF) 24 Page - Microchip Technology |
|
|
|||||||||||||||||||||||||||||
CF745 数据表(HTML) 24 Page - Microchip Technology |
|
24 / 217 page ![]() PIC16C5X DS30453B-page 24 Preliminary © 1998 Microchip Technology Inc. 4.7 Indirect Data Addressing; INDF and FSR Registers The INDF register is not a physical register. Addressing INDF actually addresses the register whose address is contained in the FSR register (FSR is a pointer). This is indirect addressing. EXAMPLE 4-1: INDIRECT ADDRESSING • Register file 05 contains the value 10h • Register file 06 contains the value 0Ah • Load the value 05 into the FSR register • A read of the INDF register will return the value of 10h • Increment the value of the FSR register by one (FSR = 06h) • A read of the INDR register now will return the value of 0Ah. Reading INDF itself indirectly (FSR = 0) will produce 00h. Writing to the INDF register indirectly results in a no-operation (although STATUS bits may be affected). A simple program to clear RAM locations 10h-1Fh using indirect addressing is shown in Example 4-2. EXAMPLE 4-2: HOW TO CLEAR RAM USING INDIRECT ADDRESSING movlw 0x10 ;initialize pointer movwf FSR ; to RAM NEXT clrf INDF ;clear INDF register incf FSR,F ;inc pointer btfsc FSR,4 ;all done? goto NEXT ;NO, clear next CONTINUE : ;YES, continue The FSR is either a 5-bit (PIC16C52, PIC16C54s, PIC16CR54s, PIC16C55s), 6-bit (PIC16C56s, PIC16CR56s), or 7-bit (PIC16C57s, PIC16CR57s, PIC16C58s, PIC16CR58s) wide register. It is used in conjunction with the INDF register to indirectly address the data memory area. The FSR<4:0> bits are used to select data memory addresses 00h to 1Fh. PIC16C52, PIC16C54s, PIC16CR54s, PIC16C55s: These do not use banking. FSR<6:5> are unimplemented and read as '1's. PIC16C57s, PIC16CR57s, PIC16C58s, PIC16CR58s: FSR<6:5> are the bank select bits and are used to select the bank to be addressed (00 = bank 0, 01 = bank 1, 10 = bank 2, 11 = bank 3). FIGURE 4-13: DIRECT/INDIRECT ADDRESSING Note 1: For register map detail see Section 4.2. bank location select location select bank select Indirect Addressing Direct Addressing Data Memory(1) 0Fh 10h Bank 0 Bank 1 Bank 2 Bank 3 0 4 5 6 (FSR) 10 00 01 11 00h 1Fh 3Fh 5Fh 7Fh (opcode) 0 4 5 6 (FSR) Addresses map back to addresses in Bank 0. |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |