4.8 Special Operators
The assembler provides a set of special operators for each of the following actions:
| Operators* | Description | Support | 
|---|---|---|
tblpage() | 
                  Get page for table read/write operations | All | 
tbloffset() | 
                  Get pointer for table read/write operations | All | 
psvpage() | 
                  Get page for PSV data window operations | All | 
psvoffset() | 
                  Get pointer for PSV data window operations | All | 
paddr() | 
                  Get 24-bit address of label in program memory | All | 
handle() | 
                  Get 16-bit reference to label in program memory | All | 
dmapage(name) | 
                  Get page suitable for DMA controller | 33E | 
dmaoffset(name) | 
                  Get offset of a symbol within DMA memory | 33F | 
.sizeof.() | 
                  Get size of section name in address units | All | 
.startof.() | 
                  Get starting address of section name | All | 
boot(num) | 
                  Get address of access slot num in the boot segment. | 
                  All | 
secure(num) | 
                  Get address of access slot num in the secure segment. | 
                  All | 
edspage(name) | 
                  Get page for EDS data window operations | All | 
edsoffset(name) | 
                  Get pointer for EDS data window operations | All | 
| * You cannot use two special
                     operators in an expression. All = Support for all devices ; 33F = Support for dsPIC33F DSCs; 33E = Support for dsPIC33EP DSCs  | 
               ||
