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
Jump to: navigation, search
(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

  1. Official Nintendo documentation on LMULT: 9.52 on page 2-9-73 of Book II
  2. example: page 2-9-74 of Book II, lbid.
  3. page 2-8-16 of Book II, lbid.