Datasheet

Table Of Contents
Section 2 CPU
REJ09B0140-0900 Rev. 9.00 Page 61 of 846
Sep 16, 2010
H8S/2215 Group
In order to write to a register containing write-only bits, set aside a work area in memory (in on-
chip RAM, for example) and write the data to be manipulated to it. After accessing and
manipulating the data in the work area in memory, write the resulting data to the register
containing write-only bits.
Figure 2.14 Example Flowchart of Method for Accessing Registers Containing Write-Only Bits
Write data to work area
Write data from work area to
register containing write-only bits
Access data in work area
(using either data transfer instructions
or bit manipulation instructions)
Write data from work area to
register containing write-only bits
Write initial value
Change value of register containing
write-only bits
Figure 2.14 Flowchart of Method for Accessing Registers Containing Write-Only Bits
Example: Clearing pin 14 only of P1DDR for port 1
P1DDR is an 8-bit register that contains write-only bits. It is used to specify the I/O setting of the
individual pins in port 1. Reading produces invalid data. Attempting to read from P1DDR returns
undefined values.
In this example, the BCLR instruction is used to set pin 14 as an input port. To start, the initial
value H'F0 to be written to P1DDR is written ahead of time to the work area (RAM0) in memory.
MOV.B #H'F0, R0L
MOV.B R0L, @RAM0
MOV.B R0L, @P1DDR