MPY
MPY
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 (–X1
Condition Codes:
15
14
13
LF
DM
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:
23
MOTOROLA
INSTRUCTION DESCRIPTIONS
Signed Multiply
∗
Y1=–0.5=$FF:C00000:000000=A).
12
11
10
9
T
S1
S0
I1
**
MR
DATA BUS MOVE FIELD
OPTIONAL EFFECTIVE ADDRESS EXTENSION
INSTRUCTION SET DETAILS
8
7
6
5
4
I0
S
L
E
U
CCR
8
7
1
Q
Q
3
2
1
0
N
Z
V
C
4
3
0
d
k
0
0
Q
A - 229