MPC563XM Reference Manual, Rev. 1
Freescale Semiconductor
895
Preliminary—Subject to Change Without Notice
BINV also selects between
adc
or
sbc
enhanced ALU operation, using inverted C flag as carry-in besides
BS inversion for
sbc
. Note that BINV does not invert carry in fixed-carry operations (see
Section Table 23-68., “ALU Carry-In Control
).
When BINV = 0, T4BBS = 111 and CIN = 0, the value assigned to BS is 0x800000, instead of 0x0. See
Section , “Generating “max” constant
” for more details.
23.4.9.2.5
Carry-in Control
) controls the carry-in for addition/subtraction operations. Functionality of
CIN field depends on the arithmetic operation selected by ALUOP. When ALUOP is not available in
microinstruction, the operation selected is
add
. For carry-in control in MDU operations, see
Generating “max” constant
When T4BBS = 111, CIN = 0 and BINV = 0, BS is assigned to 0x800000 (called “max constant”) instead
of 0x000000. This is an exception for CIN and BINV fields: when “max constant” is selected, the carry in
is 0 and B-source (“max constant” itself) is not inverted, neither the carry out.
“Max constant” is the value which, added to a time base value minus 1, gives the farthest wrapped time
base value that satisfies a channel greater-equal comparison. See
Section 23.4.5, “Enhanced Channels
” for
more info.
23.4.9.2.6
Shift Operations
There are three types of shift operations: ALU, post-ALU and Shift Register. ALU shift operations are
covered in
Section 23.4.9.2.10, “ALU/MDU Operation Selection
. Post-ALU and Shift Register are
covered in the following sections.
Shift Register Operations
SR can be used as a general purpose register and it can easily shift-right its contents, combined or not to
post-ALU shift operations. If field SRC (1 bit) in microcode is 0, SR will shift its contents 1 bit to the right
1
keep B-source bus unchanged
1
Except on max-constant selection, see
Table 23-68. ALU Carry-In Control
operation
CIN=0
CIN=1
add
(addition)
carry-in used is 1
1
1
Except on max-constant selection, see
Section , “Generating “max” constant
.
carry-in used is 0
adc
(addition with carry)
2
2
Selected by ALUOP=11000 and BINV=1
carry-in used is C flag
sbc
(subtraction with borrow)
3
3
Selected by ALUOP=11000 and BINV=0
carry-in used is inverted C flag
Table 23-67. B-Source Inversion - BINV
BINV
Meaning