Mul.n

From Sierra Wiki
Revision as of 23:34, 2 June 2024 by Andrew Branscom (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

The mul.n command multiplies a variable with a number.

Syntax

mul.n(var vA, byt B);
vA = vA * B;
vA *= B;

Remarks

Because variables are 8 bit unsigned numbers, if the result of the multiplication exceeds 255, the result 'wraps around'. For example, if v50 currently equals 200, the statement: mul.n(v50, 2); will result in a value for v50 of 144 (200 * 2 = 400; 400 - 256 = 144). This can be represented mathematically as vA = (vA * B) mod 256.

Note that this command uses the 'dot' notation (i.e. mul.n vs. muln) unlike the original set of mathematical commands.

Possible Errors

None.

Example

Code:

<syntaxhighlight lang="agi"> v50 = 5; mul.n(v50, 3); [ v50 now equals 150 v50 = v50 * 3; [ v50 now equals 194 (450 - 256) v50 *= 3; [ v50 now equals 70 (582 - 256 * 2) </syntaxhighlight>

Technical Information

Required Interpreter Version: Available in version 2.411 and above.
Byte-Code Value: 165 (0xA5 hex)

See Also

Mathematical Commands
mul.v