Renesas H8S/2111B 用户手册

下载
页码 582
Rev. 1.00, 05/04, page 48 of 544 
 
2.9 Usage 
Notes 
2.9.1 
Note on TAS Instruction Usage 
When using the TAS instruction, use registers ER0, ER1, ER4 and ER5. 
The TAS instruction is not generated by the Renesas Technology H8S and H8/300 series C/C++ 
compilers. When the TAS instruction is used as a user-defined intrinsic function, use registers 
ER0, ER1, ER4 and ER5. 
2.9.2 
Note on STM/LDM Instruction Usage 
ER7 is not used as the register that can be saved (STM)/restored (LDM) when using STM/LDM 
instruction, because ER7 is the stack pointer.  Two, three, or four registers can be saved/restored 
by one STM/LDM instruction.  The following ranges can be specified in the register list. 
Two registers: ER0—ER1, ER2—ER3, or ER4—ER5 
Three registers: ER0—ER2 or ER4—ER6 
Four registers: ER0—ER3 
The STM/LDM instruction including ER7 is not generated by the Renesas Technology H8S and 
H8/300 series C/C++ compilers. 
2.9.3 
Note on Bit Manipulation Instructions 
The BSET, BCLR, BNOT, BST, and BIST instructions read data in byte units, manipulate the 
data of the target bit, and write data in byte units. Special care is required when using these 
instructions in cases where a register containing a write-only bit is used or a bit is directly 
manipulated for a port. 
In addition, the BCLR instruction can be used to clear the flag of the internal I/O register. In this 
case, if the flag to be cleared has been set to 1 by an interrupt processing routine, the flag need not 
be read before executing the BCLR instruction.