Multiple Assembler Modules with Calls Using Entry Points

To link multiple Assembler modules where the calls reference entry points in the called programs rather than their external names, you need to:

  1. Ensure that Automatically link module is unchecked for all the modules in the project.

    You can find this check box on the Link page of the Property Pages for the module.

  2. Ensure that Resolve external calls at link time is enabled.

    You can find this checkbox on the Compiler tab on your project properties' Assembler page.

  3. Create a link file (.lin) that lists all of the object files to be included with the main module in the executable file. This link file must have the same name as the main module. For example if the main module has the name mymain.mlc, the link file must have the name mymain.lin.

If you compile individual modules, you must select the .lin file for compilation too. If you build or rebuild the whole project, the .lin file is compiled with the other source files but will always be linked after any assembly to ensure that only the latest .OBJ files are linked. In either case, the Assembler Linker looks in the .lin file to find which object files need to be included in the executable .390 or .MOD file.