home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / DRI-archive / roche / lllfp_update.txt < prev    next >
Text File  |  2009-12-11  |  21KB  |  605 lines

  1. Lawrence Livermore Lab "floating point package for 8080" updates
  2. This document last updated Oct 18 2006 Herb Johnson
  3. can be found as: http://retrotechnology.com/roche/lllfp_update.txt
  4.  
  5. Background:
  6. -----------
  7.  
  8. Sometime in Sept 2006, someone posted in comp.os.cpm that they were interested
  9. in 8080 assembler code for floating point arithmetic. "French Luser" took an
  10. interest and found a printed copy of the Lawrence Livermore Lab "floating point
  11. package", and endeavored to recreate an ASM file from it. He became more interested
  12. in his METHODS of recovering source code from printed listings, than in the resulting actual code. Discussion occurred accordingly.
  13.  
  14. French Luser wrote:
  15. > (Charles "Restless" Richmond triumphally announced, while  I was
  16. > busy recreating the source code of LLLPPP, that he had found the
  17. > source code  of LLLPPP.   Unfortunately, a  comparaison of  both
  18. > files  show  that  the  one he  found (in  the Volume  2 of  the
  19. > Software Library of the CP/M User's Group, containing the source
  20. > code of LLLBASIC) is, in fact, 59 bytes  shorter --   the square
  21. > root routine is missing. If you prefer octal, use it.)
  22.  
  23. Roche has not posted his regenerated source listing, or the
  24. square root routine. But in mid-OCt 2006, he provided his source to me
  25. (see below).
  26.  
  27. At this point, there are THREE Web-accessable
  28. versions of the Lawrence Livermore Labs floating point package; and one 
  29. version provided privately by Roche:
  30.  
  31. 1) http://www.retroarchive.org/cpm/cdrom/SIMTEL/CPMUG/CPMUG002.ARK
  32.  
  33. I'll call this the "CPMUG02 file". It contains the LLL floating point code,
  34. a LLL Tiny BASIC, and a Star Trek in that BASIC.
  35.  
  36. 2) PDF of LLNL document listing and describing that file at:
  37.  
  38. http://www.llnl.gov/tid/lof/documents/pdf/171286.pdf
  39.  
  40. as UCRL-51940, "Floating-Point Package for Intel 8008 and 8080 Microprocessors"
  41.    by Michael D. Maples
  42.    Lawrence Livermore Laboratory,
  43.    University of California/Livermore, California 94550,
  44.    October 24, 1975
  45.  
  46. I'll call this "LLNL listing" or "LLNL document".
  47.  
  48. 3) http://www.retroarchive.org/cpm/cdrom/SIMTEL/CPMUG/CPMUG010.ARK
  49.  
  50. I'll call this the "CPMUG10 file". It contains the LLL floating point code,
  51. a LLL Tiny BASIC, and a monitor. It's described as an update to the version
  52. in CPMUG02. Thanks to "Bill" for posting in comp.os.cpm that this was available.
  53.  
  54. On or about Sept 28th, I took time  to compare CPMUG02 version and the LLNL document
  55. in a rough fashion. I found that the LLNL listing included the square root routine; the CPMUG02 file did not. But there are OTHER differences between the two, but I don't
  56. have time to make exhaustive checks. ON OCt 2nd, I made a rough check between the
  57. CPMUG02 and CPMUG10 versions of the FP software. 
  58.  
  59. 4) The file LLLFPODT.ASM from Roche, his version of the LLNL listing with the
  60. square root routine added and other changes not described to me.
  61.  
  62. So I've created the following files on my Web site:
  63.  
  64. 1) http://retrotechnology.com/roche/lllfp_update.txt
  65.  
  66. (If you are reading this online, THIS is the "update" document.)
  67. That's the differences I found so far. It includes the lost SQRT
  68. routine from the LLNL document; and differences between the PDF, CPMUG02
  69. and CPMUG10 floating point files.
  70.  
  71. 2) http://retrotechnology.com/roche/LLLFP02.ASM
  72.  
  73. That's the LLLFP.ASM file extracted from the CPMUG #2 archive as referenced
  74. above. NO CHANGES, AS ORIGINAL.
  75.  
  76. 3) http://retrotechnology.com/roche/lllfp_roche.txt
  77.  
  78. This is Emmanuel Roche (AKA French Luser)'s transscript of the contents
  79. of the LLNL document, less the source code. Thanks to Mr Roche for transcribing
  80. it. 
  81.  
  82. 4) http://retrotechnology.com/roche/LLLFP10.ASM
  83.  
  84. That's the LLLFP.ASM file extracted from the CPMUG #10 archive as referenced
  85. above. NO CHANGES, AS ORIGINAL.
  86.  
  87. 5) http://retrotechnology.com/roche/LLLBASIC10.DOC
  88.  
  89. That's the LLLBASIC.DOC file extracted from the CPMUG #10 archive as referenced
  90. above. NO CHANGES, AS ORIGINAL. It describes the relationship between the BASIC
  91. package, the FP package and the changes from CPMUG02.
  92.  
  93. 6) http://retrotechnology.com/roche/lllfp_roche.asm
  94.  
  95. That's Emmanuel Roche's file he calls "LLLFPODT.ASM". This is his version of the
  96. LLNL floating point code as he has typed in and edited, with square root routine
  97. included, possibly other changes.
  98.  
  99. Anyone wants to determine other differences besides the ones I noted,
  100. can email them to me, at "hjohnson@retrotechnology.com". I'll update this
  101. "update" document
  102. accordingly. Emmanuel Roche AKA French Luser can look at the update and
  103. check his work as well.
  104.  
  105. Someone else MIGHT want to scour the Web and other CPMUG archives, to
  106. see if other "updates" were issued to this #2 disk to at the least include
  107. the square root routine, and/or other items. (Thanks to "Bill" for finding
  108. the CPMUG010 update.) Also, someone might read the other LLNL files and 
  109. docs in the CPMUG disks, see what is needed from them to use the
  110. FP package seperately.  Sorry I don't have time for more work. But as a courtesy,
  111. if asked I'll ZIP the two CPMUG archives and email them to anyone who wants to WORK 
  112. on them. (otherwise you can find an unARK program and extract them yourself.)
  113.  
  114. Herb Johnson
  115. Oct 18 2006
  116.  
  117. -----------------------------------------------
  118.  
  119. Herb Johnson, Oct 2 2006
  120.  
  121. Comparison of CPMUG002 LLNL floating point code vs CPMUG010 LLNL floating point code 
  122. ---------------------------------------------------------------------------
  123.  
  124.  
  125. This is a comparison of CPMUG002 file of LLL floating point code obtained as .ARK file from:
  126.  
  127. http://www.retroarchive.org/cpm/cdrom/SIMTEL/CPMUG/CPMUG002.ARK 
  128.  
  129. Referenced below as "CPMUG02 file";
  130.  
  131. Versus CPMUG010 file of LLL floating point code obtained as .ARK file from:
  132.  
  133. http://www.retroarchive.org/cpm/cdrom/SIMTEL/CPMUG/CPMUG010.ARK 
  134.  
  135. Referenced below as "CPMUG10 file".
  136.  
  137. 1) The text heading of both files are the same, in terms of dates and changes
  138. listed and names. The first "org", ORG 110000Q from the CPMUG002 code, is commented out in the CPMUG010 code. Before and after that ORG in the CPMUG010 code are tables, as follows below. The "euates for relocated packages" are new in CPMUG010, as is the "CPM EQU 5". The 
  139. commented out equates in CPMUG010 as below are originally in use in CPMUG002. MINCH and MAXCH  are in use in both files.
  140.  
  141. [snip, code above common to both CPMUG02 and CPMUG10]
  142. ;       ////OTHER CHANGES ARE NOTED BY **
  143. ;        ////MODIFIED BY FRANK OLKEN 6/28/75
  144.  ;
  145.  ;
  146. [following code from CPMUG010]
  147. ;###S
  148. ;    EQUATES FOR RELOCATED PACKAGES
  149.     ORG    10DDH
  150. INTERP:    EQU    0100H
  151. FPTBL:    EQU    1774H
  152. IOJUMP:    EQU    1900H
  153. CONIN:    EQU    IOJUMP+4
  154. STATUS:    EQU    IOJUMP+0AH
  155. INP:    EQU    FPTBL+33H
  156. OUTR:    EQU    FPTBL+36H
  157. OUTL:    EQU    INTERP+7D9H
  158. INL:    EQU    INTERP+996H
  159. ;         ORG 110000Q
  160.  ;
  161. CPM:    EQU    5
  162. ;CONIN     EQU    404Q        ; JMP TABLE LOCATION OF CONSOLE INP.
  163. ;STATUS    EQU    412Q        ; JMP TABLE LOC. FOR STATUS PORT INPUT
  164. ;OUTR      EQU    113775Q            ;LINK TO BASIC
  165. ;OUTL      EQU    103726Q
  166. ;INL       EQU    104623Q
  167. ;INP       EQU    113772Q            ;LINK TO BASIC
  168. ;###E
  169. [code the same in both afterward]
  170. MINCH     EQU    300Q        ;MINIMUM CHARACTERISTIC WITH SIGN EXTENDED
  171. MAXCH     EQU    077Q        ;MAXIMUM CHARACTERISTIC WITH SIGN EXTENDED
  172.  ;
  173.  ;
  174.  ;******************************************************
  175.  ;       //// DIVIDE SUBROUTINE
  176.  ;******************************************************
  177.  ;
  178. [end of snip]
  179.  
  180. 2) Most of the code appears to be unchanged between CPMUG02 and CPMUG10. This was ROUGHLY determined by visual examination to look for an added or deleted line of code.
  181. Neither file has the square root routine from the LLNL PDF listing.
  182.  
  183. 3) At the end of the both sets of code there is a JMP table, "linkages
  184. to Floating Point Routines". In the CPMUG010 code, the ORG is 1774H; the
  185. previous ORG of 113707Q is commented out.
  186.  
  187.  
  188. ------------------------------------------
  189.  
  190. Herb Johnson, Sept 29-30 2006
  191.  
  192. Comparison of CPMUG002 LLNL floating point code vs PDF copy of LLNL document of
  193. code.
  194. ---------------------------------------------------------------------------
  195.  
  196.  
  197. This is a comparison of CPMUG002 file of LLL floating point code obtained as .ARK file from:
  198.  
  199. http://www.retroarchive.org/cpm/cdrom/SIMTEL/CPMUG/CPMUG002.ARK 
  200.  
  201. Referenced below as "CPMUG02 file";
  202.  
  203. Versus PDF of LLNL document listing and describing that file at:
  204.  
  205. http://www.llnl.gov/tid/lof/documents/pdf/171286.pdf 
  206.  
  207. as UCRL-51940, Floating Point Package for 8008 and 8080...
  208. Michael D Maples Oct 24 1975. Referenced below as "LLNL listing".
  209.  
  210. 1) SQRT routing missing from CPMUG02 file
  211. -----------------------------------------
  212.  
  213. From the source listing in the LLNL document, there is in that document
  214. the listing for the square root subroutine which is NOT in the
  215. CPMUG002 archive of that program. Placement of the DSQRT routine in
  216. the CPMUG02 ASM file is as follows:
  217.  
  218. [snip of CPMUG02 file]
  219.  ;                       SUBROUTINE BCTL
  220.  ;                       MOVES BPTR CHAR TO LPTR CHAR
  221.  ;                       DESTROYSE
  222.  BCTL:   MOV E,L           ;LPTR TO E
  223.          MOV L,B           ;BPTR TO L
  224.          INR L             ;BPTR \2
  225.          INR L             ;/***TP
  226.          INR L             ;TO L
  227.          MOV A,M           ;BPTR CHAR TO A
  228.          MOV L,E           ;LPTR TO L
  229.          INR L             ;LPTR \2
  230.          INR L             ;TO L
  231.          INR L             ;/***TP
  232.          MOV M,A           ;STORE BPTR CHAR IN LPTR CHAR
  233.          MOV L,E           ;LPTR TO L
  234.          RET
  235.  
  236. **********square root routine DSQRT goes here ******************
  237.  
  238.  
  239.  ;
  240.  ;******************************************************
  241.  ;       //// 5 DIGIT FLOATING PT. OUTPUT
  242.  ;******************************************************
  243.  ;
  244.  
  245. [snip of CPMUG02 file]
  246.  
  247.  
  248. The square root routine as typed from the LLL document is as follows:
  249.  
  250. ;
  251. ;******************************************************
  252. ;       ///SQUARE ROOT
  253. ;          ***************
  254. ;       THE L REG PTS TO THE    TO BE
  255. ;       OPERATED ON.
  256. ;       THE B REG PTS TO THE LOC WHERE
  257. ;       THE RESULT IS TO BE STORED
  258. ;       THE C REG PTS TO 17(10) SCRATCH 
  259. ;       AREA.
  260. ;       WHERE:
  261. ;       C = INTERATION COUNT
  262. ;       C+1 = L REG
  263. ;       C+2 = B REG
  264. ;       C+3 TO C+6 = INTRL REG 1
  265. ;       C+7 TO C+10 = INTRL REG 2
  266. ;       C+11 TO C+14 = INTRL REG 3
  267. ;       C15 = 
  268. ;******************************************************
  269. DSQRT:    MOV A,L            ;STORE L IN
  270.     MOV L,C            ;2ND WRD SCRTCH
  271.     MVI M,0            ;INITIALIZE ITER COUNT
  272.     INR L
  273.     MOV M,A
  274.     INR L            ;STR B IN 3RD
  275.     MOV M,B            ;WRD OF SCRTCH
  276.     INR L            ;SET C TO INTRL
  277.     MOV C,L            ;REG I
  278.     MOV L,A            ; SET L PRT AT
  279.     MOV A,H            ;SET REGS FOR COPY
  280.     CALL COPY        ; CPY TC INTRL REG1
  281.     CALL GCHR        ;PUT CHR IN A
  282.     MOV B,A            ;MAKE COPY
  283.     ANI 200Q        ;OK NEG
  284.     JNZ ERSQ
  285.     MOV A,B
  286.     ANI 100Q        ;OK NEG EXP
  287.     MOV A,B
  288.     JZ EPOS
  289.     RAR            ;DIV BY 2
  290.     ANI 177Q
  291.     ORI 100Q        ;SET SIGN BIT
  292.     MOV M,A            ;SAVE 1ST APPROX
  293.     JMP AGN4
  294. EPOS:    RAR            ;DIV BY 2
  295.     ANI 177Q
  296.     MOV M,A            ;SAVE IST APPROX
  297. AGN4:    MOV L,C            ;SET REGS
  298.     MOV A,C            ;TO COPY 1ST
  299.     ADI 4            ;APPROX
  300.     MOV C,A            ;INTOO INTRL REG 2
  301.     MOV A,H            ;FRM INTRL REG1
  302.     CALL COPY
  303.     MOV A,C
  304.     SUI 4            ;MULTIPLY INTRL REG 1
  305.     MOV L,A
  306.     MOV B,C            ;TIME INTRL REG2
  307.     ADI 10Q            ;PLASE RESULT IN
  308.     MOV C,A            ;INMTRL REG 3
  309.     CALL LMUL
  310.     MOV A,C
  311.     SUI 10Q            ;COPY ORG INTO
  312.     MOV C,A            ;INTRL REG 1
  313.     SUI 2
  314.     MOV L,A
  315.     MOV L,M
  316.     MOV A,H
  317.     CALL COPY
  318.     MOV A,C
  319.     ADI 10Q            ;ADD INTRL
  320.     MOV L,A            ;REG3 OT
  321.     MOV B,C            ;INTRL REG1
  322.     ADI 4            ;ANS TO INTRL
  323.     MOV C,A            ;REG3
  324.     CALL LADD
  325.     MOV A,L
  326.     SUI 4            ;DIV INTRL REG 3
  327.     MOV B,A            ;BY INTRL REG 2
  328.     SUI 4            ;PUT ANSR IN INTRL
  329.     MOV c,A            ;REG1
  330.     CALL LDIV
  331.     CALL GCHR
  332.     SUI 1
  333.     ANI 177Q
  334.     MOV M,A
  335.     MOV A,C
  336.     SUI 3            ;C PTS TO INTRL REG 1
  337.     MOV L,A            ;GET INTR
  338.     MOV B,M            ;COUNT NOW INCR
  339.     INR B
  340.     MOV M,B
  341.     MOV A,B
  342.     CPI 5            ;IF = 5 RTN ANS
  343.     JNZ AGN4        ;OTERHWISE CONT
  344.     MOV L,C
  345. ALDN:    DCR L            ;COPY ANS INTO
  346.     MOV C,M            ;LOC REQUESTED
  347.     INR L
  348.     MOV A,H
  349.     CALL COPY
  350.     RET
  351. ERSQ:    MOV L,C
  352.     CALL WZER        ;WRITE A FLOATING ZERO
  353.     JMP ALDN
  354. ;
  355. ;
  356. ;
  357. [end]
  358.  
  359. 2) Other changes: noted with ****'s
  360. ------------------------------------------------
  361.  
  362. a) an added call to CVRT in LLNL listing:
  363.  
  364. [snip of CPMUG02 file]
  365. CVRT:     CALL   ZCHK             ;CHECK FOR NEW ZERO
  366.           JNZ    NNZRO            ;NOT ZERO
  367.           INR    C                ;IT WAS, OFFSET C BY 2
  368.           INR    C
  369.           MOV    L,C
  370.           CALL   WZER             ;WRITE ZERO
  371.     call sign        ;send space on pos zero (**** from LLNL listing)
  372.           INR    L                ;PNT TO DECIMAL EXPONENT
  373. [snip of CPMUG02 file]
  374.  
  375. [end]
  376.  
  377. b) The ERR program from the LLNL printed listing is;
  378.  
  379. ERR:    MVI a, 277Q        ;error in input
  380.     CALL OUTR        ;send a ?(space)
  381.     MVI A, 240Q
  382.     CALL OUTR        ;output space
  383.     JMP PRMT        ;go prompt user and restart
  384.  
  385.  
  386. versus the ERR from the LLL CPMUG02 file:
  387.  
  388. ERR:      STC                     ;ERROR FLAG
  389.           RET                     ;AND RETURN
  390.  
  391. [end]
  392.  
  393. c) an added operation to the end of SAVEN routine in CPMUG02 file
  394.  
  395. [snip of CPMUG02 file]
  396.  SAVEN:  MOV A,C           ;/PUT NUMBER IN (L)
  397.          ADI 15Q           ;/GET ADD OF L
  398.          MOV L,A
  399.          MOV E,M           ;/GET L OF RESULT
  400.          MOV L,E           ;/POINT L AT (L)
  401.          INR L             ;/SET TO 2ND WORD TO SAVE C
  402.          MOV M,C           ;/SAVE C IN (L) +1 SINCE IT WILL BE DESTROYED
  403.          MOV L,C           ;/SET UP TO CALL COPY
  404.          MOV C,E           ;/NOW L&C SET
  405.          MOV A,H           ;/RAM TO RAM COPY
  406.          CALL COPY         ;/COPY TO L
  407.          MOV C,A           ;/(L)+1 RETURNED HERE SO SET AS C
  408.           ORA    A                ;MAKE SURE CY=0 (NO ERROR) ***not in LLNL listing
  409.          RET               ;/NOW EVERYTHING HUNKY-DORRY
  410.  GETN:   MOV A,C           ;/GET DIGIT
  411. [snip of CPMUG02 file]
  412.  
  413. [end]
  414.  
  415. d) additional code in the CPMUG02 file which is NOT in the LLL PDF listing:
  416.  
  417. [snip of CPMUG02 file]
  418.  
  419.  ZROIT:  MOV L,C           ;/ZERO NUMBER
  420.          XRA A
  421.          MOV M,A           ;/***TP
  422.          INR L             ;/***TP
  423.          MOV M,A
  424.          INR L
  425.          MOV M,A
  426.          INR L             ;/NOW SET SIGN TO +
  427.          MOV M,A
  428.          RET               ;/DONE
  429. ;*** end of LLNL listing
  430. ;***code below not in LLL PDF listing
  431. ;***not referenced in any code above
  432. ; CONTAIN LOW BYTE OF TWO BYTE VALUE. RETURNS CY=1 IF
  433. ; BC>DE, CY=0 IF BC<DE: Z=1 IF BC=DE.
  434. DCOMP:    MOV    A,E
  435.           CMP    C
  436.           RNZ
  437.           MOV    A,D
  438.           CMP    B
  439.           RET
  440. ; ROUTINE TO INPUT CHAR FROM TTY
  441. CHAR2:    PUSH   B
  442.           CALL   CONIN            ;INPUT FROM ODT
  443.           MOV    A,B              ;GET CHAR TO A REG.
  444.           POP    B                ;RESTORE B,C
  445.           RET
  446. ; ROUTINE TO ADJUST VALUES OF BIN, FORWARD PNT. AND
  447. ; LINE LENGTH OF SOURCE LINE.  PASSED ADD OF TEMP VARIABLE
  448. ; CONTAINING ADD OF SOURCE LINE.
  449. PTVAL:    PUSH   PSW
  450.           PUSH   D
  451.           PUSH   H
  452.           MVI    A,002
  453.           MOV    E,M
  454.           INR    L
  455.           MOV    D,M
  456.           INR    L
  457.           PUSH   D
  458. N1:       XTHL
  459.           MOV    E,M
  460.           INX    H
  461.           MOV    D,M
  462.           INX    H
  463.           XTHL
  464.           MOV    M,E
  465.           INR    L
  466.           MOV    M,D
  467.           INR    L
  468.           DCR    A
  469.           JNZ    N1
  470.           XTHL
  471.           MOV    D,M
  472.           POP    H
  473.           MOV    M,D
  474.           POP    H
  475.           POP    D
  476.           POP    PSW
  477.           RET
  478. ; ROUTINE TO CHK FLAGS ON INPUT AND OUTPUT.
  479. ; PASSED FLAG VALUE IN REG B.
  480. MCHK:     PUSH   PSW
  481. MCHK1:    CALL   STATUS
  482.           ANA    B
  483.           JZ     MCHK1
  484.           POP    PSW
  485.           RET
  486. ; MULTIPLICATION ROUTINE (ADD. VALUES)
  487. MULT:     MOV    E,M
  488.           DCX    H
  489.           MOV    D,M
  490.           MVI    M,11H
  491.           MVI    B,0
  492.           MOV    C,B
  493. TOP:      MOV    A,E
  494.           RAR
  495.           MOV    E,A
  496.           MOV    A,D
  497.           RAR
  498.           DCR    M
  499.           MOV    D,A
  500.           RZ
  501.           JNC    SHIFT
  502.           DCX    H
  503.           DCX    H
  504.           MOV    A,B
  505.           ADD    M
  506.           MOV    B,A
  507.           INX    H
  508.           MOV    A,C
  509.           ADC    M
  510.           MOV    C,A
  511.           INX    H
  512. SHIFT:    MOV    A,C
  513.           RAR
  514.           MOV    C,A
  515.           MOV    A,B
  516.           RAR
  517.           MOV    B,A
  518.           JMP    TOP
  519. ;LINKAGES TO FLOATING POINT ROUTINES
  520.           ORG    113707Q
  521.           JMP    NORM
  522.           JMP    FLOAT
  523.           JMP    WZER
  524.           JMP    LADD
  525.           JMP    LMUL
  526.           JMP    LDIV
  527.           JMP    LSUB
  528.           JMP    DFXL
  529.           JMP    LMCM
  530.           JMP    COPY
  531.           JMP    CVRT
  532.           JMP    INPUT
  533.           JMP    MULT
  534.           JMP    PTVAL
  535.           JMP    DCOMP
  536.           JMP    MCHK
  537.           JMP    CHAR2
  538.           JMP    INL
  539.           JMP    OUTL
  540.           END
  541. [end]
  542.  
  543. Roche's symbol table from his version of LLNL floating point routines.
  544. ------------------------------------------------------------------------
  545.  
  546. last Sept 2006 from comp.os.cpm
  547.  
  548. Roche's symbol table for his assembly with SQRT included apparently matches
  549. the symbol table in the LLLFP document. Roche's table is below. THESE ARE RADIX
  550. OCTAL ADDRESSES! THis will not likely match the assembled source from the
  551. CPMUG002 file, even with the changes noted above.
  552.  
  553. Symbols:
  554. 005064  ABCH            005757  ACPR            007145  ADD1
  555. 004737  ADD2            004726  ADDZ            006306  AGN4
  556. 006421  ALDN            005741  AORS            007353  APLS
  557. 005075  BBCH            005342  BCHK            006215  BCTL
  558. 005042  BMIN            006104  CCHK            005533  CCMP
  559. 005514  CFCHE           005026  COM1            005050  COM2
  560. 007172  COPT            007210  COPY            004515  CRIN
  561. 006151  CSIGN           006161  CSTR            007151  CTWO
  562. 006440  CVRT            005406  DADD            005435  DCLR
  563. 005764  DCMP            007434  DECPT           005724  DECR
  564. 005316  DFXL            006703  DIGO            007114  DIVIT
  565. 005351  DLST            005370  DRST            006232  DSQRT
  566. 005446  DSUB            004422  DTST2           006020  ENT1
  567. 006012  ENT2            007645  EP1             006302  EPOS
  568. 004634  EQ02            007245  ERR             006431  ERSQ
  569. 007140  FINIT           007100  FINUP           005325  FLOAT
  570. 007653  FLTSGN          005263  FXL2            005501  GCHAR
  571. 007046  GCHR            007047  GETA            007107  GETEX
  572. 007677  GETN            007542  GNUM            004473  GOON
  573. 006556  GOTV            005666  INCR            005706  INCR2
  574. 005703  INCR3           005604  INDF1           005650  INDFC
  575. 007461  INEXP           000333  INP             006653  INPOP
  576. 007262  INPUT           007415  INT1            007365  INT5
  577. 005177  INTR            005106  L000            005110  L001
  578. 005037  L002            005113  L003            005116  L128
  579. 005121  L129            005124  L131            004534  LADD
  580. 004542  LADS            005002  LASD            006071  LDCP
  581. 004400  LDIV            004577  LLTB            005127  LMCM
  582. 006100  LMCP            005137  LMUL            007153  LOOP
  583. 006777  LSFT            004540  LSUB            006044  LXFR
  584. 005244  MADD            004757  MANT            000077  MAXCH
  585. 006611  MDGN            006627  MDSKP           000300  MINCH
  586. 007054  MORD            006171  MSFH            006727  MULTT
  587. 004604  NCHK            006470  NNZRO           005255  NORM
  588. 004652  NOT0            006525  NZRO            005566  OFLW1
  589. 006133  OFLWC           006622  OK1             000060  OUTR
  590. 006027  OVER            007042  PLSV            006650  POPD
  591. 007272  PRMT            004447  REP3            006046  REP5
  592. 005271  REP6            007657  SAVEN           007331  SCALE
  593. 005722  SCCFG           005313  SCHAR           004614  SH10
  594. 007031  SIGN            006123  STORC           004671  SUBZ
  595. 007241  TEN             007235  TEN5            007002  TLOOP
  596. 007003  TLP2            006574  TRY1            007570  TRYP
  597. 007405  TRYTN           006601  TST1            006541  TSTB
  598. 007314  TSTEX           007575  TSTN            005747  TSTR
  599. 007122  TWOD            005550  UFLW1           006142  UFLWC
  600. 007523  USEIT           005637  WCHAR           005577  WIND
  601. 005630  WMANT           005561  WOVR            005543  WUND
  602. 005615  WZER            005657  WZERC           005332  ZCHK
  603. 005332  ZMCHK           007705  ZROIT
  604.  
  605.