32-Bit Instruction Set

MSTEP

Multiply-Step

Operation:

 

 

 

 

If (R0[31] = = 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

then R0 (R0 << 1) + RA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

else R0 (R0 << 1)

 

 

 

 

 

 

 

 

 

Assembler Syntax:

 

 

MSTEP %rA

 

 

 

 

 

 

 

 

 

 

 

 

Example:

 

 

 

 

MSTEP %g1 ; accumulate partial-product

 

 

 

 

Description:

 

 

 

 

Implements a single step of an unsigned multiply. The multiplier in %r0 and

 

 

 

 

 

 

 

multiplicand in RA. Result is accumulated into %r0. RA is not affected.

 

 

 

 

 

 

 

The following code fragment implements a 16-bit × 16-bit into 32-bit multiply. On

 

 

 

 

 

 

entry, %r0 and %r1 contain the multiplier and multiplicand, respectively. The

 

 

 

 

 

 

 

result is left in %r0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SWAP %r0 ; Move multiplier into place

 

 

 

 

 

 

 

 

 

 

 

 

MSTEP %r1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MSTEP %r1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MSTEP %r1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A total of 16 MSTEPs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MSTEP %r1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

; 32-bit product left in %r0

 

 

 

 

 

Condition Codes:

 

 

Flags: Unaffected

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

V

Z

C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instruction Format:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Rw

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instruction Fields:

 

 

A = Register index of operand RA

 

 

 

 

 

 

 

15

14

13

 

12

11

10

 

9

8

7

 

6

5

4

3

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

 

1

1

1

 

1

 

0

1

 

0

0

 

 

A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

70

Altera Corporation

Page 82
Image 82
Excalibur electronic A-MNL-NIOSPROG-01.1 manual Multiply-Step, Mstep %rA, Mstep %r1