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 / CPM / LANGUAGS / PASCAL-P / PP319DOC.LBR / INTRO.MZN / INTRO.MAN
Text File  |  2000-06-30  |  7KB  |  125 lines

  1. .macro chttl = Introduction
  2. .ch .chttl
  3. This  system has been designed for maximum "friendliness",  and to  avoid
  4. unexpected  responses and "surprises".   The interior design is highly 
  5. structured,  and  easily customizable.   Close adherance to the ISO standard  (with
  6. slight  extension other than available standard procedures,  all compiler 
  7. detectable) is enforced.  The system is portable to other machines.
  8.  
  9. Pascal-P  is a modification of the P4 Pascal compiler developed by Amman,
  10. Nori, and Jacobi at the Institut fur Informatik at the at the Eidg. Technische
  11. Hochschule in Zuerich.   It was adapted for use on the HP3000 by Grant Munsey,
  12. Jeff Eastman, and Bob Fraley of Hewlett-Packard Labs, 3500 Deer Creek Rd, Palo
  13. Alto,  Calif.  94304.   It has been further adapted for use with a generalized
  14. machine independent P-code interpreter,  and for 8080 native code  generation,
  15. by C.B.  Falconer, 680 Hartford Tpk., Hamden, Conn. 06517, USA.
  16.  
  17. The revised compiler, interpreter,
  18. standard procedures,  system interfaces,  and the present 8080 and P-code code
  19. generators (in Pascal) are due to C.B. Falconer, as are any errors therein.
  20.  
  21. At  present the system executes on the HP3000 or on CPM systems  with  a
  22. minimum  of 48k memory (Compilation of the compiler requires 63k under  CPM).
  23. Using the identical compiler it generates code for:
  24.  
  25. .i 10            HP3000 .br
  26. .i 10            P-code interpreter (machine independent) .br
  27. .i 10            8080 native code .br
  28. .i 30                                from the same source files, controlled 
  29. by various compile time commands.
  30.  
  31. .bb The P-code codefiles are executable under CPM, or (unchanged) without any
  32. disc system when interpreters are linked to appropriate device drivers.
  33. Similarly native code files can be linked to the same drivers, when maximum
  34. speed is required. Such combinations are suitable for dedicated systems, and
  35. are especially attractive when accuracy is critical, because of the extensive
  36. compile time and run-time error checking available.  In addition such
  37. programs can be ported to wildly differing machines and CPUs.  Contact
  38. C.B. Falconer for further information and licensing.
  39. .eb
  40.  
  41. Such system features as separate compilation,  i/o  redirection,  program
  42. segmentation,  virtual code-memory,  debug and tracing capabilities are
  43. incorporated.   No  distortion of the Pascal source is required.  
  44. Program profiles require the addition of about 6 lines in the source text.
  45.  
  46. .note Standard Pascal
  47. This manual is NOT an exposition of the standard Pascal language.  The
  48. recommended reference manual is "Programming in Pascal", by Peter Grogono.
  49. Further useful references are "Pascal User Manual and Report", by Jensen and
  50. Wirth, and the ANSI and ISO standards (which are hard reading).
  51.  
  52. This system implements ISO and ANSI standard Pascal, except for GOTO out
  53. of procedures, and passing procedures/functions as parameters.
  54. .res
  55.  
  56. A fairly extensive set of utilities are available, all written in Pascal,
  57. including  various  non-portable  CPM system programs.
  58. .bb
  59. .bdot
  60. .dotit UCSTOCPM  which transfers  UCSD  Pascal text files to the CPM  system.
  61. .dotit  DISKCOPY  which  makes complete copies of floppy disks).
  62. .dotit TRANSFER which copies files to and from MS/PCDOS format disks.
  63. .dotit ANSWER, BYE, ENDCALL which implement a remote controlled RCPM system,
  64.        and which can automatically limit execution to a user defined program.
  65. .b
  66. .dotit programs from PUG (Pascal Users Group) such as..
  67. .dotit COMPARE  which  compares  text  files and  resynchronizes  after
  68.        differences.
  69. .dotit REFRENCE which shows Pascal program structure and procedure referances.
  70. .dotit ID2ID which replaces identifier names from a list. 
  71. .b
  72. .dotit portable programs such as..
  73. .dotit RNF, the text formatter which prepared this manual.
  74. .dotit  BINHEX which  converts  binary  files  to  Intel  hex  format  records.
  75. .dotit  PAGER  which paginates, labels and dates listings.
  76. .dotit FILEDUMP which lists binary files in hex notation.
  77. .dotit PLOTPROF  which  plots profiles of program  execution.
  78. .dotit  XREF  which prepares  a cross-referance of Pascal programs.
  79. .dotit  PCDISASM which  dis-assembles "pcd" codefiles.
  80. .dotit WSTOTEXT which converts WordStar document files into standard formats.
  81. .dotit LDIR which list library directories,  including datestamps
  82. .dotit LSETDATE which sets datestamps in LU format libraries.
  83. .dotit XREFC which cross-references C programs.
  84. .dotit XREFASM which cross-references assembly programs, and adapts to various
  85. machines with an external file (available for 8080, Z80, 8086)
  86. .b
  87. .dotit system programs such as..
  88. .dotit ASSMPCD, the _.PCD code generator
  89. .dotit ASSMAP, the native code generator
  90. .dotit TUNE, which dynamically configures code/data space usage in _.PCD
  91.        programs.
  92. .dotit LINKER, a machine independant linker, incidentally used to link
  93.        _.RBM (relocatable binary modules) into _.PCD code files.
  94. .edot .eb
  95.  
  96. This manual was written on a wide variety of text editors and finally printed
  97. by RNF, a text formatter analogous to the Unix Runoff, and written in Pascal.
  98. (The original author of RNF is unknown).
  99.  
  100. P-code  codefiles can be as large as 127 (31 under CPM)  segments,  each
  101. containing  a  maximum of 127 procedures in a maximum of 32  Kbytes  of  code.
  102. Thus  the  absolute  maximum program file is approximately  4  megabytes  (992
  103. kbytes under CPM).  This permits large application systems to be created and
  104. automatically  manipulated  by the run-time  memory  management  system.   For
  105. comparison the compiler occupies less than .bb 42 Kbytes in 28 segments,  and  can
  106. execute  in approximately 6K of codespace.   Virtually full compilation speed
  107. is attained in approximately 20K .eb of codespace under CPM.
  108.  
  109. Codefiles are automatically searched over two disks, and one library file
  110. under  CPM.   Since  P-code utilities tend to be small,  the  library  system
  111. provides  significant  improvement  in disk space utilization  by  eliminating
  112. allocation  fragmentation.   This  can  have dramatic effects  when  the  disk
  113. allocation unit is large,  e.g.  hard disks with a 4 kilobyte allocation unit.
  114. The  use  of  library code files under CPM has the  additional  advantage  of
  115. permitting date-stamping.   Upgraded programs may be tested without  affecting
  116. the original, since the search order prefers a file.
  117.  
  118. PCD codefiles may optionally be segmented and execute in a virtual memory
  119. space.   The  run-time  system  automatically  performs  segment  loading  and
  120. unloading on demand, and chooses segments for discard on a least-recently-used
  121. algorithm.   Program  files  can  specify  the amount of  real  memory  to  be
  122. allocated for code loading.   All code is read directly from diskfiles, and is
  123. always  re-entrant and pure.   Thus no additional disk space need be allocated
  124. to the virtual memory system.
  125. '╤