Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0035/alglib.scm
There is 1 other file named alglib.scm in the archive. Click here to see a list.
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

1)1	00800		JOB41=	41
1)	00900		LOC	JOB41
1)	01000		JSP	1,%RESET	;UUO HANDLER SETUP
****
2)1		.JB41=	41
2)		LOC	.JB41
2)		JSP	1,%RESET	;UUO HANDLER SETUP
**************
1)1	07300	%UUO:	BLOCK	2	;JOB41 CONTAINS JSR %UUO
1)	07500	%ARITH:	BLOCK	1	;CONTROL OF FLOATING POINT UNDERFLOWS
****
2)1	%UUO:	BLOCK	2	;.JB41 CONTAINS JSR %UUO
2)	%ARITH:	BLOCK	1	;CONTROL OF FLOATING POINT UNDERFLOWS
**************
1)2	00500		EXTERN	%PDL,%HDBLK,%ENTRY,JOBFF,JOBREN,JOBAPR,%ERROR,%STEND
1)	00600		EXTERN	%SREG,%NREG,%AVIOB,%IOOPN,%IOLEB,%IOBFH,%IOEND,%STAT
1)	00700		EXTERN	JOBCNI,JOBTPC,%DYNAM,JOBOPC,JOB41,%UUO,%DCSAV,%IOBRK
1)	00800		EXTERN	%APRSV,%UUOTB,%ARITH,%BLOCK,JOBSYM,JOBUSY,JOBSA
1)	00900		%T=	14
****
2)2		EXTERN	%PDL,%HDBLK,%ENTRY,%ERROR,%STEND	;JOBFF,JOBREN,JOBAPR
2)		EXTERN	%SREG,%NREG,%AVIOB,%IOOPN,%IOLEB,%IOBFH,%IOEND,%STAT
2)		EXTERN	%DYNAM,%UUO,%DCSAV,%IOBRK	;JOBCNI,JOBTPC,JOBOPC,JOB41
2)		EXTERN	%APRSV,%UUOTB,%ARITH,%BLOCK	;JOBSYM,JOBUSY,JOBSA
2)		SEARCH JOBDAT	;JOBXXX BECOMES .JBXXX, DEFINED IN JOBDAT.UNV
2)				;OTHER ROUTINES WILL EXTERN .JBXXX SO ONLY 
2)				;NEED TO SEARCH ONCE
2)		%T=	14
**************
1)2	03000		SETZM	JOBUSY		;NO GLOBAL UNDEFINED SYMBOL TABLE
1)	03100		MOVE	TEMP,JOBSYM
1)	03200		JUMPE	TEMP,NOSYM	;NO SYMBOLS LOADED
1)	03300		HRLE	TEMP2,TEMP
1)	03400		SUBM	TEMP,TEMP2	;SEE IF JOBSA IS ABOVE TABLE
1)	03500		HLRZ	TEMP3,JOBSA
1)	03600		CAIL	TEMP3,(TEMP2)	;IF SO, WE ALREADY MOVED IT
****
2)2		SETZM	.JBUSY		;NO GLOBAL UNDEFINED SYMBOL TABLE
2)		MOVE	TEMP,.JBSYM
2)		JUMPE	TEMP,NOSYM	;NO SYMBOLS LOADED
2)		HRLE	TEMP2,TEMP
2)		SUBM	TEMP,TEMP2	;SEE IF .JBSA IS ABOVE TABLE
2)		HLRZ	TEMP3,.JBSA
2)		CAIL	TEMP3,(TEMP2)	;IF SO, WE ALREADY MOVED IT
**************
1)2	04200		HRRM	TEMP3,JOBSYM
1)	04300		HRLE	TEMP2,TEMP
****
2)2		HRRM	TEMP3,.JBSYM
2)		HRLE	TEMP2,TEMP
**************
1)2	04600	NOMOVE:	HRLM	TEMP2,JOBSA
1)	04700		HRRM	TEMP2,JOBFF
1)	04800	NOSYM:	MOVE	%P,[IOWD ^D108,%PDL]	;SET PDL POINTER
****
2)2	NOMOVE:	HRLM	TEMP2,.JBSA
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

2)		HRRM	TEMP2,.JBFF
2)	NOSYM:	MOVE	%P,[IOWD ^D108,%PDL]	;SET PDL POINTER
**************
1)2	07400		HRRZ	JOBFF		;GET NEW STORAGE LIMIT
1)	07500		MOVEM	%SREG
****
2)2		HRRZ	.JBFF		;GET NEW STORAGE LIMIT
2)		MOVEM	%SREG
**************
1)2	08400		MOVEM	JOB41
1)	08500		MOVE	[JRST %UUOTB]
****
2)2		MOVEM	.JB41
2)		MOVE	[JRST %UUOTB]
**************
1)2	08800		HRRM	JOBREN		; FOR ERROR RECOVERY
1)	08900		MOVEI	%APRER
1)	09000		HRRM	JOBAPR		;SET UP FOR INTERRUPTS
1)	09100		MOVEI	200110		; ON PDL OVF,OVF,EXP OVF
****
2)2		HRRM	.JBREN		; FOR ERROR RECOVERY
2)		MOVEI	%APRER
2)		HRRM	.JBAPR		;SET UP FOR INTERRUPTS
2)		MOVEI	200110		; ON PDL OVF,OVF,EXP OVF
**************
1)2	10500	%REENT:	MOVE	JOBOPC		;INDICATE PROPER ERROR POINT
1)	10600		SKIPN	%UUO
****
2)2	%REENT:	MOVE	.JBOPC		;INDICATE PROPER ERROR POINT
2)		SKIPN	%UUO
**************
1)2	11300		MOVE	JOBTPC		;INDICATE PROPER ERROR POINT
1)	11400		SKIPN	%UUO
1)	11500		MOVEM	%UUO
1)	11600		MOVE	JOBCNI		;APR ERROR, DECODE IT
1)	11700		TRNE	200000
****
2)2		MOVE	.JBTPC		;INDICATE PROPER ERROR POINT
2)		SKIPN	%UUO
2)		MOVEM	%UUO
2)		MOVE	.JBCNI		;APR ERROR, DECODE IT
2)		TRNE	200000
**************
1)2	12100		MOVE	JOBTPC		;DECODE INTEGER OVERFLOW
1)	12200		TLNE	40
****
2)2		MOVE	.JBTPC		;DECODE INTEGER OVERFLOW
2)		TLNE	40
**************
1)2	12900		CAMN	JOBTPC
1)	13000		SETZM	%UUO		;IF %UUO=INTERRUPT POINT
1)	13100		MOVEM	ERROR,%APRSV+1	;SAVE ERROR
1)	13200		MOVE	ERROR,JOBTPC	;SEE WHAT KIND OF INSTRUCTION
1)	13300		HLRZ	-1(ERROR)
****
2)2		CAMN	.JBTPC
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

2)		SETZM	%UUO		;IF %UUO=INTERRUPT POINT
2)		MOVEM	ERROR,%APRSV+1	;SAVE ERROR
2)		MOVE	ERROR,.JBTPC	;SEE WHAT KIND OF INSTRUCTION
2)		HLRZ	-1(ERROR)
**************
1)2	16900		MOVE	ERROR,JOBTPC	;SET UP AGAIN FOR STORE IN AC
1)	17000		JRST	AC
****
2)2		MOVE	ERROR,.JBTPC	;SET UP AGAIN FOR STORE IN AC
2)		JRST	AC
**************
1)2	18300		JRSTF	@JOBTPC		;AND RETURN
1)	18500	FIXDIV:	MOVEI	ERROR,[ASCIZ/INTEGER DIVISION BY ZERO/]
1)	18600		JRST	ERRPRT
1)	18800	FLTOVF:	MOVE	JOBTPC		;DECODE FLOATING OVERFLOW
1)	18900		TLNE	40
****
2)2		JRSTF	@.JBTPC		;AND RETURN
2)	FIXDIV:	MOVEI	ERROR,[ASCIZ/INTEGER DIVISION BY ZERO/]
2)		JRST	ERRPRT
2)	FLTOVF:	MOVE	.JBTPC		;DECODE FLOATING OVERFLOW
2)		TLNE	40
**************
1)3	01000		EXTERN	%ERROR,JOBUUO,%UUO,%USRER,%SUBSC,%PROC,%OPEN,%IS,%HDBLK
1)	01100		%P=	17
****
2)3		EXTERN	%ERROR,%UUO,%USRER,%SUBSC,%PROC,%OPEN,%IS,%HDBLK
2)		EXTERN .JBUUO
2)		%P=	17
**************
1)3	01500		HLRZ	UUOPTR,JOBUUO
1)	01600		LSH	UUOPTR,-^D9	;GET TABLE INDEX
****
2)3		HLRZ	UUOPTR,.JBUUO
2)		LSH	UUOPTR,-^D9	;GET TABLE INDEX
**************
1)3	05100		HLRZ	UUOPTR,JOBUUO	;FURTHER UUO DECODE
1)	05200		LSH	UUOPTR,-5	;USE AC FIELD
****
2)3		HLRZ	UUOPTR,.JBUUO	;FURTHER UUO DECODE
2)		LSH	UUOPTR,-5	;USE AC FIELD
**************
1)3	07300	CALLUO:	PUSHJ	%P,@JOBUUO	;SET TRACEBACK POINT ON ERROR
1)	07500	%XUUO:	PUSH	%P,%UUO		;RETURN TO POINT OF CALL
****
2)3	CALLUO:	PUSHJ	%P,@.JBUUO	;SET TRACEBACK POINT ON ERROR
2)	%XUUO:	PUSH	%P,%UUO		;RETURN TO POINT OF CALL
**************
1)4	00700		EXTERN	%XUUO,%IOEND,%SAVE,JOBUUO,JOBFF,%ERRSB
1)	00800		EXTERN	%IOBFH,%IOBRK,%IOPP,%OPNSW,%UUO
1)	00900		%P=	17
****
2)4		EXTERN	%XUUO,%IOEND,%SAVE,%ERRSB
2)		EXTERN	%IOBFH,%IOBRK,%IOPP,%OPNSW,%UUO
2)		EXTERN .JBUUO,.JBFF
2)		%P=	17
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

**************
1)4	05700		HRRM	TEMP,JOBFF	;SET AREA FOR BUFFERS
1)	05800		MOVE	TEMP,[INBUF (BUFFCT)]
****
2)4		HRRM	TEMP,.JBFF	;SET AREA FOR BUFFERS
2)		MOVE	TEMP,[INBUF (BUFFCT)]
**************
1)4	09600		HRRM	TEMP,JOBFF
1)	09700		MOVE	TEMP,[OUTBUF (BUFFCT)]	;SET AREA FOR BUFFERS
****
2)4		HRRM	TEMP,.JBFF
2)		MOVE	TEMP,[OUTBUF (BUFFCT)]	;SET AREA FOR BUFFERS
**************
1)4	13900		HRRZ	TEMP,JOBFF	;START OF AVAILABLE STORAGE
1)	14000		MOVEM	TEMP,%SREG(REGPT)	;STORE IN TABLES
****
2)4		HRRZ	TEMP,.JBFF	;START OF AVAILABLE STORAGE
2)		MOVEM	TEMP,%SREG(REGPT)	;STORE IN TABLES
**************
1)4	23600		MOVE	CHAN,@JOBUUO	;GET CHANNEL NUMBER
1)	23700		JUMPG	CHAN,CHANOK	;MUST BE 0 < CHAN < 16
****
2)4		MOVE	CHAN,@.JBUUO	;GET CHANNEL NUMBER
2)		JUMPG	CHAN,CHANOK	;MUST BE 0 < CHAN < 16
**************
1)4	26300		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	26400		TRZ	TEMP,1		;EITHER INPUT OR OUTPUT
****
2)4		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		TRZ	TEMP,1		;EITHER INPUT OR OUTPUT
**************
1)4	57000		MOVE	TEMP3,JOBUUO	;GO TO PROPER ROUTINE
1)	57100		TLNE	TEMP3,40
****
2)4		MOVE	TEMP3,.JBUUO	;GO TO PROPER ROUTINE
2)		TLNE	TEMP3,40
**************
1)5	00700		EXTERN	%ERRST,%SAVE,%XUUO,%UUO,JOBUUO,%ERROC,%IOBFH
1)	00800		%P=	17
****
2)5		EXTERN	%ERRST,%SAVE,%XUUO,%UUO,%ERROC,%IOBFH
2)		EXTERN	.JBUUO
2)		%P=	17
**************
1)5	02700	INCHK:	MOVE	CINDEX,@JOBUUO	;GET CHANNEL NUMBER
1)	02800		JUMPGE	CINDEX,INCHK2	;CHECK FOR VALIDITY
****
2)5	INCHK:	MOVE	CINDEX,@.JBUUO	;GET CHANNEL NUMBER
2)		JUMPGE	CINDEX,INCHK2	;CHECK FOR VALIDITY
**************
1)5	05000	OUTCHK:	MOVE	CINDEX,@JOBUUO	;GET CHANNEL NUMBER
1)	05100		JUMPL	CINDEX,ILLCHN	;CHECK FOR VALIDITY
****
2)5	OUTCHK:	MOVE	CINDEX,@.JBUUO	;GET CHANNEL NUMBER
2)		JUMPL	CINDEX,ILLCHN	;CHECK FOR VALIDITY
**************
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

1)5	09000		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	09100		HRLI	TEMP,(TEMP)	;SAVE COPY OF AC FIELD
****
2)5		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		HRLI	TEMP,(TEMP)	;SAVE COPY OF AC FIELD
**************
1)5	13500		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	13600		TRZ	TEMP,1
****
2)5		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		TRZ	TEMP,1
**************
1)5	15300		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	15400		MOVEM	TEMP2,(TEMP)	;STORE VALUE
****
2)5		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		MOVEM	TEMP2,(TEMP)	;STORE VALUE
**************
1)5	19900		LDB	LINENO,[POINT 4,JOBUUO,^D12]
1)	20000		SKIPL	LINENO,(LINENO)	;GET AND CHECK LINE NUMBER
****
2)5		LDB	LINENO,[POINT 4,.JBUUO,^D12]
2)		SKIPL	LINENO,(LINENO)	;GET AND CHECK LINE NUMBER
**************
1)5	23800		LDB	CHAR,[POINT 4,JOBUUO,^D12]
1)	23900		MOVE	BYTEPT,(CHAR)
****
2)5		LDB	CHAR,[POINT 4,.JBUUO,^D12]
2)		MOVE	BYTEPT,(CHAR)
**************
1)5	30100		LDB	CHAR,[POINT 4,JOBUUO,^D12]
1)	30200		ANDI	CHAR,16
****
2)5		LDB	CHAR,[POINT 4,.JBUUO,^D12]
2)		ANDI	CHAR,16
**************
1)5	37000		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	37100		TRZN	TEMP,1		;AFTER STORING CHARACTER,
****
2)5		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		TRZN	TEMP,1		;AFTER STORING CHARACTER,
**************
1)6	00700		EXTERN	JOBUUO,%XUUO,%ERRSB,%IOPP,%ERRST
1)	00800		%P=	17
****
2)6		EXTERN	%XUUO,%ERRSB,%IOPP,%ERRST
2)		EXTERN	.JBUUO
2)		%P=	17
**************
1)6	01700	%CLOSE:	MOVE	CHAN,@JOBUUO	;GET CHANNEL NUMBER
1)	01800		JUMPG	CHAN,CHANGR	;CHECK CHAN>0
****
2)6	%CLOSE:	MOVE	CHAN,@.JBUUO	;GET CHANNEL NUMBER
2)		JUMPG	CHAN,CHANGR	;CHECK CHAN>0
**************
1)7	00600		EXTERN	%SAVE,%XUUO,%UUO,JOBUUO,%ERRNM,%HDBLK
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

1)	00700		%T=	14
****
2)7		EXTERN	%SAVE,%XUUO,%UUO,%ERRNM,%HDBLK
2)		EXTERN	.JBUUO
2)		%T=	14
**************
1)7	13500		HRRZ	HEADER,JOBUUO	;GET DESCRIPTOR ADDRESS
1)	13600		HLRZ	SIZE,(HEADER)	;AND AREA SIZE
****
2)7		HRRZ	HEADER,.JBUUO	;GET DESCRIPTOR ADDRESS
2)		HLRZ	SIZE,(HEADER)	;AND AREA SIZE
**************
1)7	13900		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	14000		MOVEM	RESULT,(TEMP)
****
2)7		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		MOVEM	RESULT,(TEMP)
**************
1)7	14800		LDB	TEMP,[POINT 4,JOBUUO,^D12]	;GET NO. OF DIMENSIONS
1)	14900		HRRZ	TEMP2,JOBUUO	;AND DOPE VECTOR ADDRESS
1)	15000		HLRZ	SIZE,1(TEMP2)	;GET LENGTH (IN WORDS)
****
2)7		LDB	TEMP,[POINT 4,.JBUUO,^D12]	;GET NO. OF DIMENSIONS
2)		HRRZ	TEMP2,.JBUUO	;AND DOPE VECTOR ADDRESS
2)		HLRZ	SIZE,1(TEMP2)	;GET LENGTH (IN WORDS)
**************
1)7	17300		LDB	TEMP,[POINT 4,JOBUUO,^D12]	;GET NO. OF DIMENSIONS
1)	17400		HRRZ	TEMP2,JOBUUO	;AND DOPE VECTOR ADDRESS
1)	17500		HLRE	SIZE,1(TEMP2)	;GET LENGTH (IN BYTES)
****
2)7		LDB	TEMP,[POINT 4,.JBUUO,^D12]	;GET NO. OF DIMENSIONS
2)		HRRZ	TEMP2,.JBUUO	;AND DOPE VECTOR ADDRESS
2)		HLRE	SIZE,1(TEMP2)	;GET LENGTH (IN BYTES)
**************
1)7	19100		HRRZ	TEMP,JOBUUO	;GET DOPE VECTOR ADDRESS
1)	19200		HLRE	SIZE,1(TEMP)	;AND LENGTH (IN BYTES)
****
2)7		HRRZ	TEMP,.JBUUO	;GET DOPE VECTOR ADDRESS
2)		HLRE	SIZE,1(TEMP)	;AND LENGTH (IN BYTES)
**************
1)7	19800		LDB	TEMP2,[POINT 6,@JOBUUO,^D11]	;GET BYTE SIZE
1)	19900		MOVEI	TEMP,^D36	;HOW MANY PER WORD?
****
2)7		LDB	TEMP2,[POINT 6,@.JBUUO,^D11]	;GET BYTE SIZE
2)		MOVEI	TEMP,^D36	;HOW MANY PER WORD?
**************
1)7	23400		HRRZ	HEADER,JOBUUO	;GET DESCRIPTOR ADDRESS
1)	23500		HLRZ	SIZE,(HEADER)	;AND SIZE
****
2)7		HRRZ	HEADER,.JBUUO	;GET DESCRIPTOR ADDRESS
2)		HLRZ	SIZE,(HEADER)	;AND SIZE
**************
1)7	24000		HRRZ	TEMP,JOBUUO	;GET DISPLAY SIZE
1)	24100		HLRZ	TEMP,-1(TEMP)
****
2)7		HRRZ	TEMP,.JBUUO	;GET DISPLAY SIZE
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

2)		HLRZ	TEMP,-1(TEMP)
**************
1)7	25500		HRRZ	HEADER,JOBUUO	;GET DESCRIPTOR ADDRESS
1)	25600		HLRZ	SIZE,(HEADER)	;AND SIZE
****
2)7		HRRZ	HEADER,.JBUUO	;GET DESCRIPTOR ADDRESS
2)		HLRZ	SIZE,(HEADER)	;AND SIZE
**************
1)7	26300		HRRZ	TEMP,JOBUUO	;GET DISPLAY SIZE
1)	26400		HLRZ	TEMP,-1(TEMP)
****
2)7		HRRZ	TEMP,.JBUUO	;GET DISPLAY SIZE
2)		HLRZ	TEMP,-1(TEMP)
**************
1)7	27700		HRRZ	HEADER,JOBUUO	;GET DESCRIPTOR ADDRESS
1)	27800		HLRZ	SIZE,(HEADER)	;AND SIZE
****
2)7		HRRZ	HEADER,.JBUUO	;GET DESCRIPTOR ADDRESS
2)		HLRZ	SIZE,(HEADER)	;AND SIZE
**************
1)7	28500		HRRZ	TEMP,JOBUUO	;GET DISPLAY SIZE
1)	28600		HLRZ	TEMP2,-1(TEMP)
****
2)7		HRRZ	TEMP,.JBUUO	;GET DISPLAY SIZE
2)		HLRZ	TEMP2,-1(TEMP)
**************
1)10	00500		EXTERN	%ERRPT,%UUO,%DCSAV,%XUUO,JOBUUO
1)	00600		%B=	16
****
2)10		EXTERN	%ERRPT,%UUO,%DCSAV,%XUUO
2)		EXTERN	.JBUUO
2)		%B=	16
**************
1)10	07500		HRRZ	ERROR,JOBUUO	;USER CALL - STRING DV
1)	07600		MOVE	BYTEPT,(ERROR)
****
2)10		HRRZ	ERROR,.JBUUO	;USER CALL - STRING DV
2)		MOVE	BYTEPT,(ERROR)
**************
1)11	00600		EXTERN	JOBUUO,%XUUO,%SAVE,%UUO,%DCSAV,%HDBLK
1)	00700		%P=	17
****
2)11		EXTERN	%XUUO,%SAVE,%UUO,%DCSAV,%HDBLK
2)		EXTERN	.JBUUO
2)		%P=	17
**************
1)11	02300	%DADD:	LDB	ACBASE,[POINT 4,JOBUUO,^D12]
1)	02400		TRZN	ACBASE,1	;SET AC, DESTINATION
1)	02500		SKIPA	RESULT,ACBASE
1)	02600		HRRZ	RESULT,JOBUUO	;AC OR MEMORY
1)	02700		MOVE	A,(ACBASE)
1)	02800		MOVE	A+1,1(ACBASE)	;SETUP
1)	02900		HRRZ	MBASE,JOBUUO
1)	03000		UFA	A+1,1(MBASE)	;TAKEN FROM PDP-10 HANDBOOK
****
2)11	%DADD:	LDB	ACBASE,[POINT 4,.JBUUO,^D12]
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

2)		TRZN	ACBASE,1	;SET AC, DESTINATION
2)		SKIPA	RESULT,ACBASE
2)		HRRZ	RESULT,.JBUUO	;AC OR MEMORY
2)		MOVE	A,(ACBASE)
2)		MOVE	A+1,1(ACBASE)	;SETUP
2)		HRRZ	MBASE,.JBUUO
2)		UFA	A+1,1(MBASE)	;TAKEN FROM PDP-10 HANDBOOK
**************
1)11	03800	%DSUB:	LDB	ACBASE,[POINT 4,JOBUUO,^D12]
1)	03900		TRZN	ACBASE,1	;SET AC, DESTINATION
1)	04000		SKIPA	RESULT,ACBASE
1)	04100		HRRZ	RESULT,JOBUUO	;AC OR MEMORY
1)	04200		MOVE	A,(ACBASE)
1)	04300		MOVE	A+1,1(ACBASE)	;SETUP
1)	04400		HRRZ	MBASE,JOBUUO
1)	04500		DFN	A,A+1		;NEGATE
****
2)11	%DSUB:	LDB	ACBASE,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACBASE,1	;SET AC, DESTINATION
2)		SKIPA	RESULT,ACBASE
2)		HRRZ	RESULT,.JBUUO	;AC OR MEMORY
2)		MOVE	A,(ACBASE)
2)		MOVE	A+1,1(ACBASE)	;SETUP
2)		HRRZ	MBASE,.JBUUO
2)		DFN	A,A+1		;NEGATE
**************
1)11	05500	%DMULT:	LDB	ACBASE,[POINT 4,JOBUUO,^D12]
1)	05600		TRZN	ACBASE,1	;SET AC, DESTINATION
1)	05700		SKIPA	RESULT,ACBASE
1)	05800		HRRZ	RESULT,JOBUUO	;AC OR MEMORY
1)	05900		MOVE	A,(ACBASE)
1)	06000		MOVE	A+1,1(ACBASE)	;SETUP
1)	06100		HRRZ	MBASE,JOBUUO
1)	06200		MOVEM	A,A+2		;ALSO TAKEN FROM PDP-10 HANDBOOK
****
2)11	%DMULT:	LDB	ACBASE,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACBASE,1	;SET AC, DESTINATION
2)		SKIPA	RESULT,ACBASE
2)		HRRZ	RESULT,.JBUUO	;AC OR MEMORY
2)		MOVE	A,(ACBASE)
2)		MOVE	A+1,1(ACBASE)	;SETUP
2)		HRRZ	MBASE,.JBUUO
2)		MOVEM	A,A+2		;ALSO TAKEN FROM PDP-10 HANDBOOK
**************
1)11	07300	%DDIV:	LDB	ACBASE,[POINT 4,JOBUUO,^D12]
1)	07400		TRZN	ACBASE,1	;SET AC, DESTINATION
1)	07500		SKIPA	RESULT,ACBASE
1)	07600		HRRZ	RESULT,JOBUUO	;AC OR MEMORY
1)	07700		MOVE	A,(ACBASE)
1)	07800		MOVE	A+1,1(ACBASE)	;SETUP
1)	07900		HRRZ	MBASE,JOBUUO
1)	08000		FDVL	A,(MBASE)	;TAKEN FROM PDP-10 HANDBOOK
****
2)11	%DDIV:	LDB	ACBASE,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACBASE,1	;SET AC, DESTINATION
2)		SKIPA	RESULT,ACBASE
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

2)		HRRZ	RESULT,.JBUUO	;AC OR MEMORY
2)		MOVE	A,(ACBASE)
2)		MOVE	A+1,1(ACBASE)	;SETUP
2)		HRRZ	MBASE,.JBUUO
2)		FDVL	A,(MBASE)	;TAKEN FROM PDP-10 HANDBOOK
**************
1)11	09000	%CMULT:	LDB	ACBASE,[POINT 4,JOBUUO,^D12]
1)	09100		TRZN	ACBASE,1	;SET AC, DESTINATION
1)	09200		SKIPA	RESULT,ACBASE
1)	09300		HRRZ	RESULT,JOBUUO	;AC OR MEMORY
1)	09400		HRRZ	MBASE,JOBUUO
1)	09500		MOVE	A,(ACBASE)	;(A+BI)(C+DI)=
****
2)11	%CMULT:	LDB	ACBASE,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACBASE,1	;SET AC, DESTINATION
2)		SKIPA	RESULT,ACBASE
2)		HRRZ	RESULT,.JBUUO	;AC OR MEMORY
2)		HRRZ	MBASE,.JBUUO
2)		MOVE	A,(ACBASE)	;(A+BI)(C+DI)=
**************
1)11	11000		LDB	ACBASE,[POINT 4,JOBUUO,^D12]
1)	11100		TRZN	ACBASE,1	;AC OR MEMORY
1)	11200		SKIPA	RESULT,ACBASE
1)	11300		HRRZ	RESULT,JOBUUO
1)	11400		HRRZ	MBASE,JOBUUO
1)	11500		MOVE	T,(MBASE)	;(A+BI)/(C+DI)=
****
2)11		LDB	ACBASE,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACBASE,1	;AC OR MEMORY
2)		SKIPA	RESULT,ACBASE
2)		HRRZ	RESULT,.JBUUO
2)		HRRZ	MBASE,.JBUUO
2)		MOVE	T,(MBASE)	;(A+BI)/(C+DI)=
**************
1)11	14200		LDB	ACAC,[POINT 4,JOBUUO,^D12]
1)	14300		TRZN	ACAC,1		;SET AC, DESTINATION
1)	14400		SKIPA	MAC,ACAC
1)	14500		HRRZ	MAC,JOBUUO	;AC OR MEMORY
1)	14600		HRLI	ACAC,(MAC)	;SAVE DESTINATION
1)	14700		HRRZ	MAC,JOBUUO
1)	14800		CAIG	MAC,17		;MEMORY IS SAVED
****
2)11		LDB	ACAC,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACAC,1		;SET AC, DESTINATION
2)		SKIPA	MAC,ACAC
2)		HRRZ	MAC,.JBUUO	;AC OR MEMORY
2)		HRLI	ACAC,(MAC)	;SAVE DESTINATION
2)		HRRZ	MAC,.JBUUO
2)		CAIG	MAC,17		;MEMORY IS SAVED
**************
1)11	18300		LDB	ACAC,[POINT 4,JOBUUO,^D12]
1)	18400		TRZN	ACAC,1		;SET AC, DESTINATION
1)	18500		SKIPA	MAC,ACAC
1)	18600		HRRZ	MAC,JOBUUO	;AC OR MEMORY
1)	18700		HRLI	ACAC,(MAC)	;SAVE DESTINATION
1)	18800		HRRZ	MAC,JOBUUO
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

1)	18900		CAIG	MAC,17		;SAVED MEMORY
****
2)11		LDB	ACAC,[POINT 4,.JBUUO,^D12]
2)		TRZN	ACAC,1		;SET AC, DESTINATION
2)		SKIPA	MAC,ACAC
2)		HRRZ	MAC,.JBUUO	;AC OR MEMORY
2)		HRLI	ACAC,(MAC)	;SAVE DESTINATION
2)		HRRZ	MAC,.JBUUO
2)		CAIG	MAC,17		;SAVED MEMORY
**************
1)11	23100	%FIX:	MOVM	A+1,@JOBUUO	;GET MAGNITUDE OF NUMBER
1)	23200		CAMG	A+1,[200777777777]	;IS < 1.0
****
2)11	%FIX:	MOVM	A+1,@.JBUUO	;GET MAGNITUDE OF NUMBER
2)		CAMG	A+1,[200777777777]	;IS < 1.0
**************
1)11	23900	FIXSTO:	EXCH	A+1,@JOBUUO	;STORE NUMBER
1)	24000		JUMPGE	A+1,%XUUO	;IF ORIGINAL WAS NEGATIVE,
1)	24100		MOVNS	@JOBUUO		; NEGATE ANSWER
1)	24200		JRST	%XUUO		;EXIT
1)	24300	FIXZER:	SETZM	@JOBUUO		;FORCE ZERO ANSWER
1)	24400		JRST	%XUUO		;EXIT
****
2)11	FIXSTO:	EXCH	A+1,@.JBUUO	;STORE NUMBER
2)		JUMPGE	A+1,%XUUO	;IF ORIGINAL WAS NEGATIVE,
2)		MOVNS	@.JBUUO		; NEGATE ANSWER
2)		JRST	%XUUO		;EXIT
2)	FIXZER:	SETZM	@.JBUUO		;FORCE ZERO ANSWER
2)		JRST	%XUUO		;EXIT
**************
1)11	24800	%FLOAT:	MOVM	A,@JOBUUO	;GET MAGNITUDE OF NUMBER
1)	24900		JUMPE	A,%XUUO		;ZERO, QUIT
****
2)11	%FLOAT:	MOVM	A,@.JBUUO	;GET MAGNITUDE OF NUMBER
2)		JUMPE	A,%XUUO		;ZERO, QUIT
**************
1)11	25500		EXCH	A+1,@JOBUUO	;STORE
1)	25600		JUMPGE	A+1,%XUUO	;IF ORIGINAL WAS NEGATIVE,
1)	25700		MOVNS	@JOBUUO		; NEGATE ANSWER
1)	25800		JRST	%XUUO		;EXIT
1)	26000	%DFIX:	HRRZ	MBASE,JOBUUO	;GET ADDRESS
1)	26100		MOVM	A+1,(MBASE)	;LOOK AT FIRST WORD
****
2)11		EXCH	A+1,@.JBUUO	;STORE
2)		JUMPGE	A+1,%XUUO	;IF ORIGINAL WAS NEGATIVE,
2)		MOVNS	@.JBUUO		; NEGATE ANSWER
2)		JRST	%XUUO		;EXIT
2)	%DFIX:	HRRZ	MBASE,.JBUUO	;GET ADDRESS
2)		MOVM	A+1,(MBASE)	;LOOK AT FIRST WORD
**************
1)11	27600	%DFLOT:	HRRZ	MBASE,JOBUUO	;GET ADDRESS
1)	27700		SETZM	1(MBASE)	;POSSIBLE ZERO RESULT
****
2)11	%DFLOT:	HRRZ	MBASE,.JBUUO	;GET ADDRESS
2)		SETZM	1(MBASE)	;POSSIBLE ZERO RESULT
**************
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

1)12	00700		EXTERN	JOBUUO,%XUUO,%UUO,%ERROR,%ERRNM
1)	00800		%P=	17
****
2)12		EXTERN	%XUUO,%UUO,%ERROR,%ERRNM
2)		EXTERN	.JBUUO
2)		%P=	17
**************
1)12	02100	SETUP:	LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	02200		TRZE	TEMP,1		;OPERANDS IN REVERSE ORDER?
****
2)12	SETUP:	LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		TRZE	TEMP,1		;OPERANDS IN REVERSE ORDER?
**************
1)12	02800		HRRZ	TEMP,JOBUUO
1)	02900		MOVE	BYTEP2,(TEMP)	;GET STRING DV AT ADDRESS
****
2)12		HRRZ	TEMP,.JBUUO
2)		MOVE	BYTEP2,(TEMP)	;GET STRING DV AT ADDRESS
**************
1)12	03800		HRRZ	TEMP,JOBUUO
1)	03900		MOVE	BYTEP1,(TEMP)	;GET STRING DV AT ADDRESS
****
2)12		HRRZ	TEMP,.JBUUO
2)		MOVE	BYTEP1,(TEMP)	;GET STRING DV AT ADDRESS
**************
1)12	20800	%IS:	LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	20900		MOVE	TEMP,(TEMP)	;GET RECORD DESCRIPTOR
****
2)12	%IS:	LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		MOVE	TEMP,(TEMP)	;GET RECORD DESCRIPTOR
**************
1)12	21200		CAIN	TEMP,@JOBUUO	;IF SAME AS ASKED RECORD,
1)	21300		JRST	RECDIS		; SHORT CUT CHECK
1)	21400		HRRZ	TEMP,(TEMP)	;GET NAME ADDRESS
1)	21500		HRRZ	LEN1,@JOBUUO
1)	21600		MOVE	CHAR,(TEMP)	;GET A WORD OF NAME
****
2)12		CAIN	TEMP,@.JBUUO	;IF SAME AS ASKED RECORD,
2)		JRST	RECDIS		; SHORT CUT CHECK
2)		HRRZ	TEMP,(TEMP)	;GET NAME ADDRESS
2)		HRRZ	LEN1,@.JBUUO
2)		MOVE	CHAR,(TEMP)	;GET A WORD OF NAME
**************
1)12	22500	%SUBST:	HRRZ	TEMP,JOBUUO	;GET DV
1)	22600		MOVE	BYTEP1,(TEMP)
1)	22700		MOVS	LEN1,1(TEMP)	;SWAPPED LENGTH
1)	22800		LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	22900		TRZN	TEMP,1
****
2)12	%SUBST:	HRRZ	TEMP,.JBUUO	;GET DV
2)		MOVE	BYTEP1,(TEMP)
2)		MOVS	LEN1,1(TEMP)	;SWAPPED LENGTH
2)		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		TRZN	TEMP,1
**************
1)12	25100		LDB	TEMP,[POINT 4,JOBUUO,^D12]
File 1)	DSK:ALGLIB.OLD[4,366]	created: 1900 14-Nov-1973
File 2)	DSK:ALGLIB.MAC[4,366]	created: 1456 24-Jun-1980

1)	25200		ANDI	TEMP,16
****
2)12		LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		ANDI	TEMP,16
**************
1)12	28700	%SUBSC:	LDB	TEMP,[POINT 4,JOBUUO,^D12]
1)	28800		HRRZ	LEN1,JOBUUO	;SUBSCRIPT CHECKING
1)	28900		MOVE	LEN2,1(TEMP)	;GET SUBSCRIPT
****
2)12	%SUBSC:	LDB	TEMP,[POINT 4,.JBUUO,^D12]
2)		HRRZ	LEN1,.JBUUO	;SUBSCRIPT CHECKING
2)		MOVE	LEN2,1(TEMP)	;GET SUBSCRIPT
**************