mirror of
https://github.com/open-simh/simtools.git
synced 2026-01-13 15:27:18 +00:00
129 lines
5.3 KiB
Plaintext
129 lines
5.3 KiB
Plaintext
A MACRO-11 assembler for the PDP-11 in portable C source code.
|
|
|
|
Copyright (c) 2001, Richard Krehbiel
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions are
|
|
met:
|
|
|
|
o Redistributions of source code must retain the above copyright
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
o Redistributions in binary form must reproduce the above copyright
|
|
notice, this list of conditions and the following disclaimer in the
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
o Neither the name of the copyright holder nor the names of its
|
|
contributors may be used to endorse or promote products derived from
|
|
this software without specific prior written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
|
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
|
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
|
DAMAGE.
|
|
|
|
|
|
Files:
|
|
macro11.c This is the vast bulk of the code
|
|
object.c Functions for writing RT-11 compatible .OBJ files
|
|
mlb.c Classes (!) for reading RT-11 macro libraries
|
|
stream2.c Functions for managing input streams and buffers
|
|
rad50.c Functions for converting text to and from RAD50
|
|
util.c A few general utility fuctions
|
|
|
|
macro11.h, object.h, mlb.h, stream2.h, rad50.h, util.h
|
|
types and symbols exported from the associated sources.
|
|
|
|
dumpobj.c A program I wrote to examine the output from
|
|
RT-11's MACRO.SAV program and compare it with my
|
|
own output.
|
|
|
|
makefile, depends
|
|
A simple makfile for Linux; simple enough, it
|
|
should be convertible to any Unix.
|
|
|
|
macro11.dsp, dumpobj.dsp, macro11.dsw
|
|
Visual Studio 6 projects
|
|
|
|
README This file
|
|
|
|
LICENSE The copyright notice and license
|
|
|
|
CHANGES A list of changes from previous versions
|
|
|
|
TODO A list of things that may need fixing
|
|
|
|
|
|
Notes:
|
|
|
|
Sorry, I am a believer in 4 column hardware tabs, for a number of
|
|
reasons, mostly regarding editing convenience. (I did untabify this
|
|
README file though.)
|
|
|
|
The bulk of my development was done in Microsoft Visual Studio 6, but
|
|
I also have a Linux partition and the Cygnus Windows toolkit, so you
|
|
can send me "patches" and I will be able to apply them with the
|
|
"patch" utility.
|
|
|
|
The macro11 command line:
|
|
|
|
macro11 [options...] files...
|
|
|
|
Options:
|
|
-v Prints program version.
|
|
|
|
-e opt .ENABL option. Implemented options are AMA, GBL,
|
|
and also .LIST options ME, BEX, and
|
|
MD, though the status of listing control is
|
|
presently very poor.
|
|
|
|
-d opt .DSABL option; same options as -e.
|
|
|
|
-m macname Gives a macro library name.
|
|
Up to 32 macro libraries may be specified, one per
|
|
-m option.
|
|
Note: unlike MACRO.SAV, SYSMAC.SML is not
|
|
automatically included; you must name it.
|
|
|
|
-p macpath For any .MCALL <macro> directive, macro11 will
|
|
first search -m macro libraries, then it will
|
|
search the MCALL path for a file named <macro>.MAC
|
|
to locate the body of the macro. The MCALL path
|
|
is an environment variable containing directory
|
|
names separated by delimiters (":" for Unix-style
|
|
targets; ";" for Windows). The -p command line
|
|
options appends a directory name to the MCALL
|
|
path.
|
|
|
|
-o objname Gives the name of the object file. No extension
|
|
is assumed; if you want .OBJ you have to say it.
|
|
With no -o option, no object file is generated.
|
|
|
|
-l lstname Gives the name of a listing file. The name "-"
|
|
may be given to write the listing to stdout. No
|
|
extension is assumed; if you want .LST you have to
|
|
say it. With no -l option, no listing file is
|
|
written.
|
|
|
|
-x Tells macro11 not to assemble anything, but rather
|
|
to simply extract all the macros in all the -m
|
|
macro libraries into individual .MAC files in the
|
|
current directory. This should be the last option
|
|
given, as none following will be processed.
|
|
|
|
files... Any number of input files. They will be assembled
|
|
as if they were concatenated together.
|
|
|
|
|
|
You may define the MCALL environment variable prior to invoking
|
|
macro11, as a path to directories containing macros.
|