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
(blurb about specifying sreg/dreg in advance)
(The ALT0 state is restored.)
Line 44: Line 44:


If R<sub>4</sub> is specified as the destination register, the product will be invalid.<sup>[1]</sup>
If R<sub>4</sub> is specified as the destination register, the product will be invalid.<sup>[1]</sup>
The [[ALT0]] state is restored.


The source and destination registers should be specified in advance using [[WITH]], [[FROM]], or [[TO]].  Otherwise, R<sub>0</sub> serves as the default.
The source and destination registers should be specified in advance using [[WITH]], [[FROM]], or [[TO]].  Otherwise, R<sub>0</sub> serves as the default.

Revision as of 00:14, 13 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 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.