Back
MASM : INTEGER : IMUL
IMUL:

Syntax:

Description:

Multiplies the contents of Rs1 and Rs2, and moves the result to Rd according to BS (bank select). Instruction is stack conditioned.

Microcode Pattern:

Takes 6 cycles to execute.
    Example: IMUL 0xA3 2 0xA0 0xA1

	  
	MPC   BS3 C3 P3 P1 P0
	---------------------
	IMUL   0  0  00 A1 A0
	  -    0  0  00 00 00
	  -    0  0  00 00 00
	  -    0  0  00 00 00
	  -    0  0  00 00 00
	  -    2  0  A3 00 00

	  
Exceptions :

No exceptions.

Example :

IMUL 0x20 0 0x22 0x21 
  ! Multiply content of register 0x21
  ! with content of register 0x22 and
  ! don't write the result to
  ! register file

IMUL 0x20 1 0x22 0x21 
  ! Multiply contents of low banks of
  ! registers 0x21 and 0x22 and move
  ! the result in low bank of
  ! register 0x20

IMUL 0x20 2 0x22 0x21 
  ! Multiply contents of high banks of
  ! registers 0x21 and 0x22 and move
  ! the result in high bank of
  ! register 0x20

IMUL 0x20 3 0x22 0x21 
  ! Multiply content of register 0x21
  ! with content of register 0x22 and
  ! move result to register 0x20

APE Group Zeuthen. 2003
$Id: imul_masm.php,v 1.2 2004/08/04 09:42:42 noe Exp $
$Id: syntax.php,v 1.8 2004/08/04 09:25:34 noe Exp $