home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ZSYS
/
ZNODE-12
/
I
/
MAC.HLP
< prev
next >
Wrap
Text File
|
2000-06-30
|
8KB
|
147 lines
Introduction
Executing MAC
XMAC
Assembly Control Parameters
Assembler Pseudo-Ops
Inline Error Messages
Console Error Messages
:Introduction
MA├ i≤ thσ CP/═ StandarΣ Macr∩ Assembler╗ i⌠ i≤ upward-compatablσ witΦ ì
ASM¼á thσ CP/═ StandarΣ Assembler«á Thσ facilitie≤ oµ MA├ includσ assembl∙ ì
oµáá Inte∞áá 808░á microcompute≥á mnemonics¼áá alonτáá witΦáá assembly-timσ ì
expressions¼á conditiona∞ assembly¼á pagσ formattinτ features¼á anΣ ß macr∩ ì
processo≥á whicΦá i≤á compatablσ witΦ thσ standarΣá Inte∞á definitioεá (MA├ ì
implements the mid-1977 revision of Intel's definition).
MA├ require≤ approximatel∙ 12╦ oµ machinσ codσ anΣ tablσ space¼á alonτ ì
with an additional 2.5K of I/O buffer space.
:Executing MAC
MAC is invoked by the following command --
MAC d:filename $parms
Onl∙ 'filenameº i≤ required¼ anΣ i⌠ represent≤ ß filσ nameΣ 'filename.ASM'« ì
MA├á ma∙á theε generatσ u≡ t∩ │ othe≥ file≤ -- filename.HE╪ (thσ Inte∞á He° ì
Forma⌠ File)¼á filename.PR╬ (thσ Prin⌠ o≥ Listinτ file)¼á anΣá filename.SY═ ì
(a file containing a sorted list of the symbols used in the program).
MACR╧ Librar∙ file≤ ma∙ bσ referenceΣ b∙ thσ program╗á thesσ file≤ arσ ì
named 'filename.LIB'.
$parm≤á represent≤ thσ optiona∞ assembl∙ contro∞ parameter≤ whicΦá arσ ì
discussed in the next section.
MA├á ma∙ bσ executeΣ b∙ employinτ thσ SUBMI╘á filσá MAC.SUB«á MAC.SU┬ ì
assemble≤á thσá specifieΣ MA├ .AS═ file¼á convert≤ i⌠ int∩ ß .CO═ filσá viß ì
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
XMA├á i≤ ß versioε oµ MA├ whicΦ doe≤ NO╘ recognizσ thσ intrinsiπ Inte∞ ì
808░ assemble≥ languagσ mnemonics«á XMA├ i≤ intendeΣ t∩ bσ useΣ fo≥ Cross-ì
Assembl∙á usinτá .LI┬ file≤ whicΦ contaiε thσ assemble≥ mnemonic≤á fo≥á thσ ì
targe⌠á machine«á XMA├ i≤ invokeΣ iε exactl∙ thσ samσ wa∙ MA├á i≤á (excep⌠ ì
tha⌠á n∩ SUBMI╘ filσ i≤ available)¼á anΣ i⌠ recognize≤ thσ samσá pseudo-op≤ ì
anΣ contro∞ parameters.
Thσ patcΦ filσ XMAC.AS═ contain≤ thσ patche≤ useΣ t∩ conver⌠ MA├á int∩ ì
XMAC.
Thσáá librar∙á file≤á MAC40.LI┬á anΣá XMAC40.LI┬á contaiεá thσá macro≤ ì
necessar∙ t∩ assemblσ codσ fo≥ thσ Inte∞ 404░ microprocessor¼á fo≥ example« ì
MAC40.LI┬ rename≤ thσ 404░ mnemonic≤ fo≥ ADD¼á SUB¼á etc.¼á t∩ ADD4¼á SUB4¼ ì
etc.¼á s∩ tha⌠ i⌠ wil∞ no⌠ conflic⌠ witΦ MAC«á XMAC40.LI┬ doe≤ no⌠á renamσ ì
these, since XMAC does not recognize these in the first place.
:Assembly Control Parameters
Thσ contro∞ paramete≥ lis⌠ i≤ precedeΣ b∙ ß $¼á anΣ ma∙ contaiε an∙ oµ ì
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
Iε thσ casσ oµ thσ A¼á H¼ L¼ P¼ anΣ ╙ parameters¼ the∙ ma∙ bσ followeΣ ì
b∙ thσ drivσ namσ froφ whicΦ t∩ obtaiε o≥ t∩ whicΦ t∩ senΣ data¼ wherσ --
A,B,C,D -- designates that particular drive
P -- designates the LST: device
X -- designates the user console (CON:)
Z -- designates a null file (no output)
For example,
$PB AA HB SX
send≤á thσ .PR╬ filσ t∩ drivσ B:¼á get≤ thσ .AS═ filσ froφ drivσ A:¼á send≤ ì
the .HEX file to drive B:, and sends the .SYM file to CON:.
Thσ parameter≤ L¼á S¼á M¼ Q¼ anΣ ▒ ma∙ bσ precedeΣ b∙ eithe≥ ½ o≥ - t∩ ì
enable or disable their respective functions --
+L - list the input lines read from the MACRO library
-L - suppress listing of the MACRO library (default)
+S - append the .SYM output to the end of the .PRN file (default)
-S - suppress the generation of the sorted symbol table
+M - list all MACRO lines as they are processed (default)
-M - suppress all MACRO lines as they are processed
*M - list only HEX code generated by macro expansions in listing
+Q - list all LOCAL symbols in the symbol list
-Q - suppress all LOCAL symbols in the symbol list (default)
+1 - produce a listing file on the first pass (for MACRO debugging)
-1 - suppress listing on pass 1 (default)
Thσá programme≥á caεá interspersσá control≤á throughou⌠á thσá assembl∙ ì
languagσ sourcσ o≥ librar∙ files«á IntersperseΣ control≤ arσ denoteΣ b∙á ß ì
"$óá iεá thσá firs⌠á columε oµ thσ inpu⌠ linσá followeΣá immediatel∙á b∙á ß ì
parameter.
:Assembler Pseudo-Ops
The following Pseudo-Ops are supported --
DB defines data bytes or strings of data
DS reserves storage areas
DW defines words of storage
ELSE alternate to IF
END terminates the physical program
ENDIF marks the end of conditional assembly
ENDM marks the end of a MACRO
EQU performs a numeric "equate"
EXITM abort expansion of the current MACRO level
IF begins conditional assembly
IRP INLINE MACRO with string substitution
IRPC INLINE MACRO with character substitution
LOCAL define LOCAL variables unique to each MACRO repetition
MACLIB specify MACRO Library to load
MACRO defines beginning of a MACRO
ORG sets the program or data origin
PAGE defines the listing page size for output
REPT defines the beginning of a INLINE MACRO
SET performs a numeric "set" or assignment
TITLE enables page titles and options
:Inline Error Messages
┬á - Balancσá error║ MACR╧ doesn'⌠ terminatσ properl∙ o≥á conditiona∞ ì
assembly is ill-formed
├á - Commßá error║á expressioεá wa≤á encountereΣá bu⌠á no⌠á delimiteΣ ì
properly from the next item by a comma
─ - Datσ error║ elemen⌠ iε ß datß statemen⌠ (DB,DW⌐ canno⌠ bσá placeΣ ì
in the specified data area
E - Expression error: expression is ill-formed and cannot be computed
I - Invalid character: a non-graphic character has been found
L - Label error: label cannot appear in this context
M - MACRO overflow error: internal MACRO expansion table overflow
N - Not implemented error: unimplemented feature used
╧á - Overflo≈á error║ expressioε i≤ to∩ complicateΣ o≥ thσ numbe≥á oµ ì
LOCAL labels has exceeded 9999
╨á - Phasσá error║á label≤ doe≤ no⌠ havσ samσ valuσá oεá botΦá passe≤ ì
(multiple label)
╥ - Registe≥ error║ valuσ specifieΣ fo≥ ß registe≥ i≤ no⌠á compatablσ ì
with op code
S - Statement/Syntax error: statement is ill-formed
V - Value error: operand is improperly formed or out of range
:Console Error Messages
NO SOURCE FILE PRESENT - .ASM file not found
NO DIRECTORY SPACE - Directory is full
SOURC┼á FIL┼ NAM┼ ERRO╥ - Thσ forφ oµ thσ sourcσ filσ namσ i≤ invalid╗ ì
notσ tha⌠ MA├ i≤ invokeΣ b∙ 'MA├ filename'¼á anΣ thσ .AS═ filσ typσ i≤á NO╘ ì
specified.
SOURCE FILE READ ERROR - Error in reading source file
OUTPUT FILE WRITE ERROR - Error in writing output fileè CANNOT CLOSE FILE - An output file cannot be closed.
UNBALANCED MACRO LIBRARY - No ENDM encountered for a MACRO definition
INVALI─á PARAMETE╥ - InvaliΣ assembl∙ paramete≥ wa≤ founΣ iε thσ inpu⌠ ì
line.