MacMAC Is The CP/M Standard Macro Assembler.
MacMAC Is The CP/M Standard Macro Assembler.
Executing MAC
XMAC
Assembly Control Parameters
Assembler Pseudo-Ops
Inline Error Messages
Console Error Messages
:Introduction
MAC is the CP/M Standard Macro Assembler; it is upward-compatable with
ASM, the CP/M Standard Assembler. The facilities of MAC include assembly
of Intel 8080 microcomputer mnemonics, along with assembly-time
expressions, conditional assembly, page formatting features, and a macro
processor which is compatable with the standard Intel definition (MAC
implements the mid-1977 revision of Intel's definition).
MAC requires approximately 12K of machine code and table space, along
with an additional 2.5K of I/O buffer space.
:Executing MAC
MAC is invoked by the following command -MAC d:filename $parms
Only 'filename' is required, and it represents a file named 'filename.ASM'.
MAC may then generate up to 3 other files -- filename.HEX (the Intel Hex
Format File), filename.PRN (the Print or Listing file), and filename.SYM
(a file containing a sorted list of the symbols used in the program).
MACRO Library files may be referenced by the program; these files are
named 'filename.LIB'.
$parms represents the optional assembly control parameters which are
discussed in the next section.
MAC may be executed by employing the SUBMIT file MAC.SUB. MAC.SUB
assembles the specified MAC .ASM file, converts it into a .COM file via
LOAD, and erases the .HEX file. MAC.SUB is invoked by -SUBMIT MAC filename
where 'filename' is the name of the MAC file 'filename.ASM'.
:XMAC
XMAC is a version of MAC which does NOT recognize the intrinsic Intel
8080 assembler language mnemonics. XMAC is intended to be used for CrossAssembly using .LIB files which contain the assembler mnemonics for the
target machine. XMAC is invoked in exactly the same way MAC is (except
that no SUBMIT file is available), and it recognizes the same pseudo-ops
and control parameters.
The patch file XMAC.ASM contains the patches used to convert MAC into
XMAC.
The library files MAC40.LIB and XMAC40.LIB contain the macros
necessary to assemble code for the Intel 4040 microprocessor, for example.
MAC40.LIB renames the 4040 mnemonics for ADD, SUB, etc., to ADD4, SUB4,
etc., so that it will not conflict with MAC. XMAC40.LIB does not rename
these, since XMAC does not recognize these in the first place.
:Assembly Control Parameters
The control parameter list is preceded by a $, and may contain any of
the following in any order -A - controls the source disk for the .ASM file
H - controls the destination of the .HEX machine code file
L - controls the source disk for the .LIB files
M - controls MACRO listing in the .PRN file
P - controls the destination of the .PRN listing file
Q - controls the listing of LOCAL symbols
S - controls the generation and destination of the .SYM file
1 - controls pass 1 listing
-----
designates
designates
designates
designates
For example,
$PB AA HB SX
sends the .PRN file to drive B:, gets the .ASM file from drive A:, sends
the .HEX file to drive B:, and sends the .SYM file to CON:.