15
15 – 48
MAC
TRANSFER MR
Note that this instruction is a special case of xop * yop, with yop set to zero.
Z:
Destination register
COND: condition
Syntax:
[ IF cond ]
MR
= MR [ (RND) ] ;
MF
Permissible conds (see Table 15.9)
EQ
NE
GT
GE
LT
LE
NEG
POS
AV
NOT AV
AC
NOT AC
MV
NOT MV
NOT CE
Example:
IF EQ MF = MR (RND);
Description:
Test the optional condition and, if true, then perform the
MR transfer according to the description below. If the condition is not true
then perform a no-operation. Omitting the condition performs the transfer
unconditionally.
This instruction actually performs a multiply/accumulate, specifying yop =
0 as a multiplicand and adding the zero product to the contents of MR. The
MR register may be optionally rounded at the boundary between bits 15
and 16 of the result by specifying the RND option. If MF is specified as the
destination, bits 31-16 of the result are stored in MF. If MR is the
destination, the entire 40-bit result is stored in MR.
Status Generated:
ASTAT:
7
6
5
4
3
2
1
0
SS
MV AQ AS
AC AV AN AZ
–
*
–
–
–
–
–
–
MV
Set on MAC overflow (if any of upper 9 bits of MR are not
all one or zero). Cleared otherwise.
Instruction Format:
Conditional ALU/MAC Operation, Instruction Type 9:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 Z AMF 1 1 0 0 0 0 0 0 0 COND
AMF: Specifies the ALU or MAC Operation. In this case,
AMF = 01000 for Transfer MR operation