Multiply
Organizational graphic tag to help group instructions

Mnemonic

 M

Short and Long format of instruction



Description

Execution of this instruction results in multiplication of a 16-bit multiplicand (in core storage) by a 16-bit multiplier (in the accumulator). The 32-bit product that is developed replaces the contents of the accumulator and accumulator extension. The product is developed so that the more significant bits are in the accumulator. (The sign of the product is indicated by bit 0 in the accumulator.) The operation can be portrayed pictorially as follows:


Multiplication operation pic

The multiplier must be loaded into the accumulator before the multiply operation is performed. The multiplicand is addressed in the normal manner by the multiply instruction. The multiplicand is unchanged in core storage as a result of the operation.

There are no addressing exceptions for the multiply instruction; all forms of addressing that are described under "Effective-Address Generation" apply to the M instruction.

The largest product that can be developed is 230. This product results from multiplying the largest 16-bit negative number (-215) by itself.


Indicators: The carry and overflow indicators are not affected during the M operation.


Examples

Note: There is only one multiply instruction. No separate multiply instruction exists for double precision operands.

Multiply

Assembler Language Coding Hexadecimal Value Description of Instruction
Label   Operation   F T    
21 25
 
27 30
  32 33   35..40..
    M         DISP A0XX Multiply contents of CSL at EA (I+DISP) by A
    M     1   DISP A1XX Multiply contents of CSL at EA (XR1+DISP) by A
    M     2   DISP A2XX Multiply contents of CSL at EA (XR2+DISP) by A
    M     3   DISP A3XX Multiply contents of CSL at EA (XR3+DISP) by A
    M   L     ADDR A400XXXX Multiply contents of CSL at EA (Addr) by A
    M   L 1   ADDR A500XXXX Multiply contents of CSL at EA (Addr+XR1) by A
    M   L 2   ADDR A600XXXX Multiply contents of CSL at EA (Addr+XR2) by A
    M   L 3   ADDR A700XXXX Multiply contents of CSL at EA (Addr+XR3) by A
    M   I     ADDR A480XXXX Multiply contents of CSL at EA (V in CSL at Addr) by A
    M   I 1   ADDR A580XXXX Multiply contents of CSL at EA (V in CSL at "Addr+XR1") by A
    M   I 2   ADDR A680XXXX Multiply contents of CSL at EA (V in CSL at "Addr+XR2") by A
    M   I 3   ADDR A780XXXX Multiply contents of CSL at EA (V in CSL at "Addr+XR3") by A


But wait, there's MORE...

Valid HTML 4.01 Transitional