11.07.2015 Views

PicC 9.50 dsPIC Manual.pdf

PicC 9.50 dsPIC Manual.pdf

PicC 9.50 dsPIC Manual.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

HI-TECH C Assembly LanguageMacro Assembler• The bit flag specifies that a psect hold objects that are 1 bit long. Such psects have a scalevalue of 8 to indicate that there are 8 addressable units to each byte of storage.• The class flag specifies a class name for this psect. Class names are used to allow local psectsto be referred to by a class name at link time, since they cannot be referred to by their ownname. Class names are also useful where psects need only be positioned anywhere within arange of addresses rather than at one specific address.• The delta flag defines the size of an addressing unit. In other words, the number of bytescovered for an increment in the address.• A psect defined as global will be combined with other global psects of the same name fromother modules at link time. This is the default behaviour for psects, unless the local flag isused.• The limit flag specifies a limit on the highest address to which a psect may extend.• A psect defined as local will not be combined with other local psects at link time, even ifthere are others with the same name. Where there are two local psects in the one module,they reference the same psect. A local psect may not have the same name as any globalpsect, even one in another module.• A psect defined as ovrld will have the contribution from each module overlaid, rather thanconcatenated at runtime. ovrld in combination with abs defines a truly absolute psect, i.e. apsect within which any symbols defined are absolute.• The pure flag instructs the linker that this psect will not be modified at runtime and maytherefore, for example, be placed in ROM. This flag is of limited usefulness since it dependson the linker and target system enforcing it.• The pad flag instructs the linker that at the end of this psect, it should zero pad it to the nextaddress which is a multiple of the given value. This is useful when mulitple psects are linkedone after each other as it ensures that the start of each psect will begin on the selected addressboundary.• The reloc flag allows specification of a requirement for alignment of the psect on a particularboundary, e.g. reloc=100h would specify that this psect must start on an address that is amultiple of 100h.• The size flag allows a maximum size to be specified for the psect, e.g. size=100h. This willbe checked by the linker after psects have been combined from all modules.78

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!