Register
Name
SFR Address
Module
Description
ADCCON1
0xB4
ADC
ADCcontrol1
ADCCON2
0xB5
ADC
ADCcontrol2
ADCCON3
0xB6
ADC
ADCcontrol3
ADCL
0xBA
ADC
ADCdata low
ADCH
0xBB
ADC
ADCdata high
RNDL
0xBC
ADC
Randomnumbergenerator datalow
RNDH
0xBD
ADC
Randomnumbergenerator datahigh
ENCDI
0xB1
AES
Encryption/decryptioninputdata
ENCDO
0xB2
AES
Encryption/decryptionoutputdata
ENCCS
0xB3
AES
Encryption/decryptioncontrolandstatus
P0
0x80
CPU
Port0. ReadablefromXDATA(0x7080)
SP
0x81
CPU
Stackpointer
DPL0
0x82
CPU
Datapointer0lowbyte
DPH0
0x83
CPU
Datapointer0highbyte
DPL1
0x84
CPU
Datapointer1lowbyte
DPH1
0x85
CPU
Datapointer0highbyte
PCON
0x87
CPU
Powermodecontrol
TCON
0x88
CPU
Interruptflags
P1
0x90
CPU
Port1. ReadablefromXDATA(0x7090)
DPS
0x92
CPU
Datapointerselect
S0CON
0x98
CPU
Interruptflags2
IEN2
0x9A
CPU
Interruptenable2
S1CON
0x9B
CPU
Interruptflags3
P2
0xA0
CPU
Port2. ReadablefromXDATA(0x70A0)
IEN0
0xA8
CPU
Interruptenable0
IP0
0xA9
CPU
Interruptpriority0
IEN1
0xB8
CPU
Interruptenable1
IP1
0xB9
CPU
Interruptpriority1
IRCON
0xC0
CPU
Interruptflags4
PSW
0xD0
CPU
ProgramstatusWord
ACC
0xE0
CPU
Accumulator
IRCON2
0xE8
CPU
Interruptflags5
B
0xF0
CPU
Bregister
DMAIRQ
0xD1
DMA
DMAinterruptflag
DMA1CFGL
0xD2
DMA
DMAchannel1–4configuration addresslow
DMA1CFGH
0xD3
DMA
DMAchannel1–4configuration addresshigh
DMA0CFGL
0xD4
DMA
DMAchannel0configurationaddress low
DMA0CFGH
0xD5
DMA
DMAchannel0configurationaddress high
DMAARM
0xD6
DMA
DMAchannelarmed
DMAREQ
0xD7
DMA
DMAchannelstartrequestandstatus
—
0xAA
—
Reserved
—
0x8E
—
Reserved
—
0x99
—
Reserved
—
0xB0
—
Reserved
—
0xB7
—
Reserved
—
0xC8
—
Reserved
P0IFG
0x89
IOC
Port0 interruptstatusflag
P1IFG
0x8A
IOC
Port1 interruptstatusflag
P2IFG
0x8B
IOC
Port2 interruptstatusflag
PICTL
0x8C
IOC
Portpinsinterrupt maskandedge
P0IEN
0xAB
IOC
Port0 interruptmask
P1IEN
0x8D
IOC
Port1 interruptmask
P2IEN
0xAC
IOC
Port2 interruptmask
P0INP
0x8F
IOC
Port0 inputmode
PERCFG
0xF1
IOC
PeripheralI/Ocontrol
APCFG
0xF2
IOC
AnalogperipheralI/Oconfiguration
P0SEL
0xF3
IOC
Port0 functionselect
P1SEL
0xF4
IOC
Port1 functionselect
P2SEL
0xF5
IOC
Port2 functionselect
P1INP
0xF6
IOC
Port1 inputmode
P2INP
0xF7
IOC
Port2 inputmode
P0DIR
0xFD
IOC
Port0 direction
P1DIR
0xFE
IOC
Port1 direction
P2DIR
0xFF
IOC
Port2 direction
PMUX
0xAE
IOC
Power-downsignalmux
MPAGE
0x93
MEMORY
Memorypageselect
MEMCTR
0xC7
MEMORY
Memorysystemcontrol
FMAP
0x9F
MEMORY
Flash-memorybankmapping
RFIRQF1
0x91
RF
RFinterruptflagsMSB
RFD
0xD9
RF
RFdata
RFST
0xE1
RF
RFcommandstrobe
RFIRQF0
0xE9
RF
RFinterruptflagsLSB
RFERRF
0xBF
RF
RFerror interruptflags
ST0
0x95
ST
SleepTimer0
ST1
0x96
ST
SleepTimer1
ST2
0x97
ST
SleepTimer2
STLOAD
0xAD
ST
Sleep-timerloadstatus
SLEEPCMD
0xBE
PMC
Sleep-modecontrolcommand
SLEEPSTA
0x9D
PMC
Sleep-modecontrolstatus
CLKCONCMD
0xC6
PMC
Clockcontrolcommand
CLKCONSTA
0x9E
PMC
Clockcontrolstatus
T1CC0L
0xDA
Timer1
Timer1 channel0capture/compare valuelow
T1CC0H
0xDB
Timer1
Timer1 channel0capture/compare valuehigh
T1CC1L
0xDC
Timer1
Timer1 channel1capture/compare valuelow
T1CC1H
0xDD
Timer1
Timer1 channel1capture/compare valuehigh
T1CC2L
0xDE
Timer1
Timer1 channel2capture/compare valuelow
T1CC2H
0xDF
Timer1
Timer1 channel2capture/compare valuehigh
T1CNTL
0xE2
Timer1
Timer1 counterlow
T1CNTH
0xE3
Timer1
Timer1 counterhigh
T1CTL
0xE4
Timer1
Timer1 controlandstatus
T1CCTL0
0xE5
Timer1
Timer1 channel0capture/compare control
T1CCTL1
0xE6
Timer1
Timer1 channel1capture/compare control
T1CCTL2
0xE7
Timer1
Timer1 channel2capture/compare control
T1STAT
0xAF
Timer1
Timer1 status
T2CTRL
0x94
Timer2
Timer2 control
T2EVTCFG
0x9C
Timer2
Timer2 eventconfiguration
T2IRQF
0xA1
Timer2
Timer2 interruptflags
T2M0
0xA2
Timer2
Timer2 multiplexedregister0
T2M1
0xA3
Timer2
Timer2 multiplexedregister1
T2MOVF0
0xA4
Timer2
Timer2 multiplexedoverflowregister 0
T2MOVF1
0xA5
Timer2
Timer2 multiplexedoverflowregister 1
T2MOVF2
0xA6
Timer2
Timer2 multiplexedoverflowregister 2
T2IRQM
0xA7
Timer2
Timer2 interruptmask
T2MSEL
0xC3
Timer2
Timer2 multiplexselect
T3CNT
0xCA
Timer3
Timer3 counter
T3CTL
0xCB
Timer3
Timer3 control
T3CCTL0
0xCC
Timer3
Timer3 channel0compare control
T3CC0
0...
继续阅读完整内容
请查看下方广告以解锁文章剩余内容
|
Register Name |
SFR Address |
Module |
Description |
| ADCCON1 | 0xB4 | ADC | ADCcontrol1 |
| ADCCON2 | 0xB5 | ADC | ADCcontrol2 |
| ADCCON3 | 0xB6 | ADC | ADCcontrol3 |
| ADCL | 0xBA | ADC | ADCdata low |
| ADCH | 0xBB | ADC | ADCdata high |
| RNDL | 0xBC | ADC | Randomnumbergenerator datalow |
| RNDH | 0xBD | ADC | Randomnumbergenerator datahigh |
| ENCDI | 0xB1 | AES | Encryption/decryptioninputdata |
| ENCDO | 0xB2 | AES | Encryption/decryptionoutputdata |
| ENCCS | 0xB3 | AES | Encryption/decryptioncontrolandstatus |
| P0 | 0x80 | CPU | Port0. ReadablefromXDATA(0x7080) |
| SP | 0x81 | CPU | Stackpointer |
| DPL0 | 0x82 | CPU | Datapointer0lowbyte |
| DPH0 | 0x83 | CPU | Datapointer0highbyte |
| DPL1 | 0x84 | CPU | Datapointer1lowbyte |
| DPH1 | 0x85 | CPU | Datapointer0highbyte |
| PCON | 0x87 | CPU | Powermodecontrol |
| TCON | 0x88 | CPU | Interruptflags |
| P1 | 0x90 | CPU | Port1. ReadablefromXDATA(0x7090) |
| DPS | 0x92 | CPU | Datapointerselect |
| S0CON | 0x98 | CPU | Interruptflags2 |
| IEN2 | 0x9A | CPU | Interruptenable2 |
| S1CON | 0x9B | CPU | Interruptflags3 |
| P2 | 0xA0 | CPU | Port2. ReadablefromXDATA(0x70A0) |
| IEN0 | 0xA8 | CPU | Interruptenable0 |
| IP0 | 0xA9 | CPU | Interruptpriority0 |
| IEN1 | 0xB8 | CPU | Interruptenable1 |
| IP1 | 0xB9 | CPU | Interruptpriority1 |
| IRCON | 0xC0 | CPU | Interruptflags4 |
| PSW | 0xD0 | CPU | ProgramstatusWord |
| ACC | 0xE0 | CPU | Accumulator |
| IRCON2 | 0xE8 | CPU | Interruptflags5 |
| B | 0xF0 | CPU | Bregister |
| DMAIRQ | 0xD1 | DMA | DMAinterruptflag |
| DMA1CFGL | 0xD2 | DMA | DMAchannel1–4configuration addresslow |
| DMA1CFGH | 0xD3 | DMA | DMAchannel1–4configuration addresshigh |
| DMA0CFGL | 0xD4 | DMA | DMAchannel0configurationaddress low |
| DMA0CFGH | 0xD5 | DMA | DMAchannel0configurationaddress high |
| DMAARM | 0xD6 | DMA | DMAchannelarmed |
| DMAREQ | 0xD7 | DMA | DMAchannelstartrequestandstatus |
| — | 0xAA | — | Reserved |
| — | 0x8E | — | Reserved |
| — | 0x99 | — | Reserved |
| — | 0xB0 | — | Reserved |
| — | 0xB7 | — | Reserved |
| — | 0xC8 | — | Reserved |
| P0IFG | 0x89 | IOC | Port0 interruptstatusflag |
| P1IFG | 0x8A | IOC | Port1 interruptstatusflag |
| P2IFG | 0x8B | IOC | Port2 interruptstatusflag |
| PICTL | 0x8C | IOC | Portpinsinterrupt maskandedge |
| P0IEN | 0xAB | IOC | Port0 interruptmask |
| P1IEN | 0x8D | IOC | Port1 interruptmask |
| P2IEN | 0xAC | IOC | Port2 interruptmask |
| P0INP | 0x8F | IOC | Port0 inputmode |
| PERCFG | 0xF1 | IOC | PeripheralI/Ocontrol |
| APCFG | 0xF2 | IOC | AnalogperipheralI/Oconfiguration |
| P0SEL | 0xF3 | IOC | Port0 functionselect |
| P1SEL | 0xF4 | IOC | Port1 functionselect |
| P2SEL | 0xF5 | IOC | Port2 functionselect |
| P1INP | 0xF6 | IOC | Port1 inputmode |
| P2INP | 0xF7 | IOC | Port2 inputmode |
| P0DIR | 0xFD | IOC | Port0 direction |
| P1DIR | 0xFE | IOC | Port1 direction |
| P2DIR | 0xFF | IOC | Port2 direction |
| PMUX | 0xAE | IOC | Power-downsignalmux |
| MPAGE | 0x93 | MEMORY | Memorypageselect |
| MEMCTR | 0xC7 | MEMORY | Memorysystemcontrol |
| FMAP | 0x9F | MEMORY | Flash-memorybankmapping |
| RFIRQF1 | 0x91 | RF | RFinterruptflagsMSB |
| RFD | 0xD9 | RF | RFdata |
| RFST | 0xE1 | RF | RFcommandstrobe |
| RFIRQF0 | 0xE9 | RF | RFinterruptflagsLSB |
| RFERRF | 0xBF | RF | RFerror interruptflags |
| ST0 | 0x95 | ST | SleepTimer0 |
| ST1 | 0x96 | ST | SleepTimer1 |
| ST2 | 0x97 | ST | SleepTimer2 |
| STLOAD | 0xAD | ST | Sleep-timerloadstatus |
| SLEEPCMD | 0xBE | PMC | Sleep-modecontrolcommand |
| SLEEPSTA | 0x9D | PMC | Sleep-modecontrolstatus |
| CLKCONCMD | 0xC6 | PMC | Clockcontrolcommand |
| CLKCONSTA | 0x9E | PMC | Clockcontrolstatus |
| T1CC0L | 0xDA | Timer1 | Timer1 channel0capture/compare valuelow |
| T1CC0H | 0xDB | Timer1 | Timer1 channel0capture/compare valuehigh |
| T1CC1L | 0xDC | Timer1 | Timer1 channel1capture/compare valuelow |
| T1CC1H | 0xDD | Timer1 | Timer1 channel1capture/compare valuehigh |
| T1CC2L | 0xDE | Timer1 | Timer1 channel2capture/compare valuelow |
| T1CC2H | 0xDF | Timer1 | Timer1 channel2capture/compare valuehigh |
| T1CNTL | 0xE2 | Timer1 | Timer1 counterlow |
| T1CNTH | 0xE3 | Timer1 | Timer1 counterhigh |
| T1CTL | 0xE4 | Timer1 | Timer1 controlandstatus |
| T1CCTL0 | 0xE5 | Timer1 | Timer1 channel0capture/compare control |
| T1CCTL1 | 0xE6 | Timer1 | Timer1 channel1capture/compare control |
| T1CCTL2 | 0xE7 | Timer1 | Timer1 channel2capture/compare control |
| T1STAT | 0xAF | Timer1 | Timer1 status |
| T2CTRL | 0x94 | Timer2 | Timer2 control |
| T2EVTCFG | 0x9C | Timer2 | Timer2 eventconfiguration |
| T2IRQF | 0xA1 | Timer2 | Timer2 interruptflags |
| T2M0 | 0xA2 | Timer2 | Timer2 multiplexedregister0 |
| T2M1 | 0xA3 | Timer2 | Timer2 multiplexedregister1 |
| T2MOVF0 | 0xA4 | Timer2 | Timer2 multiplexedoverflowregister 0 |
| T2MOVF1 | 0xA5 | Timer2 | Timer2 multiplexedoverflowregister 1 |
| T2MOVF2 | 0xA6 | Timer2 | Timer2 multiplexedoverflowregister 2 |
| T2IRQM | 0xA7 | Timer2 | Timer2 interruptmask |
| T2MSEL | 0xC3 | Timer2 | Timer2 multiplexselect |
| T3CNT | 0xCA | Timer3 | Timer3 counter |
| T3CTL | 0xCB | Timer3 | Timer3 control |
| T3CCTL0 | 0xCC | Timer3 | Timer3 channel0compare control |
| T3CC0 | 0xCD | Timer3 | Timer3 channel0compare value |
| T3CCTL1 | 0xCE | Timer3 | Timer3 channel1compare control |
| T3CC1 | 0xCF | Timer3 | Timer3 channel1compare value |
| T4CNT | 0xEA | Timer4 | Timer4 counter |
| T4CTL | 0xEB | Timer4 | Timer4 control |
| T4CCTL0 | 0xEC | Timer4 | Timer4 channel0compare control |
| T4CC0 | 0xED | Timer4 | Timer4 channel0compare value |
| T4CCTL1 | 0xEE | Timer4 | Timer4 channel1compare control |
| T4CC1 | 0xEF | Timer4 | Timer4 channel1compare value |
| TIMIF | 0xD8 | TMINT | Timers1/3/4jointinterruptmask/flags |
| U0CSR | 0x86 | USART0 | USART0 controlandstatus |
| U0DBUF | 0xC1 | USART0 | USART0 receive/transmitdatabuffer |
| U0BAUD | 0xC2 | USART0 | USART0 baud-ratecontrol |
| U0UCR | 0xC4 | USART0 | USART0 UARTcontrol |
| U0GCR | 0xC5 | USART0 | USART0 genericcontrol |
| U1CSR | 0xF8 | USART1 | USART1 controlandstatus |
| U1DBUF | 0xF9 | USART1 | USART1 receive/transmitdatabuffer |
| U1BAUD | 0xFA | USART1 | USART1 baud-ratecontrol |
| U1UCR | 0xFB | USART1 | USART1 UARTcontrol |
| U1GCR | 0xFC | USART1 | USART1 genericcontrol |
| WDCTL | 0xC9 | WDT | WatchdogTimercontrol |
2.4 Instruction Set Summary
The 8051 instruction set is summarized inTable2-3.All mnemonics copyrighted ©Intel Corporation,1980.
The following conventions are used in the instruction set summary:
• Rn–Register R7–R0 of the currently selected register bank
• Direct–8-bit internal data-location address.This can be DATA area(0x00–0x7F) or SFR area (0x80–0xFF).
• @Ri–8-bit internal data location,DATA area(0x00–0xFF) addressed indirectly throughregister R1or R0
• #data–8-bit constanti ncluded ininstruction
• #data16–16-bit constant included ininstruction
• addr16–16-bit destination address.Used by LCALL and LJMP.A branch can be anywhere within the 64-KB CODEmemory space.
• addr11–11-bit destination address.Used by ACALL and AJMP.The branch is within the same2-KB page of program memory ast he first byte of the following instruction.
• rel–Signed(2s-complement) 8-bit offset byte.Used by SJMP and allc onditional jumps.Rangeis–128 to127bytes relative to first byte of the following instruction.
• bit–Direct addressed bit in DATAarea or SFR
The instructions that affect CPU flag settings located in PSW are listed inTable2-4.Note that operations on the PSW register or bits in PSW also affect the flag settings.Also note that the cycle count for many instructions assumes single-cycle access to the memory element being accessed,i.e.,the best-case situation.This is not always the case.Reads from flash may take1–3 cycles,fore xample.
Table 2-3. Instruction Set Summary
| Mnemonic | Description | HexOpcode | Bytes | Cycles |
| ARITHMETICOPERATIONS | ||||
| ADDA,Rn | Addregistertoaccumulator | 28–2F | 1 | 1 |
| ADDA,direct | Adddirectbytetoaccumulator | 25 | 2 | 2 |
| ADD A,@Ri | AddindirectRAMtoaccumulator | 26–27 | 1 | 2 |
| ADDA,#data | Addimmediatedatatoaccumulator | 24 | 2 | 2 |
| ADDCA,Rn | Addregistertoaccumulatorwithcarryflag | 38–3F | 1 | 1 |
| ADDCA,direct | AdddirectbytetoAwithcarryflag | 35 | 2 | 2 |
| ADDC A,@Ri | AddindirectRAMtoAwithcarryflag | 36–37 | 1 | 2 |
| ADDCA,#data | AddimmediatedatatoAwithcarryflag | 34 | 2 | 2 |
| SUBBA,Rn | SubtractregisterfromAwithborrow | 98–9F | 1 | 1 |
| SUBBA,direct | SubtractdirectbytefromAwithborrow | 95 | 2 | 2 |
| SUBB A,@Ri | SubtractindirectRAMfromAwithborrow | 96–97 | 1 | 2 |
| SUBBA,#data | SubtractimmediatedatafromAwithborrow | 94 | 2 | 2 |
| INCA | Incrementaccumulator | 04 | 1 | 1 |
| INCRn | Incrementregister | 08–0F | 1 | 2 |
| INCdirect | Incrementdirectbyte | 05 | 2 | 3 |
| INC @Ri | IncrementindirectRAM | 06–07 | 1 | 3 |
| INCDPTR | Incrementdatapointer | A3 | 1 | 1 |
| DECA | Decrementaccumulator | 14 | 1 | 1 |
| DECRn | Decrementregister | 18–1F | 1 | 2 |
| DECdirect | Decrementdirectbyte | 15 | 2 | 3 |
| DEC @Ri | DecrementindirectRAM | 16–17 | 1 | 3 |
| MULAB | MultiplyAandB | A4 | 1 | 5 |
| DIVA | DivideA byB | 84 | 1 | 5 |
| DAA | Decimaladjustaccumulator | D4 | 1 | 1 |
| LOGICALOPERATIONS | ||||
| ANLA,Rn | ANDregistertoaccumulator | 58–5F | 1 | 1 |
| ANLA,direct | ANDdirectbytetoaccumulator | 55 | 2 | 2 |
| ANL A,@Ri | ANDindirectRAMtoaccumulator | 56–57 | 1 | 2 |
| ANLA,#data | ANDimmediatedatatoaccumulator | 54 | 2 | 2 |
| ANLdirect,A | ANDaccumulatortodirectbyte | 52 | 2 | 3 |
| ANLdirect,#data | ANDimmediatedatatodirectbyte | 53 | 3 | 4 |
| ORLA,Rn | ORregistertoaccumulator | 48–4F | 1 | 1 |
| ORLA,direct | ORdirectbytetoaccumulator | 45 | 2 | 2 |
| ORL A,@Ri | ORindirectRAMtoaccumulator | 46–47 | 1 | 2 |
| ORLA,#data | ORimmediatedatatoaccumulator | 44 | 2 | 2 |
| ORLdirect,A | ORaccumulatortodirectbyte | 42 | 2 | 3 |
| ORLdirect,#data | ORimmediatedatatodirectbyte | 43 | 3 | 4 |
| XRLA,Rn | ExclusiveORregister toaccumulator | 68–6F | 1 | 1 |
| XRLA,direct | ExclusiveORdirectbytetoaccumulator | 65 | 2 | 2 |
| XRL A,@Ri | ExclusiveORindirect RAMto accumulator | 66–67 | 1 | 2 |
| XRLA,#data | ExclusiveORimmediate datatoaccumulator | 64 | 2 | 2 |
| XRLdirect,A | ExclusiveORaccumulator todirectbyte | 62 | 2 | 3 |
| XRLdirect,#data | ExclusiveORimmediate datatodirectbyte | 63 | 3 | 4 |
| CLRA | Clearaccumulator | E4 | 1 | 1 |
| CPLA | Complementaccumulator | F4 | 1 | 1 |
| RLA | Rotateaccumulatorleft | 23 | 1 | 1 |
| RLCA | Rotateaccumulatorleftthroughcarry | 33 | 1 | 1 |
| RRA | Rotateaccumulatorright | 03 | 1 | 1 |
| RRCA | Rotateaccumulatorrightthroughcarry | 13 | 1 | 1 |
| SWAPA | Swapnibbleswithintheaccumulator | C4 | 1 | 1 |
| DATATRANSFERS | ||||
| MOVA,Rn | Moveregistertoaccumulator | E8–EF | 1 | 1 |
| MOVA,direct | Movedirectbytetoaccumulator | E5 | 2 | 2 |
| MOV A,@Ri | MoveindirectRAMtoaccumulator | E6–E7 | 1 | 2 |
| MOVA,#data | Moveimmediatedatatoaccumulator | 74 | 2 | 2 |
| MOVRn,A | Moveaccumulatortoregister | F8–FF | 1 | 2 |
| MOVRn,direct | Movedirectbytetoregister | A8–AF | 2 | 4 |
| MOVRn,#data | Moveimmediatedatatoregister | 78–7F | 2 | 2 |
| MOVdirect,A | Moveaccumulatortodirectbyte | F5 | 2 | 3 |
| MOVdirect,Rn | Moveregistertodirectbyte | 88–8F | 2 | 3 |
| MOVdirect1,direct2 | Movedirectbytetodirectbyte | 85 | 3 | 4 |
| MOV direct,@Ri | MoveindirectRAMtodirectbyte | 86–87 | 2 | 4 |
| MOVdirect,#data | Moveimmediatedatatodirectbyte | 75 | 3 | 3 |
| MOV @Ri,A | MoveaccumulatortoindirectRAM | F6–F7 | 1 | 3 |
| MOV @Ri,direct | Movedirectbytetoindirect RAM | A6–A7 | 2 | 5 |
| MOV @Ri,#data | Moveimmediatedatatoindirect RAM | 76–77 | 2 | 3 |
| MOVDPTR,#data16 | Loaddatapointer witha 16-bitconstant | 90 | 3 | 3 |
| MOVC A,@A+DPTR | MovecodebyterelativetoDPTRtoaccumulator | 93 | 1 | 3 |
| MOVC A,@A+PC | MovecodebyterelativetoPCtoaccumulator | 83 | 1 | 3 |
| MOVX A,@Ri | MoveexternalRAM(8-bitaddress) toA | E2–E3 | 1 | 3 |
| MOVX A,@DPTR | MoveexternalRAM(16-bitaddress) toA | E0 | 1 | 3 |
| MOVX @Ri,A | MoveA toexternalRAM(8-bitaddress) | F2–F3 | 1 | 4 |
| MOVX @DPTR,A | MoveA toexternalRAM(16-bitaddress) | F0 | 1 | 4 |
| PUSHdirect | Pushdirectbyteontostack | C0 | 2 | 4 |
| POPdirect | Popdirectbytefromstack | D0 | 2 | 3 |
| XCHA,Rn | Exchangeregisterwithaccumulator | C8–CF | 1 | 2 |
| XCHA,direct | Exchangedirectbytewithaccumulator | C5 | 2 | 3 |
| XCH A,@Ri | ExchangeindirectRAMwithaccumulator | C6–C7 | 1 | 3 |
| XCHD A,@Ri | Exchangelow-ordernibbleindirect.RAMwithA | D6–D7 | 1 | 3 |
| PROGRAMBRANCHING | ||||
| ACALLaddr11 | Absolutesubroutinecall | xxx11 | 2 | 6 |
| LCALLaddr16 | Longsubroutinecall | 12 | 3 | 6 |
| RET | Returnfromsubroutine | 22 | 1 | 4 |
| RETI | Returnfrominterrupt | 32 | 1 | 4 |
| AJMPaddr11 | Absolutejump | xxx01 | 2 | 3 |
| LJMPaddr16 | Longjump | 02 | 3 | 4 |
| SJMPrel | Shortjump(relative address) | 80 | 2 | 3 |
| JMP @A+DPTR | Jumpindirectrelative tothe DPTR | 73 | 1 | 2 |
| JZrel | Jumpif accumulatoriszero | 60 | 2 | 3 |
| JNZrel | Jumpif accumulatorisnotzero | 70 | 2 | 3 |
| JCrel | Jumpif carryflagisset | 40 | 2 | 3 |
| JNC | Jumpif carryflagisnotset | 50 | 2 | 3 |
| JBbit,rel | Jumpif directbitisset | 20 | 3 | 4 |
| JNBbit,rel | Jumpif directbitisnotset | 30 | 3 | 4 |
| JBCbit,directrel | Jumpif directbitissetandclearbit | 10 | 3 | 4 |
| CJNEA,directrel | ComparedirectbytetoAandjumpifnotequal | B5 | 3 | 4 |
| CJNEA,#datarel | CompareimmediatetoAandjumpifnotequal | B4 | 3 | 4 |
| CJNERn,#datarel | Compareimmediatetoreg.andjumpifnotequal | B8–BF | 3 | 4 |
| CJNE @Ri,#data rel | Compareimmediatetoindirectandjumpifnotequal | B6–B7 | 3 | 4 |
| DJNZRn,rel | Decrementregisterandjumpifnotzero | D8–DF | 1 | 3 |
| DJNZdirect,rel | Decrementdirectbyteandjumpifnotzero | D5 | 3 | 4 |
| NOP | Nooperation | 00 | 1 | 1 |
| BooleanVARIABLEOPERATIONS | ||||
| CLRC | Clearcarryflag | C3 | 1 | 1 |
| CLRbit | Cleardirectbit | C2 | 2 | 3 |
| SETBC | Setcarryflag | D3 | 1 | 1 |
| SETBbit | Setdirectbit | D2 | 2 | 3 |
| CPLC | Complementcarryflag | B3 | 1 | 1 |
| CPLbit | Complementdirectbit | B2 | 2 | 3 |
| ANLC,bit | ANDdirectbittocarryflag | 82 | 2 | 2 |
| ANLC,/bit | ANDcomplementofdirectbittocarry | B0 | 2 | 2 |
| ORLC,bit | ORdirectbittocarryflag | 72 | 2 | 2 |
| ORLC,/bit | ORcomplementofdirectbittocarry | A0 | 2 | 2 |
| MOVC,bit | Movedirectbittocarryflag | A2 | 2 | 2 |
| MOVbit,C | Movecarryflagtodirectbit | 92 | 2 | 3 |
Table 2-4. Instructions That Affect Flag Settings
| Instruction | CY | OV | AC |
| ADD | x | x | x |
| ADDC | x | x | x |
| SUBB | x | x | x |
| MUL | 0 | x | – |
| DIV | 0 | x | – |
| DA | x | – | – |
| RRC | x | – | – |
| RLC | x | – | – |
| SETBC | 1 | – | – |
| CLRC | x | – | – |
| CPLC | x | – | – |
| ANLC,bit | x | – | – |
| ANLC,/bit | x | – | – |
| ORLC,bit | x | – | – |
| ORLC,/bit | x | – | – |
| MOVC,bit | x | – | – |
| CJNE | x | – | – |
Table 2-5. Interrupts Overview
|
Interrupt Number |
Description |
Interrupt Name |
Interrupt Vector |
InterruptMask, CPU |
InterruptFlag,CPU |
| 0 | RFcore errorsituation | RFERR | 0x03 | IEN0.RFERRIE | TCON.RFERRIF(1) |
| 1 | ADCend ofconversion | ADC | 0x0B | IEN0.ADCIE | TCON.ADCIF(1) |
| 2 | USART0 RXcomplete | URX0 | 0x13 | IEN0.URX0IE | TCON.URX0IF(1) |
| 3 | USART1 RXcomplete | URX1 | 0x1B | IEN0.URX1IE | TCON.URX1IF(1) |
| 4 | AESencryption/decryptioncomplete | ENC | 0x23 | IEN0.ENCIE | S0CON.ENCIF |
| 5 | SleepTimercompare | ST | 0x2B | IEN0.STIE | IRCON.STIF |
| 6 | Port-2inputs/USB/I2C | P2INT | 0x33 | IEN2.P2IE | IRCON2.P2IF(2) |
| 7 | USART0 TXcomplete | UTX0 | 0x3B | IEN2.UTX0IE | IRCON2.UTX0IF |
| 8 | DMAtransfercomplete | DMA | 0x43 | IEN1.DMAIE | IRCON.DMAIF |
| 9 | Timer1 (16-bit)capture/compare/overflow | T1 | 0x4B | IEN1.T1IE | IRCON.T1IF(1) (2) |
| 10 | Timer2 | T2 | 0x53 | IEN1.T2IE | IRCON.T2IF(1) (2) |
| 11 | Timer3 (8-bit)capture/compare/overflow | T3 | 0x5B | IEN1.T3IE | IRCON.T3IF(1) (2) |
| 12 | Timer4 (8-bit)capture/compare/overflow | T4 | 0x63 | IEN1.T4IE | IRCON.T4IF(1) (2) |
| 13 | Port0 inputs | P0INT | 0x6B | IEN1.P0IE | IRCON.P0IF(2) |
| 14 | USART1 TXcomplete | UTX1 | 0x73 | IEN2.UTX1IE | IRCON2.UTX1IF |
| 15 | Port1 inputs | P1INT | 0x7B | IEN2.P1IE | IRCON2.P1IF(2) |
| 16 | RFgeneralinterrupts | RF | 0x83 | IEN2.RFIE | S1CON.RFIF(2) |
| 17 | Watchdogoverflowintimermode | WDT | 0x8B | IEN2.WDTIE | IRCON2.WDTIF |
More details: Ti cc254x datasheet
User's Guide-CC253x System-on-Chip Solution for 2.4-GHz IEEE 802.15.4 and ZigBee® Applications
(and CC2540/41 System-on-Chip Solution for 2.4GHz Bluetooth® low energy Applications)