home *** CD-ROM | disk | FTP | other *** search
- 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.