SIC63616-(Rev. 1.0) NO. P147
3240-0412
DRL0–DRL7: Destination register low-order 8 bits (FF72H, FF73H)
Used to set multiplicands and low-order 8 bits of dividends.
Set the low-order 4 bits of data to DRL0–DRL3 and the high-order 4 bits to DRL4–DRL7.
Data written to this register is loaded to the arithmetic circuit when an operation starts (by writing to
FF76H•D0), and then a multiplication or a division is performed in 10 CPU clock cycles (5 bus cycles). After
the operation has finished, the low-order 8 bits of the product or the quotient are loaded to this register.
However, if an overflow occurs in a division process, the quotient is not loaded and the low-order 8 bits of
the dividend remains.
At initial reset, this register is undefined.
DRH0–DRH7: Destination register high-order 8 bits (FF74H, FF75H)
Used to set high-order 8 bits of dividends.
Set the low-order 4 bits of data to DRH0–DRH3 and the high-order 4 bits to DRH4–DRH7.
At the start of a multiplication (by writing "0" to FF76H•D0), the contents in this register are ignored. After
10 CPU cycles (5 bus cycles) of multiplication process has finished, the high-order 8 bits of the product are
loaded in this register.
In a division process, data written to this register is loaded to the arithmetic circuit when an operation starts
(by writing "1" to FF76H•D0), and then a division is performed in 10 CPU clock cycles (5 bus cycles). After
the operation has finished, the remainder is loaded to this register. However, if an overflow occurs in a
division process, the remainder is not loaded and the high-order 8 bits of the dividend remains.
At initial reset, this register is undefined.
CALMD: Calculation mode select register/operation status (FF76H•D0)
Selects multiplication or division mode and starts operation.
When "1" is written: Selects/starts division
When "0" is written: Selects/starts multiplication
When "1" is read:
Under operating
When "0" is read:
Operation has finished
Writing to this register starts the specified operation. After that, this register is set to "1" and returns to "0"
when the multiplication or division process has finished.
At initial reset, this register is reset to "0".
ZF: Zero flag (FF76H•D1)
Indicates whether the operation result is zero or not.
When "1" is read: Zero
When "0" is read: Not zero
Writing: Invalid
ZF is a read-only bit, so writing operation is invalid.
At initial reset, this flag is set to "0".
VF: Overflow flag (FF76H•D2)
Indicates whether an overflow has occurred or not in a division process.
When "1" is read: Overflow occurred
When "0" is read: Overflow has not occurred
Writing: Invalid
When a multiplication process has finished, this flag is always set to "0".
VF is a read-only bit, so writing operation is invalid.
At initial reset, this flag is set to "0".