home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / SIMTEL20 / DOC / ZAS-SLR4.DOC < prev    next >
Text File  |  2000-06-30  |  10KB  |  188 lines

  1.     ZAS-SLR4.DOC by Richard Conn, 18 Sep 86
  2.  
  3.     This message is in response to Jay Sage's comments in his
  4. ZAS-SLR2.DOC file.
  5.  
  6.         MISLEADING COMMENTS (???) and ".IN"
  7.  
  8.     If Jay thinks my comments in MS/J were misleading, such is
  9. his right.  I don't think they were and have no problem with them.  They
  10. are true.  If you want to modify the libraries to work with another
  11. assembler, be it Z80ASM or RMAC or M80, such is possible since I gave out
  12. the source code.  If you want to assemble the libraries without modifying them,
  13. then use ZAS.  Regardless, you can USE the libraries with Z80ASM, M80, or ZAS
  14. without modification of the REL file.
  15.     The problem that Z80ASM is tripping over is the ".IN" pseudo-op
  16. (I know this from Jay's comments, not from experience).  Virtually every
  17. module of Z3LIB contains this pseudo-op in order to read in the ZCPR 3.3
  18. Constant Definition File, Z3CONST.LIB.  I chose ".IN" over MACLIB for several
  19. reasons:
  20.         A. (primary) the PDL tools I am writing key on ".IN"
  21. for include file processing (".IN" processing was somewhat simpler than
  22. "MACLIB" processing thanks to the leading dot)
  23.         B. in considering the aspects of the standard assembly
  24. language, I felt that there was no need to have two statements which
  25. performed the same function (ie, ".IN" and "MACLIB"), and ".IN" offers
  26. two advantages over MACLIB: (1) its form with the leading dot is
  27. usefully different for analysis purposes and (2) ".IN" is more meaningful,
  28. standing for INCLUDE, than MACLIB, particularly since all of the include
  29. files I use in the Z System contain no macros (I will probably suggest
  30. to Patrick that at least an option to name include files as "filename.IN"
  31. be incorporated into ZAS)
  32.         C. the PPAL tool (Pretty Printer for Assembly Language)
  33. has had a radical effect on my outlook re form and structure, and I can
  34. easily include an option in PPAL to automatically translate MACLIB
  35. pseudo-ops to .IN pseudo-ops; since I am running PPAL on all Z System
  36. libraries and tools, there is no extra work involved
  37.     Both ZAS and Z80ASM allow grouping by [], so there is no problem
  38. here, where M80 would have more problems.
  39.     Note that I am definitely using the ".IN" pseudo-op everywhere
  40. and that ZAS is currently the only assembler I am aware of that supports
  41. the Z System standard language (which is unique primarily by the use of
  42. ".IN" and [] for grouping) used by ZCPR 3.3 and all of its programs.
  43. My guess is that Z80ASM can be easily modified to add ".IN" which is
  44. equivalent to "MACLIB" (are you listening, SLR?).  Then we would have
  45. two implementations of the standard language (at least for a while).
  46.  
  47.         MORE ON THE STANDARD LANGUAGE
  48.  
  49.     Before all of this started, I submitted a request thru Echelon
  50. to modify ZAS in several ways, two of which are of particular interest:
  51.  
  52.         1) add an IFDEF and IFNDEF pseudo-op pair, which tests
  53. to see if a symbol is or is not defined
  54.  
  55.         2) add an option on the command line to define a symbol
  56. (I didn't care if you could also assign the defined symbol a value);
  57. the command line should look something like this (I didn't care what
  58. the exact syntax was):
  59.             ZAS filename Dsymbol
  60. in order to define the symbol "symbol".  It would be nice to be able to
  61. define more than one symbol, but not required.
  62.  
  63.     The power this provides is obvious: programs can be written which
  64. can be very easily customized in particular ways by defining symbols from
  65. the command line (shades of the C compiler's -D option).
  66.  
  67.     I was surprised (and pleased) to see IFDEF and IFNDEF pseudo-ops
  68. available in the Z80ASM language.  SLR did not include the define capability
  69. from the command line, however, and I mentioned it to them on the phone the
  70. other day.
  71.  
  72.  
  73.         JAY's TWO TECHNICAL ASIDES
  74.  
  75.     1. Yes, I have abandoned 8080 compatability.  The Echelon Team had
  76. a meeting in Silicon Valley in the later part of last year, and using ZAS
  77. as the standard language and abandoning the 8080 were two of the points
  78. decided upon.
  79.  
  80.     2. Yes, using DSEGs will decrease the size of library files.
  81. Note, however, my trend to use CODEND to dynamically allocate space
  82. when large buffers are needed.  For the most part, the size of the
  83. data areas in the library modules is quite small.  I will probably look
  84. into using DSEGs, particularly accessing their impact wrt using CODEND.
  85.  
  86.  
  87.         JAY's COMMENTS ON THE STANDARD
  88.  
  89.     I think Jay has really blown this out of proportion, partly due to
  90. his own ego and partly due to not reading what I said in my first rebuttal
  91. or not understanding what I said.
  92.  
  93.     The Z System standard language is a language, and a language can
  94. have many implementations.  ZAS is the only existing implementation, and
  95. Z80ASM could be with little effort on the part of SLR.  Ada now has 60
  96. implementations, all conforming to the Ada language standard defined in
  97. MIL-STD-1815A (in over 230 pages).
  98.  
  99.     Let me relate three stories from previous experience:
  100.  
  101.     1. Standards by committee are not necessarily good.  I worked on
  102. a government project once that had a fantastic amount of potential.  As
  103. more and more government agencies found out about it, they all wanted to
  104. put in their two cents, adding features that made it more suitable to
  105. their particular needs.  The budget for the design of the system was
  106. $20 million, but, after over a year of committee action and 10 ECPs
  107. (Engineering Change Proposals), the government had sunk over $35 million
  108. into the project and the design was not complete.  The project was
  109. scrapped.
  110.  
  111.     2. Standards by Committee can take a very, very long time.
  112. In my work in the Ada community, I have been involved as a
  113. member of the IEEE's Working Group on Ada as a Design Language.  This
  114. group developed a Recommended Practice on the use of Ada as a DL which
  115. I liked, but, done by committee, three years were required to get this
  116. practice (under 100 pages) out.  I was involved for the last 1 1/2 years
  117. of it.
  118.  
  119.     3. Standards don't have to be designed by committee.
  120. I am a fan of Ada, and the Ada language was designed by one
  121. small team headed by Jean Ichbiah, then of Honeywell Bull in France.
  122. Jean is the chief architect of the language.  Many outsiders think that
  123. Ada was designed by committee.  Ada was reviewed and selected by a
  124. very large committee, and minor changes were made to the language by
  125. this group, but Ada is still essentially the same as the original Green
  126. language of Honeywell Bull.
  127.  
  128.     How can I say that I have created a standard language?  Simply put,
  129. I selected a language before I began work on ZCPR 3.3.  That language was
  130. implemented by ZAS.  When ZCPR 3.3 is released, the command processor, the
  131. libraries, and the myriad of new tools and modifications to old tools will
  132. be written in this language.  ZAS meets my needs, and I have no intention
  133. of changing now that the project is well underway.  The standard language
  134. is not much different from languages implemented by other assemblers,
  135. particularly Z80ASM by SLR, and with a minor modification, Z80ASM could
  136. be a second implementation of this language (note: by implementation,
  137. I mean translator).
  138.  
  139.  
  140.         GROWTH
  141.  
  142.     As I have said from the beginning, ZCPR is an evolving system.
  143. ZCPR1 is different from ZCPR2, and ZCPR2 is different from ZCPR3 in
  144. many major ways.  ZCPR 3.3 is different from ZCPR 3.0 in many ways
  145. also.  Like the ZCPRs before it, ZCPR 3.3 is an experiment, and I feel
  146. it keeps getting better and better.  The current following of ZCPR3 is
  147. evidence of the excitement and interest sparked by this experiment.  I am
  148. learning and growing by this experiment while having a lot of fun (except
  149. when people like Jay Sage decide to get loud and obnoxious).
  150.  
  151.  
  152.         THERE IS NO SLAP
  153.  
  154.     In ZAS-SLR2, Jay said "I ... would like to ask that Richard Conn
  155. show some genuine respect for the rest of the 8-bit programming community
  156. by paying a little attention to our ideas ...".  Jay is clearly totally
  157. out in left field.  I have just spent over 2 years collecting ideas
  158. for the new ZCPR 3.3.  I have worked with Ada, Ada Programming Support
  159. Environments, SUN workstations, Symbolics workstations, and so many
  160. things on the Defense Data Network that I can't count them all.  I have
  161. listened to your ideas (ZCPR 3.3 started from Jay's modification of ZCPR 3.0
  162. into ZCPR 3.2A because I liked the ideas Jay and others put into it).
  163.  
  164.     I think that Jay's frustration mainly comes from his rather complete
  165. lack of understanding of who I am, what I am doing, and how I do things.
  166. Jay thought I worked for Echelon; instead, I functioned in a self-employed
  167. mode from January to May with 4 sources of income, one of which was Echelon
  168. royalties. Jay thinks I have only two interests - Z3 and Ada.  I'm into Z3,
  169. Ada, C, UNIX, VMS, TOPS-20, program design languages, VHSIC/VHDL/MOSIS, SUNs,
  170. the Amiga, satellites, the space program (a guy from NASA is even on my
  171. new Ada Software Repository committee), and so many more things.  Jay
  172. seems to expect me to jump when he says something; I don't.  Jay expects
  173. me to spend large amounts of time on Z-Nodes talking to users; I get
  174. occasional printouts of selected messages from Echelon because I have a lot
  175. to do with all of my interests (I get hundreds of email messages each week
  176. on the DDN, and I don't read all of these either, filtering them by
  177. subject and author).  I have to manage my time if I ever hope to get anything
  178. done (I took a course in Time Management, which I have applied ever since).
  179. And I've accomplished a lot, including ZCPRs, a ton of documentation, three
  180. books, the Ada Software Repository (with its 40M of source code and
  181. documentation, donated by many), etc.
  182.  
  183.     I am going to continue with my work now, moving toward the release
  184. of ZCPR 3.3 and my new Ada Software Repository book.  As far as I am
  185. concerned, this presentation is finished.  Be sure to
  186. look for my next article on ZCPR 3.3 in Microsystems.  I'm sure Jay will.
  187.  
  188.