beautypg.com

7 multiplier read register 1 (mc1r), 8 multiplier read register 0 (mc0r), 6 hardware multiplier examples – Maxim Integrated MAX31782 User Manual

Page 123: 14 .6 hardware multiplier examples -8, 6hardwaremultiplierexamples, 7multiplierreadregister1(mc1r), 8multiplierreadregister0(mc0r)

background image

MaximIntegrated 14-8

MAX31782 User’s Guide

Revision 0; 8/11

14.5.7MultiplierReadRegister1(MC1R)

MultiplierReadRegister1:The MC1R register represents bytes 3 and 2 from the result of the last operation when
MCW = 1 or the last operation was a multiply or multiply-negate . When MCW = 0 and the last operation was a multiply-
accumulate/subtract, the contents of this register may or may not agree with the contents of MC1 due to the combinato-
rial nature of the adder . The contents of this register can change if MCNT, MA, MB, or MC[2:0] is changed .

14.5.8MultiplierReadRegister0(MC0R)

MultiplierReadRegister0:The MC1R register represents bytes 1 and 0 from the result of the last operation when
MCW = 1 or the last operation was a multiply or multiply-negate . When MCW = 0 and the last operation was a multiply-
accumulate/subtract, the contents of this register may or may not agree with the contents of MC0 due to the combinato-
rial nature of the adder . The contents of this register can change if MCNT, MA, MB, or MC[2:0] is changed .

14.6HardwareMultiplierExamples

The following are code examples of multiplier operations .
;Unsigned Multiply 16-bit x 16-bit
move MCNT, #21h

; CLD=1, SUS=1 (unsigned)

move MA, #0FFFh

; MC2:0=0000_0000_0000h

move MB, #1001h

; MC1R:MC0R= 00FF_FFFFh

; MC2:0=0000_00FF_FFFFh

;Signed Multiply 16-bit x 16-bit
move MCNT, #20h

; CLD=1, SUS=0 (signed)

move MA, #F001h

; MC2:0=0000_0000_0000h

move MB, #1001h

; MC1R:MC0R= FF00_0001h

; MC2:0=FFFF_FF00_0001h

;Unsigned Multiply-Accumulate 16-bit x 16-bit

; MC2:0=0000_0100_0001h

move MCNT, #03h

; MMAC=1, SUS=1 (unsigned)

move MA, #0FFFh

;

move MB, #1001h

;

; MC1R:MC0R=02FF_FFFFh

; MC2:0=0000_0200_0000h

Bit

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Name

MC1R .15 MC1R .14 MC1R .13 MC1R .12 MC1R .11 MC1R .10 MC1R .9

MC1R .8

MC1R .7

MC1R .6

MC1R .5

MC1R .4

MC1R .3

MC1R .2

MC1R .1

MC1R .0

Reset

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Access

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

Bit

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Name

MC0R .15 MC0R .14 MC0R .13 MC0R .12 MC0R .11 MC0R .10 MC0R .9

MC0R .8

MC0R .7

MC0R .6

MC0R .5

MC0R .4

MC0R .3

MC0R .2

MC0R .1

MC0R .0

Reset

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Access

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw

rw