1. Multiplication operation MUL/MULW/MULD

1. Multiplication operation MUL/MULW/MULD

1.1. Instruction description

The instruction (MUL) multiplies two 16 bit integers and produces a * * 32-bit * * result.

The MULW instruction multiplies two 16 bit integers and produces a 16 bit result.

The MULD instruction multiplies two 32-bit integers and produces a 32-bit result.

Related registers Description
M8170 The result of the operation is negative.
M8171 The result of the operation is 0.

1.2. The valid operands of the instruction

1.2.1. Single word calculation to double word instruction(MUL)

Input/Output Data Type operand Description
IN1 16 bit integer D/CV/TV/AI/AO/K/H/V/Z/FD, bit composite word (X/Y/M/C/T/S), local variable (LW) Input 1
IN2 16 bit integer D/CV/TV/AI/AO/K/H/V/Z/FD, bit composite word (X/Y/M/C/T/S), local variable (LW) Input 2
OUT 32-bit integer D/CV, bit composite word (Y/M/C/T/S), local variable (LD) output

1.2.2. Single word instruction(MULW)

Input/Output Data Type operand Description
IN1 16 bit integer D/CV/TV/AI/AO/K/H/V/Z/FD, bit composite word (X/Y/M/C/T/S), local variable (LW) Input 1
IN2 16 bit integer D/CV/TV/AI/AO/K/H/V/Z/FD, bit composite word (X/Y/M/C/T/S), local variable (LW) Input 2
OUT 16 bit integer D/CV/TV/AO/V/Z, bit composite word (Y/M/C/T/S), local variable (LW) output

1.2.3. Double word instruction(MULD)

Input/Output Data Type operand Description
IN1 32-bit integer D/CV/K/H/FD, bit composite word (X/Y/M/C/T/S), local variable (LD) Input 1
IN2 32-bit integer D/CV/K/H/FD, bit composite word (X/Y/M/C/T/S), local variable (LD) Input 2
OUT 32-bit integer D/CV, bit composite word (Y/M/C/T/S), local variable (LD) output

1.3. Example

command table:

NETWORK 000

LD X000

MUL D0 D1 D2 // D0 × D1 = D2D3

MUL

图1 MUL