English
Language : 

HD64F36024FX Datasheet, PDF (70/386 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
Section 2 CPU
(2) Bit Manipulation in a Register Containing a Write-Only Bit
Example 3: BCLR instruction executed designating port 5 control register PCR5
P57 and P56 are input pins, with a low-level signal input at P57 and a high-level signal input at
P56. P55 to P50 are output pins that output low-level signals. An example of setting the P50 pin as
an input pin by the BCLR instruction is shown below. It is assumed that a high-level signal will be
input to this input pin.
• Prior to executing BCLR
P57
P56
Input/output Input Input
Pin state
Low
level
High
level
PCR5
0
0
PDR5
1
0
P55
Output
Low
level
1
0
P54
Output
Low
level
1
0
P53
Output
Low
level
1
0
P52
Output
Low
level
1
0
P51
Output
Low
level
1
0
P50
Output
Low
level
1
0
• BCLR instruction executed
BCLR #0, @PCR5
The BCLR instruction is executed for PCR5.
• After executing BCLR
P57
P56
Input/output Output Output
Pin state
Low
level
High
level
PCR5
1
1
PDR5
1
0
P55
Output
Low
level
1
0
P54
Output
Low
level
1
0
P53
Output
Low
level
1
0
P52
Output
Low
level
1
0
P51
Output
Low
level
1
0
P50
Input
High
level
0
0
• Description on operation
1. When the BCLR instruction is executed, first the CPU reads PCR5. Since PCR5 is a write-only
register, the CPU reads a value of H'FF, even though the PCR5 value is actually H'3F.
2. Next, the CPU clears bit 0 in the read data to 0, changing the data to H'FE.
3. Finally, H'FE is written to PCR5 and BCLR instruction execution ends.
As a result of this operation, bit 0 in PCR5 becomes 0, making P50 an input port. However,
bits 7 and 6 in PCR5 change to 1, so that P57 and P56 change from input pins to output pins.
To prevent this problem, store a copy of the PCR5 data in a work area in memory and
manipulate data of the bit in the work area, then write this data to PCR5.
Rev. 4.00 Sep. 23, 2005 Page 42 of 354
REJ09B0025-0400