User's Manual

Table Of Contents
R01UH0823EJ0110 Rev.1.10 Page 96 of 1852
Nov 30, 2020
RX23W Group 2. CPU
2.8 Number of Cycles
2.8.1 Instruction and Number of Cycle
Table 2.13 to Table 2.20 show the number of cycles in operation of each instruction. The listed numbers of cycles for
access to memory are the numbers of cycles during no-wait access. The operands in the table below indicate the
following meanings.
#IMM: Immediate
flag: bit, flag
Rs, Rs2, Rd, Rd2, Ri, Rb: General-purpose register
As, Ad: Accumulator
CR: Control register
dsp: displacement
pcdsp: displacement
Note 1. The number of cycles for the dividing instruction varies according to the divisor and dividend.
Note 2. floor (x): Max. integer that is smaller than x.
Table 2.13 Number of Cycles for Arithmetic/logic Instructions
Instruction
Mnemonic
(indicates the common operation when the size is omitted) Number of Cycles
Arithmetic/logic instructions
(register-register, immediate-
register)
{ABS, NEG, NOT} “Rd”/“Rs, Rd”
{ADC, MAX, MIN, ROTL, ROTR, XOR} “#IMM, Rd”/“Rs, Rd”
ADD “#IMM, Rd”/“Rs, Rd”/“#IMM, Rs, Rd”/“Rs, Rs2, Rd”
{AND, MUL, OR, SUB} “#IMM, Rd”/“Rs, Rd”/“Rs, Rs2, Rd”
{CMP, TST} “#IMM, Rs”/“Rs, Rs2”
NOP
{ROLC, RORC, SAT} “Rd”
SBB “Rs, Rd”
{SHAR, SHLL, SHLR} “#IMM, Rd”/“Rs, Rd”/“#IMM, Rs, Rd”
1
DIV “#IMM, Rd”/“Rs, Rd” 3 to 20*
1
DIVU “#IMM, Rd”/“Rs, Rd” 2 to 18*
1
{EMUL, EMULU} “#IMM, Rd”/“Rs, Rd” 2
SATR 3
Arithmetic/logic instructions
(memory source operand)
{ADC, ADD, AND, MAX, MIN, MUL, OR, SBB, SUB, XOR}
“[Rs], Rd”/“dsp[Rs], Rd”
{CMP, TST} “[Rs], Rs2”/“dsp[Rs], Rs2”
3
DIV “[Rs], Rd / dsp[Rs], Rd” 5 to 22
DIVU“[Rs], Rd / dsp[Rs], Rd” 4 to 20
{EMUL, EMULU} “[Rs], Rd”/“dsp[Rs], Rd” 4
RMPA.B 6+7×floor(n/4)+4×(n%4)
n: Number of processing
bytes*
2
RMPA.W 6+5×floor(n/2)+4×(n%2)
n: Number of processing
words*
2
RMPA.L 6+4n
n: Number of processing
longwords*
2