ASM - GMAP assembly command.
Syntax:
ASM sourcefile[+sourcefile]* [option]*
**=filename Entry=name
+Clear Hstar=filename (.h)
(+|-)ListIng (-) Library=filename
(+|-)ListOu (-) LoaderMemory=number
(+|-)Gmac (+) LowLoad=number
(+|-)Load (+) Map=filename
(+|-)SysLib (+) Object=filename
(+|-)Oldalt (-) Name=name
(+|-)Setup (-) ProgramMem=number
+Zdebug Update=filename
Alters=filename StrangerOpts=name[,name]*
CompilerMemory=number USe=name[,name]*
SaveFile=filename ComDeck=filename
Examples:
asm myfile +lstin +lstou
asm /src1+/src2 uplib=tlib +clear
asm sri/cdk/tlga a=sri/upd/tlga -load +oldalt
Options:
- sourcefile
- is a pathname, or set of pathnames separated by plus
signs.
- Alters=filename
- takes the named file as an alter file. ASM copies the
file into a temporary file and converts it to fixed
format BCD. For a description of ALTER cards, see the
control cards manual.
- +Clear
- clears/initializes the random library.
- ComDeck=filename
- writes the K* compressed source deck to the file
"filename".
- CompilerMemory=number
- sets the compiler memory size to "number" K
words. The default size is 27K words.
- Entry=name
- specifies that the given SYMDEF name (primary or
secondary) is the entry point of the program.
- Hstar=filename
- specifies the name of the hstar file into which the
loader should write the loaded program. If you do not
specify this option, the file name defaults to
".h".
- Library=filename
- specifies the file name of a random library to be
searched for subroutines. Libraries are searched in the
order of Library= options on the command line.
- +ListIng
- turns on the LSTIN option, which lists all input lines.
This is forced on by the +Oldalt option.
- +LstOu
- turns on the LSTOU option. This is forced on by the
+Oldalt and +ListIng options.
- LoaderMemory=number
- sets the loader memory size to "number" K
words. The default size is 7K words.
- LowLoad=number
- generates a $LOWLOAD <number> statement to replace
the default LOWLOAD 36 loader command.
- Map=filename
- writes the load map into the file "filename".
This turns on the loader's MAP option.
- -Gmac
- does not load the GCOS system macros. This corresponds to
the NGMAC option in batch.
- -Load
- does not attempt to make a load module. If you specify
this option, ASM does not call the loader.
- -SysLib
- does not reference the system libraries in GELOAD.
- +Oldalt
- invokes fancy printing of alters, with old alter number
and new alter number. +Oldalt automatically invokes
+ListIng and +LstOu. This option is the same as the batch
OPTZ option.
- Object=filename
- writes the C* object deck to the file
"filename".
- Name=name
- specifies the name to be used for the SAVE option on the
$OPTION card. The default name is "object".
- ProgramMem=number
- sets the program memory size to "number" K
words. The default size is 16K words.
- Update=filename
- calls Ranedit to edit the object deck into the random
library "filename".
- SaveFile=filename
- specifies a file to be used by GMAP with the SAVM and
SAVST pseudo-ops, for saving symbol tables or macro sets.
- +Setup
- loads the initialization routine ".SETU.". If
you do not specify this option, ASM gives the NOSETU
option to the loader.
- StrangerOpts=name[,name]*
- supplies a list of "stranger options", such as
NEISF, separated by commas.
- USe=name[,name]*
- forces the named routines to be loaded. Each USe= option
generates a $USE control card for the loader.
- +Zdebug
- is intended only for the use of the developers
maintaining ASM. At present, +Zdebug returns to the user
when done, without closing any files, but this behavior
may change without notice.
- **=filename
- specifies a random system loadable file containing a test
version of the GMAP assembler.
Description:
ASM provides a way to invoke the batch GMAP assembler from
TSS, via DRL TASK.
Since TSS GMAP source files are usually ASCII, ASM usually
copies its source input to another file, converting to BCD as it
goes. ASCII tab characters found in text are expanded during the
copy according to GMAP conventions. However, if there is only one
source file and if its media code is less than or equal to 2, the
file is not copied; instead, it is passed to GMAP as is, with no
checking for embedded control cards. This saves a lot of overhead
if you are assembling a compressed source deck (comdk).
The source file name may be a single file name or a set of
file names separated by plus signs.
ASM supports source file selection by recognizing CONVERT's
"$$select" directives or GEIN's "$select"
cards in the GMAP source. ASM temporarily diverts the input
stream so it comes from the file named on the card. Such
diversions may be nested to a depth of eight.
Alternate tab charcters can be specified by using CONVERT's
"$$tab" directive. Only one alternate tab character may
be specified, and any given tab stops are ignored.
The default mode of operation is to compile the source file,
generate a B* file, load the B*, and suppress execution. ASM
cannot initiate execution of the load module; to execute the
module, use the GO command.
If you specify the Update=, SaveFile= or Object= option, ASM
doesn't call the loader unless you also specify a loader-specific
option like Hstar=.
When using ASM to maintain library routines, you normally use
the Update=file option to edit the routine into a library. For
example,
asm b/4/src/blib/getvec.g u=b/blib
assembles the GMAP source for GETVEC, then edits it into the
main B library, either replacing the previous version or else
appending it to the end of the library.
ASM always leaves the printer output file "fc*p*"
in the AFT, in case you want to look at it. Any GMAP errors
appear once in the file. FC*P* is a multi-file file, with GMAP,
Ranedit and loader reports one after the other separated by
logical end-of-file marks. You can use the P command to inspect
these reports -- see "expl p".
The default R* file generated for the loader looks like this:
$ LOWLOAD 36
$ OPTION NOMAP,NOGO,NOSETU,SAVE/OBJECT
$ SOURCE
$ EXECUTE
Files Used:
fc*a*, fc**a, fc*b*, fc*d*, fc*j*, fc*p*, fc*g*, fc**1 - for
GMAP. fc*sc, fc*cz - for Ranedit. fc*r*, l*, *l - for the loader.
- cmdlib/etc/qstar
- contains the Ranedit program (which masquerades as
GELOAD so it comes in when the loader is GECALLed), and a
version of the GMAP assembler which knows about GECALLing
RANEDIT in a DRL TASK, and which accepts "_" as
a legal character in a symbol.
Copyright © 1996, Thinkage Ltd.