ASMB,R,L,C * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAME: PART OF MATH LIBRARY * SOURCE: 24998-18XXX SEE NAM FOR LAST THREE DIGITS * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".CMPY" COMPLEX MULTIPLICATION NAM .CMPY,6 24998-1X121 REV.2001 750701 ENT .CMPY EXT .ZRNT,.ENTC SPC 2 * * CALLING SEQUENCE: Y = X1 * X2 * * JSB .CMPY * DEF Y * DEF X1 * DEF X2 SPC 2 TDB NOP DEC 14 NOP T REP 2 NOP IX1 NOP IX2 NOP RX1 REP 2 R(X1) NOP RX2 REP 2 R(X2) NOP Y NOP X1 NOP X2 NOP .CMPY NOP JSB .ZRNT DEF LIBX JSB .ENTC GET PRAMS ADDRESSES DEF Y STA TDB+2 LDA X1 INA INA STA IX1 SAVE ADDRESS OF I(X1) LDA X2 INA INA STA IX2 SAVE ADDRESS OF I(X2) DLD IX1,I FMP IX2,I I(X1) * I(X2) STA T STB T+1 SAVE DLD X2,I STA RX2 SAVE R(X2) STB RX2+1 DLD X1,I STA RX1 SAVE R(X1) STB RX1+1 FMP RX2 R(X1) * R(X2) FSB T R(X1) * R(X2) - I(X1) * I(X2) DST Y,I STORE REAL PART LDA RX2 LDB RX2+1 FMP IX1,I R(X2) * I(X1) STA T STB T+1 SAVE LDA RX1 LDB RX1+1 FMP IX2,I R(X1) * I(X2) FAD T R(X1) * I(X2) + R(X2) * I(X1) ISZ Y ISZ Y DST Y,I STORE IMAGINARY PART LIBX JMP TDB+2,I DEF TDB DEC 0 SPC 2 END *