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
**************