home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / plm.zip / plm / PLMCOMP.DOC < prev    next >
Text File  |  1989-05-18  |  5KB  |  93 lines

  1. PL/M is a high-level programming language especially designed to
  2. simplify the task of system programming for the Intel 8-bit family
  3. of microcomputers--the 8008 and the 8080.  The files provided in
  4. this archive contain version 2.0 of Intel's PL/M cross compiler
  5. for the 8080.  The PL/M programming langauge is described in the
  6. Intel publication, 8008 and 8080 PL/M Programming Manual.  A second
  7. Intel publication, 8080 PL/M Compiler Operators Manual, describes
  8. the operation of the PL/M cross compiler.
  9.  
  10. The Intel 8080 PL/M Cross Compiler is a two pass compiler written
  11. in ANSI FORTRAN.  PASS 1 reads a PL/M source program and converts
  12. it to an intermediate form on work files.  Optionally, a listing of
  13. the input source program may be obtained during this pass.  Errors
  14. in program syntax are detected at this stage, and appropriate error
  15. messages are sent to the list file.  PASS 2 processes the work files
  16. produced by PASS 1, and generates machine code for the MCS-80 CPU.
  17. This machine code, which may be in either BNPF or Hex format, may be
  18. loaded and executed directly on an INTELLEC 8/Mod 80 Microcomputer
  19. Development System, simulated using INTERP/80, a cross-simulator of
  20. the 8080 CPU, or used to program ROMs.  PASS 2 will optionally
  21. produce a symbol table and a mnemonic listing of the generated
  22. machine code. Certain errors may be detected during PASS 2 and are
  23. reported in the list file.
  24.  
  25. The operation of each pass of the PL/M compiler is governed by a set
  26. of parameters know as compiler controls, each control is identified
  27. by a unique letter of the alphabet.  Each compiler control is provided
  28. with a default value which is used throughout the compilation unless
  29. explicitly altered by the user.  The commonly used compiler controls
  30. are described below and a complete list of compiler controls is given
  31. in Intel's 8080 PL/M Compiler Operators Manual.
  32.  
  33. The value of the compiler controls may be changed at any time during
  34. PASS 1 or at the beginning of PASS 2 by entering a control record.
  35. Control records must begin with a dollar sign ($) and have the
  36. following form:
  37.  
  38.      $<id>=<value> [ $<id>=<value> ] ...
  39.  
  40. where <id> is the unique letter assigned to the compiler control
  41. that is to be changed and <value> is the new value.  Blanks may be
  42. included on either side of the equal sign (=) but not within the
  43. $<id> or <value>.  Two special control record formats are available
  44. to interrogate the current values of the compiler controls.  A
  45. specification like the following:
  46.  
  47.      $$<id>
  48.  
  49. will cause the current value of the compiler control represented
  50. by <id> to be listed, while a specification that consists of just
  51. two dollar signs will cause the values of all compiler controls to
  52. be listed.
  53.  
  54.  
  55. Control records may be included anywhere within the source input read
  56. by PASS 1 or in one or more input lines terminated with an all blank
  57. or null line to be read at the start of PASS 2.
  58.  
  59.  
  60. PASS 1 Compiler Controls
  61.  
  62.     CONTROL VALUES DEFAULT    USE
  63.  
  64.        L     1-79     1       Leftmargin.  Specifies the first
  65.                               character position processed on each
  66.                               input line.  All leading characters are
  67.                               ignored.
  68.        P      0,1     1       Echo input if 1, suppress echo if 0.
  69.        R     1-80    80       Rightmargin, ignore trailing characters
  70.                               on each input record.
  71.        W     1-120  120       Maximun number of characters per output
  72.                               line.
  73.  
  74. PASS 2 Compiler Controls
  75.  
  76.     CONTROL VALUES DEFAULT    USE
  77.  
  78.        F      0,1     1       Display decoded memory initialization.
  79.        T      0,1     1       Display cross-reference table of
  80.                               approximate memory address versus
  81.                               source line number.
  82.        H              0       Header.  Decimal address at which
  83.                               generated code should start.  I.e.,
  84.                               the start of the program's ISA.
  85.        M      0,1     1       Display symbol table.
  86.        Q      0,1     1       If 1 then object file is written in
  87.                               BNPF, otherwise the object file is
  88.                               written in Hex format.
  89.        V              0       Page number of first page of the VSA.
  90.                               I.e., variable storage, stack, etc.
  91.                               If set to zero the first availabe page
  92.                               above the ISA is used.
  93.