ARM Technical Support Knowledge Articles

?C? LOAD AND STORE LIBRARY ROUTINES

Applies to: C51 C Compiler

Answer


Information in this article applies to:


NOTE

The Keil C51 library includes a number of helper routines for the C51 compiler. These routines perform mundane tasks like loading and storing objects. The code to perform these operations is not included in-line but is implemented via a function call.

These routines are named using the following convention: ?C?tffmmm

where:

TYPE FIELD

The type field is a character that indicates the data type used:

FUNCTION FIELD

The function field indicates the operation that is performed:

MEMORY TYPE FIELD

The memory type field indicates that memory area that is accessed:

EXAMPLE

The library routine ?C?PLDIPTR is passed a generic pointer in R1/R2/R3 (P). This pointer points to a pointer which is returned in R1/R2/R3 (PTR). A/B contain the MSB and LSB of a value to add to the pointer (LDI). The pointer returned is the pointer value before the increment is added.

SEE ALSO

COMPLETE LISTING

Following is a complete list of all routines possible using the above naming conventions:

?C?CLDXDATA, ?C?ILDXDATA, ?C?PLDXDATA, ?C?LLDXDATA, ?C?L0LDXDATA, ?C?CILDXDATA, ?C?IILDXDATA, ?C?PILDXDATA, ?C?LILDXDATA, ?C?L0ILDXDATA, ?C?CLDIXDATA, ?C?ILDIXDATA, ?C?PLDIXDATA, ?C?LLDIXDATA, ?C?L0LDIXDATA, ?C?CSTXDATA, ?C?ISTXDATA, ?C?PSTXDATA, ?C?LSTXDATA, ?C?L0STXDATA, ?C?CSTKXDATA, ?C?ISTKXDATA, ?C?PSTKXDATA, ?C?LSTKXDATA, ?C?L0STKXDATA,

?C?CLDPDATA, ?C?ILDPDATA, ?C?PLDPDATA, ?C?LLDPDATA, ?C?L0LDPDATA, ?C?CILDPDATA, ?C?IILDPDATA, ?C?PILDPDATA, ?C?LILDPDATA, ?C?L0ILDPDATA, ?C?CLDIPDATA, ?C?ILDIPDATA, ?C?PLDIPDATA, ?C?LLDIPDATA, ?C?L0LDIPDATA, ?C?CSTPDATA, ?C?ISTPDATA, ?C?PSTPDATA, ?C?LSTPDATA, ?C?L0STPDATA, ?C?CSTKPDATA, ?C?ISTKPDATA, ?C?PSTKPDATA, ?C?LSTKPDATA, ?C?L0STKPDATA,

?C?CLDIDATA, ?C?ILDIDATA, ?C?PLDIDATA, ?C?LLDIDATA, ?C?L0LDIDATA, ?C?CILDIDATA, ?C?IILDIDATA, ?C?PILDIDATA, ?C?LILDIDATA, ?C?L0ILDIDATA, ?C?CLDIIDATA, ?C?ILDIIDATA, ?C?PLDIIDATA, ?C?LLDIIDATA, ?C?L0LDIIDATA, ?C?CSTIDATA, ?C?ISTIDATA, ?C?PSTIDATA, ?C?LSTIDATA, ?C?L0STIDATA, ?C?CSTKIDATA, ?C?ISTKIDATA, ?C?PSTKIDATA, ?C?LSTKIDATA, ?C?L0STKIDATA,

?C?CLDDATA, ?C?ILDDATA, ?C?PLDDATA, ?C?LLDDATA, ?C?L0LDDATA, ?C?CILDDATA, ?C?IILDDATA, ?C?PILDDATA, ?C?LILDDATA, ?C?L0ILDDATA, ?C?CLDIDATA, ?C?ILDIDATA, ?C?PLDIDATA, ?C?LLDIDATA, ?C?L0LDIDATA, ?C?CSTDATA, ?C?ISTDATA, ?C?PSTDATA, ?C?LSTDATA, ?C?L0STDATA, ?C?CSTKDATA, ?C?ISTKDATA, ?C?PSTKDATA, ?C?LSTKDATA, ?C?L0STKDATA,

?C?CLDCODE, ?C?ILDCODE, ?C?PLDCODE, ?C?LLDCODE, ?C?L0LDCODE, ?C?CILDCODE, ?C?IILDCODE, ?C?PILDCODE, ?C?LILDCODE, ?C?L0ILDCODE, ?C?CLDICODE, ?C?ILDICODE, ?C?PLDICODE, ?C?LLDICODE, ?C?L0LDICODE, ?C?CSTCODE, ?C?ISTCODE, ?C?PSTCODE, ?C?LSTCODE, ?C?L0STCODE, ?C?CSTKCODE, ?C?ISTKCODE, ?C?PSTKCODE, ?C?LSTKCODE, ?C?L0STKCODE,

?C?CLDPTR, ?C?ILDPTR, ?C?PLDPTR, ?C?LLDPTR, ?C?L0LDPTR, ?C?CILDPTR, ?C?IILDPTR, ?C?PILDPTR, ?C?LILDPTR, ?C?L0ILDPTR, ?C?CLDIPTR, ?C?ILDIPTR, ?C?PLDIPTR, ?C?LLDIPTR, ?C?L0LDIPTR, ?C?CSTPTR, ?C?ISTPTR, ?C?PSTPTR, ?C?LSTPTR, ?C?L0STPTR, ?C?CSTKPTR, ?C?ISTKPTR, ?C?PSTKPTR, ?C?LSTKPTR, ?C?L0STKPTR,

?C?CLDOPTR, ?C?ILDOPTR, ?C?PLDOPTR, ?C?LLDOPTR, ?C?L0LDOPTR, ?C?CILDOPTR, ?C?IILDOPTR, ?C?PILDOPTR, ?C?LILDOPTR, ?C?L0ILDOPTR, ?C?CLDIOPTR, ?C?ILDIOPTR, ?C?PLDIOPTR, ?C?LLDIOPTR, ?C?L0LDIOPTR, ?C?CSTOPTR, ?C?ISTOPTR, ?C?PSTOPTR, ?C?LSTOPTR, ?C?L0STOPTR, ?C?CSTKOPTR, ?C?ISTKOPTR, ?C?PSTKOPTR, ?C?LSTKOPTR, ?C?L0STKOPTR

Article last edited on: 2005-04-18 05:34:10

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential