Multiplier b register (mb) – Maxim Integrated High-Speed Microcontroller Users Guide: Network Microcontroller Supplement User Manual

Page 78

Advertising
background image

High-Speed Microcontroller User’s

Guide: Network Microcontroller

Supplement

78

A read pointer and a write pointer keep track of which of the four bytes is read or written to when access-

ing or loading the 32 or 16 bits of the MA register. The pointer is set to the most significant byte for reads

and the least significant byte for writes following a system reset, the completion of a calculation, the set-

ting of the CLM bit, or the setting of the MST bit in the MCNT1 SFR. Following each read of MA, the read

pointer is moved to the next most significant byte until the entire contents of MA are read. Similarly, each

write moves the write pointer to the next least significant byte until the entire 32 bits of the MA register

is written. Neither of the pointers wrap around, but rather lock at the extreme end of the associated read

or write 32-bit word size. Note that, in loading or reading a 16-bit value, only two reads or writes are

required. In loading a 16-bit value, ensure that the remaining 16 bits of the 32-bit value are completely

cleared.

When accessing data from the MA register, the most significant byte is the first byte read from MA when

downloading the contents of a completed multiply or divide, as determined by the MST bit in the MCNT1

SFR. All subsequent reads of MA, after completing the appropriate reads to secure the respective

results of the above calculations, produce a 00 hex value. MA is also cleared to 00 hex following either

a system reset, the setting of CLM, or the setting of the MST bit in the MCNT1 SFR. When loading the

MA register, data must be written with the least significant byte first and most significant byte last.

MB.7–0
Bits 7–0

Multiplier B register. The multiplier B register is used to load the 16-bit denominator when the math
accelerator is configured in a 32-bit by 16-bit or 16-bit by 16-bit divide mode. The multiplier B register

is also used to load the first value associated with a 16-bit by 16-bit calculation when the accelerator is

used in the multiply mode. A read of the MB register following a completed function provides the 16-bit

remainder of a 32-bit by 16-bit divide or the 16-bit remainder of a 16-bit by 16-bit divide.

A read pointer and a write pointer keep track of which of the two bytes is read or written to when access-

ing or loading the 16 bits of the MB register. The pointer is set to the most significant byte for reads and

the least significant byte for writes following a system reset, the completion of a calculation, the setting

of the CLM bit, or the setting of the MST bit in the MCNT1 SFR. Following each read of MB, the read

pointer is moved to the least significant byte. Similarly, a write moves the write pointer to the most sig-

nificant byte of the MB register. Neither of the pointers wrap around, but rather lock at the extreme end

of associated read or write 16-bit word size.

When accessing data from the MB register, the most significant byte is the first byte read from MB when

downloading the contents of a completed multiply or divide, as determined by the MST bit in the MCNT1

SFR. The next read of MB produces the least significant byte, and any subsequent read produces a 00

hex value. MB also reads as 00 hex, following either a system reset or the initialization of the accelera-

tor. When loading the MB register, data must be written with the least significant byte first and most sig-

nificant byte last.

Multiplier B Register (MB)

R = Unrestricted read, W = Unrestricted write, -n = Value after reset

7

6

5

4

3

2

1

0

SFR D4h

MB.7

MB.6

MB.5

MB.4

MB.3

MB.2

MB.1

MB.0

RW-0

RW-0

RW-0

RW-0

RW-0

RW-0

RW-0

RW-0

Maxim Integrated

Advertising