Provided by: palbart_2.13-2_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.

       -$     Don't require a $ at end of file

       -a     Enable additional features not compatible with PAL8.

       -d     Show symbol table at end of assembly

       -e     Generate error if link generated

       -h     Display help

       -l     Allow generation of links and literals (default)

       -n     Don't allow redefinition of permanent symbols

       -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)

       -t N   Set tab stops to N

       -v     Display version information

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

ADDITIONAL FEATURES

       The additional features flag enables functions that are not compatible with the PAL8 assemble.  Currently
       only  the  TITLE  and  BANK  pseudo  operations  are  enabled  with this function. There are likely other
       incompatibilities that are not under this flag.

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  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 using 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 assembler 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.
          v2.9  23Jun13  DJG  David Gesswein djg@pdp8online.com
                              Combined versions found online and fixed many bugs.
                              Used source from v2.5  03Nov07  RK and
                              v2.6  14Jul03  PNT.

AUTHOR

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

                                                  June 23, 2013                                       PALBART(1)