SDLD(1) companion linker for the ASxxxx assemblers.


sdld [-Options] [-Option with arg] file
sdld [-Options] [-Option with arg] outfile file1 [file2 ...]
sdldgb [-Options] [-Option with arg] file
sdldgb [-Options] [-Option with arg] outfile file1 [file2 ...]
sdldz80 [-Options] [-Option with arg] file
sdldz80 [-Options] [-Option with arg] outfile file1 [file2 ...]
sdld6808 [-Options] [-Option with arg] file
sdld6808 [-Options] [-Option with arg] outfile file1 [file2 ...]


The information in this man page is an extract from the full documentation of SDCC, and is limited to the meaning of the options.

For complete and current documentation, refer to the ASxxxx Cross Assembler Documentation, available in /usr/share/doc/sdcc-doc/aslink.


The ASLINK is general relocating companion linker for the ASxxx assemblers.

MCS51 family is supported by sdld.
Z80 family is supported by sdldz80.
GBZ80 (GameBoy Z80-like CPU) is supported by sdldgb.
Motorola 6808 family is supported by sdld6808.


The linker may run in the command line mode or command file modes. The allowed startup linker commands are:
command line / command file modes
enable/disable echo file.lnk input to stdout

If command line mode is selected, all linker commands come from stdin, if the command file mode is selected the commands are input from the specified file (extension must be .lnk).

After invoking the linker the valid options are: Libraries

-k library directory path (one definition per line)
This specifies one possible path to an object library. More than one path is allowed.
-l library file specification (one definition per line)
This specifies a possible library file. More than one file is allowed.


-b area base address = expression (one definition per line)
This specifies an area base address where the expression may contain constants and/or defined symbols from the linked files.
-g global symbol = expression (one definition per line)
This specifies the value for the symbol where the expression may contain constants and/or defined symbols from the linked files.

Map format:

Generate a map file ( This file contains a list of the symbols (by area) with absolute addresses, sizes of linked areas, and other linking information.
Specifies that a wide listing format be used for the map file.
Hexadecimal (default).


Intel Hex (file.ihx) image output file.
Motorola S19 (file.s19) image output file.
Produce NoICE debug as file (file.noi)
Produce SDCdb debug as file (file.cdb).


Generate an updated listing file (file.rst) derived from the relocated addresses and data from the linker.


[iram-size] Check for internal RAM overflow.
[xram-size] Check for external RAM overflow.
[code-size] Check for code overflow.
Generate memory usage summary file (file.mem).
Pack internal ram.
[stack-size] Allocate space for stack.


or null line, terminates input to the linker.

Files to be linked. Files may be on the same line as the above options or on a separate line(s) one file per line or multiple files separated by spaces or tabs.


This manual page was written by Aurelien Jarno <[email protected]>, for the Debian GNU/Linux system (but may be used by others).