INSTRUCTION DESCRIPTIONS
MOTOROLA INSTRUCTION SET DETAILS A - 229
Explanation of Example 1: Prior to execution, the 24-bit X1 register contains the value
$800000 (–1.0), the 24-bit Y1 register contains the value $C00000, (–0.5), and the 56-bit
A accumulator contains the value $00:000000:000000 (0.0). The execution of the MPY –
X1,Y1,A instruction multiples the 24-bit signed value in the X1 register by the 24-bit
signed value in the Y1 register, negates the 48-bit product, and stores the result in the
56-bit A accumulator (–X1Y1=–0.5=$FF:C00000:000000=A).
Condition Codes:
S — Computed according to the definition in A.5 CONDITION CODE COMPUTATION
L — Set if limiting occurred during parallel move
E — Set if the signed integer portion of A or B result is in use
U — Set if A or B result is unnormalized
N — Set if bit 55 of A or B result is set
Z— Set if A or B result equals zero
V — Set if overflow has occurred in A or B result
Note: The definitions of the E and U bits vary according to the scaling mode being used.
Refer to Section A.5 CONDITION CODE COMPUTATION for complete details.
Instruction Format 1:
MPY (±)S1,S2,D
MPY (±)S2,S1,D
Opcode 1:
MPY Signed Multiply
MPY
MR CCR
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LF DM T ** S1 S0 I1 I0 SLEUNZVC
23 8 7 4 3 0
DATA BUS MOVE FIELD 1QQQdk00
OPTIONAL EFFECTIVE ADDRESS EXTENSION