CrossWorks makes a distinction between the low-level symbol names used for C objects and the names of the C objects themselves. The CrossWorks compiler always prepends an underscore character '_' to the name of any externally visible C function or variable when constructing its low-level symbol name.

##### Example

For instance, an external variable declared at the C level like this:

    extern char var;

will be accessible at the assembly level like this:

    move dp[0], #_var