INSTRUCTION DESCRIPTIONS
MOTOROLA INSTRUCTION SET DETAILS A - 155
Explanation of Example 1: Prior to execution, the 24-bit X0 register contains the value
$123456 (0.142222166), the 24-bit Y0 register contains the value $123456
(0.142222166), and the 56-bit B accumulator contains the value $00:100000:000000
(0.125). The execution of the MACR X0,Y0,B instruction multiples the 24-bit signed
value in the X0 register by the 24-bit signed value in the Y0 register, adds the resulting
product to the 56-bit B accumulator, rounds the result into the B1 portion of the accumu-
lator, and then zeros the B0 portion of the accumulator (X0Y0+B=0.145227144519197
approximately =$00:1296CD:9619C8, which is rounded to the value
$00:1296CE:000000=0.145227193832397=B).
Condition Codes:
S — Computed according to the definition in A.5 CONDITION CODE COMPUTATION
L — Set if limiting (parallel move) or overflow has occurred in result
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 for complete details.
Instruction Format 1:
MACR (±)S1,S2,D
MACR (±)S2,S1,D
Opcode 1:
MACR Signed Multiply-Accumulate and Round MACR
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 1QQQdk11
OPTIONAL EFFECTIVE ADDRESS EXTENSION