Provided by: palbart_2.4-7_amd64 bug

NAME

       palbart - BART enhanced PDP8 crossassembler

SYNOPSIS

       palbart [options]inputfile

DESCRIPTION

       This  manual  page  documents briefly the palbart command.  It is a cross-assembler to for
       PDP/8 assembly language programs.  It will produce an  output  file  in  bin  format,  rim
       format,  and  using  the  appropriate pseudo-ops, a combination of rim and bin formats.  A
       listing file is always produced and with an optional symbol table and/or a  symbol  cross-
       reference  (concordance).   The permanent symbol table can be output in a form that may be
       read back in so a customized permanent symbol table can be produced.  Any detected  errors
       are  output  to a separate file giving the filename in which they were detected along with
       the line number, column number and error message as well  as  marking  the  error  in  the
       listing file.

       The following file name extensions are used:

        .pal    source code (input)

        .lst    assembly listing (output)

        .bin    assembly output in DEC's bin format (output)

        .rim    assembly output in DEC's rim format (output)

        .err    assembly errors detected (if any) (output)

        .prm    permanent symbol table in form suitable for reading after the EXPUNGE pseudo-op.

OPTIONS

       A summary of options is included below.

       -d     Show symbol table at end of assembly

       -h     Display help.

       -l     Allow  generation  of  literals  (default is no literal generation) Show version of
              program.

       -p     Generate a file with the permanent symbols in  it.   (To  get  the  current  symbol
              table, assemble a file than has only a $ in it.)

       -r     Produce output in rim format (default is bin format)

       -v     Display version information.

       -x     Generate a cross-reference (concordance) of user symbols.

DIAGNOSTICS

       Assembler  error diagnostics are output to an error file and inserted in the listing file.
       Each line in the error file has the form

       <filename>(<line>:<col>) : error:  <message> at Loc = <loc>

       An example error message is:
       bintst.pal(17:9) : error:  undefined symbol "UNDEF" at Loc = 07616

       The error diagnostics put in the listing  start  with  a  two  character  error  code  (if
       appropriate)  and  a  short  message.   A  carat  '^' is placed under the item in error if
       appropriate.  An example error message is:

             17 07616 3000          DCA     UNDEF
          UD undefined                      ^
             18 07617 1777          TAD  I  DUMMY

       When an indirect is generated, an at character '@' is placed  after  the  the  instruction
       value in the listing as an indicator as follows:

             14 03716 1777@         TAD     OFFPAG

       Undefined  symbols  are  marked  in  the  symbol  table listing by prepending a '?' to the
       symbol.  Redefined symbols are marked in the symbol table listing by prepending a  '#'  to
       the symbol.  Examples are:

          #REDEF   04567
           SWITCH  07612
          ?UNDEF   00000

       Refer to the code for the diagnostic messages generated.

BUGS

       Only  a  minimal  effort  has been made to keep the listing format anything like the PAL-8
       listing format.  The operation of the conditional assembly  pseudo-ops  may  not  function
       exactly  as  the DEC versions.  I did not have any examples of these so the implementation
       is my interpretation of how they should work.

       The RIMPUNch and BINPUNch pseudo-ops do not change the binary output file  type  that  was
       specified on startup.  This was intentional and and allows rim formatted data to be output
       prior to the actual binary formatted data.  On UN*X style systems, the same effect can  be
       achieved ing the "cat" command, but on DOS/Windows systems, doing this was a major chore.

       The  floating  point  input  does not generate values exactly as the DEC compiler does.  I
       worked out several examples by hand and believe that this implementation is slightly  more
       accurate.   If  I am mistaken, let me know and, if possible, a better method of generating
       the values.

HISTORICAL NOTE

       This assembler was written to support the fleet of PDP-8 systems  used  by  the  Bay  Area
       Rapid  Transit  System.   As of early 1997, this includes about 40 PDP-8/E systems driving
       the train destination signs in passenger stations.

REFERENCES

       This assembler is based on the pal assember by:
       Douglas Jones <jones@cs.uiowa.edu> and
       Rich Coon <coon@convexw.convex.com>

DISCLAIMER

       See the symbol table for the set of pseudo-ops supported.

       See the code for pseudo-ops that are not standard for PDP/8 assembly.

       Refer to DEC's "Programming Languages (for  the  PDP/8)"  for  complete  documentation  of
       pseudo-ops.

       Refer to DEC's "Introduction to Programming (for the PDP/8)" or a lower level introduction
       to the assembly language.

WARRANTY

       If you don't like it the way it works or if it doesn't work, that's tough.  You're welcome
       to fix it yourself.  That's what you get for using free software.

COPYRIGHT NOTICE

       This  is  free software.  There is no fee for using it.  You may make any changes that you
       wish and also give it away.  If you can make a commercial product out of it, fine, but  do
       not  put any limits on the purchaser's right to do the same.  If you improve it or fix any
       bugs, it would be nice if you told me and offered me a copy  of  the  new  version.   Gary
       Messenbrink <gam@rahul.net>

VERSIONS

        Version  Date    by   Comments
          v1.0  12Apr96  GAM  Original
          v1.1  18Nov96  GAM  Permanent symbol table initialization error.
          v1.2  20Nov96  GAM  Added BINPUNch and RIMPUNch pseudo-operators.
          v1.3  24Nov96  GAM  Added DUBL pseudo-op (24 bit integer constants).
          v1.4  29Nov96  GAM  Fixed bug in checksum generation.
          v2.1  08Dec96  GAM  Added concordance processing (cross reference).
          v2.2  10Dec96  GAM  Added FLTG psuedo-op (floating point constants).
          v2.3   2Feb97  GAM  Fixed paging problem in cross reference output.
          v2.4   11Apr97   GAM   Fixed  problem  with  some  labels  being put in cross reference
       multiple times.

AUTHOR

       This manual page was written by Vince Mulhollon <vlm@debian.org>, for the Debian GNU/Linux
       system (but may be used by others).

                                         January 16, 2000                              PALBART(1)