home *** CD-ROM | disk | FTP | other *** search
- Invoking MACRO-80
- MACRO-80 Switches
- MACRO-80 Pseudo-Ops
- MACRO-80 In-Line Error Messages
- MACRO-80 Console Error Messages
- Invoking LINK-80
- LINK-80 Switches
- Invoking LIB-80
- LIB-80 Switches
- Invoking CREF-80
- Debugging MACRO-80 Programs Using DEBUG.MAC
- :Invoking MACRO-80
-
- MACRO-80 is invoked by the following command --
-
- M80 obj:fn1.ext,lst:fn2.ext=src:fn3.ext
-
- where
- obj:fn1.ext is the device/filename for the object program
- lst:fn2.ext is the device/filename for the listing
- src:fn3.ext is the device/filename for the source
-
- :MACRO-80 Switches
-
- The following switches may be specified in the command line --
-
- O Print all listing addresses in octal
- H Print all listing addresses in hexadecimal
-
- R Force generation of an object file
- L Force generation of a listing file
- C Force generation of a cross reference file
-
- Z Assemble Zilog (Z80) mnemonics
- I Assemble Intel (8080) mnemonics
-
- ╨á EacΦ /╨ allocate≤ aε extrß 25╢ byte≤ oµ stacδ spacσ fo≥ usσ ì
- during assembly. Use /P if stack overflow errors occur during assembly.
- :MACRO-80 Pseudo-Ops
-
- The following are the pseudo-ops recognized by MACRO-80 --
-
- ASEG COMMON CSEG DB DC
- DS DSEG DW END ENTRY
- PUBLIC EQU EXT EXTRN NAME
- ORG PAGE SET SUBTTL TITLE
- .COMMENT .PRINTX .RADIX .REQUEST .Z80
- .8080 IF IFT IFE IFF
- IF1 IF2 IFDEF IFNDEF IFB
- IFNB ENDIF .LIST .XLIST .CREF
- .XCREF REPT ENDM MACRO IRP
- IRPC EXITM LOCAL COND ENDC
- *EJECT DEFB DEFS DEFW DEFM
- DEFL GLOBAL EXTERNAL INCLUDE MACLIB
- ELSE .LALL .SALL .XALLè:MACRO-80 In-Line Error Messages
-
- A Argument Error O Bad opcode or objectionable syntax
- C Conditional nesting err P Phase error
- D Double Defined Symbol Q Questionable
- E External error R Relocation
- M Multiply Defined Symbol U Undefined symbol
- N Number error V Value error
- :MACRO-80 Console Error Messages
-
- No end statement encountered in input file
- -- no END statement
-
- Unterminated conditional
- -- at least one conditional is unterminated
-
- Unterminated REPT/IRP/IRPC/MACRO
- -- at least one block is unterminated
-
- [xx] [No] Fatal error(s) [,xx warnings]
- -- the number of fatal errors and warnings
- :Invoking LINK-80
-
- LINK-80 is invoked by typing --
-
- L80 obj1:filename.ext/sw1,obj2:filename.ext/sw2,...
-
- wherσá objn:filename.ex⌠á denote≤ ß .RE╠ filσ t∩ bσ linkeΣ anΣ swεá denote≤ ì
- switches which control the linking process.
- :LINK-80 Switches
-
- /R Reset -- put loader back in initial state
-
- /E or /E:Name
- Exi⌠ LINK-8░ anΣ returε t∩ CP/M«á SearcΦ thσ systeφ librar∙ ì
- fo≥ an∙ undefineΣ references«á /E:Namσ use≤ Namσ fo≥ thσ star⌠ addres≤á oµ ì
- the program.
-
- /G or /G:Name
- Star⌠á executioεá oµá thσ program«á Again¼á iµá /G:Namσá i≤ ì
- specified, Name defines the start address of execution.
-
- <filename>/N
- Save the binary on disk under the name 'filename.COM'.
-
- /P:adr and /D:adr
- Se⌠á thσ Prograφ anΣ Datß areß origin≤ fo≥ thσ nex⌠á prograφ ì
- to be loaded.
-
-
- /U
- Lis⌠ thσ origiε anΣ enΣ oµ thσ prograφ anΣ datß areß a≤ wel∞ ì
- as all undefined globals.
-
- /M
- Lis⌠á thσ origiε anΣ enΣ oµ thσ prograφ anΣ datßá area¼á al∞ ì
- defineΣ global≤ anΣ thei≥ values¼á anΣ al∞ undefineΣ global≤ followeΣ b∙ aε ì
- asterisk.
-
- <filename>/S
- Search 'filename.REL' to satisfy references.
-
- /╪ Iµ ß filename/╬ wa≤ specified¼á /╪ wil∞ causσ thσ filσ t∩ bσ ì
- saved in Intel HEX format with a extension of .HEX.
-
- /┘ Iµ ß filename/╬ wa≤ specified¼ /┘ wil∞ creatσ ß filename.SY═ ì
- filσ wheε /┼ i≤ entered« Thi≤ filσ contain≤ thσ name≤ anΣ addresse≤ oµ al∞ ì
- globals for use with SID or ZSID.
- :Invoking LIB-80
-
- To invoke LIB-80, type --
-
- LIB
-
- Command≤á t∩ LIB-8░ consis⌠ oµ aε optiona∞ destinatioε filenamσá whicΦ ì
- set≤á thσá namσ oµ thσ librar∙ beinτ created¼á followeΣ b∙ aεá equa∞á sign¼ ì
- followeΣ b∙ modulσ name≤ separateΣ b∙ comma≤ o≥ filename≤ witΦ modulσ name≤ ì
- enclosed in angle brackets separated by commas.
-
- T∩á selec⌠á ßá giveε modulσ froφ ß file¼á usσ thσá namσá oµá thσá filσ ì
- followeΣá b∙á thσá module(s⌐á specifieΣá encloseΣá iεá anglσá bracket≤á anΣ ì
- separateΣá b∙á commas«á Iµ n∩ module≤ arσ selecteΣ froφ ß file¼á theεá al∞ ì
- modules are selected.
-
- :LIB-80 Switches
-
- /O Set listing radix to Octal
- /H Set listing radix to Hexadecimal
- /U List undefineds
- /L List cross reference
- /C Create -- start LIB over
- /E Exit -- rename .LIB to .REL and exit
- /R Rename -- rename .LIB to .REL
- :Invoking CREF-80
-
- CREF-80 is invoked by typing --
-
- CREF80 listing=source
-
- wherσá 'listingºá i≤á thσá namσ oµ thσá filσá 'listing.LSTºá generateΣá anΣ ì
- 'sourceºá ≤á thσá namσá oµ thσ filσá 'source.CRFºá generateΣá b∙á MACRO-80« ì
- 'listingº i≤ optional¼ and¼ iµ omitted¼ thσ listinτ filσ generateΣ i≤ nameΣ ì
- 'source.LST'.
- :Debugging MACRO-80 Programs Using DEBUG.MACè
- DEBUG.MA├á i≤á ßá packagσ oµ MACRO≤ whicΦ thσ use≥ ma∙ emplo∙á t∩á aiΣ ì
- himselµá iε debugginτ MACRO-8░ programs«á Thi≤ packagσ contain≤ tw∩á prin⌠ ì
- MACROs¼á onσá registe≥ displa∙ MACRO¼á anΣ onσ exi⌠ MACRO«á Iε al∞á cases¼ ì
- these MACROs have no net affect on any register.
-
- DEBUG.MA├ i≤ useΣ b∙ firs⌠ specifyinτ i⌠ a≤ ß MACR╧ Librar∙ withiε thσ ì
- user's program. This is accomplished by the statement --
-
- MACLIB DEBUG.MAC
-
- a≤ aε assembly-languagσ instructioε a⌠ thσ beginninτ oµ hi≤ program«á Thi≤ ì
- statemen⌠á load≤ thσ librar∙ DEBUG.MA├ anΣ make≤ it≤ MACRO≤á availablσá fo≥ ì
- use. These MACROs are --
-
-
- Name # Args Size (Bytes) Function Example
- ---- ------ ------------ -------- -------
-
- EXIT 0/1 275 or 263+ Print an exit message, EXIT
- print the contents of EXIT <Exit Cond 1>
- all registers, and warm
- boot CP/M
- PRINT 1 19+ Print a message on CON: PRINT <Message>
- PRINTC 1 17+ Print a char string on PRINTC <'M1',0DH>
- CON:
- REGS 0 241 Print the contents of REGS
- all registers on CON:
-
- Note║ Thσ ½ afte≥ ß sizσ indicate≤ tha⌠ onσ mus⌠ adΣ t∩ thσ indicateΣ sizσ ì
- the number of characters specified in the parameter.
-
- Note║á Message≤ specifieΣ fo≥ EXI╘ anΣ PRIN╘ shoulΣ no⌠ contaiε restricteΣ ì
- MACRO-80 symbols (such as !) or an error message will result.
-
- An example of the use of these MACROs follows --
-
- MACLIB DEBUG.MAC
- -- code --
- REGS ; print all register values at this point
- -- code --
- PRINT <Ck Pt 1> ; got to check point 1
- -- code --
- EXIT <Exit error 1> ; should not have taken this path
- -- code --
- PRINT <Ck Pt 2> ; got to check point 2
- -- code --
- EXIT ; normal exit
- -- code --