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 |
|