You are on page 1of 14

Princes Nora Bint Abdul Rahman University

Dept. of Computer & Information Sciences

CS 321
Computer Organization & Assembly Language
Lecture 1
(Course Introduction)

Course Introduction
Instructor: Sarah AL-Hammad
Location: Room no. 2027 ( 2nd floor)
e-mail: smalhammad@pnu.edu.sa
Credit Hours: 3
Course web site:
http://cs321.yolasite.com

Course Introduction

Course Introduction
Text Book Part I:
Microprocessor Theory and Applications with 68000/68020 and
Pentium by M.RAFIQUZZAMAN,WILEY,2008
Text Book Part II:
IBM PC Assembly Language and Programming, by Peter
Abel,2001

Course Introduction

Course Assessment
Assessment

Week Due

Proportion of Final
Assessment

Assessment Task

Quiz 1

Week 5

5%

Major exam

Week 10

20%

Project

Week 15

5%

Lab exercise

Every Week

5%

Programming Homework

Every 2 Weeks

10 %

Quiz 2

Week 12

5%

Final Lab

End of Semester

10%

Final exam

End of Semester

40%

Note: NO MAKEUP EXAM/QUIZ WILL BE TAKEN


ZERO WILL BE GIVEN TO STUDENTS WHO COPY ASSIGNMENTS
Course Introduction

Lecture Outline
Part I: Computer Organization
Part II: Assembly Language
Reading: Class Notes

Course Introduction

Part I: Computer Organization


Main hardware components and their relation to the software.
What the computer does when it executes an instruction.

Course Introduction - Part I: Computer Organization

Part I: Topics to be covered

Introduction to computer organization


Processors
Memory Organization
Memory hierarchies
Input/output
Buses
DMA
Interrupts
Reading and writing operations

Course Introduction - Part I: Computer Organization

= Machine that can solve problems

HOW?

YOU tell it what to do~~ IN A PROGRAM!!!

A collection of instructions.
The instructions are a series of 1s and zeros that control
the internal circuitry of the processor.
0010100110101001001
1101011011110100101
1101101010000100110
1000001001001001101

The instructions are written in a language called:

Machine Language

Difficult and tedious for people to use because of simplicity


A large

gap between what is convenient for


People and what for computers
People want to do X but computers limitation is
only to Y

General
Architecture
allows multiple
programs to
run
Large, complex
components to
interact
Too tedious to
write all this in
machine
code!!!

Processor
Control unit

Datapath
ALU

Controller

Control
/Status
Registers

PC

IR

I/O
Memory

Part II: Assembly Language


Computer languages
Machine Language

Assembly Language High-Level Language

Collection of binary
numbers

Symbolic form of machine


language (I.e. symbolic
names are used to represent
operations, registers &
memory locations

Combines algebraic
expressions & symbols taken
from English language
(ex. Pascal, COBOL
FORTRAN, etc)

Ex.

Ex.

Ex.

10100001 00000000 00000000 MOV AX,A


00000101 00000100 00000000 ADD AX,4
10100011 00000000 00000000 MOV A,AX

Course Introduction - Part II: Assembly Language

A= A+ 4

Computer languages (Continue)


Machine Language
Directly understood by a
computer

Not standard (I.e. different


machine language for
every type of machine

Assembly Language High-Level Language


Assembler
converts to machine
language

Compiler (or interpreter)


converts to machine
language

1 assembly language
instruction = 1 machine
language instruction

1 HLL instruction = many


machine language
instructions

Not standard (I.e. different


assembly language for
every type of machine)

Standard (I.e. programs are


independent of the machine
on which they will be
executed)

Course Introduction - Part II: Assembly Language

Advantages of Assembly Language


Performance:
A well-written Assembly language program produces a faster,
shorter machine language program.
For Some applications speed and size is critical
Access to hardware:
Some operations, such as reading or writing to specific
memory locations & I/O ports can be done easily in Assembly
but may be impossible by a higher level language.
Studying ASM language gain a feeling of the way the computer
thinks and the way things happen inside the computer.
Course Introduction - Part II: Assembly Language

You might also like