01 Introduction
01 Introduction
Introduction
Course Description
Expression
7
One-pass assembler
8
Loader
9
Linker
10
Introduction to Compilers
11
Compiler design
12
15 Revision
Textbook
Grading Policy
th
7 Week (30%)
Exam (20) + Quiz(10)
th
12 Week (20%)
Project (20)
Coursework (10%)
Section Assignments (5) + Section Quiz (5)
Final (40%)
Exam (40)
Expectations (Students/Lecturer)
What I expect:
Read, Study, Do your tasks
What I do not expect:
you will
Attend an interesting lecture
Text editor
–To create and modify the program
Compiler and assembler
–To translate programs into machine language
Loader or linker
–To load the translated programs into memory and prepare for execution
Debugger
–To help detect errors in the program
System Software and Architecture
Difference Between High-Level Language
and Low-Level Language
A High-Level Language is a
computer programming
language that uses English
like statements to write the
computer instructions. High-
level languages are most
widely programming
languages because they are
easy to understand to human
being.
What is a Low-Level Language?
Compiler Interpreter
Converts the source code program into Converts each source program line into
machine code before program execution machine code as it executes, line by line.
Can be removed from memory after Must be continuously resident in memory while
compilation is finished the program is being executed
Compilation results in an object code on No object code results for that can be
direct execution executed later
https://www.techtarget.com/whatis/definition/memory
A Register
Flip flops can be used to store a single bit of binary data (1 or 0). However,
in order to store multiple bits of data, we need multiple flip-flops. N flip flops
are to be connected in order to store n bits of data. A Register is a device
that is used to store such information. It is a group of flip-flops connected in
series used to store multiple bits of data. The information stored within these
registers can be transferred with the help of shift registers.