Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Parameters

Command Qualifiers

Examples

/CROSS_REFERENCE

/DEBUG

/DISABLE

/ENABLE

/LIBRARY

/LIST

/OBJECT

/SHOW

/UPDATE

HELP MACRO — VMS 4.6

  Invokes the VAX MACRO assembler to assemble  one  or  more  assembly
  language  source  programs.   This description provides a functional
  overview of the MACRO command, emphasizing DCL syntax  and  grammar.
  For  a  complete  functional  description of the VAX MACRO assembler
  directives, see the VAX MACRO and Instruction Set Reference Volume.

  Format:


    MACRO  file-spec[,...]

Additional information available:

ParametersCommand QualifiersExamples

Parameters

 file-spec[,...]

  Specifies one or more VAX MACRO assembly language source files to be
  assembled.  If you do not specify a file type for an input file, the
  assembler uses the default file type of MAR.

  You can specify more than one input file.  If you separate the  file
  specifications  with  commas, each file is assembled separately.  If
  you separate the file specifications with plus signs, the files  are
  concatenated  and assembled as a single input file, producing single
  object and listing files.  If a file already exists  with  the  same
  name  as  the  object or listing file produced by the command, a new
  file with a version number one higher than the  previously  existing
  file will be created.

  No wildcard characters are allowed in the file specifications.

Command Qualifiers

Additional information available:

/CROSS_REFERENCE/DEBUG/DISABLE/ENABLE/LIBRARY/LIST
/OBJECT/SHOW/UPDATE

/CROSS_REFERENCE

 /CROSS_REFERENCE[=(function[,...])]
 /NOCROSS_REFERENCE (default)

  Controls whether  a  cross-reference  listing  is  included  in  the
  listing  file.  A cross-reference listing is a list of the places in
  the source file where the item specified is defined or referred  to.
  The  /CROSS_REFERENCE  qualifier includes a cross-reference listing,
  and therefore requires that  you  specify  the  /LIST  qualifier  to
  produce  a  listing file.  The /NOCROSS_REFERENCE qualifier excludes
  the cross-reference listing.

  You can specify one or more of the functions listed below.   If  you
  specify  /CROSS_REFERENCE without any functions, it is equivalent to
  /CROSS_REFERENCE=(MACROS,SYMBOLS).

  ALL               Cross-references  directives,  macros,   operation
                      codes, registers, and symbols

  DIRECTIVES        Cross-references directives

  MACROS            Cross-references macros

  OPCODES           Cross-references operation codes

  REGISTERS         Cross-references registers

  SYMBOLS           Cross-references symbols

  If you specify more than one function, separate them by  commas  and
  enclose the list in parentheses.

/DEBUG

 /DEBUG[=option]
 /NODEBUG (default)

  Controls whether local symbols are included in the symbol table, and
  whether traceback information is included in the object module.

  You can use these qualifiers in place of the  /ENABLE  and  /DISABLE
  qualifiers,  when  the  DEBUG and TRACEBACK functions are used.  The
  /DEBUG   or   /NODEBUG   qualifiers    will    override    debugging
  characteristics   set   with   the  .ENABLE  or  .DISABLE  assembler
  directives.

  You can specify one or more of the functions listed below.   If  you
  specify   /DEBUG   without   any  functions,  it  is  equivalent  to
  /DEBUG=ALL.

  ALL               All local  symbols  are  included  in  the  symbol
                      table, and all traceback information is provided
                      in  the  object   module   for   the   debugger.
                      Specifying   this  qualifier  is  equivalent  to
                      specifying             the             qualifier
                      /ENABLE=(DEBUG,TRACEBACK).

  NONE              No local symbols and no traceback information  are
                      made  available  to  the  debugger in the object
                      module.  Specifying this qualifier is equivalent
                      to        specifying        the        qualifier
                      /DISABLE=(DEBUG,TRACEBACK).

  SYMBOLS           All  local  symbols  are  made  available  to  the
                      debugger  in  the  object  module.  No traceback
                      information is made available to  the  debugger.
                      Specifying   this  qualifier  is  equivalent  to
                      specifying  the  qualifiers  /ENABLE=DEBUG   and
                      /DISABLE=TRACEBACK.

  TRACEBACK         Traceback information is  made  available  to  the
                      debugger in the object module.  No local symbols
                      are made available to the debugger.   Specifying
                      this  qualifier  is equivalent to specifying the
                      qualifiers /ENABLE=TRACEBACK and /DISABLE=DEBUG.

/DISABLE

 /DISABLE=(function[,...])
 /NODISABLE

  Provides initial  settings  for  the  functions  controlled  by  the
  assembler  directive  .DISABLE.   See  /ENABLE  for  a list of these
  functions.

  The default is /DISABLE=(ABSOLUTE,DEBUG,TRUNCATION).

  If you specify more than one function, separate them by  commas  and
  enclose the list in parentheses.

  The /NODISABLE qualifier has the same effect as not  specifying  the
  /DISABLE   qualifier,   or  negates  the  effects  of  any  /DISABLE
  qualifiers specified earlier on the command line.

/ENABLE

 /ENABLE=(function[,...])
 /NOENABLE

  Provides initial  settings  for  the  functions  controlled  by  the
  assembler  directive  .ENABLE.  You must specify at least one of the
  functions listed below.  You can enable or disable:

  ABSOLUTE          Assembly  of  relative   addresses   as   absolute
                      addresses

  DEBUG             Inclusion of local symbol table information in the
                      object file for use with the debugger

  TRUNCATION        Truncation   of   floating-point    numbers    (if
                      truncation is disabled, numbers are rounded)

  GLOBAL            Assumption that undefined symbols in the  assembly
                      are external symbols

  SUPPRESSION       Suppression of the listing of unreferenced symbols
                      in the symbol table

  TRACEBACK         Provision of information to the debugger traceback
                      mechanism

  The default is /ENABLE=(GLOBAL,TRACEBACK,SUPPRESSION).

  If you specify more than one function, separate them by  commas  and
  enclose the list in parentheses.

  The /NOENABLE qualifier has the same effect as  not  specifying  the
  /ENABLE  qualifier, or negates the effects of any /ENABLE qualifiers
  specified earlier on the command line.

/LIBRARY

 /LIBRARY
 /NOLIBRARY

  Positional qualifier.

  The /LIBRARY qualifier cannot be used with the /UPDATE qualifier.

  The /LIBRARY qualifier requires that the associated input file be  a
  macro  library.   If  you  do not specify a file type, the assembler
  uses the default file type of MLB.  The maximum number of  libraries
  that  can  be  searched in any given assembly is 16, one of which is
  always STARLET.MLB.  If you specify more than one macro  library  in
  an  assembly,  the  libraries are searched in reverse order of their
  specification.

  When a macro call is issued  in  a  source  program,  any  libraries
  specified  with  the  .LIBRARY  directive are searched first, in the
  reverse order in which they were declared; if the  macro  definition
  is  not  found  in  any of the libraries specified with the .LIBRARY
  directive, any libraries specified in the DCL MACRO command line are
  then  searched  (again,  in  the  reverse  order  in which they were
  specified); finally, if the macro definition is  not  found  in  the
  libraries specified in the command line, STARLET.MLB is searched.

  The /NOLIBRARY qualifier has the same effect as not  specifying  the
  /LIBRARY   qualifier,   or  negates  the  effects  of  any  /LIBRARY
  qualifiers specified earlier on the command line.

/LIST

 /LIST[=file-spec]
 /NOLIST

  Controls whether  an  output  listing  is  created,  and  optionally
  provides an output file specification for the listing file.

  If you issue the MACRO  command  interactively,  the  assembler,  by
  default,  does  not create a listing file.  When /NOLIST is present,
  either explicitly or by default, errors are reported on the  current
  output device.

  If you execute the MACRO command  in  a  batch  job,  /LIST  is  the
  default.   When  you  specify  /LIST,  you  can control the defaults
  applied to the output file specification by  the  placement  of  the
  qualifier  in  the  command.   See  Section  2.4  of the VAX/VMS DCL
  Concepts  Manual  for  more  information  on  entering  output  file
  qualifiers.

  The default file type provided for listing files is LIS.

  No wildcard characters are allowed in the file specification.

/OBJECT

 /OBJECT[=file-spec]
 /NOOBJECT

  Controls whether an object module is created by the  assembler.   It
  also defines the file specification for the file.

  By default, the assembler creates an object  module  with  the  same
  file name as the first input file.  The default file type for object
  files is OBJ.   When  you  specify  /OBJECT,  you  can  control  the
  defaults  applied  to the output file specification by the placement
  of the qualifier in the command.  See Section 2.4 of the VAX/VMS DCL
  Concepts  Manual  for  more  information  on  entering  output  file
  qualifiers.

  No wildcard characters are allowed in the file specification.

/SHOW

 /SHOW[=(function[,...])
 /NOSHOW[=(function[,...])]

  Provides initial  settings  for  the  functions  controlled  by  the
  assembler directives .SHOW and .NOSHOW.  You can specify one or more
  of the functions listed below.  If you  specify  /SHOW  without  any
  functions,  the  listing level count is incremented.  If you specify
  /NOSHOW  without  any  functions,  the  listing   level   count   is
  decremented.

  Since the /SHOW qualifier affects the  listing,  you  must  use  the
  /LIST  qualifier  to  produce  a  listing  in order to use the /SHOW
  qualifier.

  CONDITIONALS      Lists unsatisfied conditional code associated with
                      .IF and .ENDC directives

  CALLS             Lists macro calls and repeat range expansions

  DEFINITIONS       Lists macro definitions

  EXPANSIONS        Lists macro expansions

  BINARY            Lists binary code generated by  the  expansion  of
                      macro calls

  If you omit the  /SHOW  qualifier,  the  default  is  equivalent  to
  /SHOW=(CONDITIONALS,CALLS,DEFINITIONS).

  If you specify more than one function, separate them by  commas  and
  enclose the list in parentheses.

  For additional details on these functions, see  the  VAX  MACRO  and
  Instruction Set Reference Volume.

/UPDATE

 /UPDATE[=(update-file-spec[,...])]
 /NOUPDATE

  Positional Qualifier.

  The /UPDATE qualifier cannot be used with the /LIBRARY qualifier.

  The /UPDATE qualifier requires usage with an associated  input  file
  that  is  to be updated with the specified update file or files.  No
  wildcard characters are allowed in the update file specifications.

  The update process uses the batch editor, SLP, to update  the  input
  file with the update file or files.

  By default, the assembler uses update files with the  same  name  as
  the input source file and a file type of UPD.

  When multiple update files are specified with the /UPDATE qualifier,
  the  assembler  merges  the  contents  into a single list of updates
  before applying the updates to the source file.  You  must  separate
  multiple   update   files  with  commas  and  enclose  the  list  in
  parentheses.

  The input source file and update files are not changed by the update
  operation.  The effects of the update appear in the compiled output.
  The listing also provides an audit  trail  of  the  changes  if  you
  specify /LIST with /UPDATE.

  If  an  update  file  is  not  found,  the   assembler   prints   an
  informational message but continues the assembly.

  The /NOUPDATE qualifier has the same effect as  not  specifying  the
  /UPDATE  qualifier, or negates the effects of any /UPDATE qualifiers
  specified earlier on the command line.

Examples

  1.   $ MACRO  ORION

  The MACRO assembler assembles the  file  ORION.MAR  and  creates  an
  object file named ORION.OBJ.  If this command is executed in a batch
  job, the assembler also creates a listing file named ORION.LIS.

  2.   $ MACRO/LIST  CYGNUS, LYRA/OBJECT=LYRAN

  This MACRO command requests  two  separate  assemblies.   The  MACRO
  command  assembles  CYGNUS.MAR to produce CYGNUS.LIS and CYGNUS.OBJ.
  Then it assembles LYRA.MAR and creates a listing file named LYRA.LIS
  and an object module named LYRAN.OBJ.

  3.   $ MACRO  ALPHA/LIST+MYLIB/LIBRARY-
       $_ + [TEST]OLDLIB/LIBRARY + []BETA
       $ PRINT ALPHA

  The MACRO command concatenates the files ALPHA.MAR and  BETA.MAR  to
  produce  an  object  file  named  ALPHA.OBJ and a listing file named
  ALPHA.LIS.   MYLIB.MLB  (in  the  current  default  directory)   and
  OLDLIB.MLB  (in  the directory [TEST]) are specified as libraries to
  be searched for macro definitions.  When macro calls  are  found  in
  BETA.MAR,  OLDLIB,  MYLIB,  and  the  system library STARLET.MLB are
  searched, in that order, for the definitions.

  The PRINT command prints the listing file ALPHA.LIS.

  4.   $ MACRO  DELTA+TESTLIB/LIBRARY, ALPHA+MYLIB/LIBRARY

  This MACRO command requests two  separate  assemblies.   TESTLIB.MLB
  and   the   system   library  STARLET.MLB  are  searched  for  macro
  definitions when macro calls are found in DELTA.MAR,  and  MYLIB.MLB
  and   the   system   library  STARLET.MLB  are  searched  for  macro
  definitions when macro calls are found in ALPHA.MAR.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026