| SX/B Aliases |
SX Registers
| SX18 | SX20 | SX28 | SX48 | SX52 | |||||
| • IND | Indirect Register | $00 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RTCC | Real Time Clock/Counter | $01 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PC | Program Counter | $02 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • STATUS | Status Register | $03 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PA2 | Page Select bit 2 | STATUS.7 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PA1 | Page Select bit 1 | STATUS.6 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PA0 | Page Select bit 0 | STATUS.5 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • TO | Time Out | STATUS.4 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PD | Power Down | STATUS.3 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • Z | Zero | STATUS.2 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • DC | Digit Carry | STATUS.1 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • C | Carry | STATUS.0 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • FSR | File Select Register | $04 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RA | Port A | $05 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RB | Port B | $06 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RC | Port C | $07 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RD | Port D | $08 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RE | Port E | $09 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RBC | Ports B & C as 16-bit entity | $06 (LSB) + $07 (MSB) | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RCD | Ports C & D as 16-bit entity | $07 (LSB) + $08 (MSB) | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • RDE | Ports D & E as 16-bit entity | $08 (LSB) + $09 (MSB) | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PORTA | Port A | $05 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PORTB | Port B | $06 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PORTC | Port C | $07 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PORTD | Port D | $08 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • PORTE | Port E | $09 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • TRIS_A | Data Direction register for RA | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • TRIS_B | Data Direction register for RB | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • TRIS_C | Data Direction register for RC | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • TRIS_D | Data Direction register for RD | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • TRIS_E | Data Direction register for RE | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • PLP_A 1 | Pull-Up resistor enable for RA | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • PLP_B 1 | Pull-Up resistor enable for RB | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • PLP_C 1 | Pull-Up resistor enable for RC | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • PLP_D 1 | Pull-Up resistor enable for RD | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • PLP_E 1 | Pull-Up resistor enable for RE | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • LVL_A 1 | TTL/CMOS select for RA | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • LVL_B 1 | TTL/CMOS select for RB | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • LVL_C 1 | TTL/CMOS select for RC | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • LVL_D 1 | TTL/CMOS select for RD | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • LVL_E 1 | TTL/CMOS select for RE | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • ST_B 1 | Schmitt-Trigger enable for RB | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • ST_C 1 | Schmitt-Trigger enable for RC | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • ST_D 1 | Schmitt-Trigger enable for RD | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • ST_E 1 | Schmitt-Trigger enable for RE | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • WKEN_B 1 | Wake Up enable register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • WKED_B 1 | Wake Up edge select register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • WKPND_B 1, 2 | MIWU pending register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • CMP_B 1, 2 | Comparator enable register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1CPL | Low byte of Timer T1 capture register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1CPH | High byte of Timer T1 capture register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1R1CML | Low byte of Timer T1 compare register 1 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1R1CMH | High byte of Timer T1 compare register 1 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1R2CML | Low byte of Timer T1 compare register 2 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1R2CMH | High byte of Timer T1 compare register 2 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1CNTA | Timer T1 control register A | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T1CNTB | Timer T1 control register B | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2CPL | Low byte of Timer T2 capture register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2CPH | High byte of Timer T2 capture register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2R1CML | Low byte of Timer T2 compare register 1 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2R1CMH | High byte of Timer T2 compare register 1 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2R2CML | Low byte of Timer T2 compare register 2 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2R2CMH | High byte of Timer T2 compare register 2 | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2CNTA | Timer T2 control register A | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • T2CNTB | Timer T2 control register B | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • MODE | Mode register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • M | Mode register | ![]() |
![]() |
![]() |
![]() |
![]() |
|||
| • OPTION | Option register | ![]() |
![]() |
![]() |
![]() |
![]() |
SX/B Variables
| SX18 | SX20 | SX28 | SX48 | SX52 | |||||
| • __RAM() | Provides access to any RAM address | $00 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __PARAM1 | First byte parameter | $08 / $0A * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __PARAM2 | Second byte parameter | $09 / $0B * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __PARAM3 | Third byte parameter | $0A / $0C * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __PARAM4 | Fourth byte parameter | $0B / $0E * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __WPARAM12 | First word parameter | $08,09 / $0A,$0B * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __WPARAM23 | Second word parameter | $09,$0A / $0B,$0C * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __WPARAM34 | Third word parameter | $0A,$0B / $0C,$0D * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __REMAINDER | Remainder after a division | $08 / $0A * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __WREMAINDER | Remainder after a division | $08,$09 / $0A,$0B * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __PARAMCNT | Number of parameters passed to subroutine | $0C / $0E * | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __INTPARAMFSR | Save/Restore location of "M" and __PARAMx | $F5 | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __TRISA † | TRIS_A copy | $FA | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __TRISB † | TRIS_B copy | $FB | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __TRISC † | TRIS_C copy | $FC | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __TRISD † | TRIS_D copy | $FD | ![]() |
![]() |
![]() |
![]() |
![]() |
||
| • __TRISE † | TRIS_E copy | $FE | ![]() |
![]() |
![]() |
![]() |
![]() |
SX/B Constants
| SX18 | SX20 | SX28 | SX48 | SX52 | |||||
| • __FREQMHZ | Frequency (in MHz) as set in FREQ directive. | ![]() |
![]() |
![]() |
![]() |
![]() |
* Note: Location depends on module used: SX18/20/28 or
SX48/52
† Note: These registers must not be modified by the
programmer, otherwise some SX/B instructions will be adversely affected.