English
Language : 

SAB80515 Datasheet, PDF (46/270 Pages) Siemens Semiconductor Group – 8-Bit Single-Chip Microcontroller Family
On-Chip Peripheral Components
Table 7-2
Read-Modify-Write Instructions
Instruction
ANL
ORL
XRL
JBC
CPL
INC
DEC
DJNZ
MOV Px.y, C
CLR Px.y
SETB Px.y
Function
Logic AND; e.g. ANL P1, A
Logic OR; e.g. ORL P2, A
Logic exclusive OR; e.g. XRL P3, A
Jump if bit is set and clear bit; e.g. JBC P1.1, LABEL
Complement bit; e.g. CPL P3.0
Increment byte; e.g. INC P4
Decrement byte; e.g. DEC P5
Decrement and jump if not zero; e.g. DJNZ P3, LABEL
Move carry bit to bit y of port x
Clear bit y of port x
Set bit y of port x
lt is not obvious that the last three instructions in this list are read-modify-write instructions, but they
are. The reason is that they read the port byte, all 8 bits, modify the addressed bit, then write the
complete byte back to the latch.
The reason why read-modify-write instructions are directed to the latch rather than the pin is to avoid
a possible misinterpretation of the voltage level at the pin. For example, a port bit might be used to
drive the base of a transistor. When a "1" is written to the bit, the transistor is turned on. lf the CPU
then reads the same port bit at the pin rather than the latch, it will read the base voltage of the
transistor (approx. 0.7 V, i.e. a logic low level !) and interpret it as "0". For example, when modifying
a port bit by a SETB or CLR instruction, another bit in this port with the above mentioned
configuration might be changed if the value read from the pin were written back to the latch.
However, reading the latch rather than the pin will return the correct value of "1".
Semiconductor Group
46