.TITLE .COMCV / / 18 APR 73 (PDH) ADD 'DREAL','DIMAG','DCMPLX' / 10 APR 73 - (PDH) CHANGE ERROR ROUTE / / THIS SECTION CONTAINS REAL, AIMAG, CMPLX,DREAL,DIMAG,DCMPLX / / INTERNAL GLOBLS .GLOBL REAL,AIMAG,CMPLX .GLOBL DREAL,DIMAG,DCMPLX / / EXTERNAL GLOBLS .GLOBL .MODEA,.A3,.A4,.AI3,.AI4 .GLOBL .SWPIT,.FETCH,.PSHBA,.FLOAT,.SWPBI,.SWPUS,.SPBIA .GLOBL .GRAB,.ILMDE / / / / REAL PART OF COMPLEX TO ACC A REAL XX JMS* .GRAB JMS .REAL JMP* REAL DREAL=REAL / .REAL XX SMA!RAL / MODEA IN AC JMP* .ILMDE /REAL MODE, ERROR SPA!RAR JMP* .ILMDE /LOGICAL, CHARACTER XOR (600000 /NEW MODE=SINGLE OR DOUBLE DAC* .MODEA JMP* .REAL / / IMAGINARY PART OF COMPLEX TO ACC A AIMAG XX JMS* .GRAB JMS .AIMAG JMP* AIMAG DIMAG=AIMAG / .AIMAG XX JMS .REAL /SET UP MODE JMS* .SWPIT /AI TO A JMP* .AIMAG / / FUNCTION TO CREATE A COMPLEX NUMBER FROM TWO NON-COMPLEX ARGUMENTS / CMPLX XX JMS .CMPLX JMP* CMPLX DCMPLX=CMPLX / .CMPLX XX DZM* .A3 /ZERO OUT EXTENSIONS DZM* .A4 DZM* .AI3 DZM* .AI4 JMS* .FETCH JMS* .PSHBA /REAL PART TO A JMS* .FLOAT /PROCESS MODE LMQ /REAL MODE TO MQ JMS* .SWPBI /A TO BI JMS* .FETCH JMS* .PSHBA /IMAGINARY PART TO A JMS* .FLOAT /PROCESS MODE OMQ /INCLUSIVE OR THE MODES XOR (600000 /SET TO COMPLEX DAC* .MODEA JMS* .SWPUS /A TO AI,BI TO A JMS* .SPBIA JMP* .CMPLX .END