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

PIC18F2450-I/SO 参数 Datasheet PDF下载

PIC18F2450-I/SO图片预览
型号: PIC18F2450-I/SO
PDF下载: 下载PDF文件 查看货源
内容描述: 28 /40/ 44引脚,高性能, 12 MIPS ,增强型闪存, USB微控制器采用纳瓦技术 [28/40/44-Pin, High-Performance, 12 MIPS, Enhanced Flash, USB Microcontrollers with nanoWatt Technology]
分类和应用: 闪存微控制器和处理器外围集成电路光电二极管PC时钟
文件页数/大小: 320 页 / 5591 K
品牌: MICROCHIP [ MICROCHIP ]
 浏览型号PIC18F2450-I/SO的Datasheet PDF文件第256页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第257页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第258页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第259页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第261页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第262页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第263页浏览型号PIC18F2450-I/SO的Datasheet PDF文件第264页  
PIC18F2450/4450  
19.2.3  
BYTE-ORIENTED AND  
BIT-ORIENTED INSTRUCTIONS IN  
INDEXED LITERAL OFFSET MODE  
19.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.6.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  
embedded 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, however, 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 mode, 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 19.2.3.1  
“Extended Instruction Syntax with Standard PIC18  
Commands”).  
19.2.4  
CONSIDERATIONS WHEN  
ENABLING THE EXTENDED  
INSTRUCTION SET  
It is important to note that the extensions to the  
instruction 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  
programming 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  
conditions shown in the examples are applicable to all  
instructions of these types.  
When porting an application to the PIC18F2450/4450,  
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 applica-  
tions that heavily use the Access Bank will most likely  
not benefit from using the extended instruction set.  
DS39760A-page 258  
Advance Information  
© 2006 Microchip Technology Inc.  
 复制成功!