File: palbart.1

package info (click to toggle)
palbart 2.4-5
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny, squeeze
  • size: 368 kB
  • ctags: 618
  • sloc: ansic: 5,765; makefile: 176
file content (200 lines) | stat: -rw-r--r-- 6,780 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH PALBART 1 "January 16, 2000"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
palbart \- BART enhanced PDP8 crossassembler
.SH SYNOPSIS
.B palbart
.RI [options] inputfile
.br
.SH DESCRIPTION
This manual page documents briefly the
.B 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.
.PP
The following file name extensions are used:
.PP
 .pal    source code (input)
.PP
 .lst    assembly listing (output)
.PP
 .bin    assembly output in DEC's bin format (output)
.PP
 .rim    assembly output in DEC's rim format (output)
.PP
 .err    assembly errors detected (if any) (output)
.PP
 .prm    permanent symbol table in form suitable for reading after the EXPUNGE pseudo-op.

.PP
.SH OPTIONS
A summary of options is included below.
.TP
.B \-d
Show symbol table at end of assembly
.TP
.B \-h
Display help.
.TP
.B \-l
Allow generation of literals (default is no literal generation)
Show version of program.
.TP
.B \-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.)
.TP
.B \-r
Produce output in rim format (default is bin format)
.TP
.B \-v
Display version information.
.TP
.B \-x
Generate a cross-reference (concordance) of user symbols.

.SH  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
.PP
<filename>(<line>:<col>) : error:  <message> at Loc = <loc>
.PP
An example error message is:
.br
bintst.pal(17:9) : error:  undefined symbol "UNDEF" at Loc = 07616
.PP
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:
.PP
      17 07616 3000          DCA     UNDEF
.br
   UD undefined                      ^
.br
      18 07617 1777          TAD  I  DUMMY
.PP
When an indirect is generated, an at character '@' is placed after the
the instruction value in the listing as an indicator as follows:
.PP
      14 03716 1777@         TAD     OFFPAG
.PP
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:
.PP
   #REDEF   04567
.br
    SWITCH  07612
.br
   ?UNDEF   00000
.PP
Refer to the code for the diagnostic messages generated.

.SH 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.
.PP
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.
.PP
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.
.br

.SH 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.

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

.SH DISCLAIMER
See the symbol table for the set of pseudo-ops supported.
.PP
See the code for pseudo-ops that are not standard for PDP/8 assembly.
.PP
Refer to DEC's "Programming Languages (for the PDP/8)" for complete
documentation of pseudo-ops.
.PP
Refer to DEC's "Introduction to Programming (for the PDP/8)" or a
lower level introduction to the assembly language.

.SH 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.

.SH 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>

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

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