CS54 – SYSTEM SOFTWARE
To have an understanding of foundations of design of assemblers, loaders, linkers, and macro processors.
To understand the relationship between system software and machine architecture.
To know the design and implementation of assemblers
To know the design and implementation of linkers and loaders.
To have an understanding of macroprocessors.
To have an understanding of system software tools.
System software and machine architecture – The Simplified Instructional Computer
(SIC) - Machine architecture - Data and instruction formats - addressing modes instruction sets - I/O and programming.
Basic assembler functions - A simple SIC assembler – Assembler algorithm and data structures - Machine dependent assembler features - Instruction formats and addressing modes – Program relocation - Machine independent assembler features - Literals –
Symbol-defining statements – Expressions - One pass assemblers and Multi pass assemblers - Implementation example - MASM assembler.
LOADERS AND LINKERS
Basic loader functions - Design of an Absolute Loader – A Simple Bootstrap Loader Machine dependent loader features - Relocation – Program Linking – Algorithm and
Data Structures for Linking Loader - Machine-independent loader features - Automatic
Library Search – Loader Options - Loader design options - Linkage Editors – Dynamic
Linking – Bootstrap Loaders - Implementation example - MSDOS linker.
Basic macro processor functions - Macro Definition and Expansion – Macro Processor
Algorithm and data structures - Machine-independent macro processor features Concatenation of Macro Parameters – Generation of Unique Labels – Conditional Macro
Expansion – Keyword Macro Parameters-Macro within Macro-Implementation example MASM Macro Processor – ANSI C Macro language.
SYSTEM SOFTWARE TOOLS
Text editors -