A linker is a part of system software that combines code written in multiple files into a single, executable file which allows for use of libraries and programs divided into multiple units.
SIC/XE is a hypothetical computer often used in education for demonstrating system software -- it is also in use at the Faculty of Computer and Information Science at the University of Ljubljana, where a collection of SIC/XE system software and tools named SicTools was developed. SicTools contains an advanced simulator of SIC/XE, an assembler and a loader while a linker is missing.
In this thesis, the missing linker for SIC/XE has been developed. It has multiple linking modes and allows interactive editing of the program sections before they are linked. It can be used either with a textual or graphical interface or as a library in a separate program.
We start with an overview of SIC/XE and linkers, followed by a description of linker's user interfaces and instructions for using the library. In the next chapter we have a detailed documentation for all the linker components. Finally, there is a typical example of linking a program -- from an assembly code to a final linked file.
|