SLINK - LINKAGE EDITOR FOR SPASM Version 2.00+ (C) Copyright 1986,87,88 by: Harris Landsberg Short Quick Reference: A: OPERATION SLINK [...][/switch...] Can use drive and/or user to proceed to filename of the object file. ".OBJ" is implied and appended by the linker to the filename. The first file provides the output file name with a ".COM" appened to it. ex: SLINK a:sample b3:zsys 15:devio uses SAMPLE.OBJ on the A drive in the current user area and creates a file SAMPLE.COM on the A drive and current user area. Also uses ZSYS.OBJ found on the B drive in user area 3 and DEVIO.OBJ found on the current drive and in user area 15. B: SWITCHES (optional) 1) /C: start code counter at value [hex] (default 100H) 2) /D: start data counter at value [hex] (default end.code+1) 3) /G: create a jump to symbol at start of code. This is used if beginning of code is not at the start of the first module that is loaded. (default none) 4) /L: use library name for library requests to search for imported modules. Will search /L libraries before the libraries defined in object code. Library name can contain a drive/user specification but .OBJ is assumed. 5) /M create a .MAP file if link was successful. This file has start address and length of every module for both the CODE and DATA areas. May be used for debugging. 6) /S create a .SYM file if link was successful. This file has all the addresses of all symbols. May also be used for debugging. C: PRE-DEFINED SYMBOLS These symbols should not be defined in your code. They can be used to find out where your code is located and how much stack and heap can be allocated. ?CODE beginning address of code ?DATA beginning address of data ?HEAP address after data segment D: OBJECT FORMAT See SLINK-F Documentation file for complete listing of object file format. The format consists of bit stream fields that are not byte aligned and define relocatable object code, absolute text code, and symbol table information. E: COMMENTS This applies to SLINK.COM and SLINK80.EXE (except that path names can be used instead of drive/user). SLINK86.EXE is different and defines extra switches to process different frames, groups, classes, segments, and threads which is not of any use to 8080 or Z80 code. Besides, SLINK86.EXE uses a modified object format to support large load modules. See the documention of SPASM and SPL Language for more information about SLINK uses and object module concepts. F: LIMITATIONS SLINK does not currently support the following: a) External Dictionary Definitions. b) Overlay Segmentation or Structures. c) .LOD Relocatable Load Members. d) Extended Equate Symbol Structures. Send comments, bug reports to: HARRIS LANDSBERG 1350 East 5th STreet Suite 1-J Brooklyn, New York 11230