Rev. 3.0, 04/02, page 167 of 1064
Section 7 Instruction Set
7.1
Execution Environment
PC: PC indicates the address of the instruction itself.
Data sizes and data types: The SH7751 Series instruction set is implemented with 16-bit fixed-
length instructions. The SH7751 Series can use byte (8-bit), word (16-bit), longword (32-bit), and
quadword (64-bit) data sizes for memory access. Single-precision floating-point data (32 bits) can
be moved to and from memory using longword or quadword size. Double-precision floating-point
data (64 bits) can be moved to and from memory using longword size. When a double-precision
floating-point operation is specified (FPSCR.PR = 1), the result of an operation using quadword
access will be undefined. When the SH7751 Series moves byte-size or word-size data from
memory to a register, the data is sign-extended.
Load-Store Architecture: The SH7751 Series features a load-store architecture in which
operations are basically executed using registers. Except for bit-manipulation operations such as
logical AND that are executed directly in memory, operands in an operation that requires memory
access are loaded into registers and the operation is executed between the registers.
Delayed Branches: Except for the two branch instructions BF and BT, the SH7751 Series branch
instructions and RTE are delayed branches. In a delayed branch, the instruction following the
branch is executed before the branch destination instruction. This execution slot following a
delayed branch is called a delay slot. For example, the BRA execution sequence is as follows:
Static Sequence
Dynamic Sequence
BRA
TARGET
BRA
TARGET
ADD
R1, R0
next_2
ADD
R1, R0
target_instr
ADD in delay slot is executed before
branching to TARGET
Delay Slot: A slot illegal instruction exception may occur when a specific instruction is executed
in a delay slot. See section 5, Exceptions. The instruction following BF/S or BT/S for which the
branch is not taken is also a delay slot instruction.
T Bit: The T bit in the status register (SR) is used to show the result of a compare operation, and
is referenced by a conditional branch instruction. An example of the use of a conditional branch
instruction is shown below.
ADD #1, R0
; T bit is not changed by ADD operation
CMP/EQ R1, R0 ; If R0 = R1, T bit is set to 1
BT TARGET
; Branches to TARGET if T bit = 1 (R0 = R1)
Summary of Contents for SH7751
Page 39: ...Rev 3 0 04 02 page xxxviii of xxxviii ...
Page 89: ...Rev 3 0 04 02 page 50 of 1064 ...
Page 157: ...Rev 3 0 04 02 page 118 of 1064 ...
Page 193: ...Rev 3 0 04 02 page 154 of 1064 ...
Page 225: ...Rev 3 0 04 02 page 186 of 1064 ...
Page 253: ...Rev 3 0 04 02 page 214 of 1064 ...
Page 301: ...Rev 3 0 04 02 page 262 of 1064 ...
Page 343: ...Rev 3 0 04 02 page 304 of 1064 ...
Page 607: ...Rev 3 0 04 02 page 568 of 1064 ...
Page 671: ...Rev 3 0 04 02 page 632 of 1064 ...
Page 745: ...Rev 3 0 04 02 page 706 of 1064 ...
Page 767: ...Rev 3 0 04 02 page 728 of 1064 ...
Page 1061: ...Rev 3 0 04 02 page 1022 of 1064 NMI tNMIL tNMIH Figure 23 69 NMI Input Timing ...
Page 1069: ...Rev 3 0 04 02 page 1030 of 1064 ...
Page 1103: ...Rev 3 0 04 02 page 1064 of 1064 ...