ST10 FAMILY PROGRAMMING MANUAL
CoMACM(R/-)
Group
Syntax
Operation
Syntax
Operation
Syntax
Operation
Syntax
Operation
Syntax
Operation
Data Types
Result
142/172
Multiply-Accumulate
Parallel Data Move & Optional Round
Multiply/Multiply-Accumulate Instructions
CoMACM
op1, op2
IF (MP = 1) THEN
(tmp)
<-- ((op1))*((op2)) << 1
(ACC)
<-- (ACC) + (tmp)
ELSE
(tmp)
<-- ((op1))*((op2))
(ACC)
<-- (ACC) + (tmp)
END IF
((IDX
(-⊗)))
<-- ((IDX
i
CoMACM
op1, op2, rnd
IF (MP = 1) THEN
(tmp)
<-- ((op1))*((op2)) << 1
(ACC)
<-- (ACC) + (tmp) + 00 0000 8000
ELSE
(tmp)
<-- ((op1))*((op2))
(ACC)
<-- (ACC) + (tmp) + 00 0000 8000
END IF
(MAL)
<-- 0
((IDX
(-⊗))) ¨ ((IDX
i
CoMACM-
op1, op2
IF (MP = 1) THEN
(tmp)
<-- ((op1))*((op2)) << 1
(ACC)
<-- (ACC) - (tmp)
ELSE
(tmp)
<-- ((op1))*((op2))
(ACC)
<-- (ACC) - (tmp)
END IF
((IDX
(-⊗)))
<-- ((IDX
i
CoMACMR
op1, op2
IF (MP = 1) THEN
(tmp)
<-- ((op1))*((op2)) << 1
(ACC)
<-- (tmp) - (ACC)
ELSE
(tmp)
<-- ((op1))*((op2))
(ACC)
<-- (tmp) - (ACC)
END IF
((IDX
(-⊗)))
<-- ((IDX
i
CoMACMR
op1, op2, rnd
IF (MP = 1) THEN
(tmp)
<-- ((op1))*((op2)) << 1
(ACC)
<-- (tmp) - (ACC) + 00 0000 8000
ELSE
(tmp)
<-- ((op1))*((op2))
(ACC)
<-- (tmp) - (ACC) + 00 0000 8000
END IF
(MAL)
<-- 0
((IDX
(-⊗)))
<-- ((IDX
i
DOUBLE WORD
40-bit signed value
))
i
))
i
))
i
))
i
))
i
h
h
h
h
Need help?
Do you have a question about the ST10 Series and is the answer not in the manual?
Questions and answers