Back
MASM : COMPLEX : CNORM_MPX
CNORM_MPX:

Syntax:

Description:

CNORM_MP0 normal operation multiplies the contents of Rs0 and Rs1 and adds the contents of Rs2 from the multiplication result. Sign of the result converted to opposite, then moved to Rd3 according to BS (bank select). Low bank of register contains the Real part of complex number and High bank contains the Imaginary part. In short, it performs "-(a*b+c)", where "a,b,c" are contents of registers Rs0, Rs1 and Rs2 correspondingly. Sign of final result is "-".

Other CNORM_MPX operations are similar. Except they perform complex conjugation on one or several complex numbers contained in registers. The "~" sign shows elements on which conjugation is performed.

Operations :

  • CNORM_MP0 : -(a*b+c)
  • CNORM_MP1 : -(a*b+c~)
  • CNORM_MP2 : -(a*b~+c)
  • CNORM_MP3 : -(a*b~+c~)
  • CNORM_MP4 : -(a~*b+c)
  • CNORM_MP5 : -(a~*b+c~)
  • CNORM_MP6 : -(a~*b~+c)
  • CNORM_MP7 : -(a~*b~+c~)

Instructions are stack conditioned.

Microcode patterns for other CNORM_MPX complex normal operations (see below) are differ only in MPC field, where the values are:

  • for CNORM_MP0 : CN20
  • for CNORM_MP1 : CN21
  • for CNORM_MP2 : CN22
  • for CNORM_MP3 : CN23
  • for CNORM_MP4 : CN24
  • for CNORM_MP5 : CN25
  • for CNORM_MP6 : CN26
  • for CNORM_MP7 : CN27

Microcode Pattern:

Takes 11 cycles to execute.
    Example: CNORM_MP0 0xA3 3 0xA0 0xA1 0xA2

	  
	 MPC BS3 C3 P3 P2 P1 P0
	-----------------------
	CN20  0  0  00 00 A1 A0
	 -    0  0  00 00 00 00
	 -    0  0  00 A2 00 00
	 -    0  0  00 00 00 00
	 -    0  0  00 00 00 00
	 -    0  0  00 00 00 00
	 -    0  0  00 00 00 00
	 -    0  0  00 00 00 00
	 -    0  0  00 00 00 00
	 -    0  0  00 00 00 00
	 -    3  0  A3 00 00 00

	  
Exceptions :

Configuration Register: 0x30 (CrFiluExc)

Exception No. Mask R/W Access Name
[0] 00000000 00000001 RW ALU Bad Operand (Low Bank)
[1] 00000000 00000002 RW ALU Bad Operand (High Bank)
[2] 00000000 00000004 RW ALU Denormalized Input (Low Bank)
[3] 00000000 00000008 RW ALU Denormalized Input (High Bank)
[4] 00000000 00000010 RW ALU Denormalized Output (Low Bank)
[5] 00000000 00000020 RW ALU Denormalized Output (High Bank)
[6] 00000000 00000040 RW ALU Overflow (Low Bank)
[7] 00000000 00000080 RW ALU Overflow (High Bank)

Example :

Not available at the moment.

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