欢迎访问ic37.com |
会员登录 免费注册
发布采购

PIC18F2420-I/SO 参数 Datasheet PDF下载

PIC18F2420-I/SO图片预览
型号: PIC18F2420-I/SO
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚增强型闪存微控制器与10位A / D和纳瓦技术 [28/40/44-Pin Enhanced Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology]
分类和应用: 闪存微控制器
文件页数/大小: 412 页 / 6898 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18F2420-I/SO的Datasheet PDF文件第312页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第313页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第314页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第315页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第317页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第318页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第319页浏览型号PIC18F2420-I/SO的Datasheet PDF文件第320页  
PIC18F2420/2520/4420/4520  
24.2.3  
BYTE-ORIENTED AND  
BIT-ORIENTED INSTRUCTIONS IN  
INDEXED LITERAL OFFSET MODE  
24.2.3.1  
Extended Instruction Syntax with  
Standard PIC18 Commands  
When the extended instruction set is enabled, the file  
register argument, ‘f’, in the standard byte-oriented and  
bit-oriented commands is replaced with the literal offset  
value, ‘k’. As already noted, this occurs only when ‘f’ is  
less than or equal to 5Fh. When an offset value is used,  
it must be indicated by square brackets (“[ ]”). As with  
the extended instructions, the use of brackets indicates  
to the compiler that the value is to be interpreted as an  
index or an offset. Omitting the brackets, or using a  
value greater than 5Fh within brackets, will generate an  
error in the MPASM Assembler.  
Note: Enabling the PIC18 instruction set  
extension may cause legacy applications  
to behave erratically or fail entirely.  
In addition to eight new commands in the extended set,  
enabling the extended instruction set also enables  
Indexed Literal Offset Addressing mode (Section 5.5.1  
“Indexed Addressing with Literal Offset”). This has  
a significant impact on the way that many commands of  
the standard PIC18 instruction set are interpreted.  
When the extended set is disabled, addresses embed-  
ded in opcodes are treated as literal memory locations:  
either as a location in the Access Bank (‘a’ = 0), or in a  
GPR bank designated by the BSR (‘a’ = 1). When the  
extended instruction set is enabled and ‘a’ = 0, how-  
ever, a file register argument of 5Fh or less is  
interpreted as an offset from the pointer value in FSR2  
and not as a literal address. For practical purposes, this  
means that all instructions that use the Access RAM bit  
as an argument – that is, all byte-oriented and bit-  
oriented instructions, or almost half of the core PIC18  
instructions – may behave differently when the  
extended instruction set is enabled.  
If the index argument is properly bracketed for Indexed  
Literal Offset Addressing, the Access RAM argument is  
never specified; it will automatically be assumed to be  
0’. This is in contrast to standard operation (extended  
instruction set disabled) when ‘a’ is set on the basis of  
the target address. Declaring the Access RAM bit in  
this mode will also generate an error in the MPASM  
Assembler.  
The destination argument, ‘d’, functions as before.  
In the latest versions of the MPASM assembler,  
language support for the extended instruction set must  
be explicitly invoked. This is done with either the  
command line option, /y, or the PE directive in the  
source listing.  
When the content of FSR2 is 00h, the boundaries of the  
Access RAM are essentially remapped to their original  
values. This may be useful in creating backward  
compatible code. If this technique is used, it may be  
necessary to save the value of FSR2 and restore it  
when moving back and forth between C and assembly  
routines in order to preserve the Stack Pointer. Users  
must also keep in mind the syntax requirements of the  
extended instruction set (see Section 24.2.3.1  
“Extended Instruction Syntax with Standard PIC18  
Commands”).  
24.2.4  
CONSIDERATIONS WHEN  
ENABLING THE EXTENDED  
INSTRUCTION SET  
It is important to note that the extensions to the instruc-  
tion set may not be beneficial to all users. In particular,  
users who are not writing code that uses a software  
stack may not benefit from using the extensions to the  
instruction set.  
Although the Indexed Literal Offset Addressing mode  
can be very useful for dynamic stack and pointer  
manipulation, it can also be very annoying if a simple  
arithmetic operation is carried out on the wrong  
register. Users who are accustomed to the PIC18 pro-  
gramming must keep in mind that, when the extended  
instruction set is enabled, register addresses of 5Fh or  
less are used for Indexed Literal Offset Addressing.  
Additionally, the Indexed Literal Offset Addressing  
mode may create issues with legacy applications  
written to the PIC18 assembler. This is because  
instructions in the legacy code may attempt to address  
registers in the Access Bank below 5Fh. Since these  
addresses are interpreted as literal offsets to FSR2  
when the instruction set extension is enabled, the  
application may read or write to the wrong data  
addresses.  
Representative examples of typical byte-oriented and  
bit-oriented instructions in the Indexed Literal Offset  
Addressing mode are provided on the following page to  
show how execution is affected. The operand condi-  
tions shown in the examples are applicable to all  
instructions of these types.  
When porting an application to the PIC18F2420/2520/  
4420/4520, it is very important to consider the type of  
code. A large, re-entrant application that is written in ‘C’  
and would benefit from efficient compilation will do well  
when using the instruction set extensions. Legacy  
applications that heavily use the Access Bank will most  
likely not benefit from using the extended instruction  
set.  
DS39631E-page 314  
© 2008 Microchip Technology Inc.  
 复制成功!