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 / SAL80.TXT < prev    next >
Internet Message Format  |  2009-12-11  |  7KB

  1. From: "arobase, Salle multimΘdia" <arobase1.rochef...@wanadoo.fr>
  2. Newsgroups: comp.os.cpm
  3. Subject: Wanted: SAL/80 "Compiler"
  4. Date: Tue, 24 Jul 2001 11:49:41 +0200
  5. Organization: Wanadoo, l'internet avec France Telecom
  6. Lines: 166
  7. Message-ID: <9jjsav$dlj$1@wanadoo.fr>
  8. NNTP-Posting-Host: apoitiers-102-2-1-54.abo.wanadoo.fr
  9. X-Trace: wanadoo.fr 995980447 14003 193.253.213.54 (24 Jul 2001 13:14:07 GMT)
  10. X-Complaints-To: abuse@wanadoo.fr
  11. NNTP-Posting-Date: 24 Jul 2001 13:14:07 GMT
  12. X-Priority: 3
  13. X-MSMail-Priority: Normal
  14. X-Newsreader: Microsoft Outlook Express 5.00.2314.1300
  15. X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
  16.  
  17. I would like to get the following 235 pages manual
  18. of the SAL/80 "compiler".
  19.  
  20. (Steve, do you understand now why I am so much
  21. interested in this "thing", and why I have been trying
  22. to get it for the last 10 years?... Do your best to
  23. find it!)
  24.  
  25. Yours Sincerely,
  26. "French Luser"
  27.  
  28. SAL80.TXT
  29. ---------
  30.  
  31. (Retyped by Emmanuel Roche.)
  32.  
  33. "Letters to the Editor", page 118,
  34. in "Microsystems", Vol.5, No.5, May 1984
  35.  
  36.  
  37. Dear Mr.,
  38.  
  39. I'd like a chance to respond to Mike Barker's review of our SAL/80 package
  40. (March 1984). First, I should say that we HAVE changed the license contract
  41. to
  42. state EXPLICITLY that no royalties are required on programs written with the
  43. SAL/80 compiler package. We had assumed that such a statement would be
  44. redundant, SINCE THERE IS NO RUNTIME PACKAGE TO CHARGE ROYALTIES ON! But the
  45. fact that the question has arisen shows that assumption to have been in
  46. error.
  47.  
  48. I really do not want to write one of those endless line-by-line rebuttals of
  49. all those points upon which I take issue with the reviewer. On the other
  50. hand,
  51. since more than 800 readers of MICROSYSTEMS have requested information about
  52. SAL/80 either by letter, phone or bingo card, here is some more information
  53. about the package.
  54.  
  55. "SAL/80 is a package of macros that claims to be a compiler implementing a
  56. new
  57. language of the same name." A more accurate description would be that it
  58. converts the DRI macro assemblers into STRUCTURED macro assemblers. It is
  59. sometimes convenient to refer to this combination as a compiler.
  60.  
  61. What distinguishes SAL/80 from other structured assemblers is the size and
  62. scope of the package. Where other structured assemblers are content to
  63. provide
  64. an IF-ELSE and one or two LOOP constructs, SAL/80 also provides a
  65. SELECT/CASE,
  66. five flavors of LOOP, a fairly complete set of console I/O primitives, and
  67. OPTIMIZES the test/branch code emitted by the control-statements. This
  68. optimization means a saving of two (Z-80) or three (8080) bytes in about a
  69. third of the branches generated.
  70.  
  71. The manual is large (235 pages), and considerable effort has been expended
  72. to
  73. make the contents accessible as a reference. In addition to the 3-page table
  74. of contents, there is a 5 1/2-page subject index. The compiler source (which
  75. is given in Appendix A) has its own table of contents and index.
  76.  
  77. Chapter 1 (45 pages) covers the syntax and semantics of the various
  78. constructs
  79. of the "language", with flow-charts and hints on how to use each directive.
  80. There are cross-references to other sections of the manual and to the DRI
  81. MAC/RMAC manual.
  82.  
  83. Chapter 2 (31 pages) is a tutorial on SAL/80 in the design and coding of
  84. well-structured modular programs. A "worked" example is given in the form of
  85. an elaborate memory-test program, with "snapshots" of portions of the code
  86. at
  87. various stages of completion.
  88.  
  89. Chapter 3 (50 pages) consists of the complete listing of the "worked"
  90. example
  91. in its final form. There are about 1,150 lines of SAL/80 code set off by
  92. enough white space and comments to expand it to about 2,000 lines in all.
  93. The
  94. code is very readable, and anyone undertaking to learn SAL/80 would be
  95. well-advised to spend some time with this chapter.
  96.  
  97. Chapter 4 is seven pages of tips on how not to get mugged by the various
  98. snares and pitfalls of the SAL/80 package and/or the DRI macro assemblers.
  99.  
  100. Appendix A is the compiler source (70 pages), and, quite aside from the
  101. actual
  102. utility value of the program it represents, is an interesting example of
  103. what
  104. can be done with the macro facilities of MAC and RMAC.
  105.  
  106. Appendix B covers the error messages (generated by SAL/80) by showing what
  107. will actually appear on the screen, and explaining its significance.
  108.  
  109. Appendix C is a summary of the SAL/80 commands, with the formal syntax and
  110. cross-references to both the pertinent text in Chapter 1 as well as to the
  111. implementing source code in Appendix A.
  112.  
  113. programs in SAL/80 are written by starting with a template that outlines the
  114. "generic" shape of the program, and may be altered to suit the taste of the
  115. individual. This consists largely of commented-out pre-declarations and
  116. MACLIB
  117. statements. Almost all data structuring and manipulation is done as one is
  118. accustomed to do in ordinary assembly-level programming, but all of the
  119. CONTROL structuring (test/branch code) is accomplished by using the SAL/80
  120. control statements.
  121.  
  122. These control statements work almost precisely as do the corresponding
  123. statements in Pascal or C, with IF-ENDIF, IF-ELSE-ENDELSE and
  124. SELECT-CASE-ENDSELECT providing most of the forward branching, and the
  125. several
  126. loop statements generating the backward branches. The loop structures
  127. include
  128. the NON-INDEXED loops WHILE-ENDWHILE (test/exit at the top),
  129. REPEAT-ENDREPEAT
  130. (test/exit at the bottom) and LOOP-UNTIL-ENDLOOP (test/exit in the middle),
  131. as
  132. well as the INDEXED loops FOR-UNTIL-STEP-ENDFOR (test/exit anywhere) and
  133. DO-ENDDO (test/exit at the bottom).
  134.  
  135. The "utility" macros are primarily concerned with console I/O, although
  136. there
  137. are some string operations (search and compare) and some 8- by 16-bit
  138. multiply
  139. and divide routines. The console I/O primitives reduce by an order of
  140. magnitude the number of keystrokes required, as compared with that of
  141. "naked"
  142. assembler.
  143.  
  144. A program of 100 lines (exclusive of comments or white space) will compile
  145. in
  146. about one minute on a 6 MHz machine using 8" disks. Although this is rather
  147. slow, programmers experienced in the use of the package have found that the
  148. overall reduction in development time is great enough to make this
  149. acceptable.
  150.  
  151. We, at PROTOOLS, expect that the next version (3.0) will be a separate,
  152. native
  153. code preprocessor compatible with other assemblers, will support Zilog as
  154. well
  155. as Intel mnemonics, and should run two to four times faster. In the
  156. meantime,
  157. the price of $59 (which includes a free update to version 3.0 when
  158. available,
  159. later this year) is intended to compensate for the slowness of compilation.
  160. A
  161. SAL/86 for the IBM PC will be offered for $99 at the same time.
  162.  
  163. As to ease of use, the point can be argued either way: If you program in
  164. assembler only on rare occasions, say, one 80-line device driver a year,
  165. then
  166. it's probably not worth the effort to learn to use the package. If you
  167. program
  168. in assembler on a continuing basis or write large programs, then any
  169. structured assembler you use will repay the effort many times over. For a
  170. review of SAL/80 written by a user, see the February 1984 issue of Dr Dobb's
  171. Journal.
  172.  
  173. Steve Newberry
  174. PROTOOLS
  175. 24225 Summerhill Avenue
  176. Los Altos, CA 94022
  177.  
  178.  
  179. EOF
  180.