We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
LMULT (Super FX): Difference between revisions
From SnesLab
(linkify Z) |
(16-bit factors) |
||
Line 37: | Line 37: | ||
|} | |} | ||
'''LMULT''' is a signed multiplication [[Super FX]] instruction. The factors are the [[source register]] and R<sub>6</sub>. The exact speed depends on the state of the [[CFGR]] register. | '''LMULT''' is a signed multiplication [[Super FX]] instruction. The two 16-bit factors are the [[source register]] and R<sub>6</sub>. The exact speed depends on the state of the [[CFGR]] register. | ||
LMULT utilizes the 8-bit multiplier four times.<sup>[3]</sup> | LMULT utilizes the 8-bit multiplier four times.<sup>[3]</sup> |
Revision as of 19:11, 14 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
Implied (type 1) | 3D9F | 2 bytes | 10 or 14 cycles | 10 or 14 cycles | 5 or 9 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
0 | 0 | 0 | . |
LMULT is a signed multiplication Super FX instruction. The two 16-bit factors are the source register and R6. The exact speed depends on the state of the CFGR register.
LMULT utilizes the 8-bit multiplier four times.[3]
LMULT shares its multiplication circuit with FMULT.
If R4 is specified as the destination register, the product will be invalid.[1]
The ALT0 state is restored.
The source and destination registers should be specified in advance using WITH, FROM, or TO. Otherwise, R0 serves as the default.
Syntax
LMULT
Example
Let:
Sreg : R9 Dreg : R8 R9 = b556h R6 = daabh
After LMULT is executed:
R8 = 0ae3h R4 = 5c72h
See Also
External Links
- Official Nintendo documentation on LMULT: 9.52 on page 2-9-73 of Book II
- example: page 2-9-74 of Book II, lbid.
- page 2-8-16 of Book II, lbid.