7-5
INPUT/OUTPUT PORTS
7.5
READ-MODIFY-WRITE INSTRUCTIONS
Some instructions read the latch data rather than the pin data. The latch based instructions read
the data, modify the data, and then rewrite the latch. These are called “read-modify-write” in-
structions. Below is a complete list of these special instructions. When the destination operand is
a port, or a port bit, these instructions read the latch rather than the pin:
ANL (logical AND, e.g., ANL P1, A)
ORL (logical OR, e.g., ORL P2, A)
XRL (logical EX-OR, e.g., XRL P3, A)
JBC (jump if bit = 1 and clear bit, e.g., JBC P1.1, LABEL)
CPL (complement bit, e.g., CPL P3.0)
INC (increment, e.g., INC P2)
DEC (decrement, e.g., DEC P2)
DJNZ (decrement and jump if not zero, e.g., DJNZ P3, LABEL)
MOV PX.Y, C (move carry bit to bit Y of port X)
CLR PX.Y (clear bit Y of port X)
SETB PX.Y (set bit Y of port x)
It is not obvious that the last three instructions in this list are read-modify-write instructions.
These instructions read the port (all 8 bits), modify the specifically addressed bit, and write the
new byte back to the latch. These read-modify-write instructions are directed to the latch rather
than the pin in order to avoid possible misinterpretation of voltage (and therefore, logic) levels at
the pin. For example, a port bit used to drive the base of an external bipolar transistor cannot rise
above the transistor’s base-emitter junction voltage (a value lower than V
IL
). With a logic one
written to the bit, attempts by the CPU to read the port at the pin are misinterpreted as logic zero.
A read of the latch rather than the pin returns the correct logic-one value.
Summary of Contents for 8XC251SA
Page 2: ......
Page 3: ...May 1996 8XC251SA 8XC251SB 8XC251SP 8XC251SQ Embedded Microcontroller User s Manual...
Page 18: ......
Page 19: ...1 Guide to This Manual...
Page 20: ......
Page 30: ......
Page 31: ...2 Architectural Overview...
Page 32: ......
Page 41: ...3 Address Spaces...
Page 42: ......
Page 63: ...4 Device Configuration...
Page 64: ......
Page 81: ...5 Programming...
Page 82: ......
Page 102: ......
Page 103: ...6 Interrupt System...
Page 104: ......
Page 120: ......
Page 121: ...7 Input Output Ports...
Page 122: ......
Page 132: ......
Page 133: ...8 Timer Counters and Watchdog Timer...
Page 134: ......
Page 153: ...9 Programmable Counter Array...
Page 154: ......
Page 170: ......
Page 171: ...10 Serial I O Port...
Page 172: ......
Page 187: ...11 Minimum Hardware Setup...
Page 188: ......
Page 197: ...12 Special Operating Modes...
Page 198: ......
Page 206: ......
Page 207: ...13 External Memory Interface...
Page 208: ......
Page 239: ...14 Programming and Verifying Nonvolatile Memory...
Page 240: ......
Page 250: ......
Page 251: ...A Instruction Set Reference...
Page 252: ......
Page 390: ......
Page 391: ...B Signal Descriptions...
Page 392: ......
Page 400: ......
Page 401: ...C Registers...
Page 402: ......
Page 436: ......
Page 437: ...Glossary...
Page 438: ......
Page 446: ......
Page 447: ...Index...
Page 448: ......
Page 458: ......