ZMAC/ZML, THE Z-SYSTEM ASSEMBLER/LINKER VERSATILE, FAST, SUPPORTED, and a BARGAIN at $50 (plus S&H). ZMAC,¨ ZML, ZMLIB, support utilities, and documentation (WS format) are all¨ included on disk (printed manual is extra). All are ZCPR3x-compatible,¨ are optimized for use with ZEX, and have on-line HELP. Friendly to¨ first time users; competent for experienced programmers. For CP/M¨ compatible systems using a Z80 compatible CPU. This bulletin is in three sections devoted to ZMAC, ZML, and ZMLIB respectively. At the end of the bulletin you will find a list of the principal sources for these programs and a list of references to published articles on the art of assembly language programming. The manual itself contains these and even more references to help both beginning and advanced programmers. Al Hawley (213) 649-3575 (voice) (213) 670-9465 (modem) ================================================================ ZMAC, the Assembler ZMAC is a two-pass assembler for ZILOG/HITACHI mnemonics. It makes¨ HEX, REL, SYM, and listing files from sources prepared for older¨ assemblers as well as those using the powerful ZMAC syntax. Allows¨ nested INCLUDE files, redefinable macros and pseudo-ops, datestamped¨ listings, error logging, and up to 13 named common bases. Relative¨ jump opportunities are flagged in the PRN listing! The help screen¨ reflects the status of the main configuration options; ZCNFG reports¨ the rest. ZCNFG is the public domain Z-System configuration utility¨ included with ZMAC. Here is the ZMAC help screen, copied to this file with RECORDER.IOP. B3:LINK>zmac // ZMAC Relocating Macro Assembler v 1.1, 03/06/90 Copyright 1988,1989 by A.E. Hawley Syntax: ZMAC [dir:]name[.typ] [[/]option, ...] Options: defaults: C - listing to Console NO L - Listing to printer NO H - object code format (HEX/REL) REL Q - display assembly statistics? YES O[filespec] - Object file (name.REL) YES P[filespec] - listing file (name.PRN) NO S[filespec] - Symbol file (name.SYM) NO E[filespec] - Error Log file (name.ERR) YES - Use options in any combination, separated by " " or ",". - Single option letters (no filespec) toggle the default. - When a filespec is included, the file is produced as required. - "filespec" is [dir:]filename[.typ] - Use ZCNFG to Review & Set defaults. B3:LINK>record off;NOTE this turns off RECORDER.IOP ---------------------------------------------------------------- ZMAC PSEUDO-OPS ZMAC implements a large number of pseudo-ops. If you're familiar with another popular assembler, you'll find many old friends here. $INCLUDE .180 .ACCEPT .COMMENT .DEPHASE .HD64 .IF1 .IF16 .IN .LALL .LCTL .LFCOND .LIST .PHASE .PRINT .PRINTX .RADIX .REQUEST .RLIST .SALL .SBTTL .SFCOND .SLIST .TITLE .XALL .XCTL .XLIST .Z80 ASEG ASET COMMON CSEG DB DC DEFB DEFC DEFL DEFM DEFS DEFW DEFZ DS DSEG DW DZ ELSE END ENDIF ENDM ENT ENTRY EQU EXITM EXT EXTERNAL EXTRN GLOBAL IF IF1 IF2 IFB IFDEF IFE IFF IFG IFGE IFL IFLE IFN IFNB IFNDEF IFP1 IFP2 IFT INCLUDE IRP IRPC LOCAL MACLIB MACRO NAME ORG PAGE PUBLIC REPT SET SUBTTL TITLE ================================================================ ZML, the Linker ZML links Microsoft format REL and Z-System ZRL files to make COM, BIN,¨ PRL, SRL, and RSX type files. ZML is friendly for occasional use on¨ small jobs and sophisticated enough to handle the really demanding¨ ones. The HELP screen is always just a keystroke away. For complex¨ jobs, ZML has an interactive mode designed for operation from a ZEX¨ script. You can tell it what relocation address to use for ANY¨ relocatable segment (that's how ZRL files are linked). It handles an¨ unlimited number of named commons, any of which can be named as a¨ code/data type segment. ZML truncates uninitialized data at the end of¨ the linked code. The HELP screen for ZML (renamed to LINK for this demonstration) summarizes the powerful command structure of this linker. Note that the actual name assigned is used in the SYNTAX definition. B3:LINK>link // ZML Linker V1.2- 02/18/90 Syntax: LINK item [,item...] [ or ,] item = filespec[modifier] or option[ option...] space required--^-------^ ________ Modifiers __________ ____ Options or Modifiers _____ (none) file to link /M or /Y Make global symbol file / or /S library to Search /P or /K Provide Prl/sPr header = or /N Names output file /I Insert rsx header file /Q Quit and exit /E link and Exit ________________ Options ( / is optional ) ________________ /A main load Address (default: 100h) /C, D load address for Cseg, Dseg /R[] set Reloc addr for , (default: CSEG) /T Tag as a CODE type segment /S global Symbol listing to default file /L List global symbols on console -S,-M,-Y,-L,-K,-P,-I negation turns these functions OFF B3:LINK>record off;NOTE that this screen is courtesy of RECORDER ================================================================ ZMLIB, the mREL Library Utility ZMLIB is a simple, easy-to-use library manager for MREL format object¨ libraries. It creates and modifies libraries by adding or deleting¨ modules. Want to see what's in a library? ZMLIB displays the module¨ names and entry symbols in a neat, paginated format. Z3LIB, SYSLIB,¨ and VLIB can all be managed with ZMLIB. The ZMLIB (here renamed to LIB) help screen: B1:ZMAC>lib // Z/CPM Library Manager, Version 1.5 Copyright 1988 A.E. Hawley Function: Create, Modify, or display contents of a REL format Library file (LIB). Syntax: LIB LIB[=MOD[,MOD...]] [[/]