The material to be covered in C.Eng.332 Midterm I  

(March 31, 2000 Friday @15:40 - 17:30, BMB4)

Hint: Review the lecture notes thoroughly, understand the examples in the book, solve relevant exercises at the end of the chapters.

P.S. You may bring in a double-sided, hand-written, A4-size "cheat-sheet"  with you into the exam room. No photocopies are allowed, make sure that it is written your own  hand-writing.

Chapter 1: Background

read introduction
Introduction ALL
System Software and Machine Structure ALL
The Simplified Instructional Computer (SIC) SIC machine architecture,  Review SIC/XE machine architecture (Instruction Formats and Addressing Modes only),  SIC programming examples only.
Traditional (CISC) Architectures --
RISC Architectures --

Chapter 2: Assemblers

read introduction
Basic Assembler Functions ALL
Machine-Dependent Assembler Features Read through or refer to introduction and instruction formats and addressing modes. when necessary (they describe indirect addressing with @, immediate operands with #, 4-byte extended format with +, preference of relative addressing modes over direct mode during XE assembly for easing relocation.  

Program relocation (concentrate on Modification records, note that most addresses in object code in Fig.2.8 are relative except three. You are not required to know how to translate but you should be able to interpret (i.e., infer the meaning of) such an XE object code.

Machine-Independent Assembler Features Literals NOT included, Symbol-Defining Statements (EQU only), Expressions, Program blocks (concentrate on USE, directives and LDA instruction at line 20 in code), control sections and program linking (concentrate on CSECT, EXTDEF, EXTREF directives and +JSUB)

Know how the included things are handled by the assembler w/o going into detail of XE.

Assembler Design Options One-pass assemblers, multi-pass assemblers
Implementation Examples  --

Chapter 3: Loaders and Linkers

read introduction
Basic Loader Functions ALL
Machine-Dependent Loader Features Relocation (Fig.3.4: concentrate on +JSUB instructions, rest are relative instructions), program linking (understand the difference bw different addressing modes, concentrate on  REF1, REF2, REF4, REF8 only, and understand why their values are the same in all subroutines), algorithm and data structures (except using ref.numbers for efficiency)
Machine-Independent Loader Features  --
Loader Design Options  --
Implementation Examples  --

Chapter 4: Macro Processors

 read introduction
Basic Macro Processor Functions  --
Machine-Independent Macro Processor Features  --
Macro Processor Design Options  --
Implementation Examples  ANSI C Macro Language

Chapter 5: Compilers

 
Basic Compiler Functions  
Machine-Dependent Compiler Features  
Machine-Independent Compiler Features  
Compiler Design Options  
Implementation Examples  

Chapter 6: Operating Systems

 
Basic Operating System Functions  
Machine-Dependent Operating System Features  
Machine-Independent Operating System Features  
Operating System Design Options  
Implementation Examples  

Chapter 7: Other System Software

 
Database Management Systems (DBMS)  
Text Editors  
Interactive Debugging Systems  

Chapter 8: Software Engineering Issues

 
Introduction to Software Engineering Concepts  
System Specifications  
Procedural Design  
Object-Oriented Design  
System Testing Strategies  
 

Last Updated: July 25, 2001 23:01:14 +0300 KD