ASLINK(1)
π ASLINK π
okay bestie, welcome to ASLINK(1) β that's section 1 of the General Commands Manual, and she is THE companion linker page you've been waiting for. buckle up, we're linking. π¦
β¨ NAME β¨
SDLD β the companion linker for the ASxxxx assemblers. that's the whole name section, she's short and she knows it. π
πΈ SYNOPSIS πΈ
here's the vibe, literally copy-paste coded:
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 ...]
notice how every single one of them can either spit the output somewhere default or take an outfile first and then a whole lil squad of file1 [file2 ...] besties. group project energy. π«Ά
β οΈ WARNING β οΈ
no cap, this one matters. the info on this man page is an extract from the full documentation of SDCC, and it is limited to the meaning of the options. that's it. that's the whole scope. π
for the complete and current documentation, go read the ASxxxx Cross Assembler Documentation, which lives at /usr/share/doc/sdcc-doc/aslink. she's right there. go say hi. π
π DESCRIPTION π
ASLINK is the general relocating companion linker for the ASxxx assemblers. relocating. companion. linker. the whole trio. β¨
here's who's supporting who:
- MCS51 family is supported by
sdld. - Z80 family is supported by
sdldz80. - GBZ80 (that's the GameBoy Z80-like CPU, iykyk) is supported by
sdldgb. - Motorola 6808 family is supported by
sdld6808.
every CPU gets their own little linker bestie. main character energy for all of them, no favorites. π
π OPTIONS π
okay so the linker can run in command line mode or command file modes. the allowed startup linker commands are:
-c/-fβ command line / command file modes. pick your lane.-p/-nβ enable/disable echo offile.lnkinput tostdout. yes she will read your receipts out loud if you let her.
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 β and heads up, the extension must be .lnk. no negotiation. π
after invoking the linker, the valid options are:
π Libraries
-klibrary directory path (one definition per line) β this specifies one possible path to an object library. more than one path is allowed. stack 'em up.-llibrary file specification (one definition per line) β this specifies a possible library file. more than one file is allowed. same deal, the more the merrier.
π§ Relocation
-barea 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.-gglobal 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:
-mβ Generate a map file (file.map). This file contains a list of the symbols (by area) with absolute addresses, sizes of linked areas, and other linking information. it's giving receipts, but make it cartography.-wβ Specifies that a wide listing format be used for the map file.-xβ Hexadecimal (default). the default, the moment, the standard. β-dβ Decimal.-qβ Octal.
π¨οΈ Output:
-iβ Intel Hex (file.ihx) image output file.-sβ Motorola S19 (file.s19) image output file.-jβ Produce NoICE debug as file (file.noi).-zβ Produce SDCdb debug as file (file.cdb).
π Lists:
-uβ Generate an updated listing file (file.rst) derived from the relocated addresses and data from the linker.
π§ Miscellaneous:
-aβ [iram-size] Check for internal RAM overflow.-vβ [xram-size] Check for external RAM overflow.-wβ [code-size] Check for code overflow.-yβ Generate memory usage summary file (file.mem).-Yβ Pack internal ram.-Aβ [stack-size] Allocate space for stack.
bestie yes, -w shows up twice in this page β once in the Map format section for wide listing format, once here for the code-size overflow check. that's not me being sloppy, that's literally what the page says. keep both in your head. π
π End:
-eβ or a null line, terminates input to the linker. that's the goodbye. wave back. π- fileN β 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. she's flexible like that. π
π SEE ALSO π
sdcc(1), asxxxx(1), sdldz80(1), sdldgb(1), sdld6808(1).
go read those too, they're the friend group. π«Ά
βοΈ AUTHOR βοΈ
This manual page was written by Aurelien Jarno <aurel32@debian.org>, for the Debian GNU/Linux system (but may be used by others). absolute icon behavior, writing docs for everyone. π
and that's the whole page, bestie! the original's footer line is just ASLINK(1) β no fancy version, no date, no source line, just the name chillin' at the bottom like a signature. so consider this your cute sign-off: ASLINK(1), section 1, General Commands Manual, that's a wrap πβ¨
π¦ where this page comes from
- debian bookworm: sdcc 4.2.0+dfsg-1
- debian trixie: sdcc 4.5.0+dfsg-1
- ubuntu jammy: sdcc 4.0.0+dfsg-2
- ubuntu noble: sdcc 4.2.0+dfsg-1
- ubuntu questing: sdcc 4.5.0+dfsg-1
- ubuntu resolute: sdcc 4.5.0+dfsg-4
- ubuntu stonking: sdcc 4.5.0+dfsg-4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms