EasyManua.ls Logo

Atmel 8051 - Page 41

Atmel 8051
113 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
The 8051 Instruction Set
Atmel 8051 Microcontrollers Hardware Manual 1-40
4316B–8051–02/04
1.14.19 JBC bit,rel
1.14.20 JC rel
Function: Jump if Bit is set and Clear bit
Description: If the indicated bit is one, JBC branches to the address indicated; otherwise, it proceeds with the next instruction.
The bit will not be cleared if it is already a zero. The branch destination is computed by adding the signed
relative-displacement in the third instruction byte to the PC, after incrementing the PC to the first byte of the next
instruction. No flags are affected.
Note: When this instruction is used to test an output pin, the value used as the original data will be read from the
output data latch, not the input pin.
Example: The Accumulator holds 56H (01010110B). The following instruction sequence,
JBC ACC.3,LABEL1
JBC ACC.2,LABEL2
causes program execution to continue at the instruction identified by the label LABEL2, with the Accumulator
modified to 52H (01010010B).
Bytes: 3
Cycles: 2
Encoding: 00010000 bit address rel. address
Operation: JBC
(PC) (PC) + 3
IF (bit) = 1
THEN
(bit) 0
(PC) (PC) +rel
Function: Jump if Carry is set
Description: If the carry flag is set, JC branches to the address indicated; otherwise, it proceeds with the next instruction. The
branch destination is computed by adding the signed relative-displacement in the second instruction byte to the
PC, after incrementing the PC twice. No flags are affected.
Example: The carry flag is cleared. The following instruction sequence,
JC LABEL1
CPL C
JC LABEL 2
sets the carry and causes program execution to continue at the instruction identified by the label LABEL2.
Bytes: 2
Cycles: 2
Encoding: 01000000 rel. address
Operation: JC
(PC) (PC) + 2
IF (C) = 1
THEN
(PC) (PC) + rel

Related product manuals